From fd724ece9d31b36d698e979da97221dc68e4a551 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Tue, 22 Nov 2016 09:24:18 +0100 Subject: [PATCH 01/11] update icon (v3 -> v4) --- public_html/css/expanded/layout.css | 4 ++-- public_html/css/expanded/layout.css.map | 2 +- public_html/css/layout.scss | 2 +- public_html/css/min/layout.css | 4 ++-- public_html/css/min/layout.css.map | 2 +- public_html/src/static/iconv4.png | Bin 0 -> 11130 bytes 6 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 public_html/src/static/iconv4.png diff --git a/public_html/css/expanded/layout.css b/public_html/css/expanded/layout.css index 494e069..5040a69 100644 --- a/public_html/css/expanded/layout.css +++ b/public_html/css/expanded/layout.css @@ -103,7 +103,7 @@ body { #LOGIN > #login-icon { width: 35em; height: 10em; - background: url("/src/static/iconv3.svg") center center no-repeat; + background: url("/src/static/iconv4.png") center center no-repeat; background-size: auto 100%; } @@ -220,4 +220,4 @@ body { cursor: pointer; } -/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibGF5b3V0LmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vbGF5b3V0LnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cbmJvZHl7XG5cblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuXHRmb250LXNpemU6IDE1cHg7XG59XG5cblxuXG4jV1JBUFBFUntcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWJnO1xuXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHR6LWluZGV4OiAxO1xuXG5cblx0LyogWzFdIEhlYWRlciBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdCYgPiAjSEVBREVSe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogY2FsYyggI3skaGVhZGVyLWhlaWdodH0gLSAxcHggKTtcblxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGhlYWRlci1kYXJrLCAxMCk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWRhcms7XG5cblx0XHR6LWluZGV4OiAxMDA7XG5cblx0fVxuXG5cblx0LyogWzJdIFNpZGUtTWVudSBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdC8vIEdlc3Rpb24gZHUgbWVudVxuXHQmID4gI01FTlUtU0lERXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHR0b3A6ICRoZWFkZXItaGVpZ2h0O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skaGVhZGVyLWhlaWdodH0gKTtcblxuXHRcdGJveC1zaGFkb3c6IDJweCAxcHggM3B4ICNkZGQ7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIC4zcyApO1xuXG5cdFx0ei1pbmRleDogMTA7XG5cdH1cblxuXG5cdC8qIFszXSBDb250YWluZXIgZGUgbGEgcGFnZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQmID4gI0NPTlRBSU5FUntcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogJGhlYWRlci1oZWlnaHQ7XG5cdFx0XHRsZWZ0OiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLSAjeyRtZW51LXNpZGUtd2lkdGh9ICk7XG5cdFx0XHRtaW4taGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skaGVhZGVyLWhlaWdodH0gKTtcblx0XHQvLyAgbWFyZ2luOiAxZW07XG5cblx0XHQvLyBGbGV4IHByb3BlcnRpZXNcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHRvdmVyZmxvdy14OiBub25lO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cbn1cblxuXG5cblxuLyogWzRdIFBhZ2UgZGUgbG9naW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4jTE9HSU57XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogLTEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdC8vIFF1YW5kIGxhIHBhZ2UgZGUgbG9naW4gZXN0IHZpc2libGVcblx0Ji5hY3RpdmV7XG5cdFx0bGVmdDogMDtcblx0fVxuXG5cdC8vIGZsZXggcHJvcGVydGllc1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRDdEN0Q5O1xuXG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oIGxlZnQgLjNzIGVhc2UtaW4tb3V0ICk7XG5cblx0ei1pbmRleDogMTAxO1xuXG5cblxuXG5cdC8qICgxKSBMb2dvIGV0IG5vbSBkdSBzaXRlICovXG5cdCYgPiAjbG9naW4taWNvbntcblx0XHR3aWR0aDogMzVlbTtcblx0XHRoZWlnaHQ6IDEwZW07XG5cblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy9zcmMvc3RhdGljL2ljb252My5zdmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcblx0fVxuXG5cblx0LyogKDIpIEZvcm11bGFpcmUgZGUgY29ubmV4aW9uICovXG5cdCYgPiAjbG9naW4tZm9ybXtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXG5cdFx0LyogKDIuMSkgQ2hhbXBzIGRlIHRleHRlIChsb2dpbi9wYXNzd29yZCkgKi9cblx0XHQmID4gaW5wdXRbdHlwZT0ndGV4dCddLFxuXHRcdCYgPiBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuXHRcdCYgPiBpbnB1dFt0eXBlPSdzdWJtaXQnXXtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdHdpZHRoOiAyMGVtO1xuXG5cdFx0XHRtYXJnaW46IDJlbSAwO1xuXHRcdFx0cGFkZGluZzogMWVtIDJlbTtcblxuXHRcdFx0Ly8gZmxleCBwcm9wZXJ0aWVzXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBtaWRkbGU7XG5cblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2FhYTtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1kYXJrO1xuXG5cdFx0XHRjb2xvcjogIzQ0NDtcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKCBib3JkZXIgLjJzIGVhc2UtaW4tb3V0ICk7XG5cblx0XHRcdC8vIGN1cnNvcjogZGVmYXVsdDtcblxuXHRcdFx0Ly8gQW5pbWF0aW9uIGRlIEBob3Zlci9AZm9jdXNcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzXG5cdFx0XHQmOm5vdChbdmFsdWU9XCJcIl0pe1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICR0aGVtZS1mZy1wcmltYXJ5O1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cblx0XHQvKiAoMi4yKSBCb3V0b24gZGUgY29ubmV4aW9uICovXG5cdFx0JiA+IGlucHV0W3R5cGU9J3N1Ym1pdCdde1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tdG9wOiBjYWxjKCAyZW0gLSAzcHggKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJlbTtcblxuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkIGRhcmtlbigkdGhlbWUtZmctcHJpbWFyeSwgMTUpO1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtZmctcHJpbWFyeTtcblxuXHRcdFx0Y29sb3I6ICRkYXJrLWZnLXByaW1hcnk7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIC4xcyBlYXNlLWluLW91dCApO1xuXG5cdFx0XHQvLyBBbmltYXRpb24gZGUgQGhvdmVyXG5cdFx0XHQmOmhvdmVyLCAmLmhvdmVye1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHRoZW1lLWZnLXByaW1hcnksIDEwKTtcblx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMXB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBjYWxjKCAyZW0gLSAycHggKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyggMmVtICsgMnB4ICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEFuaW1hdGlvbiBkZSBjbGljIEBhY3RpdmVcblx0XHRcdFx0JjphY3RpdmV7XG5cdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDJlbTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyggMmVtICsgM3B4ICk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblxuXG5cblxuXHRcdC8qICgzKSBNb3QgZGUgcGFzc2Ugb3VibGllICovXG5cdFx0JiA+ICNsb3N0LXBhc3N3b3Jke1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Y29sb3I6ICM3Nzc7XG5cblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0Ly8gQW5pbWF0aW9uIGRlIEBob3ZlclxuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0Y29sb3I6ICR0aGVtZS1mZy1wcmltYXJ5O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC8qICg0KSBHZXN0aW9uIGRlIGxhIGZlcm1ldHVyZSAqL1xuXHQmID4gI2xvZ2luLWNsb3Nle1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMmVtO1xuXHRcdFx0cmlnaHQ6IDJlbTtcblx0XHRcdG1pbi13aWR0aDogMmVtO1xuXHRcdFx0aGVpZ2h0OiAyZW07XG5cblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy9zcmMvc3RhdGljL2NvbnRhaW5lci9iYWNrQDU1NTU1NS5zdmcnKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMWVtO1xuXG5cdFx0Y29sb3I6ICM1NTU7XG5cdFx0cGFkZGluZy1yaWdodDogMmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblxuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxufVxuIiwKCQkiLyogWzFdIENPVUxFVVJTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogKDEpIENPVUxFVVJTIERVIFRIRU1FICRERUZBVUxUICovXG4kdGhlbWUtYmc6ICAgICAgICAgI2U4ZThlODtcbiR0aGVtZS1iZy1wcmltYXJ5OiAjZmZmZmZmO1xuJHRoZW1lLWZnOiAgICAgICAgICM1MTUxNTE7XG4kdGhlbWUtZmctcHJpbWFyeTogIzBlNmRiZjtcblxuLyogKDIpIENPVUxFVVJTIERFIFRIRU1FICREQVJLICovXG4kZGFyay1iZzogICAgICAgICAjMzEzNTQxO1xuJGRhcmstYmctcHJpbWFyeTogIzI5MjgyZTtcbiRkYXJrLWZnOiAgICAgICAgICM5MzkzOTM7XG4kZGFyay1mZy1wcmltYXJ5OiAjZmZmZmZmO1xuXG4kaGVhZGVyLWRhcms6ICAgICAjRjhGOEZBO1xuXG4vKiAoMykgQ291bGV1cnMgZHUgdGhlbWUgcG91ciBsYSB0aW1lbGluZSAqL1xuJHRpbWVsaW5lLWNvbG9yOiAjNzM4Mzk0O1xuJHRpbWVsaW5lLTA6ICMwZTZkYmY7XG4kdGltZWxpbmUtMTogI2U2NGUzZTtcbiR0aW1lbGluZS0yOiAjZDU0YjI4O1xuJHRpbWVsaW5lLTM6ICNiMTRiZTc7XG4kdGltZWxpbmUtNDogIzA1M2I1ZDtcblxuJHRpbWVsaW5lLWZiOiAjM2I1OTk4O1xuXG5cbi8qIFsyXSBESU1FTlNJT05TXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogKDEpIExheW91dCBkZSBiYXNlICovXG4kbWVudS1zaWRlLXdpZHRoOiAxNWVtO1xuJGhlYWRlci1oZWlnaHQ6ICAgNGVtO1xuXG5cblxuLyogWzNdIE1peGluc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBtaXhpbiB0cmFuc2Zvcm0oJHZhbHVlLi4uKSB7XG5cdHRyYW5zZm9ybTogJHZhbHVlO1xuXHQtbW96LXRyYW5zZm9ybTogJHZhbHVlO1xuXHQtby10cmFuc2Zvcm06ICR2YWx1ZTtcblx0LW1zLXRyYW5zZm9ybTogJHZhbHVlO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogJHZhbHVlO1xufVxuXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR2YWx1ZS4uLikge1xuXHQtd2Via2l0LXRyYW5zaXRpb246ICR2YWx1ZTtcblx0dHJhbnNpdGlvbjogJHZhbHVlO1xufVxuXG4vKiBbNF0gRnVuY3Rpb25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLy8gVHJhbnNmb3JtZSB1bmUgY291bGV1ciBoZXggZW4gc3RyaW5nIHNhbnMgbGUgI1xuQGZ1bmN0aW9uIGNvbG9yLXN0cigkY29sb3Ipe1xuXHRAcmV0dXJuIHN0ci1zbGljZSgjeyRjb2xvcn0sIDIsIHN0ci1sZW5ndGgoI3skY29sb3J9KSk7XG59XG4iCgldLAoJIm1hcHBpbmdz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 */ \ No newline at end of file +/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibGF5b3V0LmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vbGF5b3V0LnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cbmJvZHl7XG5cblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuXHRmb250LXNpemU6IDE1cHg7XG59XG5cblxuXG4jV1JBUFBFUntcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWJnO1xuXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHR6LWluZGV4OiAxO1xuXG5cblx0LyogWzFdIEhlYWRlciBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdCYgPiAjSEVBREVSe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogY2FsYyggI3skaGVhZGVyLWhlaWdodH0gLSAxcHggKTtcblxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGhlYWRlci1kYXJrLCAxMCk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWRhcms7XG5cblx0XHR6LWluZGV4OiAxMDA7XG5cblx0fVxuXG5cblx0LyogWzJdIFNpZGUtTWVudSBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdC8vIEdlc3Rpb24gZHUgbWVudVxuXHQmID4gI01FTlUtU0lERXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHR0b3A6ICRoZWFkZXItaGVpZ2h0O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skaGVhZGVyLWhlaWdodH0gKTtcblxuXHRcdGJveC1zaGFkb3c6IDJweCAxcHggM3B4ICNkZGQ7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIC4zcyApO1xuXG5cdFx0ei1pbmRleDogMTA7XG5cdH1cblxuXG5cdC8qIFszXSBDb250YWluZXIgZGUgbGEgcGFnZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQmID4gI0NPTlRBSU5FUntcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogJGhlYWRlci1oZWlnaHQ7XG5cdFx0XHRsZWZ0OiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLSAjeyRtZW51LXNpZGUtd2lkdGh9ICk7XG5cdFx0XHRtaW4taGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skaGVhZGVyLWhlaWdodH0gKTtcblx0XHQvLyAgbWFyZ2luOiAxZW07XG5cblx0XHQvLyBGbGV4IHByb3BlcnRpZXNcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHRvdmVyZmxvdy14OiBub25lO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cbn1cblxuXG5cblxuLyogWzRdIFBhZ2UgZGUgbG9naW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4jTE9HSU57XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogLTEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdC8vIFF1YW5kIGxhIHBhZ2UgZGUgbG9naW4gZXN0IHZpc2libGVcblx0Ji5hY3RpdmV7XG5cdFx0bGVmdDogMDtcblx0fVxuXG5cdC8vIGZsZXggcHJvcGVydGllc1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRDdEN0Q5O1xuXG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oIGxlZnQgLjNzIGVhc2UtaW4tb3V0ICk7XG5cblx0ei1pbmRleDogMTAxO1xuXG5cblxuXG5cdC8qICgxKSBMb2dvIGV0IG5vbSBkdSBzaXRlICovXG5cdCYgPiAjbG9naW4taWNvbntcblx0XHR3aWR0aDogMzVlbTtcblx0XHRoZWlnaHQ6IDEwZW07XG5cblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy9zcmMvc3RhdGljL2ljb252NC5wbmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcblx0fVxuXG5cblx0LyogKDIpIEZvcm11bGFpcmUgZGUgY29ubmV4aW9uICovXG5cdCYgPiAjbG9naW4tZm9ybXtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXG5cdFx0LyogKDIuMSkgQ2hhbXBzIGRlIHRleHRlIChsb2dpbi9wYXNzd29yZCkgKi9cblx0XHQmID4gaW5wdXRbdHlwZT0ndGV4dCddLFxuXHRcdCYgPiBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuXHRcdCYgPiBpbnB1dFt0eXBlPSdzdWJtaXQnXXtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdHdpZHRoOiAyMGVtO1xuXG5cdFx0XHRtYXJnaW46IDJlbSAwO1xuXHRcdFx0cGFkZGluZzogMWVtIDJlbTtcblxuXHRcdFx0Ly8gZmxleCBwcm9wZXJ0aWVzXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBtaWRkbGU7XG5cblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2FhYTtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1kYXJrO1xuXG5cdFx0XHRjb2xvcjogIzQ0NDtcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKCBib3JkZXIgLjJzIGVhc2UtaW4tb3V0ICk7XG5cblx0XHRcdC8vIGN1cnNvcjogZGVmYXVsdDtcblxuXHRcdFx0Ly8gQW5pbWF0aW9uIGRlIEBob3Zlci9AZm9jdXNcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzXG5cdFx0XHQmOm5vdChbdmFsdWU9XCJcIl0pe1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICR0aGVtZS1mZy1wcmltYXJ5O1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cblx0XHQvKiAoMi4yKSBCb3V0b24gZGUgY29ubmV4aW9uICovXG5cdFx0JiA+IGlucHV0W3R5cGU9J3N1Ym1pdCdde1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tdG9wOiBjYWxjKCAyZW0gLSAzcHggKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJlbTtcblxuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkIGRhcmtlbigkdGhlbWUtZmctcHJpbWFyeSwgMTUpO1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtZmctcHJpbWFyeTtcblxuXHRcdFx0Y29sb3I6ICRkYXJrLWZnLXByaW1hcnk7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIC4xcyBlYXNlLWluLW91dCApO1xuXG5cdFx0XHQvLyBBbmltYXRpb24gZGUgQGhvdmVyXG5cdFx0XHQmOmhvdmVyLCAmLmhvdmVye1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHRoZW1lLWZnLXByaW1hcnksIDEwKTtcblx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMXB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBjYWxjKCAyZW0gLSAycHggKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyggMmVtICsgMnB4ICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEFuaW1hdGlvbiBkZSBjbGljIEBhY3RpdmVcblx0XHRcdFx0JjphY3RpdmV7XG5cdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDJlbTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyggMmVtICsgM3B4ICk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblxuXG5cblxuXHRcdC8qICgzKSBNb3QgZGUgcGFzc2Ugb3VibGllICovXG5cdFx0JiA+ICNsb3N0LXBhc3N3b3Jke1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Y29sb3I6ICM3Nzc7XG5cblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0Ly8gQW5pbWF0aW9uIGRlIEBob3ZlclxuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0Y29sb3I6ICR0aGVtZS1mZy1wcmltYXJ5O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC8qICg0KSBHZXN0aW9uIGRlIGxhIGZlcm1ldHVyZSAqL1xuXHQmID4gI2xvZ2luLWNsb3Nle1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMmVtO1xuXHRcdFx0cmlnaHQ6IDJlbTtcblx0XHRcdG1pbi13aWR0aDogMmVtO1xuXHRcdFx0aGVpZ2h0OiAyZW07XG5cblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy9zcmMvc3RhdGljL2NvbnRhaW5lci9iYWNrQDU1NTU1NS5zdmcnKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMWVtO1xuXG5cdFx0Y29sb3I6ICM1NTU7XG5cdFx0cGFkZGluZy1yaWdodDogMmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblxuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxufVxuIiwKCQkiLyogWzFdIENPVUxFVVJTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogKDEpIENPVUxFVVJTIERVIFRIRU1FICRERUZBVUxUICovXG4kdGhlbWUtYmc6ICAgICAgICAgI2U4ZThlODtcbiR0aGVtZS1iZy1wcmltYXJ5OiAjZmZmZmZmO1xuJHRoZW1lLWZnOiAgICAgICAgICM1MTUxNTE7XG4kdGhlbWUtZmctcHJpbWFyeTogIzBlNmRiZjtcblxuLyogKDIpIENPVUxFVVJTIERFIFRIRU1FICREQVJLICovXG4kZGFyay1iZzogICAgICAgICAjMzEzNTQxO1xuJGRhcmstYmctcHJpbWFyeTogIzI5MjgyZTtcbiRkYXJrLWZnOiAgICAgICAgICM5MzkzOTM7XG4kZGFyay1mZy1wcmltYXJ5OiAjZmZmZmZmO1xuXG4kaGVhZGVyLWRhcms6ICAgICAjRjhGOEZBO1xuXG4vKiAoMykgQ291bGV1cnMgZHUgdGhlbWUgcG91ciBsYSB0aW1lbGluZSAqL1xuJHRpbWVsaW5lLWNvbG9yOiAjNzM4Mzk0O1xuJHRpbWVsaW5lLTA6ICMwZTZkYmY7XG4kdGltZWxpbmUtMTogI2U2NGUzZTtcbiR0aW1lbGluZS0yOiAjZDU0YjI4O1xuJHRpbWVsaW5lLTM6ICNiMTRiZTc7XG4kdGltZWxpbmUtNDogIzA1M2I1ZDtcblxuJHRpbWVsaW5lLWZiOiAjM2I1OTk4O1xuXG5cbi8qIFsyXSBESU1FTlNJT05TXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogKDEpIExheW91dCBkZSBiYXNlICovXG4kbWVudS1zaWRlLXdpZHRoOiAxNWVtO1xuJGhlYWRlci1oZWlnaHQ6ICAgNGVtO1xuXG5cblxuLyogWzNdIE1peGluc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBtaXhpbiB0cmFuc2Zvcm0oJHZhbHVlLi4uKSB7XG5cdHRyYW5zZm9ybTogJHZhbHVlO1xuXHQtbW96LXRyYW5zZm9ybTogJHZhbHVlO1xuXHQtby10cmFuc2Zvcm06ICR2YWx1ZTtcblx0LW1zLXRyYW5zZm9ybTogJHZhbHVlO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogJHZhbHVlO1xufVxuXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR2YWx1ZS4uLikge1xuXHQtd2Via2l0LXRyYW5zaXRpb246ICR2YWx1ZTtcblx0dHJhbnNpdGlvbjogJHZhbHVlO1xufVxuXG4vKiBbNF0gRnVuY3Rpb25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLy8gVHJhbnNmb3JtZSB1bmUgY291bGV1ciBoZXggZW4gc3RyaW5nIHNhbnMgbGUgI1xuQGZ1bmN0aW9uIGNvbG9yLXN0cigkY29sb3Ipe1xuXHRAcmV0dXJuIHN0ci1zbGljZSgjeyRjb2xvcn0sIDIsIHN0ci1sZW5ndGgoI3skY29sb3J9KSk7XG59XG4iCgldLAoJIm1hcHBpbmdz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 */ \ No newline at end of file diff --git a/public_html/css/expanded/layout.css.map b/public_html/css/expanded/layout.css.map index a9c2b23..88722a6 100644 --- a/public_html/css/expanded/layout.css.map +++ b/public_html/css/expanded/layout.css.map @@ -6,7 +6,7 @@ "../constants.scss" ], "sourcesContent": [ - "@import 'constants';\n\nbody{\n\n\tfont-family: 'Open Sans';\n\tfont-size: 15px;\n}\n\n\n\n#WRAPPER{\n\tdisplay: block;\n\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\tbackground-color: $theme-bg;\n\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\n\tz-index: 1;\n\n\n\t/* [1] Header de la page\n\t==========================================*/\n\t& > #HEADER{\n\t\tdisplay: block;\n\t\tposition: fixed;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\theight: calc( #{$header-height} - 1px );\n\n\t\tborder-bottom: 1px solid darken($header-dark, 10);\n\n\t\tbackground-color: $header-dark;\n\n\t\tz-index: 100;\n\n\t}\n\n\n\t/* [2] Side-Menu de la page\n\t==========================================*/\n\t// Gestion du menu\n\t& > #MENU-SIDE{\n\t\tdisplay: block;\n\t\tposition: fixed;\n\t\t\ttop: $header-height;\n\t\t\tleft: 0;\n\t\t\twidth: $menu-side-width;\n\t\t\theight: calc( 100% - #{$header-height} );\n\n\t\tbox-shadow: 2px 1px 3px #ddd;\n\n\t\tbackground-color: #fff;\n\n\t\t@include transition( all .3s );\n\n\t\tz-index: 10;\n\t}\n\n\n\t/* [3] Container de la page\n\t==========================================*/\n\t& > #CONTAINER{\n\t\tdisplay: flex;\n\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tleft: $menu-side-width;\n\t\t\twidth: calc( 100% - #{$menu-side-width} );\n\t\t\tmin-height: calc( 100% - #{$header-height} );\n\t\t// margin: 1em;\n\n\t\t// Flex properties\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\t\tflex-wrap: wrap;\n\n\t\toverflow-x: none;\n\t\toverflow-y: auto;\n\t}\n}\n\n\n\n\n/* [4] Page de login\n=========================================================*/\n#LOGIN{\n\tdisplay: flex;\n\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: -100%;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t// Quand la page de login est visible\n\t&.active{\n\t\tleft: 0;\n\t}\n\n\t// flex properties\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-around;\n\talign-items: center;\n\n\n\tbackground-color: #D7D7D9;\n\n\t@include transition( left .3s ease-in-out );\n\n\tz-index: 101;\n\n\n\n\n\t/* (1) Logo et nom du site */\n\t& > #login-icon{\n\t\twidth: 35em;\n\t\theight: 10em;\n\n\t\tbackground: url('/src/static/iconv3.svg') center center no-repeat;\n\t\tbackground-size: auto 100%;\n\t}\n\n\n\t/* (2) Formulaire de connexion */\n\t& > #login-form{\n\t\tdisplay: block;\n\n\n\t\t/* (2.1) Champs de texte (login/password) */\n\t\t& > input[type='text'],\n\t\t& > input[type='password'],\n\t\t& > input[type='submit']{\n\t\t\tdisplay: flex;\n\t\t\t\twidth: 20em;\n\n\t\t\tmargin: 2em 0;\n\t\t\tpadding: 1em 2em;\n\n\t\t\t// flex properties\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: space-around;\n\t\t\tflex-wrap: nowrap;\n\t\t\talign-items: middle;\n\n\n\t\t\tborder-radius: 3px;\n\t\t\tborder: 1px solid #aaa;\n\n\t\t\tbackground-color: $header-dark;\n\n\t\t\tcolor: #444;\n\t\t\t// font-weight: bold;\n\t\t\tletter-spacing: .02em;\n\n\t\t\t@include transition( border .2s ease-in-out );\n\n\t\t\t// cursor: default;\n\n\t\t\t// Animation de @hover/@focus\n\t\t\t&:hover,\n\t\t\t&:focus\n\t\t\t&:not([value=\"\"]){\n\t\t\t\tborder-color: $theme-fg-primary;\n\t\t\t}\n\n\t\t}\n\n\n\t\t/* (2.2) Bouton de connexion */\n\t\t& > input[type='submit']{\n\t\t\twidth: 100%;\n\t\t\tmargin-top: calc( 2em - 3px );\n\t\t\tmargin-bottom: 2em;\n\n\t\t\tborder: 0;\n\t\t\tborder-top: 3px solid darken($theme-fg-primary, 15);\n\n\t\t\tbackground-color: $theme-fg-primary;\n\n\t\t\tcolor: $dark-fg-primary;\n\t\t\tfont-weight: bold;\n\t\t\ttext-align: left;\n\n\t\t\tcursor: pointer;\n\n\t\t\t@include transition( all .1s ease-in-out );\n\n\t\t\t// Animation de @hover\n\t\t\t&:hover, &.hover{\n\t\t\t\tbackground-color: darken($theme-fg-primary, 10);\n\t\t\t\tborder-top-width: 1px;\n\t\t\t\tmargin-top: calc( 2em - 2px );\n\t\t\t\tmargin-bottom: calc( 2em + 2px );\n\t\t\t}\n\n\t\t\t// Animation de clic @active\n\t\t\t\t&:active{\n\t\t\t\tborder-top-width: 0;\n\t\t\t\tmargin-top: 2em;\n\t\t\t\tmargin-bottom: calc( 2em + 3px );\n\t\t\t}\n\n\t\t}\n\n\n\n\n\n\t\t/* (3) Mot de passe oublie */\n\t\t& > #lost-password{\n\t\t\tposition: absolute;\n\t\t\tcolor: #777;\n\n\t\t\tcursor: pointer;\n\n\t\t\t// Animation de @hover\n\t\t\t&:hover{\n\t\t\t\tcolor: $theme-fg-primary;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/* (4) Gestion de la fermeture */\n\t& > #login-close{\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\t\ttop: 2em;\n\t\t\tright: 2em;\n\t\t\tmin-width: 2em;\n\t\t\theight: 2em;\n\n\t\tbackground: url('/src/static/container/back@555555.svg') right center no-repeat;\n\t\tbackground-size: 1em;\n\n\t\tcolor: #555;\n\t\tpadding-right: 2em;\n\t\tline-height: 2em;\n\t\tfont-weight: bold;\n\t\tletter-spacing: 1px;\n\n\t\tcursor: pointer;\n\t}\n}\n", + "@import 'constants';\n\nbody{\n\n\tfont-family: 'Open Sans';\n\tfont-size: 15px;\n}\n\n\n\n#WRAPPER{\n\tdisplay: block;\n\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\tbackground-color: $theme-bg;\n\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\n\tz-index: 1;\n\n\n\t/* [1] Header de la page\n\t==========================================*/\n\t& > #HEADER{\n\t\tdisplay: block;\n\t\tposition: fixed;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\theight: calc( #{$header-height} - 1px );\n\n\t\tborder-bottom: 1px solid darken($header-dark, 10);\n\n\t\tbackground-color: $header-dark;\n\n\t\tz-index: 100;\n\n\t}\n\n\n\t/* [2] Side-Menu de la page\n\t==========================================*/\n\t// Gestion du menu\n\t& > #MENU-SIDE{\n\t\tdisplay: block;\n\t\tposition: fixed;\n\t\t\ttop: $header-height;\n\t\t\tleft: 0;\n\t\t\twidth: $menu-side-width;\n\t\t\theight: calc( 100% - #{$header-height} );\n\n\t\tbox-shadow: 2px 1px 3px #ddd;\n\n\t\tbackground-color: #fff;\n\n\t\t@include transition( all .3s );\n\n\t\tz-index: 10;\n\t}\n\n\n\t/* [3] Container de la page\n\t==========================================*/\n\t& > #CONTAINER{\n\t\tdisplay: flex;\n\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tleft: $menu-side-width;\n\t\t\twidth: calc( 100% - #{$menu-side-width} );\n\t\t\tmin-height: calc( 100% - #{$header-height} );\n\t\t// margin: 1em;\n\n\t\t// Flex properties\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\t\tflex-wrap: wrap;\n\n\t\toverflow-x: none;\n\t\toverflow-y: auto;\n\t}\n}\n\n\n\n\n/* [4] Page de login\n=========================================================*/\n#LOGIN{\n\tdisplay: flex;\n\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: -100%;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t// Quand la page de login est visible\n\t&.active{\n\t\tleft: 0;\n\t}\n\n\t// flex properties\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-around;\n\talign-items: center;\n\n\n\tbackground-color: #D7D7D9;\n\n\t@include transition( left .3s ease-in-out );\n\n\tz-index: 101;\n\n\n\n\n\t/* (1) Logo et nom du site */\n\t& > #login-icon{\n\t\twidth: 35em;\n\t\theight: 10em;\n\n\t\tbackground: url('/src/static/iconv4.png') center center no-repeat;\n\t\tbackground-size: auto 100%;\n\t}\n\n\n\t/* (2) Formulaire de connexion */\n\t& > #login-form{\n\t\tdisplay: block;\n\n\n\t\t/* (2.1) Champs de texte (login/password) */\n\t\t& > input[type='text'],\n\t\t& > input[type='password'],\n\t\t& > input[type='submit']{\n\t\t\tdisplay: flex;\n\t\t\t\twidth: 20em;\n\n\t\t\tmargin: 2em 0;\n\t\t\tpadding: 1em 2em;\n\n\t\t\t// flex properties\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: space-around;\n\t\t\tflex-wrap: nowrap;\n\t\t\talign-items: middle;\n\n\n\t\t\tborder-radius: 3px;\n\t\t\tborder: 1px solid #aaa;\n\n\t\t\tbackground-color: $header-dark;\n\n\t\t\tcolor: #444;\n\t\t\t// font-weight: bold;\n\t\t\tletter-spacing: .02em;\n\n\t\t\t@include transition( border .2s ease-in-out );\n\n\t\t\t// cursor: default;\n\n\t\t\t// Animation de @hover/@focus\n\t\t\t&:hover,\n\t\t\t&:focus\n\t\t\t&:not([value=\"\"]){\n\t\t\t\tborder-color: $theme-fg-primary;\n\t\t\t}\n\n\t\t}\n\n\n\t\t/* (2.2) Bouton de connexion */\n\t\t& > input[type='submit']{\n\t\t\twidth: 100%;\n\t\t\tmargin-top: calc( 2em - 3px );\n\t\t\tmargin-bottom: 2em;\n\n\t\t\tborder: 0;\n\t\t\tborder-top: 3px solid darken($theme-fg-primary, 15);\n\n\t\t\tbackground-color: $theme-fg-primary;\n\n\t\t\tcolor: $dark-fg-primary;\n\t\t\tfont-weight: bold;\n\t\t\ttext-align: left;\n\n\t\t\tcursor: pointer;\n\n\t\t\t@include transition( all .1s ease-in-out );\n\n\t\t\t// Animation de @hover\n\t\t\t&:hover, &.hover{\n\t\t\t\tbackground-color: darken($theme-fg-primary, 10);\n\t\t\t\tborder-top-width: 1px;\n\t\t\t\tmargin-top: calc( 2em - 2px );\n\t\t\t\tmargin-bottom: calc( 2em + 2px );\n\t\t\t}\n\n\t\t\t// Animation de clic @active\n\t\t\t\t&:active{\n\t\t\t\tborder-top-width: 0;\n\t\t\t\tmargin-top: 2em;\n\t\t\t\tmargin-bottom: calc( 2em + 3px );\n\t\t\t}\n\n\t\t}\n\n\n\n\n\n\t\t/* (3) Mot de passe oublie */\n\t\t& > #lost-password{\n\t\t\tposition: absolute;\n\t\t\tcolor: #777;\n\n\t\t\tcursor: pointer;\n\n\t\t\t// Animation de @hover\n\t\t\t&:hover{\n\t\t\t\tcolor: $theme-fg-primary;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/* (4) Gestion de la fermeture */\n\t& > #login-close{\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\t\ttop: 2em;\n\t\t\tright: 2em;\n\t\t\tmin-width: 2em;\n\t\t\theight: 2em;\n\n\t\tbackground: url('/src/static/container/back@555555.svg') right center no-repeat;\n\t\tbackground-size: 1em;\n\n\t\tcolor: #555;\n\t\tpadding-right: 2em;\n\t\tline-height: 2em;\n\t\tfont-weight: bold;\n\t\tletter-spacing: 1px;\n\n\t\tcursor: pointer;\n\t}\n}\n", "/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #0e6dbf;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #0e6dbf;\n$timeline-1: #e64e3e;\n$timeline-2: #d54b28;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n$timeline-fb: #3b5998;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n" ], "mappings": "ACAA;2DAC2D;AAC3D,oCAAoC;AAMpC,iCAAiC;AAQjC,4CAA4C;AAW5C;2DAC2D;AAC3D,wBAAwB;AAMxB;2DAC2D;AAe3D;2DAC2D;ADlD3D,AAAA,IAAI,CAAA;EAEH,WAAW,EAAE,WAAY;EACzB,SAAS,EAAE,IAAK;CAChB;;AAID,AAAA,QAAQ,CAAA;EACP,OAAO,EAAE,KAAM;EACf,QAAQ,EAAE,KAAM;EACf,GAAG,EAAE,CAAE;EACP,IAAI,EAAE,CAAE;EACR,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,IAAK;EAEd,gBAAgB,ECfE,OAAO;EDiBzB,UAAU,EAAE,MAAO;EACnB,UAAU,EAAE,IAAK;EAEjB,OAAO,EAAE,CAAE;EAGX;6CAC4C;EAkB5C;6CAC4C;EAoB5C;6CAC4C;CAkB5C;;AA3ED,AAkBK,QAlBG,GAkBH,OAAO,CAAA;EACV,OAAO,EAAE,KAAM;EACf,QAAQ,EAAE,KAAM;EACf,GAAG,EAAE,CAAE;EACP,IAAI,EAAE,CAAE;EACR,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,gBAAI;EAEb,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,OAAM;EAE/B,gBAAgB,ECxBA,OAAO;ED0BvB,OAAO,EAAE,GAAI;CAEb;;AAhCF,AAsCK,QAtCG,GAsCH,UAAU,CAAA;EACb,OAAO,EAAE,KAAM;EACf,QAAQ,EAAE,KAAM;EACf,GAAG,ECpBY,GAAG;EDqBlB,IAAI,EAAE,CAAE;EACR,KAAK,ECvBU,IAAI;EDwBnB,MAAM,EAAE,iBAAI;EAEb,UAAU,EAAE,gBAAiB;EAE7B,gBAAgB,EAAE,IAAK;ECXxB,kBAAkB,EDaI,GAAG,CAAC,IAAG;ECZ7B,UAAU,EDYY,GAAG,CAAC,IAAG;EAE5B,OAAO,EAAE,EAAG;CACZ;;AArDF,AA0DK,QA1DG,GA0DH,UAAU,CAAA;EACb,OAAO,EAAE,IAAK;EACd,QAAQ,EAAE,QAAS;EAClB,GAAG,ECxCY,GAAG;EDyClB,IAAI,EC1CW,IAAI;ED2CnB,KAAK,EAAE,kBAAI;EACX,UAAU,EAAE,iBAAI;EAIjB,cAAc,EAAE,GAAI;EACpB,eAAe,EAAE,aAAc;EAC/B,SAAS,EAAE,IAAK;EAEhB,UAAU,EAAE,IAAK;EACjB,UAAU,EAAE,IAAK;CACjB;;AAMF;2DAC2D;AAC3D,AAAA,MAAM,CAAA;EACL,OAAO,EAAE,IAAK;EACd,QAAQ,EAAE,KAAM;EACf,GAAG,EAAE,CAAE;EACP,IAAI,EAAE,KAAM;EACZ,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,IAAK;EAQd,cAAc,EAAE,GAAI;EACpB,SAAS,EAAE,MAAO;EAClB,eAAe,EAAE,YAAa;EAC9B,WAAW,EAAE,MAAO;EAGpB,gBAAgB,EAAE,OAAQ;ECjE1B,kBAAkB,EDmEG,IAAI,CAAC,IAAG,CAAC,WAAW;EClEzC,UAAU,EDkEW,IAAI,CAAC,IAAG,CAAC,WAAW;EAEzC,OAAO,EAAE,GAAI;EAKb,6BAA6B;EAU7B,iCAAiC;EAqGjC,iCAAiC;CAoBjC;;AAhKD,AAAA,MAAM,AASJ,OAAO,CAAA;EACP,IAAI,EAAE,CAAE;CACR;;AAXF,AA8BK,MA9BC,GA8BD,WAAW,CAAA;EACd,KAAK,EAAE,IAAK;EACZ,MAAM,EAAE,IAAK;EAEb,UAAU,EAAE,6BAAG,CAA2B,MAAM,CAAC,MAAM,CAAC,SAAS;EACjE,eAAe,EAAE,SAAU;CAC3B;;AApCF,AAwCK,MAxCC,GAwCD,WAAW,CAAA;EACd,OAAO,EAAE,KAAM;EAGf,4CAA4C;EAwC5C,+BAA+B;EAwC/B,6BAA6B;CAc7B;;AA1IF,AA6CuB,MA7CjB,GAwCD,WAAW,GAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX;AA7CZ,AA8C2B,MA9CrB,GAwCD,WAAW,GAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf;AA9CZ,AA+CyB,MA/CnB,GAwCD,WAAW,GAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,EAAc;EACvB,OAAO,EAAE,IAAK;EACb,KAAK,EAAE,IAAK;EAEb,MAAM,EAAE,KAAM;EACd,OAAO,EAAE,OAAQ;EAGjB,cAAc,EAAE,MAAO;EACvB,eAAe,EAAE,YAAa;EAC9B,SAAS,EAAE,MAAO;EAClB,WAAW,EAAE,MAAO;EAGpB,aAAa,EAAE,GAAI;EACnB,MAAM,EAAE,cAAe;EAEvB,gBAAgB,EC9ID,OAAO;EDgJtB,KAAK,EAAE,IAAK;EAEZ,cAAc,EAAE,KAAM;ECjHxB,kBAAkB,EDmHK,MAAM,CAAC,IAAG,CAAC,WAAW;EClH7C,UAAU,EDkHa,MAAM,CAAC,IAAG,CAAC,WAAW;CAW3C;;AAjFH,AA6CuB,MA7CjB,GAwCD,WAAW,GAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CA8BR,MAAM;AA3EV,AA6CuB,MA7CjB;AAwCD,WAAW,GAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CA+BR,MAAM,CA5EV,MAAM,GAwCD,WAAW,GAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAgCR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR;AA7EV,AA8C2B,MA9CrB,GAwCD,WAAW,GAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA6BR,MAAM;AA3EV,AA6CuB,MA7CjB;AAwCD,WAAW,GAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA8BR,MAAM,CA5EV,MAAM,GAwCD,WAAW,GAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAgCR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR;AA7EV,AA+CyB,MA/CnB,GAwCD,WAAW,GAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA4BR,MAAM;AA3EV,AA6CuB,MA7CjB;AAwCD,WAAW,GAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA6BR,MAAM,CA5EV,MAAM,GAwCD,WAAW,GAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAgCR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR;AA7EV,AA8C2B,MA9CrB;AAwCD,WAAW,GAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CA+BR,MAAM;AA5EV,MAAM,GAwCD,WAAW,GAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA+BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR;AA7EV,AA8C2B,MA9CrB;AAwCD,WAAW,GAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA8BR,MAAM;AA5EV,MAAM,GAwCD,WAAW,GAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA+BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR;AA7EV,AA8C2B,MA9CrB;AAwCD,WAAW,GAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA6BR,MAAM;AA5EV,MAAM,GAwCD,WAAW,GAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA+BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR;AA7EV,AA+CyB,MA/CnB;AAwCD,WAAW,GAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CA+BR,MAAM;AA5EV,MAAM,GAwCD,WAAW,GAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA8BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR;AA7EV,AA+CyB,MA/CnB;AAwCD,WAAW,GAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA8BR,MAAM;AA5EV,MAAM,GAwCD,WAAW,GAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA8BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR;AA7EV,AA+CyB,MA/CnB;AAwCD,WAAW,GAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA6BR,MAAM;AA5EV,MAAM,GAwCD,WAAW,GAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA8BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,GAAU;EAChB,YAAY,ECpKG,OAAO;CDqKtB;;AA/EJ,AAqFyB,MArFnB,GAwCD,WAAW,GA6CV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,EAAc;EACvB,KAAK,EAAE,IAAK;EACZ,UAAU,EAAE,gBAAI;EAChB,aAAa,EAAE,GAAI;EAEnB,MAAM,EAAE,CAAE;EACV,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,OAAM;EAE5B,gBAAgB,ECnLA,OAAO;EDqLvB,KAAK,EC/KU,OAAO;EDgLtB,WAAW,EAAE,IAAK;EAClB,UAAU,EAAE,IAAK;EAEjB,MAAM,EAAE,OAAQ;EChJlB,kBAAkB,EDkJK,GAAG,CAAC,IAAG,CAAC,WAAW;ECjJ1C,UAAU,EDiJa,GAAG,CAAC,IAAG,CAAC,WAAW;CAiBxC;;AAtHH,AAqFyB,MArFnB,GAwCD,WAAW,GA6CV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAmBR,MAAM,EAxGV,AAqFyB,MArFnB,GAwCD,WAAW,GA6CV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAmBC,MAAM,CAAA;EACf,gBAAgB,EAAE,OAAM;EACxB,gBAAgB,EAAE,GAAI;EACtB,UAAU,EAAE,gBAAI;EAChB,aAAa,EAAE,gBAAI;CACnB;;AA7GJ,AAqFyB,MArFnB,GAwCD,WAAW,GA6CV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA2BP,OAAO,CAAA;EACR,gBAAgB,EAAE,CAAE;EACpB,UAAU,EAAE,GAAI;EAChB,aAAa,EAAE,gBAAI;CACnB;;AApHJ,AA6HM,MA7HA,GAwCD,WAAW,GAqFV,cAAc,CAAA;EACjB,QAAQ,EAAE,QAAS;EACnB,KAAK,EAAE,IAAK;EAEZ,MAAM,EAAE,OAAQ;CAOhB;;AAxIH,AA6HM,MA7HA,GAwCD,WAAW,GAqFV,cAAc,AAOhB,MAAM,CAAA;EACN,KAAK,EC3NU,OAAO;ED4NtB,eAAe,EAAE,SAAU;CAC3B;;AAvIJ,AA6IK,MA7IC,GA6ID,YAAY,CAAA;EACf,OAAO,EAAE,KAAM;EACf,QAAQ,EAAE,QAAS;EAClB,GAAG,EAAE,GAAI;EACT,KAAK,EAAE,GAAI;EACX,SAAS,EAAE,GAAI;EACf,MAAM,EAAE,GAAI;EAEb,UAAU,EAAE,4CAAG,CAA0C,KAAK,CAAC,MAAM,CAAC,SAAS;EAC/E,eAAe,EAAE,GAAI;EAErB,KAAK,EAAE,IAAK;EACZ,aAAa,EAAE,GAAI;EACnB,WAAW,EAAE,GAAI;EACjB,WAAW,EAAE,IAAK;EAClB,cAAc,EAAE,GAAI;EAEpB,MAAM,EAAE,OAAQ;CAChB", diff --git a/public_html/css/layout.scss b/public_html/css/layout.scss index 5d7ae85..7817937 100644 --- a/public_html/css/layout.scss +++ b/public_html/css/layout.scss @@ -124,7 +124,7 @@ body{ width: 35em; height: 10em; - background: url('/src/static/iconv3.svg') center center no-repeat; + background: url('/src/static/iconv4.png') center center no-repeat; background-size: auto 100%; } diff --git a/public_html/css/min/layout.css b/public_html/css/min/layout.css index 9be7a0f..3ca0a21 100644 --- a/public_html/css/min/layout.css +++ b/public_html/css/min/layout.css @@ -1,3 +1,3 @@ -body{font-family:'Open Sans';font-size:15px}#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#e8e8e8;overflow-x:hidden;overflow-y:auto;z-index:1}#WRAPPER>#HEADER{display:block;position:fixed;top:0;left:0;width:100%;height:calc( 4em - 1px);border-bottom:1px solid #dadae5;background-color:#F8F8FA;z-index:100}#WRAPPER>#MENU-SIDE{display:block;position:fixed;top:4em;left:0;width:15em;height:calc( 100% - 4em);box-shadow:2px 1px 3px #ddd;background-color:#fff;-webkit-transition:all 0.3s;transition:all 0.3s;z-index:10}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:4em;left:15em;width:calc( 100% - 15em);min-height:calc( 100% - 4em);flex-direction:row;justify-content:space-between;flex-wrap:wrap;overflow-x:none;overflow-y:auto}#LOGIN{display:flex;position:fixed;top:0;left:-100%;width:100%;height:100%;flex-direction:row;flex-wrap:nowrap;justify-content:space-around;align-items:center;background-color:#D7D7D9;-webkit-transition:left 0.3s ease-in-out;transition:left 0.3s ease-in-out;z-index:101}#LOGIN.active{left:0}#LOGIN>#login-icon{width:35em;height:10em;background:url("/src/static/iconv3.svg") center center no-repeat;background-size:auto 100%}#LOGIN>#login-form{display:block}#LOGIN>#login-form>input[type='text'],#LOGIN>#login-form>input[type='password'],#LOGIN>#login-form>input[type='submit']{display:flex;width:20em;margin:2em 0;padding:1em 2em;flex-direction:column;justify-content:space-around;flex-wrap:nowrap;align-items:middle;border-radius:3px;border:1px solid #aaa;background-color:#F8F8FA;color:#444;letter-spacing:.02em;-webkit-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}#LOGIN>#login-form>input[type='text']:hover,#LOGIN>#login-form>input[type='text']:focus #LOGIN>#login-form>input[type='text']:not([value=""]),#LOGIN>#login-form>input[type='password']:hover,#LOGIN>#login-form>input[type='password']:focus #LOGIN>#login-form>input[type='text']:not([value=""]),#LOGIN>#login-form>input[type='submit']:hover,#LOGIN>#login-form>input[type='submit']:focus #LOGIN>#login-form>input[type='text']:not([value=""]),#LOGIN>#login-form>input[type='text']:focus #LOGIN>#login-form>input[type='password']:not([value=""]),#LOGIN>#login-form>input[type='password']:focus #LOGIN>#login-form>input[type='password']:not([value=""]),#LOGIN>#login-form>input[type='submit']:focus #LOGIN>#login-form>input[type='password']:not([value=""]),#LOGIN>#login-form>input[type='text']:focus #LOGIN>#login-form>input[type='submit']:not([value=""]),#LOGIN>#login-form>input[type='password']:focus #LOGIN>#login-form>input[type='submit']:not([value=""]),#LOGIN>#login-form>input[type='submit']:focus #LOGIN>#login-form>input[type='submit']:not([value=""]){border-color:#0e6dbf}#LOGIN>#login-form>input[type='submit']{width:100%;margin-top:calc( 2em - 3px);margin-bottom:2em;border:0;border-top:3px solid #094478;background-color:#0e6dbf;color:#fff;font-weight:bold;text-align:left;cursor:pointer;-webkit-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out}#LOGIN>#login-form>input[type='submit']:hover,#LOGIN>#login-form>input[type='submit'].hover{background-color:#0b528f;border-top-width:1px;margin-top:calc( 2em - 2px);margin-bottom:calc( 2em + 2px)}#LOGIN>#login-form>input[type='submit']:active{border-top-width:0;margin-top:2em;margin-bottom:calc( 2em + 3px)}#LOGIN>#login-form>#lost-password{position:absolute;color:#777;cursor:pointer}#LOGIN>#login-form>#lost-password:hover{color:#0e6dbf;text-decoration:underline}#LOGIN>#login-close{display:block;position:absolute;top:2em;right:2em;min-width:2em;height:2em;background:url("/src/static/container/back@555555.svg") right center no-repeat;background-size:1em;color:#555;padding-right:2em;line-height:2em;font-weight:bold;letter-spacing:1px;cursor:pointer} +body{font-family:'Open Sans';font-size:15px}#WRAPPER{display:block;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#e8e8e8;overflow-x:hidden;overflow-y:auto;z-index:1}#WRAPPER>#HEADER{display:block;position:fixed;top:0;left:0;width:100%;height:calc( 4em - 1px);border-bottom:1px solid #dadae5;background-color:#F8F8FA;z-index:100}#WRAPPER>#MENU-SIDE{display:block;position:fixed;top:4em;left:0;width:15em;height:calc( 100% - 4em);box-shadow:2px 1px 3px #ddd;background-color:#fff;-webkit-transition:all 0.3s;transition:all 0.3s;z-index:10}#WRAPPER>#CONTAINER{display:flex;position:absolute;top:4em;left:15em;width:calc( 100% - 15em);min-height:calc( 100% - 4em);flex-direction:row;justify-content:space-between;flex-wrap:wrap;overflow-x:none;overflow-y:auto}#LOGIN{display:flex;position:fixed;top:0;left:-100%;width:100%;height:100%;flex-direction:row;flex-wrap:nowrap;justify-content:space-around;align-items:center;background-color:#D7D7D9;-webkit-transition:left 0.3s ease-in-out;transition:left 0.3s ease-in-out;z-index:101}#LOGIN.active{left:0}#LOGIN>#login-icon{width:35em;height:10em;background:url("/src/static/iconv4.png") center center no-repeat;background-size:auto 100%}#LOGIN>#login-form{display:block}#LOGIN>#login-form>input[type='text'],#LOGIN>#login-form>input[type='password'],#LOGIN>#login-form>input[type='submit']{display:flex;width:20em;margin:2em 0;padding:1em 2em;flex-direction:column;justify-content:space-around;flex-wrap:nowrap;align-items:middle;border-radius:3px;border:1px solid #aaa;background-color:#F8F8FA;color:#444;letter-spacing:.02em;-webkit-transition:border 0.2s ease-in-out;transition:border 0.2s ease-in-out}#LOGIN>#login-form>input[type='text']:hover,#LOGIN>#login-form>input[type='text']:focus #LOGIN>#login-form>input[type='text']:not([value=""]),#LOGIN>#login-form>input[type='password']:hover,#LOGIN>#login-form>input[type='password']:focus #LOGIN>#login-form>input[type='text']:not([value=""]),#LOGIN>#login-form>input[type='submit']:hover,#LOGIN>#login-form>input[type='submit']:focus #LOGIN>#login-form>input[type='text']:not([value=""]),#LOGIN>#login-form>input[type='text']:focus #LOGIN>#login-form>input[type='password']:not([value=""]),#LOGIN>#login-form>input[type='password']:focus #LOGIN>#login-form>input[type='password']:not([value=""]),#LOGIN>#login-form>input[type='submit']:focus #LOGIN>#login-form>input[type='password']:not([value=""]),#LOGIN>#login-form>input[type='text']:focus #LOGIN>#login-form>input[type='submit']:not([value=""]),#LOGIN>#login-form>input[type='password']:focus #LOGIN>#login-form>input[type='submit']:not([value=""]),#LOGIN>#login-form>input[type='submit']:focus #LOGIN>#login-form>input[type='submit']:not([value=""]){border-color:#0e6dbf}#LOGIN>#login-form>input[type='submit']{width:100%;margin-top:calc( 2em - 3px);margin-bottom:2em;border:0;border-top:3px solid #094478;background-color:#0e6dbf;color:#fff;font-weight:bold;text-align:left;cursor:pointer;-webkit-transition:all 0.1s ease-in-out;transition:all 0.1s ease-in-out}#LOGIN>#login-form>input[type='submit']:hover,#LOGIN>#login-form>input[type='submit'].hover{background-color:#0b528f;border-top-width:1px;margin-top:calc( 2em - 2px);margin-bottom:calc( 2em + 2px)}#LOGIN>#login-form>input[type='submit']:active{border-top-width:0;margin-top:2em;margin-bottom:calc( 2em + 3px)}#LOGIN>#login-form>#lost-password{position:absolute;color:#777;cursor:pointer}#LOGIN>#login-form>#lost-password:hover{color:#0e6dbf;text-decoration:underline}#LOGIN>#login-close{display:block;position:absolute;top:2em;right:2em;min-width:2em;height:2em;background:url("/src/static/container/back@555555.svg") right center no-repeat;background-size:1em;color:#555;padding-right:2em;line-height:2em;font-weight:bold;letter-spacing:1px;cursor:pointer} -/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibGF5b3V0LmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vbGF5b3V0LnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cbmJvZHl7XG5cblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuXHRmb250LXNpemU6IDE1cHg7XG59XG5cblxuXG4jV1JBUFBFUntcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWJnO1xuXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHR6LWluZGV4OiAxO1xuXG5cblx0LyogWzFdIEhlYWRlciBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdCYgPiAjSEVBREVSe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogY2FsYyggI3skaGVhZGVyLWhlaWdodH0gLSAxcHggKTtcblxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGhlYWRlci1kYXJrLCAxMCk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWRhcms7XG5cblx0XHR6LWluZGV4OiAxMDA7XG5cblx0fVxuXG5cblx0LyogWzJdIFNpZGUtTWVudSBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdC8vIEdlc3Rpb24gZHUgbWVudVxuXHQmID4gI01FTlUtU0lERXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHR0b3A6ICRoZWFkZXItaGVpZ2h0O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skaGVhZGVyLWhlaWdodH0gKTtcblxuXHRcdGJveC1zaGFkb3c6IDJweCAxcHggM3B4ICNkZGQ7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIC4zcyApO1xuXG5cdFx0ei1pbmRleDogMTA7XG5cdH1cblxuXG5cdC8qIFszXSBDb250YWluZXIgZGUgbGEgcGFnZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQmID4gI0NPTlRBSU5FUntcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogJGhlYWRlci1oZWlnaHQ7XG5cdFx0XHRsZWZ0OiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLSAjeyRtZW51LXNpZGUtd2lkdGh9ICk7XG5cdFx0XHRtaW4taGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skaGVhZGVyLWhlaWdodH0gKTtcblx0XHQvLyAgbWFyZ2luOiAxZW07XG5cblx0XHQvLyBGbGV4IHByb3BlcnRpZXNcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHRvdmVyZmxvdy14OiBub25lO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cbn1cblxuXG5cblxuLyogWzRdIFBhZ2UgZGUgbG9naW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4jTE9HSU57XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogLTEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdC8vIFF1YW5kIGxhIHBhZ2UgZGUgbG9naW4gZXN0IHZpc2libGVcblx0Ji5hY3RpdmV7XG5cdFx0bGVmdDogMDtcblx0fVxuXG5cdC8vIGZsZXggcHJvcGVydGllc1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRDdEN0Q5O1xuXG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oIGxlZnQgLjNzIGVhc2UtaW4tb3V0ICk7XG5cblx0ei1pbmRleDogMTAxO1xuXG5cblxuXG5cdC8qICgxKSBMb2dvIGV0IG5vbSBkdSBzaXRlICovXG5cdCYgPiAjbG9naW4taWNvbntcblx0XHR3aWR0aDogMzVlbTtcblx0XHRoZWlnaHQ6IDEwZW07XG5cblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy9zcmMvc3RhdGljL2ljb252My5zdmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcblx0fVxuXG5cblx0LyogKDIpIEZvcm11bGFpcmUgZGUgY29ubmV4aW9uICovXG5cdCYgPiAjbG9naW4tZm9ybXtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXG5cdFx0LyogKDIuMSkgQ2hhbXBzIGRlIHRleHRlIChsb2dpbi9wYXNzd29yZCkgKi9cblx0XHQmID4gaW5wdXRbdHlwZT0ndGV4dCddLFxuXHRcdCYgPiBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuXHRcdCYgPiBpbnB1dFt0eXBlPSdzdWJtaXQnXXtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdHdpZHRoOiAyMGVtO1xuXG5cdFx0XHRtYXJnaW46IDJlbSAwO1xuXHRcdFx0cGFkZGluZzogMWVtIDJlbTtcblxuXHRcdFx0Ly8gZmxleCBwcm9wZXJ0aWVzXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBtaWRkbGU7XG5cblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2FhYTtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1kYXJrO1xuXG5cdFx0XHRjb2xvcjogIzQ0NDtcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKCBib3JkZXIgLjJzIGVhc2UtaW4tb3V0ICk7XG5cblx0XHRcdC8vIGN1cnNvcjogZGVmYXVsdDtcblxuXHRcdFx0Ly8gQW5pbWF0aW9uIGRlIEBob3Zlci9AZm9jdXNcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzXG5cdFx0XHQmOm5vdChbdmFsdWU9XCJcIl0pe1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICR0aGVtZS1mZy1wcmltYXJ5O1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cblx0XHQvKiAoMi4yKSBCb3V0b24gZGUgY29ubmV4aW9uICovXG5cdFx0JiA+IGlucHV0W3R5cGU9J3N1Ym1pdCdde1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tdG9wOiBjYWxjKCAyZW0gLSAzcHggKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJlbTtcblxuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkIGRhcmtlbigkdGhlbWUtZmctcHJpbWFyeSwgMTUpO1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtZmctcHJpbWFyeTtcblxuXHRcdFx0Y29sb3I6ICRkYXJrLWZnLXByaW1hcnk7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIC4xcyBlYXNlLWluLW91dCApO1xuXG5cdFx0XHQvLyBBbmltYXRpb24gZGUgQGhvdmVyXG5cdFx0XHQmOmhvdmVyLCAmLmhvdmVye1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHRoZW1lLWZnLXByaW1hcnksIDEwKTtcblx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMXB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBjYWxjKCAyZW0gLSAycHggKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyggMmVtICsgMnB4ICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEFuaW1hdGlvbiBkZSBjbGljIEBhY3RpdmVcblx0XHRcdFx0JjphY3RpdmV7XG5cdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDJlbTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyggMmVtICsgM3B4ICk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblxuXG5cblxuXHRcdC8qICgzKSBNb3QgZGUgcGFzc2Ugb3VibGllICovXG5cdFx0JiA+ICNsb3N0LXBhc3N3b3Jke1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Y29sb3I6ICM3Nzc7XG5cblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0Ly8gQW5pbWF0aW9uIGRlIEBob3ZlclxuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0Y29sb3I6ICR0aGVtZS1mZy1wcmltYXJ5O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC8qICg0KSBHZXN0aW9uIGRlIGxhIGZlcm1ldHVyZSAqL1xuXHQmID4gI2xvZ2luLWNsb3Nle1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMmVtO1xuXHRcdFx0cmlnaHQ6IDJlbTtcblx0XHRcdG1pbi13aWR0aDogMmVtO1xuXHRcdFx0aGVpZ2h0OiAyZW07XG5cblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy9zcmMvc3RhdGljL2NvbnRhaW5lci9iYWNrQDU1NTU1NS5zdmcnKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMWVtO1xuXG5cdFx0Y29sb3I6ICM1NTU7XG5cdFx0cGFkZGluZy1yaWdodDogMmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblxuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxufVxuIiwKCQkiLyogWzFdIENPVUxFVVJTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogKDEpIENPVUxFVVJTIERVIFRIRU1FICRERUZBVUxUICovXG4kdGhlbWUtYmc6ICAgICAgICAgI2U4ZThlODtcbiR0aGVtZS1iZy1wcmltYXJ5OiAjZmZmZmZmO1xuJHRoZW1lLWZnOiAgICAgICAgICM1MTUxNTE7XG4kdGhlbWUtZmctcHJpbWFyeTogIzBlNmRiZjtcblxuLyogKDIpIENPVUxFVVJTIERFIFRIRU1FICREQVJLICovXG4kZGFyay1iZzogICAgICAgICAjMzEzNTQxO1xuJGRhcmstYmctcHJpbWFyeTogIzI5MjgyZTtcbiRkYXJrLWZnOiAgICAgICAgICM5MzkzOTM7XG4kZGFyay1mZy1wcmltYXJ5OiAjZmZmZmZmO1xuXG4kaGVhZGVyLWRhcms6ICAgICAjRjhGOEZBO1xuXG4vKiAoMykgQ291bGV1cnMgZHUgdGhlbWUgcG91ciBsYSB0aW1lbGluZSAqL1xuJHRpbWVsaW5lLWNvbG9yOiAjNzM4Mzk0O1xuJHRpbWVsaW5lLTA6ICMwZTZkYmY7XG4kdGltZWxpbmUtMTogI2U2NGUzZTtcbiR0aW1lbGluZS0yOiAjZDU0YjI4O1xuJHRpbWVsaW5lLTM6ICNiMTRiZTc7XG4kdGltZWxpbmUtNDogIzA1M2I1ZDtcblxuJHRpbWVsaW5lLWZiOiAjM2I1OTk4O1xuXG5cbi8qIFsyXSBESU1FTlNJT05TXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogKDEpIExheW91dCBkZSBiYXNlICovXG4kbWVudS1zaWRlLXdpZHRoOiAxNWVtO1xuJGhlYWRlci1oZWlnaHQ6ICAgNGVtO1xuXG5cblxuLyogWzNdIE1peGluc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBtaXhpbiB0cmFuc2Zvcm0oJHZhbHVlLi4uKSB7XG5cdHRyYW5zZm9ybTogJHZhbHVlO1xuXHQtbW96LXRyYW5zZm9ybTogJHZhbHVlO1xuXHQtby10cmFuc2Zvcm06ICR2YWx1ZTtcblx0LW1zLXRyYW5zZm9ybTogJHZhbHVlO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogJHZhbHVlO1xufVxuXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR2YWx1ZS4uLikge1xuXHQtd2Via2l0LXRyYW5zaXRpb246ICR2YWx1ZTtcblx0dHJhbnNpdGlvbjogJHZhbHVlO1xufVxuXG4vKiBbNF0gRnVuY3Rpb25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLy8gVHJhbnNmb3JtZSB1bmUgY291bGV1ciBoZXggZW4gc3RyaW5nIHNhbnMgbGUgI1xuQGZ1bmN0aW9uIGNvbG9yLXN0cigkY29sb3Ipe1xuXHRAcmV0dXJuIHN0ci1zbGljZSgjeyRjb2xvcn0sIDIsIHN0ci1sZW5ndGgoI3skY29sb3J9KSk7XG59XG4iCgldLAoJIm1hcHBpbmdz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 */ \ No newline at end of file +/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAibGF5b3V0LmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vbGF5b3V0LnNjc3MiLAoJCSIuLi9jb25zdGFudHMuc2NzcyIKCV0sCgkic291cmNlc0NvbnRlbnQiOiBbCgkJIkBpbXBvcnQgJ2NvbnN0YW50cyc7XG5cbmJvZHl7XG5cblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuXHRmb250LXNpemU6IDE1cHg7XG59XG5cblxuXG4jV1JBUFBFUntcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWJnO1xuXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0b3ZlcmZsb3cteTogYXV0bztcblxuXHR6LWluZGV4OiAxO1xuXG5cblx0LyogWzFdIEhlYWRlciBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdCYgPiAjSEVBREVSe1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogY2FsYyggI3skaGVhZGVyLWhlaWdodH0gLSAxcHggKTtcblxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGhlYWRlci1kYXJrLCAxMCk7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGVyLWRhcms7XG5cblx0XHR6LWluZGV4OiAxMDA7XG5cblx0fVxuXG5cblx0LyogWzJdIFNpZGUtTWVudSBkZSBsYSBwYWdlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cdC8vIEdlc3Rpb24gZHUgbWVudVxuXHQmID4gI01FTlUtU0lERXtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHR0b3A6ICRoZWFkZXItaGVpZ2h0O1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHdpZHRoOiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skaGVhZGVyLWhlaWdodH0gKTtcblxuXHRcdGJveC1zaGFkb3c6IDJweCAxcHggM3B4ICNkZGQ7XG5cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG5cdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIC4zcyApO1xuXG5cdFx0ei1pbmRleDogMTA7XG5cdH1cblxuXG5cdC8qIFszXSBDb250YWluZXIgZGUgbGEgcGFnZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXHQmID4gI0NPTlRBSU5FUntcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogJGhlYWRlci1oZWlnaHQ7XG5cdFx0XHRsZWZ0OiAkbWVudS1zaWRlLXdpZHRoO1xuXHRcdFx0d2lkdGg6IGNhbGMoIDEwMCUgLSAjeyRtZW51LXNpZGUtd2lkdGh9ICk7XG5cdFx0XHRtaW4taGVpZ2h0OiBjYWxjKCAxMDAlIC0gI3skaGVhZGVyLWhlaWdodH0gKTtcblx0XHQvLyAgbWFyZ2luOiAxZW07XG5cblx0XHQvLyBGbGV4IHByb3BlcnRpZXNcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHRvdmVyZmxvdy14OiBub25lO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdH1cbn1cblxuXG5cblxuLyogWzRdIFBhZ2UgZGUgbG9naW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4jTE9HSU57XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogLTEwMCU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdC8vIFF1YW5kIGxhIHBhZ2UgZGUgbG9naW4gZXN0IHZpc2libGVcblx0Ji5hY3RpdmV7XG5cdFx0bGVmdDogMDtcblx0fVxuXG5cdC8vIGZsZXggcHJvcGVydGllc1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRDdEN0Q5O1xuXG5cdEBpbmNsdWRlIHRyYW5zaXRpb24oIGxlZnQgLjNzIGVhc2UtaW4tb3V0ICk7XG5cblx0ei1pbmRleDogMTAxO1xuXG5cblxuXG5cdC8qICgxKSBMb2dvIGV0IG5vbSBkdSBzaXRlICovXG5cdCYgPiAjbG9naW4taWNvbntcblx0XHR3aWR0aDogMzVlbTtcblx0XHRoZWlnaHQ6IDEwZW07XG5cblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy9zcmMvc3RhdGljL2ljb252NC5wbmcnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcblx0fVxuXG5cblx0LyogKDIpIEZvcm11bGFpcmUgZGUgY29ubmV4aW9uICovXG5cdCYgPiAjbG9naW4tZm9ybXtcblx0XHRkaXNwbGF5OiBibG9jaztcblxuXG5cdFx0LyogKDIuMSkgQ2hhbXBzIGRlIHRleHRlIChsb2dpbi9wYXNzd29yZCkgKi9cblx0XHQmID4gaW5wdXRbdHlwZT0ndGV4dCddLFxuXHRcdCYgPiBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuXHRcdCYgPiBpbnB1dFt0eXBlPSdzdWJtaXQnXXtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdHdpZHRoOiAyMGVtO1xuXG5cdFx0XHRtYXJnaW46IDJlbSAwO1xuXHRcdFx0cGFkZGluZzogMWVtIDJlbTtcblxuXHRcdFx0Ly8gZmxleCBwcm9wZXJ0aWVzXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG5cdFx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRcdGFsaWduLWl0ZW1zOiBtaWRkbGU7XG5cblxuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2FhYTtcblxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1kYXJrO1xuXG5cdFx0XHRjb2xvcjogIzQ0NDtcblx0XHRcdC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC4wMmVtO1xuXG5cdFx0XHRAaW5jbHVkZSB0cmFuc2l0aW9uKCBib3JkZXIgLjJzIGVhc2UtaW4tb3V0ICk7XG5cblx0XHRcdC8vIGN1cnNvcjogZGVmYXVsdDtcblxuXHRcdFx0Ly8gQW5pbWF0aW9uIGRlIEBob3Zlci9AZm9jdXNcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzXG5cdFx0XHQmOm5vdChbdmFsdWU9XCJcIl0pe1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICR0aGVtZS1mZy1wcmltYXJ5O1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cblx0XHQvKiAoMi4yKSBCb3V0b24gZGUgY29ubmV4aW9uICovXG5cdFx0JiA+IGlucHV0W3R5cGU9J3N1Ym1pdCdde1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tdG9wOiBjYWxjKCAyZW0gLSAzcHggKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJlbTtcblxuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkIGRhcmtlbigkdGhlbWUtZmctcHJpbWFyeSwgMTUpO1xuXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGhlbWUtZmctcHJpbWFyeTtcblxuXHRcdFx0Y29sb3I6ICRkYXJrLWZnLXByaW1hcnk7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbiggYWxsIC4xcyBlYXNlLWluLW91dCApO1xuXG5cdFx0XHQvLyBBbmltYXRpb24gZGUgQGhvdmVyXG5cdFx0XHQmOmhvdmVyLCAmLmhvdmVye1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHRoZW1lLWZnLXByaW1hcnksIDEwKTtcblx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMXB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiBjYWxjKCAyZW0gLSAycHggKTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyggMmVtICsgMnB4ICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEFuaW1hdGlvbiBkZSBjbGljIEBhY3RpdmVcblx0XHRcdFx0JjphY3RpdmV7XG5cdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDJlbTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyggMmVtICsgM3B4ICk7XG5cdFx0XHR9XG5cblx0XHR9XG5cblxuXG5cblxuXHRcdC8qICgzKSBNb3QgZGUgcGFzc2Ugb3VibGllICovXG5cdFx0JiA+ICNsb3N0LXBhc3N3b3Jke1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Y29sb3I6ICM3Nzc7XG5cblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0Ly8gQW5pbWF0aW9uIGRlIEBob3ZlclxuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0Y29sb3I6ICR0aGVtZS1mZy1wcmltYXJ5O1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdC8qICg0KSBHZXN0aW9uIGRlIGxhIGZlcm1ldHVyZSAqL1xuXHQmID4gI2xvZ2luLWNsb3Nle1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMmVtO1xuXHRcdFx0cmlnaHQ6IDJlbTtcblx0XHRcdG1pbi13aWR0aDogMmVtO1xuXHRcdFx0aGVpZ2h0OiAyZW07XG5cblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy9zcmMvc3RhdGljL2NvbnRhaW5lci9iYWNrQDU1NTU1NS5zdmcnKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMWVtO1xuXG5cdFx0Y29sb3I6ICM1NTU7XG5cdFx0cGFkZGluZy1yaWdodDogMmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAyZW07XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblxuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxufVxuIiwKCQkiLyogWzFdIENPVUxFVVJTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogKDEpIENPVUxFVVJTIERVIFRIRU1FICRERUZBVUxUICovXG4kdGhlbWUtYmc6ICAgICAgICAgI2U4ZThlODtcbiR0aGVtZS1iZy1wcmltYXJ5OiAjZmZmZmZmO1xuJHRoZW1lLWZnOiAgICAgICAgICM1MTUxNTE7XG4kdGhlbWUtZmctcHJpbWFyeTogIzBlNmRiZjtcblxuLyogKDIpIENPVUxFVVJTIERFIFRIRU1FICREQVJLICovXG4kZGFyay1iZzogICAgICAgICAjMzEzNTQxO1xuJGRhcmstYmctcHJpbWFyeTogIzI5MjgyZTtcbiRkYXJrLWZnOiAgICAgICAgICM5MzkzOTM7XG4kZGFyay1mZy1wcmltYXJ5OiAjZmZmZmZmO1xuXG4kaGVhZGVyLWRhcms6ICAgICAjRjhGOEZBO1xuXG4vKiAoMykgQ291bGV1cnMgZHUgdGhlbWUgcG91ciBsYSB0aW1lbGluZSAqL1xuJHRpbWVsaW5lLWNvbG9yOiAjNzM4Mzk0O1xuJHRpbWVsaW5lLTA6ICMwZTZkYmY7XG4kdGltZWxpbmUtMTogI2U2NGUzZTtcbiR0aW1lbGluZS0yOiAjZDU0YjI4O1xuJHRpbWVsaW5lLTM6ICNiMTRiZTc7XG4kdGltZWxpbmUtNDogIzA1M2I1ZDtcblxuJHRpbWVsaW5lLWZiOiAjM2I1OTk4O1xuXG5cbi8qIFsyXSBESU1FTlNJT05TXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogKDEpIExheW91dCBkZSBiYXNlICovXG4kbWVudS1zaWRlLXdpZHRoOiAxNWVtO1xuJGhlYWRlci1oZWlnaHQ6ICAgNGVtO1xuXG5cblxuLyogWzNdIE1peGluc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBtaXhpbiB0cmFuc2Zvcm0oJHZhbHVlLi4uKSB7XG5cdHRyYW5zZm9ybTogJHZhbHVlO1xuXHQtbW96LXRyYW5zZm9ybTogJHZhbHVlO1xuXHQtby10cmFuc2Zvcm06ICR2YWx1ZTtcblx0LW1zLXRyYW5zZm9ybTogJHZhbHVlO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogJHZhbHVlO1xufVxuXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR2YWx1ZS4uLikge1xuXHQtd2Via2l0LXRyYW5zaXRpb246ICR2YWx1ZTtcblx0dHJhbnNpdGlvbjogJHZhbHVlO1xufVxuXG4vKiBbNF0gRnVuY3Rpb25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLy8gVHJhbnNmb3JtZSB1bmUgY291bGV1ciBoZXggZW4gc3RyaW5nIHNhbnMgbGUgI1xuQGZ1bmN0aW9uIGNvbG9yLXN0cigkY29sb3Ipe1xuXHRAcmV0dXJuIHN0ci1zbGljZSgjeyRjb2xvcn0sIDIsIHN0ci1sZW5ndGgoI3skY29sb3J9KSk7XG59XG4iCgldLAoJIm1hcHBpbmdz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 */ \ No newline at end of file diff --git a/public_html/css/min/layout.css.map b/public_html/css/min/layout.css.map index f823cd8..07ae123 100644 --- a/public_html/css/min/layout.css.map +++ b/public_html/css/min/layout.css.map @@ -6,7 +6,7 @@ "../constants.scss" ], "sourcesContent": [ - "@import 'constants';\n\nbody{\n\n\tfont-family: 'Open Sans';\n\tfont-size: 15px;\n}\n\n\n\n#WRAPPER{\n\tdisplay: block;\n\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\tbackground-color: $theme-bg;\n\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\n\tz-index: 1;\n\n\n\t/* [1] Header de la page\n\t==========================================*/\n\t& > #HEADER{\n\t\tdisplay: block;\n\t\tposition: fixed;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\theight: calc( #{$header-height} - 1px );\n\n\t\tborder-bottom: 1px solid darken($header-dark, 10);\n\n\t\tbackground-color: $header-dark;\n\n\t\tz-index: 100;\n\n\t}\n\n\n\t/* [2] Side-Menu de la page\n\t==========================================*/\n\t// Gestion du menu\n\t& > #MENU-SIDE{\n\t\tdisplay: block;\n\t\tposition: fixed;\n\t\t\ttop: $header-height;\n\t\t\tleft: 0;\n\t\t\twidth: $menu-side-width;\n\t\t\theight: calc( 100% - #{$header-height} );\n\n\t\tbox-shadow: 2px 1px 3px #ddd;\n\n\t\tbackground-color: #fff;\n\n\t\t@include transition( all .3s );\n\n\t\tz-index: 10;\n\t}\n\n\n\t/* [3] Container de la page\n\t==========================================*/\n\t& > #CONTAINER{\n\t\tdisplay: flex;\n\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tleft: $menu-side-width;\n\t\t\twidth: calc( 100% - #{$menu-side-width} );\n\t\t\tmin-height: calc( 100% - #{$header-height} );\n\t\t// margin: 1em;\n\n\t\t// Flex properties\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\t\tflex-wrap: wrap;\n\n\t\toverflow-x: none;\n\t\toverflow-y: auto;\n\t}\n}\n\n\n\n\n/* [4] Page de login\n=========================================================*/\n#LOGIN{\n\tdisplay: flex;\n\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: -100%;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t// Quand la page de login est visible\n\t&.active{\n\t\tleft: 0;\n\t}\n\n\t// flex properties\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-around;\n\talign-items: center;\n\n\n\tbackground-color: #D7D7D9;\n\n\t@include transition( left .3s ease-in-out );\n\n\tz-index: 101;\n\n\n\n\n\t/* (1) Logo et nom du site */\n\t& > #login-icon{\n\t\twidth: 35em;\n\t\theight: 10em;\n\n\t\tbackground: url('/src/static/iconv3.svg') center center no-repeat;\n\t\tbackground-size: auto 100%;\n\t}\n\n\n\t/* (2) Formulaire de connexion */\n\t& > #login-form{\n\t\tdisplay: block;\n\n\n\t\t/* (2.1) Champs de texte (login/password) */\n\t\t& > input[type='text'],\n\t\t& > input[type='password'],\n\t\t& > input[type='submit']{\n\t\t\tdisplay: flex;\n\t\t\t\twidth: 20em;\n\n\t\t\tmargin: 2em 0;\n\t\t\tpadding: 1em 2em;\n\n\t\t\t// flex properties\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: space-around;\n\t\t\tflex-wrap: nowrap;\n\t\t\talign-items: middle;\n\n\n\t\t\tborder-radius: 3px;\n\t\t\tborder: 1px solid #aaa;\n\n\t\t\tbackground-color: $header-dark;\n\n\t\t\tcolor: #444;\n\t\t\t// font-weight: bold;\n\t\t\tletter-spacing: .02em;\n\n\t\t\t@include transition( border .2s ease-in-out );\n\n\t\t\t// cursor: default;\n\n\t\t\t// Animation de @hover/@focus\n\t\t\t&:hover,\n\t\t\t&:focus\n\t\t\t&:not([value=\"\"]){\n\t\t\t\tborder-color: $theme-fg-primary;\n\t\t\t}\n\n\t\t}\n\n\n\t\t/* (2.2) Bouton de connexion */\n\t\t& > input[type='submit']{\n\t\t\twidth: 100%;\n\t\t\tmargin-top: calc( 2em - 3px );\n\t\t\tmargin-bottom: 2em;\n\n\t\t\tborder: 0;\n\t\t\tborder-top: 3px solid darken($theme-fg-primary, 15);\n\n\t\t\tbackground-color: $theme-fg-primary;\n\n\t\t\tcolor: $dark-fg-primary;\n\t\t\tfont-weight: bold;\n\t\t\ttext-align: left;\n\n\t\t\tcursor: pointer;\n\n\t\t\t@include transition( all .1s ease-in-out );\n\n\t\t\t// Animation de @hover\n\t\t\t&:hover, &.hover{\n\t\t\t\tbackground-color: darken($theme-fg-primary, 10);\n\t\t\t\tborder-top-width: 1px;\n\t\t\t\tmargin-top: calc( 2em - 2px );\n\t\t\t\tmargin-bottom: calc( 2em + 2px );\n\t\t\t}\n\n\t\t\t// Animation de clic @active\n\t\t\t\t&:active{\n\t\t\t\tborder-top-width: 0;\n\t\t\t\tmargin-top: 2em;\n\t\t\t\tmargin-bottom: calc( 2em + 3px );\n\t\t\t}\n\n\t\t}\n\n\n\n\n\n\t\t/* (3) Mot de passe oublie */\n\t\t& > #lost-password{\n\t\t\tposition: absolute;\n\t\t\tcolor: #777;\n\n\t\t\tcursor: pointer;\n\n\t\t\t// Animation de @hover\n\t\t\t&:hover{\n\t\t\t\tcolor: $theme-fg-primary;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/* (4) Gestion de la fermeture */\n\t& > #login-close{\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\t\ttop: 2em;\n\t\t\tright: 2em;\n\t\t\tmin-width: 2em;\n\t\t\theight: 2em;\n\n\t\tbackground: url('/src/static/container/back@555555.svg') right center no-repeat;\n\t\tbackground-size: 1em;\n\n\t\tcolor: #555;\n\t\tpadding-right: 2em;\n\t\tline-height: 2em;\n\t\tfont-weight: bold;\n\t\tletter-spacing: 1px;\n\n\t\tcursor: pointer;\n\t}\n}\n", + "@import 'constants';\n\nbody{\n\n\tfont-family: 'Open Sans';\n\tfont-size: 15px;\n}\n\n\n\n#WRAPPER{\n\tdisplay: block;\n\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\tbackground-color: $theme-bg;\n\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\n\tz-index: 1;\n\n\n\t/* [1] Header de la page\n\t==========================================*/\n\t& > #HEADER{\n\t\tdisplay: block;\n\t\tposition: fixed;\n\t\t\ttop: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\theight: calc( #{$header-height} - 1px );\n\n\t\tborder-bottom: 1px solid darken($header-dark, 10);\n\n\t\tbackground-color: $header-dark;\n\n\t\tz-index: 100;\n\n\t}\n\n\n\t/* [2] Side-Menu de la page\n\t==========================================*/\n\t// Gestion du menu\n\t& > #MENU-SIDE{\n\t\tdisplay: block;\n\t\tposition: fixed;\n\t\t\ttop: $header-height;\n\t\t\tleft: 0;\n\t\t\twidth: $menu-side-width;\n\t\t\theight: calc( 100% - #{$header-height} );\n\n\t\tbox-shadow: 2px 1px 3px #ddd;\n\n\t\tbackground-color: #fff;\n\n\t\t@include transition( all .3s );\n\n\t\tz-index: 10;\n\t}\n\n\n\t/* [3] Container de la page\n\t==========================================*/\n\t& > #CONTAINER{\n\t\tdisplay: flex;\n\t\tposition: absolute;\n\t\t\ttop: $header-height;\n\t\t\tleft: $menu-side-width;\n\t\t\twidth: calc( 100% - #{$menu-side-width} );\n\t\t\tmin-height: calc( 100% - #{$header-height} );\n\t\t// margin: 1em;\n\n\t\t// Flex properties\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\t\tflex-wrap: wrap;\n\n\t\toverflow-x: none;\n\t\toverflow-y: auto;\n\t}\n}\n\n\n\n\n/* [4] Page de login\n=========================================================*/\n#LOGIN{\n\tdisplay: flex;\n\tposition: fixed;\n\t\ttop: 0;\n\t\tleft: -100%;\n\t\twidth: 100%;\n\t\theight: 100%;\n\n\t// Quand la page de login est visible\n\t&.active{\n\t\tleft: 0;\n\t}\n\n\t// flex properties\n\tflex-direction: row;\n\tflex-wrap: nowrap;\n\tjustify-content: space-around;\n\talign-items: center;\n\n\n\tbackground-color: #D7D7D9;\n\n\t@include transition( left .3s ease-in-out );\n\n\tz-index: 101;\n\n\n\n\n\t/* (1) Logo et nom du site */\n\t& > #login-icon{\n\t\twidth: 35em;\n\t\theight: 10em;\n\n\t\tbackground: url('/src/static/iconv4.png') center center no-repeat;\n\t\tbackground-size: auto 100%;\n\t}\n\n\n\t/* (2) Formulaire de connexion */\n\t& > #login-form{\n\t\tdisplay: block;\n\n\n\t\t/* (2.1) Champs de texte (login/password) */\n\t\t& > input[type='text'],\n\t\t& > input[type='password'],\n\t\t& > input[type='submit']{\n\t\t\tdisplay: flex;\n\t\t\t\twidth: 20em;\n\n\t\t\tmargin: 2em 0;\n\t\t\tpadding: 1em 2em;\n\n\t\t\t// flex properties\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: space-around;\n\t\t\tflex-wrap: nowrap;\n\t\t\talign-items: middle;\n\n\n\t\t\tborder-radius: 3px;\n\t\t\tborder: 1px solid #aaa;\n\n\t\t\tbackground-color: $header-dark;\n\n\t\t\tcolor: #444;\n\t\t\t// font-weight: bold;\n\t\t\tletter-spacing: .02em;\n\n\t\t\t@include transition( border .2s ease-in-out );\n\n\t\t\t// cursor: default;\n\n\t\t\t// Animation de @hover/@focus\n\t\t\t&:hover,\n\t\t\t&:focus\n\t\t\t&:not([value=\"\"]){\n\t\t\t\tborder-color: $theme-fg-primary;\n\t\t\t}\n\n\t\t}\n\n\n\t\t/* (2.2) Bouton de connexion */\n\t\t& > input[type='submit']{\n\t\t\twidth: 100%;\n\t\t\tmargin-top: calc( 2em - 3px );\n\t\t\tmargin-bottom: 2em;\n\n\t\t\tborder: 0;\n\t\t\tborder-top: 3px solid darken($theme-fg-primary, 15);\n\n\t\t\tbackground-color: $theme-fg-primary;\n\n\t\t\tcolor: $dark-fg-primary;\n\t\t\tfont-weight: bold;\n\t\t\ttext-align: left;\n\n\t\t\tcursor: pointer;\n\n\t\t\t@include transition( all .1s ease-in-out );\n\n\t\t\t// Animation de @hover\n\t\t\t&:hover, &.hover{\n\t\t\t\tbackground-color: darken($theme-fg-primary, 10);\n\t\t\t\tborder-top-width: 1px;\n\t\t\t\tmargin-top: calc( 2em - 2px );\n\t\t\t\tmargin-bottom: calc( 2em + 2px );\n\t\t\t}\n\n\t\t\t// Animation de clic @active\n\t\t\t\t&:active{\n\t\t\t\tborder-top-width: 0;\n\t\t\t\tmargin-top: 2em;\n\t\t\t\tmargin-bottom: calc( 2em + 3px );\n\t\t\t}\n\n\t\t}\n\n\n\n\n\n\t\t/* (3) Mot de passe oublie */\n\t\t& > #lost-password{\n\t\t\tposition: absolute;\n\t\t\tcolor: #777;\n\n\t\t\tcursor: pointer;\n\n\t\t\t// Animation de @hover\n\t\t\t&:hover{\n\t\t\t\tcolor: $theme-fg-primary;\n\t\t\t\ttext-decoration: underline;\n\t\t\t}\n\t\t}\n\n\t}\n\n\t/* (4) Gestion de la fermeture */\n\t& > #login-close{\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\t\ttop: 2em;\n\t\t\tright: 2em;\n\t\t\tmin-width: 2em;\n\t\t\theight: 2em;\n\n\t\tbackground: url('/src/static/container/back@555555.svg') right center no-repeat;\n\t\tbackground-size: 1em;\n\n\t\tcolor: #555;\n\t\tpadding-right: 2em;\n\t\tline-height: 2em;\n\t\tfont-weight: bold;\n\t\tletter-spacing: 1px;\n\n\t\tcursor: pointer;\n\t}\n}\n", "/* [1] COULEURS\n=========================================================*/\n/* (1) COULEURS DU THEME $DEFAULT */\n$theme-bg: #e8e8e8;\n$theme-bg-primary: #ffffff;\n$theme-fg: #515151;\n$theme-fg-primary: #0e6dbf;\n\n/* (2) COULEURS DE THEME $DARK */\n$dark-bg: #313541;\n$dark-bg-primary: #29282e;\n$dark-fg: #939393;\n$dark-fg-primary: #ffffff;\n\n$header-dark: #F8F8FA;\n\n/* (3) Couleurs du theme pour la timeline */\n$timeline-color: #738394;\n$timeline-0: #0e6dbf;\n$timeline-1: #e64e3e;\n$timeline-2: #d54b28;\n$timeline-3: #b14be7;\n$timeline-4: #053b5d;\n\n$timeline-fb: #3b5998;\n\n\n/* [2] DIMENSIONS\n=========================================================*/\n/* (1) Layout de base */\n$menu-side-width: 15em;\n$header-height: 4em;\n\n\n\n/* [3] Mixins\n=========================================================*/\n@mixin transform($value...) {\n\ttransform: $value;\n\t-moz-transform: $value;\n\t-o-transform: $value;\n\t-ms-transform: $value;\n\t-webkit-transform: $value;\n}\n\n\n@mixin transition($value...) {\n\t-webkit-transition: $value;\n\ttransition: $value;\n}\n\n/* [4] Functions\n=========================================================*/\n// Transforme une couleur hex en string sans le #\n@function color-str($color){\n\t@return str-slice(#{$color}, 2, str-length(#{$color}));\n}\n" ], "mappings": "AAEA,AAAA,IAAI,AAAA,CAEH,WAAW,CAAE,WAAY,CACzB,SAAS,CAAE,IAAK,CAChB,AAID,AAAA,QAAQ,AAAA,CACP,OAAO,CAAE,KAAM,CACf,QAAQ,CAAE,KAAM,CACf,GAAG,CAAE,CAAE,CACP,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,IAAK,CACZ,MAAM,CAAE,IAAK,CAEd,gBAAgB,CCfE,OAAO,CDiBzB,UAAU,CAAE,MAAO,CACnB,UAAU,CAAE,IAAK,CAEjB,OAAO,CAAE,CAAE,CA8DX,AA3ED,AAkBK,QAlBG,CAkBH,OAAO,AAAA,CACV,OAAO,CAAE,KAAM,CACf,QAAQ,CAAE,KAAM,CACf,GAAG,CAAE,CAAE,CACP,IAAI,CAAE,CAAE,CACR,KAAK,CAAE,IAAK,CACZ,MAAM,CAAE,gBAAI,CAEb,aAAa,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAE/B,gBAAgB,CCxBA,OAAO,CD0BvB,OAAO,CAAE,GAAI,CAEb,AAhCF,AAsCK,QAtCG,CAsCH,UAAU,AAAA,CACb,OAAO,CAAE,KAAM,CACf,QAAQ,CAAE,KAAM,CACf,GAAG,CCpBY,GAAG,CDqBlB,IAAI,CAAE,CAAE,CACR,KAAK,CCvBU,IAAI,CDwBnB,MAAM,CAAE,iBAAI,CAEb,UAAU,CAAE,gBAAiB,CAE7B,gBAAgB,CAAE,IAAK,CCXxB,kBAAkB,CDaI,GAAG,CAAC,IAAG,CCZ7B,UAAU,CDYY,GAAG,CAAC,IAAG,CAE5B,OAAO,CAAE,EAAG,CACZ,AArDF,AA0DK,QA1DG,CA0DH,UAAU,AAAA,CACb,OAAO,CAAE,IAAK,CACd,QAAQ,CAAE,QAAS,CAClB,GAAG,CCxCY,GAAG,CDyClB,IAAI,CC1CW,IAAI,CD2CnB,KAAK,CAAE,kBAAI,CACX,UAAU,CAAE,iBAAI,CAIjB,cAAc,CAAE,GAAI,CACpB,eAAe,CAAE,aAAc,CAC/B,SAAS,CAAE,IAAK,CAEhB,UAAU,CAAE,IAAK,CACjB,UAAU,CAAE,IAAK,CACjB,AAQF,AAAA,MAAM,AAAA,CACL,OAAO,CAAE,IAAK,CACd,QAAQ,CAAE,KAAM,CACf,GAAG,CAAE,CAAE,CACP,IAAI,CAAE,KAAM,CACZ,KAAK,CAAE,IAAK,CACZ,MAAM,CAAE,IAAK,CAQd,cAAc,CAAE,GAAI,CACpB,SAAS,CAAE,MAAO,CAClB,eAAe,CAAE,YAAa,CAC9B,WAAW,CAAE,MAAO,CAGpB,gBAAgB,CAAE,OAAQ,CCjE1B,kBAAkB,CDmEG,IAAI,CAAC,IAAG,CAAC,WAAW,CClEzC,UAAU,CDkEW,IAAI,CAAC,IAAG,CAAC,WAAW,CAEzC,OAAO,CAAE,GAAI,CAwIb,AAhKD,AAAA,MAAM,AASJ,OAAO,AAAA,CACP,IAAI,CAAE,CAAE,CACR,AAXF,AA8BK,MA9BC,CA8BD,WAAW,AAAA,CACd,KAAK,CAAE,IAAK,CACZ,MAAM,CAAE,IAAK,CAEb,UAAU,CAAE,6BAAG,CAA2B,MAAM,CAAC,MAAM,CAAC,SAAS,CACjE,eAAe,CAAE,SAAU,CAC3B,AApCF,AAwCK,MAxCC,CAwCD,WAAW,AAAA,CACd,OAAO,CAAE,KAAM,CAiGf,AA1IF,AA6CuB,MA7CjB,CAwCD,WAAW,CAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,EA7CZ,AA8C2B,MA9CrB,CAwCD,WAAW,CAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,EA9CZ,AA+CyB,MA/CnB,CAwCD,WAAW,CAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAAc,CACvB,OAAO,CAAE,IAAK,CACb,KAAK,CAAE,IAAK,CAEb,MAAM,CAAE,KAAM,CACd,OAAO,CAAE,OAAQ,CAGjB,cAAc,CAAE,MAAO,CACvB,eAAe,CAAE,YAAa,CAC9B,SAAS,CAAE,MAAO,CAClB,WAAW,CAAE,MAAO,CAGpB,aAAa,CAAE,GAAI,CACnB,MAAM,CAAE,cAAe,CAEvB,gBAAgB,CC9ID,OAAO,CDgJtB,KAAK,CAAE,IAAK,CAEZ,cAAc,CAAE,KAAM,CCjHxB,kBAAkB,CDmHK,MAAM,CAAC,IAAG,CAAC,WAAW,CClH7C,UAAU,CDkHa,MAAM,CAAC,IAAG,CAAC,WAAW,CAW3C,AAjFH,AA6CuB,MA7CjB,CAwCD,WAAW,CAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CA8BR,MAAM,CA3EV,AA6CuB,MA7CjB,CAwCD,WAAW,CAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CA+BR,MAAM,CA5EV,MAAM,CAwCD,WAAW,CAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAgCR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,GA7EV,AA8C2B,MA9CrB,CAwCD,WAAW,CAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA6BR,MAAM,CA3EV,AA6CuB,MA7CjB,CAwCD,WAAW,CAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA8BR,MAAM,CA5EV,MAAM,CAwCD,WAAW,CAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAgCR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,GA7EV,AA+CyB,MA/CnB,CAwCD,WAAW,CAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA4BR,MAAM,CA3EV,AA6CuB,MA7CjB,CAwCD,WAAW,CAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA6BR,MAAM,CA5EV,MAAM,CAwCD,WAAW,CAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CAgCR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,GA7EV,AA8C2B,MA9CrB,CAwCD,WAAW,CAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CA+BR,MAAM,CA5EV,MAAM,CAwCD,WAAW,CAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA+BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,GA7EV,AA8C2B,MA9CrB,CAwCD,WAAW,CAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA8BR,MAAM,CA5EV,MAAM,CAwCD,WAAW,CAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA+BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,GA7EV,AA8C2B,MA9CrB,CAwCD,WAAW,CAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA6BR,MAAM,CA5EV,MAAM,CAwCD,WAAW,CAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA+BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,GA7EV,AA+CyB,MA/CnB,CAwCD,WAAW,CAKV,KAAK,CAAA,AAAA,IAAC,CAAK,MAAM,AAAX,CA+BR,MAAM,CA5EV,MAAM,CAwCD,WAAW,CAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA8BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,GA7EV,AA+CyB,MA/CnB,CAwCD,WAAW,CAMV,KAAK,CAAA,AAAA,IAAC,CAAK,UAAU,AAAf,CA8BR,MAAM,CA5EV,MAAM,CAwCD,WAAW,CAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA8BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,GA7EV,AA+CyB,MA/CnB,CAwCD,WAAW,CAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA6BR,MAAM,CA5EV,MAAM,CAwCD,WAAW,CAOV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA8BR,IAAK,EAAA,AAAA,AAAS,KAAR,CAAM,EAAE,AAAR,EAAU,CAChB,YAAY,CCpKG,OAAO,CDqKtB,AA/EJ,AAqFyB,MArFnB,CAwCD,WAAW,CA6CV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAAc,CACvB,KAAK,CAAE,IAAK,CACZ,UAAU,CAAE,gBAAI,CAChB,aAAa,CAAE,GAAI,CAEnB,MAAM,CAAE,CAAE,CACV,UAAU,CAAE,GAAG,CAAC,KAAK,CAAC,OAAM,CAE5B,gBAAgB,CCnLA,OAAO,CDqLvB,KAAK,CC/KU,IAAO,CDgLtB,WAAW,CAAE,IAAK,CAClB,UAAU,CAAE,IAAK,CAEjB,MAAM,CAAE,OAAQ,CChJlB,kBAAkB,CDkJK,GAAG,CAAC,IAAG,CAAC,WAAW,CCjJ1C,UAAU,CDiJa,GAAG,CAAC,IAAG,CAAC,WAAW,CAiBxC,AAtHH,AAqFyB,MArFnB,CAwCD,WAAW,CA6CV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAmBR,MAAM,CAxGV,AAqFyB,MArFnB,CAwCD,WAAW,CA6CV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CAmBC,MAAM,AAAA,CACf,gBAAgB,CAAE,OAAM,CACxB,gBAAgB,CAAE,GAAI,CACtB,UAAU,CAAE,gBAAI,CAChB,aAAa,CAAE,gBAAI,CACnB,AA7GJ,AAqFyB,MArFnB,CAwCD,WAAW,CA6CV,KAAK,CAAA,AAAA,IAAC,CAAK,QAAQ,AAAb,CA2BP,OAAO,AAAA,CACR,gBAAgB,CAAE,CAAE,CACpB,UAAU,CAAE,GAAI,CAChB,aAAa,CAAE,gBAAI,CACnB,AApHJ,AA6HM,MA7HA,CAwCD,WAAW,CAqFV,cAAc,AAAA,CACjB,QAAQ,CAAE,QAAS,CACnB,KAAK,CAAE,IAAK,CAEZ,MAAM,CAAE,OAAQ,CAOhB,AAxIH,AA6HM,MA7HA,CAwCD,WAAW,CAqFV,cAAc,AAOhB,MAAM,AAAA,CACN,KAAK,CC3NU,OAAO,CD4NtB,eAAe,CAAE,SAAU,CAC3B,AAvIJ,AA6IK,MA7IC,CA6ID,YAAY,AAAA,CACf,OAAO,CAAE,KAAM,CACf,QAAQ,CAAE,QAAS,CAClB,GAAG,CAAE,GAAI,CACT,KAAK,CAAE,GAAI,CACX,SAAS,CAAE,GAAI,CACf,MAAM,CAAE,GAAI,CAEb,UAAU,CAAE,4CAAG,CAA0C,KAAK,CAAC,MAAM,CAAC,SAAS,CAC/E,eAAe,CAAE,GAAI,CAErB,KAAK,CAAE,IAAK,CACZ,aAAa,CAAE,GAAI,CACnB,WAAW,CAAE,GAAI,CACjB,WAAW,CAAE,IAAK,CAClB,cAAc,CAAE,GAAI,CAEpB,MAAM,CAAE,OAAQ,CAChB", diff --git a/public_html/src/static/iconv4.png b/public_html/src/static/iconv4.png new file mode 100644 index 0000000000000000000000000000000000000000..b461850927b09aa6b84903427107e563cdbe8804 GIT binary patch literal 11130 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 Date: Tue, 22 Nov 2016 11:06:03 +0100 Subject: [PATCH 02/11] Update + refactor storage en cours --- .gitignore | 2 + autoloader.php | 10 +- build/api/core/ModuleRequest.php | 10 +- build/api/module/download.php | 159 +++++++++- build/api/module/input.php | 440 +++++++++++++++++++++------ build/api/module/upload.php | 41 --- build/lightdb/storage/contact/index | 1 + build/lightdb/storage/phone_db/data | 1 + build/lightdb/storage/phone_db/index | 2 +- build/lightdb/storage/subject/index | 1 + build/lightdb/storage/uniqid | 2 +- doc/storage.md | 26 ++ public_html/test.php | 14 + public_html/view/data.php | 10 +- 14 files changed, 557 insertions(+), 162 deletions(-) create mode 100644 build/lightdb/storage/contact/index create mode 100644 build/lightdb/storage/subject/index create mode 100644 doc/storage.md create mode 100644 public_html/test.php diff --git a/.gitignore b/.gitignore index 75cdfeb..b547abd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .ftpconfig sftp-config.json phpunit/coverage/ +*/tmp/* +/build/lightdb/storage/*/data diff --git a/autoloader.php b/autoloader.php index 0f5fd0e..5150cf1 100644 --- a/autoloader.php +++ b/autoloader.php @@ -2,11 +2,11 @@ /* [1] On definit les chemins absolus si c'est pas deja fait =========================================================*/ - if( !defined('__ROOT__') ) define('__ROOT__', dirname(__FILE__) ); - if( !defined('__CONFIG__') ) define('__CONFIG__', __ROOT__.'/config' ); - if( !defined('__BUILD__') ) define('__BUILD__', __ROOT__.'/build' ); - if( !defined('__PUBLIC__') ) define('__PUBLIC__', __ROOT__.'/public_html' ); - if( !defined('__TMP__') ) define('__TMP__', __ROOT__.'/public_html/tmp' ); + if( !defined('__ROOT__') ) define('__ROOT__', dirname(__FILE__) ); + if( !defined('__CONFIG__') ) define('__CONFIG__', __ROOT__.'/config' ); + if( !defined('__BUILD__') ) define('__BUILD__', __ROOT__.'/build' ); + if( !defined('__PUBLIC__') ) define('__PUBLIC__', __ROOT__.'/public_html' ); + if( !defined('__TMP__') ) define('__TMP__', __ROOT__.'/public_html/tmp' ); /* ACTIVE LE DEBUGGAGE (WARNING + EXCEPTION) diff --git a/build/api/core/ModuleRequest.php b/build/api/core/ModuleRequest.php index 2d79f0b..0b53661 100644 --- a/build/api/core/ModuleRequest.php +++ b/build/api/core/ModuleRequest.php @@ -193,12 +193,12 @@ =========================================================*/ if( $fromAjax ){ - - $tmpfname = '/tmp/download_'.uniqid().'.php'; - $bodyfname = __BUILD__.'/tmp/content_'.uniqid().'.php'; + $tmpfname = 'download_'.uniqid().'.php'; + $link = '/tmp/'.$tmpfname; + $bodyfname = __TMP__.'/content_'.uniqid().'.php'; /* (1) On crée le fichier temporaire */ - $tmpfnameroot = __BUILD__.$tmpfname; + $tmpfnameroot = __TMP__.'/'.$tmpfname; $tmpfile = fopen($tmpfnameroot, 'w'); fwrite($tmpfile, 'append('link', $tmpfname); + $response->append('link', $link); return $response; diff --git a/build/api/module/download.php b/build/api/module/download.php index 6eac99b..7a3e5ca 100644 --- a/build/api/module/download.php +++ b/build/api/module/download.php @@ -142,15 +142,15 @@ extract($params); /* (0) Gestion du formattage des paramètres */ - $subjects = !is_array($subjects) ? [] : $subjects; - $phone = !is_bool($phone) ? false : $phone; - $facebook = !is_bool($facebook) ? false : $facebook; - $survey = !is_bool($survey) ? false : $survey; - $all = !is_bool($all) ? false : $all; + $subjects = !is_array($subjects) ? [] : $subjects; + $phone = !is_bool($phone) ? false : $phone; + $facebook = !is_bool($facebook) ? false : $facebook; + $survey = !is_bool($survey) ? false : $survey; + $all = !is_bool($all) ? false : $all; /* [0] On récupère le dictionnaire =========================================================*/ - $dict = file_get_contents(__BUILD__.'/src/dynamic/dictionary.json'); + $dict = file_get_contents(__BUILD__.'/lightdb/storage/dictionary.json'); /* (2) Si une erreur pour le fichier de conf */ if( $dict === false ) @@ -176,6 +176,143 @@ + /* [2] Export contacts/relations des sujets selectionnés + =========================================================*/ + $contacts = []; + $relations = []; + + + /* (1) Contacts exportés de `survey_db` + ---------------------------------------------------------*/ + $db = new lightdb('survey_db'); + + /* (1) On selectionne les clés des sujets à extraire */ + if( $all ) + $subjectIds = array_keys( $db->index() ); + + /* (2) Pour chaque sujet */ + foreach($subjectIds as $s=>$subjectId){ + + /* (3) On récupère les données du sujet */ + $subjectData = $db->fetch($subjectId); + + // si erreur -> suivant + if( $subjectData === false ) continue; + + /* (4) On complète les contacts */ + if( isset($subjectData['contacts']) ){ + + foreach($subjectData['contacts'] as $c=>$contact){ + + /* (5) Si le contact à déja été saisi de manière plus compléte -> suivant */ + // déja saisi + $alreadyStored = isset($contacts[ intval($contact['id']) ]); + // si mini saisie et qu'on a la fiche -> on doit compléter + $moreData = $alreadyStored && isset($contacts[ intval($contact['id']) ]['studies1']) && isset($contact['studies2']); + + // si on NE doit PAS saisir/compléter + if( $alreadyStored && !$moreData ) + continue; + + /* (6) On saisit/complète */ + $contacts[ intval($contact['id']) ] = $contact; + + } + + } + + } + + + /* (2) Contacts exportés de `phone_db` + ---------------------------------------------------------*/ + $db = new lightdb('phone_db'); + + /* (1) On selectionne les clés des sujets à extraire */ + if( $all ) + $subjectIds = array_keys( $db->index() ); + + /* (2) Pour chaque sujet */ + foreach($subjectIds as $s=>$subjectId){ + + /* (3) On récupère les données du sujet */ + $subjectData = $db->fetch($subjectId); + + // si erreur -> suivant + if( $subjectData === false ) continue; + + /* (4) On complète les contacts */ + if( isset($subjectData['contacts']) ){ + + foreach($subjectData['contacts'] as $c=>$contact){ + + /* (5) Si le contact à déja été saisi de manière plus compléte -> suivant */ + // déja saisi + $alreadyStored = isset($contacts[ intval($contact['id']) ]); + // si mini saisie et qu'on a la fiche -> on doit compléter + $moreData = $alreadyStored && isset($contacts[ intval($contact['id']) ]['studies1']) && isset($contact['studies2']); + + // si on NE doit PAS saisir/compléter + if( $alreadyStored && !$moreData ) + continue; + + /* (6) On saisit/complète */ + $contacts[ intval($contact['id']) ] = $contact; + + } + + } + + } + + + /* (3) Contacts exportés de `facebook_db` + ---------------------------------------------------------*/ + $db = new lightdb('facebook_db'); + + /* (1) On selectionne les clés des sujets à extraire */ + if( $all ) + $subjectIds = array_keys( $db->index() ); + + /* (2) Pour chaque sujet */ + foreach($subjectIds as $s=>$subjectId){ + + /* (3) On récupère les données du sujet */ + $subjectData = $db->fetch($subjectId); + + // si erreur -> suivant + if( $subjectData === false ) continue; + + /* (4) On complète les contacts */ + if( isset($subjectData['contacts']) ){ + + foreach($subjectData['contacts'] as $c=>$contact){ + + /* (5) Si le contact à déja été saisi de manière plus compléte -> suivant */ + // déja saisi + $alreadyStored = isset($contacts[ intval($contact['id']) ]); + // si mini saisie et qu'on a la fiche -> on doit compléter + $moreData = $alreadyStored && isset($contacts[ intval($contact['id']) ]['studies1']) && isset($contact['studies2']); + + // si on NE doit PAS saisir/compléter + if( $alreadyStored && !$moreData ) + continue; + + /* (6) On saisit/complète */ + $contacts[ intval($contact['id']) ] = $contact; + + } + + } + + } + + + + var_dump($contacts); + exit(); + + /* [2] On construit les fichiers de chaque sujet DE TELEPHONE =========================================================*/ if( $phone ){ // Si @phone vaut TRUE @@ -198,10 +335,12 @@ continue; /* (3) On complète les relations */ - $output['common_']['relations'] .= self::parseCSV($subjectData['relations'], [], strlen($output['common_']['relations']) == 0 ); // On affiche les colonnes pour la première fois uniquement + if( isset($subjectData['relations']) ) + $output['common_']['relations'] .= self::parseCSV($subjectData['relations'], [], strlen($output['common_']['relations']) == 0 ); // On affiche les colonnes pour la première fois uniquement /* (4) On ajoute les contacts à la liste */ - $output['common_']['contacts'] .= self::parseCSV($subjectData['contacts'], $dict['contacts'], strlen($output['common_']['contacts']) == 0 ); // On affiche les colonnes pour la première fois uniquement + if( isset($subjectData['contacts']) ) + $output['common_']['contacts'] .= self::parseCSV($subjectData['contacts'], $dict['contacts'], strlen($output['common_']['contacts']) == 0 ); // On affiche les colonnes pour la première fois uniquement } @@ -307,7 +446,7 @@ /* [6] Création de l'archive =========================================================*/ $zip = new \ZipArchive(); - $fname = '/tmp/'.time().'.zip'; + $fname = __TMP__.'/'.time().'.zip'; $zip->open($fname, \ZipArchive::CREATE); foreach($output as $folder=>$files){ @@ -565,7 +704,7 @@ /* [6] Création de l'archive =========================================================*/ $zip = new \ZipArchive(); - $fname = '/tmp/'.time().'.zip'; + $fname = __TMP__.'/'.time().'.zip'; $zip->open($fname, \ZipArchive::CREATE); foreach($output as $folder=>$files){ diff --git a/build/api/module/input.php b/build/api/module/input.php index a0be1ba..5114304 100644 --- a/build/api/module/input.php +++ b/build/api/module/input.php @@ -21,7 +21,7 @@ * @return subject_id Retourne l'id sujet de l'enquête * */ - public static function phone($params){ + public static function xphone($params){ extract($params); /* [0] On récupère l'id unique actuel @@ -45,40 +45,13 @@ - // /* [1] On récupère les logs s'ils existent - // =========================================================*/ - // // Contiendra le contenu du fichier + /* [1] On initialise nos storages + =========================================================*/ $file = [ "subject" => "", "contacts" => [], "relations" => [] ]; - // $file = [ 'logs' => [] ]; - // - // - // /* (1) On définit les 2 fichiers utiles */ - // $tmpfile = __BUILD__.'/tmp/phone_'.$subject['tmp_id'].'.json'; - // - // /* (2) Si on a déja crée le fichier avec le journal d'appel dedans, on le récupère */ - // $storage_already = is_string($subject['tmp_id']) && strlen($subject['tmp_id']) == 40 && file_exists($tmpfile); - // - // - // /* (3) Si on a déja crée le fichier, on essaie de récupérer son contenu */ - // if( $storage_already ){ - // $file = json_decode( file_get_contents($tmpfile), true ); - // - // // erreur - // if( $file == null ) - // return [ 'ModuleRequest' => ManagerError::ParsingFailed ]; - // - // // On incrémente tous les ids de l'offset - // foreach($file['logs'] as $i=>$log){ - // $file['logs'][$i]['id'] = $offset + $log['id']; - // - // if( $log['id'] > $maxId ) - // $maxId = (int) $log['id']; - // } - // } @@ -377,43 +350,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE FACEBOOK + /* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE TÉLÉPHONIQUE * * @subject Tableau contenant les données du sujet * @contacts Tableau contenant les données des contacts @@ -423,7 +360,7 @@ * @return subject_id Retourne l'id sujet de l'enquête * */ - public static function facebook($params){ + public static function xphone($params){ extract($params); /* [0] On récupère l'id unique actuel @@ -455,32 +392,347 @@ "contacts" => [], "relations" => [] ]; - // $file = [ 'logs' => [] ]; - // - // - // /* (1) On définit les 2 fichiers utiles */ - // $tmpfile = __BUILD__.'/tmp/phone_'.$subject['tmp_id'].'.json'; - // - // /* (2) Si on a déja crée le fichier avec le journal d'appel dedans, on le récupère */ - // $storage_already = is_string($subject['tmp_id']) && strlen($subject['tmp_id']) == 40 && file_exists($tmpfile); - // - // - // /* (3) Si on a déja crée le fichier, on essaie de récupérer son contenu */ - // if( $storage_already ){ - // $file = json_decode( file_get_contents($tmpfile), true ); - // - // // erreur - // if( $file == null ) - // return [ 'ModuleRequest' => ManagerError::ParsingFailed ]; - // - // // On incrémente tous les ids de l'offset - // foreach($file['logs'] as $i=>$log){ - // $file['logs'][$i]['id'] = $offset + $log['id']; - // - // if( $log['id'] > $maxId ) - // $maxId = (int) $log['id']; - // } - // } + + + + + + + /* [2] On enregistre les données du sujet + =========================================================*/ + /* (1) On crée le sujet */ + $file['subject'] = [ 'id' => $subject_id ]; + + /* (2) On récupère ses contacts facebook */ + // {2.1} On récupère les données du sujet // + $lfacebook = new lightdb('facebook_db'); + $lfacebook = $lfacebook->fetch($subject_id); + + // {2.2} si n'existe pas, on a un tableau vide // + if( $lfacebook === false ) + $lfacebook = [ 'contacts' => [] ]; + + if( !isset($lfacebook['contacts']) ) + $lfacebook['contacts'] = []; + + + /* (3) On récupère ses contacts lab-surveys */ + // {3.1} On récupère les données du sujet // + $lsurvey = new lightdb('survey_db'); + $lsurvey = $lsurvey->fetch($subject_id); + + // {3.2} si n'existe pas, on a un tableau vide // + if( $lsurvey === false ) + $lsurvey = [ 'contacts' => [] ]; + + if( !isset($lsurvey['contacts']) ) + $lsurvey['contacts'] = []; + + + /* (4) On récupère uniquement la liste des contacts avec le type de fiche qu'ils ont */ + // {4.1} Contiendra les contacts exportés // + $exported = [ + 'fiche' => [], + 'mini' => [] + ]; + + // {4.2} Contiendra les username des contacts exportés // + $exportedU = []; + + // {4.3} On récupère les contacts facebook // + foreach($lfacebook['contacts'] as $c=>$data){ + + if( isset($data['studies2']) ){ + + $exported['fiche'][] = $data['id']; + $exportedU[$data['id']] = $data['name']; + + }else + + // S'il n'est pas déja dans les fiches + if( !in_array($data['id'], $exported['fiche']) ){ + + $exported['mini'][] = $data['id']; + $exportedU[$data['id']] = $data['name']; + } + + } + + // {4.4} On récupère les contacts lab-surveys // + foreach($lsurvey['contacts'] as $c=>$data){ + + if( isset($data['studies2']) ) + + // On ajoute le contact s'il n'y est pas déja + if( !in_array($data['id'], $exported['fiche']) ){ + + $exported['fiche'][] = $data['id']; + $exportedU['fiche'][] = $data['username']; + + } + + else + + // On ajoute le contact s'il n'y est pas déja (ni dans mini ni dans fiche) + if( !in_array($data['id'], $exported['mini']) && !in_array($data['id'], $exported['fiche']) ){ + $exported['mini'][] = $data['id']; + $exportedU['mini'][] = $data['username']; + } + } + + + + + + + /* [3] On enregistre les contacts des FICHES + =========================================================*/ + $contactsDone = [ + "existing" => [], // Contacts exportés déja enregistrés + "username" => [] // Nouveaux contacts déja enregistrés + ]; + + foreach($fiches as $f=>$ficheData){ + /* (1) On récupère les données du contact associé */ + if( !isset($contacts[$ficheData['uid']]) ) + break; + + $contact = $contacts[ $ficheData['uid'] ]; + + /* (2) Si le contact a été importé d'une autre enquête */ + if( isset($contact['existing']) && is_numeric($contact['existing']) ){ + $newId = (int) $contact['existing']; + $uname = $exportedU[intval($contact['existing'])]; + // {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte // + if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) ) + break; + + /* (3) Si nouveau contact */ + }else{ + $newId = (int) ($offset+$ficheData['uid']); + $uname = $contact['username']; + // {3.1} S'il a déja été saisi, on quitte // + if( in_array($contact['username'], $contactsDone['username']) ) + break; + } + + /* (4) Update du @maxId */ + if( $newId > $maxId ) + $maxId = (int) $newId; + + // On remplit les données qui iront dans le fichier pour ce contact + $file['contacts'][] = [ + 'id' => $newId, + 'name' => $uname, + 'sexe' => $ficheData['sexe'], + 'age' => $ficheData['age'], + 'studies2' => $ficheData['studies'], + 'reltype' => ($ficheData['reltype']==10) ? $ficheData['reltypeSpecial'] : $ficheData['reltype'], // si 'autre' -> valeur, sinon le code + 'dist' => $ficheData['loc'], + 'job' => $ficheData['job'], + 'famsit' => $ficheData['famsit'], + 'city' => $ficheData['city'], + 'cp' => $ficheData['cp'], + 'quartier' => $ficheData['quartier'], + 'duration' => $ficheData['duration'], + 'context' => $ficheData['context'], + 'contextExtra' => $ficheData['contextSpecial'], + 'freq' => $ficheData['freq'], + 'connect' => $ficheData['connect'], + 'connectExtra' => $ficheData['connectSpecial'] + ]; + + // On enregistre la relation avec EGO + $file['relations'][] = [ + 'idA' => $subject_id, + 'idB' => $newId, + 'type' => ($f<20) ? 4 : 5 // 4->appels 5->sms + ]; + + + /* (x) Si le contact a été importé d'une autre enquête */ + if( isset($contact['existing']) && is_numeric($contact['existing']) ) + $contactsDone['existing'][] = $contact['existing']; + /* (x+1) Si nouveau contact */ + else + $contactsDone['username'][] = $contact['username']; + } + + + + /* [4] On enregistre les contacts des MINI + =========================================================*/ + foreach($mini as $miniData){ + /* (1) On récupère les données du contact associé */ + if( !isset($contacts[$miniData['uid']]) ) + break; + + $contact = $contacts[ $miniData['uid'] ]; + + /* (2) Si le contact a été importé d'une autre enquête */ + if( isset($contact['existing']) && is_numeric($contact['existing']) ){ + $newId = (int) $contact['existing']; + $uname = $exportedU[intval($contact['existing'])]; + // {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte // + if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) ) + break; + + /* (3) Si nouveau contact */ + }else{ + $newId = (int) ($offset+$miniData['uid']); + $uname = $contact['username']; + // {3.1} S'il a déja été saisi, on quitte // + if( in_array($contact['username'], $contactsDone['username']) ) + break; + } + + /* (4) Update du @maxId */ + if( $newId > $maxId ) + $maxId = (int) $newId; + + + // On remplit les données qui iront dans le fichier pour ce contact + $file['contacts'][] = [ + 'id' => $newId, + 'name' => $uname, + 'sexe' => $miniData['sexe'], + 'age' => $miniData['age'], + 'studies1' => $miniData['studies'], + 'reltype' => ($miniData['reltype']==10) ? $miniData['reltypeSpecial'] : $miniData['reltype'], // si 'autre' -> valeur, sinon le code + 'dist' => $miniData['loc'] + ]; + + // On enregistre la relation avec EGO + $file['relations'][] = [ + 'idA' => $subject_id, + 'idB' => $newId, + 'type' => 2 // relation cellulaire mineure + ]; + + + /* (x) Si le contact a été importé d'une autre enquête */ + if( isset($contact['existing']) && is_numeric($contact['existing']) ) + $contactsDone['existing'][] = $contact['existing']; + /* (x+1) Si nouveau contact */ + else + $contactsDone['username'][] = $contact['username']; + + } + + + + /* [5] On enregistre les relations de la MATRICE + =========================================================*/ + $clen = count($file['contacts']); + + /* (1) On récupére les ids des contacts */ + $cIdList = []; + foreach($file['contacts'] as $c=>$contact){ + $id = (int) $c; + + if( !in_array($id, $cIdList) ) + $cIdList[$id] = null; + } + + ksort($cIdList); + + + /* (2) On remplit les relations */ + foreach($cIdList as $y=>$yNull){ + foreach($cIdList as $x=>$xNull) + if( $x < $y ){ // On affiche que sous la diagonale + + $idY = $file['contacts'][$y]['id'] - $offset; + $idX = $file['contacts'][$x]['id'] - $offset; + + // Si relation alter-alter + $relationXY = isset($matrice[$y]) && in_array($x, $matrice[$y]) + || ( isset($matrice[$x]) && in_array($y, $matrice[$x]) ); + + array_push($file['relations'], [ + 'idA' => $offset + $x, + 'idB' => $offset + $y, + 'type' => $relationXY ? 1 : 0 // 0->aucune relation 1->relation alter alter + ]); + + } + } + + + /* [6] On enregistre tout dans 'lightdb' + =========================================================*/ + $db = new lightdb('phone_db'); + $db->insert( $subject_id, $file ); + $db->close(); + + /* [7] On met à jour le nouvel ID unique + =========================================================*/ + // $maxId += $offset; + rewind($funiq); // On revient au début du fichier + fwrite($funiq, $maxId); // On écrit la nouvelle valeur (forcément plus grande) + flock($funiq, LOCK_UN); // On débloque le verrou + fclose($funiq); + + // /* [8] On supprime le fichier temporaire si existe + // =========================================================*/ + // if( file_exists($tmpfile) ) + // unlink($tmpfile); + + + /* [9] Gestion du retour + =========================================================*/ + return [ + 'ModuleError' => ManagerError::Success, + 'subject_id' => $subject_id + ]; + } + + + + + /* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE FACEBOOK + * + * @subject Tableau contenant les données du sujet + * @contacts Tableau contenant les données des contacts + * @mini Tableau contenant les données des mini fiches relation + * @fiches Tableau contenant les données des fiches relation + * + * @return subject_id Retourne l'id sujet de l'enquête + * + */ + public static function xfacebook($params){ + extract($params); + + /* [0] On récupère l'id unique actuel + =========================================================*/ + $funiq = fopen( __BUILD__.'/lightdb/storage/uniqid', 'r+' ); + flock($funiq, LOCK_EX); // On verrouille le fichier + $uniqid = fgets( $funiq ); + + if( !is_numeric($uniqid) ) + $uniqid = 0; + + // Décalage à appliquer à tous les ids + $offset = intval($uniqid) + 1; + + // on enregistre l'id du sujet + $subject_id = $subject['subject_id']; + + // Contiendra la valeur de l'id maximum + $maxId = $offset; + + + + + // /* [1] On récupère les logs s'ils existent + // =========================================================*/ + // // Contiendra le contenu du fichier + $file = [ + "subject" => "", + "contacts" => [], + "relations" => [] + ]; + diff --git a/build/api/module/upload.php b/build/api/module/upload.php index b61c03b..709289b 100644 --- a/build/api/module/upload.php +++ b/build/api/module/upload.php @@ -70,8 +70,6 @@ } - - /* EFFECTUE UN UPLOAD D'UN fichier * * @prefix Préfixe (dossier parent) du fichier @@ -125,20 +123,6 @@ } - - - - - - - - - - - - - - /* IMPORT D'UNE SAUVEGARDE DE FORMULAIRE LOCAL * * @file Pointeur vers $_FILES[''] @@ -291,31 +275,6 @@ } - - - - - - - - - - - - - - - - - - - - - - - - - } diff --git a/build/lightdb/storage/contact/index b/build/lightdb/storage/contact/index new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/build/lightdb/storage/contact/index @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/build/lightdb/storage/phone_db/data b/build/lightdb/storage/phone_db/data index 674ddef..a1b22d3 100644 --- a/build/lightdb/storage/phone_db/data +++ b/build/lightdb/storage/phone_db/data @@ -1 +1,2 @@ {"subject":{"id":"3"},"contacts":[{"id":567,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":568,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":569,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":570,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":571,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":572,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":573,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":574,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":575,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":576,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":577,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":578,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":579,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":580,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":581,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":582,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":583,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":584,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":585,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":586,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]}],"relations":[{"idA":"3","idB":567,"type":4},{"idA":"3","idB":568,"type":4},{"idA":"3","idB":569,"type":4},{"idA":"3","idB":570,"type":4},{"idA":"3","idB":571,"type":4},{"idA":"3","idB":572,"type":4},{"idA":"3","idB":573,"type":4},{"idA":"3","idB":574,"type":4},{"idA":"3","idB":575,"type":4},{"idA":"3","idB":576,"type":4},{"idA":"3","idB":577,"type":4},{"idA":"3","idB":578,"type":4},{"idA":"3","idB":579,"type":4},{"idA":"3","idB":580,"type":4},{"idA":"3","idB":581,"type":4},{"idA":"3","idB":582,"type":4},{"idA":"3","idB":583,"type":4},{"idA":"3","idB":584,"type":4},{"idA":"3","idB":585,"type":4},{"idA":"3","idB":586,"type":4},{"idA":567,"idB":568,"type":1},{"idA":567,"idB":569,"type":0},{"idA":568,"idB":569,"type":0},{"idA":567,"idB":570,"type":0},{"idA":568,"idB":570,"type":0},{"idA":569,"idB":570,"type":0},{"idA":567,"idB":571,"type":1},{"idA":568,"idB":571,"type":0},{"idA":569,"idB":571,"type":0},{"idA":570,"idB":571,"type":0},{"idA":567,"idB":572,"type":0},{"idA":568,"idB":572,"type":0},{"idA":569,"idB":572,"type":0},{"idA":570,"idB":572,"type":0},{"idA":571,"idB":572,"type":0},{"idA":567,"idB":573,"type":0},{"idA":568,"idB":573,"type":0},{"idA":569,"idB":573,"type":0},{"idA":570,"idB":573,"type":0},{"idA":571,"idB":573,"type":0},{"idA":572,"idB":573,"type":0},{"idA":567,"idB":574,"type":1},{"idA":568,"idB":574,"type":0},{"idA":569,"idB":574,"type":0},{"idA":570,"idB":574,"type":0},{"idA":571,"idB":574,"type":0},{"idA":572,"idB":574,"type":0},{"idA":573,"idB":574,"type":0},{"idA":567,"idB":575,"type":0},{"idA":568,"idB":575,"type":0},{"idA":569,"idB":575,"type":0},{"idA":570,"idB":575,"type":0},{"idA":571,"idB":575,"type":0},{"idA":572,"idB":575,"type":0},{"idA":573,"idB":575,"type":0},{"idA":574,"idB":575,"type":0},{"idA":567,"idB":576,"type":0},{"idA":568,"idB":576,"type":0},{"idA":569,"idB":576,"type":0},{"idA":570,"idB":576,"type":0},{"idA":571,"idB":576,"type":0},{"idA":572,"idB":576,"type":0},{"idA":573,"idB":576,"type":0},{"idA":574,"idB":576,"type":0},{"idA":575,"idB":576,"type":0},{"idA":567,"idB":577,"type":0},{"idA":568,"idB":577,"type":0},{"idA":569,"idB":577,"type":0},{"idA":570,"idB":577,"type":0},{"idA":571,"idB":577,"type":0},{"idA":572,"idB":577,"type":0},{"idA":573,"idB":577,"type":0},{"idA":574,"idB":577,"type":0},{"idA":575,"idB":577,"type":0},{"idA":576,"idB":577,"type":0},{"idA":567,"idB":578,"type":0},{"idA":568,"idB":578,"type":0},{"idA":569,"idB":578,"type":0},{"idA":570,"idB":578,"type":0},{"idA":571,"idB":578,"type":0},{"idA":572,"idB":578,"type":0},{"idA":573,"idB":578,"type":0},{"idA":574,"idB":578,"type":0},{"idA":575,"idB":578,"type":0},{"idA":576,"idB":578,"type":0},{"idA":577,"idB":578,"type":0},{"idA":567,"idB":579,"type":0},{"idA":568,"idB":579,"type":0},{"idA":569,"idB":579,"type":0},{"idA":570,"idB":579,"type":0},{"idA":571,"idB":579,"type":0},{"idA":572,"idB":579,"type":0},{"idA":573,"idB":579,"type":0},{"idA":574,"idB":579,"type":0},{"idA":575,"idB":579,"type":0},{"idA":576,"idB":579,"type":0},{"idA":577,"idB":579,"type":0},{"idA":578,"idB":579,"type":0},{"idA":567,"idB":580,"type":0},{"idA":568,"idB":580,"type":0},{"idA":569,"idB":580,"type":0},{"idA":570,"idB":580,"type":0},{"idA":571,"idB":580,"type":0},{"idA":572,"idB":580,"type":0},{"idA":573,"idB":580,"type":0},{"idA":574,"idB":580,"type":0},{"idA":575,"idB":580,"type":0},{"idA":576,"idB":580,"type":0},{"idA":577,"idB":580,"type":0},{"idA":578,"idB":580,"type":0},{"idA":579,"idB":580,"type":0},{"idA":567,"idB":581,"type":0},{"idA":568,"idB":581,"type":0},{"idA":569,"idB":581,"type":0},{"idA":570,"idB":581,"type":0},{"idA":571,"idB":581,"type":0},{"idA":572,"idB":581,"type":0},{"idA":573,"idB":581,"type":0},{"idA":574,"idB":581,"type":0},{"idA":575,"idB":581,"type":0},{"idA":576,"idB":581,"type":0},{"idA":577,"idB":581,"type":0},{"idA":578,"idB":581,"type":0},{"idA":579,"idB":581,"type":0},{"idA":580,"idB":581,"type":0},{"idA":567,"idB":582,"type":0},{"idA":568,"idB":582,"type":0},{"idA":569,"idB":582,"type":0},{"idA":570,"idB":582,"type":0},{"idA":571,"idB":582,"type":0},{"idA":572,"idB":582,"type":0},{"idA":573,"idB":582,"type":0},{"idA":574,"idB":582,"type":0},{"idA":575,"idB":582,"type":0},{"idA":576,"idB":582,"type":0},{"idA":577,"idB":582,"type":0},{"idA":578,"idB":582,"type":0},{"idA":579,"idB":582,"type":0},{"idA":580,"idB":582,"type":0},{"idA":581,"idB":582,"type":0},{"idA":567,"idB":583,"type":1},{"idA":568,"idB":583,"type":0},{"idA":569,"idB":583,"type":0},{"idA":570,"idB":583,"type":0},{"idA":571,"idB":583,"type":0},{"idA":572,"idB":583,"type":0},{"idA":573,"idB":583,"type":0},{"idA":574,"idB":583,"type":0},{"idA":575,"idB":583,"type":0},{"idA":576,"idB":583,"type":0},{"idA":577,"idB":583,"type":0},{"idA":578,"idB":583,"type":0},{"idA":579,"idB":583,"type":0},{"idA":580,"idB":583,"type":0},{"idA":581,"idB":583,"type":0},{"idA":582,"idB":583,"type":0},{"idA":567,"idB":584,"type":0},{"idA":568,"idB":584,"type":0},{"idA":569,"idB":584,"type":0},{"idA":570,"idB":584,"type":0},{"idA":571,"idB":584,"type":0},{"idA":572,"idB":584,"type":0},{"idA":573,"idB":584,"type":0},{"idA":574,"idB":584,"type":0},{"idA":575,"idB":584,"type":0},{"idA":576,"idB":584,"type":0},{"idA":577,"idB":584,"type":0},{"idA":578,"idB":584,"type":0},{"idA":579,"idB":584,"type":0},{"idA":580,"idB":584,"type":0},{"idA":581,"idB":584,"type":0},{"idA":582,"idB":584,"type":0},{"idA":583,"idB":584,"type":0},{"idA":567,"idB":585,"type":1},{"idA":568,"idB":585,"type":0},{"idA":569,"idB":585,"type":0},{"idA":570,"idB":585,"type":0},{"idA":571,"idB":585,"type":0},{"idA":572,"idB":585,"type":0},{"idA":573,"idB":585,"type":0},{"idA":574,"idB":585,"type":0},{"idA":575,"idB":585,"type":0},{"idA":576,"idB":585,"type":0},{"idA":577,"idB":585,"type":0},{"idA":578,"idB":585,"type":0},{"idA":579,"idB":585,"type":0},{"idA":580,"idB":585,"type":0},{"idA":581,"idB":585,"type":0},{"idA":582,"idB":585,"type":0},{"idA":583,"idB":585,"type":0},{"idA":584,"idB":585,"type":0},{"idA":567,"idB":586,"type":0},{"idA":568,"idB":586,"type":0},{"idA":569,"idB":586,"type":0},{"idA":570,"idB":586,"type":0},{"idA":571,"idB":586,"type":0},{"idA":572,"idB":586,"type":0},{"idA":573,"idB":586,"type":0},{"idA":574,"idB":586,"type":0},{"idA":575,"idB":586,"type":0},{"idA":576,"idB":586,"type":0},{"idA":577,"idB":586,"type":0},{"idA":578,"idB":586,"type":0},{"idA":579,"idB":586,"type":0},{"idA":580,"idB":586,"type":0},{"idA":581,"idB":586,"type":0},{"idA":582,"idB":586,"type":0},{"idA":583,"idB":586,"type":0},{"idA":584,"idB":586,"type":0},{"idA":585,"idB":586,"type":0}]} +{"subject":{"id":"1"},"contacts":[],"relations":[]} diff --git a/build/lightdb/storage/phone_db/index b/build/lightdb/storage/phone_db/index index dede885..7f35ef3 100644 --- a/build/lightdb/storage/phone_db/index +++ b/build/lightdb/storage/phone_db/index @@ -1 +1 @@ -{"3":{"line":0,"hash":"e9aff02e50eb56a848c3580c8a119a5cbe0ec64b"}} \ No newline at end of file +{"3":{"line":0,"hash":"e9aff02e50eb56a848c3580c8a119a5cbe0ec64b"},"1":{"line":1,"hash":"99e868e35cdf0e36df88a54a7f03f6eff8966cf0"}} \ No newline at end of file diff --git a/build/lightdb/storage/subject/index b/build/lightdb/storage/subject/index new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/build/lightdb/storage/subject/index @@ -0,0 +1 @@ +[] diff --git a/build/lightdb/storage/uniqid b/build/lightdb/storage/uniqid index b9a6f7f..434727c 100644 --- a/build/lightdb/storage/uniqid +++ b/build/lightdb/storage/uniqid @@ -1 +1 @@ -3901 \ No newline at end of file +3903 \ No newline at end of file diff --git a/doc/storage.md b/doc/storage.md new file mode 100644 index 0000000..d97f138 --- /dev/null +++ b/doc/storage.md @@ -0,0 +1,26 @@ +### Notation + +> lightdb `a` take the value `c` at key `b` +> "aL:b -> c" + + + + +### I. New subject survey + +INPUT: id_subject, contacts[], relations[] +LIGHTDB: subjectL, contactL, +BEGIN +``` + + // initialisation des données du sujet (contact par name) + subjectL:id_subject -> [ ] + + // On enregistre chaque contact + foreach contacts[] as i=>contact + contactL:uniqid -> contact[i] + subjectL:id_subject[contact[i].name] = uniqid++; + + +``` +END diff --git a/public_html/test.php b/public_html/test.php new file mode 100644 index 0000000..2923101 --- /dev/null +++ b/public_html/test.php @@ -0,0 +1,14 @@ + diff --git a/public_html/view/data.php b/public_html/view/data.php index a3f42d9..c979f5f 100644 --- a/public_html/view/data.php +++ b/public_html/view/data.php @@ -24,8 +24,8 @@ $pers = $request->answer();

Exporter les données au format .csv

Choix des sujets -
-
+
+


@@ -34,9 +34,9 @@ $pers = $request->answer();


Types de données -

-

-

+

+

+



From 52740e1ae49c0a648ae0554d3b0b9a47edcb4c83 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Tue, 22 Nov 2016 14:30:34 +0100 Subject: [PATCH 03/11] =?UTF-8?q?input/phone=20en=20refactor=20avec=20nouv?= =?UTF-8?q?eau=20syst=C3=A8me=20de=20storage=20#lightdb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/api/module/input.php | 227 ++++++++++------------ build/lightdb/core/lightdb.php | 7 +- build/lightdb/storage/subject/description | 7 + doc/storage.md | 26 --- public_html/test.php | 3 +- 5 files changed, 113 insertions(+), 157 deletions(-) create mode 100644 build/lightdb/storage/subject/description delete mode 100644 doc/storage.md diff --git a/build/api/module/input.php b/build/api/module/input.php index 5114304..b8fe42a 100644 --- a/build/api/module/input.php +++ b/build/api/module/input.php @@ -21,10 +21,10 @@ * @return subject_id Retourne l'id sujet de l'enquête * */ - public static function xphone($params){ + public static function phone($params){ extract($params); - /* [0] On récupère l'id unique actuel + /* [1] On récupère l'id unique actuel =========================================================*/ $funiq = fopen( __BUILD__.'/lightdb/storage/uniqid', 'r+' ); flock($funiq, LOCK_EX); // On verrouille le fichier @@ -37,141 +37,90 @@ $offset = intval($uniqid) + 1; // on enregistre l'id du sujet - $subject_id = $subject['subject_id']; + $subject_id = intval($subject['subject_id']); // Contiendra la valeur de l'id maximum $maxId = $offset; - - - /* [1] On initialise nos storages + /* [2] On initialise nos variables (lightdb + autres) =========================================================*/ + /* (1) Fichiers de sortie */ $file = [ "subject" => "", - "contacts" => [], "relations" => [] ]; + /* (2) Bases de données */ + $subjectdb = new lightdb('subject'); + $contactdb = new lightdb('contact'); - - - - /* [2] On enregistre les données du sujet + /* [3] Données du sujet =========================================================*/ - /* (1) On crée le sujet */ - $file['subject'] = [ 'id' => $subject_id ]; + $subject_set = $subjectdb->fetch($subject_id); - /* (2) On récupère ses contacts facebook */ - // {2.1} On récupère les données du sujet // - $lfacebook = new lightdb('facebook_db'); - $lfacebook = $lfacebook->fetch($subject_id); + /* (1) Si le sujet n'existe pas -> ERROR */ + if( $subject_set === false ) + return ['ModuleError'=>ManagerError::UnreachableResource]; - // {2.2} si n'existe pas, on a un tableau vide // - if( $lfacebook === false ) - $lfacebook = [ 'contacts' => [] ]; + /* (2) Initialisation des contacts si vide */ + if( !isset($subject_set['contacts']) ) + $subject_set['contacts'] = []; - if( !isset($lfacebook['contacts']) ) - $lfacebook['contacts'] = []; + /* (3) Initialisation des relations si vide */ + if( !isset($subject_set['relations']) ) + $subject_set['relations'] = []; + + /* (4) On récupère les noms des contacts */ + $contactsById = []; // idContact -> nomContact + + foreach($subject_set['contacts'] as $contactId){ + $contactId = intval($contactId); + $contactData = $contactdb->fetch( $contactId ); + + $contactsById[$contactId] = $contactData['name']; + } - /* (3) On récupère ses contacts lab-surveys */ - // {3.1} On récupère les données du sujet // - $lsurvey = new lightdb('survey_db'); - $lsurvey = $lsurvey->fetch($subject_id); - - // {3.2} si n'existe pas, on a un tableau vide // - if( $lsurvey === false ) - $lsurvey = [ 'contacts' => [] ]; - - if( !isset($lsurvey['contacts']) ) - $lsurvey['contacts'] = []; - - - /* (4) On récupère uniquement la liste des contacts avec le type de fiche qu'ils ont */ - // {4.1} Contiendra les contacts exportés // - $exported = [ - 'fiche' => [], - 'mini' => [] - ]; - - // {4.2} Contiendra les username des contacts exportés // - $exportedU = []; - - // {4.3} On récupère les contacts facebook // - foreach($lfacebook['contacts'] as $c=>$data){ - - if( isset($data['studies2']) ){ - - $exported['fiche'][] = $data['id']; - $exportedU[$data['id']] = $data['name']; - - }else - - // S'il n'est pas déja dans les fiches - if( !in_array($data['id'], $exported['fiche']) ){ - - $exported['mini'][] = $data['id']; - $exportedU[$data['id']] = $data['name']; - } - - } - - // {4.4} On récupère les contacts lab-surveys // - foreach($lsurvey['contacts'] as $c=>$data){ - - if( isset($data['studies2']) ) - - // On ajoute le contact s'il n'y est pas déja - if( !in_array($data['id'], $exported['fiche']) ){ - - $exported['fiche'][] = $data['id']; - $exportedU['fiche'][] = $data['username']; - - } - - else - - // On ajoute le contact s'il n'y est pas déja (ni dans mini ni dans fiche) - if( !in_array($data['id'], $exported['mini']) && !in_array($data['id'], $exported['fiche']) ){ - $exported['mini'][] = $data['id']; - $exportedU['mini'][] = $data['username']; - } - } - - - - - - - /* [3] On enregistre les contacts des FICHES + /* [4] On saisit les fiches + les contacts des fiches =========================================================*/ $contactsDone = [ "existing" => [], // Contacts exportés déja enregistrés "username" => [] // Nouveaux contacts déja enregistrés ]; + $finalid = []; // id_contact -> id_final_contact (existant ou nouveau) foreach($fiches as $f=>$ficheData){ /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$ficheData['uid']]) ) + if( !isset($contacts[$ficheData['contact']]) ) break; - $contact = $contacts[ $ficheData['uid'] ]; + $contact = $contacts[ $ficheData['contact'] ]; /* (2) Si le contact a été importé d'une autre enquête */ if( isset($contact['existing']) && is_numeric($contact['existing']) ){ + $newId = (int) $contact['existing']; - $uname = $exportedU[intval($contact['existing'])]; - // {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte // - if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) ) + $uname = $contactsById[ intval($contact['existing']) ]; + + $existingData = $dbcontact->fetch( intval($contact['existing']) ); + + $finalid[ intval($contact['uid']) ] = $newId; + + // S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte + if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) break; /* (3) Si nouveau contact */ }else{ - $newId = (int) ($offset+$ficheData['uid']); + + $newId = (int) ($offset+$contact['uid']); $uname = $contact['username']; - // {3.1} S'il a déja été saisi, on quitte // + + $finalid[ intval($contact['uid']) ] = $newId; + + // S'il a déja été saisi, on quitte if( in_array($contact['username'], $contactsDone['username']) ) break; } @@ -180,8 +129,8 @@ if( $newId > $maxId ) $maxId = (int) $newId; - // On remplit les données qui iront dans le fichier pour ce contact - $file['contacts'][] = [ + /* (5) On enregistre les données du contact */ + $contactdb->insert($newId, [ 'id' => $newId, 'name' => $uname, 'sexe' => $ficheData['sexe'], @@ -200,10 +149,14 @@ 'freq' => $ficheData['freq'], 'connect' => $ficheData['connect'], 'connectExtra' => $ficheData['connectSpecial'] - ]; + ] ); + + // On ajoute le contact dans la liste des contacts du sujet (si pas déja) + if( !in_array($newId, $subject_set['contacts']) ) + $subject_set['contacts'][] = $newId; // On enregistre la relation avec EGO - $file['relations'][] = [ + $subject_set['relations'][] = [ 'idA' => $subject_id, 'idB' => $newId, 'type' => ($f<20) ? 4 : 5 // 4->appels 5->sms @@ -219,29 +172,38 @@ } - - /* [4] On enregistre les contacts des MINI + /* [5] On enregistre les mini + les contacts des mini =========================================================*/ foreach($mini as $miniData){ /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$miniData['uid']]) ) + if( !isset($contacts[$miniData['contact']]) ) break; - $contact = $contacts[ $miniData['uid'] ]; + $contact = $contacts[ $miniData['contact'] ]; /* (2) Si le contact a été importé d'une autre enquête */ if( isset($contact['existing']) && is_numeric($contact['existing']) ){ + $newId = (int) $contact['existing']; - $uname = $exportedU[intval($contact['existing'])]; - // {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte // - if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) ) + $uname = $contactsById[ intval($contact['existing']) ]; + + $existingData = $dbcontact->fetch( intval($contact['existing']) ); + + $finalid[ intval($contact['uid']) ] = $newId; + + // S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte + if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) break; /* (3) Si nouveau contact */ }else{ + $newId = (int) ($offset+$miniData['uid']); $uname = $contact['username']; - // {3.1} S'il a déja été saisi, on quitte // + + $finalid[ intval($contact['uid']) ] = $newId; + + // S'il a déja été saisi, on quitte if( in_array($contact['username'], $contactsDone['username']) ) break; } @@ -252,7 +214,7 @@ // On remplit les données qui iront dans le fichier pour ce contact - $file['contacts'][] = [ + $contactdb->insert($newId, [ 'id' => $newId, 'name' => $uname, 'sexe' => $miniData['sexe'], @@ -260,10 +222,14 @@ 'studies1' => $miniData['studies'], 'reltype' => ($miniData['reltype']==10) ? $miniData['reltypeSpecial'] : $miniData['reltype'], // si 'autre' -> valeur, sinon le code 'dist' => $miniData['loc'] - ]; + ] ); + + // On ajoute le contact dans la liste des contacts du sujet (si pas déja) + if( !in_array($newId, $subject_set['contacts']) ) + $subject_set['contacts'][] = $newId; // On enregistre la relation avec EGO - $file['relations'][] = [ + $subject_set['relations'][] = [ 'idA' => $subject_id, 'idB' => $newId, 'type' => 2 // relation cellulaire mineure @@ -280,15 +246,14 @@ } - - /* [5] On enregistre les relations de la MATRICE + /* [6] On enregistre les relations de la MATRICE =========================================================*/ - $clen = count($file['contacts']); + $clen = count($finalid); /* (1) On récupére les ids des contacts */ $cIdList = []; - foreach($file['contacts'] as $c=>$contact){ - $id = (int) $c; + foreach($finalid as $lastid=>$newid){ + $id = (int) $lastid; if( !in_array($id, $cIdList) ) $cIdList[$id] = null; @@ -296,31 +261,43 @@ ksort($cIdList); - /* (2) On remplit les relations */ foreach($cIdList as $y=>$yNull){ foreach($cIdList as $x=>$xNull) if( $x < $y ){ // On affiche que sous la diagonale - $idY = $file['contacts'][$y]['id'] - $offset; - $idX = $file['contacts'][$x]['id'] - $offset; + $idY = $finalid[$y]['id'] - $offset; + $idX = $finalid[$x]['id'] - $offset; // Si relation alter-alter $relationXY = isset($matrice[$y]) && in_array($x, $matrice[$y]) || ( isset($matrice[$x]) && in_array($y, $matrice[$x]) ); - array_push($file['relations'], [ + $subject_set['relations'][] = [ 'idA' => $offset + $x, 'idB' => $offset + $y, 'type' => $relationXY ? 1 : 0 // 0->aucune relation 1->relation alter alter - ]); + ]; } } - /* [6] On enregistre tout dans 'lightdb' + /* [6] On les données du sujet =========================================================*/ + $subjectdb->insert($subject_id, $subject_set); + + + /* [7] On enregistre les données des contacts + =========================================================*/ + /* (1) Pour chaque données de contact enregistré */ + foreach($file['contacts'] as $c=>$contactData){ + + + + } + + $db = new lightdb('phone_db'); $db->insert( $subject_id, $file ); $db->close(); diff --git a/build/lightdb/core/lightdb.php b/build/lightdb/core/lightdb.php index aa015d5..5b0af9a 100644 --- a/build/lightdb/core/lightdb.php +++ b/build/lightdb/core/lightdb.php @@ -77,17 +77,16 @@ public function close(){ $this->driver = null; } - /* RETOURNE LA LISTE DES INDEX - + /* RETOURNE UN INDEX * - * @i Index pour lequel on veut la ligne et le hash + * @i [OPT] Index pour lequel on veut la ligne et le hash * * @return Index Tableau associatif contenant le hash et la ligne * */ public function index($i=null){ - return is_numeric($i) ? $this->index : $this->index; + return is_numeric($i) ? $this->index[$i] : $this->index; } diff --git a/build/lightdb/storage/subject/description b/build/lightdb/storage/subject/description new file mode 100644 index 0000000..71144d4 --- /dev/null +++ b/build/lightdb/storage/subject/description @@ -0,0 +1,7 @@ +Contient les équivalences : + +id_subject => { + "subject": [données du sujet] + "contact": [liste des id des contacts], + "relations": [liste des relations] +} diff --git a/doc/storage.md b/doc/storage.md deleted file mode 100644 index d97f138..0000000 --- a/doc/storage.md +++ /dev/null @@ -1,26 +0,0 @@ -### Notation - -> lightdb `a` take the value `c` at key `b` -> "aL:b -> c" - - - - -### I. New subject survey - -INPUT: id_subject, contacts[], relations[] -LIGHTDB: subjectL, contactL, -BEGIN -``` - - // initialisation des données du sujet (contact par name) - subjectL:id_subject -> [ ] - - // On enregistre chaque contact - foreach contacts[] as i=>contact - contactL:uniqid -> contact[i] - subjectL:id_subject[contact[i].name] = uniqid++; - - -``` -END diff --git a/public_html/test.php b/public_html/test.php index 2923101..113290c 100644 --- a/public_html/test.php +++ b/public_html/test.php @@ -7,8 +7,7 @@ $sl = new lightdb('subject'); $cl = new lightdb('contact'); - echo "New subject survey\nT"; - + var_dump("New subject survey"); ?> From addd51a6279c9981f5a24ba5d8955d6dea1a800b Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Tue, 22 Nov 2016 14:34:05 +0100 Subject: [PATCH 04/11] =?UTF-8?q?input/phone=20termin=C3=A9=20->=20phase?= =?UTF-8?q?=20de=20test?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/api/module/input.php | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/build/api/module/input.php b/build/api/module/input.php index b8fe42a..2be0ad2 100644 --- a/build/api/module/input.php +++ b/build/api/module/input.php @@ -266,16 +266,13 @@ foreach($cIdList as $x=>$xNull) if( $x < $y ){ // On affiche que sous la diagonale - $idY = $finalid[$y]['id'] - $offset; - $idX = $finalid[$x]['id'] - $offset; - // Si relation alter-alter $relationXY = isset($matrice[$y]) && in_array($x, $matrice[$y]) || ( isset($matrice[$x]) && in_array($y, $matrice[$x]) ); $subject_set['relations'][] = [ - 'idA' => $offset + $x, - 'idB' => $offset + $y, + 'idA' => $finalid[$x], + 'idB' => $finalid[$y], 'type' => $relationXY ? 1 : 0 // 0->aucune relation 1->relation alter alter ]; @@ -290,30 +287,18 @@ /* [7] On enregistre les données des contacts =========================================================*/ - /* (1) Pour chaque données de contact enregistré */ - foreach($file['contacts'] as $c=>$contactData){ + /* (1) On enregistre chaque contact */ + foreach($file['contacts'] as $c=>$contactData) + $contactdb->insert($contactData['id'], $contactData); - - } - - - $db = new lightdb('phone_db'); - $db->insert( $subject_id, $file ); - $db->close(); - /* [7] On met à jour le nouvel ID unique =========================================================*/ - // $maxId += $offset; rewind($funiq); // On revient au début du fichier fwrite($funiq, $maxId); // On écrit la nouvelle valeur (forcément plus grande) flock($funiq, LOCK_UN); // On débloque le verrou fclose($funiq); - // /* [8] On supprime le fichier temporaire si existe - // =========================================================*/ - // if( file_exists($tmpfile) ) - // unlink($tmpfile); /* [9] Gestion du retour From 84faf9484e92949babd4ee261287760afd0fb2c0 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Tue, 22 Nov 2016 15:05:28 +0100 Subject: [PATCH 05/11] =?UTF-8?q?Enregistrement=20=20fonctionnel=20+=20r?= =?UTF-8?q?=C3=A9sultat=20=C3=A0=20v=C3=A9rifier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- build/api/module/input.php | 275 ++++++++++-------------- build/api/module/subject.php | 79 ++----- build/lightdb/storage/contact/data | 0 build/lightdb/storage/contact/index | 2 +- build/lightdb/storage/facebook_db/data | 2 - build/lightdb/storage/facebook_db/index | 2 +- build/lightdb/storage/phone_db/data | 2 - build/lightdb/storage/phone_db/index | 2 +- build/lightdb/storage/subject/data | 7 + build/lightdb/storage/subject/index | 2 +- build/lightdb/storage/survey_db/data | 8 - build/lightdb/storage/survey_db/index | 2 +- build/lightdb/storage/uniqid | 2 +- public_html/view/js/input.js | 2 + public_html/view/js/min/input.js | 2 +- 16 files changed, 155 insertions(+), 236 deletions(-) create mode 100644 build/lightdb/storage/contact/data create mode 100644 build/lightdb/storage/subject/data diff --git a/.gitignore b/.gitignore index b547abd..733bf17 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ sftp-config.json phpunit/coverage/ */tmp/* -/build/lightdb/storage/*/data +#/build/lightdb/storage/*/data diff --git a/build/api/module/input.php b/build/api/module/input.php index 2be0ad2..ad8bc5b 100644 --- a/build/api/module/input.php +++ b/build/api/module/input.php @@ -72,7 +72,11 @@ if( !isset($subject_set['relations']) ) $subject_set['relations'] = []; - /* (4) On récupère les noms des contacts */ + /* (4) Ajout de l'enquête */ + if( !in_array('phone', $subject_set['subject']['surveys']) ) + $subject_set['subject']['surveys'][] = 'phone'; + + /* (5) On récupère les noms des contacts */ $contactsById = []; // idContact -> nomContact foreach($subject_set['contacts'] as $contactId){ @@ -282,14 +286,14 @@ /* [6] On les données du sujet =========================================================*/ + $subjectdb->delete($subject_id); $subjectdb->insert($subject_id, $subject_set); - /* [7] On enregistre les données des contacts + /* [7] Ferme les bases de données =========================================================*/ - /* (1) On enregistre chaque contact */ - foreach($file['contacts'] as $c=>$contactData) - $contactdb->insert($contactData['id'], $contactData); + $subjectdb->close(); + $contactdb->close(); /* [7] On met à jour le nouvel ID unique @@ -300,7 +304,6 @@ fclose($funiq); - /* [9] Gestion du retour =========================================================*/ return [ @@ -662,10 +665,10 @@ * @return subject_id Retourne l'id sujet de l'enquête * */ - public static function xfacebook($params){ + public static function facebook($params){ extract($params); - /* [0] On récupère l'id unique actuel + /* [1] On récupère l'id unique actuel =========================================================*/ $funiq = fopen( __BUILD__.'/lightdb/storage/uniqid', 'r+' ); flock($funiq, LOCK_EX); // On verrouille le fichier @@ -678,154 +681,104 @@ $offset = intval($uniqid) + 1; // on enregistre l'id du sujet - $subject_id = $subject['subject_id']; + $subject_id = intval($subject['subject_id']); // Contiendra la valeur de l'id maximum $maxId = $offset; - - - // /* [1] On récupère les logs s'ils existent - // =========================================================*/ - // // Contiendra le contenu du fichier + /* [2] On initialise nos variables (lightdb + autres) + =========================================================*/ + /* (1) Fichiers de sortie */ $file = [ "subject" => "", - "contacts" => [], "relations" => [] ]; + /* (2) Bases de données */ + $subjectdb = new lightdb('subject'); + $contactdb = new lightdb('contact'); - - - - - /* [2] On enregistre les données du sujet + /* [3] Données du sujet =========================================================*/ - /* (1) On crée le sujet */ - $file['subject'] = [ 'id' => $subject_id ]; + $subject_set = $subjectdb->fetch($subject_id); - /* (2) On récupère ses contacts phone */ - // {2.1} On récupère les données du sujet // - $lphone = new lightdb('phone_db'); - $lphone = $lphone->fetch($subject_id); + /* (1) Si le sujet n'existe pas -> ERROR */ + if( $subject_set === false ) + return ['ModuleError'=>ManagerError::UnreachableResource]; - // {2.2} si n'existe pas, on a un tableau vide // - if( $lphone === false ) - $lphone = [ 'contacts' => [] ]; + /* (2) Initialisation des contacts si vide */ + if( !isset($subject_set['contacts']) ) + $subject_set['contacts'] = []; - if( !isset($lphone['contacts']) ) - $lphone['contacts'] = []; + /* (3) Initialisation des relations si vide */ + if( !isset($subject_set['relations']) ) + $subject_set['relations'] = []; + + /* (4) Ajout de l'enquête */ + if( !in_array('facebook', $subject_set['surveys']) ) + $subject_set['surveys'][] = 'facebook'; + + /* (5) On récupère les noms des contacts */ + $contactsById = []; // idContact -> nomContact + + foreach($subject_set['contacts'] as $contactId){ + $contactId = intval($contactId); + $contactData = $contactdb->fetch( $contactId ); + + $contactsById[$contactId] = $contactData['name']; + } - /* (3) On récupère ses contacts lab-surveys */ - // {3.1} On récupère les données du sujet // - $lsurvey = new lightdb('survey_db'); - $lsurvey = $lsurvey->fetch($subject_id); - - // {3.2} si n'existe pas, on a un tableau vide // - if( $lsurvey === false ) - $lsurvey = [ 'contacts' => [] ]; - - if( !isset($lsurvey['contacts']) ) - $lsurvey['contacts'] = []; - - - /* (4) On récupère uniquement la liste des contacts avec le type de fiche qu'ils ont */ - // {4.1} Contiendra les contacts exportés // - $exported = [ - 'fiche' => [], - 'mini' => [] - ]; - - // {4.2} Contiendra les username des contacts exportés // - $exportedU = []; - - // {4.3} On récupère les contacts facebook // - foreach($lphone['contacts'] as $c=>$data){ - - if( isset($data['studies2']) ){ - - $exported['fiche'][] = $data['id']; - $exportedU[$data['id']] = $data['name']; - - }else - - // S'il n'est pas déja dans les fiches - if( !in_array($data['id'], $exported['fiche']) ){ - - $exported['mini'][] = $data['id']; - $exportedU[$data['id']] = $data['name']; - } - - } - - // {4.4} On récupère les contacts lab-surveys // - foreach($lsurvey['contacts'] as $c=>$data){ - - if( isset($data['studies2']) ) - - // On ajoute le contact s'il n'y est pas déja - if( !in_array($data['id'], $exported['fiche']) ){ - - $exported['fiche'][] = $data['id']; - $exportedU['fiche'][] = $data['username']; - - } - - else - - // On ajoute le contact s'il n'y est pas déja (ni dans mini ni dans fiche) - if( !in_array($data['id'], $exported['mini']) && !in_array($data['id'], $exported['fiche']) ){ - $exported['mini'][] = $data['id']; - $exportedU['mini'][] = $data['username']; - } - } - - - - - - - /* [3] On enregistre les contacts des FICHES + /* [4] On saisit les fiches + les contacts des fiches =========================================================*/ $contactsDone = [ "existing" => [], // Contacts exportés déja enregistrés "username" => [] // Nouveaux contacts déja enregistrés ]; - + $finalid = []; // id_contact -> id_final_contact (existant ou nouveau) foreach($fiches as $f=>$ficheData){ /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$ficheData['uid']]) ) - continue; + if( !isset($contacts[$ficheData['contact']]) ) + break; - $contact = $contacts[ $ficheData['uid'] ]; + $contact = $contacts[ $ficheData['contact'] ]; /* (2) Si le contact a été importé d'une autre enquête */ if( isset($contact['existing']) && is_numeric($contact['existing']) ){ + $newId = (int) $contact['existing']; - $uname = $exportedU[intval($contact['existing'])]; - // {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte // - if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) ) - continue; + $uname = $contactsById[ intval($contact['existing']) ]; + + $existingData = $dbcontact->fetch( intval($contact['existing']) ); + + $finalid[ intval($contact['uid']) ] = $newId; + + // S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte + if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) + break; /* (3) Si nouveau contact */ }else{ - $newId = (int) ($offset+$ficheData['uid']); + + $newId = (int) ($offset+$contact['uid']); $uname = $contact['username']; - // {3.1} S'il a déja été saisi, on quitte // + + $finalid[ intval($contact['uid']) ] = $newId; + + // S'il a déja été saisi, on quitte if( in_array($contact['username'], $contactsDone['username']) ) - continue; + break; } /* (4) Update du @maxId */ if( $newId > $maxId ) $maxId = (int) $newId; - // On remplit les données qui iront dans le fichier pour ce contact - $file['contacts'][] = [ + /* (5) On enregistre les données du contact */ + $contactdb->insert($newId, [ 'id' => $newId, 'name' => $uname, 'sexe' => $ficheData['sexe'], @@ -844,13 +797,17 @@ 'freq' => $ficheData['freq'], 'connect' => $ficheData['connect'], 'connectExtra' => $ficheData['connectSpecial'] - ]; + ] ); + + // On ajoute le contact dans la liste des contacts du sujet (si pas déja) + if( !in_array($newId, $subject_set['contacts']) ) + $subject_set['contacts'][] = $newId; // On enregistre la relation avec EGO - $file['relations'][] = [ + $subject_set['relations'][] = [ 'idA' => $subject_id, 'idB' => $newId, - 'type' => ($f<20) ? 4 : 5 // 4->appels 5->sms + 'type' => ($f<20) ? 6 : 7 // 6->historique 7->messenger ]; @@ -863,32 +820,40 @@ } - /* [4] On enregistre les contacts des MINI + /* [5] On enregistre les mini + les contacts des mini =========================================================*/ foreach($mini as $miniData){ /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$miniData['uid']]) ) - continue; + if( !isset($contacts[$miniData['contact']]) ) + break; - $contact = $contacts[ $miniData['uid'] ]; + $contact = $contacts[ $miniData['contact'] ]; /* (2) Si le contact a été importé d'une autre enquête */ if( isset($contact['existing']) && is_numeric($contact['existing']) ){ - $newId = (int) $contact['existing']; - $uname = $exportedU[intval($contact['existing'])]; - // {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte // - if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) ) - continue; + $newId = (int) $contact['existing']; + $uname = $contactsById[ intval($contact['existing']) ]; + + $existingData = $dbcontact->fetch( intval($contact['existing']) ); + + $finalid[ intval($contact['uid']) ] = $newId; + + // S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte + if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) + break; /* (3) Si nouveau contact */ }else{ + $newId = (int) ($offset+$miniData['uid']); $uname = $contact['username']; - // {3.1} S'il a déja été saisi, on quitte // - if( in_array($contact['username'], $contactsDone['username']) ) - continue; + $finalid[ intval($contact['uid']) ] = $newId; + + // S'il a déja été saisi, on quitte + if( in_array($contact['username'], $contactsDone['username']) ) + break; } /* (4) Update du @maxId */ @@ -897,7 +862,7 @@ // On remplit les données qui iront dans le fichier pour ce contact - $file['contacts'][] = [ + $contactdb->insert($newId, [ 'id' => $newId, 'name' => $uname, 'sexe' => $miniData['sexe'], @@ -905,13 +870,17 @@ 'studies1' => $miniData['studies'], 'reltype' => ($miniData['reltype']==10) ? $miniData['reltypeSpecial'] : $miniData['reltype'], // si 'autre' -> valeur, sinon le code 'dist' => $miniData['loc'] - ]; + ] ); + + // On ajoute le contact dans la liste des contacts du sujet (si pas déja) + if( !in_array($newId, $subject_set['contacts']) ) + $subject_set['contacts'][] = $newId; // On enregistre la relation avec EGO - $file['relations'][] = [ + $subject_set['relations'][] = [ 'idA' => $subject_id, 'idB' => $newId, - 'type' => 2 // relation cellulaire mineure + 'type' => 3 // relation facebook mineure ]; @@ -925,16 +894,14 @@ } - - /* [5] On enregistre les relations de la MATRICE + /* [6] On enregistre les relations de la MATRICE =========================================================*/ - $clen = count($file['contacts']); - // var_dump($file['contacts']); + $clen = count($finalid); /* (1) On récupére les ids des contacts */ $cIdList = []; - foreach($file['contacts'] as $c=>$contact){ - $id = (int) $c; + foreach($finalid as $lastid=>$newid){ + $id = (int) $lastid; if( !in_array($id, $cIdList) ) $cIdList[$id] = null; @@ -942,22 +909,18 @@ ksort($cIdList); - /* (2) On remplit les relations */ foreach($cIdList as $y=>$yNull){ foreach($cIdList as $x=>$xNull) if( $x < $y ){ // On affiche que sous la diagonale - $idY = $file['contacts'][$y]['id'] - $offset; - $idX = $file['contacts'][$x]['id'] - $offset; - // Si relation alter-alter $relationXY = isset($matrice[$y]) && in_array($x, $matrice[$y]) || ( isset($matrice[$x]) && in_array($y, $matrice[$x]) ); - $file['relations'][] = [ - 'idA' => $offset + $x, - 'idB' => $offset + $y, + $subject_set['relations'][] = [ + 'idA' => $finalid[$x], + 'idB' => $finalid[$y], 'type' => $relationXY ? 1 : 0 // 0->aucune relation 1->relation alter alter ]; @@ -965,25 +928,25 @@ } - /* [6] On enregistre tout dans 'lightdb' + /* [6] On les données du sujet =========================================================*/ - $db = new lightdb('facebook_db'); - $db->insert( $subject_id, $file ); - $db->close(); + $subjectdb->insert($subject_id, $subject_set); + + + /* [7] On enregistre les données des contacts + =========================================================*/ + /* (1) On enregistre chaque contact */ + foreach($file['contacts'] as $c=>$contactData) + $contactdb->insert($contactData['id'], $contactData); + /* [7] On met à jour le nouvel ID unique =========================================================*/ - // $maxId += $offset; rewind($funiq); // On revient au début du fichier fwrite($funiq, $maxId); // On écrit la nouvelle valeur (forcément plus grande) flock($funiq, LOCK_UN); // On débloque le verrou fclose($funiq); - // /* [8] On supprime le fichier temporaire si existe - // =========================================================*/ - // if( file_exists($tmpfile) ) - // unlink($tmpfile); - /* [9] Gestion du retour =========================================================*/ diff --git a/build/api/module/subject.php b/build/api/module/subject.php index a1b6b26..a79fc0b 100644 --- a/build/api/module/subject.php +++ b/build/api/module/subject.php @@ -38,7 +38,7 @@ /* [1] On récupére la liste des sujets =========================================================*/ /* (1) On initialise et ouvre la bd */ - $db = new lightdb('survey_db'); + $db = new lightdb('subject'); $ids = array_keys( $db->index() ); /* (2) On récupère tous les sujets */ @@ -47,37 +47,18 @@ $sub['creation'] = date('d/m/Y H:i:s', $sub['creation']); $subjects[$id] = $sub; - } - $db->close(); - - /* [2] On récupére la liste des sujets pour PHONE - =========================================================*/ - /* (1) On initialise et ouvre la bd */ - $db = new lightdb('phone_db'); - $ids = array_keys( $db->index() ); - $db->close(); - - /* (2) Si un des sujets de 'survey' est dans PHONE, on ajoute la mention */ - foreach($subjects as $id=>$data) - if( in_array($id, $ids) ) // Si dans phone + /* (3) Si enquête PHONE passée */ + if( isset($sub['surveys']) && is_array($sub['surveys']) && in_array('phone', $sub['surveys']) ) $subjects[$id]['phone'] = true; - - - - /* [3] On récupére la liste des sujets pour FACEBOOK - =========================================================*/ - /* (1) On initialise et ouvre la bd */ - $db = new lightdb('facebook_db'); - $ids = array_keys( $db->index() ); - $db->close(); - - /* (2) Si un des sujets de 'survey' est dans FACBEOOK, on ajoute la mention */ - foreach($subjects as $id=>$data) - if( in_array($id, $ids) ) // Si dans facebook + /* (4) Si enquête FACEBOOK passée */ + if( isset($sub['surveys']) && is_array($sub['surveys']) && in_array('facebook', $sub['surveys']) ) $subjects[$id]['facebook'] = true; + } + $db->close(); + /* [4] Gestion du retour =========================================================*/ @@ -189,7 +170,8 @@ $data = [ 'subject' => [ 'id' => $newId, 'name' => $name, - 'creation' => time() + 'creation' => time(), + 'surveys' => [] ]]; /* [2] On crée le sujet dans SURVEYS @@ -256,7 +238,7 @@ /* [1] On récupére la liste des sujets =========================================================*/ /* (1) On initialise et ouvre la bd */ - $db = new lightdb('survey_db'); + $db = new lightdb('subject'); $ids = array_keys( $db->index() ); /* (2) On récupère tous les sujets */ @@ -266,41 +248,18 @@ $sub['creation'] = date('d/m/Y H:i:s', $sub['creation']); $subjects[$id] = $sub; + + /* (3) Si enquête PHONE passée */ + if( isset($sub['surveys']) && is_array($sub['surveys']) && in_array('phone', $sub['surveys']) ) + $subjects[$id]['phone'] = true; + + /* (4) Si enquête FACEBOOK passée */ + if( isset($sub['surveys']) && is_array($sub['surveys']) && in_array('facebook', $sub['surveys']) ) + $subjects[$id]['facebook'] = true; } } $db->close(); - - /* [2] On récupére la liste des sujets pour PHONE - =========================================================*/ - /* (1) On initialise et ouvre la bd */ - $db = new lightdb('phone_db'); - $ids = array_keys( $db->index() ); - $db->close(); - - /* (2) Si un des sujets de 'survey' est dans PHONE, on ajoute la mention */ - foreach($subjects as $id=>$data) - if( in_array($id, $ids) ) // Si dans phone - $subjects[$id]['phone'] = true; - - - - - /* [3] On récupére la liste des sujets pour FACEBOOK - =========================================================*/ - /* (1) On initialise et ouvre la bd */ - $db = new lightdb('facebook_db'); - $ids = array_keys( $db->index() ); - $db->close(); - - /* (2) Si un des sujets de 'survey' est dans FACBEOOK, on ajoute la mention */ - foreach($subjects as $id=>$data) - if( in_array($id, $ids) ) // Si dans facebook - $subjects[$id]['facebook'] = true; - - - - /* [4] Retour des données =========================================================*/ return [ diff --git a/build/lightdb/storage/contact/data b/build/lightdb/storage/contact/data new file mode 100644 index 0000000..e69de29 diff --git a/build/lightdb/storage/contact/index b/build/lightdb/storage/contact/index index 0637a08..fe51488 100644 --- a/build/lightdb/storage/contact/index +++ b/build/lightdb/storage/contact/index @@ -1 +1 @@ -[] \ No newline at end of file +[] diff --git a/build/lightdb/storage/facebook_db/data b/build/lightdb/storage/facebook_db/data index 1920a69..e69de29 100644 --- a/build/lightdb/storage/facebook_db/data +++ b/build/lightdb/storage/facebook_db/data @@ -1,2 +0,0 @@ -{"subject":{"id":"1"},"contacts":[{"id":1,"name":"Ismael","sexe":"0","age":"0","studies2":"0","reltype":"0","dist":"0","job":"10","famsit":"0","city":"10","cp":"10000","quartier":"0","duration":["0","10"],"context":"0","contextExtra":["","",""],"freq":["2","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":2,"name":"Rosa","sexe":"1","age":"1","studies2":"01","reltype":"1","dist":"1","job":"21","famsit":"0","city":"11","cp":"10001","quartier":"1","duration":["1","11"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":3,"name":"Judith","sexe":"2","age":"2","studies2":"02","reltype":"2","dist":"2","job":"22","famsit":"0","city":"12","cp":"10002","quartier":"2","duration":["2","12"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":4,"name":"Alex","sexe":"0","age":"3","studies2":"03","reltype":"3","dist":"3","job":"23","famsit":"0","city":"13","cp":"10003","quartier":"3","duration":["3","13"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":5,"name":"Adri","sexe":"1","age":"4","studies2":"04","reltype":"4","dist":"0","job":"31","famsit":"0","city":"14","cp":"10004","quartier":"4","duration":["4","14"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":6,"name":"Fred","sexe":"2","age":"5","studies2":"05","reltype":"5","dist":"1","job":"32","famsit":"0","city":"15","cp":"10005","quartier":"5","duration":["5","15"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":7,"name":"Shanone","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":8,"name":"Manon","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":9,"name":"Java","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":10,"name":"Thalees","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":11,"name":"Cr\u00e8me","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":12,"name":"Margaux","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":13,"name":"Anthony","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":14,"name":"Lino","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]}],"relations":[{"idA":"1","idB":1,"type":6},{"idA":"1","idB":2,"type":6},{"idA":"1","idB":3,"type":6},{"idA":"1","idB":4,"type":6},{"idA":"1","idB":5,"type":6},{"idA":"1","idB":6,"type":6},{"idA":"1","idB":7,"type":6},{"idA":"1","idB":8,"type":6},{"idA":"1","idB":9,"type":6},{"idA":"1","idB":10,"type":6},{"idA":"1","idB":11,"type":7},{"idA":"1","idB":12,"type":7},{"idA":"1","idB":13,"type":7},{"idA":"1","idB":14,"type":7},{"idA":2,"idB":1,"type":0},{"idA":3,"idB":1,"type":0},{"idA":3,"idB":2,"type":0},{"idA":4,"idB":1,"type":0},{"idA":4,"idB":2,"type":0},{"idA":4,"idB":3,"type":0},{"idA":5,"idB":1,"type":0},{"idA":5,"idB":2,"type":0},{"idA":5,"idB":3,"type":0},{"idA":5,"idB":4,"type":0},{"idA":6,"idB":1,"type":0},{"idA":6,"idB":2,"type":0},{"idA":6,"idB":3,"type":0},{"idA":6,"idB":4,"type":0},{"idA":6,"idB":5,"type":0},{"idA":7,"idB":1,"type":0},{"idA":7,"idB":2,"type":0},{"idA":7,"idB":3,"type":0},{"idA":7,"idB":4,"type":0},{"idA":7,"idB":5,"type":0},{"idA":7,"idB":6,"type":0},{"idA":8,"idB":1,"type":0},{"idA":8,"idB":2,"type":0},{"idA":8,"idB":3,"type":0},{"idA":8,"idB":4,"type":0},{"idA":8,"idB":5,"type":0},{"idA":8,"idB":6,"type":0},{"idA":8,"idB":7,"type":0},{"idA":9,"idB":1,"type":0},{"idA":9,"idB":2,"type":0},{"idA":9,"idB":3,"type":0},{"idA":9,"idB":4,"type":0},{"idA":9,"idB":5,"type":0},{"idA":9,"idB":6,"type":0},{"idA":9,"idB":7,"type":0},{"idA":9,"idB":8,"type":0},{"idA":10,"idB":1,"type":0},{"idA":10,"idB":2,"type":0},{"idA":10,"idB":3,"type":0},{"idA":10,"idB":4,"type":0},{"idA":10,"idB":5,"type":0},{"idA":10,"idB":6,"type":0},{"idA":10,"idB":7,"type":0},{"idA":10,"idB":8,"type":0},{"idA":10,"idB":9,"type":0},{"idA":11,"idB":1,"type":0},{"idA":11,"idB":2,"type":0},{"idA":11,"idB":3,"type":0},{"idA":11,"idB":4,"type":0},{"idA":11,"idB":5,"type":0},{"idA":11,"idB":6,"type":0},{"idA":11,"idB":7,"type":0},{"idA":11,"idB":8,"type":0},{"idA":11,"idB":9,"type":0},{"idA":11,"idB":10,"type":0},{"idA":12,"idB":1,"type":0},{"idA":12,"idB":2,"type":0},{"idA":12,"idB":3,"type":0},{"idA":12,"idB":4,"type":0},{"idA":12,"idB":5,"type":0},{"idA":12,"idB":6,"type":0},{"idA":12,"idB":7,"type":0},{"idA":12,"idB":8,"type":0},{"idA":12,"idB":9,"type":0},{"idA":12,"idB":10,"type":0},{"idA":12,"idB":11,"type":0},{"idA":13,"idB":1,"type":0},{"idA":13,"idB":2,"type":0},{"idA":13,"idB":3,"type":0},{"idA":13,"idB":4,"type":0},{"idA":13,"idB":5,"type":0},{"idA":13,"idB":6,"type":0},{"idA":13,"idB":7,"type":0},{"idA":13,"idB":8,"type":0},{"idA":13,"idB":9,"type":0},{"idA":13,"idB":10,"type":0},{"idA":13,"idB":11,"type":0},{"idA":13,"idB":12,"type":0},{"idA":14,"idB":1,"type":0},{"idA":14,"idB":2,"type":0},{"idA":14,"idB":3,"type":0},{"idA":14,"idB":4,"type":0},{"idA":14,"idB":5,"type":0},{"idA":14,"idB":6,"type":0},{"idA":14,"idB":7,"type":0},{"idA":14,"idB":8,"type":0},{"idA":14,"idB":9,"type":0},{"idA":14,"idB":10,"type":0},{"idA":14,"idB":11,"type":0},{"idA":14,"idB":12,"type":0},{"idA":14,"idB":13,"type":0}]} -{"subject":{"id":"3"},"contacts":[{"id":1032,"name":"","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1033,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1034,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1035,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1036,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1037,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1038,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1039,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1040,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1041,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1042,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1043,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1044,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1045,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1046,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1047,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1048,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1049,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1050,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":1051,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]}],"relations":[{"idA":"3","idB":1032,"type":4},{"idA":"3","idB":1033,"type":4},{"idA":"3","idB":1034,"type":4},{"idA":"3","idB":1035,"type":4},{"idA":"3","idB":1036,"type":4},{"idA":"3","idB":1037,"type":4},{"idA":"3","idB":1038,"type":4},{"idA":"3","idB":1039,"type":4},{"idA":"3","idB":1040,"type":4},{"idA":"3","idB":1041,"type":4},{"idA":"3","idB":1042,"type":4},{"idA":"3","idB":1043,"type":4},{"idA":"3","idB":1044,"type":4},{"idA":"3","idB":1045,"type":4},{"idA":"3","idB":1046,"type":4},{"idA":"3","idB":1047,"type":4},{"idA":"3","idB":1048,"type":4},{"idA":"3","idB":1049,"type":4},{"idA":"3","idB":1050,"type":4},{"idA":"3","idB":1051,"type":4},{"idA":1032,"idB":1033,"type":1},{"idA":1032,"idB":1034,"type":0},{"idA":1033,"idB":1034,"type":0},{"idA":1032,"idB":1035,"type":0},{"idA":1033,"idB":1035,"type":0},{"idA":1034,"idB":1035,"type":0},{"idA":1032,"idB":1036,"type":1},{"idA":1033,"idB":1036,"type":0},{"idA":1034,"idB":1036,"type":0},{"idA":1035,"idB":1036,"type":0},{"idA":1032,"idB":1037,"type":0},{"idA":1033,"idB":1037,"type":0},{"idA":1034,"idB":1037,"type":0},{"idA":1035,"idB":1037,"type":0},{"idA":1036,"idB":1037,"type":0},{"idA":1032,"idB":1038,"type":0},{"idA":1033,"idB":1038,"type":0},{"idA":1034,"idB":1038,"type":0},{"idA":1035,"idB":1038,"type":0},{"idA":1036,"idB":1038,"type":0},{"idA":1037,"idB":1038,"type":0},{"idA":1032,"idB":1039,"type":1},{"idA":1033,"idB":1039,"type":0},{"idA":1034,"idB":1039,"type":0},{"idA":1035,"idB":1039,"type":0},{"idA":1036,"idB":1039,"type":0},{"idA":1037,"idB":1039,"type":0},{"idA":1038,"idB":1039,"type":0},{"idA":1032,"idB":1040,"type":0},{"idA":1033,"idB":1040,"type":0},{"idA":1034,"idB":1040,"type":0},{"idA":1035,"idB":1040,"type":0},{"idA":1036,"idB":1040,"type":0},{"idA":1037,"idB":1040,"type":0},{"idA":1038,"idB":1040,"type":0},{"idA":1039,"idB":1040,"type":0},{"idA":1032,"idB":1041,"type":0},{"idA":1033,"idB":1041,"type":0},{"idA":1034,"idB":1041,"type":0},{"idA":1035,"idB":1041,"type":0},{"idA":1036,"idB":1041,"type":0},{"idA":1037,"idB":1041,"type":0},{"idA":1038,"idB":1041,"type":0},{"idA":1039,"idB":1041,"type":0},{"idA":1040,"idB":1041,"type":0},{"idA":1032,"idB":1042,"type":0},{"idA":1033,"idB":1042,"type":0},{"idA":1034,"idB":1042,"type":0},{"idA":1035,"idB":1042,"type":0},{"idA":1036,"idB":1042,"type":0},{"idA":1037,"idB":1042,"type":0},{"idA":1038,"idB":1042,"type":0},{"idA":1039,"idB":1042,"type":0},{"idA":1040,"idB":1042,"type":0},{"idA":1041,"idB":1042,"type":0},{"idA":1032,"idB":1043,"type":0},{"idA":1033,"idB":1043,"type":0},{"idA":1034,"idB":1043,"type":0},{"idA":1035,"idB":1043,"type":0},{"idA":1036,"idB":1043,"type":0},{"idA":1037,"idB":1043,"type":0},{"idA":1038,"idB":1043,"type":0},{"idA":1039,"idB":1043,"type":0},{"idA":1040,"idB":1043,"type":0},{"idA":1041,"idB":1043,"type":0},{"idA":1042,"idB":1043,"type":0},{"idA":1032,"idB":1044,"type":0},{"idA":1033,"idB":1044,"type":0},{"idA":1034,"idB":1044,"type":0},{"idA":1035,"idB":1044,"type":0},{"idA":1036,"idB":1044,"type":0},{"idA":1037,"idB":1044,"type":0},{"idA":1038,"idB":1044,"type":0},{"idA":1039,"idB":1044,"type":0},{"idA":1040,"idB":1044,"type":0},{"idA":1041,"idB":1044,"type":0},{"idA":1042,"idB":1044,"type":0},{"idA":1043,"idB":1044,"type":0},{"idA":1032,"idB":1045,"type":0},{"idA":1033,"idB":1045,"type":0},{"idA":1034,"idB":1045,"type":0},{"idA":1035,"idB":1045,"type":0},{"idA":1036,"idB":1045,"type":0},{"idA":1037,"idB":1045,"type":0},{"idA":1038,"idB":1045,"type":0},{"idA":1039,"idB":1045,"type":0},{"idA":1040,"idB":1045,"type":0},{"idA":1041,"idB":1045,"type":0},{"idA":1042,"idB":1045,"type":0},{"idA":1043,"idB":1045,"type":0},{"idA":1044,"idB":1045,"type":0},{"idA":1032,"idB":1046,"type":0},{"idA":1033,"idB":1046,"type":0},{"idA":1034,"idB":1046,"type":0},{"idA":1035,"idB":1046,"type":0},{"idA":1036,"idB":1046,"type":0},{"idA":1037,"idB":1046,"type":0},{"idA":1038,"idB":1046,"type":0},{"idA":1039,"idB":1046,"type":0},{"idA":1040,"idB":1046,"type":0},{"idA":1041,"idB":1046,"type":0},{"idA":1042,"idB":1046,"type":0},{"idA":1043,"idB":1046,"type":0},{"idA":1044,"idB":1046,"type":0},{"idA":1045,"idB":1046,"type":0},{"idA":1032,"idB":1047,"type":0},{"idA":1033,"idB":1047,"type":0},{"idA":1034,"idB":1047,"type":0},{"idA":1035,"idB":1047,"type":0},{"idA":1036,"idB":1047,"type":0},{"idA":1037,"idB":1047,"type":0},{"idA":1038,"idB":1047,"type":0},{"idA":1039,"idB":1047,"type":0},{"idA":1040,"idB":1047,"type":0},{"idA":1041,"idB":1047,"type":0},{"idA":1042,"idB":1047,"type":0},{"idA":1043,"idB":1047,"type":0},{"idA":1044,"idB":1047,"type":0},{"idA":1045,"idB":1047,"type":0},{"idA":1046,"idB":1047,"type":0},{"idA":1032,"idB":1048,"type":1},{"idA":1033,"idB":1048,"type":0},{"idA":1034,"idB":1048,"type":0},{"idA":1035,"idB":1048,"type":0},{"idA":1036,"idB":1048,"type":0},{"idA":1037,"idB":1048,"type":0},{"idA":1038,"idB":1048,"type":0},{"idA":1039,"idB":1048,"type":0},{"idA":1040,"idB":1048,"type":0},{"idA":1041,"idB":1048,"type":0},{"idA":1042,"idB":1048,"type":0},{"idA":1043,"idB":1048,"type":0},{"idA":1044,"idB":1048,"type":0},{"idA":1045,"idB":1048,"type":0},{"idA":1046,"idB":1048,"type":0},{"idA":1047,"idB":1048,"type":0},{"idA":1032,"idB":1049,"type":0},{"idA":1033,"idB":1049,"type":0},{"idA":1034,"idB":1049,"type":0},{"idA":1035,"idB":1049,"type":0},{"idA":1036,"idB":1049,"type":0},{"idA":1037,"idB":1049,"type":0},{"idA":1038,"idB":1049,"type":0},{"idA":1039,"idB":1049,"type":0},{"idA":1040,"idB":1049,"type":0},{"idA":1041,"idB":1049,"type":0},{"idA":1042,"idB":1049,"type":0},{"idA":1043,"idB":1049,"type":0},{"idA":1044,"idB":1049,"type":0},{"idA":1045,"idB":1049,"type":0},{"idA":1046,"idB":1049,"type":0},{"idA":1047,"idB":1049,"type":0},{"idA":1048,"idB":1049,"type":0},{"idA":1032,"idB":1050,"type":1},{"idA":1033,"idB":1050,"type":0},{"idA":1034,"idB":1050,"type":0},{"idA":1035,"idB":1050,"type":0},{"idA":1036,"idB":1050,"type":0},{"idA":1037,"idB":1050,"type":0},{"idA":1038,"idB":1050,"type":0},{"idA":1039,"idB":1050,"type":0},{"idA":1040,"idB":1050,"type":0},{"idA":1041,"idB":1050,"type":0},{"idA":1042,"idB":1050,"type":0},{"idA":1043,"idB":1050,"type":0},{"idA":1044,"idB":1050,"type":0},{"idA":1045,"idB":1050,"type":0},{"idA":1046,"idB":1050,"type":0},{"idA":1047,"idB":1050,"type":0},{"idA":1048,"idB":1050,"type":0},{"idA":1049,"idB":1050,"type":0},{"idA":1032,"idB":1051,"type":0},{"idA":1033,"idB":1051,"type":0},{"idA":1034,"idB":1051,"type":0},{"idA":1035,"idB":1051,"type":0},{"idA":1036,"idB":1051,"type":0},{"idA":1037,"idB":1051,"type":0},{"idA":1038,"idB":1051,"type":0},{"idA":1039,"idB":1051,"type":0},{"idA":1040,"idB":1051,"type":0},{"idA":1041,"idB":1051,"type":0},{"idA":1042,"idB":1051,"type":0},{"idA":1043,"idB":1051,"type":0},{"idA":1044,"idB":1051,"type":0},{"idA":1045,"idB":1051,"type":0},{"idA":1046,"idB":1051,"type":0},{"idA":1047,"idB":1051,"type":0},{"idA":1048,"idB":1051,"type":0},{"idA":1049,"idB":1051,"type":0},{"idA":1050,"idB":1051,"type":0}]} diff --git a/build/lightdb/storage/facebook_db/index b/build/lightdb/storage/facebook_db/index index 82e0d05..0637a08 100644 --- a/build/lightdb/storage/facebook_db/index +++ b/build/lightdb/storage/facebook_db/index @@ -1 +1 @@ -{"1":{"line":0,"hash":"ae55953b70b63b6665ea13aef65aef8da8b8c834"},"3":{"line":1,"hash":"e264f35e79e354f1dcadc0bc6b9c2b07dc214ee2"}} \ No newline at end of file +[] \ No newline at end of file diff --git a/build/lightdb/storage/phone_db/data b/build/lightdb/storage/phone_db/data index a1b22d3..e69de29 100644 --- a/build/lightdb/storage/phone_db/data +++ b/build/lightdb/storage/phone_db/data @@ -1,2 +0,0 @@ -{"subject":{"id":"3"},"contacts":[{"id":567,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":568,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":569,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":570,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":571,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":572,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":573,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":574,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":575,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":576,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":577,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":578,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":579,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":580,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":581,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":582,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":583,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":584,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":585,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]},{"id":586,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]}],"relations":[{"idA":"3","idB":567,"type":4},{"idA":"3","idB":568,"type":4},{"idA":"3","idB":569,"type":4},{"idA":"3","idB":570,"type":4},{"idA":"3","idB":571,"type":4},{"idA":"3","idB":572,"type":4},{"idA":"3","idB":573,"type":4},{"idA":"3","idB":574,"type":4},{"idA":"3","idB":575,"type":4},{"idA":"3","idB":576,"type":4},{"idA":"3","idB":577,"type":4},{"idA":"3","idB":578,"type":4},{"idA":"3","idB":579,"type":4},{"idA":"3","idB":580,"type":4},{"idA":"3","idB":581,"type":4},{"idA":"3","idB":582,"type":4},{"idA":"3","idB":583,"type":4},{"idA":"3","idB":584,"type":4},{"idA":"3","idB":585,"type":4},{"idA":"3","idB":586,"type":4},{"idA":567,"idB":568,"type":1},{"idA":567,"idB":569,"type":0},{"idA":568,"idB":569,"type":0},{"idA":567,"idB":570,"type":0},{"idA":568,"idB":570,"type":0},{"idA":569,"idB":570,"type":0},{"idA":567,"idB":571,"type":1},{"idA":568,"idB":571,"type":0},{"idA":569,"idB":571,"type":0},{"idA":570,"idB":571,"type":0},{"idA":567,"idB":572,"type":0},{"idA":568,"idB":572,"type":0},{"idA":569,"idB":572,"type":0},{"idA":570,"idB":572,"type":0},{"idA":571,"idB":572,"type":0},{"idA":567,"idB":573,"type":0},{"idA":568,"idB":573,"type":0},{"idA":569,"idB":573,"type":0},{"idA":570,"idB":573,"type":0},{"idA":571,"idB":573,"type":0},{"idA":572,"idB":573,"type":0},{"idA":567,"idB":574,"type":1},{"idA":568,"idB":574,"type":0},{"idA":569,"idB":574,"type":0},{"idA":570,"idB":574,"type":0},{"idA":571,"idB":574,"type":0},{"idA":572,"idB":574,"type":0},{"idA":573,"idB":574,"type":0},{"idA":567,"idB":575,"type":0},{"idA":568,"idB":575,"type":0},{"idA":569,"idB":575,"type":0},{"idA":570,"idB":575,"type":0},{"idA":571,"idB":575,"type":0},{"idA":572,"idB":575,"type":0},{"idA":573,"idB":575,"type":0},{"idA":574,"idB":575,"type":0},{"idA":567,"idB":576,"type":0},{"idA":568,"idB":576,"type":0},{"idA":569,"idB":576,"type":0},{"idA":570,"idB":576,"type":0},{"idA":571,"idB":576,"type":0},{"idA":572,"idB":576,"type":0},{"idA":573,"idB":576,"type":0},{"idA":574,"idB":576,"type":0},{"idA":575,"idB":576,"type":0},{"idA":567,"idB":577,"type":0},{"idA":568,"idB":577,"type":0},{"idA":569,"idB":577,"type":0},{"idA":570,"idB":577,"type":0},{"idA":571,"idB":577,"type":0},{"idA":572,"idB":577,"type":0},{"idA":573,"idB":577,"type":0},{"idA":574,"idB":577,"type":0},{"idA":575,"idB":577,"type":0},{"idA":576,"idB":577,"type":0},{"idA":567,"idB":578,"type":0},{"idA":568,"idB":578,"type":0},{"idA":569,"idB":578,"type":0},{"idA":570,"idB":578,"type":0},{"idA":571,"idB":578,"type":0},{"idA":572,"idB":578,"type":0},{"idA":573,"idB":578,"type":0},{"idA":574,"idB":578,"type":0},{"idA":575,"idB":578,"type":0},{"idA":576,"idB":578,"type":0},{"idA":577,"idB":578,"type":0},{"idA":567,"idB":579,"type":0},{"idA":568,"idB":579,"type":0},{"idA":569,"idB":579,"type":0},{"idA":570,"idB":579,"type":0},{"idA":571,"idB":579,"type":0},{"idA":572,"idB":579,"type":0},{"idA":573,"idB":579,"type":0},{"idA":574,"idB":579,"type":0},{"idA":575,"idB":579,"type":0},{"idA":576,"idB":579,"type":0},{"idA":577,"idB":579,"type":0},{"idA":578,"idB":579,"type":0},{"idA":567,"idB":580,"type":0},{"idA":568,"idB":580,"type":0},{"idA":569,"idB":580,"type":0},{"idA":570,"idB":580,"type":0},{"idA":571,"idB":580,"type":0},{"idA":572,"idB":580,"type":0},{"idA":573,"idB":580,"type":0},{"idA":574,"idB":580,"type":0},{"idA":575,"idB":580,"type":0},{"idA":576,"idB":580,"type":0},{"idA":577,"idB":580,"type":0},{"idA":578,"idB":580,"type":0},{"idA":579,"idB":580,"type":0},{"idA":567,"idB":581,"type":0},{"idA":568,"idB":581,"type":0},{"idA":569,"idB":581,"type":0},{"idA":570,"idB":581,"type":0},{"idA":571,"idB":581,"type":0},{"idA":572,"idB":581,"type":0},{"idA":573,"idB":581,"type":0},{"idA":574,"idB":581,"type":0},{"idA":575,"idB":581,"type":0},{"idA":576,"idB":581,"type":0},{"idA":577,"idB":581,"type":0},{"idA":578,"idB":581,"type":0},{"idA":579,"idB":581,"type":0},{"idA":580,"idB":581,"type":0},{"idA":567,"idB":582,"type":0},{"idA":568,"idB":582,"type":0},{"idA":569,"idB":582,"type":0},{"idA":570,"idB":582,"type":0},{"idA":571,"idB":582,"type":0},{"idA":572,"idB":582,"type":0},{"idA":573,"idB":582,"type":0},{"idA":574,"idB":582,"type":0},{"idA":575,"idB":582,"type":0},{"idA":576,"idB":582,"type":0},{"idA":577,"idB":582,"type":0},{"idA":578,"idB":582,"type":0},{"idA":579,"idB":582,"type":0},{"idA":580,"idB":582,"type":0},{"idA":581,"idB":582,"type":0},{"idA":567,"idB":583,"type":1},{"idA":568,"idB":583,"type":0},{"idA":569,"idB":583,"type":0},{"idA":570,"idB":583,"type":0},{"idA":571,"idB":583,"type":0},{"idA":572,"idB":583,"type":0},{"idA":573,"idB":583,"type":0},{"idA":574,"idB":583,"type":0},{"idA":575,"idB":583,"type":0},{"idA":576,"idB":583,"type":0},{"idA":577,"idB":583,"type":0},{"idA":578,"idB":583,"type":0},{"idA":579,"idB":583,"type":0},{"idA":580,"idB":583,"type":0},{"idA":581,"idB":583,"type":0},{"idA":582,"idB":583,"type":0},{"idA":567,"idB":584,"type":0},{"idA":568,"idB":584,"type":0},{"idA":569,"idB":584,"type":0},{"idA":570,"idB":584,"type":0},{"idA":571,"idB":584,"type":0},{"idA":572,"idB":584,"type":0},{"idA":573,"idB":584,"type":0},{"idA":574,"idB":584,"type":0},{"idA":575,"idB":584,"type":0},{"idA":576,"idB":584,"type":0},{"idA":577,"idB":584,"type":0},{"idA":578,"idB":584,"type":0},{"idA":579,"idB":584,"type":0},{"idA":580,"idB":584,"type":0},{"idA":581,"idB":584,"type":0},{"idA":582,"idB":584,"type":0},{"idA":583,"idB":584,"type":0},{"idA":567,"idB":585,"type":1},{"idA":568,"idB":585,"type":0},{"idA":569,"idB":585,"type":0},{"idA":570,"idB":585,"type":0},{"idA":571,"idB":585,"type":0},{"idA":572,"idB":585,"type":0},{"idA":573,"idB":585,"type":0},{"idA":574,"idB":585,"type":0},{"idA":575,"idB":585,"type":0},{"idA":576,"idB":585,"type":0},{"idA":577,"idB":585,"type":0},{"idA":578,"idB":585,"type":0},{"idA":579,"idB":585,"type":0},{"idA":580,"idB":585,"type":0},{"idA":581,"idB":585,"type":0},{"idA":582,"idB":585,"type":0},{"idA":583,"idB":585,"type":0},{"idA":584,"idB":585,"type":0},{"idA":567,"idB":586,"type":0},{"idA":568,"idB":586,"type":0},{"idA":569,"idB":586,"type":0},{"idA":570,"idB":586,"type":0},{"idA":571,"idB":586,"type":0},{"idA":572,"idB":586,"type":0},{"idA":573,"idB":586,"type":0},{"idA":574,"idB":586,"type":0},{"idA":575,"idB":586,"type":0},{"idA":576,"idB":586,"type":0},{"idA":577,"idB":586,"type":0},{"idA":578,"idB":586,"type":0},{"idA":579,"idB":586,"type":0},{"idA":580,"idB":586,"type":0},{"idA":581,"idB":586,"type":0},{"idA":582,"idB":586,"type":0},{"idA":583,"idB":586,"type":0},{"idA":584,"idB":586,"type":0},{"idA":585,"idB":586,"type":0}]} -{"subject":{"id":"1"},"contacts":[],"relations":[]} diff --git a/build/lightdb/storage/phone_db/index b/build/lightdb/storage/phone_db/index index 7f35ef3..0637a08 100644 --- a/build/lightdb/storage/phone_db/index +++ b/build/lightdb/storage/phone_db/index @@ -1 +1 @@ -{"3":{"line":0,"hash":"e9aff02e50eb56a848c3580c8a119a5cbe0ec64b"},"1":{"line":1,"hash":"99e868e35cdf0e36df88a54a7f03f6eff8966cf0"}} \ No newline at end of file +[] \ No newline at end of file diff --git a/build/lightdb/storage/subject/data b/build/lightdb/storage/subject/data new file mode 100644 index 0000000..3fd1a07 --- /dev/null +++ b/build/lightdb/storage/subject/data @@ -0,0 +1,7 @@ +{"subject":{"id":1,"name":"Caroline", "surveys": [], "creation":1464788890}} +{"subject":{"id":2,"name":"Cl\u00e9ment", "surveys": [], "creation":1464788893}} +{"subject":{"id":3,"name":"Coralie", "surveys": [], "creation":1464788897}} +{"subject":{"id":4,"name":"Laurent", "surveys": [], "creation":1464788899}} +{"subject":{"id":5,"name":"Emilie", "surveys": [], "creation":1464788903}} +{"subject":{"id":6,"name":"C\u00e9line", "surveys": [], "creation":1464788905}} +{"subject":{"id":7,"name":"Pierre", "surveys": [], "creation":1464788908}} diff --git a/build/lightdb/storage/subject/index b/build/lightdb/storage/subject/index index fe51488..2b3c59d 100644 --- a/build/lightdb/storage/subject/index +++ b/build/lightdb/storage/subject/index @@ -1 +1 @@ -[] +{"2":{"line":0,"hash":"8192621a7f0013e137e63edffdadea6ab7f69565"},"3":{"line":1,"hash":"a7b9d5cf6cfb41c0b100d91d053032bdad3a80da"},"4":{"line":2,"hash":"ef73002b8217c3c3b87a62b8ae4c69b3994c114f"},"5":{"line":3,"hash":"5cf77d4e920f1b418bf78484bc1766fb84baabb9"},"6":{"line":4,"hash":"356e841ad04cb0f553fe47eab88bf550d6853c60"},"7":{"line":5,"hash":"7d070210aed5df40ee7e2ca4b54f29c672d32a89"},"8":{"line":6,"hash":"9e4936de2cf03d46135bbac3589a1e3ce68fb406"}} \ No newline at end of file diff --git a/build/lightdb/storage/survey_db/data b/build/lightdb/storage/survey_db/data index a8009da..e69de29 100644 --- a/build/lightdb/storage/survey_db/data +++ b/build/lightdb/storage/survey_db/data @@ -1,8 +0,0 @@ -{"subject":{"id":1,"name":"Caroline","creation":1464788890}} -{"subject":{"id":2,"name":"Cl\u00e9ment","creation":1464788893}} -{"subject":{"id":3,"name":"Coralie","creation":1464788897}} -{"subject":{"id":4,"name":"Laurent","creation":1464788899}} -{"subject":{"id":5,"name":"Emilie","creation":1464788903}} -{"subject":{"id":6,"name":"C\u00e9line","creation":1464788905}} -{"subject":{"id":7,"name":"Pierre","creation":1464788908}} -{"subject":{"id":8,"name":"Boris","creation":1464788910}} diff --git a/build/lightdb/storage/survey_db/index b/build/lightdb/storage/survey_db/index index 654c55c..0637a08 100644 --- a/build/lightdb/storage/survey_db/index +++ b/build/lightdb/storage/survey_db/index @@ -1 +1 @@ -{"1":{"line":0,"hash":"9798c2b945e222c48bff804d9819c0d98e88d257"},"2":{"line":1,"hash":"8192621a7f0013e137e63edffdadea6ab7f69565"},"3":{"line":2,"hash":"a7b9d5cf6cfb41c0b100d91d053032bdad3a80da"},"4":{"line":3,"hash":"ef73002b8217c3c3b87a62b8ae4c69b3994c114f"},"5":{"line":4,"hash":"5cf77d4e920f1b418bf78484bc1766fb84baabb9"},"6":{"line":5,"hash":"356e841ad04cb0f553fe47eab88bf550d6853c60"},"7":{"line":6,"hash":"7d070210aed5df40ee7e2ca4b54f29c672d32a89"},"8":{"line":7,"hash":"9e4936de2cf03d46135bbac3589a1e3ce68fb406"}} \ No newline at end of file +[] \ No newline at end of file diff --git a/build/lightdb/storage/uniqid b/build/lightdb/storage/uniqid index 434727c..8630f55 100644 --- a/build/lightdb/storage/uniqid +++ b/build/lightdb/storage/uniqid @@ -1 +1 @@ -3903 \ No newline at end of file +4163 \ No newline at end of file diff --git a/public_html/view/js/input.js b/public_html/view/js/input.js index 8d619fd..a6c19b9 100644 --- a/public_html/view/js/input.js +++ b/public_html/view/js/input.js @@ -36,6 +36,8 @@ var tmpSubjectSearchListener = function(e){ /* (2) On effectue la requête */ api.send(request, function(response){ + console.warn(response); + // Si erreur if( response.ModuleError != 0 ){ Notification.error('Erreur', 'La recherche a échoué.') diff --git a/public_html/view/js/min/input.js b/public_html/view/js/min/input.js index 08f2601..6da0b04 100644 --- a/public_html/view/js/min/input.js +++ b/public_html/view/js/min/input.js @@ -1,5 +1,5 @@ var sField,sSubmit,sList,pSubjectManager=null,pContactManager=null,pMiniManager=null,pFicheManager=null,pMatriceManager=null,fSubjectManager=null,fContactManager=null,fMiniManager=null,fFicheManager=null,fMatriceManager=null,input_ts=Date.now();sField=$("#search-field");sSubmit=$("#search-subject");sList=$('section[data-sublink="survey"] ul[data-list]'); -var tmpSubjectSearchListener=function(a){api.send({path:"subject/search",name:sField.value},function(a){if(0!=a.ModuleError)return Notification.error("Erreur","La recherche a \u00e9chou\u00e9."),!1;console.log(a);var c=[],g;for(g in a.results)c.push("
  • "),c.push("
    SUJET
    "),c.push("
    "),c.push("
    "+ +var tmpSubjectSearchListener=function(a){api.send({path:"subject/search",name:sField.value},function(a){console.warn(a);if(0!=a.ModuleError)return Notification.error("Erreur","La recherche a \u00e9chou\u00e9."),!1;console.log(a);var c=[],g;for(g in a.results)c.push("
  • "),c.push("
    SUJET
    "),c.push("
    "),c.push("
    "+ a.results[g].name+"
    "),c.push("
    "+a.results[g].creation+"
    "),c.push("
    "),c.push("
    "),c.push("
    "),c.push("
    "),c.push("
  • ");sList.innerHTML= c.join("")})};sSubmit.addEventListener("click",tmpSubjectSearchListener,!1);sField.addEventListener("keypress",function(a){13===a.keyCode&&tmpSubjectSearchListener(a)},!1);tmpSubjectSearchListener(); var pAlready=0,pLoaded=[0,0,0,0,0],phoneRoutine=function(){!Math.min.apply(Math,pLoaded)|pAlready||(pAlready=1,console.groupEnd(),console.group("[phone] Initialization"),pSubjectManager=new inputPhoneSubject($('[data-sublink="phone"] article.subject-panel [data-name="subject_id"]'),$('[data-sublink="phone"] article.subject-panel [data-name="submit"]')),pSubjectManager.attach(pDynamicUpdate),pContactManager=new inputPhoneContact($('[data-sublink="phone"] article.contact-panel'),$('[data-sublink="phone"] #p_nav-contact')), From 336e8e84a8aeddf97d10c5b48f096b8e78a3ca9c Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Tue, 22 Nov 2016 17:17:04 +0100 Subject: [PATCH 06/11] test/debug en cours de `input/phone` --- build/api/module/input.php | 345 +----------------------- build/lightdb/core/lightdb.php | 2 +- build/lightdb/storage/contact/data | 41 +++ build/lightdb/storage/contact/index | 2 +- build/lightdb/storage/facebook_db/data | 0 build/lightdb/storage/facebook_db/index | 1 - build/lightdb/storage/phone_db/data | 0 build/lightdb/storage/phone_db/index | 1 - build/lightdb/storage/subject/data | 2 +- build/lightdb/storage/subject/index | 2 +- build/lightdb/storage/survey_db/data | 0 build/lightdb/storage/survey_db/index | 1 - build/lightdb/storage/uniqid | 2 +- public_html/test.php | 17 +- 14 files changed, 67 insertions(+), 349 deletions(-) delete mode 100644 build/lightdb/storage/facebook_db/data delete mode 100644 build/lightdb/storage/facebook_db/index delete mode 100644 build/lightdb/storage/phone_db/data delete mode 100644 build/lightdb/storage/phone_db/index delete mode 100644 build/lightdb/storage/survey_db/data delete mode 100644 build/lightdb/storage/survey_db/index diff --git a/build/api/module/input.php b/build/api/module/input.php index ad8bc5b..496b903 100644 --- a/build/api/module/input.php +++ b/build/api/module/input.php @@ -96,6 +96,7 @@ $finalid = []; // id_contact -> id_final_contact (existant ou nouveau) foreach($fiches as $f=>$ficheData){ + /* (1) On récupère les données du contact associé */ if( !isset($contacts[$ficheData['contact']]) ) break; @@ -179,6 +180,7 @@ /* [5] On enregistre les mini + les contacts des mini =========================================================*/ foreach($mini as $miniData){ + /* (1) On récupère les données du contact associé */ if( !isset($contacts[$miniData['contact']]) ) break; @@ -202,7 +204,7 @@ /* (3) Si nouveau contact */ }else{ - $newId = (int) ($offset+$miniData['uid']); + $newId = (int) ($offset+$contact['uid']); $uname = $contact['username']; $finalid[ intval($contact['uid']) ] = $newId; @@ -252,6 +254,7 @@ /* [6] On enregistre les relations de la MATRICE =========================================================*/ + var_dump($finalid); $clen = count($finalid); /* (1) On récupére les ids des contacts */ @@ -315,344 +318,6 @@ - /* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE TÉLÉPHONIQUE - * - * @subject Tableau contenant les données du sujet - * @contacts Tableau contenant les données des contacts - * @mini Tableau contenant les données des mini fiches relation - * @fiches Tableau contenant les données des fiches relation - * - * @return subject_id Retourne l'id sujet de l'enquête - * - */ - public static function xphone($params){ - extract($params); - - /* [0] On récupère l'id unique actuel - =========================================================*/ - $funiq = fopen( __BUILD__.'/lightdb/storage/uniqid', 'r+' ); - flock($funiq, LOCK_EX); // On verrouille le fichier - $uniqid = fgets( $funiq ); - - if( !is_numeric($uniqid) ) - $uniqid = 0; - - // Décalage à appliquer à tous les ids - $offset = intval($uniqid) + 1; - - // on enregistre l'id du sujet - $subject_id = $subject['subject_id']; - - // Contiendra la valeur de l'id maximum - $maxId = $offset; - - - - - // /* [1] On récupère les logs s'ils existent - // =========================================================*/ - // // Contiendra le contenu du fichier - $file = [ - "subject" => "", - "contacts" => [], - "relations" => [] - ]; - - - - - - - /* [2] On enregistre les données du sujet - =========================================================*/ - /* (1) On crée le sujet */ - $file['subject'] = [ 'id' => $subject_id ]; - - /* (2) On récupère ses contacts facebook */ - // {2.1} On récupère les données du sujet // - $lfacebook = new lightdb('facebook_db'); - $lfacebook = $lfacebook->fetch($subject_id); - - // {2.2} si n'existe pas, on a un tableau vide // - if( $lfacebook === false ) - $lfacebook = [ 'contacts' => [] ]; - - if( !isset($lfacebook['contacts']) ) - $lfacebook['contacts'] = []; - - - /* (3) On récupère ses contacts lab-surveys */ - // {3.1} On récupère les données du sujet // - $lsurvey = new lightdb('survey_db'); - $lsurvey = $lsurvey->fetch($subject_id); - - // {3.2} si n'existe pas, on a un tableau vide // - if( $lsurvey === false ) - $lsurvey = [ 'contacts' => [] ]; - - if( !isset($lsurvey['contacts']) ) - $lsurvey['contacts'] = []; - - - /* (4) On récupère uniquement la liste des contacts avec le type de fiche qu'ils ont */ - // {4.1} Contiendra les contacts exportés // - $exported = [ - 'fiche' => [], - 'mini' => [] - ]; - - // {4.2} Contiendra les username des contacts exportés // - $exportedU = []; - - // {4.3} On récupère les contacts facebook // - foreach($lfacebook['contacts'] as $c=>$data){ - - if( isset($data['studies2']) ){ - - $exported['fiche'][] = $data['id']; - $exportedU[$data['id']] = $data['name']; - - }else - - // S'il n'est pas déja dans les fiches - if( !in_array($data['id'], $exported['fiche']) ){ - - $exported['mini'][] = $data['id']; - $exportedU[$data['id']] = $data['name']; - } - - } - - // {4.4} On récupère les contacts lab-surveys // - foreach($lsurvey['contacts'] as $c=>$data){ - - if( isset($data['studies2']) ) - - // On ajoute le contact s'il n'y est pas déja - if( !in_array($data['id'], $exported['fiche']) ){ - - $exported['fiche'][] = $data['id']; - $exportedU['fiche'][] = $data['username']; - - } - - else - - // On ajoute le contact s'il n'y est pas déja (ni dans mini ni dans fiche) - if( !in_array($data['id'], $exported['mini']) && !in_array($data['id'], $exported['fiche']) ){ - $exported['mini'][] = $data['id']; - $exportedU['mini'][] = $data['username']; - } - } - - - - - - - /* [3] On enregistre les contacts des FICHES - =========================================================*/ - $contactsDone = [ - "existing" => [], // Contacts exportés déja enregistrés - "username" => [] // Nouveaux contacts déja enregistrés - ]; - - foreach($fiches as $f=>$ficheData){ - /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$ficheData['uid']]) ) - break; - - $contact = $contacts[ $ficheData['uid'] ]; - - /* (2) Si le contact a été importé d'une autre enquête */ - if( isset($contact['existing']) && is_numeric($contact['existing']) ){ - $newId = (int) $contact['existing']; - $uname = $exportedU[intval($contact['existing'])]; - // {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte // - if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) ) - break; - - /* (3) Si nouveau contact */ - }else{ - $newId = (int) ($offset+$ficheData['uid']); - $uname = $contact['username']; - // {3.1} S'il a déja été saisi, on quitte // - if( in_array($contact['username'], $contactsDone['username']) ) - break; - } - - /* (4) Update du @maxId */ - if( $newId > $maxId ) - $maxId = (int) $newId; - - // On remplit les données qui iront dans le fichier pour ce contact - $file['contacts'][] = [ - 'id' => $newId, - 'name' => $uname, - 'sexe' => $ficheData['sexe'], - 'age' => $ficheData['age'], - 'studies2' => $ficheData['studies'], - 'reltype' => ($ficheData['reltype']==10) ? $ficheData['reltypeSpecial'] : $ficheData['reltype'], // si 'autre' -> valeur, sinon le code - 'dist' => $ficheData['loc'], - 'job' => $ficheData['job'], - 'famsit' => $ficheData['famsit'], - 'city' => $ficheData['city'], - 'cp' => $ficheData['cp'], - 'quartier' => $ficheData['quartier'], - 'duration' => $ficheData['duration'], - 'context' => $ficheData['context'], - 'contextExtra' => $ficheData['contextSpecial'], - 'freq' => $ficheData['freq'], - 'connect' => $ficheData['connect'], - 'connectExtra' => $ficheData['connectSpecial'] - ]; - - // On enregistre la relation avec EGO - $file['relations'][] = [ - 'idA' => $subject_id, - 'idB' => $newId, - 'type' => ($f<20) ? 4 : 5 // 4->appels 5->sms - ]; - - - /* (x) Si le contact a été importé d'une autre enquête */ - if( isset($contact['existing']) && is_numeric($contact['existing']) ) - $contactsDone['existing'][] = $contact['existing']; - /* (x+1) Si nouveau contact */ - else - $contactsDone['username'][] = $contact['username']; - } - - - - /* [4] On enregistre les contacts des MINI - =========================================================*/ - foreach($mini as $miniData){ - /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$miniData['uid']]) ) - break; - - $contact = $contacts[ $miniData['uid'] ]; - - /* (2) Si le contact a été importé d'une autre enquête */ - if( isset($contact['existing']) && is_numeric($contact['existing']) ){ - $newId = (int) $contact['existing']; - $uname = $exportedU[intval($contact['existing'])]; - // {2.1} S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte // - if( in_array(intval($contact['existing']), $exported['fiche']) || in_array($contact['existing'], $contactsDone['existing']) ) - break; - - /* (3) Si nouveau contact */ - }else{ - $newId = (int) ($offset+$miniData['uid']); - $uname = $contact['username']; - // {3.1} S'il a déja été saisi, on quitte // - if( in_array($contact['username'], $contactsDone['username']) ) - break; - } - - /* (4) Update du @maxId */ - if( $newId > $maxId ) - $maxId = (int) $newId; - - - // On remplit les données qui iront dans le fichier pour ce contact - $file['contacts'][] = [ - 'id' => $newId, - 'name' => $uname, - 'sexe' => $miniData['sexe'], - 'age' => $miniData['age'], - 'studies1' => $miniData['studies'], - 'reltype' => ($miniData['reltype']==10) ? $miniData['reltypeSpecial'] : $miniData['reltype'], // si 'autre' -> valeur, sinon le code - 'dist' => $miniData['loc'] - ]; - - // On enregistre la relation avec EGO - $file['relations'][] = [ - 'idA' => $subject_id, - 'idB' => $newId, - 'type' => 2 // relation cellulaire mineure - ]; - - - /* (x) Si le contact a été importé d'une autre enquête */ - if( isset($contact['existing']) && is_numeric($contact['existing']) ) - $contactsDone['existing'][] = $contact['existing']; - /* (x+1) Si nouveau contact */ - else - $contactsDone['username'][] = $contact['username']; - - } - - - - /* [5] On enregistre les relations de la MATRICE - =========================================================*/ - $clen = count($file['contacts']); - - /* (1) On récupére les ids des contacts */ - $cIdList = []; - foreach($file['contacts'] as $c=>$contact){ - $id = (int) $c; - - if( !in_array($id, $cIdList) ) - $cIdList[$id] = null; - } - - ksort($cIdList); - - - /* (2) On remplit les relations */ - foreach($cIdList as $y=>$yNull){ - foreach($cIdList as $x=>$xNull) - if( $x < $y ){ // On affiche que sous la diagonale - - $idY = $file['contacts'][$y]['id'] - $offset; - $idX = $file['contacts'][$x]['id'] - $offset; - - // Si relation alter-alter - $relationXY = isset($matrice[$y]) && in_array($x, $matrice[$y]) - || ( isset($matrice[$x]) && in_array($y, $matrice[$x]) ); - - array_push($file['relations'], [ - 'idA' => $offset + $x, - 'idB' => $offset + $y, - 'type' => $relationXY ? 1 : 0 // 0->aucune relation 1->relation alter alter - ]); - - } - } - - - /* [6] On enregistre tout dans 'lightdb' - =========================================================*/ - $db = new lightdb('phone_db'); - $db->insert( $subject_id, $file ); - $db->close(); - - /* [7] On met à jour le nouvel ID unique - =========================================================*/ - // $maxId += $offset; - rewind($funiq); // On revient au début du fichier - fwrite($funiq, $maxId); // On écrit la nouvelle valeur (forcément plus grande) - flock($funiq, LOCK_UN); // On débloque le verrou - fclose($funiq); - - // /* [8] On supprime le fichier temporaire si existe - // =========================================================*/ - // if( file_exists($tmpfile) ) - // unlink($tmpfile); - - - /* [9] Gestion du retour - =========================================================*/ - return [ - 'ModuleError' => ManagerError::Success, - 'subject_id' => $subject_id - ]; - } - - /* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE FACEBOOK @@ -846,7 +511,7 @@ /* (3) Si nouveau contact */ }else{ - $newId = (int) ($offset+$miniData['uid']); + $newId = (int) ($offset+$contact['uid']); $uname = $contact['username']; $finalid[ intval($contact['uid']) ] = $newId; diff --git a/build/lightdb/core/lightdb.php b/build/lightdb/core/lightdb.php index 5b0af9a..defd6f3 100644 --- a/build/lightdb/core/lightdb.php +++ b/build/lightdb/core/lightdb.php @@ -53,7 +53,7 @@ $index = json_decode( $fIndex->fgets(), true ); // Si erreur de parsage, on retourne une erreur - if( is_null($index) ) return; + if( is_null($index) ) throw new \Exception('[lightdb] index is null'); $this->index = $index; /* [3] Initialisation du gestionnaire d'acces (SplFileObject) diff --git a/build/lightdb/storage/contact/data b/build/lightdb/storage/contact/data index e69de29..d9fc2a1 100644 --- a/build/lightdb/storage/contact/data +++ b/build/lightdb/storage/contact/data @@ -0,0 +1,41 @@ + +{"id":1,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":2,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":3,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":4,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":5,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":6,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":7,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":8,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":9,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":10,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":11,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":12,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":13,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":14,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":15,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":16,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":17,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":18,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":19,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":20,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":21,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":22,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":23,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":24,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":25,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":26,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":27,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":28,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":29,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":30,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":31,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":32,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":33,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":34,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":35,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":36,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":37,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":38,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":39,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":40,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} diff --git a/build/lightdb/storage/contact/index b/build/lightdb/storage/contact/index index fe51488..49d1229 100644 --- a/build/lightdb/storage/contact/index +++ b/build/lightdb/storage/contact/index @@ -1 +1 @@ -[] +{"1":{"line":1,"hash":"53329f79873048ac547733758e8a9748244f19d6"},"2":{"line":2,"hash":"0bd101882347c2d0611fcd650bcfd65d11889d16"},"3":{"line":3,"hash":"2c4296696863e3767381128c9c8e2f2cb6b021f5"},"4":{"line":4,"hash":"6d5ebe34615316f06f6dd3acb242d6c45fd0a4f3"},"5":{"line":5,"hash":"695fb73dd643a997d8de407c3f4833a44a7a453c"},"6":{"line":6,"hash":"986635a51581ca941ebbfc1f507c11601641f74b"},"7":{"line":7,"hash":"9b68019f94e0b453dbe036662deec231136c8ce4"},"8":{"line":8,"hash":"f7d8d23d90bcd939315cc745b96d53172d1e2be9"},"9":{"line":9,"hash":"47ea43ceb3ffac48354347e2e47f0bd90e102981"},"10":{"line":10,"hash":"1016d1c8a6aa59c58fb12d23efb44dba2e0480ae"},"11":{"line":11,"hash":"d32cf2a74a509c2d9196de6e43c8a780f9f505d0"},"12":{"line":12,"hash":"a69bf3702a807c9599b11f66fc85a4b1429d95ab"},"13":{"line":13,"hash":"60b7f129371a0e685d2a9c94cd9c1479007b5c91"},"14":{"line":14,"hash":"92f0e743b79e14dbd0a6087fd42f5a1ddbf93b26"},"15":{"line":15,"hash":"7f95b020b8958b23f759afbd54d9344f4669a535"},"16":{"line":16,"hash":"9db524430354104254d67db4051434bdc68f2d14"},"17":{"line":17,"hash":"3d7e96865f76ef6476c76b67ff49fdc2d21bce4f"},"18":{"line":18,"hash":"44bb7d8cfd73e64c74e22f8bed0d6a5667193531"},"19":{"line":19,"hash":"bff1fe0220fb48033239de52e4176c2e05393932"},"20":{"line":20,"hash":"c662345489073304966f607be98f82b58972ab67"},"21":{"line":21,"hash":"3268a838e132fb080b7dbf7a36df8071facda9e5"},"22":{"line":22,"hash":"ec674f1b5aeead8ddaad30f5b92ef844b19832ee"},"23":{"line":23,"hash":"3d5f103923637361c47a8287b67ae057eae76100"},"24":{"line":24,"hash":"e6abe915b19deb553689fb135eec736fed0cdfe6"},"25":{"line":25,"hash":"5a8a0a4d316cc94c30baff9517f17d7346667e8a"},"26":{"line":26,"hash":"d8f5dcff760645c789b443476a88bcd23328c385"},"27":{"line":27,"hash":"d118b82db5d471969cb743202827c6671795a992"},"28":{"line":28,"hash":"885766f872616d4d81895d97ed60f2b6072a1657"},"29":{"line":29,"hash":"a3e4fe59e1fdbfbfd01cf42cb5a5b1a4dce2a85a"},"30":{"line":30,"hash":"3c51638a6bff5cd6effca6d0013c623c94361bf1"},"31":{"line":31,"hash":"6f520b50be61131e3d78ea1a596a277a9af04165"},"32":{"line":32,"hash":"d85ae569d345a39a6921c62b09f5b55b0543c723"},"33":{"line":33,"hash":"1ee9df42a435ec8cfa0b3ea4a4839ecaa37b31e6"},"34":{"line":34,"hash":"60ff867709af5b4fb530ad68d17fad053e2117aa"},"35":{"line":35,"hash":"910df61f211d5d08ac07bec49f24e65b0e15df5d"},"36":{"line":36,"hash":"5874b4ea65f206fa9052d5679cbc8614c015dd02"},"37":{"line":37,"hash":"bc3fb457c6e97008d7d7ffedfd2f5c2be95ab070"},"38":{"line":38,"hash":"68fb7dc97739414cad3cd4e8f58799cf3059c09e"},"39":{"line":39,"hash":"74c17fdb061b75b87a6b561f8df7025e3dc6aa13"},"40":{"line":40,"hash":"41762132a3e4576443fc798733843450f3a55013"}} \ No newline at end of file diff --git a/build/lightdb/storage/facebook_db/data b/build/lightdb/storage/facebook_db/data deleted file mode 100644 index e69de29..0000000 diff --git a/build/lightdb/storage/facebook_db/index b/build/lightdb/storage/facebook_db/index deleted file mode 100644 index 0637a08..0000000 --- a/build/lightdb/storage/facebook_db/index +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/build/lightdb/storage/phone_db/data b/build/lightdb/storage/phone_db/data deleted file mode 100644 index e69de29..0000000 diff --git a/build/lightdb/storage/phone_db/index b/build/lightdb/storage/phone_db/index deleted file mode 100644 index 0637a08..0000000 --- a/build/lightdb/storage/phone_db/index +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/build/lightdb/storage/subject/data b/build/lightdb/storage/subject/data index 3fd1a07..5b89af8 100644 --- a/build/lightdb/storage/subject/data +++ b/build/lightdb/storage/subject/data @@ -4,4 +4,4 @@ {"subject":{"id":4,"name":"Laurent", "surveys": [], "creation":1464788899}} {"subject":{"id":5,"name":"Emilie", "surveys": [], "creation":1464788903}} {"subject":{"id":6,"name":"C\u00e9line", "surveys": [], "creation":1464788905}} -{"subject":{"id":7,"name":"Pierre", "surveys": [], "creation":1464788908}} +{"subject":{"id":1,"name":"Caroline","surveys":[],"creation":1464788890}} diff --git a/build/lightdb/storage/subject/index b/build/lightdb/storage/subject/index index 2b3c59d..45fe13c 100644 --- a/build/lightdb/storage/subject/index +++ b/build/lightdb/storage/subject/index @@ -1 +1 @@ -{"2":{"line":0,"hash":"8192621a7f0013e137e63edffdadea6ab7f69565"},"3":{"line":1,"hash":"a7b9d5cf6cfb41c0b100d91d053032bdad3a80da"},"4":{"line":2,"hash":"ef73002b8217c3c3b87a62b8ae4c69b3994c114f"},"5":{"line":3,"hash":"5cf77d4e920f1b418bf78484bc1766fb84baabb9"},"6":{"line":4,"hash":"356e841ad04cb0f553fe47eab88bf550d6853c60"},"7":{"line":5,"hash":"7d070210aed5df40ee7e2ca4b54f29c672d32a89"},"8":{"line":6,"hash":"9e4936de2cf03d46135bbac3589a1e3ce68fb406"}} \ No newline at end of file +{"2":{"line":0,"hash":"a7b9d5cf6cfb41c0b100d91d053032bdad3a80da"},"3":{"line":1,"hash":"ef73002b8217c3c3b87a62b8ae4c69b3994c114f"},"4":{"line":2,"hash":"5cf77d4e920f1b418bf78484bc1766fb84baabb9"},"5":{"line":3,"hash":"356e841ad04cb0f553fe47eab88bf550d6853c60"},"6":{"line":4,"hash":"7d070210aed5df40ee7e2ca4b54f29c672d32a89"},"7":{"line":5,"hash":"9e4936de2cf03d46135bbac3589a1e3ce68fb406"},"1":{"line":6,"hash":"3220079028ee4e722040157bd2e8248cb4c7d637"}} \ No newline at end of file diff --git a/build/lightdb/storage/survey_db/data b/build/lightdb/storage/survey_db/data deleted file mode 100644 index e69de29..0000000 diff --git a/build/lightdb/storage/survey_db/index b/build/lightdb/storage/survey_db/index deleted file mode 100644 index 0637a08..0000000 --- a/build/lightdb/storage/survey_db/index +++ /dev/null @@ -1 +0,0 @@ -[] \ No newline at end of file diff --git a/build/lightdb/storage/uniqid b/build/lightdb/storage/uniqid index 8630f55..86ee83a 100644 --- a/build/lightdb/storage/uniqid +++ b/build/lightdb/storage/uniqid @@ -1 +1 @@ -4163 \ No newline at end of file +40 \ No newline at end of file diff --git a/public_html/test.php b/public_html/test.php index 113290c..f710fb0 100644 --- a/public_html/test.php +++ b/public_html/test.php @@ -7,7 +7,22 @@ $sl = new lightdb('subject'); $cl = new lightdb('contact'); - var_dump("New subject survey"); + + /* [1] Remove contacts + =========================================================*/ + $sub = $sl->fetch(1); + + $contactIds = $sub['contacts']; + $cl->deleteAll($contactsIds); + + /* [2] Reset subject + =========================================================*/ + unset( $sub['contacts'] ); + unset( $sub['relations'] ); + $sub['subject']['surveys'] = []; + + $sl->delete(1); + $sl->insert(1, $sub); ?> From f2da5085f787ca52b9b0a23348705b933f85ce0e Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Wed, 23 Nov 2016 12:12:53 +0100 Subject: [PATCH 07/11] Correction de `lightdb:delete` et `lightdb:deleteAll` + Correction des `break` en `continue` dans `input/phone` --- .gitignore | 2 +- build/api/module/input.php | 15 ++-- build/lightdb/core/lightdb.php | 105 ++++++++++++---------------- build/lightdb/storage/contact/data | 44 ++++++------ build/lightdb/storage/contact/index | 2 +- build/lightdb/storage/subject/data | 8 +-- build/lightdb/storage/subject/index | 2 +- build/lightdb/storage/uniqid | 2 +- public_html/test.php | 33 +++++---- 9 files changed, 103 insertions(+), 110 deletions(-) diff --git a/.gitignore b/.gitignore index 733bf17..f417302 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ .ftpconfig sftp-config.json phpunit/coverage/ -*/tmp/* +#/public_html/tmp/* #/build/lightdb/storage/*/data diff --git a/build/api/module/input.php b/build/api/module/input.php index 496b903..509b8cf 100644 --- a/build/api/module/input.php +++ b/build/api/module/input.php @@ -99,7 +99,8 @@ /* (1) On récupère les données du contact associé */ if( !isset($contacts[$ficheData['contact']]) ) - break; + continue; + $contact = $contacts[ $ficheData['contact'] ]; @@ -115,7 +116,7 @@ // S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) - break; + continue; /* (3) Si nouveau contact */ }else{ @@ -127,7 +128,7 @@ // S'il a déja été saisi, on quitte if( in_array($contact['username'], $contactsDone['username']) ) - break; + continue; } /* (4) Update du @maxId */ @@ -183,7 +184,7 @@ /* (1) On récupère les données du contact associé */ if( !isset($contacts[$miniData['contact']]) ) - break; + continue; $contact = $contacts[ $miniData['contact'] ]; @@ -199,7 +200,7 @@ // S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) - break; + continue; /* (3) Si nouveau contact */ }else{ @@ -211,7 +212,7 @@ // S'il a déja été saisi, on quitte if( in_array($contact['username'], $contactsDone['username']) ) - break; + continue; } /* (4) Update du @maxId */ @@ -254,7 +255,7 @@ /* [6] On enregistre les relations de la MATRICE =========================================================*/ - var_dump($finalid); + var_dump('finalid\'s', $finalid); $clen = count($finalid); /* (1) On récupére les ids des contacts */ diff --git a/build/lightdb/core/lightdb.php b/build/lightdb/core/lightdb.php index defd6f3..f3987e9 100644 --- a/build/lightdb/core/lightdb.php +++ b/build/lightdb/core/lightdb.php @@ -6,13 +6,14 @@ class lightdb{ // REPERTOIRE RACINE DE TOUTES LES BDD - public static function default_root(){ return __BUILD__.'/lightdb/storage/'; } + public static function default_root(){ return __BUILD__.'/lightdb/storage'; } // ATTRIBUTS private $root; private $dbname; private $dir; private $index; + private $date; private $driver; private $line; @@ -59,11 +60,12 @@ /* [3] Initialisation du gestionnaire d'acces (SplFileObject) =========================================================*/ /* (1) Si le fichier n'existe pas, on le crée */ - if( !file_exists($this->dir.'data') ) - file_put_contents($this->dir.'data', '' ); + $this->data = $this->dir.'data'; + if( !file_exists($this->data) ) + file_put_contents($this->data, '' ); /* (2) On place un 'driver' sur le fichier */ - $this->driver = new \SplFileObject($this->dir.'data', 'r+'); + $this->driver = new \SplFileObject($this->data, 'r+'); // $this->driver->setFlags( \SplFileObject::SKIP_EMPTY ); /* (3) On récupère le nombre de lignes */ @@ -75,9 +77,30 @@ } + + + public function close(){ $this->driver = null; } + + /* FLUSH LA BDD (erase all) + * + */ + public function flush(){ + /* (1) On flush les index */ + $fIndex = new \SplFileObject($this->dir.'index', 'w'); + $fIndex->fwrite('[]'); + $fIndex = null; + $this->line = 0; + $this->index = []; + + /* (2) On flush les data */ + file_put_contents($this->dir.'data', '' ); + } + + + /* RETOURNE UN INDEX * * @i [OPT] Index pour lequel on veut la ligne et le hash @@ -117,8 +140,8 @@ /* (3) On enregistre l'index */ $this->index[$key] = [ - 'line' => $this->line - 1, - 'hash' => sha1($json_data) + 'line' => $this->line - 1//, + //'hash' => sha1($json_data) ]; /* (4) On enregistre le fichier index */ @@ -155,8 +178,8 @@ /* (3) On enregistre les index */ $this->index[$key] = [ - 'line' => $this->line - 1, - 'hash' => sha1($json_data) + 'line' => $this->line - 1//, + //'hash' => sha1($json_data) ]; } @@ -253,12 +276,14 @@ $this->driver->seek(0); // On recopie toutes les lignes sauf celle à supprimer dans un fichier temporaire - while( $this->driver->key() < $this->line ){ + foreach($this->driver as $key=>$content){ + // Only valuable lines (not the last linebreak) + if( $key >= $this->line ) break; - if( $this->driver->key() != $line ) - $tmpfile->fwrite( $this->driver->current() ); + // On n'écrit pas la ligne à supprimer + if( $key != $line ) + $tmpfile->fwrite( $content ); - $this->driver->next(); } // On décrémente le nb de lignes @@ -312,6 +337,9 @@ $keyLines[$key] = $this->index[$key]['line']; } + if( count($keyLines) == 0 ) + return true; + /* [2] On trie les clés en fonction de leur ligne =========================================================*/ $sorted = []; @@ -342,13 +370,14 @@ $this->driver->seek(0); /* (2) On recopie toutes les lignes sauf celles à supprimer dans un fichier temporaire */ - while( $this->driver->key() < $this->line ){ + foreach($this->driver as $key=>$content){ + // Only valuable lines (not the last linebreak) + if( $key >= $this->line ) break; - // Si la ligne en cours n'est pas dans la liste des lignes à supprimer - if( !in_array($this->driver->key(), $sorted) ) - $tmpfile->fwrite( $this->driver->current() ); // On l'écrit dans le nouveau fichier + // On n'écrit pas la ligne à supprimer + if( !in_array($key, $sorted) ) + $tmpfile->fwrite( $content ); - $this->driver->next(); } $tmpfile = null; @@ -387,46 +416,4 @@ return true; } - - /* RENVOIE LES DONNEES ASSOCIEES A UN CHAMP DE RECHERCHE - * - * @nomParam Description du param - * - * @return nomRetour Description du retour - * - */ - public function filter($data){ - /* (1) Si @data est un tableau associatif */ - if( is_array($data) ){ - - $filtered = []; - foreach($this->index as $i=>$indexData){ - $this->driver->seek( $indexData['line'] ); - $dbData = json_decode( $this->driver->fgets(), true ); - - foreach($data as $key=>$value) - if( isset($dbData[$key]) && preg_match("#$value#", $dbData[$key]) ){ - $filtered[$i] = $dbData; - break; - } - } - - return $filtered; - - - /* (2) Sinon on compare @data en tant que valeur simple */ - }else{ - - $this->tmp = sha1( json_encode($data) ); - return array_filter($this->index, [$this, 'simpleFilter']); - - } - - } - - - protected function simpleFilter($e){ return $e['hash'] == $this->tmp; } - - - } diff --git a/build/lightdb/storage/contact/data b/build/lightdb/storage/contact/data index d9fc2a1..60c27cf 100644 --- a/build/lightdb/storage/contact/data +++ b/build/lightdb/storage/contact/data @@ -1,4 +1,3 @@ - {"id":1,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} {"id":2,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} {"id":3,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} @@ -19,23 +18,26 @@ {"id":18,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} {"id":19,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} {"id":20,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":21,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":22,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":23,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":24,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":25,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":26,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":27,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":28,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":29,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":30,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":31,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":32,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":33,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":34,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":35,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":36,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":37,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":38,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":39,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":40,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":22,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"autre","dist":"2","job":"10","famsit":"0","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":23,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"0","dist":"3","job":"21","famsit":"0","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":24,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"1","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":25,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"2","dist":"1","job":"23","famsit":"0","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":26,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"3","dist":"2","job":"31","famsit":"0","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":27,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"4","dist":"3","job":"32","famsit":"0","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":28,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"5","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":29,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"6","dist":"1","job":"41","famsit":"0","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":30,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"7","dist":"2","job":"46","famsit":"0","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":31,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"autre","dist":"3","job":"47","famsit":"0","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":32,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"0","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":33,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"1","dist":"1","job":"51","famsit":"0","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":34,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"2","dist":"2","job":"54","famsit":"0","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":35,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"3","dist":"3","job":"55","famsit":"0","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":36,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"4","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":37,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"5","dist":"1","job":"61","famsit":"0","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":38,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"6","dist":"2","job":"66","famsit":"0","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":39,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"7","dist":"3","job":"69","famsit":"0","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":40,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"autre","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":42,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."} +{"id":43,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."} +{"id":44,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."} +{"id":45,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."} diff --git a/build/lightdb/storage/contact/index b/build/lightdb/storage/contact/index index 49d1229..bb3fef3 100644 --- a/build/lightdb/storage/contact/index +++ b/build/lightdb/storage/contact/index @@ -1 +1 @@ -{"1":{"line":1,"hash":"53329f79873048ac547733758e8a9748244f19d6"},"2":{"line":2,"hash":"0bd101882347c2d0611fcd650bcfd65d11889d16"},"3":{"line":3,"hash":"2c4296696863e3767381128c9c8e2f2cb6b021f5"},"4":{"line":4,"hash":"6d5ebe34615316f06f6dd3acb242d6c45fd0a4f3"},"5":{"line":5,"hash":"695fb73dd643a997d8de407c3f4833a44a7a453c"},"6":{"line":6,"hash":"986635a51581ca941ebbfc1f507c11601641f74b"},"7":{"line":7,"hash":"9b68019f94e0b453dbe036662deec231136c8ce4"},"8":{"line":8,"hash":"f7d8d23d90bcd939315cc745b96d53172d1e2be9"},"9":{"line":9,"hash":"47ea43ceb3ffac48354347e2e47f0bd90e102981"},"10":{"line":10,"hash":"1016d1c8a6aa59c58fb12d23efb44dba2e0480ae"},"11":{"line":11,"hash":"d32cf2a74a509c2d9196de6e43c8a780f9f505d0"},"12":{"line":12,"hash":"a69bf3702a807c9599b11f66fc85a4b1429d95ab"},"13":{"line":13,"hash":"60b7f129371a0e685d2a9c94cd9c1479007b5c91"},"14":{"line":14,"hash":"92f0e743b79e14dbd0a6087fd42f5a1ddbf93b26"},"15":{"line":15,"hash":"7f95b020b8958b23f759afbd54d9344f4669a535"},"16":{"line":16,"hash":"9db524430354104254d67db4051434bdc68f2d14"},"17":{"line":17,"hash":"3d7e96865f76ef6476c76b67ff49fdc2d21bce4f"},"18":{"line":18,"hash":"44bb7d8cfd73e64c74e22f8bed0d6a5667193531"},"19":{"line":19,"hash":"bff1fe0220fb48033239de52e4176c2e05393932"},"20":{"line":20,"hash":"c662345489073304966f607be98f82b58972ab67"},"21":{"line":21,"hash":"3268a838e132fb080b7dbf7a36df8071facda9e5"},"22":{"line":22,"hash":"ec674f1b5aeead8ddaad30f5b92ef844b19832ee"},"23":{"line":23,"hash":"3d5f103923637361c47a8287b67ae057eae76100"},"24":{"line":24,"hash":"e6abe915b19deb553689fb135eec736fed0cdfe6"},"25":{"line":25,"hash":"5a8a0a4d316cc94c30baff9517f17d7346667e8a"},"26":{"line":26,"hash":"d8f5dcff760645c789b443476a88bcd23328c385"},"27":{"line":27,"hash":"d118b82db5d471969cb743202827c6671795a992"},"28":{"line":28,"hash":"885766f872616d4d81895d97ed60f2b6072a1657"},"29":{"line":29,"hash":"a3e4fe59e1fdbfbfd01cf42cb5a5b1a4dce2a85a"},"30":{"line":30,"hash":"3c51638a6bff5cd6effca6d0013c623c94361bf1"},"31":{"line":31,"hash":"6f520b50be61131e3d78ea1a596a277a9af04165"},"32":{"line":32,"hash":"d85ae569d345a39a6921c62b09f5b55b0543c723"},"33":{"line":33,"hash":"1ee9df42a435ec8cfa0b3ea4a4839ecaa37b31e6"},"34":{"line":34,"hash":"60ff867709af5b4fb530ad68d17fad053e2117aa"},"35":{"line":35,"hash":"910df61f211d5d08ac07bec49f24e65b0e15df5d"},"36":{"line":36,"hash":"5874b4ea65f206fa9052d5679cbc8614c015dd02"},"37":{"line":37,"hash":"bc3fb457c6e97008d7d7ffedfd2f5c2be95ab070"},"38":{"line":38,"hash":"68fb7dc97739414cad3cd4e8f58799cf3059c09e"},"39":{"line":39,"hash":"74c17fdb061b75b87a6b561f8df7025e3dc6aa13"},"40":{"line":40,"hash":"41762132a3e4576443fc798733843450f3a55013"}} \ No newline at end of file +{"1":{"line":0},"2":{"line":1},"3":{"line":2},"4":{"line":3},"5":{"line":4},"6":{"line":5},"7":{"line":6},"8":{"line":7},"9":{"line":8},"10":{"line":9},"11":{"line":10},"12":{"line":11},"13":{"line":12},"14":{"line":13},"15":{"line":14},"16":{"line":15},"17":{"line":16},"18":{"line":17},"19":{"line":18},"20":{"line":19},"22":{"line":20},"23":{"line":21},"24":{"line":22},"25":{"line":23},"26":{"line":24},"27":{"line":25},"28":{"line":26},"29":{"line":27},"30":{"line":28},"31":{"line":29},"32":{"line":30},"33":{"line":31},"34":{"line":32},"35":{"line":33},"36":{"line":34},"37":{"line":35},"38":{"line":36},"39":{"line":37},"40":{"line":38},"42":{"line":39},"43":{"line":40},"44":{"line":41},"45":{"line":42}} \ No newline at end of file diff --git a/build/lightdb/storage/subject/data b/build/lightdb/storage/subject/data index 5b89af8..b7e4de2 100644 --- a/build/lightdb/storage/subject/data +++ b/build/lightdb/storage/subject/data @@ -1,7 +1 @@ -{"subject":{"id":1,"name":"Caroline", "surveys": [], "creation":1464788890}} -{"subject":{"id":2,"name":"Cl\u00e9ment", "surveys": [], "creation":1464788893}} -{"subject":{"id":3,"name":"Coralie", "surveys": [], "creation":1464788897}} -{"subject":{"id":4,"name":"Laurent", "surveys": [], "creation":1464788899}} -{"subject":{"id":5,"name":"Emilie", "surveys": [], "creation":1464788903}} -{"subject":{"id":6,"name":"C\u00e9line", "surveys": [], "creation":1464788905}} -{"subject":{"id":1,"name":"Caroline","surveys":[],"creation":1464788890}} +{"subject":{"id":3,"name":"Clarisse","surveys":["phone"],"creation":1479898736},"contacts":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,43,44,45],"relations":[{"idA":1,"idB":1,"type":4},{"idA":1,"idB":2,"type":4},{"idA":1,"idB":3,"type":4},{"idA":1,"idB":4,"type":4},{"idA":1,"idB":5,"type":4},{"idA":1,"idB":6,"type":4},{"idA":1,"idB":7,"type":4},{"idA":1,"idB":8,"type":4},{"idA":1,"idB":9,"type":4},{"idA":1,"idB":10,"type":4},{"idA":1,"idB":11,"type":4},{"idA":1,"idB":12,"type":4},{"idA":1,"idB":13,"type":4},{"idA":1,"idB":14,"type":4},{"idA":1,"idB":15,"type":4},{"idA":1,"idB":16,"type":4},{"idA":1,"idB":17,"type":4},{"idA":1,"idB":18,"type":4},{"idA":1,"idB":19,"type":4},{"idA":1,"idB":20,"type":4},{"idA":1,"idB":22,"type":5},{"idA":1,"idB":23,"type":5},{"idA":1,"idB":24,"type":5},{"idA":1,"idB":25,"type":5},{"idA":1,"idB":26,"type":5},{"idA":1,"idB":27,"type":5},{"idA":1,"idB":28,"type":5},{"idA":1,"idB":29,"type":5},{"idA":1,"idB":30,"type":5},{"idA":1,"idB":31,"type":5},{"idA":1,"idB":32,"type":5},{"idA":1,"idB":33,"type":5},{"idA":1,"idB":34,"type":5},{"idA":1,"idB":35,"type":5},{"idA":1,"idB":36,"type":5},{"idA":1,"idB":37,"type":5},{"idA":1,"idB":38,"type":5},{"idA":1,"idB":39,"type":5},{"idA":1,"idB":40,"type":5},{"idA":1,"idB":42,"type":2},{"idA":1,"idB":43,"type":2},{"idA":1,"idB":44,"type":2},{"idA":1,"idB":45,"type":2},{"idA":1,"idB":2,"type":1},{"idA":1,"idB":3,"type":0},{"idA":2,"idB":3,"type":0},{"idA":1,"idB":4,"type":0},{"idA":2,"idB":4,"type":0},{"idA":3,"idB":4,"type":0},{"idA":1,"idB":5,"type":0},{"idA":2,"idB":5,"type":0},{"idA":3,"idB":5,"type":0},{"idA":4,"idB":5,"type":0},{"idA":1,"idB":6,"type":0},{"idA":2,"idB":6,"type":0},{"idA":3,"idB":6,"type":0},{"idA":4,"idB":6,"type":0},{"idA":5,"idB":6,"type":0},{"idA":1,"idB":7,"type":0},{"idA":2,"idB":7,"type":0},{"idA":3,"idB":7,"type":0},{"idA":4,"idB":7,"type":0},{"idA":5,"idB":7,"type":0},{"idA":6,"idB":7,"type":0},{"idA":1,"idB":8,"type":0},{"idA":2,"idB":8,"type":0},{"idA":3,"idB":8,"type":0},{"idA":4,"idB":8,"type":0},{"idA":5,"idB":8,"type":0},{"idA":6,"idB":8,"type":0},{"idA":7,"idB":8,"type":0},{"idA":1,"idB":9,"type":0},{"idA":2,"idB":9,"type":0},{"idA":3,"idB":9,"type":0},{"idA":4,"idB":9,"type":0},{"idA":5,"idB":9,"type":0},{"idA":6,"idB":9,"type":0},{"idA":7,"idB":9,"type":0},{"idA":8,"idB":9,"type":0},{"idA":1,"idB":10,"type":0},{"idA":2,"idB":10,"type":0},{"idA":3,"idB":10,"type":0},{"idA":4,"idB":10,"type":0},{"idA":5,"idB":10,"type":0},{"idA":6,"idB":10,"type":0},{"idA":7,"idB":10,"type":0},{"idA":8,"idB":10,"type":0},{"idA":9,"idB":10,"type":0},{"idA":1,"idB":11,"type":0},{"idA":2,"idB":11,"type":0},{"idA":3,"idB":11,"type":0},{"idA":4,"idB":11,"type":0},{"idA":5,"idB":11,"type":0},{"idA":6,"idB":11,"type":0},{"idA":7,"idB":11,"type":0},{"idA":8,"idB":11,"type":0},{"idA":9,"idB":11,"type":0},{"idA":10,"idB":11,"type":0},{"idA":1,"idB":12,"type":1},{"idA":2,"idB":12,"type":0},{"idA":3,"idB":12,"type":0},{"idA":4,"idB":12,"type":0},{"idA":5,"idB":12,"type":0},{"idA":6,"idB":12,"type":1},{"idA":7,"idB":12,"type":0},{"idA":8,"idB":12,"type":0},{"idA":9,"idB":12,"type":0},{"idA":10,"idB":12,"type":0},{"idA":11,"idB":12,"type":0},{"idA":1,"idB":13,"type":0},{"idA":2,"idB":13,"type":0},{"idA":3,"idB":13,"type":0},{"idA":4,"idB":13,"type":0},{"idA":5,"idB":13,"type":0},{"idA":6,"idB":13,"type":0},{"idA":7,"idB":13,"type":0},{"idA":8,"idB":13,"type":0},{"idA":9,"idB":13,"type":0},{"idA":10,"idB":13,"type":0},{"idA":11,"idB":13,"type":0},{"idA":12,"idB":13,"type":0},{"idA":1,"idB":14,"type":0},{"idA":2,"idB":14,"type":0},{"idA":3,"idB":14,"type":0},{"idA":4,"idB":14,"type":0},{"idA":5,"idB":14,"type":0},{"idA":6,"idB":14,"type":0},{"idA":7,"idB":14,"type":0},{"idA":8,"idB":14,"type":0},{"idA":9,"idB":14,"type":0},{"idA":10,"idB":14,"type":0},{"idA":11,"idB":14,"type":0},{"idA":12,"idB":14,"type":0},{"idA":13,"idB":14,"type":0},{"idA":1,"idB":15,"type":0},{"idA":2,"idB":15,"type":0},{"idA":3,"idB":15,"type":0},{"idA":4,"idB":15,"type":0},{"idA":5,"idB":15,"type":0},{"idA":6,"idB":15,"type":0},{"idA":7,"idB":15,"type":0},{"idA":8,"idB":15,"type":0},{"idA":9,"idB":15,"type":0},{"idA":10,"idB":15,"type":0},{"idA":11,"idB":15,"type":0},{"idA":12,"idB":15,"type":0},{"idA":13,"idB":15,"type":0},{"idA":14,"idB":15,"type":0},{"idA":1,"idB":16,"type":0},{"idA":2,"idB":16,"type":0},{"idA":3,"idB":16,"type":0},{"idA":4,"idB":16,"type":0},{"idA":5,"idB":16,"type":0},{"idA":6,"idB":16,"type":0},{"idA":7,"idB":16,"type":0},{"idA":8,"idB":16,"type":0},{"idA":9,"idB":16,"type":0},{"idA":10,"idB":16,"type":0},{"idA":11,"idB":16,"type":0},{"idA":12,"idB":16,"type":0},{"idA":13,"idB":16,"type":0},{"idA":14,"idB":16,"type":0},{"idA":15,"idB":16,"type":0},{"idA":1,"idB":17,"type":0},{"idA":2,"idB":17,"type":0},{"idA":3,"idB":17,"type":0},{"idA":4,"idB":17,"type":0},{"idA":5,"idB":17,"type":1},{"idA":6,"idB":17,"type":0},{"idA":7,"idB":17,"type":0},{"idA":8,"idB":17,"type":0},{"idA":9,"idB":17,"type":0},{"idA":10,"idB":17,"type":0},{"idA":11,"idB":17,"type":0},{"idA":12,"idB":17,"type":0},{"idA":13,"idB":17,"type":0},{"idA":14,"idB":17,"type":0},{"idA":15,"idB":17,"type":0},{"idA":16,"idB":17,"type":0},{"idA":1,"idB":18,"type":0},{"idA":2,"idB":18,"type":0},{"idA":3,"idB":18,"type":0},{"idA":4,"idB":18,"type":0},{"idA":5,"idB":18,"type":0},{"idA":6,"idB":18,"type":0},{"idA":7,"idB":18,"type":0},{"idA":8,"idB":18,"type":0},{"idA":9,"idB":18,"type":0},{"idA":10,"idB":18,"type":0},{"idA":11,"idB":18,"type":0},{"idA":12,"idB":18,"type":0},{"idA":13,"idB":18,"type":0},{"idA":14,"idB":18,"type":0},{"idA":15,"idB":18,"type":0},{"idA":16,"idB":18,"type":0},{"idA":17,"idB":18,"type":0},{"idA":1,"idB":19,"type":0},{"idA":2,"idB":19,"type":0},{"idA":3,"idB":19,"type":0},{"idA":4,"idB":19,"type":0},{"idA":5,"idB":19,"type":0},{"idA":6,"idB":19,"type":0},{"idA":7,"idB":19,"type":0},{"idA":8,"idB":19,"type":0},{"idA":9,"idB":19,"type":0},{"idA":10,"idB":19,"type":0},{"idA":11,"idB":19,"type":0},{"idA":12,"idB":19,"type":0},{"idA":13,"idB":19,"type":0},{"idA":14,"idB":19,"type":0},{"idA":15,"idB":19,"type":0},{"idA":16,"idB":19,"type":0},{"idA":17,"idB":19,"type":0},{"idA":18,"idB":19,"type":0},{"idA":1,"idB":20,"type":0},{"idA":2,"idB":20,"type":0},{"idA":3,"idB":20,"type":0},{"idA":4,"idB":20,"type":0},{"idA":5,"idB":20,"type":0},{"idA":6,"idB":20,"type":0},{"idA":7,"idB":20,"type":0},{"idA":8,"idB":20,"type":0},{"idA":9,"idB":20,"type":0},{"idA":10,"idB":20,"type":0},{"idA":11,"idB":20,"type":0},{"idA":12,"idB":20,"type":0},{"idA":13,"idB":20,"type":0},{"idA":14,"idB":20,"type":0},{"idA":15,"idB":20,"type":0},{"idA":16,"idB":20,"type":0},{"idA":17,"idB":20,"type":0},{"idA":18,"idB":20,"type":0},{"idA":19,"idB":20,"type":0},{"idA":1,"idB":22,"type":0},{"idA":2,"idB":22,"type":0},{"idA":3,"idB":22,"type":0},{"idA":4,"idB":22,"type":0},{"idA":5,"idB":22,"type":0},{"idA":6,"idB":22,"type":0},{"idA":7,"idB":22,"type":0},{"idA":8,"idB":22,"type":0},{"idA":9,"idB":22,"type":0},{"idA":10,"idB":22,"type":0},{"idA":11,"idB":22,"type":0},{"idA":12,"idB":22,"type":0},{"idA":13,"idB":22,"type":0},{"idA":14,"idB":22,"type":0},{"idA":15,"idB":22,"type":0},{"idA":16,"idB":22,"type":0},{"idA":17,"idB":22,"type":0},{"idA":18,"idB":22,"type":0},{"idA":19,"idB":22,"type":0},{"idA":20,"idB":22,"type":0},{"idA":1,"idB":23,"type":0},{"idA":2,"idB":23,"type":0},{"idA":3,"idB":23,"type":0},{"idA":4,"idB":23,"type":0},{"idA":5,"idB":23,"type":0},{"idA":6,"idB":23,"type":0},{"idA":7,"idB":23,"type":0},{"idA":8,"idB":23,"type":0},{"idA":9,"idB":23,"type":0},{"idA":10,"idB":23,"type":0},{"idA":11,"idB":23,"type":0},{"idA":12,"idB":23,"type":0},{"idA":13,"idB":23,"type":0},{"idA":14,"idB":23,"type":0},{"idA":15,"idB":23,"type":0},{"idA":16,"idB":23,"type":0},{"idA":17,"idB":23,"type":0},{"idA":18,"idB":23,"type":0},{"idA":19,"idB":23,"type":0},{"idA":20,"idB":23,"type":0},{"idA":22,"idB":23,"type":0},{"idA":1,"idB":24,"type":0},{"idA":2,"idB":24,"type":0},{"idA":3,"idB":24,"type":0},{"idA":4,"idB":24,"type":0},{"idA":5,"idB":24,"type":0},{"idA":6,"idB":24,"type":1},{"idA":7,"idB":24,"type":0},{"idA":8,"idB":24,"type":0},{"idA":9,"idB":24,"type":0},{"idA":10,"idB":24,"type":0},{"idA":11,"idB":24,"type":0},{"idA":12,"idB":24,"type":0},{"idA":13,"idB":24,"type":0},{"idA":14,"idB":24,"type":0},{"idA":15,"idB":24,"type":0},{"idA":16,"idB":24,"type":0},{"idA":17,"idB":24,"type":0},{"idA":18,"idB":24,"type":0},{"idA":19,"idB":24,"type":0},{"idA":20,"idB":24,"type":0},{"idA":22,"idB":24,"type":0},{"idA":23,"idB":24,"type":0},{"idA":1,"idB":25,"type":0},{"idA":2,"idB":25,"type":0},{"idA":3,"idB":25,"type":0},{"idA":4,"idB":25,"type":0},{"idA":5,"idB":25,"type":0},{"idA":6,"idB":25,"type":0},{"idA":7,"idB":25,"type":0},{"idA":8,"idB":25,"type":0},{"idA":9,"idB":25,"type":0},{"idA":10,"idB":25,"type":0},{"idA":11,"idB":25,"type":0},{"idA":12,"idB":25,"type":0},{"idA":13,"idB":25,"type":0},{"idA":14,"idB":25,"type":0},{"idA":15,"idB":25,"type":0},{"idA":16,"idB":25,"type":0},{"idA":17,"idB":25,"type":0},{"idA":18,"idB":25,"type":0},{"idA":19,"idB":25,"type":0},{"idA":20,"idB":25,"type":0},{"idA":22,"idB":25,"type":0},{"idA":23,"idB":25,"type":0},{"idA":24,"idB":25,"type":0},{"idA":1,"idB":26,"type":1},{"idA":2,"idB":26,"type":0},{"idA":3,"idB":26,"type":0},{"idA":4,"idB":26,"type":0},{"idA":5,"idB":26,"type":0},{"idA":6,"idB":26,"type":0},{"idA":7,"idB":26,"type":0},{"idA":8,"idB":26,"type":0},{"idA":9,"idB":26,"type":0},{"idA":10,"idB":26,"type":0},{"idA":11,"idB":26,"type":0},{"idA":12,"idB":26,"type":0},{"idA":13,"idB":26,"type":0},{"idA":14,"idB":26,"type":0},{"idA":15,"idB":26,"type":0},{"idA":16,"idB":26,"type":0},{"idA":17,"idB":26,"type":0},{"idA":18,"idB":26,"type":0},{"idA":19,"idB":26,"type":0},{"idA":20,"idB":26,"type":0},{"idA":22,"idB":26,"type":0},{"idA":23,"idB":26,"type":0},{"idA":24,"idB":26,"type":0},{"idA":25,"idB":26,"type":0},{"idA":1,"idB":27,"type":0},{"idA":2,"idB":27,"type":0},{"idA":3,"idB":27,"type":0},{"idA":4,"idB":27,"type":0},{"idA":5,"idB":27,"type":1},{"idA":6,"idB":27,"type":0},{"idA":7,"idB":27,"type":0},{"idA":8,"idB":27,"type":0},{"idA":9,"idB":27,"type":0},{"idA":10,"idB":27,"type":0},{"idA":11,"idB":27,"type":0},{"idA":12,"idB":27,"type":0},{"idA":13,"idB":27,"type":0},{"idA":14,"idB":27,"type":0},{"idA":15,"idB":27,"type":0},{"idA":16,"idB":27,"type":0},{"idA":17,"idB":27,"type":0},{"idA":18,"idB":27,"type":0},{"idA":19,"idB":27,"type":0},{"idA":20,"idB":27,"type":0},{"idA":22,"idB":27,"type":0},{"idA":23,"idB":27,"type":0},{"idA":24,"idB":27,"type":0},{"idA":25,"idB":27,"type":0},{"idA":26,"idB":27,"type":0},{"idA":1,"idB":28,"type":0},{"idA":2,"idB":28,"type":0},{"idA":3,"idB":28,"type":0},{"idA":4,"idB":28,"type":0},{"idA":5,"idB":28,"type":0},{"idA":6,"idB":28,"type":1},{"idA":7,"idB":28,"type":0},{"idA":8,"idB":28,"type":0},{"idA":9,"idB":28,"type":0},{"idA":10,"idB":28,"type":0},{"idA":11,"idB":28,"type":0},{"idA":12,"idB":28,"type":0},{"idA":13,"idB":28,"type":0},{"idA":14,"idB":28,"type":0},{"idA":15,"idB":28,"type":0},{"idA":16,"idB":28,"type":0},{"idA":17,"idB":28,"type":0},{"idA":18,"idB":28,"type":0},{"idA":19,"idB":28,"type":0},{"idA":20,"idB":28,"type":0},{"idA":22,"idB":28,"type":0},{"idA":23,"idB":28,"type":0},{"idA":24,"idB":28,"type":0},{"idA":25,"idB":28,"type":0},{"idA":26,"idB":28,"type":0},{"idA":27,"idB":28,"type":0},{"idA":1,"idB":29,"type":1},{"idA":2,"idB":29,"type":0},{"idA":3,"idB":29,"type":0},{"idA":4,"idB":29,"type":0},{"idA":5,"idB":29,"type":0},{"idA":6,"idB":29,"type":0},{"idA":7,"idB":29,"type":0},{"idA":8,"idB":29,"type":0},{"idA":9,"idB":29,"type":0},{"idA":10,"idB":29,"type":0},{"idA":11,"idB":29,"type":0},{"idA":12,"idB":29,"type":0},{"idA":13,"idB":29,"type":0},{"idA":14,"idB":29,"type":0},{"idA":15,"idB":29,"type":0},{"idA":16,"idB":29,"type":0},{"idA":17,"idB":29,"type":0},{"idA":18,"idB":29,"type":0},{"idA":19,"idB":29,"type":0},{"idA":20,"idB":29,"type":0},{"idA":22,"idB":29,"type":0},{"idA":23,"idB":29,"type":0},{"idA":24,"idB":29,"type":0},{"idA":25,"idB":29,"type":0},{"idA":26,"idB":29,"type":0},{"idA":27,"idB":29,"type":0},{"idA":28,"idB":29,"type":0},{"idA":1,"idB":30,"type":0},{"idA":2,"idB":30,"type":0},{"idA":3,"idB":30,"type":0},{"idA":4,"idB":30,"type":0},{"idA":5,"idB":30,"type":0},{"idA":6,"idB":30,"type":0},{"idA":7,"idB":30,"type":0},{"idA":8,"idB":30,"type":0},{"idA":9,"idB":30,"type":0},{"idA":10,"idB":30,"type":0},{"idA":11,"idB":30,"type":0},{"idA":12,"idB":30,"type":0},{"idA":13,"idB":30,"type":0},{"idA":14,"idB":30,"type":0},{"idA":15,"idB":30,"type":0},{"idA":16,"idB":30,"type":0},{"idA":17,"idB":30,"type":0},{"idA":18,"idB":30,"type":0},{"idA":19,"idB":30,"type":0},{"idA":20,"idB":30,"type":0},{"idA":22,"idB":30,"type":0},{"idA":23,"idB":30,"type":0},{"idA":24,"idB":30,"type":0},{"idA":25,"idB":30,"type":0},{"idA":26,"idB":30,"type":0},{"idA":27,"idB":30,"type":0},{"idA":28,"idB":30,"type":0},{"idA":29,"idB":30,"type":0},{"idA":1,"idB":31,"type":0},{"idA":2,"idB":31,"type":0},{"idA":3,"idB":31,"type":0},{"idA":4,"idB":31,"type":0},{"idA":5,"idB":31,"type":0},{"idA":6,"idB":31,"type":0},{"idA":7,"idB":31,"type":0},{"idA":8,"idB":31,"type":0},{"idA":9,"idB":31,"type":0},{"idA":10,"idB":31,"type":0},{"idA":11,"idB":31,"type":0},{"idA":12,"idB":31,"type":0},{"idA":13,"idB":31,"type":0},{"idA":14,"idB":31,"type":0},{"idA":15,"idB":31,"type":0},{"idA":16,"idB":31,"type":0},{"idA":17,"idB":31,"type":0},{"idA":18,"idB":31,"type":0},{"idA":19,"idB":31,"type":0},{"idA":20,"idB":31,"type":0},{"idA":22,"idB":31,"type":0},{"idA":23,"idB":31,"type":0},{"idA":24,"idB":31,"type":0},{"idA":25,"idB":31,"type":0},{"idA":26,"idB":31,"type":0},{"idA":27,"idB":31,"type":0},{"idA":28,"idB":31,"type":0},{"idA":29,"idB":31,"type":0},{"idA":30,"idB":31,"type":0},{"idA":1,"idB":32,"type":0},{"idA":2,"idB":32,"type":0},{"idA":3,"idB":32,"type":0},{"idA":4,"idB":32,"type":0},{"idA":5,"idB":32,"type":0},{"idA":6,"idB":32,"type":0},{"idA":7,"idB":32,"type":0},{"idA":8,"idB":32,"type":0},{"idA":9,"idB":32,"type":0},{"idA":10,"idB":32,"type":0},{"idA":11,"idB":32,"type":0},{"idA":12,"idB":32,"type":0},{"idA":13,"idB":32,"type":0},{"idA":14,"idB":32,"type":0},{"idA":15,"idB":32,"type":0},{"idA":16,"idB":32,"type":0},{"idA":17,"idB":32,"type":0},{"idA":18,"idB":32,"type":0},{"idA":19,"idB":32,"type":0},{"idA":20,"idB":32,"type":0},{"idA":22,"idB":32,"type":0},{"idA":23,"idB":32,"type":0},{"idA":24,"idB":32,"type":0},{"idA":25,"idB":32,"type":0},{"idA":26,"idB":32,"type":0},{"idA":27,"idB":32,"type":0},{"idA":28,"idB":32,"type":0},{"idA":29,"idB":32,"type":0},{"idA":30,"idB":32,"type":0},{"idA":31,"idB":32,"type":0},{"idA":1,"idB":33,"type":0},{"idA":2,"idB":33,"type":0},{"idA":3,"idB":33,"type":0},{"idA":4,"idB":33,"type":0},{"idA":5,"idB":33,"type":0},{"idA":6,"idB":33,"type":0},{"idA":7,"idB":33,"type":0},{"idA":8,"idB":33,"type":0},{"idA":9,"idB":33,"type":0},{"idA":10,"idB":33,"type":0},{"idA":11,"idB":33,"type":0},{"idA":12,"idB":33,"type":0},{"idA":13,"idB":33,"type":0},{"idA":14,"idB":33,"type":0},{"idA":15,"idB":33,"type":0},{"idA":16,"idB":33,"type":0},{"idA":17,"idB":33,"type":0},{"idA":18,"idB":33,"type":0},{"idA":19,"idB":33,"type":0},{"idA":20,"idB":33,"type":0},{"idA":22,"idB":33,"type":0},{"idA":23,"idB":33,"type":0},{"idA":24,"idB":33,"type":0},{"idA":25,"idB":33,"type":0},{"idA":26,"idB":33,"type":0},{"idA":27,"idB":33,"type":0},{"idA":28,"idB":33,"type":0},{"idA":29,"idB":33,"type":0},{"idA":30,"idB":33,"type":0},{"idA":31,"idB":33,"type":0},{"idA":32,"idB":33,"type":0},{"idA":1,"idB":34,"type":0},{"idA":2,"idB":34,"type":0},{"idA":3,"idB":34,"type":0},{"idA":4,"idB":34,"type":0},{"idA":5,"idB":34,"type":0},{"idA":6,"idB":34,"type":0},{"idA":7,"idB":34,"type":0},{"idA":8,"idB":34,"type":0},{"idA":9,"idB":34,"type":0},{"idA":10,"idB":34,"type":0},{"idA":11,"idB":34,"type":0},{"idA":12,"idB":34,"type":0},{"idA":13,"idB":34,"type":0},{"idA":14,"idB":34,"type":0},{"idA":15,"idB":34,"type":0},{"idA":16,"idB":34,"type":0},{"idA":17,"idB":34,"type":0},{"idA":18,"idB":34,"type":0},{"idA":19,"idB":34,"type":0},{"idA":20,"idB":34,"type":0},{"idA":22,"idB":34,"type":0},{"idA":23,"idB":34,"type":0},{"idA":24,"idB":34,"type":0},{"idA":25,"idB":34,"type":0},{"idA":26,"idB":34,"type":0},{"idA":27,"idB":34,"type":0},{"idA":28,"idB":34,"type":0},{"idA":29,"idB":34,"type":0},{"idA":30,"idB":34,"type":0},{"idA":31,"idB":34,"type":0},{"idA":32,"idB":34,"type":0},{"idA":33,"idB":34,"type":0},{"idA":1,"idB":35,"type":0},{"idA":2,"idB":35,"type":0},{"idA":3,"idB":35,"type":0},{"idA":4,"idB":35,"type":0},{"idA":5,"idB":35,"type":0},{"idA":6,"idB":35,"type":0},{"idA":7,"idB":35,"type":0},{"idA":8,"idB":35,"type":0},{"idA":9,"idB":35,"type":0},{"idA":10,"idB":35,"type":0},{"idA":11,"idB":35,"type":0},{"idA":12,"idB":35,"type":0},{"idA":13,"idB":35,"type":0},{"idA":14,"idB":35,"type":0},{"idA":15,"idB":35,"type":0},{"idA":16,"idB":35,"type":0},{"idA":17,"idB":35,"type":0},{"idA":18,"idB":35,"type":0},{"idA":19,"idB":35,"type":0},{"idA":20,"idB":35,"type":0},{"idA":22,"idB":35,"type":0},{"idA":23,"idB":35,"type":0},{"idA":24,"idB":35,"type":0},{"idA":25,"idB":35,"type":0},{"idA":26,"idB":35,"type":0},{"idA":27,"idB":35,"type":0},{"idA":28,"idB":35,"type":0},{"idA":29,"idB":35,"type":0},{"idA":30,"idB":35,"type":0},{"idA":31,"idB":35,"type":0},{"idA":32,"idB":35,"type":0},{"idA":33,"idB":35,"type":1},{"idA":34,"idB":35,"type":1},{"idA":1,"idB":36,"type":0},{"idA":2,"idB":36,"type":0},{"idA":3,"idB":36,"type":0},{"idA":4,"idB":36,"type":0},{"idA":5,"idB":36,"type":0},{"idA":6,"idB":36,"type":0},{"idA":7,"idB":36,"type":0},{"idA":8,"idB":36,"type":0},{"idA":9,"idB":36,"type":0},{"idA":10,"idB":36,"type":0},{"idA":11,"idB":36,"type":0},{"idA":12,"idB":36,"type":0},{"idA":13,"idB":36,"type":0},{"idA":14,"idB":36,"type":0},{"idA":15,"idB":36,"type":0},{"idA":16,"idB":36,"type":0},{"idA":17,"idB":36,"type":0},{"idA":18,"idB":36,"type":0},{"idA":19,"idB":36,"type":0},{"idA":20,"idB":36,"type":0},{"idA":22,"idB":36,"type":0},{"idA":23,"idB":36,"type":0},{"idA":24,"idB":36,"type":0},{"idA":25,"idB":36,"type":0},{"idA":26,"idB":36,"type":0},{"idA":27,"idB":36,"type":0},{"idA":28,"idB":36,"type":0},{"idA":29,"idB":36,"type":0},{"idA":30,"idB":36,"type":0},{"idA":31,"idB":36,"type":0},{"idA":32,"idB":36,"type":0},{"idA":33,"idB":36,"type":0},{"idA":34,"idB":36,"type":0},{"idA":35,"idB":36,"type":0},{"idA":1,"idB":37,"type":0},{"idA":2,"idB":37,"type":0},{"idA":3,"idB":37,"type":0},{"idA":4,"idB":37,"type":0},{"idA":5,"idB":37,"type":0},{"idA":6,"idB":37,"type":0},{"idA":7,"idB":37,"type":0},{"idA":8,"idB":37,"type":0},{"idA":9,"idB":37,"type":0},{"idA":10,"idB":37,"type":0},{"idA":11,"idB":37,"type":0},{"idA":12,"idB":37,"type":0},{"idA":13,"idB":37,"type":0},{"idA":14,"idB":37,"type":0},{"idA":15,"idB":37,"type":0},{"idA":16,"idB":37,"type":0},{"idA":17,"idB":37,"type":0},{"idA":18,"idB":37,"type":0},{"idA":19,"idB":37,"type":0},{"idA":20,"idB":37,"type":0},{"idA":22,"idB":37,"type":0},{"idA":23,"idB":37,"type":0},{"idA":24,"idB":37,"type":0},{"idA":25,"idB":37,"type":0},{"idA":26,"idB":37,"type":0},{"idA":27,"idB":37,"type":0},{"idA":28,"idB":37,"type":0},{"idA":29,"idB":37,"type":0},{"idA":30,"idB":37,"type":0},{"idA":31,"idB":37,"type":0},{"idA":32,"idB":37,"type":1},{"idA":33,"idB":37,"type":0},{"idA":34,"idB":37,"type":0},{"idA":35,"idB":37,"type":0},{"idA":36,"idB":37,"type":0},{"idA":1,"idB":38,"type":0},{"idA":2,"idB":38,"type":0},{"idA":3,"idB":38,"type":0},{"idA":4,"idB":38,"type":0},{"idA":5,"idB":38,"type":0},{"idA":6,"idB":38,"type":0},{"idA":7,"idB":38,"type":0},{"idA":8,"idB":38,"type":0},{"idA":9,"idB":38,"type":0},{"idA":10,"idB":38,"type":0},{"idA":11,"idB":38,"type":0},{"idA":12,"idB":38,"type":0},{"idA":13,"idB":38,"type":0},{"idA":14,"idB":38,"type":0},{"idA":15,"idB":38,"type":0},{"idA":16,"idB":38,"type":0},{"idA":17,"idB":38,"type":0},{"idA":18,"idB":38,"type":0},{"idA":19,"idB":38,"type":0},{"idA":20,"idB":38,"type":0},{"idA":22,"idB":38,"type":0},{"idA":23,"idB":38,"type":0},{"idA":24,"idB":38,"type":0},{"idA":25,"idB":38,"type":0},{"idA":26,"idB":38,"type":0},{"idA":27,"idB":38,"type":0},{"idA":28,"idB":38,"type":0},{"idA":29,"idB":38,"type":0},{"idA":30,"idB":38,"type":0},{"idA":31,"idB":38,"type":0},{"idA":32,"idB":38,"type":1},{"idA":33,"idB":38,"type":0},{"idA":34,"idB":38,"type":0},{"idA":35,"idB":38,"type":0},{"idA":36,"idB":38,"type":1},{"idA":37,"idB":38,"type":0},{"idA":1,"idB":39,"type":0},{"idA":2,"idB":39,"type":0},{"idA":3,"idB":39,"type":0},{"idA":4,"idB":39,"type":0},{"idA":5,"idB":39,"type":0},{"idA":6,"idB":39,"type":0},{"idA":7,"idB":39,"type":0},{"idA":8,"idB":39,"type":0},{"idA":9,"idB":39,"type":0},{"idA":10,"idB":39,"type":0},{"idA":11,"idB":39,"type":0},{"idA":12,"idB":39,"type":0},{"idA":13,"idB":39,"type":0},{"idA":14,"idB":39,"type":0},{"idA":15,"idB":39,"type":0},{"idA":16,"idB":39,"type":0},{"idA":17,"idB":39,"type":0},{"idA":18,"idB":39,"type":0},{"idA":19,"idB":39,"type":0},{"idA":20,"idB":39,"type":0},{"idA":22,"idB":39,"type":0},{"idA":23,"idB":39,"type":0},{"idA":24,"idB":39,"type":0},{"idA":25,"idB":39,"type":0},{"idA":26,"idB":39,"type":0},{"idA":27,"idB":39,"type":0},{"idA":28,"idB":39,"type":0},{"idA":29,"idB":39,"type":0},{"idA":30,"idB":39,"type":0},{"idA":31,"idB":39,"type":0},{"idA":32,"idB":39,"type":0},{"idA":33,"idB":39,"type":0},{"idA":34,"idB":39,"type":1},{"idA":35,"idB":39,"type":0},{"idA":36,"idB":39,"type":0},{"idA":37,"idB":39,"type":0},{"idA":38,"idB":39,"type":0},{"idA":1,"idB":40,"type":0},{"idA":2,"idB":40,"type":0},{"idA":3,"idB":40,"type":0},{"idA":4,"idB":40,"type":0},{"idA":5,"idB":40,"type":0},{"idA":6,"idB":40,"type":0},{"idA":7,"idB":40,"type":0},{"idA":8,"idB":40,"type":0},{"idA":9,"idB":40,"type":0},{"idA":10,"idB":40,"type":0},{"idA":11,"idB":40,"type":0},{"idA":12,"idB":40,"type":0},{"idA":13,"idB":40,"type":0},{"idA":14,"idB":40,"type":0},{"idA":15,"idB":40,"type":0},{"idA":16,"idB":40,"type":0},{"idA":17,"idB":40,"type":0},{"idA":18,"idB":40,"type":0},{"idA":19,"idB":40,"type":0},{"idA":20,"idB":40,"type":0},{"idA":22,"idB":40,"type":0},{"idA":23,"idB":40,"type":0},{"idA":24,"idB":40,"type":0},{"idA":25,"idB":40,"type":0},{"idA":26,"idB":40,"type":0},{"idA":27,"idB":40,"type":0},{"idA":28,"idB":40,"type":0},{"idA":29,"idB":40,"type":0},{"idA":30,"idB":40,"type":0},{"idA":31,"idB":40,"type":0},{"idA":32,"idB":40,"type":0},{"idA":33,"idB":40,"type":0},{"idA":34,"idB":40,"type":0},{"idA":35,"idB":40,"type":0},{"idA":36,"idB":40,"type":0},{"idA":37,"idB":40,"type":0},{"idA":38,"idB":40,"type":0},{"idA":39,"idB":40,"type":0},{"idA":1,"idB":41,"type":0},{"idA":2,"idB":41,"type":0},{"idA":3,"idB":41,"type":0},{"idA":4,"idB":41,"type":0},{"idA":5,"idB":41,"type":0},{"idA":6,"idB":41,"type":0},{"idA":7,"idB":41,"type":0},{"idA":8,"idB":41,"type":0},{"idA":9,"idB":41,"type":0},{"idA":10,"idB":41,"type":0},{"idA":11,"idB":41,"type":0},{"idA":12,"idB":41,"type":0},{"idA":13,"idB":41,"type":0},{"idA":14,"idB":41,"type":0},{"idA":15,"idB":41,"type":0},{"idA":16,"idB":41,"type":0},{"idA":17,"idB":41,"type":0},{"idA":18,"idB":41,"type":0},{"idA":19,"idB":41,"type":0},{"idA":20,"idB":41,"type":0},{"idA":22,"idB":41,"type":0},{"idA":23,"idB":41,"type":0},{"idA":24,"idB":41,"type":0},{"idA":25,"idB":41,"type":0},{"idA":26,"idB":41,"type":0},{"idA":27,"idB":41,"type":0},{"idA":28,"idB":41,"type":0},{"idA":29,"idB":41,"type":0},{"idA":30,"idB":41,"type":0},{"idA":31,"idB":41,"type":0},{"idA":32,"idB":41,"type":0},{"idA":33,"idB":41,"type":0},{"idA":34,"idB":41,"type":0},{"idA":35,"idB":41,"type":0},{"idA":36,"idB":41,"type":0},{"idA":37,"idB":41,"type":0},{"idA":38,"idB":41,"type":0},{"idA":39,"idB":41,"type":0},{"idA":40,"idB":41,"type":0},{"idA":1,"idB":42,"type":0},{"idA":2,"idB":42,"type":0},{"idA":3,"idB":42,"type":0},{"idA":4,"idB":42,"type":0},{"idA":5,"idB":42,"type":0},{"idA":6,"idB":42,"type":0},{"idA":7,"idB":42,"type":0},{"idA":8,"idB":42,"type":0},{"idA":9,"idB":42,"type":0},{"idA":10,"idB":42,"type":0},{"idA":11,"idB":42,"type":0},{"idA":12,"idB":42,"type":0},{"idA":13,"idB":42,"type":0},{"idA":14,"idB":42,"type":0},{"idA":15,"idB":42,"type":0},{"idA":16,"idB":42,"type":0},{"idA":17,"idB":42,"type":0},{"idA":18,"idB":42,"type":0},{"idA":19,"idB":42,"type":0},{"idA":20,"idB":42,"type":0},{"idA":22,"idB":42,"type":0},{"idA":23,"idB":42,"type":0},{"idA":24,"idB":42,"type":0},{"idA":25,"idB":42,"type":0},{"idA":26,"idB":42,"type":0},{"idA":27,"idB":42,"type":0},{"idA":28,"idB":42,"type":0},{"idA":29,"idB":42,"type":0},{"idA":30,"idB":42,"type":0},{"idA":31,"idB":42,"type":0},{"idA":32,"idB":42,"type":0},{"idA":33,"idB":42,"type":0},{"idA":34,"idB":42,"type":0},{"idA":35,"idB":42,"type":0},{"idA":36,"idB":42,"type":0},{"idA":37,"idB":42,"type":0},{"idA":38,"idB":42,"type":0},{"idA":39,"idB":42,"type":0},{"idA":40,"idB":42,"type":0},{"idA":41,"idB":42,"type":0},{"idA":1,"idB":43,"type":0},{"idA":2,"idB":43,"type":0},{"idA":3,"idB":43,"type":0},{"idA":4,"idB":43,"type":0},{"idA":5,"idB":43,"type":0},{"idA":6,"idB":43,"type":0},{"idA":7,"idB":43,"type":0},{"idA":8,"idB":43,"type":0},{"idA":9,"idB":43,"type":0},{"idA":10,"idB":43,"type":0},{"idA":11,"idB":43,"type":0},{"idA":12,"idB":43,"type":0},{"idA":13,"idB":43,"type":0},{"idA":14,"idB":43,"type":0},{"idA":15,"idB":43,"type":0},{"idA":16,"idB":43,"type":0},{"idA":17,"idB":43,"type":0},{"idA":18,"idB":43,"type":0},{"idA":19,"idB":43,"type":0},{"idA":20,"idB":43,"type":0},{"idA":22,"idB":43,"type":0},{"idA":23,"idB":43,"type":0},{"idA":24,"idB":43,"type":0},{"idA":25,"idB":43,"type":0},{"idA":26,"idB":43,"type":0},{"idA":27,"idB":43,"type":0},{"idA":28,"idB":43,"type":0},{"idA":29,"idB":43,"type":0},{"idA":30,"idB":43,"type":0},{"idA":31,"idB":43,"type":0},{"idA":32,"idB":43,"type":0},{"idA":33,"idB":43,"type":0},{"idA":34,"idB":43,"type":0},{"idA":35,"idB":43,"type":0},{"idA":36,"idB":43,"type":0},{"idA":37,"idB":43,"type":0},{"idA":38,"idB":43,"type":0},{"idA":39,"idB":43,"type":0},{"idA":40,"idB":43,"type":0},{"idA":41,"idB":43,"type":0},{"idA":42,"idB":43,"type":0},{"idA":1,"idB":44,"type":0},{"idA":2,"idB":44,"type":0},{"idA":3,"idB":44,"type":0},{"idA":4,"idB":44,"type":0},{"idA":5,"idB":44,"type":0},{"idA":6,"idB":44,"type":0},{"idA":7,"idB":44,"type":0},{"idA":8,"idB":44,"type":0},{"idA":9,"idB":44,"type":0},{"idA":10,"idB":44,"type":0},{"idA":11,"idB":44,"type":0},{"idA":12,"idB":44,"type":0},{"idA":13,"idB":44,"type":0},{"idA":14,"idB":44,"type":0},{"idA":15,"idB":44,"type":0},{"idA":16,"idB":44,"type":0},{"idA":17,"idB":44,"type":0},{"idA":18,"idB":44,"type":0},{"idA":19,"idB":44,"type":0},{"idA":20,"idB":44,"type":0},{"idA":22,"idB":44,"type":0},{"idA":23,"idB":44,"type":0},{"idA":24,"idB":44,"type":0},{"idA":25,"idB":44,"type":0},{"idA":26,"idB":44,"type":0},{"idA":27,"idB":44,"type":0},{"idA":28,"idB":44,"type":0},{"idA":29,"idB":44,"type":0},{"idA":30,"idB":44,"type":0},{"idA":31,"idB":44,"type":0},{"idA":32,"idB":44,"type":0},{"idA":33,"idB":44,"type":0},{"idA":34,"idB":44,"type":0},{"idA":35,"idB":44,"type":0},{"idA":36,"idB":44,"type":0},{"idA":37,"idB":44,"type":0},{"idA":38,"idB":44,"type":0},{"idA":39,"idB":44,"type":0},{"idA":40,"idB":44,"type":0},{"idA":41,"idB":44,"type":0},{"idA":42,"idB":44,"type":0},{"idA":43,"idB":44,"type":0},{"idA":1,"idB":45,"type":0},{"idA":2,"idB":45,"type":0},{"idA":3,"idB":45,"type":0},{"idA":4,"idB":45,"type":0},{"idA":5,"idB":45,"type":0},{"idA":6,"idB":45,"type":0},{"idA":7,"idB":45,"type":0},{"idA":8,"idB":45,"type":0},{"idA":9,"idB":45,"type":0},{"idA":10,"idB":45,"type":0},{"idA":11,"idB":45,"type":0},{"idA":12,"idB":45,"type":0},{"idA":13,"idB":45,"type":0},{"idA":14,"idB":45,"type":0},{"idA":15,"idB":45,"type":0},{"idA":16,"idB":45,"type":0},{"idA":17,"idB":45,"type":0},{"idA":18,"idB":45,"type":0},{"idA":19,"idB":45,"type":0},{"idA":20,"idB":45,"type":0},{"idA":22,"idB":45,"type":0},{"idA":23,"idB":45,"type":0},{"idA":24,"idB":45,"type":0},{"idA":25,"idB":45,"type":0},{"idA":26,"idB":45,"type":0},{"idA":27,"idB":45,"type":0},{"idA":28,"idB":45,"type":0},{"idA":29,"idB":45,"type":0},{"idA":30,"idB":45,"type":0},{"idA":31,"idB":45,"type":0},{"idA":32,"idB":45,"type":0},{"idA":33,"idB":45,"type":0},{"idA":34,"idB":45,"type":0},{"idA":35,"idB":45,"type":0},{"idA":36,"idB":45,"type":0},{"idA":37,"idB":45,"type":0},{"idA":38,"idB":45,"type":0},{"idA":39,"idB":45,"type":0},{"idA":40,"idB":45,"type":0},{"idA":41,"idB":45,"type":0},{"idA":42,"idB":45,"type":0},{"idA":43,"idB":45,"type":0},{"idA":44,"idB":45,"type":0}]} diff --git a/build/lightdb/storage/subject/index b/build/lightdb/storage/subject/index index 45fe13c..3360d54 100644 --- a/build/lightdb/storage/subject/index +++ b/build/lightdb/storage/subject/index @@ -1 +1 @@ -{"2":{"line":0,"hash":"a7b9d5cf6cfb41c0b100d91d053032bdad3a80da"},"3":{"line":1,"hash":"ef73002b8217c3c3b87a62b8ae4c69b3994c114f"},"4":{"line":2,"hash":"5cf77d4e920f1b418bf78484bc1766fb84baabb9"},"5":{"line":3,"hash":"356e841ad04cb0f553fe47eab88bf550d6853c60"},"6":{"line":4,"hash":"7d070210aed5df40ee7e2ca4b54f29c672d32a89"},"7":{"line":5,"hash":"9e4936de2cf03d46135bbac3589a1e3ce68fb406"},"1":{"line":6,"hash":"3220079028ee4e722040157bd2e8248cb4c7d637"}} \ No newline at end of file +{"1":{"line":0}} \ No newline at end of file diff --git a/build/lightdb/storage/uniqid b/build/lightdb/storage/uniqid index 86ee83a..7d37386 100644 --- a/build/lightdb/storage/uniqid +++ b/build/lightdb/storage/uniqid @@ -1 +1 @@ -40 \ No newline at end of file +45 \ No newline at end of file diff --git a/public_html/test.php b/public_html/test.php index f710fb0..9a9cb2e 100644 --- a/public_html/test.php +++ b/public_html/test.php @@ -2,27 +2,36 @@ require_once __ROOT__.'/autoloader.php'; + debug(); + use \lightdb\core\lightdb; $sl = new lightdb('subject'); $cl = new lightdb('contact'); - /* [1] Remove contacts - =========================================================*/ - $sub = $sl->fetch(1); + if( true ){ - $contactIds = $sub['contacts']; - $cl->deleteAll($contactsIds); + /* [1] Remove contacts + =========================================================*/ + $sub = $sl->fetch(1); - /* [2] Reset subject - =========================================================*/ - unset( $sub['contacts'] ); - unset( $sub['relations'] ); - $sub['subject']['surveys'] = []; + $cl->deleteAll( $sub['contacts'] ); - $sl->delete(1); - $sl->insert(1, $sub); + /* [2] Reset subject + =========================================================*/ + + unset( $sub['contacts'] ); + unset( $sub['relations'] ); + $sub['subject']['surveys'] = []; + + $sl->delete(1); + $sl->insert(1, $sub); + + } + + $sl->close(); + $cl->close(); ?> From 05aacfdad34e9593418047d142f86e47f433d67c Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Wed, 23 Nov 2016 13:38:15 +0100 Subject: [PATCH 08/11] =?UTF-8?q?`input/phone`=20et=20`input/facebook`=20f?= =?UTF-8?q?onctionnels=20[FUNC]=20reste=20=C3=A0=20faire=20l'export?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/api/module/input.php | 316 +++++++++++++++++++--------- build/lightdb/storage/contact/data | 138 ++++++++---- build/lightdb/storage/contact/index | 2 +- build/lightdb/storage/subject/data | 2 +- build/lightdb/storage/uniqid | 2 +- public_html/test.php | 18 +- 6 files changed, 331 insertions(+), 147 deletions(-) diff --git a/build/api/module/input.php b/build/api/module/input.php index 509b8cf..4d29289 100644 --- a/build/api/module/input.php +++ b/build/api/module/input.php @@ -24,11 +24,14 @@ public static function phone($params){ extract($params); + $START_TIME = microtime(true); + /* [1] On récupère l'id unique actuel =========================================================*/ $funiq = fopen( __BUILD__.'/lightdb/storage/uniqid', 'r+' ); flock($funiq, LOCK_EX); // On verrouille le fichier - $uniqid = fgets( $funiq ); + $uniqid = trim( fgets( $funiq ) ); + if( !is_numeric($uniqid) ) $uniqid = 0; @@ -40,7 +43,7 @@ $subject_id = intval($subject['subject_id']); // Contiendra la valeur de l'id maximum - $maxId = $offset; + $maxId = $offset; /* [2] On initialise nos variables (lightdb + autres) @@ -77,13 +80,16 @@ $subject_set['subject']['surveys'][] = 'phone'; /* (5) On récupère les noms des contacts */ - $contactsById = []; // idContact -> nomContact + $contactsById = []; // idContact -> nomContact, typeEnquete ('mini' ou 'fiche') foreach($subject_set['contacts'] as $contactId){ $contactId = intval($contactId); $contactData = $contactdb->fetch( $contactId ); - $contactsById[$contactId] = $contactData['name']; + $contactsById[$contactId] = [ + 'name' => $contactData['name'], + 'type' => isset($contactData['studies2']) ? 'fiche' : 'mini' + ]; } @@ -98,26 +104,39 @@ foreach($fiches as $f=>$ficheData){ /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$ficheData['contact']]) ) + if( !isset($contacts[$ficheData['uid']]) ) continue; - $contact = $contacts[ $ficheData['contact'] ]; + $contact = $contacts[ $ficheData['uid'] ]; /* (2) Si le contact a été importé d'une autre enquête */ if( isset($contact['existing']) && is_numeric($contact['existing']) ){ $newId = (int) $contact['existing']; - $uname = $contactsById[ intval($contact['existing']) ]; + $existingData = null; - $existingData = $dbcontact->fetch( intval($contact['existing']) ); + // si le contact existe bien déja -> on recup. ses données + if( isset($contactsById[ $newId ]) ) + $existingData = $contactsById[$newId]; + + $uname = $existingData['name']; + + // si aucune référence existante -> on oublie ce contact + if( $existingData === null ){ + $finalid[ intval($contact['uid']) ] = null; + continue; + } $finalid[ intval($contact['uid']) ] = $newId; // S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte - if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) + if( $existingData['type'] === 'fiche' || isset($contactsDone['existing'][$newId]) ) continue; + // On l'ajoute à la liste des contacts 'existing' fait + $contactsDone['existing'][$newId] = $newId; + /* (3) Si nouveau contact */ }else{ @@ -126,11 +145,17 @@ $finalid[ intval($contact['uid']) ] = $newId; - // S'il a déja été saisi, on quitte - if( in_array($contact['username'], $contactsDone['username']) ) + // S'il a déja été saisi, on met l'ancienne référence puis on passe au suivant + if( isset($contactsDone['username'][$uname]) ){ + $finalid[ intval($contact['uid']) ] = $contactsDone['username'][$uname]; continue; + } + + // On l'ajoute à la liste des contacts 'username' fait + $contactsDone['username'][$uname] = $newId; } + /* (4) Update du @maxId */ if( $newId > $maxId ) $maxId = (int) $newId; @@ -169,12 +194,6 @@ ]; - /* (x) Si le contact a été importé d'une autre enquête */ - if( isset($contact['existing']) && is_numeric($contact['existing']) ) - $contactsDone['existing'][] = $contact['existing']; - /* (x+1) Si nouveau contact */ - else - $contactsDone['username'][] = $contact['username']; } @@ -183,25 +202,38 @@ foreach($mini as $miniData){ /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$miniData['contact']]) ) + if( !isset($contacts[$miniData['uid']]) ) continue; - $contact = $contacts[ $miniData['contact'] ]; + $contact = $contacts[ $miniData['uid'] ]; /* (2) Si le contact a été importé d'une autre enquête */ if( isset($contact['existing']) && is_numeric($contact['existing']) ){ $newId = (int) $contact['existing']; - $uname = $contactsById[ intval($contact['existing']) ]; + $existingData = null; - $existingData = $dbcontact->fetch( intval($contact['existing']) ); + // si le contact existe bien déja -> on recup. ses données + if( isset($contactsById[ $newId ]) ) + $existingData = $contactsById[$newId]; + + $uname = $existingData['name']; + + // si aucune référence existante -> on oublie ce contact + if( $existingData === null ){ + $finalid[ intval($contact['uid']) ] = null; + continue; + } $finalid[ intval($contact['uid']) ] = $newId; - // S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte - if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) + // S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte + if( $existingData['type'] === 'fiche' || isset($contactsDone['existing'][$newId]) ) continue; + // On l'ajoute à la liste des contacts 'existing' fait + $contactsDone['existing'][$newId] = $newId; + /* (3) Si nouveau contact */ }else{ @@ -210,11 +242,17 @@ $finalid[ intval($contact['uid']) ] = $newId; - // S'il a déja été saisi, on quitte - if( in_array($contact['username'], $contactsDone['username']) ) + // S'il a déja été saisi, on met l'ancienne référence puis on passe au suivant + if( isset($contactsDone['username'][$uname]) ){ + $finalid[ intval($contact['uid']) ] = $contactsDone['username'][$uname]; continue; + } + + // On l'ajoute à la liste des contacts 'username' fait + $contactsDone['username'][$uname] = $newId; } + /* (4) Update du @maxId */ if( $newId > $maxId ) $maxId = (int) $newId; @@ -243,45 +281,60 @@ ]; - /* (x) Si le contact a été importé d'une autre enquête */ - if( isset($contact['existing']) && is_numeric($contact['existing']) ) - $contactsDone['existing'][] = $contact['existing']; - /* (x+1) Si nouveau contact */ - else - $contactsDone['username'][] = $contact['username']; - } + /* [6] On enregistre les relations de la MATRICE =========================================================*/ - var_dump('finalid\'s', $finalid); $clen = count($finalid); - /* (1) On récupére les ids des contacts */ + /* (1) On récupére les ids (initiaux) des contacts de manière unique */ + $doneNewId = []; $cIdList = []; foreach($finalid as $lastid=>$newid){ - $id = (int) $lastid; - if( !in_array($id, $cIdList) ) - $cIdList[$id] = null; + // si id (ou reference) déja fait -> suivant + if( array_key_exists($newid, $doneNewId) ) + continue; + + $cIdList[$lastid] = null; + $doneNewId[$newid] = false; } ksort($cIdList); + /* (2) On remplit les relations */ - foreach($cIdList as $y=>$yNull){ - foreach($cIdList as $x=>$xNull) + foreach($cIdList as $x=>$yNull){ + foreach($cIdList as $y=>$xNull) if( $x < $y ){ // On affiche que sous la diagonale // Si relation alter-alter - $relationXY = isset($matrice[$y]) && in_array($x, $matrice[$y]) - || ( isset($matrice[$x]) && in_array($y, $matrice[$x]) ); + $relation_type = isset($matrice[$y]) && in_array($x, $matrice[$y]) + || ( isset($matrice[$x]) && in_array($y, $matrice[$x]) ); + + $relation_type = $relation_type ? 1 : 0; // 0->aucune relation 1->relation alter alter + + + /* (3) Si la relation existe déja, on ne fait rien */ + foreach($subject_set['relations'] as $relation){ + // si même A / B + $sameAB = $relation['idA'] == $finalid[$x] && $relation['idB'] == $finalid[$y]; + // si même B / A + $sameBA = $relation['idA'] == $finalid[$y] && $relation['idB'] == $finalid[$x]; + // si même type + $sameType = $relation['type'] == $relation_type; + + // si relation existante -> suivante + if( ($sameAB || $sameBA) && $sameType ) + continue; + } $subject_set['relations'][] = [ 'idA' => $finalid[$x], 'idB' => $finalid[$y], - 'type' => $relationXY ? 1 : 0 // 0->aucune relation 1->relation alter alter + 'type' => $relation_type ]; } @@ -312,7 +365,10 @@ =========================================================*/ return [ 'ModuleError' => ManagerError::Success, - 'subject_id' => $subject_id + 'subject_id' => $subject_id, + 'nb_contacts' => count($subject_set['contacts']), + 'nb_relations' => count($subject_set['relations']), + 'elapsed_time' => microtime(true) - $START_TIME ]; } @@ -334,11 +390,14 @@ public static function facebook($params){ extract($params); + $START_TIME = microtime(true); + /* [1] On récupère l'id unique actuel =========================================================*/ $funiq = fopen( __BUILD__.'/lightdb/storage/uniqid', 'r+' ); flock($funiq, LOCK_EX); // On verrouille le fichier - $uniqid = fgets( $funiq ); + $uniqid = trim( fgets( $funiq ) ); + if( !is_numeric($uniqid) ) $uniqid = 0; @@ -350,7 +409,7 @@ $subject_id = intval($subject['subject_id']); // Contiendra la valeur de l'id maximum - $maxId = $offset; + $maxId = $offset; /* [2] On initialise nos variables (lightdb + autres) @@ -383,17 +442,20 @@ $subject_set['relations'] = []; /* (4) Ajout de l'enquête */ - if( !in_array('facebook', $subject_set['surveys']) ) - $subject_set['surveys'][] = 'facebook'; + if( !in_array('facebook', $subject_set['subject']['surveys']) ) + $subject_set['subject']['surveys'][] = 'facebook'; /* (5) On récupère les noms des contacts */ - $contactsById = []; // idContact -> nomContact + $contactsById = []; // idContact -> nomContact, typeEnquete ('mini' ou 'fiche') foreach($subject_set['contacts'] as $contactId){ $contactId = intval($contactId); $contactData = $contactdb->fetch( $contactId ); - $contactsById[$contactId] = $contactData['name']; + $contactsById[$contactId] = [ + 'name' => $contactData['name'], + 'type' => isset($contactData['studies2']) ? 'fiche' : 'mini' + ]; } @@ -406,25 +468,40 @@ $finalid = []; // id_contact -> id_final_contact (existant ou nouveau) foreach($fiches as $f=>$ficheData){ - /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$ficheData['contact']]) ) - break; - $contact = $contacts[ $ficheData['contact'] ]; + /* (1) On récupère les données du contact associé */ + if( !isset($contacts[$ficheData['uid']]) ) + continue; + + + $contact = $contacts[ $ficheData['uid'] ]; /* (2) Si le contact a été importé d'une autre enquête */ if( isset($contact['existing']) && is_numeric($contact['existing']) ){ $newId = (int) $contact['existing']; - $uname = $contactsById[ intval($contact['existing']) ]; + $existingData = null; - $existingData = $dbcontact->fetch( intval($contact['existing']) ); + // si le contact existe bien déja -> on recup. ses données + if( isset($contactsById[ $newId ]) ) + $existingData = $contactsById[$newId]; + + $uname = $existingData['name']; + + // si aucune référence existante -> on oublie ce contact + if( $existingData === null ){ + $finalid[ intval($contact['uid']) ] = null; + continue; + } $finalid[ intval($contact['uid']) ] = $newId; // S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte - if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) - break; + if( $existingData['type'] === 'fiche' || isset($contactsDone['existing'][$newId]) ) + continue; + + // On l'ajoute à la liste des contacts 'existing' fait + $contactsDone['existing'][$newId] = $newId; /* (3) Si nouveau contact */ }else{ @@ -434,11 +511,17 @@ $finalid[ intval($contact['uid']) ] = $newId; - // S'il a déja été saisi, on quitte - if( in_array($contact['username'], $contactsDone['username']) ) - break; + // S'il a déja été saisi, on met l'ancienne référence puis on passe au suivant + if( isset($contactsDone['username'][$uname]) ){ + $finalid[ intval($contact['uid']) ] = $contactsDone['username'][$uname]; + continue; + } + + // On l'ajoute à la liste des contacts 'username' fait + $contactsDone['username'][$uname] = $newId; } + /* (4) Update du @maxId */ if( $newId > $maxId ) $maxId = (int) $newId; @@ -473,41 +556,49 @@ $subject_set['relations'][] = [ 'idA' => $subject_id, 'idB' => $newId, - 'type' => ($f<20) ? 6 : 7 // 6->historique 7->messenger + 'type' => ($f<20) ? 6 : 7 // 4->historique 5->messenger ]; - /* (x) Si le contact a été importé d'une autre enquête */ - if( isset($contact['existing']) && is_numeric($contact['existing']) ) - $contactsDone['existing'][] = $contact['existing']; - /* (x+1) Si nouveau contact */ - else - $contactsDone['username'][] = $contact['username']; } /* [5] On enregistre les mini + les contacts des mini =========================================================*/ foreach($mini as $miniData){ - /* (1) On récupère les données du contact associé */ - if( !isset($contacts[$miniData['contact']]) ) - break; - $contact = $contacts[ $miniData['contact'] ]; + /* (1) On récupère les données du contact associé */ + if( !isset($contacts[$miniData['uid']]) ) + continue; + + $contact = $contacts[ $miniData['uid'] ]; /* (2) Si le contact a été importé d'une autre enquête */ if( isset($contact['existing']) && is_numeric($contact['existing']) ){ $newId = (int) $contact['existing']; - $uname = $contactsById[ intval($contact['existing']) ]; + $existingData = null; - $existingData = $dbcontact->fetch( intval($contact['existing']) ); + // si le contact existe bien déja -> on recup. ses données + if( isset($contactsById[ $newId ]) ) + $existingData = $contactsById[$newId]; + + $uname = $existingData['name']; + + // si aucune référence existante -> on oublie ce contact + if( $existingData === null ){ + $finalid[ intval($contact['uid']) ] = null; + continue; + } $finalid[ intval($contact['uid']) ] = $newId; - // S'il a déja une fiche ou qu'on a déja fait une fiche (ou mini), on quitte - if( is_array($existingData) && isset($existingData['studies2']) || in_array($contact['existing'], $contactsDone['existing']) ) - break; + // S'il a déja une fiche ou qu'on a déja fait une fiche, on quitte + if( $existingData['type'] === 'fiche' || isset($contactsDone['existing'][$newId]) ) + continue; + + // On l'ajoute à la liste des contacts 'existing' fait + $contactsDone['existing'][$newId] = $newId; /* (3) Si nouveau contact */ }else{ @@ -517,11 +608,17 @@ $finalid[ intval($contact['uid']) ] = $newId; - // S'il a déja été saisi, on quitte - if( in_array($contact['username'], $contactsDone['username']) ) - break; + // S'il a déja été saisi, on met l'ancienne référence puis on passe au suivant + if( isset($contactsDone['username'][$uname]) ){ + $finalid[ intval($contact['uid']) ] = $contactsDone['username'][$uname]; + continue; + } + + // On l'ajoute à la liste des contacts 'username' fait + $contactsDone['username'][$uname] = $newId; } + /* (4) Update du @maxId */ if( $newId > $maxId ) $maxId = (int) $newId; @@ -550,44 +647,60 @@ ]; - /* (x) Si le contact a été importé d'une autre enquête */ - if( isset($contact['existing']) && is_numeric($contact['existing']) ) - $contactsDone['existing'][] = $contact['existing']; - /* (x+1) Si nouveau contact */ - else - $contactsDone['username'][] = $contact['username']; - } + /* [6] On enregistre les relations de la MATRICE =========================================================*/ $clen = count($finalid); - /* (1) On récupére les ids des contacts */ + /* (1) On récupére les ids (initiaux) des contacts de manière unique */ + $doneNewId = []; $cIdList = []; foreach($finalid as $lastid=>$newid){ - $id = (int) $lastid; - if( !in_array($id, $cIdList) ) - $cIdList[$id] = null; + // si id (ou reference) déja fait -> suivant + if( array_key_exists($newid, $doneNewId) ) + continue; + + $cIdList[$lastid] = null; + $doneNewId[$newid] = false; } ksort($cIdList); + /* (2) On remplit les relations */ - foreach($cIdList as $y=>$yNull){ - foreach($cIdList as $x=>$xNull) + foreach($cIdList as $x=>$yNull){ + foreach($cIdList as $y=>$xNull) if( $x < $y ){ // On affiche que sous la diagonale // Si relation alter-alter - $relationXY = isset($matrice[$y]) && in_array($x, $matrice[$y]) - || ( isset($matrice[$x]) && in_array($y, $matrice[$x]) ); + $relation_type = isset($matrice[$y]) && in_array($x, $matrice[$y]) + || ( isset($matrice[$x]) && in_array($y, $matrice[$x]) ); + + $relation_type = $relation_type ? 1 : 0; // 0->aucune relation 1->relation alter alter + + + /* (3) Si la relation existe déja, on ne fait rien */ + foreach($subject_set['relations'] as $relation){ + // si même A / B + $sameAB = $relation['idA'] == $finalid[$x] && $relation['idB'] == $finalid[$y]; + // si même B / A + $sameBA = $relation['idA'] == $finalid[$y] && $relation['idB'] == $finalid[$x]; + // si même type + $sameType = $relation['type'] == $relation_type; + + // si relation existante -> suivante + if( ($sameAB || $sameBA) && $sameType ) + continue; + } $subject_set['relations'][] = [ 'idA' => $finalid[$x], 'idB' => $finalid[$y], - 'type' => $relationXY ? 1 : 0 // 0->aucune relation 1->relation alter alter + 'type' => $relation_type ]; } @@ -596,14 +709,14 @@ /* [6] On les données du sujet =========================================================*/ + $subjectdb->delete($subject_id); $subjectdb->insert($subject_id, $subject_set); - /* [7] On enregistre les données des contacts + /* [7] Ferme les bases de données =========================================================*/ - /* (1) On enregistre chaque contact */ - foreach($file['contacts'] as $c=>$contactData) - $contactdb->insert($contactData['id'], $contactData); + $subjectdb->close(); + $contactdb->close(); /* [7] On met à jour le nouvel ID unique @@ -618,7 +731,10 @@ =========================================================*/ return [ 'ModuleError' => ManagerError::Success, - 'subject_id' => $subject_id + 'subject_id' => $subject_id, + 'nb_contacts' => count($subject_set['contacts']), + 'nb_relations' => count($subject_set['relations']), + 'elapsed_time' => microtime(true) - $START_TIME ]; } diff --git a/build/lightdb/storage/contact/data b/build/lightdb/storage/contact/data index 60c27cf..580f490 100644 --- a/build/lightdb/storage/contact/data +++ b/build/lightdb/storage/contact/data @@ -1,43 +1,95 @@ -{"id":1,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":2,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":3,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":4,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":5,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":6,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":7,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":8,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":9,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":10,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":11,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":12,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":13,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":14,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":15,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":16,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":17,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":18,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":19,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":20,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":22,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"autre","dist":"2","job":"10","famsit":"0","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":23,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"0","dist":"3","job":"21","famsit":"0","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":24,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"1","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":25,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"2","dist":"1","job":"23","famsit":"0","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":26,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"3","dist":"2","job":"31","famsit":"0","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":27,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"4","dist":"3","job":"32","famsit":"0","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":28,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"5","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":29,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"6","dist":"1","job":"41","famsit":"0","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":30,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"7","dist":"2","job":"46","famsit":"0","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":31,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"autre","dist":"3","job":"47","famsit":"0","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":32,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"0","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":33,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"1","dist":"1","job":"51","famsit":"0","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":34,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"2","dist":"2","job":"54","famsit":"0","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":35,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"3","dist":"3","job":"55","famsit":"0","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":36,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"4","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":37,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"5","dist":"1","job":"61","famsit":"0","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":38,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"6","dist":"2","job":"66","famsit":"0","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":39,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"7","dist":"3","job":"69","famsit":"0","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":40,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"autre","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":42,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."} -{"id":43,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."} -{"id":44,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."} -{"id":45,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."} +{"id":91,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":92,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":93,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":94,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":95,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":96,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":97,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":98,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":99,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":100,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":101,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":102,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":103,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":104,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":105,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":106,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":107,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":108,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":109,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":110,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":111,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":112,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":113,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":114,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":115,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":116,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":117,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":118,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":119,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":121,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"autre","dist":"2","job":"10","famsit":"0","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":122,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"0","dist":"3","job":"21","famsit":"0","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":123,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"1","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":124,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"2","dist":"1","job":"23","famsit":"0","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":125,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"3","dist":"2","job":"31","famsit":"0","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":126,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"4","dist":"3","job":"32","famsit":"0","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":127,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"5","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":128,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"6","dist":"1","job":"41","famsit":"0","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":129,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"7","dist":"2","job":"46","famsit":"0","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":130,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"autre","dist":"3","job":"47","famsit":"0","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":131,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"0","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":132,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"1","dist":"1","job":"51","famsit":"0","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":133,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"2","dist":"2","job":"54","famsit":"0","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":134,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"3","dist":"3","job":"55","famsit":"0","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":135,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"4","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":136,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"5","dist":"1","job":"61","famsit":"0","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":137,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"6","dist":"2","job":"66","famsit":"0","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":138,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"7","dist":"3","job":"69","famsit":"0","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":139,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"autre","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":141,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."} +{"id":142,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."} +{"id":143,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."} +{"id":144,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."} +{"id":145,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":146,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":147,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":148,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":149,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":150,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":151,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":152,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":153,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":154,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":155,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":156,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":157,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":158,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":159,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":160,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":161,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":162,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":163,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":164,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":166,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"autre","dist":"2","job":"10","famsit":"0","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":167,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"0","dist":"3","job":"21","famsit":"0","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":168,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"1","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":169,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"2","dist":"1","job":"23","famsit":"0","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":170,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"3","dist":"2","job":"31","famsit":"0","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":171,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"4","dist":"3","job":"32","famsit":"0","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":172,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"5","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":173,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"6","dist":"1","job":"41","famsit":"0","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":174,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"7","dist":"2","job":"46","famsit":"0","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":175,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"autre","dist":"3","job":"47","famsit":"0","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":176,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"0","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":177,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"1","dist":"1","job":"51","famsit":"0","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":178,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"2","dist":"2","job":"54","famsit":"0","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":179,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"3","dist":"3","job":"55","famsit":"0","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":180,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"4","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":181,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"5","dist":"1","job":"61","famsit":"0","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":182,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"6","dist":"2","job":"66","famsit":"0","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":183,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"7","dist":"3","job":"69","famsit":"0","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":184,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"autre","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":186,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."} +{"id":187,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."} +{"id":188,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."} +{"id":189,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."} diff --git a/build/lightdb/storage/contact/index b/build/lightdb/storage/contact/index index bb3fef3..a4225fa 100644 --- a/build/lightdb/storage/contact/index +++ b/build/lightdb/storage/contact/index @@ -1 +1 @@ -{"1":{"line":0},"2":{"line":1},"3":{"line":2},"4":{"line":3},"5":{"line":4},"6":{"line":5},"7":{"line":6},"8":{"line":7},"9":{"line":8},"10":{"line":9},"11":{"line":10},"12":{"line":11},"13":{"line":12},"14":{"line":13},"15":{"line":14},"16":{"line":15},"17":{"line":16},"18":{"line":17},"19":{"line":18},"20":{"line":19},"22":{"line":20},"23":{"line":21},"24":{"line":22},"25":{"line":23},"26":{"line":24},"27":{"line":25},"28":{"line":26},"29":{"line":27},"30":{"line":28},"31":{"line":29},"32":{"line":30},"33":{"line":31},"34":{"line":32},"35":{"line":33},"36":{"line":34},"37":{"line":35},"38":{"line":36},"39":{"line":37},"40":{"line":38},"42":{"line":39},"43":{"line":40},"44":{"line":41},"45":{"line":42}} \ No newline at end of file +{"91":{"line":0},"92":{"line":1},"93":{"line":2},"94":{"line":3},"95":{"line":4},"96":{"line":5},"97":{"line":6},"98":{"line":7},"99":{"line":8},"100":{"line":9},"101":{"line":10},"102":{"line":11},"103":{"line":12},"104":{"line":13},"105":{"line":14},"106":{"line":15},"107":{"line":16},"108":{"line":17},"109":{"line":18},"110":{"line":19},"111":{"line":20},"112":{"line":21},"113":{"line":22},"114":{"line":23},"115":{"line":24},"116":{"line":25},"117":{"line":26},"118":{"line":27},"119":{"line":28},"121":{"line":29},"122":{"line":30},"123":{"line":31},"124":{"line":32},"125":{"line":33},"126":{"line":34},"127":{"line":35},"128":{"line":36},"129":{"line":37},"130":{"line":38},"131":{"line":39},"132":{"line":40},"133":{"line":41},"134":{"line":42},"135":{"line":43},"136":{"line":44},"137":{"line":45},"138":{"line":46},"139":{"line":47},"141":{"line":48},"142":{"line":49},"143":{"line":50},"144":{"line":51},"145":{"line":52},"146":{"line":53},"147":{"line":54},"148":{"line":55},"149":{"line":56},"150":{"line":57},"151":{"line":58},"152":{"line":59},"153":{"line":60},"154":{"line":61},"155":{"line":62},"156":{"line":63},"157":{"line":64},"158":{"line":65},"159":{"line":66},"160":{"line":67},"161":{"line":68},"162":{"line":69},"163":{"line":70},"164":{"line":71},"166":{"line":72},"167":{"line":73},"168":{"line":74},"169":{"line":75},"170":{"line":76},"171":{"line":77},"172":{"line":78},"173":{"line":79},"174":{"line":80},"175":{"line":81},"176":{"line":82},"177":{"line":83},"178":{"line":84},"179":{"line":85},"180":{"line":86},"181":{"line":87},"182":{"line":88},"183":{"line":89},"184":{"line":90},"186":{"line":91},"187":{"line":92},"188":{"line":93},"189":{"line":94}} \ No newline at end of file diff --git a/build/lightdb/storage/subject/data b/build/lightdb/storage/subject/data index b7e4de2..04ece7e 100644 --- a/build/lightdb/storage/subject/data +++ b/build/lightdb/storage/subject/data @@ -1 +1 @@ -{"subject":{"id":3,"name":"Clarisse","surveys":["phone"],"creation":1479898736},"contacts":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,42,43,44,45],"relations":[{"idA":1,"idB":1,"type":4},{"idA":1,"idB":2,"type":4},{"idA":1,"idB":3,"type":4},{"idA":1,"idB":4,"type":4},{"idA":1,"idB":5,"type":4},{"idA":1,"idB":6,"type":4},{"idA":1,"idB":7,"type":4},{"idA":1,"idB":8,"type":4},{"idA":1,"idB":9,"type":4},{"idA":1,"idB":10,"type":4},{"idA":1,"idB":11,"type":4},{"idA":1,"idB":12,"type":4},{"idA":1,"idB":13,"type":4},{"idA":1,"idB":14,"type":4},{"idA":1,"idB":15,"type":4},{"idA":1,"idB":16,"type":4},{"idA":1,"idB":17,"type":4},{"idA":1,"idB":18,"type":4},{"idA":1,"idB":19,"type":4},{"idA":1,"idB":20,"type":4},{"idA":1,"idB":22,"type":5},{"idA":1,"idB":23,"type":5},{"idA":1,"idB":24,"type":5},{"idA":1,"idB":25,"type":5},{"idA":1,"idB":26,"type":5},{"idA":1,"idB":27,"type":5},{"idA":1,"idB":28,"type":5},{"idA":1,"idB":29,"type":5},{"idA":1,"idB":30,"type":5},{"idA":1,"idB":31,"type":5},{"idA":1,"idB":32,"type":5},{"idA":1,"idB":33,"type":5},{"idA":1,"idB":34,"type":5},{"idA":1,"idB":35,"type":5},{"idA":1,"idB":36,"type":5},{"idA":1,"idB":37,"type":5},{"idA":1,"idB":38,"type":5},{"idA":1,"idB":39,"type":5},{"idA":1,"idB":40,"type":5},{"idA":1,"idB":42,"type":2},{"idA":1,"idB":43,"type":2},{"idA":1,"idB":44,"type":2},{"idA":1,"idB":45,"type":2},{"idA":1,"idB":2,"type":1},{"idA":1,"idB":3,"type":0},{"idA":2,"idB":3,"type":0},{"idA":1,"idB":4,"type":0},{"idA":2,"idB":4,"type":0},{"idA":3,"idB":4,"type":0},{"idA":1,"idB":5,"type":0},{"idA":2,"idB":5,"type":0},{"idA":3,"idB":5,"type":0},{"idA":4,"idB":5,"type":0},{"idA":1,"idB":6,"type":0},{"idA":2,"idB":6,"type":0},{"idA":3,"idB":6,"type":0},{"idA":4,"idB":6,"type":0},{"idA":5,"idB":6,"type":0},{"idA":1,"idB":7,"type":0},{"idA":2,"idB":7,"type":0},{"idA":3,"idB":7,"type":0},{"idA":4,"idB":7,"type":0},{"idA":5,"idB":7,"type":0},{"idA":6,"idB":7,"type":0},{"idA":1,"idB":8,"type":0},{"idA":2,"idB":8,"type":0},{"idA":3,"idB":8,"type":0},{"idA":4,"idB":8,"type":0},{"idA":5,"idB":8,"type":0},{"idA":6,"idB":8,"type":0},{"idA":7,"idB":8,"type":0},{"idA":1,"idB":9,"type":0},{"idA":2,"idB":9,"type":0},{"idA":3,"idB":9,"type":0},{"idA":4,"idB":9,"type":0},{"idA":5,"idB":9,"type":0},{"idA":6,"idB":9,"type":0},{"idA":7,"idB":9,"type":0},{"idA":8,"idB":9,"type":0},{"idA":1,"idB":10,"type":0},{"idA":2,"idB":10,"type":0},{"idA":3,"idB":10,"type":0},{"idA":4,"idB":10,"type":0},{"idA":5,"idB":10,"type":0},{"idA":6,"idB":10,"type":0},{"idA":7,"idB":10,"type":0},{"idA":8,"idB":10,"type":0},{"idA":9,"idB":10,"type":0},{"idA":1,"idB":11,"type":0},{"idA":2,"idB":11,"type":0},{"idA":3,"idB":11,"type":0},{"idA":4,"idB":11,"type":0},{"idA":5,"idB":11,"type":0},{"idA":6,"idB":11,"type":0},{"idA":7,"idB":11,"type":0},{"idA":8,"idB":11,"type":0},{"idA":9,"idB":11,"type":0},{"idA":10,"idB":11,"type":0},{"idA":1,"idB":12,"type":1},{"idA":2,"idB":12,"type":0},{"idA":3,"idB":12,"type":0},{"idA":4,"idB":12,"type":0},{"idA":5,"idB":12,"type":0},{"idA":6,"idB":12,"type":1},{"idA":7,"idB":12,"type":0},{"idA":8,"idB":12,"type":0},{"idA":9,"idB":12,"type":0},{"idA":10,"idB":12,"type":0},{"idA":11,"idB":12,"type":0},{"idA":1,"idB":13,"type":0},{"idA":2,"idB":13,"type":0},{"idA":3,"idB":13,"type":0},{"idA":4,"idB":13,"type":0},{"idA":5,"idB":13,"type":0},{"idA":6,"idB":13,"type":0},{"idA":7,"idB":13,"type":0},{"idA":8,"idB":13,"type":0},{"idA":9,"idB":13,"type":0},{"idA":10,"idB":13,"type":0},{"idA":11,"idB":13,"type":0},{"idA":12,"idB":13,"type":0},{"idA":1,"idB":14,"type":0},{"idA":2,"idB":14,"type":0},{"idA":3,"idB":14,"type":0},{"idA":4,"idB":14,"type":0},{"idA":5,"idB":14,"type":0},{"idA":6,"idB":14,"type":0},{"idA":7,"idB":14,"type":0},{"idA":8,"idB":14,"type":0},{"idA":9,"idB":14,"type":0},{"idA":10,"idB":14,"type":0},{"idA":11,"idB":14,"type":0},{"idA":12,"idB":14,"type":0},{"idA":13,"idB":14,"type":0},{"idA":1,"idB":15,"type":0},{"idA":2,"idB":15,"type":0},{"idA":3,"idB":15,"type":0},{"idA":4,"idB":15,"type":0},{"idA":5,"idB":15,"type":0},{"idA":6,"idB":15,"type":0},{"idA":7,"idB":15,"type":0},{"idA":8,"idB":15,"type":0},{"idA":9,"idB":15,"type":0},{"idA":10,"idB":15,"type":0},{"idA":11,"idB":15,"type":0},{"idA":12,"idB":15,"type":0},{"idA":13,"idB":15,"type":0},{"idA":14,"idB":15,"type":0},{"idA":1,"idB":16,"type":0},{"idA":2,"idB":16,"type":0},{"idA":3,"idB":16,"type":0},{"idA":4,"idB":16,"type":0},{"idA":5,"idB":16,"type":0},{"idA":6,"idB":16,"type":0},{"idA":7,"idB":16,"type":0},{"idA":8,"idB":16,"type":0},{"idA":9,"idB":16,"type":0},{"idA":10,"idB":16,"type":0},{"idA":11,"idB":16,"type":0},{"idA":12,"idB":16,"type":0},{"idA":13,"idB":16,"type":0},{"idA":14,"idB":16,"type":0},{"idA":15,"idB":16,"type":0},{"idA":1,"idB":17,"type":0},{"idA":2,"idB":17,"type":0},{"idA":3,"idB":17,"type":0},{"idA":4,"idB":17,"type":0},{"idA":5,"idB":17,"type":1},{"idA":6,"idB":17,"type":0},{"idA":7,"idB":17,"type":0},{"idA":8,"idB":17,"type":0},{"idA":9,"idB":17,"type":0},{"idA":10,"idB":17,"type":0},{"idA":11,"idB":17,"type":0},{"idA":12,"idB":17,"type":0},{"idA":13,"idB":17,"type":0},{"idA":14,"idB":17,"type":0},{"idA":15,"idB":17,"type":0},{"idA":16,"idB":17,"type":0},{"idA":1,"idB":18,"type":0},{"idA":2,"idB":18,"type":0},{"idA":3,"idB":18,"type":0},{"idA":4,"idB":18,"type":0},{"idA":5,"idB":18,"type":0},{"idA":6,"idB":18,"type":0},{"idA":7,"idB":18,"type":0},{"idA":8,"idB":18,"type":0},{"idA":9,"idB":18,"type":0},{"idA":10,"idB":18,"type":0},{"idA":11,"idB":18,"type":0},{"idA":12,"idB":18,"type":0},{"idA":13,"idB":18,"type":0},{"idA":14,"idB":18,"type":0},{"idA":15,"idB":18,"type":0},{"idA":16,"idB":18,"type":0},{"idA":17,"idB":18,"type":0},{"idA":1,"idB":19,"type":0},{"idA":2,"idB":19,"type":0},{"idA":3,"idB":19,"type":0},{"idA":4,"idB":19,"type":0},{"idA":5,"idB":19,"type":0},{"idA":6,"idB":19,"type":0},{"idA":7,"idB":19,"type":0},{"idA":8,"idB":19,"type":0},{"idA":9,"idB":19,"type":0},{"idA":10,"idB":19,"type":0},{"idA":11,"idB":19,"type":0},{"idA":12,"idB":19,"type":0},{"idA":13,"idB":19,"type":0},{"idA":14,"idB":19,"type":0},{"idA":15,"idB":19,"type":0},{"idA":16,"idB":19,"type":0},{"idA":17,"idB":19,"type":0},{"idA":18,"idB":19,"type":0},{"idA":1,"idB":20,"type":0},{"idA":2,"idB":20,"type":0},{"idA":3,"idB":20,"type":0},{"idA":4,"idB":20,"type":0},{"idA":5,"idB":20,"type":0},{"idA":6,"idB":20,"type":0},{"idA":7,"idB":20,"type":0},{"idA":8,"idB":20,"type":0},{"idA":9,"idB":20,"type":0},{"idA":10,"idB":20,"type":0},{"idA":11,"idB":20,"type":0},{"idA":12,"idB":20,"type":0},{"idA":13,"idB":20,"type":0},{"idA":14,"idB":20,"type":0},{"idA":15,"idB":20,"type":0},{"idA":16,"idB":20,"type":0},{"idA":17,"idB":20,"type":0},{"idA":18,"idB":20,"type":0},{"idA":19,"idB":20,"type":0},{"idA":1,"idB":22,"type":0},{"idA":2,"idB":22,"type":0},{"idA":3,"idB":22,"type":0},{"idA":4,"idB":22,"type":0},{"idA":5,"idB":22,"type":0},{"idA":6,"idB":22,"type":0},{"idA":7,"idB":22,"type":0},{"idA":8,"idB":22,"type":0},{"idA":9,"idB":22,"type":0},{"idA":10,"idB":22,"type":0},{"idA":11,"idB":22,"type":0},{"idA":12,"idB":22,"type":0},{"idA":13,"idB":22,"type":0},{"idA":14,"idB":22,"type":0},{"idA":15,"idB":22,"type":0},{"idA":16,"idB":22,"type":0},{"idA":17,"idB":22,"type":0},{"idA":18,"idB":22,"type":0},{"idA":19,"idB":22,"type":0},{"idA":20,"idB":22,"type":0},{"idA":1,"idB":23,"type":0},{"idA":2,"idB":23,"type":0},{"idA":3,"idB":23,"type":0},{"idA":4,"idB":23,"type":0},{"idA":5,"idB":23,"type":0},{"idA":6,"idB":23,"type":0},{"idA":7,"idB":23,"type":0},{"idA":8,"idB":23,"type":0},{"idA":9,"idB":23,"type":0},{"idA":10,"idB":23,"type":0},{"idA":11,"idB":23,"type":0},{"idA":12,"idB":23,"type":0},{"idA":13,"idB":23,"type":0},{"idA":14,"idB":23,"type":0},{"idA":15,"idB":23,"type":0},{"idA":16,"idB":23,"type":0},{"idA":17,"idB":23,"type":0},{"idA":18,"idB":23,"type":0},{"idA":19,"idB":23,"type":0},{"idA":20,"idB":23,"type":0},{"idA":22,"idB":23,"type":0},{"idA":1,"idB":24,"type":0},{"idA":2,"idB":24,"type":0},{"idA":3,"idB":24,"type":0},{"idA":4,"idB":24,"type":0},{"idA":5,"idB":24,"type":0},{"idA":6,"idB":24,"type":1},{"idA":7,"idB":24,"type":0},{"idA":8,"idB":24,"type":0},{"idA":9,"idB":24,"type":0},{"idA":10,"idB":24,"type":0},{"idA":11,"idB":24,"type":0},{"idA":12,"idB":24,"type":0},{"idA":13,"idB":24,"type":0},{"idA":14,"idB":24,"type":0},{"idA":15,"idB":24,"type":0},{"idA":16,"idB":24,"type":0},{"idA":17,"idB":24,"type":0},{"idA":18,"idB":24,"type":0},{"idA":19,"idB":24,"type":0},{"idA":20,"idB":24,"type":0},{"idA":22,"idB":24,"type":0},{"idA":23,"idB":24,"type":0},{"idA":1,"idB":25,"type":0},{"idA":2,"idB":25,"type":0},{"idA":3,"idB":25,"type":0},{"idA":4,"idB":25,"type":0},{"idA":5,"idB":25,"type":0},{"idA":6,"idB":25,"type":0},{"idA":7,"idB":25,"type":0},{"idA":8,"idB":25,"type":0},{"idA":9,"idB":25,"type":0},{"idA":10,"idB":25,"type":0},{"idA":11,"idB":25,"type":0},{"idA":12,"idB":25,"type":0},{"idA":13,"idB":25,"type":0},{"idA":14,"idB":25,"type":0},{"idA":15,"idB":25,"type":0},{"idA":16,"idB":25,"type":0},{"idA":17,"idB":25,"type":0},{"idA":18,"idB":25,"type":0},{"idA":19,"idB":25,"type":0},{"idA":20,"idB":25,"type":0},{"idA":22,"idB":25,"type":0},{"idA":23,"idB":25,"type":0},{"idA":24,"idB":25,"type":0},{"idA":1,"idB":26,"type":1},{"idA":2,"idB":26,"type":0},{"idA":3,"idB":26,"type":0},{"idA":4,"idB":26,"type":0},{"idA":5,"idB":26,"type":0},{"idA":6,"idB":26,"type":0},{"idA":7,"idB":26,"type":0},{"idA":8,"idB":26,"type":0},{"idA":9,"idB":26,"type":0},{"idA":10,"idB":26,"type":0},{"idA":11,"idB":26,"type":0},{"idA":12,"idB":26,"type":0},{"idA":13,"idB":26,"type":0},{"idA":14,"idB":26,"type":0},{"idA":15,"idB":26,"type":0},{"idA":16,"idB":26,"type":0},{"idA":17,"idB":26,"type":0},{"idA":18,"idB":26,"type":0},{"idA":19,"idB":26,"type":0},{"idA":20,"idB":26,"type":0},{"idA":22,"idB":26,"type":0},{"idA":23,"idB":26,"type":0},{"idA":24,"idB":26,"type":0},{"idA":25,"idB":26,"type":0},{"idA":1,"idB":27,"type":0},{"idA":2,"idB":27,"type":0},{"idA":3,"idB":27,"type":0},{"idA":4,"idB":27,"type":0},{"idA":5,"idB":27,"type":1},{"idA":6,"idB":27,"type":0},{"idA":7,"idB":27,"type":0},{"idA":8,"idB":27,"type":0},{"idA":9,"idB":27,"type":0},{"idA":10,"idB":27,"type":0},{"idA":11,"idB":27,"type":0},{"idA":12,"idB":27,"type":0},{"idA":13,"idB":27,"type":0},{"idA":14,"idB":27,"type":0},{"idA":15,"idB":27,"type":0},{"idA":16,"idB":27,"type":0},{"idA":17,"idB":27,"type":0},{"idA":18,"idB":27,"type":0},{"idA":19,"idB":27,"type":0},{"idA":20,"idB":27,"type":0},{"idA":22,"idB":27,"type":0},{"idA":23,"idB":27,"type":0},{"idA":24,"idB":27,"type":0},{"idA":25,"idB":27,"type":0},{"idA":26,"idB":27,"type":0},{"idA":1,"idB":28,"type":0},{"idA":2,"idB":28,"type":0},{"idA":3,"idB":28,"type":0},{"idA":4,"idB":28,"type":0},{"idA":5,"idB":28,"type":0},{"idA":6,"idB":28,"type":1},{"idA":7,"idB":28,"type":0},{"idA":8,"idB":28,"type":0},{"idA":9,"idB":28,"type":0},{"idA":10,"idB":28,"type":0},{"idA":11,"idB":28,"type":0},{"idA":12,"idB":28,"type":0},{"idA":13,"idB":28,"type":0},{"idA":14,"idB":28,"type":0},{"idA":15,"idB":28,"type":0},{"idA":16,"idB":28,"type":0},{"idA":17,"idB":28,"type":0},{"idA":18,"idB":28,"type":0},{"idA":19,"idB":28,"type":0},{"idA":20,"idB":28,"type":0},{"idA":22,"idB":28,"type":0},{"idA":23,"idB":28,"type":0},{"idA":24,"idB":28,"type":0},{"idA":25,"idB":28,"type":0},{"idA":26,"idB":28,"type":0},{"idA":27,"idB":28,"type":0},{"idA":1,"idB":29,"type":1},{"idA":2,"idB":29,"type":0},{"idA":3,"idB":29,"type":0},{"idA":4,"idB":29,"type":0},{"idA":5,"idB":29,"type":0},{"idA":6,"idB":29,"type":0},{"idA":7,"idB":29,"type":0},{"idA":8,"idB":29,"type":0},{"idA":9,"idB":29,"type":0},{"idA":10,"idB":29,"type":0},{"idA":11,"idB":29,"type":0},{"idA":12,"idB":29,"type":0},{"idA":13,"idB":29,"type":0},{"idA":14,"idB":29,"type":0},{"idA":15,"idB":29,"type":0},{"idA":16,"idB":29,"type":0},{"idA":17,"idB":29,"type":0},{"idA":18,"idB":29,"type":0},{"idA":19,"idB":29,"type":0},{"idA":20,"idB":29,"type":0},{"idA":22,"idB":29,"type":0},{"idA":23,"idB":29,"type":0},{"idA":24,"idB":29,"type":0},{"idA":25,"idB":29,"type":0},{"idA":26,"idB":29,"type":0},{"idA":27,"idB":29,"type":0},{"idA":28,"idB":29,"type":0},{"idA":1,"idB":30,"type":0},{"idA":2,"idB":30,"type":0},{"idA":3,"idB":30,"type":0},{"idA":4,"idB":30,"type":0},{"idA":5,"idB":30,"type":0},{"idA":6,"idB":30,"type":0},{"idA":7,"idB":30,"type":0},{"idA":8,"idB":30,"type":0},{"idA":9,"idB":30,"type":0},{"idA":10,"idB":30,"type":0},{"idA":11,"idB":30,"type":0},{"idA":12,"idB":30,"type":0},{"idA":13,"idB":30,"type":0},{"idA":14,"idB":30,"type":0},{"idA":15,"idB":30,"type":0},{"idA":16,"idB":30,"type":0},{"idA":17,"idB":30,"type":0},{"idA":18,"idB":30,"type":0},{"idA":19,"idB":30,"type":0},{"idA":20,"idB":30,"type":0},{"idA":22,"idB":30,"type":0},{"idA":23,"idB":30,"type":0},{"idA":24,"idB":30,"type":0},{"idA":25,"idB":30,"type":0},{"idA":26,"idB":30,"type":0},{"idA":27,"idB":30,"type":0},{"idA":28,"idB":30,"type":0},{"idA":29,"idB":30,"type":0},{"idA":1,"idB":31,"type":0},{"idA":2,"idB":31,"type":0},{"idA":3,"idB":31,"type":0},{"idA":4,"idB":31,"type":0},{"idA":5,"idB":31,"type":0},{"idA":6,"idB":31,"type":0},{"idA":7,"idB":31,"type":0},{"idA":8,"idB":31,"type":0},{"idA":9,"idB":31,"type":0},{"idA":10,"idB":31,"type":0},{"idA":11,"idB":31,"type":0},{"idA":12,"idB":31,"type":0},{"idA":13,"idB":31,"type":0},{"idA":14,"idB":31,"type":0},{"idA":15,"idB":31,"type":0},{"idA":16,"idB":31,"type":0},{"idA":17,"idB":31,"type":0},{"idA":18,"idB":31,"type":0},{"idA":19,"idB":31,"type":0},{"idA":20,"idB":31,"type":0},{"idA":22,"idB":31,"type":0},{"idA":23,"idB":31,"type":0},{"idA":24,"idB":31,"type":0},{"idA":25,"idB":31,"type":0},{"idA":26,"idB":31,"type":0},{"idA":27,"idB":31,"type":0},{"idA":28,"idB":31,"type":0},{"idA":29,"idB":31,"type":0},{"idA":30,"idB":31,"type":0},{"idA":1,"idB":32,"type":0},{"idA":2,"idB":32,"type":0},{"idA":3,"idB":32,"type":0},{"idA":4,"idB":32,"type":0},{"idA":5,"idB":32,"type":0},{"idA":6,"idB":32,"type":0},{"idA":7,"idB":32,"type":0},{"idA":8,"idB":32,"type":0},{"idA":9,"idB":32,"type":0},{"idA":10,"idB":32,"type":0},{"idA":11,"idB":32,"type":0},{"idA":12,"idB":32,"type":0},{"idA":13,"idB":32,"type":0},{"idA":14,"idB":32,"type":0},{"idA":15,"idB":32,"type":0},{"idA":16,"idB":32,"type":0},{"idA":17,"idB":32,"type":0},{"idA":18,"idB":32,"type":0},{"idA":19,"idB":32,"type":0},{"idA":20,"idB":32,"type":0},{"idA":22,"idB":32,"type":0},{"idA":23,"idB":32,"type":0},{"idA":24,"idB":32,"type":0},{"idA":25,"idB":32,"type":0},{"idA":26,"idB":32,"type":0},{"idA":27,"idB":32,"type":0},{"idA":28,"idB":32,"type":0},{"idA":29,"idB":32,"type":0},{"idA":30,"idB":32,"type":0},{"idA":31,"idB":32,"type":0},{"idA":1,"idB":33,"type":0},{"idA":2,"idB":33,"type":0},{"idA":3,"idB":33,"type":0},{"idA":4,"idB":33,"type":0},{"idA":5,"idB":33,"type":0},{"idA":6,"idB":33,"type":0},{"idA":7,"idB":33,"type":0},{"idA":8,"idB":33,"type":0},{"idA":9,"idB":33,"type":0},{"idA":10,"idB":33,"type":0},{"idA":11,"idB":33,"type":0},{"idA":12,"idB":33,"type":0},{"idA":13,"idB":33,"type":0},{"idA":14,"idB":33,"type":0},{"idA":15,"idB":33,"type":0},{"idA":16,"idB":33,"type":0},{"idA":17,"idB":33,"type":0},{"idA":18,"idB":33,"type":0},{"idA":19,"idB":33,"type":0},{"idA":20,"idB":33,"type":0},{"idA":22,"idB":33,"type":0},{"idA":23,"idB":33,"type":0},{"idA":24,"idB":33,"type":0},{"idA":25,"idB":33,"type":0},{"idA":26,"idB":33,"type":0},{"idA":27,"idB":33,"type":0},{"idA":28,"idB":33,"type":0},{"idA":29,"idB":33,"type":0},{"idA":30,"idB":33,"type":0},{"idA":31,"idB":33,"type":0},{"idA":32,"idB":33,"type":0},{"idA":1,"idB":34,"type":0},{"idA":2,"idB":34,"type":0},{"idA":3,"idB":34,"type":0},{"idA":4,"idB":34,"type":0},{"idA":5,"idB":34,"type":0},{"idA":6,"idB":34,"type":0},{"idA":7,"idB":34,"type":0},{"idA":8,"idB":34,"type":0},{"idA":9,"idB":34,"type":0},{"idA":10,"idB":34,"type":0},{"idA":11,"idB":34,"type":0},{"idA":12,"idB":34,"type":0},{"idA":13,"idB":34,"type":0},{"idA":14,"idB":34,"type":0},{"idA":15,"idB":34,"type":0},{"idA":16,"idB":34,"type":0},{"idA":17,"idB":34,"type":0},{"idA":18,"idB":34,"type":0},{"idA":19,"idB":34,"type":0},{"idA":20,"idB":34,"type":0},{"idA":22,"idB":34,"type":0},{"idA":23,"idB":34,"type":0},{"idA":24,"idB":34,"type":0},{"idA":25,"idB":34,"type":0},{"idA":26,"idB":34,"type":0},{"idA":27,"idB":34,"type":0},{"idA":28,"idB":34,"type":0},{"idA":29,"idB":34,"type":0},{"idA":30,"idB":34,"type":0},{"idA":31,"idB":34,"type":0},{"idA":32,"idB":34,"type":0},{"idA":33,"idB":34,"type":0},{"idA":1,"idB":35,"type":0},{"idA":2,"idB":35,"type":0},{"idA":3,"idB":35,"type":0},{"idA":4,"idB":35,"type":0},{"idA":5,"idB":35,"type":0},{"idA":6,"idB":35,"type":0},{"idA":7,"idB":35,"type":0},{"idA":8,"idB":35,"type":0},{"idA":9,"idB":35,"type":0},{"idA":10,"idB":35,"type":0},{"idA":11,"idB":35,"type":0},{"idA":12,"idB":35,"type":0},{"idA":13,"idB":35,"type":0},{"idA":14,"idB":35,"type":0},{"idA":15,"idB":35,"type":0},{"idA":16,"idB":35,"type":0},{"idA":17,"idB":35,"type":0},{"idA":18,"idB":35,"type":0},{"idA":19,"idB":35,"type":0},{"idA":20,"idB":35,"type":0},{"idA":22,"idB":35,"type":0},{"idA":23,"idB":35,"type":0},{"idA":24,"idB":35,"type":0},{"idA":25,"idB":35,"type":0},{"idA":26,"idB":35,"type":0},{"idA":27,"idB":35,"type":0},{"idA":28,"idB":35,"type":0},{"idA":29,"idB":35,"type":0},{"idA":30,"idB":35,"type":0},{"idA":31,"idB":35,"type":0},{"idA":32,"idB":35,"type":0},{"idA":33,"idB":35,"type":1},{"idA":34,"idB":35,"type":1},{"idA":1,"idB":36,"type":0},{"idA":2,"idB":36,"type":0},{"idA":3,"idB":36,"type":0},{"idA":4,"idB":36,"type":0},{"idA":5,"idB":36,"type":0},{"idA":6,"idB":36,"type":0},{"idA":7,"idB":36,"type":0},{"idA":8,"idB":36,"type":0},{"idA":9,"idB":36,"type":0},{"idA":10,"idB":36,"type":0},{"idA":11,"idB":36,"type":0},{"idA":12,"idB":36,"type":0},{"idA":13,"idB":36,"type":0},{"idA":14,"idB":36,"type":0},{"idA":15,"idB":36,"type":0},{"idA":16,"idB":36,"type":0},{"idA":17,"idB":36,"type":0},{"idA":18,"idB":36,"type":0},{"idA":19,"idB":36,"type":0},{"idA":20,"idB":36,"type":0},{"idA":22,"idB":36,"type":0},{"idA":23,"idB":36,"type":0},{"idA":24,"idB":36,"type":0},{"idA":25,"idB":36,"type":0},{"idA":26,"idB":36,"type":0},{"idA":27,"idB":36,"type":0},{"idA":28,"idB":36,"type":0},{"idA":29,"idB":36,"type":0},{"idA":30,"idB":36,"type":0},{"idA":31,"idB":36,"type":0},{"idA":32,"idB":36,"type":0},{"idA":33,"idB":36,"type":0},{"idA":34,"idB":36,"type":0},{"idA":35,"idB":36,"type":0},{"idA":1,"idB":37,"type":0},{"idA":2,"idB":37,"type":0},{"idA":3,"idB":37,"type":0},{"idA":4,"idB":37,"type":0},{"idA":5,"idB":37,"type":0},{"idA":6,"idB":37,"type":0},{"idA":7,"idB":37,"type":0},{"idA":8,"idB":37,"type":0},{"idA":9,"idB":37,"type":0},{"idA":10,"idB":37,"type":0},{"idA":11,"idB":37,"type":0},{"idA":12,"idB":37,"type":0},{"idA":13,"idB":37,"type":0},{"idA":14,"idB":37,"type":0},{"idA":15,"idB":37,"type":0},{"idA":16,"idB":37,"type":0},{"idA":17,"idB":37,"type":0},{"idA":18,"idB":37,"type":0},{"idA":19,"idB":37,"type":0},{"idA":20,"idB":37,"type":0},{"idA":22,"idB":37,"type":0},{"idA":23,"idB":37,"type":0},{"idA":24,"idB":37,"type":0},{"idA":25,"idB":37,"type":0},{"idA":26,"idB":37,"type":0},{"idA":27,"idB":37,"type":0},{"idA":28,"idB":37,"type":0},{"idA":29,"idB":37,"type":0},{"idA":30,"idB":37,"type":0},{"idA":31,"idB":37,"type":0},{"idA":32,"idB":37,"type":1},{"idA":33,"idB":37,"type":0},{"idA":34,"idB":37,"type":0},{"idA":35,"idB":37,"type":0},{"idA":36,"idB":37,"type":0},{"idA":1,"idB":38,"type":0},{"idA":2,"idB":38,"type":0},{"idA":3,"idB":38,"type":0},{"idA":4,"idB":38,"type":0},{"idA":5,"idB":38,"type":0},{"idA":6,"idB":38,"type":0},{"idA":7,"idB":38,"type":0},{"idA":8,"idB":38,"type":0},{"idA":9,"idB":38,"type":0},{"idA":10,"idB":38,"type":0},{"idA":11,"idB":38,"type":0},{"idA":12,"idB":38,"type":0},{"idA":13,"idB":38,"type":0},{"idA":14,"idB":38,"type":0},{"idA":15,"idB":38,"type":0},{"idA":16,"idB":38,"type":0},{"idA":17,"idB":38,"type":0},{"idA":18,"idB":38,"type":0},{"idA":19,"idB":38,"type":0},{"idA":20,"idB":38,"type":0},{"idA":22,"idB":38,"type":0},{"idA":23,"idB":38,"type":0},{"idA":24,"idB":38,"type":0},{"idA":25,"idB":38,"type":0},{"idA":26,"idB":38,"type":0},{"idA":27,"idB":38,"type":0},{"idA":28,"idB":38,"type":0},{"idA":29,"idB":38,"type":0},{"idA":30,"idB":38,"type":0},{"idA":31,"idB":38,"type":0},{"idA":32,"idB":38,"type":1},{"idA":33,"idB":38,"type":0},{"idA":34,"idB":38,"type":0},{"idA":35,"idB":38,"type":0},{"idA":36,"idB":38,"type":1},{"idA":37,"idB":38,"type":0},{"idA":1,"idB":39,"type":0},{"idA":2,"idB":39,"type":0},{"idA":3,"idB":39,"type":0},{"idA":4,"idB":39,"type":0},{"idA":5,"idB":39,"type":0},{"idA":6,"idB":39,"type":0},{"idA":7,"idB":39,"type":0},{"idA":8,"idB":39,"type":0},{"idA":9,"idB":39,"type":0},{"idA":10,"idB":39,"type":0},{"idA":11,"idB":39,"type":0},{"idA":12,"idB":39,"type":0},{"idA":13,"idB":39,"type":0},{"idA":14,"idB":39,"type":0},{"idA":15,"idB":39,"type":0},{"idA":16,"idB":39,"type":0},{"idA":17,"idB":39,"type":0},{"idA":18,"idB":39,"type":0},{"idA":19,"idB":39,"type":0},{"idA":20,"idB":39,"type":0},{"idA":22,"idB":39,"type":0},{"idA":23,"idB":39,"type":0},{"idA":24,"idB":39,"type":0},{"idA":25,"idB":39,"type":0},{"idA":26,"idB":39,"type":0},{"idA":27,"idB":39,"type":0},{"idA":28,"idB":39,"type":0},{"idA":29,"idB":39,"type":0},{"idA":30,"idB":39,"type":0},{"idA":31,"idB":39,"type":0},{"idA":32,"idB":39,"type":0},{"idA":33,"idB":39,"type":0},{"idA":34,"idB":39,"type":1},{"idA":35,"idB":39,"type":0},{"idA":36,"idB":39,"type":0},{"idA":37,"idB":39,"type":0},{"idA":38,"idB":39,"type":0},{"idA":1,"idB":40,"type":0},{"idA":2,"idB":40,"type":0},{"idA":3,"idB":40,"type":0},{"idA":4,"idB":40,"type":0},{"idA":5,"idB":40,"type":0},{"idA":6,"idB":40,"type":0},{"idA":7,"idB":40,"type":0},{"idA":8,"idB":40,"type":0},{"idA":9,"idB":40,"type":0},{"idA":10,"idB":40,"type":0},{"idA":11,"idB":40,"type":0},{"idA":12,"idB":40,"type":0},{"idA":13,"idB":40,"type":0},{"idA":14,"idB":40,"type":0},{"idA":15,"idB":40,"type":0},{"idA":16,"idB":40,"type":0},{"idA":17,"idB":40,"type":0},{"idA":18,"idB":40,"type":0},{"idA":19,"idB":40,"type":0},{"idA":20,"idB":40,"type":0},{"idA":22,"idB":40,"type":0},{"idA":23,"idB":40,"type":0},{"idA":24,"idB":40,"type":0},{"idA":25,"idB":40,"type":0},{"idA":26,"idB":40,"type":0},{"idA":27,"idB":40,"type":0},{"idA":28,"idB":40,"type":0},{"idA":29,"idB":40,"type":0},{"idA":30,"idB":40,"type":0},{"idA":31,"idB":40,"type":0},{"idA":32,"idB":40,"type":0},{"idA":33,"idB":40,"type":0},{"idA":34,"idB":40,"type":0},{"idA":35,"idB":40,"type":0},{"idA":36,"idB":40,"type":0},{"idA":37,"idB":40,"type":0},{"idA":38,"idB":40,"type":0},{"idA":39,"idB":40,"type":0},{"idA":1,"idB":41,"type":0},{"idA":2,"idB":41,"type":0},{"idA":3,"idB":41,"type":0},{"idA":4,"idB":41,"type":0},{"idA":5,"idB":41,"type":0},{"idA":6,"idB":41,"type":0},{"idA":7,"idB":41,"type":0},{"idA":8,"idB":41,"type":0},{"idA":9,"idB":41,"type":0},{"idA":10,"idB":41,"type":0},{"idA":11,"idB":41,"type":0},{"idA":12,"idB":41,"type":0},{"idA":13,"idB":41,"type":0},{"idA":14,"idB":41,"type":0},{"idA":15,"idB":41,"type":0},{"idA":16,"idB":41,"type":0},{"idA":17,"idB":41,"type":0},{"idA":18,"idB":41,"type":0},{"idA":19,"idB":41,"type":0},{"idA":20,"idB":41,"type":0},{"idA":22,"idB":41,"type":0},{"idA":23,"idB":41,"type":0},{"idA":24,"idB":41,"type":0},{"idA":25,"idB":41,"type":0},{"idA":26,"idB":41,"type":0},{"idA":27,"idB":41,"type":0},{"idA":28,"idB":41,"type":0},{"idA":29,"idB":41,"type":0},{"idA":30,"idB":41,"type":0},{"idA":31,"idB":41,"type":0},{"idA":32,"idB":41,"type":0},{"idA":33,"idB":41,"type":0},{"idA":34,"idB":41,"type":0},{"idA":35,"idB":41,"type":0},{"idA":36,"idB":41,"type":0},{"idA":37,"idB":41,"type":0},{"idA":38,"idB":41,"type":0},{"idA":39,"idB":41,"type":0},{"idA":40,"idB":41,"type":0},{"idA":1,"idB":42,"type":0},{"idA":2,"idB":42,"type":0},{"idA":3,"idB":42,"type":0},{"idA":4,"idB":42,"type":0},{"idA":5,"idB":42,"type":0},{"idA":6,"idB":42,"type":0},{"idA":7,"idB":42,"type":0},{"idA":8,"idB":42,"type":0},{"idA":9,"idB":42,"type":0},{"idA":10,"idB":42,"type":0},{"idA":11,"idB":42,"type":0},{"idA":12,"idB":42,"type":0},{"idA":13,"idB":42,"type":0},{"idA":14,"idB":42,"type":0},{"idA":15,"idB":42,"type":0},{"idA":16,"idB":42,"type":0},{"idA":17,"idB":42,"type":0},{"idA":18,"idB":42,"type":0},{"idA":19,"idB":42,"type":0},{"idA":20,"idB":42,"type":0},{"idA":22,"idB":42,"type":0},{"idA":23,"idB":42,"type":0},{"idA":24,"idB":42,"type":0},{"idA":25,"idB":42,"type":0},{"idA":26,"idB":42,"type":0},{"idA":27,"idB":42,"type":0},{"idA":28,"idB":42,"type":0},{"idA":29,"idB":42,"type":0},{"idA":30,"idB":42,"type":0},{"idA":31,"idB":42,"type":0},{"idA":32,"idB":42,"type":0},{"idA":33,"idB":42,"type":0},{"idA":34,"idB":42,"type":0},{"idA":35,"idB":42,"type":0},{"idA":36,"idB":42,"type":0},{"idA":37,"idB":42,"type":0},{"idA":38,"idB":42,"type":0},{"idA":39,"idB":42,"type":0},{"idA":40,"idB":42,"type":0},{"idA":41,"idB":42,"type":0},{"idA":1,"idB":43,"type":0},{"idA":2,"idB":43,"type":0},{"idA":3,"idB":43,"type":0},{"idA":4,"idB":43,"type":0},{"idA":5,"idB":43,"type":0},{"idA":6,"idB":43,"type":0},{"idA":7,"idB":43,"type":0},{"idA":8,"idB":43,"type":0},{"idA":9,"idB":43,"type":0},{"idA":10,"idB":43,"type":0},{"idA":11,"idB":43,"type":0},{"idA":12,"idB":43,"type":0},{"idA":13,"idB":43,"type":0},{"idA":14,"idB":43,"type":0},{"idA":15,"idB":43,"type":0},{"idA":16,"idB":43,"type":0},{"idA":17,"idB":43,"type":0},{"idA":18,"idB":43,"type":0},{"idA":19,"idB":43,"type":0},{"idA":20,"idB":43,"type":0},{"idA":22,"idB":43,"type":0},{"idA":23,"idB":43,"type":0},{"idA":24,"idB":43,"type":0},{"idA":25,"idB":43,"type":0},{"idA":26,"idB":43,"type":0},{"idA":27,"idB":43,"type":0},{"idA":28,"idB":43,"type":0},{"idA":29,"idB":43,"type":0},{"idA":30,"idB":43,"type":0},{"idA":31,"idB":43,"type":0},{"idA":32,"idB":43,"type":0},{"idA":33,"idB":43,"type":0},{"idA":34,"idB":43,"type":0},{"idA":35,"idB":43,"type":0},{"idA":36,"idB":43,"type":0},{"idA":37,"idB":43,"type":0},{"idA":38,"idB":43,"type":0},{"idA":39,"idB":43,"type":0},{"idA":40,"idB":43,"type":0},{"idA":41,"idB":43,"type":0},{"idA":42,"idB":43,"type":0},{"idA":1,"idB":44,"type":0},{"idA":2,"idB":44,"type":0},{"idA":3,"idB":44,"type":0},{"idA":4,"idB":44,"type":0},{"idA":5,"idB":44,"type":0},{"idA":6,"idB":44,"type":0},{"idA":7,"idB":44,"type":0},{"idA":8,"idB":44,"type":0},{"idA":9,"idB":44,"type":0},{"idA":10,"idB":44,"type":0},{"idA":11,"idB":44,"type":0},{"idA":12,"idB":44,"type":0},{"idA":13,"idB":44,"type":0},{"idA":14,"idB":44,"type":0},{"idA":15,"idB":44,"type":0},{"idA":16,"idB":44,"type":0},{"idA":17,"idB":44,"type":0},{"idA":18,"idB":44,"type":0},{"idA":19,"idB":44,"type":0},{"idA":20,"idB":44,"type":0},{"idA":22,"idB":44,"type":0},{"idA":23,"idB":44,"type":0},{"idA":24,"idB":44,"type":0},{"idA":25,"idB":44,"type":0},{"idA":26,"idB":44,"type":0},{"idA":27,"idB":44,"type":0},{"idA":28,"idB":44,"type":0},{"idA":29,"idB":44,"type":0},{"idA":30,"idB":44,"type":0},{"idA":31,"idB":44,"type":0},{"idA":32,"idB":44,"type":0},{"idA":33,"idB":44,"type":0},{"idA":34,"idB":44,"type":0},{"idA":35,"idB":44,"type":0},{"idA":36,"idB":44,"type":0},{"idA":37,"idB":44,"type":0},{"idA":38,"idB":44,"type":0},{"idA":39,"idB":44,"type":0},{"idA":40,"idB":44,"type":0},{"idA":41,"idB":44,"type":0},{"idA":42,"idB":44,"type":0},{"idA":43,"idB":44,"type":0},{"idA":1,"idB":45,"type":0},{"idA":2,"idB":45,"type":0},{"idA":3,"idB":45,"type":0},{"idA":4,"idB":45,"type":0},{"idA":5,"idB":45,"type":0},{"idA":6,"idB":45,"type":0},{"idA":7,"idB":45,"type":0},{"idA":8,"idB":45,"type":0},{"idA":9,"idB":45,"type":0},{"idA":10,"idB":45,"type":0},{"idA":11,"idB":45,"type":0},{"idA":12,"idB":45,"type":0},{"idA":13,"idB":45,"type":0},{"idA":14,"idB":45,"type":0},{"idA":15,"idB":45,"type":0},{"idA":16,"idB":45,"type":0},{"idA":17,"idB":45,"type":0},{"idA":18,"idB":45,"type":0},{"idA":19,"idB":45,"type":0},{"idA":20,"idB":45,"type":0},{"idA":22,"idB":45,"type":0},{"idA":23,"idB":45,"type":0},{"idA":24,"idB":45,"type":0},{"idA":25,"idB":45,"type":0},{"idA":26,"idB":45,"type":0},{"idA":27,"idB":45,"type":0},{"idA":28,"idB":45,"type":0},{"idA":29,"idB":45,"type":0},{"idA":30,"idB":45,"type":0},{"idA":31,"idB":45,"type":0},{"idA":32,"idB":45,"type":0},{"idA":33,"idB":45,"type":0},{"idA":34,"idB":45,"type":0},{"idA":35,"idB":45,"type":0},{"idA":36,"idB":45,"type":0},{"idA":37,"idB":45,"type":0},{"idA":38,"idB":45,"type":0},{"idA":39,"idB":45,"type":0},{"idA":40,"idB":45,"type":0},{"idA":41,"idB":45,"type":0},{"idA":42,"idB":45,"type":0},{"idA":43,"idB":45,"type":0},{"idA":44,"idB":45,"type":0}]} +{"subject":{"id":3,"name":"Clarisse","surveys":["phone","facebook"],"creation":1479898736},"contacts":[100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,186,187,188,189],"relations":[{"idA":1,"idB":100,"type":4},{"idA":1,"idB":101,"type":4},{"idA":1,"idB":102,"type":4},{"idA":1,"idB":103,"type":4},{"idA":1,"idB":104,"type":4},{"idA":1,"idB":105,"type":4},{"idA":1,"idB":106,"type":4},{"idA":1,"idB":107,"type":4},{"idA":1,"idB":108,"type":4},{"idA":1,"idB":109,"type":4},{"idA":1,"idB":110,"type":4},{"idA":1,"idB":111,"type":4},{"idA":1,"idB":112,"type":4},{"idA":1,"idB":113,"type":4},{"idA":1,"idB":114,"type":4},{"idA":1,"idB":115,"type":4},{"idA":1,"idB":116,"type":4},{"idA":1,"idB":117,"type":4},{"idA":1,"idB":118,"type":4},{"idA":1,"idB":119,"type":4},{"idA":1,"idB":121,"type":5},{"idA":1,"idB":122,"type":5},{"idA":1,"idB":123,"type":5},{"idA":1,"idB":124,"type":5},{"idA":1,"idB":125,"type":5},{"idA":1,"idB":126,"type":5},{"idA":1,"idB":127,"type":5},{"idA":1,"idB":128,"type":5},{"idA":1,"idB":129,"type":5},{"idA":1,"idB":130,"type":5},{"idA":1,"idB":131,"type":5},{"idA":1,"idB":132,"type":5},{"idA":1,"idB":133,"type":5},{"idA":1,"idB":134,"type":5},{"idA":1,"idB":135,"type":5},{"idA":1,"idB":136,"type":5},{"idA":1,"idB":137,"type":5},{"idA":1,"idB":138,"type":5},{"idA":1,"idB":139,"type":5},{"idA":1,"idB":141,"type":2},{"idA":1,"idB":142,"type":2},{"idA":1,"idB":143,"type":2},{"idA":1,"idB":144,"type":2},{"idA":100,"idB":101,"type":1},{"idA":100,"idB":102,"type":0},{"idA":100,"idB":103,"type":0},{"idA":100,"idB":104,"type":0},{"idA":100,"idB":105,"type":0},{"idA":100,"idB":106,"type":0},{"idA":100,"idB":107,"type":0},{"idA":100,"idB":108,"type":0},{"idA":100,"idB":109,"type":0},{"idA":100,"idB":110,"type":0},{"idA":100,"idB":111,"type":1},{"idA":100,"idB":112,"type":0},{"idA":100,"idB":113,"type":0},{"idA":100,"idB":114,"type":0},{"idA":100,"idB":115,"type":0},{"idA":100,"idB":116,"type":0},{"idA":100,"idB":117,"type":0},{"idA":100,"idB":118,"type":0},{"idA":100,"idB":119,"type":0},{"idA":100,"idB":121,"type":0},{"idA":100,"idB":122,"type":0},{"idA":100,"idB":123,"type":0},{"idA":100,"idB":124,"type":0},{"idA":100,"idB":125,"type":1},{"idA":100,"idB":126,"type":0},{"idA":100,"idB":127,"type":0},{"idA":100,"idB":128,"type":1},{"idA":100,"idB":129,"type":0},{"idA":100,"idB":130,"type":0},{"idA":100,"idB":131,"type":0},{"idA":100,"idB":132,"type":0},{"idA":100,"idB":133,"type":0},{"idA":100,"idB":134,"type":0},{"idA":100,"idB":135,"type":0},{"idA":100,"idB":136,"type":0},{"idA":100,"idB":137,"type":0},{"idA":100,"idB":138,"type":0},{"idA":100,"idB":139,"type":0},{"idA":100,"idB":141,"type":0},{"idA":100,"idB":142,"type":0},{"idA":100,"idB":143,"type":0},{"idA":100,"idB":144,"type":0},{"idA":101,"idB":102,"type":0},{"idA":101,"idB":103,"type":0},{"idA":101,"idB":104,"type":0},{"idA":101,"idB":105,"type":0},{"idA":101,"idB":106,"type":0},{"idA":101,"idB":107,"type":0},{"idA":101,"idB":108,"type":0},{"idA":101,"idB":109,"type":0},{"idA":101,"idB":110,"type":0},{"idA":101,"idB":111,"type":0},{"idA":101,"idB":112,"type":0},{"idA":101,"idB":113,"type":0},{"idA":101,"idB":114,"type":0},{"idA":101,"idB":115,"type":0},{"idA":101,"idB":116,"type":0},{"idA":101,"idB":117,"type":0},{"idA":101,"idB":118,"type":0},{"idA":101,"idB":119,"type":0},{"idA":101,"idB":121,"type":0},{"idA":101,"idB":122,"type":0},{"idA":101,"idB":123,"type":0},{"idA":101,"idB":124,"type":0},{"idA":101,"idB":125,"type":0},{"idA":101,"idB":126,"type":0},{"idA":101,"idB":127,"type":0},{"idA":101,"idB":128,"type":0},{"idA":101,"idB":129,"type":0},{"idA":101,"idB":130,"type":0},{"idA":101,"idB":131,"type":0},{"idA":101,"idB":132,"type":0},{"idA":101,"idB":133,"type":0},{"idA":101,"idB":134,"type":0},{"idA":101,"idB":135,"type":0},{"idA":101,"idB":136,"type":0},{"idA":101,"idB":137,"type":0},{"idA":101,"idB":138,"type":0},{"idA":101,"idB":139,"type":0},{"idA":101,"idB":141,"type":0},{"idA":101,"idB":142,"type":0},{"idA":101,"idB":143,"type":0},{"idA":101,"idB":144,"type":0},{"idA":102,"idB":103,"type":0},{"idA":102,"idB":104,"type":0},{"idA":102,"idB":105,"type":0},{"idA":102,"idB":106,"type":0},{"idA":102,"idB":107,"type":0},{"idA":102,"idB":108,"type":0},{"idA":102,"idB":109,"type":0},{"idA":102,"idB":110,"type":0},{"idA":102,"idB":111,"type":0},{"idA":102,"idB":112,"type":0},{"idA":102,"idB":113,"type":0},{"idA":102,"idB":114,"type":0},{"idA":102,"idB":115,"type":0},{"idA":102,"idB":116,"type":0},{"idA":102,"idB":117,"type":0},{"idA":102,"idB":118,"type":0},{"idA":102,"idB":119,"type":0},{"idA":102,"idB":121,"type":0},{"idA":102,"idB":122,"type":0},{"idA":102,"idB":123,"type":0},{"idA":102,"idB":124,"type":0},{"idA":102,"idB":125,"type":0},{"idA":102,"idB":126,"type":0},{"idA":102,"idB":127,"type":0},{"idA":102,"idB":128,"type":0},{"idA":102,"idB":129,"type":0},{"idA":102,"idB":130,"type":0},{"idA":102,"idB":131,"type":0},{"idA":102,"idB":132,"type":0},{"idA":102,"idB":133,"type":0},{"idA":102,"idB":134,"type":0},{"idA":102,"idB":135,"type":0},{"idA":102,"idB":136,"type":0},{"idA":102,"idB":137,"type":0},{"idA":102,"idB":138,"type":0},{"idA":102,"idB":139,"type":0},{"idA":102,"idB":141,"type":0},{"idA":102,"idB":142,"type":0},{"idA":102,"idB":143,"type":0},{"idA":102,"idB":144,"type":0},{"idA":103,"idB":104,"type":0},{"idA":103,"idB":105,"type":0},{"idA":103,"idB":106,"type":0},{"idA":103,"idB":107,"type":0},{"idA":103,"idB":108,"type":0},{"idA":103,"idB":109,"type":0},{"idA":103,"idB":110,"type":0},{"idA":103,"idB":111,"type":0},{"idA":103,"idB":112,"type":0},{"idA":103,"idB":113,"type":0},{"idA":103,"idB":114,"type":0},{"idA":103,"idB":115,"type":0},{"idA":103,"idB":116,"type":0},{"idA":103,"idB":117,"type":0},{"idA":103,"idB":118,"type":0},{"idA":103,"idB":119,"type":0},{"idA":103,"idB":121,"type":0},{"idA":103,"idB":122,"type":0},{"idA":103,"idB":123,"type":0},{"idA":103,"idB":124,"type":0},{"idA":103,"idB":125,"type":0},{"idA":103,"idB":126,"type":0},{"idA":103,"idB":127,"type":0},{"idA":103,"idB":128,"type":0},{"idA":103,"idB":129,"type":0},{"idA":103,"idB":130,"type":0},{"idA":103,"idB":131,"type":0},{"idA":103,"idB":132,"type":0},{"idA":103,"idB":133,"type":0},{"idA":103,"idB":134,"type":0},{"idA":103,"idB":135,"type":0},{"idA":103,"idB":136,"type":0},{"idA":103,"idB":137,"type":0},{"idA":103,"idB":138,"type":0},{"idA":103,"idB":139,"type":0},{"idA":103,"idB":141,"type":0},{"idA":103,"idB":142,"type":0},{"idA":103,"idB":143,"type":0},{"idA":103,"idB":144,"type":0},{"idA":104,"idB":105,"type":0},{"idA":104,"idB":106,"type":0},{"idA":104,"idB":107,"type":0},{"idA":104,"idB":108,"type":0},{"idA":104,"idB":109,"type":0},{"idA":104,"idB":110,"type":0},{"idA":104,"idB":111,"type":0},{"idA":104,"idB":112,"type":0},{"idA":104,"idB":113,"type":0},{"idA":104,"idB":114,"type":0},{"idA":104,"idB":115,"type":0},{"idA":104,"idB":116,"type":1},{"idA":104,"idB":117,"type":0},{"idA":104,"idB":118,"type":0},{"idA":104,"idB":119,"type":0},{"idA":104,"idB":121,"type":0},{"idA":104,"idB":122,"type":0},{"idA":104,"idB":123,"type":0},{"idA":104,"idB":124,"type":0},{"idA":104,"idB":125,"type":0},{"idA":104,"idB":126,"type":1},{"idA":104,"idB":127,"type":0},{"idA":104,"idB":128,"type":0},{"idA":104,"idB":129,"type":0},{"idA":104,"idB":130,"type":0},{"idA":104,"idB":131,"type":0},{"idA":104,"idB":132,"type":0},{"idA":104,"idB":133,"type":0},{"idA":104,"idB":134,"type":0},{"idA":104,"idB":135,"type":0},{"idA":104,"idB":136,"type":0},{"idA":104,"idB":137,"type":0},{"idA":104,"idB":138,"type":0},{"idA":104,"idB":139,"type":0},{"idA":104,"idB":141,"type":0},{"idA":104,"idB":142,"type":0},{"idA":104,"idB":143,"type":0},{"idA":104,"idB":144,"type":0},{"idA":105,"idB":106,"type":0},{"idA":105,"idB":107,"type":0},{"idA":105,"idB":108,"type":0},{"idA":105,"idB":109,"type":0},{"idA":105,"idB":110,"type":0},{"idA":105,"idB":111,"type":1},{"idA":105,"idB":112,"type":0},{"idA":105,"idB":113,"type":0},{"idA":105,"idB":114,"type":0},{"idA":105,"idB":115,"type":0},{"idA":105,"idB":116,"type":0},{"idA":105,"idB":117,"type":0},{"idA":105,"idB":118,"type":0},{"idA":105,"idB":119,"type":0},{"idA":105,"idB":121,"type":0},{"idA":105,"idB":122,"type":0},{"idA":105,"idB":123,"type":1},{"idA":105,"idB":124,"type":0},{"idA":105,"idB":125,"type":0},{"idA":105,"idB":126,"type":0},{"idA":105,"idB":127,"type":1},{"idA":105,"idB":128,"type":0},{"idA":105,"idB":129,"type":0},{"idA":105,"idB":130,"type":0},{"idA":105,"idB":131,"type":0},{"idA":105,"idB":132,"type":0},{"idA":105,"idB":133,"type":0},{"idA":105,"idB":134,"type":0},{"idA":105,"idB":135,"type":0},{"idA":105,"idB":136,"type":0},{"idA":105,"idB":137,"type":0},{"idA":105,"idB":138,"type":0},{"idA":105,"idB":139,"type":0},{"idA":105,"idB":141,"type":0},{"idA":105,"idB":142,"type":0},{"idA":105,"idB":143,"type":0},{"idA":105,"idB":144,"type":0},{"idA":106,"idB":107,"type":0},{"idA":106,"idB":108,"type":0},{"idA":106,"idB":109,"type":0},{"idA":106,"idB":110,"type":0},{"idA":106,"idB":111,"type":0},{"idA":106,"idB":112,"type":0},{"idA":106,"idB":113,"type":0},{"idA":106,"idB":114,"type":0},{"idA":106,"idB":115,"type":0},{"idA":106,"idB":116,"type":0},{"idA":106,"idB":117,"type":0},{"idA":106,"idB":118,"type":0},{"idA":106,"idB":119,"type":0},{"idA":106,"idB":121,"type":0},{"idA":106,"idB":122,"type":0},{"idA":106,"idB":123,"type":0},{"idA":106,"idB":124,"type":0},{"idA":106,"idB":125,"type":0},{"idA":106,"idB":126,"type":0},{"idA":106,"idB":127,"type":0},{"idA":106,"idB":128,"type":0},{"idA":106,"idB":129,"type":0},{"idA":106,"idB":130,"type":0},{"idA":106,"idB":131,"type":0},{"idA":106,"idB":132,"type":0},{"idA":106,"idB":133,"type":0},{"idA":106,"idB":134,"type":0},{"idA":106,"idB":135,"type":0},{"idA":106,"idB":136,"type":0},{"idA":106,"idB":137,"type":0},{"idA":106,"idB":138,"type":0},{"idA":106,"idB":139,"type":0},{"idA":106,"idB":141,"type":0},{"idA":106,"idB":142,"type":0},{"idA":106,"idB":143,"type":0},{"idA":106,"idB":144,"type":0},{"idA":107,"idB":108,"type":0},{"idA":107,"idB":109,"type":0},{"idA":107,"idB":110,"type":0},{"idA":107,"idB":111,"type":0},{"idA":107,"idB":112,"type":0},{"idA":107,"idB":113,"type":0},{"idA":107,"idB":114,"type":0},{"idA":107,"idB":115,"type":0},{"idA":107,"idB":116,"type":0},{"idA":107,"idB":117,"type":0},{"idA":107,"idB":118,"type":0},{"idA":107,"idB":119,"type":0},{"idA":107,"idB":121,"type":0},{"idA":107,"idB":122,"type":0},{"idA":107,"idB":123,"type":0},{"idA":107,"idB":124,"type":0},{"idA":107,"idB":125,"type":0},{"idA":107,"idB":126,"type":0},{"idA":107,"idB":127,"type":0},{"idA":107,"idB":128,"type":0},{"idA":107,"idB":129,"type":0},{"idA":107,"idB":130,"type":0},{"idA":107,"idB":131,"type":0},{"idA":107,"idB":132,"type":0},{"idA":107,"idB":133,"type":0},{"idA":107,"idB":134,"type":0},{"idA":107,"idB":135,"type":0},{"idA":107,"idB":136,"type":0},{"idA":107,"idB":137,"type":0},{"idA":107,"idB":138,"type":0},{"idA":107,"idB":139,"type":0},{"idA":107,"idB":141,"type":0},{"idA":107,"idB":142,"type":0},{"idA":107,"idB":143,"type":0},{"idA":107,"idB":144,"type":0},{"idA":108,"idB":109,"type":0},{"idA":108,"idB":110,"type":0},{"idA":108,"idB":111,"type":0},{"idA":108,"idB":112,"type":0},{"idA":108,"idB":113,"type":0},{"idA":108,"idB":114,"type":0},{"idA":108,"idB":115,"type":0},{"idA":108,"idB":116,"type":0},{"idA":108,"idB":117,"type":0},{"idA":108,"idB":118,"type":0},{"idA":108,"idB":119,"type":0},{"idA":108,"idB":121,"type":0},{"idA":108,"idB":122,"type":0},{"idA":108,"idB":123,"type":0},{"idA":108,"idB":124,"type":0},{"idA":108,"idB":125,"type":0},{"idA":108,"idB":126,"type":0},{"idA":108,"idB":127,"type":0},{"idA":108,"idB":128,"type":0},{"idA":108,"idB":129,"type":0},{"idA":108,"idB":130,"type":0},{"idA":108,"idB":131,"type":0},{"idA":108,"idB":132,"type":0},{"idA":108,"idB":133,"type":0},{"idA":108,"idB":134,"type":0},{"idA":108,"idB":135,"type":0},{"idA":108,"idB":136,"type":0},{"idA":108,"idB":137,"type":0},{"idA":108,"idB":138,"type":0},{"idA":108,"idB":139,"type":0},{"idA":108,"idB":141,"type":0},{"idA":108,"idB":142,"type":0},{"idA":108,"idB":143,"type":0},{"idA":108,"idB":144,"type":0},{"idA":109,"idB":110,"type":0},{"idA":109,"idB":111,"type":0},{"idA":109,"idB":112,"type":0},{"idA":109,"idB":113,"type":0},{"idA":109,"idB":114,"type":0},{"idA":109,"idB":115,"type":0},{"idA":109,"idB":116,"type":0},{"idA":109,"idB":117,"type":0},{"idA":109,"idB":118,"type":0},{"idA":109,"idB":119,"type":0},{"idA":109,"idB":121,"type":0},{"idA":109,"idB":122,"type":0},{"idA":109,"idB":123,"type":0},{"idA":109,"idB":124,"type":0},{"idA":109,"idB":125,"type":0},{"idA":109,"idB":126,"type":0},{"idA":109,"idB":127,"type":0},{"idA":109,"idB":128,"type":0},{"idA":109,"idB":129,"type":0},{"idA":109,"idB":130,"type":0},{"idA":109,"idB":131,"type":0},{"idA":109,"idB":132,"type":0},{"idA":109,"idB":133,"type":0},{"idA":109,"idB":134,"type":0},{"idA":109,"idB":135,"type":0},{"idA":109,"idB":136,"type":0},{"idA":109,"idB":137,"type":0},{"idA":109,"idB":138,"type":0},{"idA":109,"idB":139,"type":0},{"idA":109,"idB":141,"type":0},{"idA":109,"idB":142,"type":0},{"idA":109,"idB":143,"type":0},{"idA":109,"idB":144,"type":0},{"idA":110,"idB":111,"type":0},{"idA":110,"idB":112,"type":0},{"idA":110,"idB":113,"type":0},{"idA":110,"idB":114,"type":0},{"idA":110,"idB":115,"type":0},{"idA":110,"idB":116,"type":0},{"idA":110,"idB":117,"type":0},{"idA":110,"idB":118,"type":0},{"idA":110,"idB":119,"type":0},{"idA":110,"idB":121,"type":0},{"idA":110,"idB":122,"type":0},{"idA":110,"idB":123,"type":0},{"idA":110,"idB":124,"type":0},{"idA":110,"idB":125,"type":0},{"idA":110,"idB":126,"type":0},{"idA":110,"idB":127,"type":0},{"idA":110,"idB":128,"type":0},{"idA":110,"idB":129,"type":0},{"idA":110,"idB":130,"type":0},{"idA":110,"idB":131,"type":0},{"idA":110,"idB":132,"type":0},{"idA":110,"idB":133,"type":0},{"idA":110,"idB":134,"type":0},{"idA":110,"idB":135,"type":0},{"idA":110,"idB":136,"type":0},{"idA":110,"idB":137,"type":0},{"idA":110,"idB":138,"type":0},{"idA":110,"idB":139,"type":0},{"idA":110,"idB":141,"type":0},{"idA":110,"idB":142,"type":0},{"idA":110,"idB":143,"type":0},{"idA":110,"idB":144,"type":0},{"idA":111,"idB":112,"type":0},{"idA":111,"idB":113,"type":0},{"idA":111,"idB":114,"type":0},{"idA":111,"idB":115,"type":0},{"idA":111,"idB":116,"type":0},{"idA":111,"idB":117,"type":0},{"idA":111,"idB":118,"type":0},{"idA":111,"idB":119,"type":0},{"idA":111,"idB":121,"type":0},{"idA":111,"idB":122,"type":0},{"idA":111,"idB":123,"type":0},{"idA":111,"idB":124,"type":0},{"idA":111,"idB":125,"type":0},{"idA":111,"idB":126,"type":0},{"idA":111,"idB":127,"type":0},{"idA":111,"idB":128,"type":0},{"idA":111,"idB":129,"type":0},{"idA":111,"idB":130,"type":0},{"idA":111,"idB":131,"type":0},{"idA":111,"idB":132,"type":0},{"idA":111,"idB":133,"type":0},{"idA":111,"idB":134,"type":0},{"idA":111,"idB":135,"type":0},{"idA":111,"idB":136,"type":0},{"idA":111,"idB":137,"type":0},{"idA":111,"idB":138,"type":0},{"idA":111,"idB":139,"type":0},{"idA":111,"idB":141,"type":0},{"idA":111,"idB":142,"type":0},{"idA":111,"idB":143,"type":0},{"idA":111,"idB":144,"type":0},{"idA":112,"idB":113,"type":0},{"idA":112,"idB":114,"type":0},{"idA":112,"idB":115,"type":0},{"idA":112,"idB":116,"type":0},{"idA":112,"idB":117,"type":0},{"idA":112,"idB":118,"type":0},{"idA":112,"idB":119,"type":0},{"idA":112,"idB":121,"type":0},{"idA":112,"idB":122,"type":0},{"idA":112,"idB":123,"type":0},{"idA":112,"idB":124,"type":0},{"idA":112,"idB":125,"type":0},{"idA":112,"idB":126,"type":0},{"idA":112,"idB":127,"type":0},{"idA":112,"idB":128,"type":0},{"idA":112,"idB":129,"type":0},{"idA":112,"idB":130,"type":0},{"idA":112,"idB":131,"type":0},{"idA":112,"idB":132,"type":0},{"idA":112,"idB":133,"type":0},{"idA":112,"idB":134,"type":0},{"idA":112,"idB":135,"type":0},{"idA":112,"idB":136,"type":0},{"idA":112,"idB":137,"type":0},{"idA":112,"idB":138,"type":0},{"idA":112,"idB":139,"type":0},{"idA":112,"idB":141,"type":0},{"idA":112,"idB":142,"type":0},{"idA":112,"idB":143,"type":0},{"idA":112,"idB":144,"type":0},{"idA":113,"idB":114,"type":0},{"idA":113,"idB":115,"type":0},{"idA":113,"idB":116,"type":0},{"idA":113,"idB":117,"type":0},{"idA":113,"idB":118,"type":0},{"idA":113,"idB":119,"type":0},{"idA":113,"idB":121,"type":0},{"idA":113,"idB":122,"type":0},{"idA":113,"idB":123,"type":0},{"idA":113,"idB":124,"type":0},{"idA":113,"idB":125,"type":0},{"idA":113,"idB":126,"type":0},{"idA":113,"idB":127,"type":0},{"idA":113,"idB":128,"type":0},{"idA":113,"idB":129,"type":0},{"idA":113,"idB":130,"type":0},{"idA":113,"idB":131,"type":0},{"idA":113,"idB":132,"type":0},{"idA":113,"idB":133,"type":0},{"idA":113,"idB":134,"type":0},{"idA":113,"idB":135,"type":0},{"idA":113,"idB":136,"type":0},{"idA":113,"idB":137,"type":0},{"idA":113,"idB":138,"type":0},{"idA":113,"idB":139,"type":0},{"idA":113,"idB":141,"type":0},{"idA":113,"idB":142,"type":0},{"idA":113,"idB":143,"type":0},{"idA":113,"idB":144,"type":0},{"idA":114,"idB":115,"type":0},{"idA":114,"idB":116,"type":0},{"idA":114,"idB":117,"type":0},{"idA":114,"idB":118,"type":0},{"idA":114,"idB":119,"type":0},{"idA":114,"idB":121,"type":0},{"idA":114,"idB":122,"type":0},{"idA":114,"idB":123,"type":0},{"idA":114,"idB":124,"type":0},{"idA":114,"idB":125,"type":0},{"idA":114,"idB":126,"type":0},{"idA":114,"idB":127,"type":0},{"idA":114,"idB":128,"type":0},{"idA":114,"idB":129,"type":0},{"idA":114,"idB":130,"type":0},{"idA":114,"idB":131,"type":0},{"idA":114,"idB":132,"type":0},{"idA":114,"idB":133,"type":0},{"idA":114,"idB":134,"type":0},{"idA":114,"idB":135,"type":0},{"idA":114,"idB":136,"type":0},{"idA":114,"idB":137,"type":0},{"idA":114,"idB":138,"type":0},{"idA":114,"idB":139,"type":0},{"idA":114,"idB":141,"type":0},{"idA":114,"idB":142,"type":0},{"idA":114,"idB":143,"type":0},{"idA":114,"idB":144,"type":0},{"idA":115,"idB":116,"type":0},{"idA":115,"idB":117,"type":0},{"idA":115,"idB":118,"type":0},{"idA":115,"idB":119,"type":0},{"idA":115,"idB":121,"type":0},{"idA":115,"idB":122,"type":0},{"idA":115,"idB":123,"type":0},{"idA":115,"idB":124,"type":0},{"idA":115,"idB":125,"type":0},{"idA":115,"idB":126,"type":0},{"idA":115,"idB":127,"type":0},{"idA":115,"idB":128,"type":0},{"idA":115,"idB":129,"type":0},{"idA":115,"idB":130,"type":0},{"idA":115,"idB":131,"type":0},{"idA":115,"idB":132,"type":0},{"idA":115,"idB":133,"type":0},{"idA":115,"idB":134,"type":0},{"idA":115,"idB":135,"type":0},{"idA":115,"idB":136,"type":0},{"idA":115,"idB":137,"type":0},{"idA":115,"idB":138,"type":0},{"idA":115,"idB":139,"type":0},{"idA":115,"idB":141,"type":0},{"idA":115,"idB":142,"type":0},{"idA":115,"idB":143,"type":0},{"idA":115,"idB":144,"type":0},{"idA":116,"idB":117,"type":0},{"idA":116,"idB":118,"type":0},{"idA":116,"idB":119,"type":0},{"idA":116,"idB":121,"type":0},{"idA":116,"idB":122,"type":0},{"idA":116,"idB":123,"type":0},{"idA":116,"idB":124,"type":0},{"idA":116,"idB":125,"type":0},{"idA":116,"idB":126,"type":0},{"idA":116,"idB":127,"type":0},{"idA":116,"idB":128,"type":0},{"idA":116,"idB":129,"type":0},{"idA":116,"idB":130,"type":0},{"idA":116,"idB":131,"type":0},{"idA":116,"idB":132,"type":0},{"idA":116,"idB":133,"type":0},{"idA":116,"idB":134,"type":0},{"idA":116,"idB":135,"type":0},{"idA":116,"idB":136,"type":0},{"idA":116,"idB":137,"type":0},{"idA":116,"idB":138,"type":0},{"idA":116,"idB":139,"type":0},{"idA":116,"idB":141,"type":0},{"idA":116,"idB":142,"type":0},{"idA":116,"idB":143,"type":0},{"idA":116,"idB":144,"type":0},{"idA":117,"idB":118,"type":0},{"idA":117,"idB":119,"type":0},{"idA":117,"idB":121,"type":0},{"idA":117,"idB":122,"type":0},{"idA":117,"idB":123,"type":0},{"idA":117,"idB":124,"type":0},{"idA":117,"idB":125,"type":0},{"idA":117,"idB":126,"type":0},{"idA":117,"idB":127,"type":0},{"idA":117,"idB":128,"type":0},{"idA":117,"idB":129,"type":0},{"idA":117,"idB":130,"type":0},{"idA":117,"idB":131,"type":0},{"idA":117,"idB":132,"type":0},{"idA":117,"idB":133,"type":0},{"idA":117,"idB":134,"type":0},{"idA":117,"idB":135,"type":0},{"idA":117,"idB":136,"type":0},{"idA":117,"idB":137,"type":0},{"idA":117,"idB":138,"type":0},{"idA":117,"idB":139,"type":0},{"idA":117,"idB":141,"type":0},{"idA":117,"idB":142,"type":0},{"idA":117,"idB":143,"type":0},{"idA":117,"idB":144,"type":0},{"idA":118,"idB":119,"type":0},{"idA":118,"idB":121,"type":0},{"idA":118,"idB":122,"type":0},{"idA":118,"idB":123,"type":0},{"idA":118,"idB":124,"type":0},{"idA":118,"idB":125,"type":0},{"idA":118,"idB":126,"type":0},{"idA":118,"idB":127,"type":0},{"idA":118,"idB":128,"type":0},{"idA":118,"idB":129,"type":0},{"idA":118,"idB":130,"type":0},{"idA":118,"idB":131,"type":0},{"idA":118,"idB":132,"type":0},{"idA":118,"idB":133,"type":0},{"idA":118,"idB":134,"type":0},{"idA":118,"idB":135,"type":0},{"idA":118,"idB":136,"type":0},{"idA":118,"idB":137,"type":0},{"idA":118,"idB":138,"type":0},{"idA":118,"idB":139,"type":0},{"idA":118,"idB":141,"type":0},{"idA":118,"idB":142,"type":0},{"idA":118,"idB":143,"type":0},{"idA":118,"idB":144,"type":0},{"idA":119,"idB":121,"type":0},{"idA":119,"idB":122,"type":0},{"idA":119,"idB":123,"type":0},{"idA":119,"idB":124,"type":0},{"idA":119,"idB":125,"type":0},{"idA":119,"idB":126,"type":0},{"idA":119,"idB":127,"type":0},{"idA":119,"idB":128,"type":0},{"idA":119,"idB":129,"type":0},{"idA":119,"idB":130,"type":0},{"idA":119,"idB":131,"type":0},{"idA":119,"idB":132,"type":0},{"idA":119,"idB":133,"type":0},{"idA":119,"idB":134,"type":0},{"idA":119,"idB":135,"type":0},{"idA":119,"idB":136,"type":0},{"idA":119,"idB":137,"type":0},{"idA":119,"idB":138,"type":0},{"idA":119,"idB":139,"type":0},{"idA":119,"idB":141,"type":0},{"idA":119,"idB":142,"type":0},{"idA":119,"idB":143,"type":0},{"idA":119,"idB":144,"type":0},{"idA":121,"idB":122,"type":0},{"idA":121,"idB":123,"type":0},{"idA":121,"idB":124,"type":0},{"idA":121,"idB":125,"type":0},{"idA":121,"idB":126,"type":0},{"idA":121,"idB":127,"type":0},{"idA":121,"idB":128,"type":0},{"idA":121,"idB":129,"type":0},{"idA":121,"idB":130,"type":0},{"idA":121,"idB":131,"type":0},{"idA":121,"idB":132,"type":0},{"idA":121,"idB":133,"type":0},{"idA":121,"idB":134,"type":0},{"idA":121,"idB":135,"type":0},{"idA":121,"idB":136,"type":0},{"idA":121,"idB":137,"type":0},{"idA":121,"idB":138,"type":0},{"idA":121,"idB":139,"type":0},{"idA":121,"idB":141,"type":0},{"idA":121,"idB":142,"type":0},{"idA":121,"idB":143,"type":0},{"idA":121,"idB":144,"type":0},{"idA":122,"idB":123,"type":0},{"idA":122,"idB":124,"type":0},{"idA":122,"idB":125,"type":0},{"idA":122,"idB":126,"type":0},{"idA":122,"idB":127,"type":0},{"idA":122,"idB":128,"type":0},{"idA":122,"idB":129,"type":0},{"idA":122,"idB":130,"type":0},{"idA":122,"idB":131,"type":0},{"idA":122,"idB":132,"type":0},{"idA":122,"idB":133,"type":0},{"idA":122,"idB":134,"type":0},{"idA":122,"idB":135,"type":0},{"idA":122,"idB":136,"type":0},{"idA":122,"idB":137,"type":0},{"idA":122,"idB":138,"type":0},{"idA":122,"idB":139,"type":0},{"idA":122,"idB":141,"type":0},{"idA":122,"idB":142,"type":0},{"idA":122,"idB":143,"type":0},{"idA":122,"idB":144,"type":0},{"idA":123,"idB":124,"type":0},{"idA":123,"idB":125,"type":0},{"idA":123,"idB":126,"type":0},{"idA":123,"idB":127,"type":0},{"idA":123,"idB":128,"type":0},{"idA":123,"idB":129,"type":0},{"idA":123,"idB":130,"type":0},{"idA":123,"idB":131,"type":0},{"idA":123,"idB":132,"type":0},{"idA":123,"idB":133,"type":0},{"idA":123,"idB":134,"type":0},{"idA":123,"idB":135,"type":0},{"idA":123,"idB":136,"type":0},{"idA":123,"idB":137,"type":0},{"idA":123,"idB":138,"type":0},{"idA":123,"idB":139,"type":0},{"idA":123,"idB":141,"type":0},{"idA":123,"idB":142,"type":0},{"idA":123,"idB":143,"type":0},{"idA":123,"idB":144,"type":0},{"idA":124,"idB":125,"type":0},{"idA":124,"idB":126,"type":0},{"idA":124,"idB":127,"type":0},{"idA":124,"idB":128,"type":0},{"idA":124,"idB":129,"type":0},{"idA":124,"idB":130,"type":0},{"idA":124,"idB":131,"type":0},{"idA":124,"idB":132,"type":0},{"idA":124,"idB":133,"type":0},{"idA":124,"idB":134,"type":0},{"idA":124,"idB":135,"type":0},{"idA":124,"idB":136,"type":0},{"idA":124,"idB":137,"type":0},{"idA":124,"idB":138,"type":0},{"idA":124,"idB":139,"type":0},{"idA":124,"idB":141,"type":0},{"idA":124,"idB":142,"type":0},{"idA":124,"idB":143,"type":0},{"idA":124,"idB":144,"type":0},{"idA":125,"idB":126,"type":0},{"idA":125,"idB":127,"type":0},{"idA":125,"idB":128,"type":0},{"idA":125,"idB":129,"type":0},{"idA":125,"idB":130,"type":0},{"idA":125,"idB":131,"type":0},{"idA":125,"idB":132,"type":0},{"idA":125,"idB":133,"type":0},{"idA":125,"idB":134,"type":0},{"idA":125,"idB":135,"type":0},{"idA":125,"idB":136,"type":0},{"idA":125,"idB":137,"type":0},{"idA":125,"idB":138,"type":0},{"idA":125,"idB":139,"type":0},{"idA":125,"idB":141,"type":0},{"idA":125,"idB":142,"type":0},{"idA":125,"idB":143,"type":0},{"idA":125,"idB":144,"type":0},{"idA":126,"idB":127,"type":0},{"idA":126,"idB":128,"type":0},{"idA":126,"idB":129,"type":0},{"idA":126,"idB":130,"type":0},{"idA":126,"idB":131,"type":0},{"idA":126,"idB":132,"type":0},{"idA":126,"idB":133,"type":0},{"idA":126,"idB":134,"type":0},{"idA":126,"idB":135,"type":0},{"idA":126,"idB":136,"type":0},{"idA":126,"idB":137,"type":0},{"idA":126,"idB":138,"type":0},{"idA":126,"idB":139,"type":0},{"idA":126,"idB":141,"type":0},{"idA":126,"idB":142,"type":0},{"idA":126,"idB":143,"type":0},{"idA":126,"idB":144,"type":0},{"idA":127,"idB":128,"type":0},{"idA":127,"idB":129,"type":0},{"idA":127,"idB":130,"type":0},{"idA":127,"idB":131,"type":0},{"idA":127,"idB":132,"type":0},{"idA":127,"idB":133,"type":0},{"idA":127,"idB":134,"type":0},{"idA":127,"idB":135,"type":0},{"idA":127,"idB":136,"type":0},{"idA":127,"idB":137,"type":0},{"idA":127,"idB":138,"type":0},{"idA":127,"idB":139,"type":0},{"idA":127,"idB":141,"type":0},{"idA":127,"idB":142,"type":0},{"idA":127,"idB":143,"type":0},{"idA":127,"idB":144,"type":0},{"idA":128,"idB":129,"type":0},{"idA":128,"idB":130,"type":0},{"idA":128,"idB":131,"type":0},{"idA":128,"idB":132,"type":0},{"idA":128,"idB":133,"type":0},{"idA":128,"idB":134,"type":0},{"idA":128,"idB":135,"type":0},{"idA":128,"idB":136,"type":0},{"idA":128,"idB":137,"type":0},{"idA":128,"idB":138,"type":0},{"idA":128,"idB":139,"type":0},{"idA":128,"idB":141,"type":0},{"idA":128,"idB":142,"type":0},{"idA":128,"idB":143,"type":0},{"idA":128,"idB":144,"type":0},{"idA":129,"idB":130,"type":0},{"idA":129,"idB":131,"type":0},{"idA":129,"idB":132,"type":0},{"idA":129,"idB":133,"type":0},{"idA":129,"idB":134,"type":0},{"idA":129,"idB":135,"type":0},{"idA":129,"idB":136,"type":0},{"idA":129,"idB":137,"type":0},{"idA":129,"idB":138,"type":0},{"idA":129,"idB":139,"type":0},{"idA":129,"idB":141,"type":0},{"idA":129,"idB":142,"type":0},{"idA":129,"idB":143,"type":0},{"idA":129,"idB":144,"type":0},{"idA":130,"idB":131,"type":0},{"idA":130,"idB":132,"type":0},{"idA":130,"idB":133,"type":0},{"idA":130,"idB":134,"type":0},{"idA":130,"idB":135,"type":0},{"idA":130,"idB":136,"type":0},{"idA":130,"idB":137,"type":0},{"idA":130,"idB":138,"type":0},{"idA":130,"idB":139,"type":0},{"idA":130,"idB":141,"type":0},{"idA":130,"idB":142,"type":0},{"idA":130,"idB":143,"type":0},{"idA":130,"idB":144,"type":0},{"idA":131,"idB":132,"type":0},{"idA":131,"idB":133,"type":0},{"idA":131,"idB":134,"type":0},{"idA":131,"idB":135,"type":0},{"idA":131,"idB":136,"type":1},{"idA":131,"idB":137,"type":1},{"idA":131,"idB":138,"type":0},{"idA":131,"idB":139,"type":0},{"idA":131,"idB":141,"type":0},{"idA":131,"idB":142,"type":0},{"idA":131,"idB":143,"type":0},{"idA":131,"idB":144,"type":0},{"idA":132,"idB":133,"type":0},{"idA":132,"idB":134,"type":1},{"idA":132,"idB":135,"type":0},{"idA":132,"idB":136,"type":0},{"idA":132,"idB":137,"type":0},{"idA":132,"idB":138,"type":0},{"idA":132,"idB":139,"type":0},{"idA":132,"idB":141,"type":0},{"idA":132,"idB":142,"type":0},{"idA":132,"idB":143,"type":0},{"idA":132,"idB":144,"type":0},{"idA":133,"idB":134,"type":1},{"idA":133,"idB":135,"type":0},{"idA":133,"idB":136,"type":0},{"idA":133,"idB":137,"type":0},{"idA":133,"idB":138,"type":1},{"idA":133,"idB":139,"type":0},{"idA":133,"idB":141,"type":0},{"idA":133,"idB":142,"type":0},{"idA":133,"idB":143,"type":0},{"idA":133,"idB":144,"type":0},{"idA":134,"idB":135,"type":0},{"idA":134,"idB":136,"type":0},{"idA":134,"idB":137,"type":0},{"idA":134,"idB":138,"type":0},{"idA":134,"idB":139,"type":0},{"idA":134,"idB":141,"type":0},{"idA":134,"idB":142,"type":0},{"idA":134,"idB":143,"type":0},{"idA":134,"idB":144,"type":0},{"idA":135,"idB":136,"type":0},{"idA":135,"idB":137,"type":1},{"idA":135,"idB":138,"type":0},{"idA":135,"idB":139,"type":0},{"idA":135,"idB":141,"type":0},{"idA":135,"idB":142,"type":0},{"idA":135,"idB":143,"type":0},{"idA":135,"idB":144,"type":0},{"idA":136,"idB":137,"type":0},{"idA":136,"idB":138,"type":0},{"idA":136,"idB":139,"type":0},{"idA":136,"idB":141,"type":0},{"idA":136,"idB":142,"type":0},{"idA":136,"idB":143,"type":0},{"idA":136,"idB":144,"type":0},{"idA":137,"idB":138,"type":0},{"idA":137,"idB":139,"type":0},{"idA":137,"idB":141,"type":0},{"idA":137,"idB":142,"type":0},{"idA":137,"idB":143,"type":0},{"idA":137,"idB":144,"type":0},{"idA":138,"idB":139,"type":0},{"idA":138,"idB":141,"type":0},{"idA":138,"idB":142,"type":0},{"idA":138,"idB":143,"type":0},{"idA":138,"idB":144,"type":0},{"idA":139,"idB":141,"type":0},{"idA":139,"idB":142,"type":0},{"idA":139,"idB":143,"type":0},{"idA":139,"idB":144,"type":0},{"idA":141,"idB":142,"type":0},{"idA":141,"idB":143,"type":0},{"idA":141,"idB":144,"type":0},{"idA":142,"idB":143,"type":0},{"idA":142,"idB":144,"type":0},{"idA":143,"idB":144,"type":0},{"idA":1,"idB":145,"type":6},{"idA":1,"idB":146,"type":6},{"idA":1,"idB":147,"type":6},{"idA":1,"idB":148,"type":6},{"idA":1,"idB":149,"type":6},{"idA":1,"idB":150,"type":6},{"idA":1,"idB":151,"type":6},{"idA":1,"idB":152,"type":6},{"idA":1,"idB":153,"type":6},{"idA":1,"idB":154,"type":6},{"idA":1,"idB":155,"type":6},{"idA":1,"idB":156,"type":6},{"idA":1,"idB":157,"type":6},{"idA":1,"idB":158,"type":6},{"idA":1,"idB":159,"type":6},{"idA":1,"idB":160,"type":6},{"idA":1,"idB":161,"type":6},{"idA":1,"idB":162,"type":6},{"idA":1,"idB":163,"type":6},{"idA":1,"idB":164,"type":6},{"idA":1,"idB":166,"type":7},{"idA":1,"idB":167,"type":7},{"idA":1,"idB":168,"type":7},{"idA":1,"idB":169,"type":7},{"idA":1,"idB":170,"type":7},{"idA":1,"idB":171,"type":7},{"idA":1,"idB":172,"type":7},{"idA":1,"idB":173,"type":7},{"idA":1,"idB":174,"type":7},{"idA":1,"idB":175,"type":7},{"idA":1,"idB":176,"type":7},{"idA":1,"idB":177,"type":7},{"idA":1,"idB":178,"type":7},{"idA":1,"idB":179,"type":7},{"idA":1,"idB":180,"type":7},{"idA":1,"idB":181,"type":7},{"idA":1,"idB":182,"type":7},{"idA":1,"idB":183,"type":7},{"idA":1,"idB":184,"type":7},{"idA":1,"idB":186,"type":3},{"idA":1,"idB":187,"type":3},{"idA":1,"idB":188,"type":3},{"idA":1,"idB":189,"type":3},{"idA":145,"idB":146,"type":1},{"idA":145,"idB":147,"type":0},{"idA":145,"idB":148,"type":0},{"idA":145,"idB":149,"type":0},{"idA":145,"idB":150,"type":0},{"idA":145,"idB":151,"type":0},{"idA":145,"idB":152,"type":0},{"idA":145,"idB":153,"type":0},{"idA":145,"idB":154,"type":0},{"idA":145,"idB":155,"type":0},{"idA":145,"idB":156,"type":1},{"idA":145,"idB":157,"type":0},{"idA":145,"idB":158,"type":0},{"idA":145,"idB":159,"type":0},{"idA":145,"idB":160,"type":0},{"idA":145,"idB":161,"type":0},{"idA":145,"idB":162,"type":0},{"idA":145,"idB":163,"type":0},{"idA":145,"idB":164,"type":0},{"idA":145,"idB":166,"type":0},{"idA":145,"idB":167,"type":0},{"idA":145,"idB":168,"type":0},{"idA":145,"idB":169,"type":0},{"idA":145,"idB":170,"type":1},{"idA":145,"idB":171,"type":0},{"idA":145,"idB":172,"type":0},{"idA":145,"idB":173,"type":1},{"idA":145,"idB":174,"type":0},{"idA":145,"idB":175,"type":0},{"idA":145,"idB":176,"type":0},{"idA":145,"idB":177,"type":0},{"idA":145,"idB":178,"type":0},{"idA":145,"idB":179,"type":0},{"idA":145,"idB":180,"type":0},{"idA":145,"idB":181,"type":0},{"idA":145,"idB":182,"type":0},{"idA":145,"idB":183,"type":0},{"idA":145,"idB":184,"type":0},{"idA":145,"idB":186,"type":0},{"idA":145,"idB":187,"type":0},{"idA":145,"idB":188,"type":0},{"idA":145,"idB":189,"type":0},{"idA":146,"idB":147,"type":0},{"idA":146,"idB":148,"type":0},{"idA":146,"idB":149,"type":0},{"idA":146,"idB":150,"type":0},{"idA":146,"idB":151,"type":0},{"idA":146,"idB":152,"type":0},{"idA":146,"idB":153,"type":0},{"idA":146,"idB":154,"type":0},{"idA":146,"idB":155,"type":0},{"idA":146,"idB":156,"type":0},{"idA":146,"idB":157,"type":0},{"idA":146,"idB":158,"type":0},{"idA":146,"idB":159,"type":0},{"idA":146,"idB":160,"type":0},{"idA":146,"idB":161,"type":0},{"idA":146,"idB":162,"type":0},{"idA":146,"idB":163,"type":0},{"idA":146,"idB":164,"type":0},{"idA":146,"idB":166,"type":0},{"idA":146,"idB":167,"type":0},{"idA":146,"idB":168,"type":0},{"idA":146,"idB":169,"type":0},{"idA":146,"idB":170,"type":0},{"idA":146,"idB":171,"type":0},{"idA":146,"idB":172,"type":0},{"idA":146,"idB":173,"type":0},{"idA":146,"idB":174,"type":0},{"idA":146,"idB":175,"type":0},{"idA":146,"idB":176,"type":0},{"idA":146,"idB":177,"type":0},{"idA":146,"idB":178,"type":0},{"idA":146,"idB":179,"type":0},{"idA":146,"idB":180,"type":0},{"idA":146,"idB":181,"type":0},{"idA":146,"idB":182,"type":0},{"idA":146,"idB":183,"type":0},{"idA":146,"idB":184,"type":0},{"idA":146,"idB":186,"type":0},{"idA":146,"idB":187,"type":0},{"idA":146,"idB":188,"type":0},{"idA":146,"idB":189,"type":0},{"idA":147,"idB":148,"type":0},{"idA":147,"idB":149,"type":0},{"idA":147,"idB":150,"type":0},{"idA":147,"idB":151,"type":0},{"idA":147,"idB":152,"type":0},{"idA":147,"idB":153,"type":0},{"idA":147,"idB":154,"type":0},{"idA":147,"idB":155,"type":0},{"idA":147,"idB":156,"type":0},{"idA":147,"idB":157,"type":0},{"idA":147,"idB":158,"type":0},{"idA":147,"idB":159,"type":0},{"idA":147,"idB":160,"type":0},{"idA":147,"idB":161,"type":0},{"idA":147,"idB":162,"type":0},{"idA":147,"idB":163,"type":0},{"idA":147,"idB":164,"type":0},{"idA":147,"idB":166,"type":0},{"idA":147,"idB":167,"type":0},{"idA":147,"idB":168,"type":0},{"idA":147,"idB":169,"type":0},{"idA":147,"idB":170,"type":0},{"idA":147,"idB":171,"type":0},{"idA":147,"idB":172,"type":0},{"idA":147,"idB":173,"type":0},{"idA":147,"idB":174,"type":0},{"idA":147,"idB":175,"type":0},{"idA":147,"idB":176,"type":0},{"idA":147,"idB":177,"type":0},{"idA":147,"idB":178,"type":0},{"idA":147,"idB":179,"type":0},{"idA":147,"idB":180,"type":0},{"idA":147,"idB":181,"type":0},{"idA":147,"idB":182,"type":0},{"idA":147,"idB":183,"type":0},{"idA":147,"idB":184,"type":0},{"idA":147,"idB":186,"type":0},{"idA":147,"idB":187,"type":0},{"idA":147,"idB":188,"type":0},{"idA":147,"idB":189,"type":0},{"idA":148,"idB":149,"type":0},{"idA":148,"idB":150,"type":0},{"idA":148,"idB":151,"type":0},{"idA":148,"idB":152,"type":0},{"idA":148,"idB":153,"type":0},{"idA":148,"idB":154,"type":0},{"idA":148,"idB":155,"type":0},{"idA":148,"idB":156,"type":0},{"idA":148,"idB":157,"type":0},{"idA":148,"idB":158,"type":0},{"idA":148,"idB":159,"type":0},{"idA":148,"idB":160,"type":0},{"idA":148,"idB":161,"type":0},{"idA":148,"idB":162,"type":0},{"idA":148,"idB":163,"type":0},{"idA":148,"idB":164,"type":0},{"idA":148,"idB":166,"type":0},{"idA":148,"idB":167,"type":0},{"idA":148,"idB":168,"type":0},{"idA":148,"idB":169,"type":0},{"idA":148,"idB":170,"type":0},{"idA":148,"idB":171,"type":0},{"idA":148,"idB":172,"type":0},{"idA":148,"idB":173,"type":0},{"idA":148,"idB":174,"type":0},{"idA":148,"idB":175,"type":0},{"idA":148,"idB":176,"type":0},{"idA":148,"idB":177,"type":0},{"idA":148,"idB":178,"type":0},{"idA":148,"idB":179,"type":0},{"idA":148,"idB":180,"type":0},{"idA":148,"idB":181,"type":0},{"idA":148,"idB":182,"type":0},{"idA":148,"idB":183,"type":0},{"idA":148,"idB":184,"type":0},{"idA":148,"idB":186,"type":0},{"idA":148,"idB":187,"type":0},{"idA":148,"idB":188,"type":0},{"idA":148,"idB":189,"type":0},{"idA":149,"idB":150,"type":0},{"idA":149,"idB":151,"type":0},{"idA":149,"idB":152,"type":0},{"idA":149,"idB":153,"type":0},{"idA":149,"idB":154,"type":0},{"idA":149,"idB":155,"type":0},{"idA":149,"idB":156,"type":0},{"idA":149,"idB":157,"type":0},{"idA":149,"idB":158,"type":0},{"idA":149,"idB":159,"type":0},{"idA":149,"idB":160,"type":0},{"idA":149,"idB":161,"type":1},{"idA":149,"idB":162,"type":0},{"idA":149,"idB":163,"type":0},{"idA":149,"idB":164,"type":0},{"idA":149,"idB":166,"type":0},{"idA":149,"idB":167,"type":0},{"idA":149,"idB":168,"type":0},{"idA":149,"idB":169,"type":0},{"idA":149,"idB":170,"type":0},{"idA":149,"idB":171,"type":1},{"idA":149,"idB":172,"type":0},{"idA":149,"idB":173,"type":0},{"idA":149,"idB":174,"type":0},{"idA":149,"idB":175,"type":0},{"idA":149,"idB":176,"type":0},{"idA":149,"idB":177,"type":0},{"idA":149,"idB":178,"type":0},{"idA":149,"idB":179,"type":0},{"idA":149,"idB":180,"type":0},{"idA":149,"idB":181,"type":0},{"idA":149,"idB":182,"type":0},{"idA":149,"idB":183,"type":0},{"idA":149,"idB":184,"type":0},{"idA":149,"idB":186,"type":0},{"idA":149,"idB":187,"type":0},{"idA":149,"idB":188,"type":0},{"idA":149,"idB":189,"type":0},{"idA":150,"idB":151,"type":0},{"idA":150,"idB":152,"type":0},{"idA":150,"idB":153,"type":0},{"idA":150,"idB":154,"type":0},{"idA":150,"idB":155,"type":0},{"idA":150,"idB":156,"type":1},{"idA":150,"idB":157,"type":0},{"idA":150,"idB":158,"type":0},{"idA":150,"idB":159,"type":0},{"idA":150,"idB":160,"type":0},{"idA":150,"idB":161,"type":0},{"idA":150,"idB":162,"type":0},{"idA":150,"idB":163,"type":0},{"idA":150,"idB":164,"type":0},{"idA":150,"idB":166,"type":0},{"idA":150,"idB":167,"type":0},{"idA":150,"idB":168,"type":1},{"idA":150,"idB":169,"type":0},{"idA":150,"idB":170,"type":0},{"idA":150,"idB":171,"type":0},{"idA":150,"idB":172,"type":1},{"idA":150,"idB":173,"type":0},{"idA":150,"idB":174,"type":0},{"idA":150,"idB":175,"type":0},{"idA":150,"idB":176,"type":0},{"idA":150,"idB":177,"type":0},{"idA":150,"idB":178,"type":0},{"idA":150,"idB":179,"type":0},{"idA":150,"idB":180,"type":0},{"idA":150,"idB":181,"type":0},{"idA":150,"idB":182,"type":0},{"idA":150,"idB":183,"type":0},{"idA":150,"idB":184,"type":0},{"idA":150,"idB":186,"type":0},{"idA":150,"idB":187,"type":0},{"idA":150,"idB":188,"type":0},{"idA":150,"idB":189,"type":0},{"idA":151,"idB":152,"type":0},{"idA":151,"idB":153,"type":0},{"idA":151,"idB":154,"type":0},{"idA":151,"idB":155,"type":0},{"idA":151,"idB":156,"type":0},{"idA":151,"idB":157,"type":0},{"idA":151,"idB":158,"type":0},{"idA":151,"idB":159,"type":0},{"idA":151,"idB":160,"type":0},{"idA":151,"idB":161,"type":0},{"idA":151,"idB":162,"type":0},{"idA":151,"idB":163,"type":0},{"idA":151,"idB":164,"type":0},{"idA":151,"idB":166,"type":0},{"idA":151,"idB":167,"type":0},{"idA":151,"idB":168,"type":0},{"idA":151,"idB":169,"type":0},{"idA":151,"idB":170,"type":0},{"idA":151,"idB":171,"type":0},{"idA":151,"idB":172,"type":0},{"idA":151,"idB":173,"type":0},{"idA":151,"idB":174,"type":0},{"idA":151,"idB":175,"type":0},{"idA":151,"idB":176,"type":0},{"idA":151,"idB":177,"type":0},{"idA":151,"idB":178,"type":0},{"idA":151,"idB":179,"type":0},{"idA":151,"idB":180,"type":0},{"idA":151,"idB":181,"type":0},{"idA":151,"idB":182,"type":0},{"idA":151,"idB":183,"type":0},{"idA":151,"idB":184,"type":0},{"idA":151,"idB":186,"type":0},{"idA":151,"idB":187,"type":0},{"idA":151,"idB":188,"type":0},{"idA":151,"idB":189,"type":0},{"idA":152,"idB":153,"type":0},{"idA":152,"idB":154,"type":0},{"idA":152,"idB":155,"type":0},{"idA":152,"idB":156,"type":0},{"idA":152,"idB":157,"type":0},{"idA":152,"idB":158,"type":0},{"idA":152,"idB":159,"type":0},{"idA":152,"idB":160,"type":0},{"idA":152,"idB":161,"type":0},{"idA":152,"idB":162,"type":0},{"idA":152,"idB":163,"type":0},{"idA":152,"idB":164,"type":0},{"idA":152,"idB":166,"type":0},{"idA":152,"idB":167,"type":0},{"idA":152,"idB":168,"type":0},{"idA":152,"idB":169,"type":0},{"idA":152,"idB":170,"type":0},{"idA":152,"idB":171,"type":0},{"idA":152,"idB":172,"type":0},{"idA":152,"idB":173,"type":0},{"idA":152,"idB":174,"type":0},{"idA":152,"idB":175,"type":0},{"idA":152,"idB":176,"type":0},{"idA":152,"idB":177,"type":0},{"idA":152,"idB":178,"type":0},{"idA":152,"idB":179,"type":0},{"idA":152,"idB":180,"type":0},{"idA":152,"idB":181,"type":0},{"idA":152,"idB":182,"type":0},{"idA":152,"idB":183,"type":0},{"idA":152,"idB":184,"type":0},{"idA":152,"idB":186,"type":0},{"idA":152,"idB":187,"type":0},{"idA":152,"idB":188,"type":0},{"idA":152,"idB":189,"type":0},{"idA":153,"idB":154,"type":0},{"idA":153,"idB":155,"type":0},{"idA":153,"idB":156,"type":0},{"idA":153,"idB":157,"type":0},{"idA":153,"idB":158,"type":0},{"idA":153,"idB":159,"type":0},{"idA":153,"idB":160,"type":0},{"idA":153,"idB":161,"type":0},{"idA":153,"idB":162,"type":0},{"idA":153,"idB":163,"type":0},{"idA":153,"idB":164,"type":0},{"idA":153,"idB":166,"type":0},{"idA":153,"idB":167,"type":0},{"idA":153,"idB":168,"type":0},{"idA":153,"idB":169,"type":0},{"idA":153,"idB":170,"type":0},{"idA":153,"idB":171,"type":0},{"idA":153,"idB":172,"type":0},{"idA":153,"idB":173,"type":0},{"idA":153,"idB":174,"type":0},{"idA":153,"idB":175,"type":0},{"idA":153,"idB":176,"type":0},{"idA":153,"idB":177,"type":0},{"idA":153,"idB":178,"type":0},{"idA":153,"idB":179,"type":0},{"idA":153,"idB":180,"type":0},{"idA":153,"idB":181,"type":0},{"idA":153,"idB":182,"type":0},{"idA":153,"idB":183,"type":0},{"idA":153,"idB":184,"type":0},{"idA":153,"idB":186,"type":0},{"idA":153,"idB":187,"type":0},{"idA":153,"idB":188,"type":0},{"idA":153,"idB":189,"type":0},{"idA":154,"idB":155,"type":0},{"idA":154,"idB":156,"type":0},{"idA":154,"idB":157,"type":0},{"idA":154,"idB":158,"type":0},{"idA":154,"idB":159,"type":0},{"idA":154,"idB":160,"type":0},{"idA":154,"idB":161,"type":0},{"idA":154,"idB":162,"type":0},{"idA":154,"idB":163,"type":0},{"idA":154,"idB":164,"type":0},{"idA":154,"idB":166,"type":0},{"idA":154,"idB":167,"type":0},{"idA":154,"idB":168,"type":0},{"idA":154,"idB":169,"type":0},{"idA":154,"idB":170,"type":0},{"idA":154,"idB":171,"type":0},{"idA":154,"idB":172,"type":0},{"idA":154,"idB":173,"type":0},{"idA":154,"idB":174,"type":0},{"idA":154,"idB":175,"type":0},{"idA":154,"idB":176,"type":0},{"idA":154,"idB":177,"type":0},{"idA":154,"idB":178,"type":0},{"idA":154,"idB":179,"type":0},{"idA":154,"idB":180,"type":0},{"idA":154,"idB":181,"type":0},{"idA":154,"idB":182,"type":0},{"idA":154,"idB":183,"type":0},{"idA":154,"idB":184,"type":0},{"idA":154,"idB":186,"type":0},{"idA":154,"idB":187,"type":0},{"idA":154,"idB":188,"type":0},{"idA":154,"idB":189,"type":0},{"idA":155,"idB":156,"type":0},{"idA":155,"idB":157,"type":0},{"idA":155,"idB":158,"type":0},{"idA":155,"idB":159,"type":0},{"idA":155,"idB":160,"type":0},{"idA":155,"idB":161,"type":0},{"idA":155,"idB":162,"type":0},{"idA":155,"idB":163,"type":0},{"idA":155,"idB":164,"type":0},{"idA":155,"idB":166,"type":0},{"idA":155,"idB":167,"type":0},{"idA":155,"idB":168,"type":0},{"idA":155,"idB":169,"type":0},{"idA":155,"idB":170,"type":0},{"idA":155,"idB":171,"type":0},{"idA":155,"idB":172,"type":0},{"idA":155,"idB":173,"type":0},{"idA":155,"idB":174,"type":0},{"idA":155,"idB":175,"type":0},{"idA":155,"idB":176,"type":0},{"idA":155,"idB":177,"type":0},{"idA":155,"idB":178,"type":0},{"idA":155,"idB":179,"type":0},{"idA":155,"idB":180,"type":0},{"idA":155,"idB":181,"type":0},{"idA":155,"idB":182,"type":0},{"idA":155,"idB":183,"type":0},{"idA":155,"idB":184,"type":0},{"idA":155,"idB":186,"type":0},{"idA":155,"idB":187,"type":0},{"idA":155,"idB":188,"type":0},{"idA":155,"idB":189,"type":0},{"idA":156,"idB":157,"type":0},{"idA":156,"idB":158,"type":0},{"idA":156,"idB":159,"type":0},{"idA":156,"idB":160,"type":0},{"idA":156,"idB":161,"type":0},{"idA":156,"idB":162,"type":0},{"idA":156,"idB":163,"type":0},{"idA":156,"idB":164,"type":0},{"idA":156,"idB":166,"type":0},{"idA":156,"idB":167,"type":0},{"idA":156,"idB":168,"type":0},{"idA":156,"idB":169,"type":0},{"idA":156,"idB":170,"type":0},{"idA":156,"idB":171,"type":0},{"idA":156,"idB":172,"type":0},{"idA":156,"idB":173,"type":0},{"idA":156,"idB":174,"type":0},{"idA":156,"idB":175,"type":0},{"idA":156,"idB":176,"type":0},{"idA":156,"idB":177,"type":0},{"idA":156,"idB":178,"type":0},{"idA":156,"idB":179,"type":0},{"idA":156,"idB":180,"type":0},{"idA":156,"idB":181,"type":0},{"idA":156,"idB":182,"type":0},{"idA":156,"idB":183,"type":0},{"idA":156,"idB":184,"type":0},{"idA":156,"idB":186,"type":0},{"idA":156,"idB":187,"type":0},{"idA":156,"idB":188,"type":0},{"idA":156,"idB":189,"type":0},{"idA":157,"idB":158,"type":0},{"idA":157,"idB":159,"type":0},{"idA":157,"idB":160,"type":0},{"idA":157,"idB":161,"type":0},{"idA":157,"idB":162,"type":0},{"idA":157,"idB":163,"type":0},{"idA":157,"idB":164,"type":0},{"idA":157,"idB":166,"type":0},{"idA":157,"idB":167,"type":0},{"idA":157,"idB":168,"type":0},{"idA":157,"idB":169,"type":0},{"idA":157,"idB":170,"type":0},{"idA":157,"idB":171,"type":0},{"idA":157,"idB":172,"type":0},{"idA":157,"idB":173,"type":0},{"idA":157,"idB":174,"type":0},{"idA":157,"idB":175,"type":0},{"idA":157,"idB":176,"type":0},{"idA":157,"idB":177,"type":0},{"idA":157,"idB":178,"type":0},{"idA":157,"idB":179,"type":0},{"idA":157,"idB":180,"type":0},{"idA":157,"idB":181,"type":0},{"idA":157,"idB":182,"type":0},{"idA":157,"idB":183,"type":0},{"idA":157,"idB":184,"type":0},{"idA":157,"idB":186,"type":0},{"idA":157,"idB":187,"type":0},{"idA":157,"idB":188,"type":0},{"idA":157,"idB":189,"type":0},{"idA":158,"idB":159,"type":0},{"idA":158,"idB":160,"type":0},{"idA":158,"idB":161,"type":0},{"idA":158,"idB":162,"type":0},{"idA":158,"idB":163,"type":0},{"idA":158,"idB":164,"type":0},{"idA":158,"idB":166,"type":0},{"idA":158,"idB":167,"type":0},{"idA":158,"idB":168,"type":0},{"idA":158,"idB":169,"type":0},{"idA":158,"idB":170,"type":0},{"idA":158,"idB":171,"type":0},{"idA":158,"idB":172,"type":0},{"idA":158,"idB":173,"type":0},{"idA":158,"idB":174,"type":0},{"idA":158,"idB":175,"type":0},{"idA":158,"idB":176,"type":0},{"idA":158,"idB":177,"type":0},{"idA":158,"idB":178,"type":0},{"idA":158,"idB":179,"type":0},{"idA":158,"idB":180,"type":0},{"idA":158,"idB":181,"type":0},{"idA":158,"idB":182,"type":0},{"idA":158,"idB":183,"type":0},{"idA":158,"idB":184,"type":0},{"idA":158,"idB":186,"type":0},{"idA":158,"idB":187,"type":0},{"idA":158,"idB":188,"type":0},{"idA":158,"idB":189,"type":0},{"idA":159,"idB":160,"type":0},{"idA":159,"idB":161,"type":0},{"idA":159,"idB":162,"type":0},{"idA":159,"idB":163,"type":0},{"idA":159,"idB":164,"type":0},{"idA":159,"idB":166,"type":0},{"idA":159,"idB":167,"type":0},{"idA":159,"idB":168,"type":0},{"idA":159,"idB":169,"type":0},{"idA":159,"idB":170,"type":0},{"idA":159,"idB":171,"type":0},{"idA":159,"idB":172,"type":0},{"idA":159,"idB":173,"type":0},{"idA":159,"idB":174,"type":0},{"idA":159,"idB":175,"type":0},{"idA":159,"idB":176,"type":0},{"idA":159,"idB":177,"type":0},{"idA":159,"idB":178,"type":0},{"idA":159,"idB":179,"type":0},{"idA":159,"idB":180,"type":0},{"idA":159,"idB":181,"type":0},{"idA":159,"idB":182,"type":0},{"idA":159,"idB":183,"type":0},{"idA":159,"idB":184,"type":0},{"idA":159,"idB":186,"type":0},{"idA":159,"idB":187,"type":0},{"idA":159,"idB":188,"type":0},{"idA":159,"idB":189,"type":0},{"idA":160,"idB":161,"type":0},{"idA":160,"idB":162,"type":0},{"idA":160,"idB":163,"type":0},{"idA":160,"idB":164,"type":0},{"idA":160,"idB":166,"type":0},{"idA":160,"idB":167,"type":0},{"idA":160,"idB":168,"type":0},{"idA":160,"idB":169,"type":0},{"idA":160,"idB":170,"type":0},{"idA":160,"idB":171,"type":0},{"idA":160,"idB":172,"type":0},{"idA":160,"idB":173,"type":0},{"idA":160,"idB":174,"type":0},{"idA":160,"idB":175,"type":0},{"idA":160,"idB":176,"type":0},{"idA":160,"idB":177,"type":0},{"idA":160,"idB":178,"type":0},{"idA":160,"idB":179,"type":0},{"idA":160,"idB":180,"type":0},{"idA":160,"idB":181,"type":0},{"idA":160,"idB":182,"type":0},{"idA":160,"idB":183,"type":0},{"idA":160,"idB":184,"type":0},{"idA":160,"idB":186,"type":0},{"idA":160,"idB":187,"type":0},{"idA":160,"idB":188,"type":0},{"idA":160,"idB":189,"type":0},{"idA":161,"idB":162,"type":0},{"idA":161,"idB":163,"type":0},{"idA":161,"idB":164,"type":0},{"idA":161,"idB":166,"type":0},{"idA":161,"idB":167,"type":0},{"idA":161,"idB":168,"type":0},{"idA":161,"idB":169,"type":0},{"idA":161,"idB":170,"type":0},{"idA":161,"idB":171,"type":0},{"idA":161,"idB":172,"type":0},{"idA":161,"idB":173,"type":0},{"idA":161,"idB":174,"type":0},{"idA":161,"idB":175,"type":0},{"idA":161,"idB":176,"type":0},{"idA":161,"idB":177,"type":0},{"idA":161,"idB":178,"type":0},{"idA":161,"idB":179,"type":0},{"idA":161,"idB":180,"type":0},{"idA":161,"idB":181,"type":0},{"idA":161,"idB":182,"type":0},{"idA":161,"idB":183,"type":0},{"idA":161,"idB":184,"type":0},{"idA":161,"idB":186,"type":0},{"idA":161,"idB":187,"type":0},{"idA":161,"idB":188,"type":0},{"idA":161,"idB":189,"type":0},{"idA":162,"idB":163,"type":0},{"idA":162,"idB":164,"type":0},{"idA":162,"idB":166,"type":0},{"idA":162,"idB":167,"type":0},{"idA":162,"idB":168,"type":0},{"idA":162,"idB":169,"type":0},{"idA":162,"idB":170,"type":0},{"idA":162,"idB":171,"type":0},{"idA":162,"idB":172,"type":0},{"idA":162,"idB":173,"type":0},{"idA":162,"idB":174,"type":0},{"idA":162,"idB":175,"type":0},{"idA":162,"idB":176,"type":0},{"idA":162,"idB":177,"type":0},{"idA":162,"idB":178,"type":0},{"idA":162,"idB":179,"type":0},{"idA":162,"idB":180,"type":0},{"idA":162,"idB":181,"type":0},{"idA":162,"idB":182,"type":0},{"idA":162,"idB":183,"type":0},{"idA":162,"idB":184,"type":0},{"idA":162,"idB":186,"type":0},{"idA":162,"idB":187,"type":0},{"idA":162,"idB":188,"type":0},{"idA":162,"idB":189,"type":0},{"idA":163,"idB":164,"type":0},{"idA":163,"idB":166,"type":0},{"idA":163,"idB":167,"type":0},{"idA":163,"idB":168,"type":0},{"idA":163,"idB":169,"type":0},{"idA":163,"idB":170,"type":0},{"idA":163,"idB":171,"type":0},{"idA":163,"idB":172,"type":0},{"idA":163,"idB":173,"type":0},{"idA":163,"idB":174,"type":0},{"idA":163,"idB":175,"type":0},{"idA":163,"idB":176,"type":0},{"idA":163,"idB":177,"type":0},{"idA":163,"idB":178,"type":0},{"idA":163,"idB":179,"type":0},{"idA":163,"idB":180,"type":0},{"idA":163,"idB":181,"type":0},{"idA":163,"idB":182,"type":0},{"idA":163,"idB":183,"type":0},{"idA":163,"idB":184,"type":0},{"idA":163,"idB":186,"type":0},{"idA":163,"idB":187,"type":0},{"idA":163,"idB":188,"type":0},{"idA":163,"idB":189,"type":0},{"idA":164,"idB":166,"type":0},{"idA":164,"idB":167,"type":0},{"idA":164,"idB":168,"type":0},{"idA":164,"idB":169,"type":0},{"idA":164,"idB":170,"type":0},{"idA":164,"idB":171,"type":0},{"idA":164,"idB":172,"type":0},{"idA":164,"idB":173,"type":0},{"idA":164,"idB":174,"type":0},{"idA":164,"idB":175,"type":0},{"idA":164,"idB":176,"type":0},{"idA":164,"idB":177,"type":0},{"idA":164,"idB":178,"type":0},{"idA":164,"idB":179,"type":0},{"idA":164,"idB":180,"type":0},{"idA":164,"idB":181,"type":0},{"idA":164,"idB":182,"type":0},{"idA":164,"idB":183,"type":0},{"idA":164,"idB":184,"type":0},{"idA":164,"idB":186,"type":0},{"idA":164,"idB":187,"type":0},{"idA":164,"idB":188,"type":0},{"idA":164,"idB":189,"type":0},{"idA":166,"idB":167,"type":0},{"idA":166,"idB":168,"type":0},{"idA":166,"idB":169,"type":0},{"idA":166,"idB":170,"type":0},{"idA":166,"idB":171,"type":0},{"idA":166,"idB":172,"type":0},{"idA":166,"idB":173,"type":0},{"idA":166,"idB":174,"type":0},{"idA":166,"idB":175,"type":0},{"idA":166,"idB":176,"type":0},{"idA":166,"idB":177,"type":0},{"idA":166,"idB":178,"type":0},{"idA":166,"idB":179,"type":0},{"idA":166,"idB":180,"type":0},{"idA":166,"idB":181,"type":0},{"idA":166,"idB":182,"type":0},{"idA":166,"idB":183,"type":0},{"idA":166,"idB":184,"type":0},{"idA":166,"idB":186,"type":0},{"idA":166,"idB":187,"type":0},{"idA":166,"idB":188,"type":0},{"idA":166,"idB":189,"type":0},{"idA":167,"idB":168,"type":0},{"idA":167,"idB":169,"type":0},{"idA":167,"idB":170,"type":0},{"idA":167,"idB":171,"type":0},{"idA":167,"idB":172,"type":0},{"idA":167,"idB":173,"type":0},{"idA":167,"idB":174,"type":0},{"idA":167,"idB":175,"type":0},{"idA":167,"idB":176,"type":0},{"idA":167,"idB":177,"type":0},{"idA":167,"idB":178,"type":0},{"idA":167,"idB":179,"type":0},{"idA":167,"idB":180,"type":0},{"idA":167,"idB":181,"type":0},{"idA":167,"idB":182,"type":0},{"idA":167,"idB":183,"type":0},{"idA":167,"idB":184,"type":0},{"idA":167,"idB":186,"type":0},{"idA":167,"idB":187,"type":0},{"idA":167,"idB":188,"type":0},{"idA":167,"idB":189,"type":0},{"idA":168,"idB":169,"type":0},{"idA":168,"idB":170,"type":0},{"idA":168,"idB":171,"type":0},{"idA":168,"idB":172,"type":0},{"idA":168,"idB":173,"type":0},{"idA":168,"idB":174,"type":0},{"idA":168,"idB":175,"type":0},{"idA":168,"idB":176,"type":0},{"idA":168,"idB":177,"type":0},{"idA":168,"idB":178,"type":0},{"idA":168,"idB":179,"type":0},{"idA":168,"idB":180,"type":0},{"idA":168,"idB":181,"type":0},{"idA":168,"idB":182,"type":0},{"idA":168,"idB":183,"type":0},{"idA":168,"idB":184,"type":0},{"idA":168,"idB":186,"type":0},{"idA":168,"idB":187,"type":0},{"idA":168,"idB":188,"type":0},{"idA":168,"idB":189,"type":0},{"idA":169,"idB":170,"type":0},{"idA":169,"idB":171,"type":0},{"idA":169,"idB":172,"type":0},{"idA":169,"idB":173,"type":0},{"idA":169,"idB":174,"type":0},{"idA":169,"idB":175,"type":0},{"idA":169,"idB":176,"type":0},{"idA":169,"idB":177,"type":0},{"idA":169,"idB":178,"type":0},{"idA":169,"idB":179,"type":0},{"idA":169,"idB":180,"type":0},{"idA":169,"idB":181,"type":0},{"idA":169,"idB":182,"type":0},{"idA":169,"idB":183,"type":0},{"idA":169,"idB":184,"type":0},{"idA":169,"idB":186,"type":0},{"idA":169,"idB":187,"type":0},{"idA":169,"idB":188,"type":0},{"idA":169,"idB":189,"type":0},{"idA":170,"idB":171,"type":0},{"idA":170,"idB":172,"type":0},{"idA":170,"idB":173,"type":0},{"idA":170,"idB":174,"type":0},{"idA":170,"idB":175,"type":0},{"idA":170,"idB":176,"type":0},{"idA":170,"idB":177,"type":0},{"idA":170,"idB":178,"type":0},{"idA":170,"idB":179,"type":0},{"idA":170,"idB":180,"type":0},{"idA":170,"idB":181,"type":0},{"idA":170,"idB":182,"type":0},{"idA":170,"idB":183,"type":0},{"idA":170,"idB":184,"type":0},{"idA":170,"idB":186,"type":0},{"idA":170,"idB":187,"type":0},{"idA":170,"idB":188,"type":0},{"idA":170,"idB":189,"type":0},{"idA":171,"idB":172,"type":0},{"idA":171,"idB":173,"type":0},{"idA":171,"idB":174,"type":0},{"idA":171,"idB":175,"type":0},{"idA":171,"idB":176,"type":0},{"idA":171,"idB":177,"type":0},{"idA":171,"idB":178,"type":0},{"idA":171,"idB":179,"type":0},{"idA":171,"idB":180,"type":0},{"idA":171,"idB":181,"type":0},{"idA":171,"idB":182,"type":0},{"idA":171,"idB":183,"type":0},{"idA":171,"idB":184,"type":0},{"idA":171,"idB":186,"type":0},{"idA":171,"idB":187,"type":0},{"idA":171,"idB":188,"type":0},{"idA":171,"idB":189,"type":0},{"idA":172,"idB":173,"type":0},{"idA":172,"idB":174,"type":0},{"idA":172,"idB":175,"type":0},{"idA":172,"idB":176,"type":0},{"idA":172,"idB":177,"type":0},{"idA":172,"idB":178,"type":0},{"idA":172,"idB":179,"type":0},{"idA":172,"idB":180,"type":0},{"idA":172,"idB":181,"type":0},{"idA":172,"idB":182,"type":0},{"idA":172,"idB":183,"type":0},{"idA":172,"idB":184,"type":0},{"idA":172,"idB":186,"type":0},{"idA":172,"idB":187,"type":0},{"idA":172,"idB":188,"type":0},{"idA":172,"idB":189,"type":0},{"idA":173,"idB":174,"type":0},{"idA":173,"idB":175,"type":0},{"idA":173,"idB":176,"type":0},{"idA":173,"idB":177,"type":0},{"idA":173,"idB":178,"type":0},{"idA":173,"idB":179,"type":0},{"idA":173,"idB":180,"type":0},{"idA":173,"idB":181,"type":0},{"idA":173,"idB":182,"type":0},{"idA":173,"idB":183,"type":0},{"idA":173,"idB":184,"type":0},{"idA":173,"idB":186,"type":0},{"idA":173,"idB":187,"type":0},{"idA":173,"idB":188,"type":0},{"idA":173,"idB":189,"type":0},{"idA":174,"idB":175,"type":0},{"idA":174,"idB":176,"type":0},{"idA":174,"idB":177,"type":0},{"idA":174,"idB":178,"type":0},{"idA":174,"idB":179,"type":0},{"idA":174,"idB":180,"type":0},{"idA":174,"idB":181,"type":0},{"idA":174,"idB":182,"type":0},{"idA":174,"idB":183,"type":0},{"idA":174,"idB":184,"type":0},{"idA":174,"idB":186,"type":0},{"idA":174,"idB":187,"type":0},{"idA":174,"idB":188,"type":0},{"idA":174,"idB":189,"type":0},{"idA":175,"idB":176,"type":0},{"idA":175,"idB":177,"type":0},{"idA":175,"idB":178,"type":0},{"idA":175,"idB":179,"type":0},{"idA":175,"idB":180,"type":0},{"idA":175,"idB":181,"type":0},{"idA":175,"idB":182,"type":0},{"idA":175,"idB":183,"type":0},{"idA":175,"idB":184,"type":0},{"idA":175,"idB":186,"type":0},{"idA":175,"idB":187,"type":0},{"idA":175,"idB":188,"type":0},{"idA":175,"idB":189,"type":0},{"idA":176,"idB":177,"type":0},{"idA":176,"idB":178,"type":0},{"idA":176,"idB":179,"type":0},{"idA":176,"idB":180,"type":0},{"idA":176,"idB":181,"type":1},{"idA":176,"idB":182,"type":1},{"idA":176,"idB":183,"type":0},{"idA":176,"idB":184,"type":0},{"idA":176,"idB":186,"type":0},{"idA":176,"idB":187,"type":0},{"idA":176,"idB":188,"type":0},{"idA":176,"idB":189,"type":0},{"idA":177,"idB":178,"type":0},{"idA":177,"idB":179,"type":1},{"idA":177,"idB":180,"type":0},{"idA":177,"idB":181,"type":0},{"idA":177,"idB":182,"type":0},{"idA":177,"idB":183,"type":0},{"idA":177,"idB":184,"type":0},{"idA":177,"idB":186,"type":0},{"idA":177,"idB":187,"type":0},{"idA":177,"idB":188,"type":0},{"idA":177,"idB":189,"type":0},{"idA":178,"idB":179,"type":1},{"idA":178,"idB":180,"type":0},{"idA":178,"idB":181,"type":0},{"idA":178,"idB":182,"type":0},{"idA":178,"idB":183,"type":1},{"idA":178,"idB":184,"type":0},{"idA":178,"idB":186,"type":0},{"idA":178,"idB":187,"type":0},{"idA":178,"idB":188,"type":0},{"idA":178,"idB":189,"type":0},{"idA":179,"idB":180,"type":0},{"idA":179,"idB":181,"type":0},{"idA":179,"idB":182,"type":0},{"idA":179,"idB":183,"type":0},{"idA":179,"idB":184,"type":0},{"idA":179,"idB":186,"type":0},{"idA":179,"idB":187,"type":0},{"idA":179,"idB":188,"type":0},{"idA":179,"idB":189,"type":0},{"idA":180,"idB":181,"type":0},{"idA":180,"idB":182,"type":1},{"idA":180,"idB":183,"type":0},{"idA":180,"idB":184,"type":0},{"idA":180,"idB":186,"type":0},{"idA":180,"idB":187,"type":0},{"idA":180,"idB":188,"type":0},{"idA":180,"idB":189,"type":0},{"idA":181,"idB":182,"type":0},{"idA":181,"idB":183,"type":0},{"idA":181,"idB":184,"type":0},{"idA":181,"idB":186,"type":0},{"idA":181,"idB":187,"type":0},{"idA":181,"idB":188,"type":0},{"idA":181,"idB":189,"type":0},{"idA":182,"idB":183,"type":0},{"idA":182,"idB":184,"type":0},{"idA":182,"idB":186,"type":0},{"idA":182,"idB":187,"type":0},{"idA":182,"idB":188,"type":0},{"idA":182,"idB":189,"type":0},{"idA":183,"idB":184,"type":0},{"idA":183,"idB":186,"type":0},{"idA":183,"idB":187,"type":0},{"idA":183,"idB":188,"type":0},{"idA":183,"idB":189,"type":0},{"idA":184,"idB":186,"type":0},{"idA":184,"idB":187,"type":0},{"idA":184,"idB":188,"type":0},{"idA":184,"idB":189,"type":0},{"idA":186,"idB":187,"type":0},{"idA":186,"idB":188,"type":0},{"idA":186,"idB":189,"type":0},{"idA":187,"idB":188,"type":0},{"idA":187,"idB":189,"type":0},{"idA":188,"idB":189,"type":0}]} diff --git a/build/lightdb/storage/uniqid b/build/lightdb/storage/uniqid index 7d37386..66321c0 100644 --- a/build/lightdb/storage/uniqid +++ b/build/lightdb/storage/uniqid @@ -1 +1 @@ -45 \ No newline at end of file +189 \ No newline at end of file diff --git a/public_html/test.php b/public_html/test.php index 9a9cb2e..3460d9e 100644 --- a/public_html/test.php +++ b/public_html/test.php @@ -10,7 +10,23 @@ $cl = new lightdb('contact'); - if( true ){ + $LOG = true; + + + if( $LOG ){ + + $sub = $sl->fetch(1); + + foreach($sub['relations'] as $rel){ + if( $rel['idA'] == 1 ) + $Aname = $sub['subject']['name']; + else + $Aname = $cl->fetch((int)$rel['idA'])['name']; + + echo $Aname.'('.$rel['idA'].') + '.$cl->fetch((int)$rel['idB'])['name'].'('.$rel['idB'].') = '.$rel['type']."
    "; + } + + }else{ /* [1] Remove contacts =========================================================*/ From 8c6fbd9a74a555d6885dd186edaf85f5ca2298a4 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Wed, 23 Nov 2016 16:36:25 +0100 Subject: [PATCH 09/11] =?UTF-8?q?Gestion=20de=20`subject/getFriends`=20cot?= =?UTF-8?q?=C3=A9=20back/front=20+=20Gestion=20de=20l'anti-duplication=20d?= =?UTF-8?q?es=20relations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/api/module/input.php | 108 +++++++++++++--------- build/api/module/subject.php | 49 ++++------ build/lightdb/storage/contact/data | 138 +++++++++------------------- build/lightdb/storage/contact/index | 2 +- build/lightdb/storage/subject/data | 2 +- build/lightdb/storage/uniqid | 2 +- build/manager/ManagerError.php | 4 + public_html/test.php | 4 +- public_html/view/js/input.js | 3 +- public_html/view/js/min/input.js | 8 +- 10 files changed, 139 insertions(+), 181 deletions(-) diff --git a/build/api/module/input.php b/build/api/module/input.php index 4d29289..76d73da 100644 --- a/build/api/module/input.php +++ b/build/api/module/input.php @@ -11,6 +11,40 @@ class input{ + + /* RETOURNE SI UNE RELATION EST DEJA DANS LA LISTE + * + * @relset Liste des relations existantes + * @idA id du premier sujet concerné + * @idB id du second sujet concerné + * @type type de relation + * + * @return already VRAI si déja dans la liste + * + */ + private static function relAlready($relset, $idA, $idB, $type){ + + /* (1) Pour chaque relation existante */ + foreach($relset as $rel){ + + // {1} si même A / B // + $sameAB = $rel['idA'] == $idA && $rel['idB'] == $idB; + + // {2} si même B / A // + $sameBA = $rel['idA'] == $idB && $rel['idB'] == $idA; + + // {3} si même type // + $sameType = $rel['type'] == $type; + + // {4} si relation existante -> TRUE // + if( ($sameAB || $sameBA) && $sameType ) + return true; + } + + /* (2) Si rien trouvé -> */ + return false; + } + /* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE TÉLÉPHONIQUE * * @subject Tableau contenant les données du sujet @@ -187,11 +221,13 @@ $subject_set['contacts'][] = $newId; // On enregistre la relation avec EGO - $subject_set['relations'][] = [ - 'idA' => $subject_id, - 'idB' => $newId, - 'type' => ($f<20) ? 4 : 5 // 4->appels 5->sms - ]; + $reltype = ($f<20) ? 4 : 5; // 4->appels 5->sms + if( !self::relAlready($subject_set['relations'], $subject_id, $newId, $reltype) ) + $subject_set['relations'][] = [ + 'idA' => $subject_id, + 'idB' => $newId, + 'type' => $reltype + ]; } @@ -274,11 +310,12 @@ $subject_set['contacts'][] = $newId; // On enregistre la relation avec EGO - $subject_set['relations'][] = [ - 'idA' => $subject_id, - 'idB' => $newId, - 'type' => 2 // relation cellulaire mineure - ]; + if( !self::relAlready($subject_set['relations'], $subject_id, $newId, 2) ) + $subject_set['relations'][] = [ + 'idA' => $subject_id, + 'idB' => $newId, + 'type' => 2 // relation cellulaire mineure + ]; } @@ -318,18 +355,8 @@ /* (3) Si la relation existe déja, on ne fait rien */ - foreach($subject_set['relations'] as $relation){ - // si même A / B - $sameAB = $relation['idA'] == $finalid[$x] && $relation['idB'] == $finalid[$y]; - // si même B / A - $sameBA = $relation['idA'] == $finalid[$y] && $relation['idB'] == $finalid[$x]; - // si même type - $sameType = $relation['type'] == $relation_type; - - // si relation existante -> suivante - if( ($sameAB || $sameBA) && $sameType ) - continue; - } + if( self::relAlready($subject_set['relations'], $finalid[$x], $finalid[$y], $relation_type) ) + continue; $subject_set['relations'][] = [ 'idA' => $finalid[$x], @@ -553,11 +580,13 @@ $subject_set['contacts'][] = $newId; // On enregistre la relation avec EGO - $subject_set['relations'][] = [ - 'idA' => $subject_id, - 'idB' => $newId, - 'type' => ($f<20) ? 6 : 7 // 4->historique 5->messenger - ]; + $reltype = ($f<20) ? 6 : 7; // 4->historique 5->messenger + if( !self::relAlready($subject_set['relations'], $subject_id, $newId, $reltype) ) + $subject_set['relations'][] = [ + 'idA' => $subject_id, + 'idB' => $newId, + 'type' => $reltype + ]; } @@ -640,11 +669,12 @@ $subject_set['contacts'][] = $newId; // On enregistre la relation avec EGO - $subject_set['relations'][] = [ - 'idA' => $subject_id, - 'idB' => $newId, - 'type' => 3 // relation facebook mineure - ]; + if( !self::relAlready($subject_set['relations'], $subject_id, $newId, 3) ) + $subject_set['relations'][] = [ + 'idA' => $subject_id, + 'idB' => $newId, + 'type' => 3 // relation facebook mineure + ]; } @@ -684,18 +714,8 @@ /* (3) Si la relation existe déja, on ne fait rien */ - foreach($subject_set['relations'] as $relation){ - // si même A / B - $sameAB = $relation['idA'] == $finalid[$x] && $relation['idB'] == $finalid[$y]; - // si même B / A - $sameBA = $relation['idA'] == $finalid[$y] && $relation['idB'] == $finalid[$x]; - // si même type - $sameType = $relation['type'] == $relation_type; - - // si relation existante -> suivante - if( ($sameAB || $sameBA) && $sameType ) - continue; - } + if( self::relAlready($subject_set['relations'], $finalid[$x], $finalid[$y], $relation_type) ) + continue; $subject_set['relations'][] = [ 'idA' => $finalid[$x], diff --git a/build/api/module/subject.php b/build/api/module/subject.php index a79fc0b..1e3866d 100644 --- a/build/api/module/subject.php +++ b/build/api/module/subject.php @@ -83,12 +83,12 @@ // Contiendra les sujets - $subjects = []; + $contacts = []; /* [1] On récupére la liste des sujets =========================================================*/ /* (1) On initialise et ouvre la bd */ - $db = new lightdb('survey_db'); + $db = new lightdb('subject'); $fetch = $db->fetch($subject_id); $db->close(); @@ -97,44 +97,29 @@ return [ 'ModuleError' => ManagerError::ModuleError ]; /* (3) On enregistre ses contacts s'il en a */ - if( isset($fetch['contacts']) ) - foreach($fetch['contacts'] as $contact) - $subjects[$contact['id']] = $contact; + $db = new lightdb('contact'); + if( isset($fetch['contacts']) ){ - /* [2] On récupére la liste des contacts saisis dans PHONE - =========================================================*/ - /* (1) On initialise et ouvre la bd */ - $db = new lightdb('phone_db'); - $fetch = $db->fetch($subject_id); + foreach($fetch['contacts'] as $contactId){ + + $contact = $db->fetch($contactId); + // si le contact n'est pas trouvé -> passe au suivant + if( $contact === false ) + continue; + + $contacts[$contactId] = $contact; + + } + } $db->close(); - /* (2) Si on trouve des contacts, on les ajoute */ - if( $fetch !== false && isset($fetch['contacts']) ) - foreach($fetch['contacts'] as $contact) - $subjects[$contact['id']] = $contact; - - - - - /* [3] On récupére la liste des sujets pour FACEBOOK - =========================================================*/ - /* (1) On initialise et ouvre la bd */ - $db = new lightdb('facebook_db'); - $fetch = $db->fetch($subject_id); - $db->close(); - - /* (2) Si on trouve des contacts, on les ajoute */ - if( $fetch !== false && isset($fetch['contacts']) ) - foreach($fetch['contacts'] as $contact) - $subjects[$contact['id']] = $contact; - /* [4] Gestion du retour =========================================================*/ return [ 'ModuleError' => ManagerError::Success, - 'subjects' => $subjects + 'subjects' => $contacts ]; } @@ -177,7 +162,7 @@ /* [2] On crée le sujet dans SURVEYS =========================================================*/ /* (1) On initialise et ouvre la bd */ - $db = new lightdb('survey_db'); + $db = new lightdb('subject'); $db->insert( $newId, $data ); $db->close(); diff --git a/build/lightdb/storage/contact/data b/build/lightdb/storage/contact/data index 580f490..817d98a 100644 --- a/build/lightdb/storage/contact/data +++ b/build/lightdb/storage/contact/data @@ -1,95 +1,43 @@ -{"id":91,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":92,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":93,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":94,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":95,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":96,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":97,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":98,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":99,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":100,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":101,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":102,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":103,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":104,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":105,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":106,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":107,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":108,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":109,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":110,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":111,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":112,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":113,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":114,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":115,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":116,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":117,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":118,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":119,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":121,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"autre","dist":"2","job":"10","famsit":"0","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":122,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"0","dist":"3","job":"21","famsit":"0","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":123,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"1","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":124,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"2","dist":"1","job":"23","famsit":"0","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":125,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"3","dist":"2","job":"31","famsit":"0","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":126,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"4","dist":"3","job":"32","famsit":"0","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":127,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"5","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":128,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"6","dist":"1","job":"41","famsit":"0","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":129,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"7","dist":"2","job":"46","famsit":"0","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":130,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"autre","dist":"3","job":"47","famsit":"0","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":131,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"0","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":132,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"1","dist":"1","job":"51","famsit":"0","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":133,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"2","dist":"2","job":"54","famsit":"0","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":134,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"3","dist":"3","job":"55","famsit":"0","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":135,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"4","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":136,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"5","dist":"1","job":"61","famsit":"0","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":137,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"6","dist":"2","job":"66","famsit":"0","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":138,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"7","dist":"3","job":"69","famsit":"0","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":139,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"autre","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":141,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."} -{"id":142,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."} -{"id":143,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."} -{"id":144,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."} -{"id":145,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":146,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":147,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":148,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":149,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":150,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":151,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":152,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":153,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":154,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":155,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":156,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":157,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":158,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":159,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":160,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":161,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":162,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":163,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":164,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":166,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"autre","dist":"2","job":"10","famsit":"0","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":167,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"0","dist":"3","job":"21","famsit":"0","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":168,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"1","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":169,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"2","dist":"1","job":"23","famsit":"0","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":170,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"3","dist":"2","job":"31","famsit":"0","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":171,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"4","dist":"3","job":"32","famsit":"0","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":172,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"5","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":173,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"6","dist":"1","job":"41","famsit":"0","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":174,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"7","dist":"2","job":"46","famsit":"0","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":175,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"autre","dist":"3","job":"47","famsit":"0","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":176,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"0","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":177,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"1","dist":"1","job":"51","famsit":"0","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":178,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"2","dist":"2","job":"54","famsit":"0","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":179,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"3","dist":"3","job":"55","famsit":"0","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":180,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"4","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":181,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"5","dist":"1","job":"61","famsit":"0","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":182,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"6","dist":"2","job":"66","famsit":"0","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":183,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"7","dist":"3","job":"69","famsit":"0","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":184,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"autre","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":186,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."} -{"id":187,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."} -{"id":188,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."} -{"id":189,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."} +{"id":48,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":49,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":50,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":51,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":52,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":53,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":54,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":55,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":56,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":57,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":58,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":59,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":60,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":61,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":62,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":63,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":64,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":65,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":66,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":67,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":69,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"autre","dist":"2","job":"10","famsit":"0","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":70,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"0","dist":"3","job":"21","famsit":"0","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":71,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"1","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":72,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"2","dist":"1","job":"23","famsit":"0","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":73,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"3","dist":"2","job":"31","famsit":"0","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":74,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"4","dist":"3","job":"32","famsit":"0","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":75,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"5","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":76,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"6","dist":"1","job":"41","famsit":"0","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":77,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"7","dist":"2","job":"46","famsit":"0","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":78,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"autre","dist":"3","job":"47","famsit":"0","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":79,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"0","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":80,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"1","dist":"1","job":"51","famsit":"0","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":81,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"2","dist":"2","job":"54","famsit":"0","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":82,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"3","dist":"3","job":"55","famsit":"0","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":83,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"4","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":84,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"5","dist":"1","job":"61","famsit":"0","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":85,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"6","dist":"2","job":"66","famsit":"0","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":86,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"7","dist":"3","job":"69","famsit":"0","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":87,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"autre","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":89,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."} +{"id":90,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."} +{"id":91,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."} +{"id":92,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."} diff --git a/build/lightdb/storage/contact/index b/build/lightdb/storage/contact/index index a4225fa..3d7265f 100644 --- a/build/lightdb/storage/contact/index +++ b/build/lightdb/storage/contact/index @@ -1 +1 @@ -{"91":{"line":0},"92":{"line":1},"93":{"line":2},"94":{"line":3},"95":{"line":4},"96":{"line":5},"97":{"line":6},"98":{"line":7},"99":{"line":8},"100":{"line":9},"101":{"line":10},"102":{"line":11},"103":{"line":12},"104":{"line":13},"105":{"line":14},"106":{"line":15},"107":{"line":16},"108":{"line":17},"109":{"line":18},"110":{"line":19},"111":{"line":20},"112":{"line":21},"113":{"line":22},"114":{"line":23},"115":{"line":24},"116":{"line":25},"117":{"line":26},"118":{"line":27},"119":{"line":28},"121":{"line":29},"122":{"line":30},"123":{"line":31},"124":{"line":32},"125":{"line":33},"126":{"line":34},"127":{"line":35},"128":{"line":36},"129":{"line":37},"130":{"line":38},"131":{"line":39},"132":{"line":40},"133":{"line":41},"134":{"line":42},"135":{"line":43},"136":{"line":44},"137":{"line":45},"138":{"line":46},"139":{"line":47},"141":{"line":48},"142":{"line":49},"143":{"line":50},"144":{"line":51},"145":{"line":52},"146":{"line":53},"147":{"line":54},"148":{"line":55},"149":{"line":56},"150":{"line":57},"151":{"line":58},"152":{"line":59},"153":{"line":60},"154":{"line":61},"155":{"line":62},"156":{"line":63},"157":{"line":64},"158":{"line":65},"159":{"line":66},"160":{"line":67},"161":{"line":68},"162":{"line":69},"163":{"line":70},"164":{"line":71},"166":{"line":72},"167":{"line":73},"168":{"line":74},"169":{"line":75},"170":{"line":76},"171":{"line":77},"172":{"line":78},"173":{"line":79},"174":{"line":80},"175":{"line":81},"176":{"line":82},"177":{"line":83},"178":{"line":84},"179":{"line":85},"180":{"line":86},"181":{"line":87},"182":{"line":88},"183":{"line":89},"184":{"line":90},"186":{"line":91},"187":{"line":92},"188":{"line":93},"189":{"line":94}} \ No newline at end of file +{"48":{"line":0},"49":{"line":1},"50":{"line":2},"51":{"line":3},"52":{"line":4},"53":{"line":5},"54":{"line":6},"55":{"line":7},"56":{"line":8},"57":{"line":9},"58":{"line":10},"59":{"line":11},"60":{"line":12},"61":{"line":13},"62":{"line":14},"63":{"line":15},"64":{"line":16},"65":{"line":17},"66":{"line":18},"67":{"line":19},"69":{"line":20},"70":{"line":21},"71":{"line":22},"72":{"line":23},"73":{"line":24},"74":{"line":25},"75":{"line":26},"76":{"line":27},"77":{"line":28},"78":{"line":29},"79":{"line":30},"80":{"line":31},"81":{"line":32},"82":{"line":33},"83":{"line":34},"84":{"line":35},"85":{"line":36},"86":{"line":37},"87":{"line":38},"89":{"line":39},"90":{"line":40},"91":{"line":41},"92":{"line":42}} \ No newline at end of file diff --git a/build/lightdb/storage/subject/data b/build/lightdb/storage/subject/data index 04ece7e..a258348 100644 --- a/build/lightdb/storage/subject/data +++ b/build/lightdb/storage/subject/data @@ -1 +1 @@ -{"subject":{"id":3,"name":"Clarisse","surveys":["phone","facebook"],"creation":1479898736},"contacts":[100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,186,187,188,189],"relations":[{"idA":1,"idB":100,"type":4},{"idA":1,"idB":101,"type":4},{"idA":1,"idB":102,"type":4},{"idA":1,"idB":103,"type":4},{"idA":1,"idB":104,"type":4},{"idA":1,"idB":105,"type":4},{"idA":1,"idB":106,"type":4},{"idA":1,"idB":107,"type":4},{"idA":1,"idB":108,"type":4},{"idA":1,"idB":109,"type":4},{"idA":1,"idB":110,"type":4},{"idA":1,"idB":111,"type":4},{"idA":1,"idB":112,"type":4},{"idA":1,"idB":113,"type":4},{"idA":1,"idB":114,"type":4},{"idA":1,"idB":115,"type":4},{"idA":1,"idB":116,"type":4},{"idA":1,"idB":117,"type":4},{"idA":1,"idB":118,"type":4},{"idA":1,"idB":119,"type":4},{"idA":1,"idB":121,"type":5},{"idA":1,"idB":122,"type":5},{"idA":1,"idB":123,"type":5},{"idA":1,"idB":124,"type":5},{"idA":1,"idB":125,"type":5},{"idA":1,"idB":126,"type":5},{"idA":1,"idB":127,"type":5},{"idA":1,"idB":128,"type":5},{"idA":1,"idB":129,"type":5},{"idA":1,"idB":130,"type":5},{"idA":1,"idB":131,"type":5},{"idA":1,"idB":132,"type":5},{"idA":1,"idB":133,"type":5},{"idA":1,"idB":134,"type":5},{"idA":1,"idB":135,"type":5},{"idA":1,"idB":136,"type":5},{"idA":1,"idB":137,"type":5},{"idA":1,"idB":138,"type":5},{"idA":1,"idB":139,"type":5},{"idA":1,"idB":141,"type":2},{"idA":1,"idB":142,"type":2},{"idA":1,"idB":143,"type":2},{"idA":1,"idB":144,"type":2},{"idA":100,"idB":101,"type":1},{"idA":100,"idB":102,"type":0},{"idA":100,"idB":103,"type":0},{"idA":100,"idB":104,"type":0},{"idA":100,"idB":105,"type":0},{"idA":100,"idB":106,"type":0},{"idA":100,"idB":107,"type":0},{"idA":100,"idB":108,"type":0},{"idA":100,"idB":109,"type":0},{"idA":100,"idB":110,"type":0},{"idA":100,"idB":111,"type":1},{"idA":100,"idB":112,"type":0},{"idA":100,"idB":113,"type":0},{"idA":100,"idB":114,"type":0},{"idA":100,"idB":115,"type":0},{"idA":100,"idB":116,"type":0},{"idA":100,"idB":117,"type":0},{"idA":100,"idB":118,"type":0},{"idA":100,"idB":119,"type":0},{"idA":100,"idB":121,"type":0},{"idA":100,"idB":122,"type":0},{"idA":100,"idB":123,"type":0},{"idA":100,"idB":124,"type":0},{"idA":100,"idB":125,"type":1},{"idA":100,"idB":126,"type":0},{"idA":100,"idB":127,"type":0},{"idA":100,"idB":128,"type":1},{"idA":100,"idB":129,"type":0},{"idA":100,"idB":130,"type":0},{"idA":100,"idB":131,"type":0},{"idA":100,"idB":132,"type":0},{"idA":100,"idB":133,"type":0},{"idA":100,"idB":134,"type":0},{"idA":100,"idB":135,"type":0},{"idA":100,"idB":136,"type":0},{"idA":100,"idB":137,"type":0},{"idA":100,"idB":138,"type":0},{"idA":100,"idB":139,"type":0},{"idA":100,"idB":141,"type":0},{"idA":100,"idB":142,"type":0},{"idA":100,"idB":143,"type":0},{"idA":100,"idB":144,"type":0},{"idA":101,"idB":102,"type":0},{"idA":101,"idB":103,"type":0},{"idA":101,"idB":104,"type":0},{"idA":101,"idB":105,"type":0},{"idA":101,"idB":106,"type":0},{"idA":101,"idB":107,"type":0},{"idA":101,"idB":108,"type":0},{"idA":101,"idB":109,"type":0},{"idA":101,"idB":110,"type":0},{"idA":101,"idB":111,"type":0},{"idA":101,"idB":112,"type":0},{"idA":101,"idB":113,"type":0},{"idA":101,"idB":114,"type":0},{"idA":101,"idB":115,"type":0},{"idA":101,"idB":116,"type":0},{"idA":101,"idB":117,"type":0},{"idA":101,"idB":118,"type":0},{"idA":101,"idB":119,"type":0},{"idA":101,"idB":121,"type":0},{"idA":101,"idB":122,"type":0},{"idA":101,"idB":123,"type":0},{"idA":101,"idB":124,"type":0},{"idA":101,"idB":125,"type":0},{"idA":101,"idB":126,"type":0},{"idA":101,"idB":127,"type":0},{"idA":101,"idB":128,"type":0},{"idA":101,"idB":129,"type":0},{"idA":101,"idB":130,"type":0},{"idA":101,"idB":131,"type":0},{"idA":101,"idB":132,"type":0},{"idA":101,"idB":133,"type":0},{"idA":101,"idB":134,"type":0},{"idA":101,"idB":135,"type":0},{"idA":101,"idB":136,"type":0},{"idA":101,"idB":137,"type":0},{"idA":101,"idB":138,"type":0},{"idA":101,"idB":139,"type":0},{"idA":101,"idB":141,"type":0},{"idA":101,"idB":142,"type":0},{"idA":101,"idB":143,"type":0},{"idA":101,"idB":144,"type":0},{"idA":102,"idB":103,"type":0},{"idA":102,"idB":104,"type":0},{"idA":102,"idB":105,"type":0},{"idA":102,"idB":106,"type":0},{"idA":102,"idB":107,"type":0},{"idA":102,"idB":108,"type":0},{"idA":102,"idB":109,"type":0},{"idA":102,"idB":110,"type":0},{"idA":102,"idB":111,"type":0},{"idA":102,"idB":112,"type":0},{"idA":102,"idB":113,"type":0},{"idA":102,"idB":114,"type":0},{"idA":102,"idB":115,"type":0},{"idA":102,"idB":116,"type":0},{"idA":102,"idB":117,"type":0},{"idA":102,"idB":118,"type":0},{"idA":102,"idB":119,"type":0},{"idA":102,"idB":121,"type":0},{"idA":102,"idB":122,"type":0},{"idA":102,"idB":123,"type":0},{"idA":102,"idB":124,"type":0},{"idA":102,"idB":125,"type":0},{"idA":102,"idB":126,"type":0},{"idA":102,"idB":127,"type":0},{"idA":102,"idB":128,"type":0},{"idA":102,"idB":129,"type":0},{"idA":102,"idB":130,"type":0},{"idA":102,"idB":131,"type":0},{"idA":102,"idB":132,"type":0},{"idA":102,"idB":133,"type":0},{"idA":102,"idB":134,"type":0},{"idA":102,"idB":135,"type":0},{"idA":102,"idB":136,"type":0},{"idA":102,"idB":137,"type":0},{"idA":102,"idB":138,"type":0},{"idA":102,"idB":139,"type":0},{"idA":102,"idB":141,"type":0},{"idA":102,"idB":142,"type":0},{"idA":102,"idB":143,"type":0},{"idA":102,"idB":144,"type":0},{"idA":103,"idB":104,"type":0},{"idA":103,"idB":105,"type":0},{"idA":103,"idB":106,"type":0},{"idA":103,"idB":107,"type":0},{"idA":103,"idB":108,"type":0},{"idA":103,"idB":109,"type":0},{"idA":103,"idB":110,"type":0},{"idA":103,"idB":111,"type":0},{"idA":103,"idB":112,"type":0},{"idA":103,"idB":113,"type":0},{"idA":103,"idB":114,"type":0},{"idA":103,"idB":115,"type":0},{"idA":103,"idB":116,"type":0},{"idA":103,"idB":117,"type":0},{"idA":103,"idB":118,"type":0},{"idA":103,"idB":119,"type":0},{"idA":103,"idB":121,"type":0},{"idA":103,"idB":122,"type":0},{"idA":103,"idB":123,"type":0},{"idA":103,"idB":124,"type":0},{"idA":103,"idB":125,"type":0},{"idA":103,"idB":126,"type":0},{"idA":103,"idB":127,"type":0},{"idA":103,"idB":128,"type":0},{"idA":103,"idB":129,"type":0},{"idA":103,"idB":130,"type":0},{"idA":103,"idB":131,"type":0},{"idA":103,"idB":132,"type":0},{"idA":103,"idB":133,"type":0},{"idA":103,"idB":134,"type":0},{"idA":103,"idB":135,"type":0},{"idA":103,"idB":136,"type":0},{"idA":103,"idB":137,"type":0},{"idA":103,"idB":138,"type":0},{"idA":103,"idB":139,"type":0},{"idA":103,"idB":141,"type":0},{"idA":103,"idB":142,"type":0},{"idA":103,"idB":143,"type":0},{"idA":103,"idB":144,"type":0},{"idA":104,"idB":105,"type":0},{"idA":104,"idB":106,"type":0},{"idA":104,"idB":107,"type":0},{"idA":104,"idB":108,"type":0},{"idA":104,"idB":109,"type":0},{"idA":104,"idB":110,"type":0},{"idA":104,"idB":111,"type":0},{"idA":104,"idB":112,"type":0},{"idA":104,"idB":113,"type":0},{"idA":104,"idB":114,"type":0},{"idA":104,"idB":115,"type":0},{"idA":104,"idB":116,"type":1},{"idA":104,"idB":117,"type":0},{"idA":104,"idB":118,"type":0},{"idA":104,"idB":119,"type":0},{"idA":104,"idB":121,"type":0},{"idA":104,"idB":122,"type":0},{"idA":104,"idB":123,"type":0},{"idA":104,"idB":124,"type":0},{"idA":104,"idB":125,"type":0},{"idA":104,"idB":126,"type":1},{"idA":104,"idB":127,"type":0},{"idA":104,"idB":128,"type":0},{"idA":104,"idB":129,"type":0},{"idA":104,"idB":130,"type":0},{"idA":104,"idB":131,"type":0},{"idA":104,"idB":132,"type":0},{"idA":104,"idB":133,"type":0},{"idA":104,"idB":134,"type":0},{"idA":104,"idB":135,"type":0},{"idA":104,"idB":136,"type":0},{"idA":104,"idB":137,"type":0},{"idA":104,"idB":138,"type":0},{"idA":104,"idB":139,"type":0},{"idA":104,"idB":141,"type":0},{"idA":104,"idB":142,"type":0},{"idA":104,"idB":143,"type":0},{"idA":104,"idB":144,"type":0},{"idA":105,"idB":106,"type":0},{"idA":105,"idB":107,"type":0},{"idA":105,"idB":108,"type":0},{"idA":105,"idB":109,"type":0},{"idA":105,"idB":110,"type":0},{"idA":105,"idB":111,"type":1},{"idA":105,"idB":112,"type":0},{"idA":105,"idB":113,"type":0},{"idA":105,"idB":114,"type":0},{"idA":105,"idB":115,"type":0},{"idA":105,"idB":116,"type":0},{"idA":105,"idB":117,"type":0},{"idA":105,"idB":118,"type":0},{"idA":105,"idB":119,"type":0},{"idA":105,"idB":121,"type":0},{"idA":105,"idB":122,"type":0},{"idA":105,"idB":123,"type":1},{"idA":105,"idB":124,"type":0},{"idA":105,"idB":125,"type":0},{"idA":105,"idB":126,"type":0},{"idA":105,"idB":127,"type":1},{"idA":105,"idB":128,"type":0},{"idA":105,"idB":129,"type":0},{"idA":105,"idB":130,"type":0},{"idA":105,"idB":131,"type":0},{"idA":105,"idB":132,"type":0},{"idA":105,"idB":133,"type":0},{"idA":105,"idB":134,"type":0},{"idA":105,"idB":135,"type":0},{"idA":105,"idB":136,"type":0},{"idA":105,"idB":137,"type":0},{"idA":105,"idB":138,"type":0},{"idA":105,"idB":139,"type":0},{"idA":105,"idB":141,"type":0},{"idA":105,"idB":142,"type":0},{"idA":105,"idB":143,"type":0},{"idA":105,"idB":144,"type":0},{"idA":106,"idB":107,"type":0},{"idA":106,"idB":108,"type":0},{"idA":106,"idB":109,"type":0},{"idA":106,"idB":110,"type":0},{"idA":106,"idB":111,"type":0},{"idA":106,"idB":112,"type":0},{"idA":106,"idB":113,"type":0},{"idA":106,"idB":114,"type":0},{"idA":106,"idB":115,"type":0},{"idA":106,"idB":116,"type":0},{"idA":106,"idB":117,"type":0},{"idA":106,"idB":118,"type":0},{"idA":106,"idB":119,"type":0},{"idA":106,"idB":121,"type":0},{"idA":106,"idB":122,"type":0},{"idA":106,"idB":123,"type":0},{"idA":106,"idB":124,"type":0},{"idA":106,"idB":125,"type":0},{"idA":106,"idB":126,"type":0},{"idA":106,"idB":127,"type":0},{"idA":106,"idB":128,"type":0},{"idA":106,"idB":129,"type":0},{"idA":106,"idB":130,"type":0},{"idA":106,"idB":131,"type":0},{"idA":106,"idB":132,"type":0},{"idA":106,"idB":133,"type":0},{"idA":106,"idB":134,"type":0},{"idA":106,"idB":135,"type":0},{"idA":106,"idB":136,"type":0},{"idA":106,"idB":137,"type":0},{"idA":106,"idB":138,"type":0},{"idA":106,"idB":139,"type":0},{"idA":106,"idB":141,"type":0},{"idA":106,"idB":142,"type":0},{"idA":106,"idB":143,"type":0},{"idA":106,"idB":144,"type":0},{"idA":107,"idB":108,"type":0},{"idA":107,"idB":109,"type":0},{"idA":107,"idB":110,"type":0},{"idA":107,"idB":111,"type":0},{"idA":107,"idB":112,"type":0},{"idA":107,"idB":113,"type":0},{"idA":107,"idB":114,"type":0},{"idA":107,"idB":115,"type":0},{"idA":107,"idB":116,"type":0},{"idA":107,"idB":117,"type":0},{"idA":107,"idB":118,"type":0},{"idA":107,"idB":119,"type":0},{"idA":107,"idB":121,"type":0},{"idA":107,"idB":122,"type":0},{"idA":107,"idB":123,"type":0},{"idA":107,"idB":124,"type":0},{"idA":107,"idB":125,"type":0},{"idA":107,"idB":126,"type":0},{"idA":107,"idB":127,"type":0},{"idA":107,"idB":128,"type":0},{"idA":107,"idB":129,"type":0},{"idA":107,"idB":130,"type":0},{"idA":107,"idB":131,"type":0},{"idA":107,"idB":132,"type":0},{"idA":107,"idB":133,"type":0},{"idA":107,"idB":134,"type":0},{"idA":107,"idB":135,"type":0},{"idA":107,"idB":136,"type":0},{"idA":107,"idB":137,"type":0},{"idA":107,"idB":138,"type":0},{"idA":107,"idB":139,"type":0},{"idA":107,"idB":141,"type":0},{"idA":107,"idB":142,"type":0},{"idA":107,"idB":143,"type":0},{"idA":107,"idB":144,"type":0},{"idA":108,"idB":109,"type":0},{"idA":108,"idB":110,"type":0},{"idA":108,"idB":111,"type":0},{"idA":108,"idB":112,"type":0},{"idA":108,"idB":113,"type":0},{"idA":108,"idB":114,"type":0},{"idA":108,"idB":115,"type":0},{"idA":108,"idB":116,"type":0},{"idA":108,"idB":117,"type":0},{"idA":108,"idB":118,"type":0},{"idA":108,"idB":119,"type":0},{"idA":108,"idB":121,"type":0},{"idA":108,"idB":122,"type":0},{"idA":108,"idB":123,"type":0},{"idA":108,"idB":124,"type":0},{"idA":108,"idB":125,"type":0},{"idA":108,"idB":126,"type":0},{"idA":108,"idB":127,"type":0},{"idA":108,"idB":128,"type":0},{"idA":108,"idB":129,"type":0},{"idA":108,"idB":130,"type":0},{"idA":108,"idB":131,"type":0},{"idA":108,"idB":132,"type":0},{"idA":108,"idB":133,"type":0},{"idA":108,"idB":134,"type":0},{"idA":108,"idB":135,"type":0},{"idA":108,"idB":136,"type":0},{"idA":108,"idB":137,"type":0},{"idA":108,"idB":138,"type":0},{"idA":108,"idB":139,"type":0},{"idA":108,"idB":141,"type":0},{"idA":108,"idB":142,"type":0},{"idA":108,"idB":143,"type":0},{"idA":108,"idB":144,"type":0},{"idA":109,"idB":110,"type":0},{"idA":109,"idB":111,"type":0},{"idA":109,"idB":112,"type":0},{"idA":109,"idB":113,"type":0},{"idA":109,"idB":114,"type":0},{"idA":109,"idB":115,"type":0},{"idA":109,"idB":116,"type":0},{"idA":109,"idB":117,"type":0},{"idA":109,"idB":118,"type":0},{"idA":109,"idB":119,"type":0},{"idA":109,"idB":121,"type":0},{"idA":109,"idB":122,"type":0},{"idA":109,"idB":123,"type":0},{"idA":109,"idB":124,"type":0},{"idA":109,"idB":125,"type":0},{"idA":109,"idB":126,"type":0},{"idA":109,"idB":127,"type":0},{"idA":109,"idB":128,"type":0},{"idA":109,"idB":129,"type":0},{"idA":109,"idB":130,"type":0},{"idA":109,"idB":131,"type":0},{"idA":109,"idB":132,"type":0},{"idA":109,"idB":133,"type":0},{"idA":109,"idB":134,"type":0},{"idA":109,"idB":135,"type":0},{"idA":109,"idB":136,"type":0},{"idA":109,"idB":137,"type":0},{"idA":109,"idB":138,"type":0},{"idA":109,"idB":139,"type":0},{"idA":109,"idB":141,"type":0},{"idA":109,"idB":142,"type":0},{"idA":109,"idB":143,"type":0},{"idA":109,"idB":144,"type":0},{"idA":110,"idB":111,"type":0},{"idA":110,"idB":112,"type":0},{"idA":110,"idB":113,"type":0},{"idA":110,"idB":114,"type":0},{"idA":110,"idB":115,"type":0},{"idA":110,"idB":116,"type":0},{"idA":110,"idB":117,"type":0},{"idA":110,"idB":118,"type":0},{"idA":110,"idB":119,"type":0},{"idA":110,"idB":121,"type":0},{"idA":110,"idB":122,"type":0},{"idA":110,"idB":123,"type":0},{"idA":110,"idB":124,"type":0},{"idA":110,"idB":125,"type":0},{"idA":110,"idB":126,"type":0},{"idA":110,"idB":127,"type":0},{"idA":110,"idB":128,"type":0},{"idA":110,"idB":129,"type":0},{"idA":110,"idB":130,"type":0},{"idA":110,"idB":131,"type":0},{"idA":110,"idB":132,"type":0},{"idA":110,"idB":133,"type":0},{"idA":110,"idB":134,"type":0},{"idA":110,"idB":135,"type":0},{"idA":110,"idB":136,"type":0},{"idA":110,"idB":137,"type":0},{"idA":110,"idB":138,"type":0},{"idA":110,"idB":139,"type":0},{"idA":110,"idB":141,"type":0},{"idA":110,"idB":142,"type":0},{"idA":110,"idB":143,"type":0},{"idA":110,"idB":144,"type":0},{"idA":111,"idB":112,"type":0},{"idA":111,"idB":113,"type":0},{"idA":111,"idB":114,"type":0},{"idA":111,"idB":115,"type":0},{"idA":111,"idB":116,"type":0},{"idA":111,"idB":117,"type":0},{"idA":111,"idB":118,"type":0},{"idA":111,"idB":119,"type":0},{"idA":111,"idB":121,"type":0},{"idA":111,"idB":122,"type":0},{"idA":111,"idB":123,"type":0},{"idA":111,"idB":124,"type":0},{"idA":111,"idB":125,"type":0},{"idA":111,"idB":126,"type":0},{"idA":111,"idB":127,"type":0},{"idA":111,"idB":128,"type":0},{"idA":111,"idB":129,"type":0},{"idA":111,"idB":130,"type":0},{"idA":111,"idB":131,"type":0},{"idA":111,"idB":132,"type":0},{"idA":111,"idB":133,"type":0},{"idA":111,"idB":134,"type":0},{"idA":111,"idB":135,"type":0},{"idA":111,"idB":136,"type":0},{"idA":111,"idB":137,"type":0},{"idA":111,"idB":138,"type":0},{"idA":111,"idB":139,"type":0},{"idA":111,"idB":141,"type":0},{"idA":111,"idB":142,"type":0},{"idA":111,"idB":143,"type":0},{"idA":111,"idB":144,"type":0},{"idA":112,"idB":113,"type":0},{"idA":112,"idB":114,"type":0},{"idA":112,"idB":115,"type":0},{"idA":112,"idB":116,"type":0},{"idA":112,"idB":117,"type":0},{"idA":112,"idB":118,"type":0},{"idA":112,"idB":119,"type":0},{"idA":112,"idB":121,"type":0},{"idA":112,"idB":122,"type":0},{"idA":112,"idB":123,"type":0},{"idA":112,"idB":124,"type":0},{"idA":112,"idB":125,"type":0},{"idA":112,"idB":126,"type":0},{"idA":112,"idB":127,"type":0},{"idA":112,"idB":128,"type":0},{"idA":112,"idB":129,"type":0},{"idA":112,"idB":130,"type":0},{"idA":112,"idB":131,"type":0},{"idA":112,"idB":132,"type":0},{"idA":112,"idB":133,"type":0},{"idA":112,"idB":134,"type":0},{"idA":112,"idB":135,"type":0},{"idA":112,"idB":136,"type":0},{"idA":112,"idB":137,"type":0},{"idA":112,"idB":138,"type":0},{"idA":112,"idB":139,"type":0},{"idA":112,"idB":141,"type":0},{"idA":112,"idB":142,"type":0},{"idA":112,"idB":143,"type":0},{"idA":112,"idB":144,"type":0},{"idA":113,"idB":114,"type":0},{"idA":113,"idB":115,"type":0},{"idA":113,"idB":116,"type":0},{"idA":113,"idB":117,"type":0},{"idA":113,"idB":118,"type":0},{"idA":113,"idB":119,"type":0},{"idA":113,"idB":121,"type":0},{"idA":113,"idB":122,"type":0},{"idA":113,"idB":123,"type":0},{"idA":113,"idB":124,"type":0},{"idA":113,"idB":125,"type":0},{"idA":113,"idB":126,"type":0},{"idA":113,"idB":127,"type":0},{"idA":113,"idB":128,"type":0},{"idA":113,"idB":129,"type":0},{"idA":113,"idB":130,"type":0},{"idA":113,"idB":131,"type":0},{"idA":113,"idB":132,"type":0},{"idA":113,"idB":133,"type":0},{"idA":113,"idB":134,"type":0},{"idA":113,"idB":135,"type":0},{"idA":113,"idB":136,"type":0},{"idA":113,"idB":137,"type":0},{"idA":113,"idB":138,"type":0},{"idA":113,"idB":139,"type":0},{"idA":113,"idB":141,"type":0},{"idA":113,"idB":142,"type":0},{"idA":113,"idB":143,"type":0},{"idA":113,"idB":144,"type":0},{"idA":114,"idB":115,"type":0},{"idA":114,"idB":116,"type":0},{"idA":114,"idB":117,"type":0},{"idA":114,"idB":118,"type":0},{"idA":114,"idB":119,"type":0},{"idA":114,"idB":121,"type":0},{"idA":114,"idB":122,"type":0},{"idA":114,"idB":123,"type":0},{"idA":114,"idB":124,"type":0},{"idA":114,"idB":125,"type":0},{"idA":114,"idB":126,"type":0},{"idA":114,"idB":127,"type":0},{"idA":114,"idB":128,"type":0},{"idA":114,"idB":129,"type":0},{"idA":114,"idB":130,"type":0},{"idA":114,"idB":131,"type":0},{"idA":114,"idB":132,"type":0},{"idA":114,"idB":133,"type":0},{"idA":114,"idB":134,"type":0},{"idA":114,"idB":135,"type":0},{"idA":114,"idB":136,"type":0},{"idA":114,"idB":137,"type":0},{"idA":114,"idB":138,"type":0},{"idA":114,"idB":139,"type":0},{"idA":114,"idB":141,"type":0},{"idA":114,"idB":142,"type":0},{"idA":114,"idB":143,"type":0},{"idA":114,"idB":144,"type":0},{"idA":115,"idB":116,"type":0},{"idA":115,"idB":117,"type":0},{"idA":115,"idB":118,"type":0},{"idA":115,"idB":119,"type":0},{"idA":115,"idB":121,"type":0},{"idA":115,"idB":122,"type":0},{"idA":115,"idB":123,"type":0},{"idA":115,"idB":124,"type":0},{"idA":115,"idB":125,"type":0},{"idA":115,"idB":126,"type":0},{"idA":115,"idB":127,"type":0},{"idA":115,"idB":128,"type":0},{"idA":115,"idB":129,"type":0},{"idA":115,"idB":130,"type":0},{"idA":115,"idB":131,"type":0},{"idA":115,"idB":132,"type":0},{"idA":115,"idB":133,"type":0},{"idA":115,"idB":134,"type":0},{"idA":115,"idB":135,"type":0},{"idA":115,"idB":136,"type":0},{"idA":115,"idB":137,"type":0},{"idA":115,"idB":138,"type":0},{"idA":115,"idB":139,"type":0},{"idA":115,"idB":141,"type":0},{"idA":115,"idB":142,"type":0},{"idA":115,"idB":143,"type":0},{"idA":115,"idB":144,"type":0},{"idA":116,"idB":117,"type":0},{"idA":116,"idB":118,"type":0},{"idA":116,"idB":119,"type":0},{"idA":116,"idB":121,"type":0},{"idA":116,"idB":122,"type":0},{"idA":116,"idB":123,"type":0},{"idA":116,"idB":124,"type":0},{"idA":116,"idB":125,"type":0},{"idA":116,"idB":126,"type":0},{"idA":116,"idB":127,"type":0},{"idA":116,"idB":128,"type":0},{"idA":116,"idB":129,"type":0},{"idA":116,"idB":130,"type":0},{"idA":116,"idB":131,"type":0},{"idA":116,"idB":132,"type":0},{"idA":116,"idB":133,"type":0},{"idA":116,"idB":134,"type":0},{"idA":116,"idB":135,"type":0},{"idA":116,"idB":136,"type":0},{"idA":116,"idB":137,"type":0},{"idA":116,"idB":138,"type":0},{"idA":116,"idB":139,"type":0},{"idA":116,"idB":141,"type":0},{"idA":116,"idB":142,"type":0},{"idA":116,"idB":143,"type":0},{"idA":116,"idB":144,"type":0},{"idA":117,"idB":118,"type":0},{"idA":117,"idB":119,"type":0},{"idA":117,"idB":121,"type":0},{"idA":117,"idB":122,"type":0},{"idA":117,"idB":123,"type":0},{"idA":117,"idB":124,"type":0},{"idA":117,"idB":125,"type":0},{"idA":117,"idB":126,"type":0},{"idA":117,"idB":127,"type":0},{"idA":117,"idB":128,"type":0},{"idA":117,"idB":129,"type":0},{"idA":117,"idB":130,"type":0},{"idA":117,"idB":131,"type":0},{"idA":117,"idB":132,"type":0},{"idA":117,"idB":133,"type":0},{"idA":117,"idB":134,"type":0},{"idA":117,"idB":135,"type":0},{"idA":117,"idB":136,"type":0},{"idA":117,"idB":137,"type":0},{"idA":117,"idB":138,"type":0},{"idA":117,"idB":139,"type":0},{"idA":117,"idB":141,"type":0},{"idA":117,"idB":142,"type":0},{"idA":117,"idB":143,"type":0},{"idA":117,"idB":144,"type":0},{"idA":118,"idB":119,"type":0},{"idA":118,"idB":121,"type":0},{"idA":118,"idB":122,"type":0},{"idA":118,"idB":123,"type":0},{"idA":118,"idB":124,"type":0},{"idA":118,"idB":125,"type":0},{"idA":118,"idB":126,"type":0},{"idA":118,"idB":127,"type":0},{"idA":118,"idB":128,"type":0},{"idA":118,"idB":129,"type":0},{"idA":118,"idB":130,"type":0},{"idA":118,"idB":131,"type":0},{"idA":118,"idB":132,"type":0},{"idA":118,"idB":133,"type":0},{"idA":118,"idB":134,"type":0},{"idA":118,"idB":135,"type":0},{"idA":118,"idB":136,"type":0},{"idA":118,"idB":137,"type":0},{"idA":118,"idB":138,"type":0},{"idA":118,"idB":139,"type":0},{"idA":118,"idB":141,"type":0},{"idA":118,"idB":142,"type":0},{"idA":118,"idB":143,"type":0},{"idA":118,"idB":144,"type":0},{"idA":119,"idB":121,"type":0},{"idA":119,"idB":122,"type":0},{"idA":119,"idB":123,"type":0},{"idA":119,"idB":124,"type":0},{"idA":119,"idB":125,"type":0},{"idA":119,"idB":126,"type":0},{"idA":119,"idB":127,"type":0},{"idA":119,"idB":128,"type":0},{"idA":119,"idB":129,"type":0},{"idA":119,"idB":130,"type":0},{"idA":119,"idB":131,"type":0},{"idA":119,"idB":132,"type":0},{"idA":119,"idB":133,"type":0},{"idA":119,"idB":134,"type":0},{"idA":119,"idB":135,"type":0},{"idA":119,"idB":136,"type":0},{"idA":119,"idB":137,"type":0},{"idA":119,"idB":138,"type":0},{"idA":119,"idB":139,"type":0},{"idA":119,"idB":141,"type":0},{"idA":119,"idB":142,"type":0},{"idA":119,"idB":143,"type":0},{"idA":119,"idB":144,"type":0},{"idA":121,"idB":122,"type":0},{"idA":121,"idB":123,"type":0},{"idA":121,"idB":124,"type":0},{"idA":121,"idB":125,"type":0},{"idA":121,"idB":126,"type":0},{"idA":121,"idB":127,"type":0},{"idA":121,"idB":128,"type":0},{"idA":121,"idB":129,"type":0},{"idA":121,"idB":130,"type":0},{"idA":121,"idB":131,"type":0},{"idA":121,"idB":132,"type":0},{"idA":121,"idB":133,"type":0},{"idA":121,"idB":134,"type":0},{"idA":121,"idB":135,"type":0},{"idA":121,"idB":136,"type":0},{"idA":121,"idB":137,"type":0},{"idA":121,"idB":138,"type":0},{"idA":121,"idB":139,"type":0},{"idA":121,"idB":141,"type":0},{"idA":121,"idB":142,"type":0},{"idA":121,"idB":143,"type":0},{"idA":121,"idB":144,"type":0},{"idA":122,"idB":123,"type":0},{"idA":122,"idB":124,"type":0},{"idA":122,"idB":125,"type":0},{"idA":122,"idB":126,"type":0},{"idA":122,"idB":127,"type":0},{"idA":122,"idB":128,"type":0},{"idA":122,"idB":129,"type":0},{"idA":122,"idB":130,"type":0},{"idA":122,"idB":131,"type":0},{"idA":122,"idB":132,"type":0},{"idA":122,"idB":133,"type":0},{"idA":122,"idB":134,"type":0},{"idA":122,"idB":135,"type":0},{"idA":122,"idB":136,"type":0},{"idA":122,"idB":137,"type":0},{"idA":122,"idB":138,"type":0},{"idA":122,"idB":139,"type":0},{"idA":122,"idB":141,"type":0},{"idA":122,"idB":142,"type":0},{"idA":122,"idB":143,"type":0},{"idA":122,"idB":144,"type":0},{"idA":123,"idB":124,"type":0},{"idA":123,"idB":125,"type":0},{"idA":123,"idB":126,"type":0},{"idA":123,"idB":127,"type":0},{"idA":123,"idB":128,"type":0},{"idA":123,"idB":129,"type":0},{"idA":123,"idB":130,"type":0},{"idA":123,"idB":131,"type":0},{"idA":123,"idB":132,"type":0},{"idA":123,"idB":133,"type":0},{"idA":123,"idB":134,"type":0},{"idA":123,"idB":135,"type":0},{"idA":123,"idB":136,"type":0},{"idA":123,"idB":137,"type":0},{"idA":123,"idB":138,"type":0},{"idA":123,"idB":139,"type":0},{"idA":123,"idB":141,"type":0},{"idA":123,"idB":142,"type":0},{"idA":123,"idB":143,"type":0},{"idA":123,"idB":144,"type":0},{"idA":124,"idB":125,"type":0},{"idA":124,"idB":126,"type":0},{"idA":124,"idB":127,"type":0},{"idA":124,"idB":128,"type":0},{"idA":124,"idB":129,"type":0},{"idA":124,"idB":130,"type":0},{"idA":124,"idB":131,"type":0},{"idA":124,"idB":132,"type":0},{"idA":124,"idB":133,"type":0},{"idA":124,"idB":134,"type":0},{"idA":124,"idB":135,"type":0},{"idA":124,"idB":136,"type":0},{"idA":124,"idB":137,"type":0},{"idA":124,"idB":138,"type":0},{"idA":124,"idB":139,"type":0},{"idA":124,"idB":141,"type":0},{"idA":124,"idB":142,"type":0},{"idA":124,"idB":143,"type":0},{"idA":124,"idB":144,"type":0},{"idA":125,"idB":126,"type":0},{"idA":125,"idB":127,"type":0},{"idA":125,"idB":128,"type":0},{"idA":125,"idB":129,"type":0},{"idA":125,"idB":130,"type":0},{"idA":125,"idB":131,"type":0},{"idA":125,"idB":132,"type":0},{"idA":125,"idB":133,"type":0},{"idA":125,"idB":134,"type":0},{"idA":125,"idB":135,"type":0},{"idA":125,"idB":136,"type":0},{"idA":125,"idB":137,"type":0},{"idA":125,"idB":138,"type":0},{"idA":125,"idB":139,"type":0},{"idA":125,"idB":141,"type":0},{"idA":125,"idB":142,"type":0},{"idA":125,"idB":143,"type":0},{"idA":125,"idB":144,"type":0},{"idA":126,"idB":127,"type":0},{"idA":126,"idB":128,"type":0},{"idA":126,"idB":129,"type":0},{"idA":126,"idB":130,"type":0},{"idA":126,"idB":131,"type":0},{"idA":126,"idB":132,"type":0},{"idA":126,"idB":133,"type":0},{"idA":126,"idB":134,"type":0},{"idA":126,"idB":135,"type":0},{"idA":126,"idB":136,"type":0},{"idA":126,"idB":137,"type":0},{"idA":126,"idB":138,"type":0},{"idA":126,"idB":139,"type":0},{"idA":126,"idB":141,"type":0},{"idA":126,"idB":142,"type":0},{"idA":126,"idB":143,"type":0},{"idA":126,"idB":144,"type":0},{"idA":127,"idB":128,"type":0},{"idA":127,"idB":129,"type":0},{"idA":127,"idB":130,"type":0},{"idA":127,"idB":131,"type":0},{"idA":127,"idB":132,"type":0},{"idA":127,"idB":133,"type":0},{"idA":127,"idB":134,"type":0},{"idA":127,"idB":135,"type":0},{"idA":127,"idB":136,"type":0},{"idA":127,"idB":137,"type":0},{"idA":127,"idB":138,"type":0},{"idA":127,"idB":139,"type":0},{"idA":127,"idB":141,"type":0},{"idA":127,"idB":142,"type":0},{"idA":127,"idB":143,"type":0},{"idA":127,"idB":144,"type":0},{"idA":128,"idB":129,"type":0},{"idA":128,"idB":130,"type":0},{"idA":128,"idB":131,"type":0},{"idA":128,"idB":132,"type":0},{"idA":128,"idB":133,"type":0},{"idA":128,"idB":134,"type":0},{"idA":128,"idB":135,"type":0},{"idA":128,"idB":136,"type":0},{"idA":128,"idB":137,"type":0},{"idA":128,"idB":138,"type":0},{"idA":128,"idB":139,"type":0},{"idA":128,"idB":141,"type":0},{"idA":128,"idB":142,"type":0},{"idA":128,"idB":143,"type":0},{"idA":128,"idB":144,"type":0},{"idA":129,"idB":130,"type":0},{"idA":129,"idB":131,"type":0},{"idA":129,"idB":132,"type":0},{"idA":129,"idB":133,"type":0},{"idA":129,"idB":134,"type":0},{"idA":129,"idB":135,"type":0},{"idA":129,"idB":136,"type":0},{"idA":129,"idB":137,"type":0},{"idA":129,"idB":138,"type":0},{"idA":129,"idB":139,"type":0},{"idA":129,"idB":141,"type":0},{"idA":129,"idB":142,"type":0},{"idA":129,"idB":143,"type":0},{"idA":129,"idB":144,"type":0},{"idA":130,"idB":131,"type":0},{"idA":130,"idB":132,"type":0},{"idA":130,"idB":133,"type":0},{"idA":130,"idB":134,"type":0},{"idA":130,"idB":135,"type":0},{"idA":130,"idB":136,"type":0},{"idA":130,"idB":137,"type":0},{"idA":130,"idB":138,"type":0},{"idA":130,"idB":139,"type":0},{"idA":130,"idB":141,"type":0},{"idA":130,"idB":142,"type":0},{"idA":130,"idB":143,"type":0},{"idA":130,"idB":144,"type":0},{"idA":131,"idB":132,"type":0},{"idA":131,"idB":133,"type":0},{"idA":131,"idB":134,"type":0},{"idA":131,"idB":135,"type":0},{"idA":131,"idB":136,"type":1},{"idA":131,"idB":137,"type":1},{"idA":131,"idB":138,"type":0},{"idA":131,"idB":139,"type":0},{"idA":131,"idB":141,"type":0},{"idA":131,"idB":142,"type":0},{"idA":131,"idB":143,"type":0},{"idA":131,"idB":144,"type":0},{"idA":132,"idB":133,"type":0},{"idA":132,"idB":134,"type":1},{"idA":132,"idB":135,"type":0},{"idA":132,"idB":136,"type":0},{"idA":132,"idB":137,"type":0},{"idA":132,"idB":138,"type":0},{"idA":132,"idB":139,"type":0},{"idA":132,"idB":141,"type":0},{"idA":132,"idB":142,"type":0},{"idA":132,"idB":143,"type":0},{"idA":132,"idB":144,"type":0},{"idA":133,"idB":134,"type":1},{"idA":133,"idB":135,"type":0},{"idA":133,"idB":136,"type":0},{"idA":133,"idB":137,"type":0},{"idA":133,"idB":138,"type":1},{"idA":133,"idB":139,"type":0},{"idA":133,"idB":141,"type":0},{"idA":133,"idB":142,"type":0},{"idA":133,"idB":143,"type":0},{"idA":133,"idB":144,"type":0},{"idA":134,"idB":135,"type":0},{"idA":134,"idB":136,"type":0},{"idA":134,"idB":137,"type":0},{"idA":134,"idB":138,"type":0},{"idA":134,"idB":139,"type":0},{"idA":134,"idB":141,"type":0},{"idA":134,"idB":142,"type":0},{"idA":134,"idB":143,"type":0},{"idA":134,"idB":144,"type":0},{"idA":135,"idB":136,"type":0},{"idA":135,"idB":137,"type":1},{"idA":135,"idB":138,"type":0},{"idA":135,"idB":139,"type":0},{"idA":135,"idB":141,"type":0},{"idA":135,"idB":142,"type":0},{"idA":135,"idB":143,"type":0},{"idA":135,"idB":144,"type":0},{"idA":136,"idB":137,"type":0},{"idA":136,"idB":138,"type":0},{"idA":136,"idB":139,"type":0},{"idA":136,"idB":141,"type":0},{"idA":136,"idB":142,"type":0},{"idA":136,"idB":143,"type":0},{"idA":136,"idB":144,"type":0},{"idA":137,"idB":138,"type":0},{"idA":137,"idB":139,"type":0},{"idA":137,"idB":141,"type":0},{"idA":137,"idB":142,"type":0},{"idA":137,"idB":143,"type":0},{"idA":137,"idB":144,"type":0},{"idA":138,"idB":139,"type":0},{"idA":138,"idB":141,"type":0},{"idA":138,"idB":142,"type":0},{"idA":138,"idB":143,"type":0},{"idA":138,"idB":144,"type":0},{"idA":139,"idB":141,"type":0},{"idA":139,"idB":142,"type":0},{"idA":139,"idB":143,"type":0},{"idA":139,"idB":144,"type":0},{"idA":141,"idB":142,"type":0},{"idA":141,"idB":143,"type":0},{"idA":141,"idB":144,"type":0},{"idA":142,"idB":143,"type":0},{"idA":142,"idB":144,"type":0},{"idA":143,"idB":144,"type":0},{"idA":1,"idB":145,"type":6},{"idA":1,"idB":146,"type":6},{"idA":1,"idB":147,"type":6},{"idA":1,"idB":148,"type":6},{"idA":1,"idB":149,"type":6},{"idA":1,"idB":150,"type":6},{"idA":1,"idB":151,"type":6},{"idA":1,"idB":152,"type":6},{"idA":1,"idB":153,"type":6},{"idA":1,"idB":154,"type":6},{"idA":1,"idB":155,"type":6},{"idA":1,"idB":156,"type":6},{"idA":1,"idB":157,"type":6},{"idA":1,"idB":158,"type":6},{"idA":1,"idB":159,"type":6},{"idA":1,"idB":160,"type":6},{"idA":1,"idB":161,"type":6},{"idA":1,"idB":162,"type":6},{"idA":1,"idB":163,"type":6},{"idA":1,"idB":164,"type":6},{"idA":1,"idB":166,"type":7},{"idA":1,"idB":167,"type":7},{"idA":1,"idB":168,"type":7},{"idA":1,"idB":169,"type":7},{"idA":1,"idB":170,"type":7},{"idA":1,"idB":171,"type":7},{"idA":1,"idB":172,"type":7},{"idA":1,"idB":173,"type":7},{"idA":1,"idB":174,"type":7},{"idA":1,"idB":175,"type":7},{"idA":1,"idB":176,"type":7},{"idA":1,"idB":177,"type":7},{"idA":1,"idB":178,"type":7},{"idA":1,"idB":179,"type":7},{"idA":1,"idB":180,"type":7},{"idA":1,"idB":181,"type":7},{"idA":1,"idB":182,"type":7},{"idA":1,"idB":183,"type":7},{"idA":1,"idB":184,"type":7},{"idA":1,"idB":186,"type":3},{"idA":1,"idB":187,"type":3},{"idA":1,"idB":188,"type":3},{"idA":1,"idB":189,"type":3},{"idA":145,"idB":146,"type":1},{"idA":145,"idB":147,"type":0},{"idA":145,"idB":148,"type":0},{"idA":145,"idB":149,"type":0},{"idA":145,"idB":150,"type":0},{"idA":145,"idB":151,"type":0},{"idA":145,"idB":152,"type":0},{"idA":145,"idB":153,"type":0},{"idA":145,"idB":154,"type":0},{"idA":145,"idB":155,"type":0},{"idA":145,"idB":156,"type":1},{"idA":145,"idB":157,"type":0},{"idA":145,"idB":158,"type":0},{"idA":145,"idB":159,"type":0},{"idA":145,"idB":160,"type":0},{"idA":145,"idB":161,"type":0},{"idA":145,"idB":162,"type":0},{"idA":145,"idB":163,"type":0},{"idA":145,"idB":164,"type":0},{"idA":145,"idB":166,"type":0},{"idA":145,"idB":167,"type":0},{"idA":145,"idB":168,"type":0},{"idA":145,"idB":169,"type":0},{"idA":145,"idB":170,"type":1},{"idA":145,"idB":171,"type":0},{"idA":145,"idB":172,"type":0},{"idA":145,"idB":173,"type":1},{"idA":145,"idB":174,"type":0},{"idA":145,"idB":175,"type":0},{"idA":145,"idB":176,"type":0},{"idA":145,"idB":177,"type":0},{"idA":145,"idB":178,"type":0},{"idA":145,"idB":179,"type":0},{"idA":145,"idB":180,"type":0},{"idA":145,"idB":181,"type":0},{"idA":145,"idB":182,"type":0},{"idA":145,"idB":183,"type":0},{"idA":145,"idB":184,"type":0},{"idA":145,"idB":186,"type":0},{"idA":145,"idB":187,"type":0},{"idA":145,"idB":188,"type":0},{"idA":145,"idB":189,"type":0},{"idA":146,"idB":147,"type":0},{"idA":146,"idB":148,"type":0},{"idA":146,"idB":149,"type":0},{"idA":146,"idB":150,"type":0},{"idA":146,"idB":151,"type":0},{"idA":146,"idB":152,"type":0},{"idA":146,"idB":153,"type":0},{"idA":146,"idB":154,"type":0},{"idA":146,"idB":155,"type":0},{"idA":146,"idB":156,"type":0},{"idA":146,"idB":157,"type":0},{"idA":146,"idB":158,"type":0},{"idA":146,"idB":159,"type":0},{"idA":146,"idB":160,"type":0},{"idA":146,"idB":161,"type":0},{"idA":146,"idB":162,"type":0},{"idA":146,"idB":163,"type":0},{"idA":146,"idB":164,"type":0},{"idA":146,"idB":166,"type":0},{"idA":146,"idB":167,"type":0},{"idA":146,"idB":168,"type":0},{"idA":146,"idB":169,"type":0},{"idA":146,"idB":170,"type":0},{"idA":146,"idB":171,"type":0},{"idA":146,"idB":172,"type":0},{"idA":146,"idB":173,"type":0},{"idA":146,"idB":174,"type":0},{"idA":146,"idB":175,"type":0},{"idA":146,"idB":176,"type":0},{"idA":146,"idB":177,"type":0},{"idA":146,"idB":178,"type":0},{"idA":146,"idB":179,"type":0},{"idA":146,"idB":180,"type":0},{"idA":146,"idB":181,"type":0},{"idA":146,"idB":182,"type":0},{"idA":146,"idB":183,"type":0},{"idA":146,"idB":184,"type":0},{"idA":146,"idB":186,"type":0},{"idA":146,"idB":187,"type":0},{"idA":146,"idB":188,"type":0},{"idA":146,"idB":189,"type":0},{"idA":147,"idB":148,"type":0},{"idA":147,"idB":149,"type":0},{"idA":147,"idB":150,"type":0},{"idA":147,"idB":151,"type":0},{"idA":147,"idB":152,"type":0},{"idA":147,"idB":153,"type":0},{"idA":147,"idB":154,"type":0},{"idA":147,"idB":155,"type":0},{"idA":147,"idB":156,"type":0},{"idA":147,"idB":157,"type":0},{"idA":147,"idB":158,"type":0},{"idA":147,"idB":159,"type":0},{"idA":147,"idB":160,"type":0},{"idA":147,"idB":161,"type":0},{"idA":147,"idB":162,"type":0},{"idA":147,"idB":163,"type":0},{"idA":147,"idB":164,"type":0},{"idA":147,"idB":166,"type":0},{"idA":147,"idB":167,"type":0},{"idA":147,"idB":168,"type":0},{"idA":147,"idB":169,"type":0},{"idA":147,"idB":170,"type":0},{"idA":147,"idB":171,"type":0},{"idA":147,"idB":172,"type":0},{"idA":147,"idB":173,"type":0},{"idA":147,"idB":174,"type":0},{"idA":147,"idB":175,"type":0},{"idA":147,"idB":176,"type":0},{"idA":147,"idB":177,"type":0},{"idA":147,"idB":178,"type":0},{"idA":147,"idB":179,"type":0},{"idA":147,"idB":180,"type":0},{"idA":147,"idB":181,"type":0},{"idA":147,"idB":182,"type":0},{"idA":147,"idB":183,"type":0},{"idA":147,"idB":184,"type":0},{"idA":147,"idB":186,"type":0},{"idA":147,"idB":187,"type":0},{"idA":147,"idB":188,"type":0},{"idA":147,"idB":189,"type":0},{"idA":148,"idB":149,"type":0},{"idA":148,"idB":150,"type":0},{"idA":148,"idB":151,"type":0},{"idA":148,"idB":152,"type":0},{"idA":148,"idB":153,"type":0},{"idA":148,"idB":154,"type":0},{"idA":148,"idB":155,"type":0},{"idA":148,"idB":156,"type":0},{"idA":148,"idB":157,"type":0},{"idA":148,"idB":158,"type":0},{"idA":148,"idB":159,"type":0},{"idA":148,"idB":160,"type":0},{"idA":148,"idB":161,"type":0},{"idA":148,"idB":162,"type":0},{"idA":148,"idB":163,"type":0},{"idA":148,"idB":164,"type":0},{"idA":148,"idB":166,"type":0},{"idA":148,"idB":167,"type":0},{"idA":148,"idB":168,"type":0},{"idA":148,"idB":169,"type":0},{"idA":148,"idB":170,"type":0},{"idA":148,"idB":171,"type":0},{"idA":148,"idB":172,"type":0},{"idA":148,"idB":173,"type":0},{"idA":148,"idB":174,"type":0},{"idA":148,"idB":175,"type":0},{"idA":148,"idB":176,"type":0},{"idA":148,"idB":177,"type":0},{"idA":148,"idB":178,"type":0},{"idA":148,"idB":179,"type":0},{"idA":148,"idB":180,"type":0},{"idA":148,"idB":181,"type":0},{"idA":148,"idB":182,"type":0},{"idA":148,"idB":183,"type":0},{"idA":148,"idB":184,"type":0},{"idA":148,"idB":186,"type":0},{"idA":148,"idB":187,"type":0},{"idA":148,"idB":188,"type":0},{"idA":148,"idB":189,"type":0},{"idA":149,"idB":150,"type":0},{"idA":149,"idB":151,"type":0},{"idA":149,"idB":152,"type":0},{"idA":149,"idB":153,"type":0},{"idA":149,"idB":154,"type":0},{"idA":149,"idB":155,"type":0},{"idA":149,"idB":156,"type":0},{"idA":149,"idB":157,"type":0},{"idA":149,"idB":158,"type":0},{"idA":149,"idB":159,"type":0},{"idA":149,"idB":160,"type":0},{"idA":149,"idB":161,"type":1},{"idA":149,"idB":162,"type":0},{"idA":149,"idB":163,"type":0},{"idA":149,"idB":164,"type":0},{"idA":149,"idB":166,"type":0},{"idA":149,"idB":167,"type":0},{"idA":149,"idB":168,"type":0},{"idA":149,"idB":169,"type":0},{"idA":149,"idB":170,"type":0},{"idA":149,"idB":171,"type":1},{"idA":149,"idB":172,"type":0},{"idA":149,"idB":173,"type":0},{"idA":149,"idB":174,"type":0},{"idA":149,"idB":175,"type":0},{"idA":149,"idB":176,"type":0},{"idA":149,"idB":177,"type":0},{"idA":149,"idB":178,"type":0},{"idA":149,"idB":179,"type":0},{"idA":149,"idB":180,"type":0},{"idA":149,"idB":181,"type":0},{"idA":149,"idB":182,"type":0},{"idA":149,"idB":183,"type":0},{"idA":149,"idB":184,"type":0},{"idA":149,"idB":186,"type":0},{"idA":149,"idB":187,"type":0},{"idA":149,"idB":188,"type":0},{"idA":149,"idB":189,"type":0},{"idA":150,"idB":151,"type":0},{"idA":150,"idB":152,"type":0},{"idA":150,"idB":153,"type":0},{"idA":150,"idB":154,"type":0},{"idA":150,"idB":155,"type":0},{"idA":150,"idB":156,"type":1},{"idA":150,"idB":157,"type":0},{"idA":150,"idB":158,"type":0},{"idA":150,"idB":159,"type":0},{"idA":150,"idB":160,"type":0},{"idA":150,"idB":161,"type":0},{"idA":150,"idB":162,"type":0},{"idA":150,"idB":163,"type":0},{"idA":150,"idB":164,"type":0},{"idA":150,"idB":166,"type":0},{"idA":150,"idB":167,"type":0},{"idA":150,"idB":168,"type":1},{"idA":150,"idB":169,"type":0},{"idA":150,"idB":170,"type":0},{"idA":150,"idB":171,"type":0},{"idA":150,"idB":172,"type":1},{"idA":150,"idB":173,"type":0},{"idA":150,"idB":174,"type":0},{"idA":150,"idB":175,"type":0},{"idA":150,"idB":176,"type":0},{"idA":150,"idB":177,"type":0},{"idA":150,"idB":178,"type":0},{"idA":150,"idB":179,"type":0},{"idA":150,"idB":180,"type":0},{"idA":150,"idB":181,"type":0},{"idA":150,"idB":182,"type":0},{"idA":150,"idB":183,"type":0},{"idA":150,"idB":184,"type":0},{"idA":150,"idB":186,"type":0},{"idA":150,"idB":187,"type":0},{"idA":150,"idB":188,"type":0},{"idA":150,"idB":189,"type":0},{"idA":151,"idB":152,"type":0},{"idA":151,"idB":153,"type":0},{"idA":151,"idB":154,"type":0},{"idA":151,"idB":155,"type":0},{"idA":151,"idB":156,"type":0},{"idA":151,"idB":157,"type":0},{"idA":151,"idB":158,"type":0},{"idA":151,"idB":159,"type":0},{"idA":151,"idB":160,"type":0},{"idA":151,"idB":161,"type":0},{"idA":151,"idB":162,"type":0},{"idA":151,"idB":163,"type":0},{"idA":151,"idB":164,"type":0},{"idA":151,"idB":166,"type":0},{"idA":151,"idB":167,"type":0},{"idA":151,"idB":168,"type":0},{"idA":151,"idB":169,"type":0},{"idA":151,"idB":170,"type":0},{"idA":151,"idB":171,"type":0},{"idA":151,"idB":172,"type":0},{"idA":151,"idB":173,"type":0},{"idA":151,"idB":174,"type":0},{"idA":151,"idB":175,"type":0},{"idA":151,"idB":176,"type":0},{"idA":151,"idB":177,"type":0},{"idA":151,"idB":178,"type":0},{"idA":151,"idB":179,"type":0},{"idA":151,"idB":180,"type":0},{"idA":151,"idB":181,"type":0},{"idA":151,"idB":182,"type":0},{"idA":151,"idB":183,"type":0},{"idA":151,"idB":184,"type":0},{"idA":151,"idB":186,"type":0},{"idA":151,"idB":187,"type":0},{"idA":151,"idB":188,"type":0},{"idA":151,"idB":189,"type":0},{"idA":152,"idB":153,"type":0},{"idA":152,"idB":154,"type":0},{"idA":152,"idB":155,"type":0},{"idA":152,"idB":156,"type":0},{"idA":152,"idB":157,"type":0},{"idA":152,"idB":158,"type":0},{"idA":152,"idB":159,"type":0},{"idA":152,"idB":160,"type":0},{"idA":152,"idB":161,"type":0},{"idA":152,"idB":162,"type":0},{"idA":152,"idB":163,"type":0},{"idA":152,"idB":164,"type":0},{"idA":152,"idB":166,"type":0},{"idA":152,"idB":167,"type":0},{"idA":152,"idB":168,"type":0},{"idA":152,"idB":169,"type":0},{"idA":152,"idB":170,"type":0},{"idA":152,"idB":171,"type":0},{"idA":152,"idB":172,"type":0},{"idA":152,"idB":173,"type":0},{"idA":152,"idB":174,"type":0},{"idA":152,"idB":175,"type":0},{"idA":152,"idB":176,"type":0},{"idA":152,"idB":177,"type":0},{"idA":152,"idB":178,"type":0},{"idA":152,"idB":179,"type":0},{"idA":152,"idB":180,"type":0},{"idA":152,"idB":181,"type":0},{"idA":152,"idB":182,"type":0},{"idA":152,"idB":183,"type":0},{"idA":152,"idB":184,"type":0},{"idA":152,"idB":186,"type":0},{"idA":152,"idB":187,"type":0},{"idA":152,"idB":188,"type":0},{"idA":152,"idB":189,"type":0},{"idA":153,"idB":154,"type":0},{"idA":153,"idB":155,"type":0},{"idA":153,"idB":156,"type":0},{"idA":153,"idB":157,"type":0},{"idA":153,"idB":158,"type":0},{"idA":153,"idB":159,"type":0},{"idA":153,"idB":160,"type":0},{"idA":153,"idB":161,"type":0},{"idA":153,"idB":162,"type":0},{"idA":153,"idB":163,"type":0},{"idA":153,"idB":164,"type":0},{"idA":153,"idB":166,"type":0},{"idA":153,"idB":167,"type":0},{"idA":153,"idB":168,"type":0},{"idA":153,"idB":169,"type":0},{"idA":153,"idB":170,"type":0},{"idA":153,"idB":171,"type":0},{"idA":153,"idB":172,"type":0},{"idA":153,"idB":173,"type":0},{"idA":153,"idB":174,"type":0},{"idA":153,"idB":175,"type":0},{"idA":153,"idB":176,"type":0},{"idA":153,"idB":177,"type":0},{"idA":153,"idB":178,"type":0},{"idA":153,"idB":179,"type":0},{"idA":153,"idB":180,"type":0},{"idA":153,"idB":181,"type":0},{"idA":153,"idB":182,"type":0},{"idA":153,"idB":183,"type":0},{"idA":153,"idB":184,"type":0},{"idA":153,"idB":186,"type":0},{"idA":153,"idB":187,"type":0},{"idA":153,"idB":188,"type":0},{"idA":153,"idB":189,"type":0},{"idA":154,"idB":155,"type":0},{"idA":154,"idB":156,"type":0},{"idA":154,"idB":157,"type":0},{"idA":154,"idB":158,"type":0},{"idA":154,"idB":159,"type":0},{"idA":154,"idB":160,"type":0},{"idA":154,"idB":161,"type":0},{"idA":154,"idB":162,"type":0},{"idA":154,"idB":163,"type":0},{"idA":154,"idB":164,"type":0},{"idA":154,"idB":166,"type":0},{"idA":154,"idB":167,"type":0},{"idA":154,"idB":168,"type":0},{"idA":154,"idB":169,"type":0},{"idA":154,"idB":170,"type":0},{"idA":154,"idB":171,"type":0},{"idA":154,"idB":172,"type":0},{"idA":154,"idB":173,"type":0},{"idA":154,"idB":174,"type":0},{"idA":154,"idB":175,"type":0},{"idA":154,"idB":176,"type":0},{"idA":154,"idB":177,"type":0},{"idA":154,"idB":178,"type":0},{"idA":154,"idB":179,"type":0},{"idA":154,"idB":180,"type":0},{"idA":154,"idB":181,"type":0},{"idA":154,"idB":182,"type":0},{"idA":154,"idB":183,"type":0},{"idA":154,"idB":184,"type":0},{"idA":154,"idB":186,"type":0},{"idA":154,"idB":187,"type":0},{"idA":154,"idB":188,"type":0},{"idA":154,"idB":189,"type":0},{"idA":155,"idB":156,"type":0},{"idA":155,"idB":157,"type":0},{"idA":155,"idB":158,"type":0},{"idA":155,"idB":159,"type":0},{"idA":155,"idB":160,"type":0},{"idA":155,"idB":161,"type":0},{"idA":155,"idB":162,"type":0},{"idA":155,"idB":163,"type":0},{"idA":155,"idB":164,"type":0},{"idA":155,"idB":166,"type":0},{"idA":155,"idB":167,"type":0},{"idA":155,"idB":168,"type":0},{"idA":155,"idB":169,"type":0},{"idA":155,"idB":170,"type":0},{"idA":155,"idB":171,"type":0},{"idA":155,"idB":172,"type":0},{"idA":155,"idB":173,"type":0},{"idA":155,"idB":174,"type":0},{"idA":155,"idB":175,"type":0},{"idA":155,"idB":176,"type":0},{"idA":155,"idB":177,"type":0},{"idA":155,"idB":178,"type":0},{"idA":155,"idB":179,"type":0},{"idA":155,"idB":180,"type":0},{"idA":155,"idB":181,"type":0},{"idA":155,"idB":182,"type":0},{"idA":155,"idB":183,"type":0},{"idA":155,"idB":184,"type":0},{"idA":155,"idB":186,"type":0},{"idA":155,"idB":187,"type":0},{"idA":155,"idB":188,"type":0},{"idA":155,"idB":189,"type":0},{"idA":156,"idB":157,"type":0},{"idA":156,"idB":158,"type":0},{"idA":156,"idB":159,"type":0},{"idA":156,"idB":160,"type":0},{"idA":156,"idB":161,"type":0},{"idA":156,"idB":162,"type":0},{"idA":156,"idB":163,"type":0},{"idA":156,"idB":164,"type":0},{"idA":156,"idB":166,"type":0},{"idA":156,"idB":167,"type":0},{"idA":156,"idB":168,"type":0},{"idA":156,"idB":169,"type":0},{"idA":156,"idB":170,"type":0},{"idA":156,"idB":171,"type":0},{"idA":156,"idB":172,"type":0},{"idA":156,"idB":173,"type":0},{"idA":156,"idB":174,"type":0},{"idA":156,"idB":175,"type":0},{"idA":156,"idB":176,"type":0},{"idA":156,"idB":177,"type":0},{"idA":156,"idB":178,"type":0},{"idA":156,"idB":179,"type":0},{"idA":156,"idB":180,"type":0},{"idA":156,"idB":181,"type":0},{"idA":156,"idB":182,"type":0},{"idA":156,"idB":183,"type":0},{"idA":156,"idB":184,"type":0},{"idA":156,"idB":186,"type":0},{"idA":156,"idB":187,"type":0},{"idA":156,"idB":188,"type":0},{"idA":156,"idB":189,"type":0},{"idA":157,"idB":158,"type":0},{"idA":157,"idB":159,"type":0},{"idA":157,"idB":160,"type":0},{"idA":157,"idB":161,"type":0},{"idA":157,"idB":162,"type":0},{"idA":157,"idB":163,"type":0},{"idA":157,"idB":164,"type":0},{"idA":157,"idB":166,"type":0},{"idA":157,"idB":167,"type":0},{"idA":157,"idB":168,"type":0},{"idA":157,"idB":169,"type":0},{"idA":157,"idB":170,"type":0},{"idA":157,"idB":171,"type":0},{"idA":157,"idB":172,"type":0},{"idA":157,"idB":173,"type":0},{"idA":157,"idB":174,"type":0},{"idA":157,"idB":175,"type":0},{"idA":157,"idB":176,"type":0},{"idA":157,"idB":177,"type":0},{"idA":157,"idB":178,"type":0},{"idA":157,"idB":179,"type":0},{"idA":157,"idB":180,"type":0},{"idA":157,"idB":181,"type":0},{"idA":157,"idB":182,"type":0},{"idA":157,"idB":183,"type":0},{"idA":157,"idB":184,"type":0},{"idA":157,"idB":186,"type":0},{"idA":157,"idB":187,"type":0},{"idA":157,"idB":188,"type":0},{"idA":157,"idB":189,"type":0},{"idA":158,"idB":159,"type":0},{"idA":158,"idB":160,"type":0},{"idA":158,"idB":161,"type":0},{"idA":158,"idB":162,"type":0},{"idA":158,"idB":163,"type":0},{"idA":158,"idB":164,"type":0},{"idA":158,"idB":166,"type":0},{"idA":158,"idB":167,"type":0},{"idA":158,"idB":168,"type":0},{"idA":158,"idB":169,"type":0},{"idA":158,"idB":170,"type":0},{"idA":158,"idB":171,"type":0},{"idA":158,"idB":172,"type":0},{"idA":158,"idB":173,"type":0},{"idA":158,"idB":174,"type":0},{"idA":158,"idB":175,"type":0},{"idA":158,"idB":176,"type":0},{"idA":158,"idB":177,"type":0},{"idA":158,"idB":178,"type":0},{"idA":158,"idB":179,"type":0},{"idA":158,"idB":180,"type":0},{"idA":158,"idB":181,"type":0},{"idA":158,"idB":182,"type":0},{"idA":158,"idB":183,"type":0},{"idA":158,"idB":184,"type":0},{"idA":158,"idB":186,"type":0},{"idA":158,"idB":187,"type":0},{"idA":158,"idB":188,"type":0},{"idA":158,"idB":189,"type":0},{"idA":159,"idB":160,"type":0},{"idA":159,"idB":161,"type":0},{"idA":159,"idB":162,"type":0},{"idA":159,"idB":163,"type":0},{"idA":159,"idB":164,"type":0},{"idA":159,"idB":166,"type":0},{"idA":159,"idB":167,"type":0},{"idA":159,"idB":168,"type":0},{"idA":159,"idB":169,"type":0},{"idA":159,"idB":170,"type":0},{"idA":159,"idB":171,"type":0},{"idA":159,"idB":172,"type":0},{"idA":159,"idB":173,"type":0},{"idA":159,"idB":174,"type":0},{"idA":159,"idB":175,"type":0},{"idA":159,"idB":176,"type":0},{"idA":159,"idB":177,"type":0},{"idA":159,"idB":178,"type":0},{"idA":159,"idB":179,"type":0},{"idA":159,"idB":180,"type":0},{"idA":159,"idB":181,"type":0},{"idA":159,"idB":182,"type":0},{"idA":159,"idB":183,"type":0},{"idA":159,"idB":184,"type":0},{"idA":159,"idB":186,"type":0},{"idA":159,"idB":187,"type":0},{"idA":159,"idB":188,"type":0},{"idA":159,"idB":189,"type":0},{"idA":160,"idB":161,"type":0},{"idA":160,"idB":162,"type":0},{"idA":160,"idB":163,"type":0},{"idA":160,"idB":164,"type":0},{"idA":160,"idB":166,"type":0},{"idA":160,"idB":167,"type":0},{"idA":160,"idB":168,"type":0},{"idA":160,"idB":169,"type":0},{"idA":160,"idB":170,"type":0},{"idA":160,"idB":171,"type":0},{"idA":160,"idB":172,"type":0},{"idA":160,"idB":173,"type":0},{"idA":160,"idB":174,"type":0},{"idA":160,"idB":175,"type":0},{"idA":160,"idB":176,"type":0},{"idA":160,"idB":177,"type":0},{"idA":160,"idB":178,"type":0},{"idA":160,"idB":179,"type":0},{"idA":160,"idB":180,"type":0},{"idA":160,"idB":181,"type":0},{"idA":160,"idB":182,"type":0},{"idA":160,"idB":183,"type":0},{"idA":160,"idB":184,"type":0},{"idA":160,"idB":186,"type":0},{"idA":160,"idB":187,"type":0},{"idA":160,"idB":188,"type":0},{"idA":160,"idB":189,"type":0},{"idA":161,"idB":162,"type":0},{"idA":161,"idB":163,"type":0},{"idA":161,"idB":164,"type":0},{"idA":161,"idB":166,"type":0},{"idA":161,"idB":167,"type":0},{"idA":161,"idB":168,"type":0},{"idA":161,"idB":169,"type":0},{"idA":161,"idB":170,"type":0},{"idA":161,"idB":171,"type":0},{"idA":161,"idB":172,"type":0},{"idA":161,"idB":173,"type":0},{"idA":161,"idB":174,"type":0},{"idA":161,"idB":175,"type":0},{"idA":161,"idB":176,"type":0},{"idA":161,"idB":177,"type":0},{"idA":161,"idB":178,"type":0},{"idA":161,"idB":179,"type":0},{"idA":161,"idB":180,"type":0},{"idA":161,"idB":181,"type":0},{"idA":161,"idB":182,"type":0},{"idA":161,"idB":183,"type":0},{"idA":161,"idB":184,"type":0},{"idA":161,"idB":186,"type":0},{"idA":161,"idB":187,"type":0},{"idA":161,"idB":188,"type":0},{"idA":161,"idB":189,"type":0},{"idA":162,"idB":163,"type":0},{"idA":162,"idB":164,"type":0},{"idA":162,"idB":166,"type":0},{"idA":162,"idB":167,"type":0},{"idA":162,"idB":168,"type":0},{"idA":162,"idB":169,"type":0},{"idA":162,"idB":170,"type":0},{"idA":162,"idB":171,"type":0},{"idA":162,"idB":172,"type":0},{"idA":162,"idB":173,"type":0},{"idA":162,"idB":174,"type":0},{"idA":162,"idB":175,"type":0},{"idA":162,"idB":176,"type":0},{"idA":162,"idB":177,"type":0},{"idA":162,"idB":178,"type":0},{"idA":162,"idB":179,"type":0},{"idA":162,"idB":180,"type":0},{"idA":162,"idB":181,"type":0},{"idA":162,"idB":182,"type":0},{"idA":162,"idB":183,"type":0},{"idA":162,"idB":184,"type":0},{"idA":162,"idB":186,"type":0},{"idA":162,"idB":187,"type":0},{"idA":162,"idB":188,"type":0},{"idA":162,"idB":189,"type":0},{"idA":163,"idB":164,"type":0},{"idA":163,"idB":166,"type":0},{"idA":163,"idB":167,"type":0},{"idA":163,"idB":168,"type":0},{"idA":163,"idB":169,"type":0},{"idA":163,"idB":170,"type":0},{"idA":163,"idB":171,"type":0},{"idA":163,"idB":172,"type":0},{"idA":163,"idB":173,"type":0},{"idA":163,"idB":174,"type":0},{"idA":163,"idB":175,"type":0},{"idA":163,"idB":176,"type":0},{"idA":163,"idB":177,"type":0},{"idA":163,"idB":178,"type":0},{"idA":163,"idB":179,"type":0},{"idA":163,"idB":180,"type":0},{"idA":163,"idB":181,"type":0},{"idA":163,"idB":182,"type":0},{"idA":163,"idB":183,"type":0},{"idA":163,"idB":184,"type":0},{"idA":163,"idB":186,"type":0},{"idA":163,"idB":187,"type":0},{"idA":163,"idB":188,"type":0},{"idA":163,"idB":189,"type":0},{"idA":164,"idB":166,"type":0},{"idA":164,"idB":167,"type":0},{"idA":164,"idB":168,"type":0},{"idA":164,"idB":169,"type":0},{"idA":164,"idB":170,"type":0},{"idA":164,"idB":171,"type":0},{"idA":164,"idB":172,"type":0},{"idA":164,"idB":173,"type":0},{"idA":164,"idB":174,"type":0},{"idA":164,"idB":175,"type":0},{"idA":164,"idB":176,"type":0},{"idA":164,"idB":177,"type":0},{"idA":164,"idB":178,"type":0},{"idA":164,"idB":179,"type":0},{"idA":164,"idB":180,"type":0},{"idA":164,"idB":181,"type":0},{"idA":164,"idB":182,"type":0},{"idA":164,"idB":183,"type":0},{"idA":164,"idB":184,"type":0},{"idA":164,"idB":186,"type":0},{"idA":164,"idB":187,"type":0},{"idA":164,"idB":188,"type":0},{"idA":164,"idB":189,"type":0},{"idA":166,"idB":167,"type":0},{"idA":166,"idB":168,"type":0},{"idA":166,"idB":169,"type":0},{"idA":166,"idB":170,"type":0},{"idA":166,"idB":171,"type":0},{"idA":166,"idB":172,"type":0},{"idA":166,"idB":173,"type":0},{"idA":166,"idB":174,"type":0},{"idA":166,"idB":175,"type":0},{"idA":166,"idB":176,"type":0},{"idA":166,"idB":177,"type":0},{"idA":166,"idB":178,"type":0},{"idA":166,"idB":179,"type":0},{"idA":166,"idB":180,"type":0},{"idA":166,"idB":181,"type":0},{"idA":166,"idB":182,"type":0},{"idA":166,"idB":183,"type":0},{"idA":166,"idB":184,"type":0},{"idA":166,"idB":186,"type":0},{"idA":166,"idB":187,"type":0},{"idA":166,"idB":188,"type":0},{"idA":166,"idB":189,"type":0},{"idA":167,"idB":168,"type":0},{"idA":167,"idB":169,"type":0},{"idA":167,"idB":170,"type":0},{"idA":167,"idB":171,"type":0},{"idA":167,"idB":172,"type":0},{"idA":167,"idB":173,"type":0},{"idA":167,"idB":174,"type":0},{"idA":167,"idB":175,"type":0},{"idA":167,"idB":176,"type":0},{"idA":167,"idB":177,"type":0},{"idA":167,"idB":178,"type":0},{"idA":167,"idB":179,"type":0},{"idA":167,"idB":180,"type":0},{"idA":167,"idB":181,"type":0},{"idA":167,"idB":182,"type":0},{"idA":167,"idB":183,"type":0},{"idA":167,"idB":184,"type":0},{"idA":167,"idB":186,"type":0},{"idA":167,"idB":187,"type":0},{"idA":167,"idB":188,"type":0},{"idA":167,"idB":189,"type":0},{"idA":168,"idB":169,"type":0},{"idA":168,"idB":170,"type":0},{"idA":168,"idB":171,"type":0},{"idA":168,"idB":172,"type":0},{"idA":168,"idB":173,"type":0},{"idA":168,"idB":174,"type":0},{"idA":168,"idB":175,"type":0},{"idA":168,"idB":176,"type":0},{"idA":168,"idB":177,"type":0},{"idA":168,"idB":178,"type":0},{"idA":168,"idB":179,"type":0},{"idA":168,"idB":180,"type":0},{"idA":168,"idB":181,"type":0},{"idA":168,"idB":182,"type":0},{"idA":168,"idB":183,"type":0},{"idA":168,"idB":184,"type":0},{"idA":168,"idB":186,"type":0},{"idA":168,"idB":187,"type":0},{"idA":168,"idB":188,"type":0},{"idA":168,"idB":189,"type":0},{"idA":169,"idB":170,"type":0},{"idA":169,"idB":171,"type":0},{"idA":169,"idB":172,"type":0},{"idA":169,"idB":173,"type":0},{"idA":169,"idB":174,"type":0},{"idA":169,"idB":175,"type":0},{"idA":169,"idB":176,"type":0},{"idA":169,"idB":177,"type":0},{"idA":169,"idB":178,"type":0},{"idA":169,"idB":179,"type":0},{"idA":169,"idB":180,"type":0},{"idA":169,"idB":181,"type":0},{"idA":169,"idB":182,"type":0},{"idA":169,"idB":183,"type":0},{"idA":169,"idB":184,"type":0},{"idA":169,"idB":186,"type":0},{"idA":169,"idB":187,"type":0},{"idA":169,"idB":188,"type":0},{"idA":169,"idB":189,"type":0},{"idA":170,"idB":171,"type":0},{"idA":170,"idB":172,"type":0},{"idA":170,"idB":173,"type":0},{"idA":170,"idB":174,"type":0},{"idA":170,"idB":175,"type":0},{"idA":170,"idB":176,"type":0},{"idA":170,"idB":177,"type":0},{"idA":170,"idB":178,"type":0},{"idA":170,"idB":179,"type":0},{"idA":170,"idB":180,"type":0},{"idA":170,"idB":181,"type":0},{"idA":170,"idB":182,"type":0},{"idA":170,"idB":183,"type":0},{"idA":170,"idB":184,"type":0},{"idA":170,"idB":186,"type":0},{"idA":170,"idB":187,"type":0},{"idA":170,"idB":188,"type":0},{"idA":170,"idB":189,"type":0},{"idA":171,"idB":172,"type":0},{"idA":171,"idB":173,"type":0},{"idA":171,"idB":174,"type":0},{"idA":171,"idB":175,"type":0},{"idA":171,"idB":176,"type":0},{"idA":171,"idB":177,"type":0},{"idA":171,"idB":178,"type":0},{"idA":171,"idB":179,"type":0},{"idA":171,"idB":180,"type":0},{"idA":171,"idB":181,"type":0},{"idA":171,"idB":182,"type":0},{"idA":171,"idB":183,"type":0},{"idA":171,"idB":184,"type":0},{"idA":171,"idB":186,"type":0},{"idA":171,"idB":187,"type":0},{"idA":171,"idB":188,"type":0},{"idA":171,"idB":189,"type":0},{"idA":172,"idB":173,"type":0},{"idA":172,"idB":174,"type":0},{"idA":172,"idB":175,"type":0},{"idA":172,"idB":176,"type":0},{"idA":172,"idB":177,"type":0},{"idA":172,"idB":178,"type":0},{"idA":172,"idB":179,"type":0},{"idA":172,"idB":180,"type":0},{"idA":172,"idB":181,"type":0},{"idA":172,"idB":182,"type":0},{"idA":172,"idB":183,"type":0},{"idA":172,"idB":184,"type":0},{"idA":172,"idB":186,"type":0},{"idA":172,"idB":187,"type":0},{"idA":172,"idB":188,"type":0},{"idA":172,"idB":189,"type":0},{"idA":173,"idB":174,"type":0},{"idA":173,"idB":175,"type":0},{"idA":173,"idB":176,"type":0},{"idA":173,"idB":177,"type":0},{"idA":173,"idB":178,"type":0},{"idA":173,"idB":179,"type":0},{"idA":173,"idB":180,"type":0},{"idA":173,"idB":181,"type":0},{"idA":173,"idB":182,"type":0},{"idA":173,"idB":183,"type":0},{"idA":173,"idB":184,"type":0},{"idA":173,"idB":186,"type":0},{"idA":173,"idB":187,"type":0},{"idA":173,"idB":188,"type":0},{"idA":173,"idB":189,"type":0},{"idA":174,"idB":175,"type":0},{"idA":174,"idB":176,"type":0},{"idA":174,"idB":177,"type":0},{"idA":174,"idB":178,"type":0},{"idA":174,"idB":179,"type":0},{"idA":174,"idB":180,"type":0},{"idA":174,"idB":181,"type":0},{"idA":174,"idB":182,"type":0},{"idA":174,"idB":183,"type":0},{"idA":174,"idB":184,"type":0},{"idA":174,"idB":186,"type":0},{"idA":174,"idB":187,"type":0},{"idA":174,"idB":188,"type":0},{"idA":174,"idB":189,"type":0},{"idA":175,"idB":176,"type":0},{"idA":175,"idB":177,"type":0},{"idA":175,"idB":178,"type":0},{"idA":175,"idB":179,"type":0},{"idA":175,"idB":180,"type":0},{"idA":175,"idB":181,"type":0},{"idA":175,"idB":182,"type":0},{"idA":175,"idB":183,"type":0},{"idA":175,"idB":184,"type":0},{"idA":175,"idB":186,"type":0},{"idA":175,"idB":187,"type":0},{"idA":175,"idB":188,"type":0},{"idA":175,"idB":189,"type":0},{"idA":176,"idB":177,"type":0},{"idA":176,"idB":178,"type":0},{"idA":176,"idB":179,"type":0},{"idA":176,"idB":180,"type":0},{"idA":176,"idB":181,"type":1},{"idA":176,"idB":182,"type":1},{"idA":176,"idB":183,"type":0},{"idA":176,"idB":184,"type":0},{"idA":176,"idB":186,"type":0},{"idA":176,"idB":187,"type":0},{"idA":176,"idB":188,"type":0},{"idA":176,"idB":189,"type":0},{"idA":177,"idB":178,"type":0},{"idA":177,"idB":179,"type":1},{"idA":177,"idB":180,"type":0},{"idA":177,"idB":181,"type":0},{"idA":177,"idB":182,"type":0},{"idA":177,"idB":183,"type":0},{"idA":177,"idB":184,"type":0},{"idA":177,"idB":186,"type":0},{"idA":177,"idB":187,"type":0},{"idA":177,"idB":188,"type":0},{"idA":177,"idB":189,"type":0},{"idA":178,"idB":179,"type":1},{"idA":178,"idB":180,"type":0},{"idA":178,"idB":181,"type":0},{"idA":178,"idB":182,"type":0},{"idA":178,"idB":183,"type":1},{"idA":178,"idB":184,"type":0},{"idA":178,"idB":186,"type":0},{"idA":178,"idB":187,"type":0},{"idA":178,"idB":188,"type":0},{"idA":178,"idB":189,"type":0},{"idA":179,"idB":180,"type":0},{"idA":179,"idB":181,"type":0},{"idA":179,"idB":182,"type":0},{"idA":179,"idB":183,"type":0},{"idA":179,"idB":184,"type":0},{"idA":179,"idB":186,"type":0},{"idA":179,"idB":187,"type":0},{"idA":179,"idB":188,"type":0},{"idA":179,"idB":189,"type":0},{"idA":180,"idB":181,"type":0},{"idA":180,"idB":182,"type":1},{"idA":180,"idB":183,"type":0},{"idA":180,"idB":184,"type":0},{"idA":180,"idB":186,"type":0},{"idA":180,"idB":187,"type":0},{"idA":180,"idB":188,"type":0},{"idA":180,"idB":189,"type":0},{"idA":181,"idB":182,"type":0},{"idA":181,"idB":183,"type":0},{"idA":181,"idB":184,"type":0},{"idA":181,"idB":186,"type":0},{"idA":181,"idB":187,"type":0},{"idA":181,"idB":188,"type":0},{"idA":181,"idB":189,"type":0},{"idA":182,"idB":183,"type":0},{"idA":182,"idB":184,"type":0},{"idA":182,"idB":186,"type":0},{"idA":182,"idB":187,"type":0},{"idA":182,"idB":188,"type":0},{"idA":182,"idB":189,"type":0},{"idA":183,"idB":184,"type":0},{"idA":183,"idB":186,"type":0},{"idA":183,"idB":187,"type":0},{"idA":183,"idB":188,"type":0},{"idA":183,"idB":189,"type":0},{"idA":184,"idB":186,"type":0},{"idA":184,"idB":187,"type":0},{"idA":184,"idB":188,"type":0},{"idA":184,"idB":189,"type":0},{"idA":186,"idB":187,"type":0},{"idA":186,"idB":188,"type":0},{"idA":186,"idB":189,"type":0},{"idA":187,"idB":188,"type":0},{"idA":187,"idB":189,"type":0},{"idA":188,"idB":189,"type":0}]} +{"subject":{"id":3,"name":"Clarisse","surveys":["facebook","phone"],"creation":1479898736},"contacts":[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,92],"relations":[{"idA":1,"idB":48,"type":6},{"idA":1,"idB":49,"type":6},{"idA":1,"idB":50,"type":6},{"idA":1,"idB":51,"type":6},{"idA":1,"idB":52,"type":6},{"idA":1,"idB":53,"type":6},{"idA":1,"idB":54,"type":6},{"idA":1,"idB":55,"type":6},{"idA":1,"idB":56,"type":6},{"idA":1,"idB":57,"type":6},{"idA":1,"idB":58,"type":6},{"idA":1,"idB":59,"type":6},{"idA":1,"idB":60,"type":6},{"idA":1,"idB":61,"type":6},{"idA":1,"idB":62,"type":6},{"idA":1,"idB":63,"type":6},{"idA":1,"idB":64,"type":6},{"idA":1,"idB":65,"type":6},{"idA":1,"idB":66,"type":6},{"idA":1,"idB":67,"type":6},{"idA":1,"idB":69,"type":7},{"idA":1,"idB":70,"type":7},{"idA":1,"idB":71,"type":7},{"idA":1,"idB":72,"type":7},{"idA":1,"idB":73,"type":7},{"idA":1,"idB":74,"type":7},{"idA":1,"idB":75,"type":7},{"idA":1,"idB":76,"type":7},{"idA":1,"idB":77,"type":7},{"idA":1,"idB":78,"type":7},{"idA":1,"idB":79,"type":7},{"idA":1,"idB":80,"type":7},{"idA":1,"idB":81,"type":7},{"idA":1,"idB":82,"type":7},{"idA":1,"idB":83,"type":7},{"idA":1,"idB":84,"type":7},{"idA":1,"idB":85,"type":7},{"idA":1,"idB":86,"type":7},{"idA":1,"idB":87,"type":7},{"idA":1,"idB":89,"type":3},{"idA":1,"idB":90,"type":3},{"idA":1,"idB":91,"type":3},{"idA":1,"idB":92,"type":3},{"idA":48,"idB":49,"type":1},{"idA":48,"idB":50,"type":0},{"idA":48,"idB":51,"type":0},{"idA":48,"idB":52,"type":0},{"idA":48,"idB":53,"type":0},{"idA":48,"idB":54,"type":0},{"idA":48,"idB":55,"type":0},{"idA":48,"idB":56,"type":0},{"idA":48,"idB":57,"type":0},{"idA":48,"idB":58,"type":0},{"idA":48,"idB":59,"type":1},{"idA":48,"idB":60,"type":0},{"idA":48,"idB":61,"type":0},{"idA":48,"idB":62,"type":0},{"idA":48,"idB":63,"type":0},{"idA":48,"idB":64,"type":0},{"idA":48,"idB":65,"type":0},{"idA":48,"idB":66,"type":0},{"idA":48,"idB":67,"type":0},{"idA":48,"idB":69,"type":0},{"idA":48,"idB":70,"type":0},{"idA":48,"idB":71,"type":0},{"idA":48,"idB":72,"type":0},{"idA":48,"idB":73,"type":1},{"idA":48,"idB":74,"type":0},{"idA":48,"idB":75,"type":0},{"idA":48,"idB":76,"type":1},{"idA":48,"idB":77,"type":0},{"idA":48,"idB":78,"type":0},{"idA":48,"idB":79,"type":0},{"idA":48,"idB":80,"type":0},{"idA":48,"idB":81,"type":0},{"idA":48,"idB":82,"type":0},{"idA":48,"idB":83,"type":0},{"idA":48,"idB":84,"type":0},{"idA":48,"idB":85,"type":0},{"idA":48,"idB":86,"type":0},{"idA":48,"idB":87,"type":0},{"idA":48,"idB":89,"type":0},{"idA":48,"idB":90,"type":0},{"idA":48,"idB":91,"type":0},{"idA":48,"idB":92,"type":0},{"idA":49,"idB":50,"type":0},{"idA":49,"idB":51,"type":0},{"idA":49,"idB":52,"type":0},{"idA":49,"idB":53,"type":0},{"idA":49,"idB":54,"type":0},{"idA":49,"idB":55,"type":0},{"idA":49,"idB":56,"type":0},{"idA":49,"idB":57,"type":0},{"idA":49,"idB":58,"type":0},{"idA":49,"idB":59,"type":0},{"idA":49,"idB":60,"type":0},{"idA":49,"idB":61,"type":0},{"idA":49,"idB":62,"type":0},{"idA":49,"idB":63,"type":0},{"idA":49,"idB":64,"type":0},{"idA":49,"idB":65,"type":0},{"idA":49,"idB":66,"type":0},{"idA":49,"idB":67,"type":0},{"idA":49,"idB":69,"type":0},{"idA":49,"idB":70,"type":0},{"idA":49,"idB":71,"type":0},{"idA":49,"idB":72,"type":0},{"idA":49,"idB":73,"type":0},{"idA":49,"idB":74,"type":0},{"idA":49,"idB":75,"type":0},{"idA":49,"idB":76,"type":0},{"idA":49,"idB":77,"type":0},{"idA":49,"idB":78,"type":0},{"idA":49,"idB":79,"type":0},{"idA":49,"idB":80,"type":0},{"idA":49,"idB":81,"type":0},{"idA":49,"idB":82,"type":0},{"idA":49,"idB":83,"type":0},{"idA":49,"idB":84,"type":0},{"idA":49,"idB":85,"type":0},{"idA":49,"idB":86,"type":0},{"idA":49,"idB":87,"type":0},{"idA":49,"idB":89,"type":0},{"idA":49,"idB":90,"type":0},{"idA":49,"idB":91,"type":0},{"idA":49,"idB":92,"type":0},{"idA":50,"idB":51,"type":0},{"idA":50,"idB":52,"type":0},{"idA":50,"idB":53,"type":0},{"idA":50,"idB":54,"type":0},{"idA":50,"idB":55,"type":0},{"idA":50,"idB":56,"type":0},{"idA":50,"idB":57,"type":0},{"idA":50,"idB":58,"type":0},{"idA":50,"idB":59,"type":0},{"idA":50,"idB":60,"type":0},{"idA":50,"idB":61,"type":0},{"idA":50,"idB":62,"type":0},{"idA":50,"idB":63,"type":0},{"idA":50,"idB":64,"type":0},{"idA":50,"idB":65,"type":0},{"idA":50,"idB":66,"type":0},{"idA":50,"idB":67,"type":0},{"idA":50,"idB":69,"type":0},{"idA":50,"idB":70,"type":0},{"idA":50,"idB":71,"type":0},{"idA":50,"idB":72,"type":0},{"idA":50,"idB":73,"type":0},{"idA":50,"idB":74,"type":0},{"idA":50,"idB":75,"type":0},{"idA":50,"idB":76,"type":0},{"idA":50,"idB":77,"type":0},{"idA":50,"idB":78,"type":0},{"idA":50,"idB":79,"type":0},{"idA":50,"idB":80,"type":0},{"idA":50,"idB":81,"type":0},{"idA":50,"idB":82,"type":0},{"idA":50,"idB":83,"type":0},{"idA":50,"idB":84,"type":0},{"idA":50,"idB":85,"type":0},{"idA":50,"idB":86,"type":0},{"idA":50,"idB":87,"type":0},{"idA":50,"idB":89,"type":0},{"idA":50,"idB":90,"type":0},{"idA":50,"idB":91,"type":0},{"idA":50,"idB":92,"type":0},{"idA":51,"idB":52,"type":0},{"idA":51,"idB":53,"type":0},{"idA":51,"idB":54,"type":0},{"idA":51,"idB":55,"type":0},{"idA":51,"idB":56,"type":0},{"idA":51,"idB":57,"type":0},{"idA":51,"idB":58,"type":0},{"idA":51,"idB":59,"type":0},{"idA":51,"idB":60,"type":0},{"idA":51,"idB":61,"type":0},{"idA":51,"idB":62,"type":0},{"idA":51,"idB":63,"type":0},{"idA":51,"idB":64,"type":0},{"idA":51,"idB":65,"type":0},{"idA":51,"idB":66,"type":0},{"idA":51,"idB":67,"type":0},{"idA":51,"idB":69,"type":0},{"idA":51,"idB":70,"type":0},{"idA":51,"idB":71,"type":0},{"idA":51,"idB":72,"type":0},{"idA":51,"idB":73,"type":0},{"idA":51,"idB":74,"type":0},{"idA":51,"idB":75,"type":0},{"idA":51,"idB":76,"type":0},{"idA":51,"idB":77,"type":0},{"idA":51,"idB":78,"type":0},{"idA":51,"idB":79,"type":0},{"idA":51,"idB":80,"type":0},{"idA":51,"idB":81,"type":0},{"idA":51,"idB":82,"type":0},{"idA":51,"idB":83,"type":0},{"idA":51,"idB":84,"type":0},{"idA":51,"idB":85,"type":0},{"idA":51,"idB":86,"type":0},{"idA":51,"idB":87,"type":0},{"idA":51,"idB":89,"type":0},{"idA":51,"idB":90,"type":0},{"idA":51,"idB":91,"type":0},{"idA":51,"idB":92,"type":0},{"idA":52,"idB":53,"type":0},{"idA":52,"idB":54,"type":0},{"idA":52,"idB":55,"type":0},{"idA":52,"idB":56,"type":0},{"idA":52,"idB":57,"type":0},{"idA":52,"idB":58,"type":0},{"idA":52,"idB":59,"type":0},{"idA":52,"idB":60,"type":0},{"idA":52,"idB":61,"type":0},{"idA":52,"idB":62,"type":0},{"idA":52,"idB":63,"type":0},{"idA":52,"idB":64,"type":1},{"idA":52,"idB":65,"type":0},{"idA":52,"idB":66,"type":0},{"idA":52,"idB":67,"type":0},{"idA":52,"idB":69,"type":0},{"idA":52,"idB":70,"type":0},{"idA":52,"idB":71,"type":0},{"idA":52,"idB":72,"type":0},{"idA":52,"idB":73,"type":0},{"idA":52,"idB":74,"type":1},{"idA":52,"idB":75,"type":0},{"idA":52,"idB":76,"type":0},{"idA":52,"idB":77,"type":0},{"idA":52,"idB":78,"type":0},{"idA":52,"idB":79,"type":0},{"idA":52,"idB":80,"type":0},{"idA":52,"idB":81,"type":0},{"idA":52,"idB":82,"type":0},{"idA":52,"idB":83,"type":0},{"idA":52,"idB":84,"type":0},{"idA":52,"idB":85,"type":0},{"idA":52,"idB":86,"type":0},{"idA":52,"idB":87,"type":0},{"idA":52,"idB":89,"type":0},{"idA":52,"idB":90,"type":0},{"idA":52,"idB":91,"type":0},{"idA":52,"idB":92,"type":0},{"idA":53,"idB":54,"type":0},{"idA":53,"idB":55,"type":0},{"idA":53,"idB":56,"type":0},{"idA":53,"idB":57,"type":0},{"idA":53,"idB":58,"type":0},{"idA":53,"idB":59,"type":1},{"idA":53,"idB":60,"type":0},{"idA":53,"idB":61,"type":0},{"idA":53,"idB":62,"type":0},{"idA":53,"idB":63,"type":0},{"idA":53,"idB":64,"type":0},{"idA":53,"idB":65,"type":0},{"idA":53,"idB":66,"type":0},{"idA":53,"idB":67,"type":0},{"idA":53,"idB":69,"type":0},{"idA":53,"idB":70,"type":0},{"idA":53,"idB":71,"type":1},{"idA":53,"idB":72,"type":0},{"idA":53,"idB":73,"type":0},{"idA":53,"idB":74,"type":0},{"idA":53,"idB":75,"type":1},{"idA":53,"idB":76,"type":0},{"idA":53,"idB":77,"type":0},{"idA":53,"idB":78,"type":0},{"idA":53,"idB":79,"type":0},{"idA":53,"idB":80,"type":0},{"idA":53,"idB":81,"type":0},{"idA":53,"idB":82,"type":0},{"idA":53,"idB":83,"type":0},{"idA":53,"idB":84,"type":0},{"idA":53,"idB":85,"type":0},{"idA":53,"idB":86,"type":0},{"idA":53,"idB":87,"type":0},{"idA":53,"idB":89,"type":0},{"idA":53,"idB":90,"type":0},{"idA":53,"idB":91,"type":0},{"idA":53,"idB":92,"type":0},{"idA":54,"idB":55,"type":0},{"idA":54,"idB":56,"type":0},{"idA":54,"idB":57,"type":0},{"idA":54,"idB":58,"type":0},{"idA":54,"idB":59,"type":0},{"idA":54,"idB":60,"type":0},{"idA":54,"idB":61,"type":0},{"idA":54,"idB":62,"type":0},{"idA":54,"idB":63,"type":0},{"idA":54,"idB":64,"type":0},{"idA":54,"idB":65,"type":0},{"idA":54,"idB":66,"type":0},{"idA":54,"idB":67,"type":0},{"idA":54,"idB":69,"type":0},{"idA":54,"idB":70,"type":0},{"idA":54,"idB":71,"type":0},{"idA":54,"idB":72,"type":0},{"idA":54,"idB":73,"type":0},{"idA":54,"idB":74,"type":0},{"idA":54,"idB":75,"type":0},{"idA":54,"idB":76,"type":0},{"idA":54,"idB":77,"type":0},{"idA":54,"idB":78,"type":0},{"idA":54,"idB":79,"type":0},{"idA":54,"idB":80,"type":0},{"idA":54,"idB":81,"type":0},{"idA":54,"idB":82,"type":0},{"idA":54,"idB":83,"type":0},{"idA":54,"idB":84,"type":0},{"idA":54,"idB":85,"type":0},{"idA":54,"idB":86,"type":0},{"idA":54,"idB":87,"type":0},{"idA":54,"idB":89,"type":0},{"idA":54,"idB":90,"type":0},{"idA":54,"idB":91,"type":0},{"idA":54,"idB":92,"type":0},{"idA":55,"idB":56,"type":0},{"idA":55,"idB":57,"type":0},{"idA":55,"idB":58,"type":0},{"idA":55,"idB":59,"type":0},{"idA":55,"idB":60,"type":0},{"idA":55,"idB":61,"type":0},{"idA":55,"idB":62,"type":0},{"idA":55,"idB":63,"type":0},{"idA":55,"idB":64,"type":0},{"idA":55,"idB":65,"type":0},{"idA":55,"idB":66,"type":0},{"idA":55,"idB":67,"type":0},{"idA":55,"idB":69,"type":0},{"idA":55,"idB":70,"type":0},{"idA":55,"idB":71,"type":0},{"idA":55,"idB":72,"type":0},{"idA":55,"idB":73,"type":0},{"idA":55,"idB":74,"type":0},{"idA":55,"idB":75,"type":0},{"idA":55,"idB":76,"type":0},{"idA":55,"idB":77,"type":0},{"idA":55,"idB":78,"type":0},{"idA":55,"idB":79,"type":0},{"idA":55,"idB":80,"type":0},{"idA":55,"idB":81,"type":0},{"idA":55,"idB":82,"type":0},{"idA":55,"idB":83,"type":0},{"idA":55,"idB":84,"type":0},{"idA":55,"idB":85,"type":0},{"idA":55,"idB":86,"type":0},{"idA":55,"idB":87,"type":0},{"idA":55,"idB":89,"type":0},{"idA":55,"idB":90,"type":0},{"idA":55,"idB":91,"type":0},{"idA":55,"idB":92,"type":0},{"idA":56,"idB":57,"type":0},{"idA":56,"idB":58,"type":0},{"idA":56,"idB":59,"type":0},{"idA":56,"idB":60,"type":0},{"idA":56,"idB":61,"type":0},{"idA":56,"idB":62,"type":0},{"idA":56,"idB":63,"type":0},{"idA":56,"idB":64,"type":0},{"idA":56,"idB":65,"type":0},{"idA":56,"idB":66,"type":0},{"idA":56,"idB":67,"type":0},{"idA":56,"idB":69,"type":0},{"idA":56,"idB":70,"type":0},{"idA":56,"idB":71,"type":0},{"idA":56,"idB":72,"type":0},{"idA":56,"idB":73,"type":0},{"idA":56,"idB":74,"type":0},{"idA":56,"idB":75,"type":0},{"idA":56,"idB":76,"type":0},{"idA":56,"idB":77,"type":0},{"idA":56,"idB":78,"type":0},{"idA":56,"idB":79,"type":0},{"idA":56,"idB":80,"type":0},{"idA":56,"idB":81,"type":0},{"idA":56,"idB":82,"type":0},{"idA":56,"idB":83,"type":0},{"idA":56,"idB":84,"type":0},{"idA":56,"idB":85,"type":0},{"idA":56,"idB":86,"type":0},{"idA":56,"idB":87,"type":0},{"idA":56,"idB":89,"type":0},{"idA":56,"idB":90,"type":0},{"idA":56,"idB":91,"type":0},{"idA":56,"idB":92,"type":0},{"idA":57,"idB":58,"type":0},{"idA":57,"idB":59,"type":0},{"idA":57,"idB":60,"type":0},{"idA":57,"idB":61,"type":0},{"idA":57,"idB":62,"type":0},{"idA":57,"idB":63,"type":0},{"idA":57,"idB":64,"type":0},{"idA":57,"idB":65,"type":0},{"idA":57,"idB":66,"type":0},{"idA":57,"idB":67,"type":0},{"idA":57,"idB":69,"type":0},{"idA":57,"idB":70,"type":0},{"idA":57,"idB":71,"type":0},{"idA":57,"idB":72,"type":0},{"idA":57,"idB":73,"type":0},{"idA":57,"idB":74,"type":0},{"idA":57,"idB":75,"type":0},{"idA":57,"idB":76,"type":0},{"idA":57,"idB":77,"type":0},{"idA":57,"idB":78,"type":0},{"idA":57,"idB":79,"type":0},{"idA":57,"idB":80,"type":0},{"idA":57,"idB":81,"type":0},{"idA":57,"idB":82,"type":0},{"idA":57,"idB":83,"type":0},{"idA":57,"idB":84,"type":0},{"idA":57,"idB":85,"type":0},{"idA":57,"idB":86,"type":0},{"idA":57,"idB":87,"type":0},{"idA":57,"idB":89,"type":0},{"idA":57,"idB":90,"type":0},{"idA":57,"idB":91,"type":0},{"idA":57,"idB":92,"type":0},{"idA":58,"idB":59,"type":0},{"idA":58,"idB":60,"type":0},{"idA":58,"idB":61,"type":0},{"idA":58,"idB":62,"type":0},{"idA":58,"idB":63,"type":0},{"idA":58,"idB":64,"type":0},{"idA":58,"idB":65,"type":0},{"idA":58,"idB":66,"type":0},{"idA":58,"idB":67,"type":0},{"idA":58,"idB":69,"type":0},{"idA":58,"idB":70,"type":0},{"idA":58,"idB":71,"type":0},{"idA":58,"idB":72,"type":0},{"idA":58,"idB":73,"type":0},{"idA":58,"idB":74,"type":0},{"idA":58,"idB":75,"type":0},{"idA":58,"idB":76,"type":0},{"idA":58,"idB":77,"type":0},{"idA":58,"idB":78,"type":0},{"idA":58,"idB":79,"type":0},{"idA":58,"idB":80,"type":0},{"idA":58,"idB":81,"type":0},{"idA":58,"idB":82,"type":0},{"idA":58,"idB":83,"type":0},{"idA":58,"idB":84,"type":0},{"idA":58,"idB":85,"type":0},{"idA":58,"idB":86,"type":0},{"idA":58,"idB":87,"type":0},{"idA":58,"idB":89,"type":0},{"idA":58,"idB":90,"type":0},{"idA":58,"idB":91,"type":0},{"idA":58,"idB":92,"type":0},{"idA":59,"idB":60,"type":0},{"idA":59,"idB":61,"type":0},{"idA":59,"idB":62,"type":0},{"idA":59,"idB":63,"type":0},{"idA":59,"idB":64,"type":0},{"idA":59,"idB":65,"type":0},{"idA":59,"idB":66,"type":0},{"idA":59,"idB":67,"type":0},{"idA":59,"idB":69,"type":0},{"idA":59,"idB":70,"type":0},{"idA":59,"idB":71,"type":0},{"idA":59,"idB":72,"type":0},{"idA":59,"idB":73,"type":0},{"idA":59,"idB":74,"type":0},{"idA":59,"idB":75,"type":0},{"idA":59,"idB":76,"type":0},{"idA":59,"idB":77,"type":0},{"idA":59,"idB":78,"type":0},{"idA":59,"idB":79,"type":0},{"idA":59,"idB":80,"type":0},{"idA":59,"idB":81,"type":0},{"idA":59,"idB":82,"type":0},{"idA":59,"idB":83,"type":0},{"idA":59,"idB":84,"type":0},{"idA":59,"idB":85,"type":0},{"idA":59,"idB":86,"type":0},{"idA":59,"idB":87,"type":0},{"idA":59,"idB":89,"type":0},{"idA":59,"idB":90,"type":0},{"idA":59,"idB":91,"type":0},{"idA":59,"idB":92,"type":0},{"idA":60,"idB":61,"type":0},{"idA":60,"idB":62,"type":0},{"idA":60,"idB":63,"type":0},{"idA":60,"idB":64,"type":0},{"idA":60,"idB":65,"type":0},{"idA":60,"idB":66,"type":0},{"idA":60,"idB":67,"type":0},{"idA":60,"idB":69,"type":0},{"idA":60,"idB":70,"type":0},{"idA":60,"idB":71,"type":0},{"idA":60,"idB":72,"type":0},{"idA":60,"idB":73,"type":0},{"idA":60,"idB":74,"type":0},{"idA":60,"idB":75,"type":0},{"idA":60,"idB":76,"type":0},{"idA":60,"idB":77,"type":0},{"idA":60,"idB":78,"type":0},{"idA":60,"idB":79,"type":0},{"idA":60,"idB":80,"type":0},{"idA":60,"idB":81,"type":0},{"idA":60,"idB":82,"type":0},{"idA":60,"idB":83,"type":0},{"idA":60,"idB":84,"type":0},{"idA":60,"idB":85,"type":0},{"idA":60,"idB":86,"type":0},{"idA":60,"idB":87,"type":0},{"idA":60,"idB":89,"type":0},{"idA":60,"idB":90,"type":0},{"idA":60,"idB":91,"type":0},{"idA":60,"idB":92,"type":0},{"idA":61,"idB":62,"type":0},{"idA":61,"idB":63,"type":0},{"idA":61,"idB":64,"type":0},{"idA":61,"idB":65,"type":0},{"idA":61,"idB":66,"type":0},{"idA":61,"idB":67,"type":0},{"idA":61,"idB":69,"type":0},{"idA":61,"idB":70,"type":0},{"idA":61,"idB":71,"type":0},{"idA":61,"idB":72,"type":0},{"idA":61,"idB":73,"type":0},{"idA":61,"idB":74,"type":0},{"idA":61,"idB":75,"type":0},{"idA":61,"idB":76,"type":0},{"idA":61,"idB":77,"type":0},{"idA":61,"idB":78,"type":0},{"idA":61,"idB":79,"type":0},{"idA":61,"idB":80,"type":0},{"idA":61,"idB":81,"type":0},{"idA":61,"idB":82,"type":0},{"idA":61,"idB":83,"type":0},{"idA":61,"idB":84,"type":0},{"idA":61,"idB":85,"type":0},{"idA":61,"idB":86,"type":0},{"idA":61,"idB":87,"type":0},{"idA":61,"idB":89,"type":0},{"idA":61,"idB":90,"type":0},{"idA":61,"idB":91,"type":0},{"idA":61,"idB":92,"type":0},{"idA":62,"idB":63,"type":0},{"idA":62,"idB":64,"type":0},{"idA":62,"idB":65,"type":0},{"idA":62,"idB":66,"type":0},{"idA":62,"idB":67,"type":0},{"idA":62,"idB":69,"type":0},{"idA":62,"idB":70,"type":0},{"idA":62,"idB":71,"type":0},{"idA":62,"idB":72,"type":0},{"idA":62,"idB":73,"type":0},{"idA":62,"idB":74,"type":0},{"idA":62,"idB":75,"type":0},{"idA":62,"idB":76,"type":0},{"idA":62,"idB":77,"type":0},{"idA":62,"idB":78,"type":0},{"idA":62,"idB":79,"type":0},{"idA":62,"idB":80,"type":0},{"idA":62,"idB":81,"type":0},{"idA":62,"idB":82,"type":0},{"idA":62,"idB":83,"type":0},{"idA":62,"idB":84,"type":0},{"idA":62,"idB":85,"type":0},{"idA":62,"idB":86,"type":0},{"idA":62,"idB":87,"type":0},{"idA":62,"idB":89,"type":0},{"idA":62,"idB":90,"type":0},{"idA":62,"idB":91,"type":0},{"idA":62,"idB":92,"type":0},{"idA":63,"idB":64,"type":0},{"idA":63,"idB":65,"type":0},{"idA":63,"idB":66,"type":0},{"idA":63,"idB":67,"type":0},{"idA":63,"idB":69,"type":0},{"idA":63,"idB":70,"type":0},{"idA":63,"idB":71,"type":0},{"idA":63,"idB":72,"type":0},{"idA":63,"idB":73,"type":0},{"idA":63,"idB":74,"type":0},{"idA":63,"idB":75,"type":0},{"idA":63,"idB":76,"type":0},{"idA":63,"idB":77,"type":0},{"idA":63,"idB":78,"type":0},{"idA":63,"idB":79,"type":0},{"idA":63,"idB":80,"type":0},{"idA":63,"idB":81,"type":0},{"idA":63,"idB":82,"type":0},{"idA":63,"idB":83,"type":0},{"idA":63,"idB":84,"type":0},{"idA":63,"idB":85,"type":0},{"idA":63,"idB":86,"type":0},{"idA":63,"idB":87,"type":0},{"idA":63,"idB":89,"type":0},{"idA":63,"idB":90,"type":0},{"idA":63,"idB":91,"type":0},{"idA":63,"idB":92,"type":0},{"idA":64,"idB":65,"type":0},{"idA":64,"idB":66,"type":0},{"idA":64,"idB":67,"type":0},{"idA":64,"idB":69,"type":0},{"idA":64,"idB":70,"type":0},{"idA":64,"idB":71,"type":0},{"idA":64,"idB":72,"type":0},{"idA":64,"idB":73,"type":0},{"idA":64,"idB":74,"type":0},{"idA":64,"idB":75,"type":0},{"idA":64,"idB":76,"type":0},{"idA":64,"idB":77,"type":0},{"idA":64,"idB":78,"type":0},{"idA":64,"idB":79,"type":0},{"idA":64,"idB":80,"type":0},{"idA":64,"idB":81,"type":0},{"idA":64,"idB":82,"type":0},{"idA":64,"idB":83,"type":0},{"idA":64,"idB":84,"type":0},{"idA":64,"idB":85,"type":0},{"idA":64,"idB":86,"type":0},{"idA":64,"idB":87,"type":0},{"idA":64,"idB":89,"type":0},{"idA":64,"idB":90,"type":0},{"idA":64,"idB":91,"type":0},{"idA":64,"idB":92,"type":0},{"idA":65,"idB":66,"type":0},{"idA":65,"idB":67,"type":0},{"idA":65,"idB":69,"type":0},{"idA":65,"idB":70,"type":0},{"idA":65,"idB":71,"type":0},{"idA":65,"idB":72,"type":0},{"idA":65,"idB":73,"type":0},{"idA":65,"idB":74,"type":0},{"idA":65,"idB":75,"type":0},{"idA":65,"idB":76,"type":0},{"idA":65,"idB":77,"type":0},{"idA":65,"idB":78,"type":0},{"idA":65,"idB":79,"type":0},{"idA":65,"idB":80,"type":0},{"idA":65,"idB":81,"type":0},{"idA":65,"idB":82,"type":0},{"idA":65,"idB":83,"type":0},{"idA":65,"idB":84,"type":0},{"idA":65,"idB":85,"type":0},{"idA":65,"idB":86,"type":0},{"idA":65,"idB":87,"type":0},{"idA":65,"idB":89,"type":0},{"idA":65,"idB":90,"type":0},{"idA":65,"idB":91,"type":0},{"idA":65,"idB":92,"type":0},{"idA":66,"idB":67,"type":0},{"idA":66,"idB":69,"type":0},{"idA":66,"idB":70,"type":0},{"idA":66,"idB":71,"type":0},{"idA":66,"idB":72,"type":0},{"idA":66,"idB":73,"type":0},{"idA":66,"idB":74,"type":0},{"idA":66,"idB":75,"type":0},{"idA":66,"idB":76,"type":0},{"idA":66,"idB":77,"type":0},{"idA":66,"idB":78,"type":0},{"idA":66,"idB":79,"type":0},{"idA":66,"idB":80,"type":0},{"idA":66,"idB":81,"type":0},{"idA":66,"idB":82,"type":0},{"idA":66,"idB":83,"type":0},{"idA":66,"idB":84,"type":0},{"idA":66,"idB":85,"type":0},{"idA":66,"idB":86,"type":0},{"idA":66,"idB":87,"type":0},{"idA":66,"idB":89,"type":0},{"idA":66,"idB":90,"type":0},{"idA":66,"idB":91,"type":0},{"idA":66,"idB":92,"type":0},{"idA":67,"idB":69,"type":0},{"idA":67,"idB":70,"type":0},{"idA":67,"idB":71,"type":0},{"idA":67,"idB":72,"type":0},{"idA":67,"idB":73,"type":0},{"idA":67,"idB":74,"type":0},{"idA":67,"idB":75,"type":0},{"idA":67,"idB":76,"type":0},{"idA":67,"idB":77,"type":0},{"idA":67,"idB":78,"type":0},{"idA":67,"idB":79,"type":0},{"idA":67,"idB":80,"type":0},{"idA":67,"idB":81,"type":0},{"idA":67,"idB":82,"type":0},{"idA":67,"idB":83,"type":0},{"idA":67,"idB":84,"type":0},{"idA":67,"idB":85,"type":0},{"idA":67,"idB":86,"type":0},{"idA":67,"idB":87,"type":0},{"idA":67,"idB":89,"type":0},{"idA":67,"idB":90,"type":0},{"idA":67,"idB":91,"type":0},{"idA":67,"idB":92,"type":0},{"idA":69,"idB":70,"type":0},{"idA":69,"idB":71,"type":0},{"idA":69,"idB":72,"type":0},{"idA":69,"idB":73,"type":0},{"idA":69,"idB":74,"type":0},{"idA":69,"idB":75,"type":0},{"idA":69,"idB":76,"type":0},{"idA":69,"idB":77,"type":0},{"idA":69,"idB":78,"type":0},{"idA":69,"idB":79,"type":0},{"idA":69,"idB":80,"type":0},{"idA":69,"idB":81,"type":0},{"idA":69,"idB":82,"type":0},{"idA":69,"idB":83,"type":0},{"idA":69,"idB":84,"type":0},{"idA":69,"idB":85,"type":0},{"idA":69,"idB":86,"type":0},{"idA":69,"idB":87,"type":0},{"idA":69,"idB":89,"type":0},{"idA":69,"idB":90,"type":0},{"idA":69,"idB":91,"type":0},{"idA":69,"idB":92,"type":0},{"idA":70,"idB":71,"type":0},{"idA":70,"idB":72,"type":0},{"idA":70,"idB":73,"type":0},{"idA":70,"idB":74,"type":0},{"idA":70,"idB":75,"type":0},{"idA":70,"idB":76,"type":0},{"idA":70,"idB":77,"type":0},{"idA":70,"idB":78,"type":0},{"idA":70,"idB":79,"type":0},{"idA":70,"idB":80,"type":0},{"idA":70,"idB":81,"type":0},{"idA":70,"idB":82,"type":0},{"idA":70,"idB":83,"type":0},{"idA":70,"idB":84,"type":0},{"idA":70,"idB":85,"type":0},{"idA":70,"idB":86,"type":0},{"idA":70,"idB":87,"type":0},{"idA":70,"idB":89,"type":0},{"idA":70,"idB":90,"type":0},{"idA":70,"idB":91,"type":0},{"idA":70,"idB":92,"type":0},{"idA":71,"idB":72,"type":0},{"idA":71,"idB":73,"type":0},{"idA":71,"idB":74,"type":0},{"idA":71,"idB":75,"type":0},{"idA":71,"idB":76,"type":0},{"idA":71,"idB":77,"type":0},{"idA":71,"idB":78,"type":0},{"idA":71,"idB":79,"type":0},{"idA":71,"idB":80,"type":0},{"idA":71,"idB":81,"type":0},{"idA":71,"idB":82,"type":0},{"idA":71,"idB":83,"type":0},{"idA":71,"idB":84,"type":0},{"idA":71,"idB":85,"type":0},{"idA":71,"idB":86,"type":0},{"idA":71,"idB":87,"type":0},{"idA":71,"idB":89,"type":0},{"idA":71,"idB":90,"type":0},{"idA":71,"idB":91,"type":0},{"idA":71,"idB":92,"type":0},{"idA":72,"idB":73,"type":0},{"idA":72,"idB":74,"type":0},{"idA":72,"idB":75,"type":0},{"idA":72,"idB":76,"type":0},{"idA":72,"idB":77,"type":0},{"idA":72,"idB":78,"type":0},{"idA":72,"idB":79,"type":0},{"idA":72,"idB":80,"type":0},{"idA":72,"idB":81,"type":0},{"idA":72,"idB":82,"type":0},{"idA":72,"idB":83,"type":0},{"idA":72,"idB":84,"type":0},{"idA":72,"idB":85,"type":0},{"idA":72,"idB":86,"type":0},{"idA":72,"idB":87,"type":0},{"idA":72,"idB":89,"type":0},{"idA":72,"idB":90,"type":0},{"idA":72,"idB":91,"type":0},{"idA":72,"idB":92,"type":0},{"idA":73,"idB":74,"type":0},{"idA":73,"idB":75,"type":0},{"idA":73,"idB":76,"type":0},{"idA":73,"idB":77,"type":0},{"idA":73,"idB":78,"type":0},{"idA":73,"idB":79,"type":0},{"idA":73,"idB":80,"type":0},{"idA":73,"idB":81,"type":0},{"idA":73,"idB":82,"type":0},{"idA":73,"idB":83,"type":0},{"idA":73,"idB":84,"type":0},{"idA":73,"idB":85,"type":0},{"idA":73,"idB":86,"type":0},{"idA":73,"idB":87,"type":0},{"idA":73,"idB":89,"type":0},{"idA":73,"idB":90,"type":0},{"idA":73,"idB":91,"type":0},{"idA":73,"idB":92,"type":0},{"idA":74,"idB":75,"type":0},{"idA":74,"idB":76,"type":0},{"idA":74,"idB":77,"type":0},{"idA":74,"idB":78,"type":0},{"idA":74,"idB":79,"type":0},{"idA":74,"idB":80,"type":0},{"idA":74,"idB":81,"type":0},{"idA":74,"idB":82,"type":0},{"idA":74,"idB":83,"type":0},{"idA":74,"idB":84,"type":0},{"idA":74,"idB":85,"type":0},{"idA":74,"idB":86,"type":0},{"idA":74,"idB":87,"type":0},{"idA":74,"idB":89,"type":0},{"idA":74,"idB":90,"type":0},{"idA":74,"idB":91,"type":0},{"idA":74,"idB":92,"type":0},{"idA":75,"idB":76,"type":0},{"idA":75,"idB":77,"type":0},{"idA":75,"idB":78,"type":0},{"idA":75,"idB":79,"type":0},{"idA":75,"idB":80,"type":0},{"idA":75,"idB":81,"type":0},{"idA":75,"idB":82,"type":0},{"idA":75,"idB":83,"type":0},{"idA":75,"idB":84,"type":0},{"idA":75,"idB":85,"type":0},{"idA":75,"idB":86,"type":0},{"idA":75,"idB":87,"type":0},{"idA":75,"idB":89,"type":0},{"idA":75,"idB":90,"type":0},{"idA":75,"idB":91,"type":0},{"idA":75,"idB":92,"type":0},{"idA":76,"idB":77,"type":0},{"idA":76,"idB":78,"type":0},{"idA":76,"idB":79,"type":0},{"idA":76,"idB":80,"type":0},{"idA":76,"idB":81,"type":0},{"idA":76,"idB":82,"type":0},{"idA":76,"idB":83,"type":0},{"idA":76,"idB":84,"type":0},{"idA":76,"idB":85,"type":0},{"idA":76,"idB":86,"type":0},{"idA":76,"idB":87,"type":0},{"idA":76,"idB":89,"type":0},{"idA":76,"idB":90,"type":0},{"idA":76,"idB":91,"type":0},{"idA":76,"idB":92,"type":0},{"idA":77,"idB":78,"type":0},{"idA":77,"idB":79,"type":0},{"idA":77,"idB":80,"type":0},{"idA":77,"idB":81,"type":0},{"idA":77,"idB":82,"type":0},{"idA":77,"idB":83,"type":0},{"idA":77,"idB":84,"type":0},{"idA":77,"idB":85,"type":0},{"idA":77,"idB":86,"type":0},{"idA":77,"idB":87,"type":0},{"idA":77,"idB":89,"type":0},{"idA":77,"idB":90,"type":0},{"idA":77,"idB":91,"type":0},{"idA":77,"idB":92,"type":0},{"idA":78,"idB":79,"type":0},{"idA":78,"idB":80,"type":0},{"idA":78,"idB":81,"type":0},{"idA":78,"idB":82,"type":0},{"idA":78,"idB":83,"type":0},{"idA":78,"idB":84,"type":0},{"idA":78,"idB":85,"type":0},{"idA":78,"idB":86,"type":0},{"idA":78,"idB":87,"type":0},{"idA":78,"idB":89,"type":0},{"idA":78,"idB":90,"type":0},{"idA":78,"idB":91,"type":0},{"idA":78,"idB":92,"type":0},{"idA":79,"idB":80,"type":0},{"idA":79,"idB":81,"type":0},{"idA":79,"idB":82,"type":0},{"idA":79,"idB":83,"type":0},{"idA":79,"idB":84,"type":1},{"idA":79,"idB":85,"type":1},{"idA":79,"idB":86,"type":0},{"idA":79,"idB":87,"type":0},{"idA":79,"idB":89,"type":0},{"idA":79,"idB":90,"type":0},{"idA":79,"idB":91,"type":0},{"idA":79,"idB":92,"type":0},{"idA":80,"idB":81,"type":0},{"idA":80,"idB":82,"type":1},{"idA":80,"idB":83,"type":0},{"idA":80,"idB":84,"type":0},{"idA":80,"idB":85,"type":0},{"idA":80,"idB":86,"type":0},{"idA":80,"idB":87,"type":0},{"idA":80,"idB":89,"type":0},{"idA":80,"idB":90,"type":0},{"idA":80,"idB":91,"type":0},{"idA":80,"idB":92,"type":0},{"idA":81,"idB":82,"type":1},{"idA":81,"idB":83,"type":0},{"idA":81,"idB":84,"type":0},{"idA":81,"idB":85,"type":0},{"idA":81,"idB":86,"type":1},{"idA":81,"idB":87,"type":0},{"idA":81,"idB":89,"type":0},{"idA":81,"idB":90,"type":0},{"idA":81,"idB":91,"type":0},{"idA":81,"idB":92,"type":0},{"idA":82,"idB":83,"type":0},{"idA":82,"idB":84,"type":0},{"idA":82,"idB":85,"type":0},{"idA":82,"idB":86,"type":0},{"idA":82,"idB":87,"type":0},{"idA":82,"idB":89,"type":0},{"idA":82,"idB":90,"type":0},{"idA":82,"idB":91,"type":0},{"idA":82,"idB":92,"type":0},{"idA":83,"idB":84,"type":0},{"idA":83,"idB":85,"type":1},{"idA":83,"idB":86,"type":0},{"idA":83,"idB":87,"type":0},{"idA":83,"idB":89,"type":0},{"idA":83,"idB":90,"type":0},{"idA":83,"idB":91,"type":0},{"idA":83,"idB":92,"type":0},{"idA":84,"idB":85,"type":0},{"idA":84,"idB":86,"type":0},{"idA":84,"idB":87,"type":0},{"idA":84,"idB":89,"type":0},{"idA":84,"idB":90,"type":0},{"idA":84,"idB":91,"type":0},{"idA":84,"idB":92,"type":0},{"idA":85,"idB":86,"type":0},{"idA":85,"idB":87,"type":0},{"idA":85,"idB":89,"type":0},{"idA":85,"idB":90,"type":0},{"idA":85,"idB":91,"type":0},{"idA":85,"idB":92,"type":0},{"idA":86,"idB":87,"type":0},{"idA":86,"idB":89,"type":0},{"idA":86,"idB":90,"type":0},{"idA":86,"idB":91,"type":0},{"idA":86,"idB":92,"type":0},{"idA":87,"idB":89,"type":0},{"idA":87,"idB":90,"type":0},{"idA":87,"idB":91,"type":0},{"idA":87,"idB":92,"type":0},{"idA":89,"idB":90,"type":0},{"idA":89,"idB":91,"type":0},{"idA":89,"idB":92,"type":0},{"idA":90,"idB":91,"type":0},{"idA":90,"idB":92,"type":0},{"idA":91,"idB":92,"type":0},{"idA":48,"idB":49,"type":1},{"idA":48,"idB":50,"type":1},{"idA":49,"idB":50,"type":0}]} diff --git a/build/lightdb/storage/uniqid b/build/lightdb/storage/uniqid index 66321c0..27a37eb 100644 --- a/build/lightdb/storage/uniqid +++ b/build/lightdb/storage/uniqid @@ -1 +1 @@ -189 \ No newline at end of file +93 \ No newline at end of file diff --git a/build/manager/ManagerError.php b/build/manager/ManagerError.php index d6a5994..9b04bc6 100644 --- a/build/manager/ManagerError.php +++ b/build/manager/ManagerError.php @@ -75,6 +75,9 @@ /* Erreur au niveau javascript */ //const JavascriptError = 19; // -> géré en js + // Already done error + const Already = 20; + /* EXPLICITE UN CODE D'ERREUR * @@ -109,6 +112,7 @@ case self::PermissionError: return "Vous n'avez pas la permission d'effectuer cette action."; break; case self::UploadError: return "Une erreur d'upload est survenue."; break; case self::FormatError: return "Le fichier n'est pas au bon format."; break; + case self::Already: return "Action déja effectuée."; break; default: return "Description d'erreur inconnue..."; break; } diff --git a/public_html/test.php b/public_html/test.php index 3460d9e..6f13571 100644 --- a/public_html/test.php +++ b/public_html/test.php @@ -9,10 +9,8 @@ $sl = new lightdb('subject'); $cl = new lightdb('contact'); - $LOG = true; - if( $LOG ){ $sub = $sl->fetch(1); @@ -34,6 +32,8 @@ $cl->deleteAll( $sub['contacts'] ); + $cl->flush(); // security + /* [2] Reset subject =========================================================*/ diff --git a/public_html/view/js/input.js b/public_html/view/js/input.js index a6c19b9..012f0fb 100644 --- a/public_html/view/js/input.js +++ b/public_html/view/js/input.js @@ -661,10 +661,11 @@ var pDynamicUpdate = function(target){ // Supprime les contacts déja dans les FICHES pMiniManager.sync(); - /* (7) On récupère tous les amis du sujet */ + /* (7) On récupère tous les "amis" du sujet */ if( target === true ){ api.send({ path: 'subject/getFriends', subject_id: pSubjectManager.subject_id.value }, function(response){ + console.warn('xx', response); // Si erreur, on quitte if( response.ModuleError != 0 ){ console.groupEnd(); diff --git a/public_html/view/js/min/input.js b/public_html/view/js/min/input.js index 6da0b04..9e7fab3 100644 --- a/public_html/view/js/min/input.js +++ b/public_html/view/js/min/input.js @@ -21,10 +21,10 @@ pMiniManager.fieldsToStorage();pFicheManager.fieldsToStorage();if(!pSubjectManag (parseInt(c)+1)+" est incompl\u00e8te et/ou incorrecte"),!1;c={path:"input/facebook",subject:lsi["export"]("f_subject")[0],contacts:lsi["export"]("f_contacts"),mini:lsi["export"]("f_mini-fiches"),fiches:lsi["export"]("f_fiches"),matrice:lsi["export"]("f_matrice")[0]};api.send(c,function(a){console.log(a);if(0!=a.ModuleError)return Notification.error("ERREUR",a.ModuleError),!1;Notification.success("OK","L'identifiant du sujet est "+a.subject_id+" ! Tout s'est bien d\u00e9roul\u00e9.", 1E4);console.log(a)},!1)},!1),console.groupEnd())};include("/js/includes/input-facebook-subject.js",function(){fLoaded[0]=1;facebookRoutine()});include("/js/includes/input-facebook-contact.js",function(){fLoaded[1]=1;facebookRoutine()});include("/js/includes/input-facebook-mini.js",function(){fLoaded[2]=1;facebookRoutine()});include("/js/includes/input-facebook-fiche.js",function(){fLoaded[3]=1;facebookRoutine()});include("/js/includes/input-facebook-matrice.js",function(){fLoaded[4]=1;facebookRoutine()}); var pDynamicUpdate=function(a){var b=a instanceof Element,c=b&&"INPUT"==a.tagName&&"submit"==a.type,g=b&&"SPAN"==a.tagName&&("p_nav-mini"==a.parentNode.id||"p_nav-fiche"==a.parentNode.id),b=b&&"SPAN"==a.tagName&&"p_nav-contact"==a.parentNode.id;if(!c&&!g&&!b&&!0!==a)return!1;console.groupEnd();console.groupEnd();console.group("[phone] Dynamic Update");pMiniManager.fieldsToStorage();pFicheManager.fieldsToStorage();pContactManager.fieldsToStorage();pMatriceManager.fieldsToStorage();pFicheManager.sync(); -pMiniManager.sync();!0===a?api.send({path:"subject/getFriends",subject_id:pSubjectManager.subject_id.value},function(a){if(0!=a.ModuleError)return console.groupEnd(),!1;lsi["import"]("p_friends",a.subjects);pMiniManager.storageToFields();pFicheManager.storageToFields();pMatriceManager.storageToFields();pContactManager.storageToFields();pMiniManager.updateNavBar();pFicheManager.updateNavBar()}):(pMiniManager.storageToFields(),pFicheManager.storageToFields(),pMatriceManager.storageToFields(),pMiniManager.updateNavBar(), -pFicheManager.updateNavBar(),(c||b)&&pContactManager.storageToFields());console.groupEnd()},fDynamicUpdate=function(a){var b=a instanceof Element,c=b&&"INPUT"==a.tagName&&"submit"==a.type,g=b&&"SPAN"==a.tagName&&("f_nav-mini"==a.parentNode.id||"f_nav-fiche"==a.parentNode.id),b=b&&"SPAN"==a.tagName&&"f_nav-contact"==a.parentNode.id;if(!c&&!g&&!b&&!0!==a)return!1;console.groupEnd();console.groupEnd();console.group("[facebook] Dynamic Update");fMiniManager.fieldsToStorage();fFicheManager.fieldsToStorage(); -fContactManager.fieldsToStorage();fMatriceManager.fieldsToStorage();fFicheManager.sync();fMiniManager.sync();!0===a?api.send({path:"subject/getFriends",subject_id:fSubjectManager.subject_id.value},function(a){if(0!=a.ModuleError)return console.groupEnd(),!1;lsi["import"]("f_friends",a.subjects);fMiniManager.storageToFields();fFicheManager.storageToFields();fMatriceManager.storageToFields();fContactManager.storageToFields()}):(fMiniManager.storageToFields(),fFicheManager.storageToFields(),fMatriceManager.storageToFields(), -(c||b)&&fContactManager.storageToFields());console.groupEnd()};function testContactsPhone(){for(var a=0;45>a;a++)0==a%20?lsi.set("p_contacts",a,{uid:a,username:"contact-x"}):lsi.set("p_contacts",a,{uid:a,username:"contact-"+a})} +pMiniManager.sync();!0===a?api.send({path:"subject/getFriends",subject_id:pSubjectManager.subject_id.value},function(a){console.warn("xx",a);if(0!=a.ModuleError)return console.groupEnd(),!1;lsi["import"]("p_friends",a.subjects);pMiniManager.storageToFields();pFicheManager.storageToFields();pMatriceManager.storageToFields();pContactManager.storageToFields();pMiniManager.updateNavBar();pFicheManager.updateNavBar()}):(pMiniManager.storageToFields(),pFicheManager.storageToFields(),pMatriceManager.storageToFields(), +pMiniManager.updateNavBar(),pFicheManager.updateNavBar(),(c||b)&&pContactManager.storageToFields());console.groupEnd()},fDynamicUpdate=function(a){var b=a instanceof Element,c=b&&"INPUT"==a.tagName&&"submit"==a.type,g=b&&"SPAN"==a.tagName&&("f_nav-mini"==a.parentNode.id||"f_nav-fiche"==a.parentNode.id),b=b&&"SPAN"==a.tagName&&"f_nav-contact"==a.parentNode.id;if(!c&&!g&&!b&&!0!==a)return!1;console.groupEnd();console.groupEnd();console.group("[facebook] Dynamic Update");fMiniManager.fieldsToStorage(); +fFicheManager.fieldsToStorage();fContactManager.fieldsToStorage();fMatriceManager.fieldsToStorage();fFicheManager.sync();fMiniManager.sync();!0===a?api.send({path:"subject/getFriends",subject_id:fSubjectManager.subject_id.value},function(a){if(0!=a.ModuleError)return console.groupEnd(),!1;lsi["import"]("f_friends",a.subjects);fMiniManager.storageToFields();fFicheManager.storageToFields();fMatriceManager.storageToFields();fContactManager.storageToFields()}):(fMiniManager.storageToFields(),fFicheManager.storageToFields(), +fMatriceManager.storageToFields(),(c||b)&&fContactManager.storageToFields());console.groupEnd()};function testContactsPhone(){for(var a=0;45>a;a++)0==a%20?lsi.set("p_contacts",a,{uid:a,username:"contact-x"}):lsi.set("p_contacts",a,{uid:a,username:"contact-"+a})} function testRoutinePhone(a){var b=lsi["export"]("p_contacts"),c=lsi["export"]("p_mini-fiches"),g=lsi["export"]("p_fiches"),d=0;if(null!=a&&a)for(var f in c)isNaN(f)||(a="",null!=b[f]&&(a=b[f].username),c=$('#p_nav-mini [data-n="'+f+'"]'),c.click(),$("#unknown_min_p_"+f).checked=0==a.length,0==a.length?($("#sexeI_mini_p_"+f).checked=!0,$('input[data-name="uid"][value="'+f+'"] ~ h5 select[data-name="age"]').value=d%19,$('input[data-name="uid"][value="'+f+'"] ~ h5 select[data-name="studies"]').value= 0,$("#reltype9_mini_p_"+f).checked=!0):(a=["H","F"][Math.floor(d%2)],$("#sexe"+a+"_mini_p_"+f).checked=!0,$('input[data-name="uid"][value="'+f+'"] ~ h5 select[data-name="age"]').value=d%19,$('input[data-name="uid"][value="'+f+'"] ~ h5 select[data-name="studies"]').value=1+d%6,a=d%10,9==a?($("#reltype10_mini_p_"+f).checked=!0,$('input[data-name="uid"][value="'+f+'"] ~ h5 input[data-name="reltypeSpecial"]').value="autre"):$("#reltype"+a+"_mini_p_"+f).checked=!0,d++));for(var e in g)isNaN(e)||(c=$('#p_nav-fiche [data-n="'+ e+'"]'),c.click(),a=["H","F","I"][Math.floor(d%3)],$("#sexe"+a+"_p_"+e).checked=!0,$('article.fiche-relation > input[data-name="uid"][value="'+e+'"] ~ h5 select[data-name="age"]').value=d%19,b="10 21 22 23 31 32 36 41 46 47 48 51 54 55 56 61 66 69 71 72 73 74 75 76 81 82".split(" "),b=b[d%b.length],$('article.fiche-relation > input[data-name="uid"][value="'+e+'"] ~ h5 select[data-name="job"]').value=b,b=(d%12).toString(),1==b.length&&(b="0"+b),$('article.fiche-relation > input[data-name="uid"][value="'+ From 3633d9f34469f233c02691ddf05cc469f7ea1196 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Wed, 23 Nov 2016 16:57:52 +0100 Subject: [PATCH 10/11] Gestion du changement de `type` de relation pour les `alter-alter` car rien ne sert d'ajouter une relation il faut juste la modifier --- build/api/module/input.php | 31 ++++++++--- build/lightdb/storage/contact/data | 86 ++++++++++++++--------------- build/lightdb/storage/contact/index | 2 +- build/lightdb/storage/subject/data | 2 +- build/lightdb/storage/uniqid | 2 +- public_html/test.php | 2 + 6 files changed, 72 insertions(+), 53 deletions(-) diff --git a/build/api/module/input.php b/build/api/module/input.php index 76d73da..55c6f9d 100644 --- a/build/api/module/input.php +++ b/build/api/module/input.php @@ -22,29 +22,46 @@ * @return already VRAI si déja dans la liste * */ - private static function relAlready($relset, $idA, $idB, $type){ + private static function relAlready(&$relset, $idA, $idB, $type){ + + // relation alter-alter (0 aucun lien ; 1 lien) + $alteralter = in_array($type, [0, 1]); /* (1) Pour chaque relation existante */ - foreach($relset as $rel){ + foreach($relset as $r=>$rel){ - // {1} si même A / B // + + // {2} si même A / B // $sameAB = $rel['idA'] == $idA && $rel['idB'] == $idB; - // {2} si même B / A // + // {3} si même B / A // $sameBA = $rel['idA'] == $idB && $rel['idB'] == $idA; - // {3} si même type // + // {4} si même type // $sameType = $rel['type'] == $type; - // {4} si relation existante -> TRUE // - if( ($sameAB || $sameBA) && $sameType ) + // {4} Cas particulier si on va mettre à jour une relation alter-alter // + if( ($sameAB || $sameBA) && $alteralter && in_array($rel['type'], [0,1]) ){ + // On remplace la valeur + $relset[$r]['type'] = $type; + + // On fait comme si la relation existait déja return true; + } + + // {5} si relation existante -> TRUE // + if( ($sameAB || $sameBA) && $sameType ){ + echo "already $idA and $idB with $type
    "; + return true; + } } /* (2) Si rien trouvé -> */ return false; } + + /* TRAITE LES DONNÉES D'UN FORMULAIRE DE TYPE TÉLÉPHONIQUE * * @subject Tableau contenant les données du sujet diff --git a/build/lightdb/storage/contact/data b/build/lightdb/storage/contact/data index 817d98a..8a6b2a6 100644 --- a/build/lightdb/storage/contact/data +++ b/build/lightdb/storage/contact/data @@ -1,43 +1,43 @@ -{"id":48,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":49,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":50,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":51,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":52,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":53,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":54,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":55,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":56,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":57,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":58,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":59,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":60,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":61,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":62,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":63,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":64,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":65,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":66,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":67,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":69,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"autre","dist":"2","job":"10","famsit":"0","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":70,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"0","dist":"3","job":"21","famsit":"0","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":71,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"1","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":72,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"2","dist":"1","job":"23","famsit":"0","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":73,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"3","dist":"2","job":"31","famsit":"0","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":74,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"4","dist":"3","job":"32","famsit":"0","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":75,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"5","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":76,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"6","dist":"1","job":"41","famsit":"0","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":77,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"7","dist":"2","job":"46","famsit":"0","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":78,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"autre","dist":"3","job":"47","famsit":"0","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":79,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"0","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":80,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"1","dist":"1","job":"51","famsit":"0","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":81,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"2","dist":"2","job":"54","famsit":"0","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":82,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"3","dist":"3","job":"55","famsit":"0","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":83,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"4","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":84,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"5","dist":"1","job":"61","famsit":"0","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":85,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"6","dist":"2","job":"66","famsit":"0","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":86,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"7","dist":"3","job":"69","famsit":"0","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":87,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"autre","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} -{"id":89,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."} -{"id":90,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."} -{"id":91,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."} -{"id":92,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."} +{"id":2,"name":"contact-x","sexe":"1","age":"6","studies2":"01","reltype":"7","dist":"1","job":"82","famsit":"0","city":"35","cp":"10025","quartier":"25","duration":["25","125"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":3,"name":"contact-1","sexe":"0","age":"6","studies2":"06","reltype":"6","dist":"2","job":"36","famsit":"0","city":"16","cp":"10006","quartier":"6","duration":["6","16"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":4,"name":"contact-2","sexe":"1","age":"7","studies2":"07","reltype":"7","dist":"3","job":"41","famsit":"0","city":"17","cp":"10007","quartier":"7","duration":["7","17"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":5,"name":"contact-3","sexe":"2","age":"8","studies2":"08","reltype":"autre","dist":"0","job":"46","famsit":"0","city":"18","cp":"10008","quartier":"8","duration":["8","18"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":6,"name":"contact-4","sexe":"0","age":"9","studies2":"09","reltype":"0","dist":"1","job":"47","famsit":"0","city":"19","cp":"10009","quartier":"9","duration":["9","19"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":7,"name":"contact-5","sexe":"1","age":"10","studies2":"10","reltype":"1","dist":"2","job":"48","famsit":"0","city":"20","cp":"10010","quartier":"10","duration":["10","110"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":8,"name":"contact-6","sexe":"2","age":"11","studies2":"11","reltype":"2","dist":"3","job":"51","famsit":"0","city":"21","cp":"10011","quartier":"11","duration":["11","111"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":9,"name":"contact-7","sexe":"0","age":"12","studies2":"","reltype":"3","dist":"0","job":"54","famsit":"0","city":"22","cp":"10012","quartier":"12","duration":["12","112"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":10,"name":"contact-8","sexe":"1","age":"13","studies2":"01","reltype":"4","dist":"1","job":"55","famsit":"0","city":"23","cp":"10013","quartier":"13","duration":["13","113"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":11,"name":"contact-9","sexe":"2","age":"14","studies2":"02","reltype":"5","dist":"2","job":"56","famsit":"0","city":"24","cp":"10014","quartier":"14","duration":["14","114"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":12,"name":"contact-10","sexe":"0","age":"15","studies2":"03","reltype":"6","dist":"3","job":"61","famsit":"0","city":"25","cp":"10015","quartier":"15","duration":["15","115"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":13,"name":"contact-11","sexe":"1","age":"16","studies2":"04","reltype":"7","dist":"0","job":"66","famsit":"0","city":"26","cp":"10016","quartier":"16","duration":["16","116"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":14,"name":"contact-12","sexe":"2","age":"17","studies2":"05","reltype":"autre","dist":"1","job":"69","famsit":"0","city":"27","cp":"10017","quartier":"17","duration":["17","117"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":15,"name":"contact-13","sexe":"0","age":"18","studies2":"06","reltype":"0","dist":"2","job":"71","famsit":"0","city":"28","cp":"10018","quartier":"18","duration":["18","118"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":16,"name":"contact-14","sexe":"1","age":"0","studies2":"07","reltype":"1","dist":"3","job":"72","famsit":"0","city":"29","cp":"10019","quartier":"19","duration":["19","119"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":17,"name":"contact-15","sexe":"2","age":"1","studies2":"08","reltype":"2","dist":"0","job":"73","famsit":"0","city":"30","cp":"10020","quartier":"20","duration":["20","120"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":18,"name":"contact-16","sexe":"0","age":"2","studies2":"09","reltype":"3","dist":"1","job":"74","famsit":"0","city":"31","cp":"10021","quartier":"21","duration":["21","121"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":19,"name":"contact-17","sexe":"1","age":"3","studies2":"10","reltype":"4","dist":"2","job":"75","famsit":"0","city":"32","cp":"10022","quartier":"22","duration":["22","122"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":20,"name":"contact-18","sexe":"2","age":"4","studies2":"11","reltype":"5","dist":"3","job":"76","famsit":"0","city":"33","cp":"10023","quartier":"23","duration":["23","123"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":21,"name":"contact-19","sexe":"0","age":"5","studies2":"","reltype":"6","dist":"0","job":"81","famsit":"0","city":"34","cp":"10024","quartier":"24","duration":["24","124"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":23,"name":"contact-21","sexe":"2","age":"7","studies2":"02","reltype":"autre","dist":"2","job":"10","famsit":"0","city":"36","cp":"10026","quartier":"26","duration":["26","126"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":24,"name":"contact-22","sexe":"0","age":"8","studies2":"03","reltype":"0","dist":"3","job":"21","famsit":"0","city":"37","cp":"10027","quartier":"27","duration":["27","127"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":25,"name":"contact-23","sexe":"1","age":"9","studies2":"04","reltype":"1","dist":"0","job":"22","famsit":"0","city":"38","cp":"10028","quartier":"28","duration":["28","128"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":26,"name":"contact-24","sexe":"2","age":"10","studies2":"05","reltype":"2","dist":"1","job":"23","famsit":"0","city":"39","cp":"10029","quartier":"29","duration":["29","129"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":27,"name":"contact-25","sexe":"0","age":"11","studies2":"06","reltype":"3","dist":"2","job":"31","famsit":"0","city":"40","cp":"10030","quartier":"30","duration":["30","130"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":28,"name":"contact-26","sexe":"1","age":"12","studies2":"07","reltype":"4","dist":"3","job":"32","famsit":"0","city":"41","cp":"10031","quartier":"31","duration":["31","131"],"context":"3","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":29,"name":"contact-27","sexe":"2","age":"13","studies2":"08","reltype":"5","dist":"0","job":"36","famsit":"0","city":"42","cp":"10032","quartier":"32","duration":["32","132"],"context":"4","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":30,"name":"contact-28","sexe":"0","age":"14","studies2":"09","reltype":"6","dist":"1","job":"41","famsit":"0","city":"43","cp":"10033","quartier":"33","duration":["33","133"],"context":"5","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":31,"name":"contact-29","sexe":"1","age":"15","studies2":"10","reltype":"7","dist":"2","job":"46","famsit":"0","city":"44","cp":"10034","quartier":"34","duration":["34","134"],"context":"6","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":32,"name":"contact-30","sexe":"2","age":"16","studies2":"11","reltype":"autre","dist":"3","job":"47","famsit":"0","city":"45","cp":"10035","quartier":"35","duration":["35","135"],"context":"7","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":33,"name":"contact-31","sexe":"0","age":"17","studies2":"","reltype":"0","dist":"0","job":"48","famsit":"0","city":"46","cp":"10036","quartier":"36","duration":["36","136"],"context":"8","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":34,"name":"contact-32","sexe":"1","age":"18","studies2":"01","reltype":"1","dist":"1","job":"51","famsit":"0","city":"47","cp":"10037","quartier":"37","duration":["37","137"],"context":"9","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":35,"name":"contact-33","sexe":"2","age":"0","studies2":"02","reltype":"2","dist":"2","job":"54","famsit":"0","city":"48","cp":"10038","quartier":"38","duration":["38","138"],"context":"10","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":36,"name":"contact-34","sexe":"0","age":"1","studies2":"03","reltype":"3","dist":"3","job":"55","famsit":"0","city":"49","cp":"10039","quartier":"39","duration":["39","139"],"context":"11","contextExtra":["internet","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":37,"name":"contact-35","sexe":"1","age":"2","studies2":"04","reltype":"4","dist":"0","job":"56","famsit":"0","city":"50","cp":"10040","quartier":"40","duration":["40","140"],"context":"12","contextExtra":["","association",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":38,"name":"contact-36","sexe":"2","age":"3","studies2":"05","reltype":"5","dist":"1","job":"61","famsit":"0","city":"51","cp":"10041","quartier":"41","duration":["41","141"],"context":"13","contextExtra":["","","autre"],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":39,"name":"contact-37","sexe":"0","age":"4","studies2":"06","reltype":"6","dist":"2","job":"66","famsit":"0","city":"52","cp":"10042","quartier":"42","duration":["42","142"],"context":"0","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":40,"name":"contact-38","sexe":"1","age":"5","studies2":"07","reltype":"7","dist":"3","job":"69","famsit":"0","city":"53","cp":"10043","quartier":"43","duration":["43","143"],"context":"1","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":41,"name":"contact-39","sexe":"2","age":"6","studies2":"08","reltype":"autre","dist":"0","job":"71","famsit":"0","city":"54","cp":"10044","quartier":"44","duration":["44","144"],"context":"2","contextExtra":["","",""],"freq":["4","9","14","19","24"],"connect":["1","3","5","7","9","11"],"connectExtra":["",""]} +{"id":43,"name":"contact-41","sexe":"1","age":"","studies1":"2","reltype":"1","dist":"."} +{"id":44,"name":"contact-42","sexe":"0","age":"2","studies1":"3","reltype":"2","dist":"."} +{"id":45,"name":"contact-43","sexe":"1","age":"3","studies1":"4","reltype":"3","dist":"."} +{"id":46,"name":"contact-44","sexe":"0","age":"4","studies1":"5","reltype":"4","dist":"."} diff --git a/build/lightdb/storage/contact/index b/build/lightdb/storage/contact/index index 3d7265f..7e5cecc 100644 --- a/build/lightdb/storage/contact/index +++ b/build/lightdb/storage/contact/index @@ -1 +1 @@ -{"48":{"line":0},"49":{"line":1},"50":{"line":2},"51":{"line":3},"52":{"line":4},"53":{"line":5},"54":{"line":6},"55":{"line":7},"56":{"line":8},"57":{"line":9},"58":{"line":10},"59":{"line":11},"60":{"line":12},"61":{"line":13},"62":{"line":14},"63":{"line":15},"64":{"line":16},"65":{"line":17},"66":{"line":18},"67":{"line":19},"69":{"line":20},"70":{"line":21},"71":{"line":22},"72":{"line":23},"73":{"line":24},"74":{"line":25},"75":{"line":26},"76":{"line":27},"77":{"line":28},"78":{"line":29},"79":{"line":30},"80":{"line":31},"81":{"line":32},"82":{"line":33},"83":{"line":34},"84":{"line":35},"85":{"line":36},"86":{"line":37},"87":{"line":38},"89":{"line":39},"90":{"line":40},"91":{"line":41},"92":{"line":42}} \ No newline at end of file +{"2":{"line":0},"3":{"line":1},"4":{"line":2},"5":{"line":3},"6":{"line":4},"7":{"line":5},"8":{"line":6},"9":{"line":7},"10":{"line":8},"11":{"line":9},"12":{"line":10},"13":{"line":11},"14":{"line":12},"15":{"line":13},"16":{"line":14},"17":{"line":15},"18":{"line":16},"19":{"line":17},"20":{"line":18},"21":{"line":19},"23":{"line":20},"24":{"line":21},"25":{"line":22},"26":{"line":23},"27":{"line":24},"28":{"line":25},"29":{"line":26},"30":{"line":27},"31":{"line":28},"32":{"line":29},"33":{"line":30},"34":{"line":31},"35":{"line":32},"36":{"line":33},"37":{"line":34},"38":{"line":35},"39":{"line":36},"40":{"line":37},"41":{"line":38},"43":{"line":39},"44":{"line":40},"45":{"line":41},"46":{"line":42}} \ No newline at end of file diff --git a/build/lightdb/storage/subject/data b/build/lightdb/storage/subject/data index a258348..276dd4d 100644 --- a/build/lightdb/storage/subject/data +++ b/build/lightdb/storage/subject/data @@ -1 +1 @@ -{"subject":{"id":3,"name":"Clarisse","surveys":["facebook","phone"],"creation":1479898736},"contacts":[48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,92],"relations":[{"idA":1,"idB":48,"type":6},{"idA":1,"idB":49,"type":6},{"idA":1,"idB":50,"type":6},{"idA":1,"idB":51,"type":6},{"idA":1,"idB":52,"type":6},{"idA":1,"idB":53,"type":6},{"idA":1,"idB":54,"type":6},{"idA":1,"idB":55,"type":6},{"idA":1,"idB":56,"type":6},{"idA":1,"idB":57,"type":6},{"idA":1,"idB":58,"type":6},{"idA":1,"idB":59,"type":6},{"idA":1,"idB":60,"type":6},{"idA":1,"idB":61,"type":6},{"idA":1,"idB":62,"type":6},{"idA":1,"idB":63,"type":6},{"idA":1,"idB":64,"type":6},{"idA":1,"idB":65,"type":6},{"idA":1,"idB":66,"type":6},{"idA":1,"idB":67,"type":6},{"idA":1,"idB":69,"type":7},{"idA":1,"idB":70,"type":7},{"idA":1,"idB":71,"type":7},{"idA":1,"idB":72,"type":7},{"idA":1,"idB":73,"type":7},{"idA":1,"idB":74,"type":7},{"idA":1,"idB":75,"type":7},{"idA":1,"idB":76,"type":7},{"idA":1,"idB":77,"type":7},{"idA":1,"idB":78,"type":7},{"idA":1,"idB":79,"type":7},{"idA":1,"idB":80,"type":7},{"idA":1,"idB":81,"type":7},{"idA":1,"idB":82,"type":7},{"idA":1,"idB":83,"type":7},{"idA":1,"idB":84,"type":7},{"idA":1,"idB":85,"type":7},{"idA":1,"idB":86,"type":7},{"idA":1,"idB":87,"type":7},{"idA":1,"idB":89,"type":3},{"idA":1,"idB":90,"type":3},{"idA":1,"idB":91,"type":3},{"idA":1,"idB":92,"type":3},{"idA":48,"idB":49,"type":1},{"idA":48,"idB":50,"type":0},{"idA":48,"idB":51,"type":0},{"idA":48,"idB":52,"type":0},{"idA":48,"idB":53,"type":0},{"idA":48,"idB":54,"type":0},{"idA":48,"idB":55,"type":0},{"idA":48,"idB":56,"type":0},{"idA":48,"idB":57,"type":0},{"idA":48,"idB":58,"type":0},{"idA":48,"idB":59,"type":1},{"idA":48,"idB":60,"type":0},{"idA":48,"idB":61,"type":0},{"idA":48,"idB":62,"type":0},{"idA":48,"idB":63,"type":0},{"idA":48,"idB":64,"type":0},{"idA":48,"idB":65,"type":0},{"idA":48,"idB":66,"type":0},{"idA":48,"idB":67,"type":0},{"idA":48,"idB":69,"type":0},{"idA":48,"idB":70,"type":0},{"idA":48,"idB":71,"type":0},{"idA":48,"idB":72,"type":0},{"idA":48,"idB":73,"type":1},{"idA":48,"idB":74,"type":0},{"idA":48,"idB":75,"type":0},{"idA":48,"idB":76,"type":1},{"idA":48,"idB":77,"type":0},{"idA":48,"idB":78,"type":0},{"idA":48,"idB":79,"type":0},{"idA":48,"idB":80,"type":0},{"idA":48,"idB":81,"type":0},{"idA":48,"idB":82,"type":0},{"idA":48,"idB":83,"type":0},{"idA":48,"idB":84,"type":0},{"idA":48,"idB":85,"type":0},{"idA":48,"idB":86,"type":0},{"idA":48,"idB":87,"type":0},{"idA":48,"idB":89,"type":0},{"idA":48,"idB":90,"type":0},{"idA":48,"idB":91,"type":0},{"idA":48,"idB":92,"type":0},{"idA":49,"idB":50,"type":0},{"idA":49,"idB":51,"type":0},{"idA":49,"idB":52,"type":0},{"idA":49,"idB":53,"type":0},{"idA":49,"idB":54,"type":0},{"idA":49,"idB":55,"type":0},{"idA":49,"idB":56,"type":0},{"idA":49,"idB":57,"type":0},{"idA":49,"idB":58,"type":0},{"idA":49,"idB":59,"type":0},{"idA":49,"idB":60,"type":0},{"idA":49,"idB":61,"type":0},{"idA":49,"idB":62,"type":0},{"idA":49,"idB":63,"type":0},{"idA":49,"idB":64,"type":0},{"idA":49,"idB":65,"type":0},{"idA":49,"idB":66,"type":0},{"idA":49,"idB":67,"type":0},{"idA":49,"idB":69,"type":0},{"idA":49,"idB":70,"type":0},{"idA":49,"idB":71,"type":0},{"idA":49,"idB":72,"type":0},{"idA":49,"idB":73,"type":0},{"idA":49,"idB":74,"type":0},{"idA":49,"idB":75,"type":0},{"idA":49,"idB":76,"type":0},{"idA":49,"idB":77,"type":0},{"idA":49,"idB":78,"type":0},{"idA":49,"idB":79,"type":0},{"idA":49,"idB":80,"type":0},{"idA":49,"idB":81,"type":0},{"idA":49,"idB":82,"type":0},{"idA":49,"idB":83,"type":0},{"idA":49,"idB":84,"type":0},{"idA":49,"idB":85,"type":0},{"idA":49,"idB":86,"type":0},{"idA":49,"idB":87,"type":0},{"idA":49,"idB":89,"type":0},{"idA":49,"idB":90,"type":0},{"idA":49,"idB":91,"type":0},{"idA":49,"idB":92,"type":0},{"idA":50,"idB":51,"type":0},{"idA":50,"idB":52,"type":0},{"idA":50,"idB":53,"type":0},{"idA":50,"idB":54,"type":0},{"idA":50,"idB":55,"type":0},{"idA":50,"idB":56,"type":0},{"idA":50,"idB":57,"type":0},{"idA":50,"idB":58,"type":0},{"idA":50,"idB":59,"type":0},{"idA":50,"idB":60,"type":0},{"idA":50,"idB":61,"type":0},{"idA":50,"idB":62,"type":0},{"idA":50,"idB":63,"type":0},{"idA":50,"idB":64,"type":0},{"idA":50,"idB":65,"type":0},{"idA":50,"idB":66,"type":0},{"idA":50,"idB":67,"type":0},{"idA":50,"idB":69,"type":0},{"idA":50,"idB":70,"type":0},{"idA":50,"idB":71,"type":0},{"idA":50,"idB":72,"type":0},{"idA":50,"idB":73,"type":0},{"idA":50,"idB":74,"type":0},{"idA":50,"idB":75,"type":0},{"idA":50,"idB":76,"type":0},{"idA":50,"idB":77,"type":0},{"idA":50,"idB":78,"type":0},{"idA":50,"idB":79,"type":0},{"idA":50,"idB":80,"type":0},{"idA":50,"idB":81,"type":0},{"idA":50,"idB":82,"type":0},{"idA":50,"idB":83,"type":0},{"idA":50,"idB":84,"type":0},{"idA":50,"idB":85,"type":0},{"idA":50,"idB":86,"type":0},{"idA":50,"idB":87,"type":0},{"idA":50,"idB":89,"type":0},{"idA":50,"idB":90,"type":0},{"idA":50,"idB":91,"type":0},{"idA":50,"idB":92,"type":0},{"idA":51,"idB":52,"type":0},{"idA":51,"idB":53,"type":0},{"idA":51,"idB":54,"type":0},{"idA":51,"idB":55,"type":0},{"idA":51,"idB":56,"type":0},{"idA":51,"idB":57,"type":0},{"idA":51,"idB":58,"type":0},{"idA":51,"idB":59,"type":0},{"idA":51,"idB":60,"type":0},{"idA":51,"idB":61,"type":0},{"idA":51,"idB":62,"type":0},{"idA":51,"idB":63,"type":0},{"idA":51,"idB":64,"type":0},{"idA":51,"idB":65,"type":0},{"idA":51,"idB":66,"type":0},{"idA":51,"idB":67,"type":0},{"idA":51,"idB":69,"type":0},{"idA":51,"idB":70,"type":0},{"idA":51,"idB":71,"type":0},{"idA":51,"idB":72,"type":0},{"idA":51,"idB":73,"type":0},{"idA":51,"idB":74,"type":0},{"idA":51,"idB":75,"type":0},{"idA":51,"idB":76,"type":0},{"idA":51,"idB":77,"type":0},{"idA":51,"idB":78,"type":0},{"idA":51,"idB":79,"type":0},{"idA":51,"idB":80,"type":0},{"idA":51,"idB":81,"type":0},{"idA":51,"idB":82,"type":0},{"idA":51,"idB":83,"type":0},{"idA":51,"idB":84,"type":0},{"idA":51,"idB":85,"type":0},{"idA":51,"idB":86,"type":0},{"idA":51,"idB":87,"type":0},{"idA":51,"idB":89,"type":0},{"idA":51,"idB":90,"type":0},{"idA":51,"idB":91,"type":0},{"idA":51,"idB":92,"type":0},{"idA":52,"idB":53,"type":0},{"idA":52,"idB":54,"type":0},{"idA":52,"idB":55,"type":0},{"idA":52,"idB":56,"type":0},{"idA":52,"idB":57,"type":0},{"idA":52,"idB":58,"type":0},{"idA":52,"idB":59,"type":0},{"idA":52,"idB":60,"type":0},{"idA":52,"idB":61,"type":0},{"idA":52,"idB":62,"type":0},{"idA":52,"idB":63,"type":0},{"idA":52,"idB":64,"type":1},{"idA":52,"idB":65,"type":0},{"idA":52,"idB":66,"type":0},{"idA":52,"idB":67,"type":0},{"idA":52,"idB":69,"type":0},{"idA":52,"idB":70,"type":0},{"idA":52,"idB":71,"type":0},{"idA":52,"idB":72,"type":0},{"idA":52,"idB":73,"type":0},{"idA":52,"idB":74,"type":1},{"idA":52,"idB":75,"type":0},{"idA":52,"idB":76,"type":0},{"idA":52,"idB":77,"type":0},{"idA":52,"idB":78,"type":0},{"idA":52,"idB":79,"type":0},{"idA":52,"idB":80,"type":0},{"idA":52,"idB":81,"type":0},{"idA":52,"idB":82,"type":0},{"idA":52,"idB":83,"type":0},{"idA":52,"idB":84,"type":0},{"idA":52,"idB":85,"type":0},{"idA":52,"idB":86,"type":0},{"idA":52,"idB":87,"type":0},{"idA":52,"idB":89,"type":0},{"idA":52,"idB":90,"type":0},{"idA":52,"idB":91,"type":0},{"idA":52,"idB":92,"type":0},{"idA":53,"idB":54,"type":0},{"idA":53,"idB":55,"type":0},{"idA":53,"idB":56,"type":0},{"idA":53,"idB":57,"type":0},{"idA":53,"idB":58,"type":0},{"idA":53,"idB":59,"type":1},{"idA":53,"idB":60,"type":0},{"idA":53,"idB":61,"type":0},{"idA":53,"idB":62,"type":0},{"idA":53,"idB":63,"type":0},{"idA":53,"idB":64,"type":0},{"idA":53,"idB":65,"type":0},{"idA":53,"idB":66,"type":0},{"idA":53,"idB":67,"type":0},{"idA":53,"idB":69,"type":0},{"idA":53,"idB":70,"type":0},{"idA":53,"idB":71,"type":1},{"idA":53,"idB":72,"type":0},{"idA":53,"idB":73,"type":0},{"idA":53,"idB":74,"type":0},{"idA":53,"idB":75,"type":1},{"idA":53,"idB":76,"type":0},{"idA":53,"idB":77,"type":0},{"idA":53,"idB":78,"type":0},{"idA":53,"idB":79,"type":0},{"idA":53,"idB":80,"type":0},{"idA":53,"idB":81,"type":0},{"idA":53,"idB":82,"type":0},{"idA":53,"idB":83,"type":0},{"idA":53,"idB":84,"type":0},{"idA":53,"idB":85,"type":0},{"idA":53,"idB":86,"type":0},{"idA":53,"idB":87,"type":0},{"idA":53,"idB":89,"type":0},{"idA":53,"idB":90,"type":0},{"idA":53,"idB":91,"type":0},{"idA":53,"idB":92,"type":0},{"idA":54,"idB":55,"type":0},{"idA":54,"idB":56,"type":0},{"idA":54,"idB":57,"type":0},{"idA":54,"idB":58,"type":0},{"idA":54,"idB":59,"type":0},{"idA":54,"idB":60,"type":0},{"idA":54,"idB":61,"type":0},{"idA":54,"idB":62,"type":0},{"idA":54,"idB":63,"type":0},{"idA":54,"idB":64,"type":0},{"idA":54,"idB":65,"type":0},{"idA":54,"idB":66,"type":0},{"idA":54,"idB":67,"type":0},{"idA":54,"idB":69,"type":0},{"idA":54,"idB":70,"type":0},{"idA":54,"idB":71,"type":0},{"idA":54,"idB":72,"type":0},{"idA":54,"idB":73,"type":0},{"idA":54,"idB":74,"type":0},{"idA":54,"idB":75,"type":0},{"idA":54,"idB":76,"type":0},{"idA":54,"idB":77,"type":0},{"idA":54,"idB":78,"type":0},{"idA":54,"idB":79,"type":0},{"idA":54,"idB":80,"type":0},{"idA":54,"idB":81,"type":0},{"idA":54,"idB":82,"type":0},{"idA":54,"idB":83,"type":0},{"idA":54,"idB":84,"type":0},{"idA":54,"idB":85,"type":0},{"idA":54,"idB":86,"type":0},{"idA":54,"idB":87,"type":0},{"idA":54,"idB":89,"type":0},{"idA":54,"idB":90,"type":0},{"idA":54,"idB":91,"type":0},{"idA":54,"idB":92,"type":0},{"idA":55,"idB":56,"type":0},{"idA":55,"idB":57,"type":0},{"idA":55,"idB":58,"type":0},{"idA":55,"idB":59,"type":0},{"idA":55,"idB":60,"type":0},{"idA":55,"idB":61,"type":0},{"idA":55,"idB":62,"type":0},{"idA":55,"idB":63,"type":0},{"idA":55,"idB":64,"type":0},{"idA":55,"idB":65,"type":0},{"idA":55,"idB":66,"type":0},{"idA":55,"idB":67,"type":0},{"idA":55,"idB":69,"type":0},{"idA":55,"idB":70,"type":0},{"idA":55,"idB":71,"type":0},{"idA":55,"idB":72,"type":0},{"idA":55,"idB":73,"type":0},{"idA":55,"idB":74,"type":0},{"idA":55,"idB":75,"type":0},{"idA":55,"idB":76,"type":0},{"idA":55,"idB":77,"type":0},{"idA":55,"idB":78,"type":0},{"idA":55,"idB":79,"type":0},{"idA":55,"idB":80,"type":0},{"idA":55,"idB":81,"type":0},{"idA":55,"idB":82,"type":0},{"idA":55,"idB":83,"type":0},{"idA":55,"idB":84,"type":0},{"idA":55,"idB":85,"type":0},{"idA":55,"idB":86,"type":0},{"idA":55,"idB":87,"type":0},{"idA":55,"idB":89,"type":0},{"idA":55,"idB":90,"type":0},{"idA":55,"idB":91,"type":0},{"idA":55,"idB":92,"type":0},{"idA":56,"idB":57,"type":0},{"idA":56,"idB":58,"type":0},{"idA":56,"idB":59,"type":0},{"idA":56,"idB":60,"type":0},{"idA":56,"idB":61,"type":0},{"idA":56,"idB":62,"type":0},{"idA":56,"idB":63,"type":0},{"idA":56,"idB":64,"type":0},{"idA":56,"idB":65,"type":0},{"idA":56,"idB":66,"type":0},{"idA":56,"idB":67,"type":0},{"idA":56,"idB":69,"type":0},{"idA":56,"idB":70,"type":0},{"idA":56,"idB":71,"type":0},{"idA":56,"idB":72,"type":0},{"idA":56,"idB":73,"type":0},{"idA":56,"idB":74,"type":0},{"idA":56,"idB":75,"type":0},{"idA":56,"idB":76,"type":0},{"idA":56,"idB":77,"type":0},{"idA":56,"idB":78,"type":0},{"idA":56,"idB":79,"type":0},{"idA":56,"idB":80,"type":0},{"idA":56,"idB":81,"type":0},{"idA":56,"idB":82,"type":0},{"idA":56,"idB":83,"type":0},{"idA":56,"idB":84,"type":0},{"idA":56,"idB":85,"type":0},{"idA":56,"idB":86,"type":0},{"idA":56,"idB":87,"type":0},{"idA":56,"idB":89,"type":0},{"idA":56,"idB":90,"type":0},{"idA":56,"idB":91,"type":0},{"idA":56,"idB":92,"type":0},{"idA":57,"idB":58,"type":0},{"idA":57,"idB":59,"type":0},{"idA":57,"idB":60,"type":0},{"idA":57,"idB":61,"type":0},{"idA":57,"idB":62,"type":0},{"idA":57,"idB":63,"type":0},{"idA":57,"idB":64,"type":0},{"idA":57,"idB":65,"type":0},{"idA":57,"idB":66,"type":0},{"idA":57,"idB":67,"type":0},{"idA":57,"idB":69,"type":0},{"idA":57,"idB":70,"type":0},{"idA":57,"idB":71,"type":0},{"idA":57,"idB":72,"type":0},{"idA":57,"idB":73,"type":0},{"idA":57,"idB":74,"type":0},{"idA":57,"idB":75,"type":0},{"idA":57,"idB":76,"type":0},{"idA":57,"idB":77,"type":0},{"idA":57,"idB":78,"type":0},{"idA":57,"idB":79,"type":0},{"idA":57,"idB":80,"type":0},{"idA":57,"idB":81,"type":0},{"idA":57,"idB":82,"type":0},{"idA":57,"idB":83,"type":0},{"idA":57,"idB":84,"type":0},{"idA":57,"idB":85,"type":0},{"idA":57,"idB":86,"type":0},{"idA":57,"idB":87,"type":0},{"idA":57,"idB":89,"type":0},{"idA":57,"idB":90,"type":0},{"idA":57,"idB":91,"type":0},{"idA":57,"idB":92,"type":0},{"idA":58,"idB":59,"type":0},{"idA":58,"idB":60,"type":0},{"idA":58,"idB":61,"type":0},{"idA":58,"idB":62,"type":0},{"idA":58,"idB":63,"type":0},{"idA":58,"idB":64,"type":0},{"idA":58,"idB":65,"type":0},{"idA":58,"idB":66,"type":0},{"idA":58,"idB":67,"type":0},{"idA":58,"idB":69,"type":0},{"idA":58,"idB":70,"type":0},{"idA":58,"idB":71,"type":0},{"idA":58,"idB":72,"type":0},{"idA":58,"idB":73,"type":0},{"idA":58,"idB":74,"type":0},{"idA":58,"idB":75,"type":0},{"idA":58,"idB":76,"type":0},{"idA":58,"idB":77,"type":0},{"idA":58,"idB":78,"type":0},{"idA":58,"idB":79,"type":0},{"idA":58,"idB":80,"type":0},{"idA":58,"idB":81,"type":0},{"idA":58,"idB":82,"type":0},{"idA":58,"idB":83,"type":0},{"idA":58,"idB":84,"type":0},{"idA":58,"idB":85,"type":0},{"idA":58,"idB":86,"type":0},{"idA":58,"idB":87,"type":0},{"idA":58,"idB":89,"type":0},{"idA":58,"idB":90,"type":0},{"idA":58,"idB":91,"type":0},{"idA":58,"idB":92,"type":0},{"idA":59,"idB":60,"type":0},{"idA":59,"idB":61,"type":0},{"idA":59,"idB":62,"type":0},{"idA":59,"idB":63,"type":0},{"idA":59,"idB":64,"type":0},{"idA":59,"idB":65,"type":0},{"idA":59,"idB":66,"type":0},{"idA":59,"idB":67,"type":0},{"idA":59,"idB":69,"type":0},{"idA":59,"idB":70,"type":0},{"idA":59,"idB":71,"type":0},{"idA":59,"idB":72,"type":0},{"idA":59,"idB":73,"type":0},{"idA":59,"idB":74,"type":0},{"idA":59,"idB":75,"type":0},{"idA":59,"idB":76,"type":0},{"idA":59,"idB":77,"type":0},{"idA":59,"idB":78,"type":0},{"idA":59,"idB":79,"type":0},{"idA":59,"idB":80,"type":0},{"idA":59,"idB":81,"type":0},{"idA":59,"idB":82,"type":0},{"idA":59,"idB":83,"type":0},{"idA":59,"idB":84,"type":0},{"idA":59,"idB":85,"type":0},{"idA":59,"idB":86,"type":0},{"idA":59,"idB":87,"type":0},{"idA":59,"idB":89,"type":0},{"idA":59,"idB":90,"type":0},{"idA":59,"idB":91,"type":0},{"idA":59,"idB":92,"type":0},{"idA":60,"idB":61,"type":0},{"idA":60,"idB":62,"type":0},{"idA":60,"idB":63,"type":0},{"idA":60,"idB":64,"type":0},{"idA":60,"idB":65,"type":0},{"idA":60,"idB":66,"type":0},{"idA":60,"idB":67,"type":0},{"idA":60,"idB":69,"type":0},{"idA":60,"idB":70,"type":0},{"idA":60,"idB":71,"type":0},{"idA":60,"idB":72,"type":0},{"idA":60,"idB":73,"type":0},{"idA":60,"idB":74,"type":0},{"idA":60,"idB":75,"type":0},{"idA":60,"idB":76,"type":0},{"idA":60,"idB":77,"type":0},{"idA":60,"idB":78,"type":0},{"idA":60,"idB":79,"type":0},{"idA":60,"idB":80,"type":0},{"idA":60,"idB":81,"type":0},{"idA":60,"idB":82,"type":0},{"idA":60,"idB":83,"type":0},{"idA":60,"idB":84,"type":0},{"idA":60,"idB":85,"type":0},{"idA":60,"idB":86,"type":0},{"idA":60,"idB":87,"type":0},{"idA":60,"idB":89,"type":0},{"idA":60,"idB":90,"type":0},{"idA":60,"idB":91,"type":0},{"idA":60,"idB":92,"type":0},{"idA":61,"idB":62,"type":0},{"idA":61,"idB":63,"type":0},{"idA":61,"idB":64,"type":0},{"idA":61,"idB":65,"type":0},{"idA":61,"idB":66,"type":0},{"idA":61,"idB":67,"type":0},{"idA":61,"idB":69,"type":0},{"idA":61,"idB":70,"type":0},{"idA":61,"idB":71,"type":0},{"idA":61,"idB":72,"type":0},{"idA":61,"idB":73,"type":0},{"idA":61,"idB":74,"type":0},{"idA":61,"idB":75,"type":0},{"idA":61,"idB":76,"type":0},{"idA":61,"idB":77,"type":0},{"idA":61,"idB":78,"type":0},{"idA":61,"idB":79,"type":0},{"idA":61,"idB":80,"type":0},{"idA":61,"idB":81,"type":0},{"idA":61,"idB":82,"type":0},{"idA":61,"idB":83,"type":0},{"idA":61,"idB":84,"type":0},{"idA":61,"idB":85,"type":0},{"idA":61,"idB":86,"type":0},{"idA":61,"idB":87,"type":0},{"idA":61,"idB":89,"type":0},{"idA":61,"idB":90,"type":0},{"idA":61,"idB":91,"type":0},{"idA":61,"idB":92,"type":0},{"idA":62,"idB":63,"type":0},{"idA":62,"idB":64,"type":0},{"idA":62,"idB":65,"type":0},{"idA":62,"idB":66,"type":0},{"idA":62,"idB":67,"type":0},{"idA":62,"idB":69,"type":0},{"idA":62,"idB":70,"type":0},{"idA":62,"idB":71,"type":0},{"idA":62,"idB":72,"type":0},{"idA":62,"idB":73,"type":0},{"idA":62,"idB":74,"type":0},{"idA":62,"idB":75,"type":0},{"idA":62,"idB":76,"type":0},{"idA":62,"idB":77,"type":0},{"idA":62,"idB":78,"type":0},{"idA":62,"idB":79,"type":0},{"idA":62,"idB":80,"type":0},{"idA":62,"idB":81,"type":0},{"idA":62,"idB":82,"type":0},{"idA":62,"idB":83,"type":0},{"idA":62,"idB":84,"type":0},{"idA":62,"idB":85,"type":0},{"idA":62,"idB":86,"type":0},{"idA":62,"idB":87,"type":0},{"idA":62,"idB":89,"type":0},{"idA":62,"idB":90,"type":0},{"idA":62,"idB":91,"type":0},{"idA":62,"idB":92,"type":0},{"idA":63,"idB":64,"type":0},{"idA":63,"idB":65,"type":0},{"idA":63,"idB":66,"type":0},{"idA":63,"idB":67,"type":0},{"idA":63,"idB":69,"type":0},{"idA":63,"idB":70,"type":0},{"idA":63,"idB":71,"type":0},{"idA":63,"idB":72,"type":0},{"idA":63,"idB":73,"type":0},{"idA":63,"idB":74,"type":0},{"idA":63,"idB":75,"type":0},{"idA":63,"idB":76,"type":0},{"idA":63,"idB":77,"type":0},{"idA":63,"idB":78,"type":0},{"idA":63,"idB":79,"type":0},{"idA":63,"idB":80,"type":0},{"idA":63,"idB":81,"type":0},{"idA":63,"idB":82,"type":0},{"idA":63,"idB":83,"type":0},{"idA":63,"idB":84,"type":0},{"idA":63,"idB":85,"type":0},{"idA":63,"idB":86,"type":0},{"idA":63,"idB":87,"type":0},{"idA":63,"idB":89,"type":0},{"idA":63,"idB":90,"type":0},{"idA":63,"idB":91,"type":0},{"idA":63,"idB":92,"type":0},{"idA":64,"idB":65,"type":0},{"idA":64,"idB":66,"type":0},{"idA":64,"idB":67,"type":0},{"idA":64,"idB":69,"type":0},{"idA":64,"idB":70,"type":0},{"idA":64,"idB":71,"type":0},{"idA":64,"idB":72,"type":0},{"idA":64,"idB":73,"type":0},{"idA":64,"idB":74,"type":0},{"idA":64,"idB":75,"type":0},{"idA":64,"idB":76,"type":0},{"idA":64,"idB":77,"type":0},{"idA":64,"idB":78,"type":0},{"idA":64,"idB":79,"type":0},{"idA":64,"idB":80,"type":0},{"idA":64,"idB":81,"type":0},{"idA":64,"idB":82,"type":0},{"idA":64,"idB":83,"type":0},{"idA":64,"idB":84,"type":0},{"idA":64,"idB":85,"type":0},{"idA":64,"idB":86,"type":0},{"idA":64,"idB":87,"type":0},{"idA":64,"idB":89,"type":0},{"idA":64,"idB":90,"type":0},{"idA":64,"idB":91,"type":0},{"idA":64,"idB":92,"type":0},{"idA":65,"idB":66,"type":0},{"idA":65,"idB":67,"type":0},{"idA":65,"idB":69,"type":0},{"idA":65,"idB":70,"type":0},{"idA":65,"idB":71,"type":0},{"idA":65,"idB":72,"type":0},{"idA":65,"idB":73,"type":0},{"idA":65,"idB":74,"type":0},{"idA":65,"idB":75,"type":0},{"idA":65,"idB":76,"type":0},{"idA":65,"idB":77,"type":0},{"idA":65,"idB":78,"type":0},{"idA":65,"idB":79,"type":0},{"idA":65,"idB":80,"type":0},{"idA":65,"idB":81,"type":0},{"idA":65,"idB":82,"type":0},{"idA":65,"idB":83,"type":0},{"idA":65,"idB":84,"type":0},{"idA":65,"idB":85,"type":0},{"idA":65,"idB":86,"type":0},{"idA":65,"idB":87,"type":0},{"idA":65,"idB":89,"type":0},{"idA":65,"idB":90,"type":0},{"idA":65,"idB":91,"type":0},{"idA":65,"idB":92,"type":0},{"idA":66,"idB":67,"type":0},{"idA":66,"idB":69,"type":0},{"idA":66,"idB":70,"type":0},{"idA":66,"idB":71,"type":0},{"idA":66,"idB":72,"type":0},{"idA":66,"idB":73,"type":0},{"idA":66,"idB":74,"type":0},{"idA":66,"idB":75,"type":0},{"idA":66,"idB":76,"type":0},{"idA":66,"idB":77,"type":0},{"idA":66,"idB":78,"type":0},{"idA":66,"idB":79,"type":0},{"idA":66,"idB":80,"type":0},{"idA":66,"idB":81,"type":0},{"idA":66,"idB":82,"type":0},{"idA":66,"idB":83,"type":0},{"idA":66,"idB":84,"type":0},{"idA":66,"idB":85,"type":0},{"idA":66,"idB":86,"type":0},{"idA":66,"idB":87,"type":0},{"idA":66,"idB":89,"type":0},{"idA":66,"idB":90,"type":0},{"idA":66,"idB":91,"type":0},{"idA":66,"idB":92,"type":0},{"idA":67,"idB":69,"type":0},{"idA":67,"idB":70,"type":0},{"idA":67,"idB":71,"type":0},{"idA":67,"idB":72,"type":0},{"idA":67,"idB":73,"type":0},{"idA":67,"idB":74,"type":0},{"idA":67,"idB":75,"type":0},{"idA":67,"idB":76,"type":0},{"idA":67,"idB":77,"type":0},{"idA":67,"idB":78,"type":0},{"idA":67,"idB":79,"type":0},{"idA":67,"idB":80,"type":0},{"idA":67,"idB":81,"type":0},{"idA":67,"idB":82,"type":0},{"idA":67,"idB":83,"type":0},{"idA":67,"idB":84,"type":0},{"idA":67,"idB":85,"type":0},{"idA":67,"idB":86,"type":0},{"idA":67,"idB":87,"type":0},{"idA":67,"idB":89,"type":0},{"idA":67,"idB":90,"type":0},{"idA":67,"idB":91,"type":0},{"idA":67,"idB":92,"type":0},{"idA":69,"idB":70,"type":0},{"idA":69,"idB":71,"type":0},{"idA":69,"idB":72,"type":0},{"idA":69,"idB":73,"type":0},{"idA":69,"idB":74,"type":0},{"idA":69,"idB":75,"type":0},{"idA":69,"idB":76,"type":0},{"idA":69,"idB":77,"type":0},{"idA":69,"idB":78,"type":0},{"idA":69,"idB":79,"type":0},{"idA":69,"idB":80,"type":0},{"idA":69,"idB":81,"type":0},{"idA":69,"idB":82,"type":0},{"idA":69,"idB":83,"type":0},{"idA":69,"idB":84,"type":0},{"idA":69,"idB":85,"type":0},{"idA":69,"idB":86,"type":0},{"idA":69,"idB":87,"type":0},{"idA":69,"idB":89,"type":0},{"idA":69,"idB":90,"type":0},{"idA":69,"idB":91,"type":0},{"idA":69,"idB":92,"type":0},{"idA":70,"idB":71,"type":0},{"idA":70,"idB":72,"type":0},{"idA":70,"idB":73,"type":0},{"idA":70,"idB":74,"type":0},{"idA":70,"idB":75,"type":0},{"idA":70,"idB":76,"type":0},{"idA":70,"idB":77,"type":0},{"idA":70,"idB":78,"type":0},{"idA":70,"idB":79,"type":0},{"idA":70,"idB":80,"type":0},{"idA":70,"idB":81,"type":0},{"idA":70,"idB":82,"type":0},{"idA":70,"idB":83,"type":0},{"idA":70,"idB":84,"type":0},{"idA":70,"idB":85,"type":0},{"idA":70,"idB":86,"type":0},{"idA":70,"idB":87,"type":0},{"idA":70,"idB":89,"type":0},{"idA":70,"idB":90,"type":0},{"idA":70,"idB":91,"type":0},{"idA":70,"idB":92,"type":0},{"idA":71,"idB":72,"type":0},{"idA":71,"idB":73,"type":0},{"idA":71,"idB":74,"type":0},{"idA":71,"idB":75,"type":0},{"idA":71,"idB":76,"type":0},{"idA":71,"idB":77,"type":0},{"idA":71,"idB":78,"type":0},{"idA":71,"idB":79,"type":0},{"idA":71,"idB":80,"type":0},{"idA":71,"idB":81,"type":0},{"idA":71,"idB":82,"type":0},{"idA":71,"idB":83,"type":0},{"idA":71,"idB":84,"type":0},{"idA":71,"idB":85,"type":0},{"idA":71,"idB":86,"type":0},{"idA":71,"idB":87,"type":0},{"idA":71,"idB":89,"type":0},{"idA":71,"idB":90,"type":0},{"idA":71,"idB":91,"type":0},{"idA":71,"idB":92,"type":0},{"idA":72,"idB":73,"type":0},{"idA":72,"idB":74,"type":0},{"idA":72,"idB":75,"type":0},{"idA":72,"idB":76,"type":0},{"idA":72,"idB":77,"type":0},{"idA":72,"idB":78,"type":0},{"idA":72,"idB":79,"type":0},{"idA":72,"idB":80,"type":0},{"idA":72,"idB":81,"type":0},{"idA":72,"idB":82,"type":0},{"idA":72,"idB":83,"type":0},{"idA":72,"idB":84,"type":0},{"idA":72,"idB":85,"type":0},{"idA":72,"idB":86,"type":0},{"idA":72,"idB":87,"type":0},{"idA":72,"idB":89,"type":0},{"idA":72,"idB":90,"type":0},{"idA":72,"idB":91,"type":0},{"idA":72,"idB":92,"type":0},{"idA":73,"idB":74,"type":0},{"idA":73,"idB":75,"type":0},{"idA":73,"idB":76,"type":0},{"idA":73,"idB":77,"type":0},{"idA":73,"idB":78,"type":0},{"idA":73,"idB":79,"type":0},{"idA":73,"idB":80,"type":0},{"idA":73,"idB":81,"type":0},{"idA":73,"idB":82,"type":0},{"idA":73,"idB":83,"type":0},{"idA":73,"idB":84,"type":0},{"idA":73,"idB":85,"type":0},{"idA":73,"idB":86,"type":0},{"idA":73,"idB":87,"type":0},{"idA":73,"idB":89,"type":0},{"idA":73,"idB":90,"type":0},{"idA":73,"idB":91,"type":0},{"idA":73,"idB":92,"type":0},{"idA":74,"idB":75,"type":0},{"idA":74,"idB":76,"type":0},{"idA":74,"idB":77,"type":0},{"idA":74,"idB":78,"type":0},{"idA":74,"idB":79,"type":0},{"idA":74,"idB":80,"type":0},{"idA":74,"idB":81,"type":0},{"idA":74,"idB":82,"type":0},{"idA":74,"idB":83,"type":0},{"idA":74,"idB":84,"type":0},{"idA":74,"idB":85,"type":0},{"idA":74,"idB":86,"type":0},{"idA":74,"idB":87,"type":0},{"idA":74,"idB":89,"type":0},{"idA":74,"idB":90,"type":0},{"idA":74,"idB":91,"type":0},{"idA":74,"idB":92,"type":0},{"idA":75,"idB":76,"type":0},{"idA":75,"idB":77,"type":0},{"idA":75,"idB":78,"type":0},{"idA":75,"idB":79,"type":0},{"idA":75,"idB":80,"type":0},{"idA":75,"idB":81,"type":0},{"idA":75,"idB":82,"type":0},{"idA":75,"idB":83,"type":0},{"idA":75,"idB":84,"type":0},{"idA":75,"idB":85,"type":0},{"idA":75,"idB":86,"type":0},{"idA":75,"idB":87,"type":0},{"idA":75,"idB":89,"type":0},{"idA":75,"idB":90,"type":0},{"idA":75,"idB":91,"type":0},{"idA":75,"idB":92,"type":0},{"idA":76,"idB":77,"type":0},{"idA":76,"idB":78,"type":0},{"idA":76,"idB":79,"type":0},{"idA":76,"idB":80,"type":0},{"idA":76,"idB":81,"type":0},{"idA":76,"idB":82,"type":0},{"idA":76,"idB":83,"type":0},{"idA":76,"idB":84,"type":0},{"idA":76,"idB":85,"type":0},{"idA":76,"idB":86,"type":0},{"idA":76,"idB":87,"type":0},{"idA":76,"idB":89,"type":0},{"idA":76,"idB":90,"type":0},{"idA":76,"idB":91,"type":0},{"idA":76,"idB":92,"type":0},{"idA":77,"idB":78,"type":0},{"idA":77,"idB":79,"type":0},{"idA":77,"idB":80,"type":0},{"idA":77,"idB":81,"type":0},{"idA":77,"idB":82,"type":0},{"idA":77,"idB":83,"type":0},{"idA":77,"idB":84,"type":0},{"idA":77,"idB":85,"type":0},{"idA":77,"idB":86,"type":0},{"idA":77,"idB":87,"type":0},{"idA":77,"idB":89,"type":0},{"idA":77,"idB":90,"type":0},{"idA":77,"idB":91,"type":0},{"idA":77,"idB":92,"type":0},{"idA":78,"idB":79,"type":0},{"idA":78,"idB":80,"type":0},{"idA":78,"idB":81,"type":0},{"idA":78,"idB":82,"type":0},{"idA":78,"idB":83,"type":0},{"idA":78,"idB":84,"type":0},{"idA":78,"idB":85,"type":0},{"idA":78,"idB":86,"type":0},{"idA":78,"idB":87,"type":0},{"idA":78,"idB":89,"type":0},{"idA":78,"idB":90,"type":0},{"idA":78,"idB":91,"type":0},{"idA":78,"idB":92,"type":0},{"idA":79,"idB":80,"type":0},{"idA":79,"idB":81,"type":0},{"idA":79,"idB":82,"type":0},{"idA":79,"idB":83,"type":0},{"idA":79,"idB":84,"type":1},{"idA":79,"idB":85,"type":1},{"idA":79,"idB":86,"type":0},{"idA":79,"idB":87,"type":0},{"idA":79,"idB":89,"type":0},{"idA":79,"idB":90,"type":0},{"idA":79,"idB":91,"type":0},{"idA":79,"idB":92,"type":0},{"idA":80,"idB":81,"type":0},{"idA":80,"idB":82,"type":1},{"idA":80,"idB":83,"type":0},{"idA":80,"idB":84,"type":0},{"idA":80,"idB":85,"type":0},{"idA":80,"idB":86,"type":0},{"idA":80,"idB":87,"type":0},{"idA":80,"idB":89,"type":0},{"idA":80,"idB":90,"type":0},{"idA":80,"idB":91,"type":0},{"idA":80,"idB":92,"type":0},{"idA":81,"idB":82,"type":1},{"idA":81,"idB":83,"type":0},{"idA":81,"idB":84,"type":0},{"idA":81,"idB":85,"type":0},{"idA":81,"idB":86,"type":1},{"idA":81,"idB":87,"type":0},{"idA":81,"idB":89,"type":0},{"idA":81,"idB":90,"type":0},{"idA":81,"idB":91,"type":0},{"idA":81,"idB":92,"type":0},{"idA":82,"idB":83,"type":0},{"idA":82,"idB":84,"type":0},{"idA":82,"idB":85,"type":0},{"idA":82,"idB":86,"type":0},{"idA":82,"idB":87,"type":0},{"idA":82,"idB":89,"type":0},{"idA":82,"idB":90,"type":0},{"idA":82,"idB":91,"type":0},{"idA":82,"idB":92,"type":0},{"idA":83,"idB":84,"type":0},{"idA":83,"idB":85,"type":1},{"idA":83,"idB":86,"type":0},{"idA":83,"idB":87,"type":0},{"idA":83,"idB":89,"type":0},{"idA":83,"idB":90,"type":0},{"idA":83,"idB":91,"type":0},{"idA":83,"idB":92,"type":0},{"idA":84,"idB":85,"type":0},{"idA":84,"idB":86,"type":0},{"idA":84,"idB":87,"type":0},{"idA":84,"idB":89,"type":0},{"idA":84,"idB":90,"type":0},{"idA":84,"idB":91,"type":0},{"idA":84,"idB":92,"type":0},{"idA":85,"idB":86,"type":0},{"idA":85,"idB":87,"type":0},{"idA":85,"idB":89,"type":0},{"idA":85,"idB":90,"type":0},{"idA":85,"idB":91,"type":0},{"idA":85,"idB":92,"type":0},{"idA":86,"idB":87,"type":0},{"idA":86,"idB":89,"type":0},{"idA":86,"idB":90,"type":0},{"idA":86,"idB":91,"type":0},{"idA":86,"idB":92,"type":0},{"idA":87,"idB":89,"type":0},{"idA":87,"idB":90,"type":0},{"idA":87,"idB":91,"type":0},{"idA":87,"idB":92,"type":0},{"idA":89,"idB":90,"type":0},{"idA":89,"idB":91,"type":0},{"idA":89,"idB":92,"type":0},{"idA":90,"idB":91,"type":0},{"idA":90,"idB":92,"type":0},{"idA":91,"idB":92,"type":0},{"idA":48,"idB":49,"type":1},{"idA":48,"idB":50,"type":1},{"idA":49,"idB":50,"type":0}]} +{"subject":{"id":3,"name":"Clarisse","surveys":["facebook","phone"],"creation":1479898736},"contacts":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46],"relations":[{"idA":1,"idB":2,"type":6},{"idA":1,"idB":3,"type":6},{"idA":1,"idB":4,"type":6},{"idA":1,"idB":5,"type":6},{"idA":1,"idB":6,"type":6},{"idA":1,"idB":7,"type":6},{"idA":1,"idB":8,"type":6},{"idA":1,"idB":9,"type":6},{"idA":1,"idB":10,"type":6},{"idA":1,"idB":11,"type":6},{"idA":1,"idB":12,"type":6},{"idA":1,"idB":13,"type":6},{"idA":1,"idB":14,"type":6},{"idA":1,"idB":15,"type":6},{"idA":1,"idB":16,"type":6},{"idA":1,"idB":17,"type":6},{"idA":1,"idB":18,"type":6},{"idA":1,"idB":19,"type":6},{"idA":1,"idB":20,"type":6},{"idA":1,"idB":21,"type":6},{"idA":1,"idB":23,"type":7},{"idA":1,"idB":24,"type":7},{"idA":1,"idB":25,"type":7},{"idA":1,"idB":26,"type":7},{"idA":1,"idB":27,"type":7},{"idA":1,"idB":28,"type":7},{"idA":1,"idB":29,"type":7},{"idA":1,"idB":30,"type":7},{"idA":1,"idB":31,"type":7},{"idA":1,"idB":32,"type":7},{"idA":1,"idB":33,"type":7},{"idA":1,"idB":34,"type":7},{"idA":1,"idB":35,"type":7},{"idA":1,"idB":36,"type":7},{"idA":1,"idB":37,"type":7},{"idA":1,"idB":38,"type":7},{"idA":1,"idB":39,"type":7},{"idA":1,"idB":40,"type":7},{"idA":1,"idB":41,"type":7},{"idA":1,"idB":43,"type":3},{"idA":1,"idB":44,"type":3},{"idA":1,"idB":45,"type":3},{"idA":1,"idB":46,"type":3},{"idA":2,"idB":3,"type":1},{"idA":2,"idB":4,"type":1},{"idA":2,"idB":5,"type":0},{"idA":2,"idB":6,"type":0},{"idA":2,"idB":7,"type":0},{"idA":2,"idB":8,"type":0},{"idA":2,"idB":9,"type":0},{"idA":2,"idB":10,"type":0},{"idA":2,"idB":11,"type":0},{"idA":2,"idB":12,"type":0},{"idA":2,"idB":13,"type":1},{"idA":2,"idB":14,"type":0},{"idA":2,"idB":15,"type":0},{"idA":2,"idB":16,"type":0},{"idA":2,"idB":17,"type":0},{"idA":2,"idB":18,"type":0},{"idA":2,"idB":19,"type":0},{"idA":2,"idB":20,"type":0},{"idA":2,"idB":21,"type":0},{"idA":2,"idB":23,"type":0},{"idA":2,"idB":24,"type":0},{"idA":2,"idB":25,"type":0},{"idA":2,"idB":26,"type":0},{"idA":2,"idB":27,"type":1},{"idA":2,"idB":28,"type":0},{"idA":2,"idB":29,"type":0},{"idA":2,"idB":30,"type":1},{"idA":2,"idB":31,"type":0},{"idA":2,"idB":32,"type":0},{"idA":2,"idB":33,"type":0},{"idA":2,"idB":34,"type":0},{"idA":2,"idB":35,"type":0},{"idA":2,"idB":36,"type":0},{"idA":2,"idB":37,"type":0},{"idA":2,"idB":38,"type":0},{"idA":2,"idB":39,"type":0},{"idA":2,"idB":40,"type":0},{"idA":2,"idB":41,"type":0},{"idA":2,"idB":43,"type":0},{"idA":2,"idB":44,"type":0},{"idA":2,"idB":45,"type":0},{"idA":2,"idB":46,"type":0},{"idA":3,"idB":4,"type":0},{"idA":3,"idB":5,"type":0},{"idA":3,"idB":6,"type":0},{"idA":3,"idB":7,"type":0},{"idA":3,"idB":8,"type":0},{"idA":3,"idB":9,"type":0},{"idA":3,"idB":10,"type":0},{"idA":3,"idB":11,"type":0},{"idA":3,"idB":12,"type":0},{"idA":3,"idB":13,"type":0},{"idA":3,"idB":14,"type":0},{"idA":3,"idB":15,"type":0},{"idA":3,"idB":16,"type":0},{"idA":3,"idB":17,"type":0},{"idA":3,"idB":18,"type":0},{"idA":3,"idB":19,"type":0},{"idA":3,"idB":20,"type":0},{"idA":3,"idB":21,"type":0},{"idA":3,"idB":23,"type":0},{"idA":3,"idB":24,"type":0},{"idA":3,"idB":25,"type":0},{"idA":3,"idB":26,"type":0},{"idA":3,"idB":27,"type":0},{"idA":3,"idB":28,"type":0},{"idA":3,"idB":29,"type":0},{"idA":3,"idB":30,"type":0},{"idA":3,"idB":31,"type":0},{"idA":3,"idB":32,"type":0},{"idA":3,"idB":33,"type":0},{"idA":3,"idB":34,"type":0},{"idA":3,"idB":35,"type":0},{"idA":3,"idB":36,"type":0},{"idA":3,"idB":37,"type":0},{"idA":3,"idB":38,"type":0},{"idA":3,"idB":39,"type":0},{"idA":3,"idB":40,"type":0},{"idA":3,"idB":41,"type":0},{"idA":3,"idB":43,"type":0},{"idA":3,"idB":44,"type":0},{"idA":3,"idB":45,"type":0},{"idA":3,"idB":46,"type":0},{"idA":4,"idB":5,"type":0},{"idA":4,"idB":6,"type":0},{"idA":4,"idB":7,"type":0},{"idA":4,"idB":8,"type":0},{"idA":4,"idB":9,"type":0},{"idA":4,"idB":10,"type":0},{"idA":4,"idB":11,"type":0},{"idA":4,"idB":12,"type":0},{"idA":4,"idB":13,"type":0},{"idA":4,"idB":14,"type":0},{"idA":4,"idB":15,"type":0},{"idA":4,"idB":16,"type":0},{"idA":4,"idB":17,"type":0},{"idA":4,"idB":18,"type":0},{"idA":4,"idB":19,"type":0},{"idA":4,"idB":20,"type":0},{"idA":4,"idB":21,"type":0},{"idA":4,"idB":23,"type":0},{"idA":4,"idB":24,"type":0},{"idA":4,"idB":25,"type":0},{"idA":4,"idB":26,"type":0},{"idA":4,"idB":27,"type":0},{"idA":4,"idB":28,"type":0},{"idA":4,"idB":29,"type":0},{"idA":4,"idB":30,"type":0},{"idA":4,"idB":31,"type":0},{"idA":4,"idB":32,"type":0},{"idA":4,"idB":33,"type":0},{"idA":4,"idB":34,"type":0},{"idA":4,"idB":35,"type":0},{"idA":4,"idB":36,"type":0},{"idA":4,"idB":37,"type":0},{"idA":4,"idB":38,"type":0},{"idA":4,"idB":39,"type":0},{"idA":4,"idB":40,"type":0},{"idA":4,"idB":41,"type":0},{"idA":4,"idB":43,"type":0},{"idA":4,"idB":44,"type":0},{"idA":4,"idB":45,"type":0},{"idA":4,"idB":46,"type":0},{"idA":5,"idB":6,"type":0},{"idA":5,"idB":7,"type":0},{"idA":5,"idB":8,"type":0},{"idA":5,"idB":9,"type":0},{"idA":5,"idB":10,"type":0},{"idA":5,"idB":11,"type":0},{"idA":5,"idB":12,"type":0},{"idA":5,"idB":13,"type":0},{"idA":5,"idB":14,"type":0},{"idA":5,"idB":15,"type":0},{"idA":5,"idB":16,"type":0},{"idA":5,"idB":17,"type":0},{"idA":5,"idB":18,"type":0},{"idA":5,"idB":19,"type":0},{"idA":5,"idB":20,"type":0},{"idA":5,"idB":21,"type":0},{"idA":5,"idB":23,"type":0},{"idA":5,"idB":24,"type":0},{"idA":5,"idB":25,"type":0},{"idA":5,"idB":26,"type":0},{"idA":5,"idB":27,"type":0},{"idA":5,"idB":28,"type":0},{"idA":5,"idB":29,"type":0},{"idA":5,"idB":30,"type":0},{"idA":5,"idB":31,"type":0},{"idA":5,"idB":32,"type":0},{"idA":5,"idB":33,"type":0},{"idA":5,"idB":34,"type":0},{"idA":5,"idB":35,"type":0},{"idA":5,"idB":36,"type":0},{"idA":5,"idB":37,"type":0},{"idA":5,"idB":38,"type":0},{"idA":5,"idB":39,"type":0},{"idA":5,"idB":40,"type":0},{"idA":5,"idB":41,"type":0},{"idA":5,"idB":43,"type":0},{"idA":5,"idB":44,"type":0},{"idA":5,"idB":45,"type":0},{"idA":5,"idB":46,"type":0},{"idA":6,"idB":7,"type":0},{"idA":6,"idB":8,"type":0},{"idA":6,"idB":9,"type":0},{"idA":6,"idB":10,"type":0},{"idA":6,"idB":11,"type":0},{"idA":6,"idB":12,"type":0},{"idA":6,"idB":13,"type":0},{"idA":6,"idB":14,"type":0},{"idA":6,"idB":15,"type":0},{"idA":6,"idB":16,"type":0},{"idA":6,"idB":17,"type":0},{"idA":6,"idB":18,"type":1},{"idA":6,"idB":19,"type":0},{"idA":6,"idB":20,"type":0},{"idA":6,"idB":21,"type":0},{"idA":6,"idB":23,"type":0},{"idA":6,"idB":24,"type":0},{"idA":6,"idB":25,"type":0},{"idA":6,"idB":26,"type":0},{"idA":6,"idB":27,"type":0},{"idA":6,"idB":28,"type":1},{"idA":6,"idB":29,"type":0},{"idA":6,"idB":30,"type":0},{"idA":6,"idB":31,"type":0},{"idA":6,"idB":32,"type":0},{"idA":6,"idB":33,"type":0},{"idA":6,"idB":34,"type":0},{"idA":6,"idB":35,"type":0},{"idA":6,"idB":36,"type":0},{"idA":6,"idB":37,"type":0},{"idA":6,"idB":38,"type":0},{"idA":6,"idB":39,"type":0},{"idA":6,"idB":40,"type":0},{"idA":6,"idB":41,"type":0},{"idA":6,"idB":43,"type":0},{"idA":6,"idB":44,"type":0},{"idA":6,"idB":45,"type":0},{"idA":6,"idB":46,"type":0},{"idA":7,"idB":8,"type":0},{"idA":7,"idB":9,"type":0},{"idA":7,"idB":10,"type":0},{"idA":7,"idB":11,"type":0},{"idA":7,"idB":12,"type":0},{"idA":7,"idB":13,"type":1},{"idA":7,"idB":14,"type":0},{"idA":7,"idB":15,"type":0},{"idA":7,"idB":16,"type":0},{"idA":7,"idB":17,"type":0},{"idA":7,"idB":18,"type":0},{"idA":7,"idB":19,"type":0},{"idA":7,"idB":20,"type":0},{"idA":7,"idB":21,"type":0},{"idA":7,"idB":23,"type":0},{"idA":7,"idB":24,"type":0},{"idA":7,"idB":25,"type":1},{"idA":7,"idB":26,"type":0},{"idA":7,"idB":27,"type":0},{"idA":7,"idB":28,"type":0},{"idA":7,"idB":29,"type":1},{"idA":7,"idB":30,"type":0},{"idA":7,"idB":31,"type":0},{"idA":7,"idB":32,"type":0},{"idA":7,"idB":33,"type":0},{"idA":7,"idB":34,"type":0},{"idA":7,"idB":35,"type":0},{"idA":7,"idB":36,"type":0},{"idA":7,"idB":37,"type":0},{"idA":7,"idB":38,"type":0},{"idA":7,"idB":39,"type":0},{"idA":7,"idB":40,"type":0},{"idA":7,"idB":41,"type":0},{"idA":7,"idB":43,"type":0},{"idA":7,"idB":44,"type":0},{"idA":7,"idB":45,"type":0},{"idA":7,"idB":46,"type":0},{"idA":8,"idB":9,"type":0},{"idA":8,"idB":10,"type":0},{"idA":8,"idB":11,"type":0},{"idA":8,"idB":12,"type":0},{"idA":8,"idB":13,"type":0},{"idA":8,"idB":14,"type":0},{"idA":8,"idB":15,"type":0},{"idA":8,"idB":16,"type":0},{"idA":8,"idB":17,"type":0},{"idA":8,"idB":18,"type":0},{"idA":8,"idB":19,"type":0},{"idA":8,"idB":20,"type":0},{"idA":8,"idB":21,"type":0},{"idA":8,"idB":23,"type":0},{"idA":8,"idB":24,"type":0},{"idA":8,"idB":25,"type":0},{"idA":8,"idB":26,"type":0},{"idA":8,"idB":27,"type":0},{"idA":8,"idB":28,"type":0},{"idA":8,"idB":29,"type":0},{"idA":8,"idB":30,"type":0},{"idA":8,"idB":31,"type":0},{"idA":8,"idB":32,"type":0},{"idA":8,"idB":33,"type":0},{"idA":8,"idB":34,"type":0},{"idA":8,"idB":35,"type":0},{"idA":8,"idB":36,"type":0},{"idA":8,"idB":37,"type":0},{"idA":8,"idB":38,"type":0},{"idA":8,"idB":39,"type":0},{"idA":8,"idB":40,"type":0},{"idA":8,"idB":41,"type":0},{"idA":8,"idB":43,"type":0},{"idA":8,"idB":44,"type":0},{"idA":8,"idB":45,"type":0},{"idA":8,"idB":46,"type":0},{"idA":9,"idB":10,"type":0},{"idA":9,"idB":11,"type":0},{"idA":9,"idB":12,"type":0},{"idA":9,"idB":13,"type":0},{"idA":9,"idB":14,"type":0},{"idA":9,"idB":15,"type":0},{"idA":9,"idB":16,"type":0},{"idA":9,"idB":17,"type":0},{"idA":9,"idB":18,"type":0},{"idA":9,"idB":19,"type":0},{"idA":9,"idB":20,"type":0},{"idA":9,"idB":21,"type":0},{"idA":9,"idB":23,"type":0},{"idA":9,"idB":24,"type":0},{"idA":9,"idB":25,"type":0},{"idA":9,"idB":26,"type":0},{"idA":9,"idB":27,"type":0},{"idA":9,"idB":28,"type":0},{"idA":9,"idB":29,"type":0},{"idA":9,"idB":30,"type":0},{"idA":9,"idB":31,"type":0},{"idA":9,"idB":32,"type":0},{"idA":9,"idB":33,"type":0},{"idA":9,"idB":34,"type":0},{"idA":9,"idB":35,"type":0},{"idA":9,"idB":36,"type":0},{"idA":9,"idB":37,"type":0},{"idA":9,"idB":38,"type":0},{"idA":9,"idB":39,"type":0},{"idA":9,"idB":40,"type":0},{"idA":9,"idB":41,"type":0},{"idA":9,"idB":43,"type":0},{"idA":9,"idB":44,"type":0},{"idA":9,"idB":45,"type":0},{"idA":9,"idB":46,"type":0},{"idA":10,"idB":11,"type":0},{"idA":10,"idB":12,"type":0},{"idA":10,"idB":13,"type":0},{"idA":10,"idB":14,"type":0},{"idA":10,"idB":15,"type":0},{"idA":10,"idB":16,"type":0},{"idA":10,"idB":17,"type":0},{"idA":10,"idB":18,"type":0},{"idA":10,"idB":19,"type":0},{"idA":10,"idB":20,"type":0},{"idA":10,"idB":21,"type":0},{"idA":10,"idB":23,"type":0},{"idA":10,"idB":24,"type":0},{"idA":10,"idB":25,"type":0},{"idA":10,"idB":26,"type":0},{"idA":10,"idB":27,"type":0},{"idA":10,"idB":28,"type":0},{"idA":10,"idB":29,"type":0},{"idA":10,"idB":30,"type":0},{"idA":10,"idB":31,"type":0},{"idA":10,"idB":32,"type":0},{"idA":10,"idB":33,"type":0},{"idA":10,"idB":34,"type":0},{"idA":10,"idB":35,"type":0},{"idA":10,"idB":36,"type":0},{"idA":10,"idB":37,"type":0},{"idA":10,"idB":38,"type":0},{"idA":10,"idB":39,"type":0},{"idA":10,"idB":40,"type":0},{"idA":10,"idB":41,"type":0},{"idA":10,"idB":43,"type":0},{"idA":10,"idB":44,"type":0},{"idA":10,"idB":45,"type":0},{"idA":10,"idB":46,"type":0},{"idA":11,"idB":12,"type":0},{"idA":11,"idB":13,"type":0},{"idA":11,"idB":14,"type":0},{"idA":11,"idB":15,"type":0},{"idA":11,"idB":16,"type":0},{"idA":11,"idB":17,"type":0},{"idA":11,"idB":18,"type":0},{"idA":11,"idB":19,"type":0},{"idA":11,"idB":20,"type":0},{"idA":11,"idB":21,"type":0},{"idA":11,"idB":23,"type":0},{"idA":11,"idB":24,"type":0},{"idA":11,"idB":25,"type":0},{"idA":11,"idB":26,"type":0},{"idA":11,"idB":27,"type":0},{"idA":11,"idB":28,"type":0},{"idA":11,"idB":29,"type":0},{"idA":11,"idB":30,"type":0},{"idA":11,"idB":31,"type":0},{"idA":11,"idB":32,"type":0},{"idA":11,"idB":33,"type":0},{"idA":11,"idB":34,"type":0},{"idA":11,"idB":35,"type":0},{"idA":11,"idB":36,"type":0},{"idA":11,"idB":37,"type":0},{"idA":11,"idB":38,"type":0},{"idA":11,"idB":39,"type":0},{"idA":11,"idB":40,"type":0},{"idA":11,"idB":41,"type":0},{"idA":11,"idB":43,"type":0},{"idA":11,"idB":44,"type":0},{"idA":11,"idB":45,"type":0},{"idA":11,"idB":46,"type":0},{"idA":12,"idB":13,"type":0},{"idA":12,"idB":14,"type":0},{"idA":12,"idB":15,"type":0},{"idA":12,"idB":16,"type":0},{"idA":12,"idB":17,"type":0},{"idA":12,"idB":18,"type":0},{"idA":12,"idB":19,"type":0},{"idA":12,"idB":20,"type":0},{"idA":12,"idB":21,"type":0},{"idA":12,"idB":23,"type":0},{"idA":12,"idB":24,"type":0},{"idA":12,"idB":25,"type":0},{"idA":12,"idB":26,"type":0},{"idA":12,"idB":27,"type":0},{"idA":12,"idB":28,"type":0},{"idA":12,"idB":29,"type":0},{"idA":12,"idB":30,"type":0},{"idA":12,"idB":31,"type":0},{"idA":12,"idB":32,"type":0},{"idA":12,"idB":33,"type":0},{"idA":12,"idB":34,"type":0},{"idA":12,"idB":35,"type":0},{"idA":12,"idB":36,"type":0},{"idA":12,"idB":37,"type":0},{"idA":12,"idB":38,"type":0},{"idA":12,"idB":39,"type":0},{"idA":12,"idB":40,"type":0},{"idA":12,"idB":41,"type":0},{"idA":12,"idB":43,"type":0},{"idA":12,"idB":44,"type":0},{"idA":12,"idB":45,"type":0},{"idA":12,"idB":46,"type":0},{"idA":13,"idB":14,"type":0},{"idA":13,"idB":15,"type":0},{"idA":13,"idB":16,"type":0},{"idA":13,"idB":17,"type":0},{"idA":13,"idB":18,"type":0},{"idA":13,"idB":19,"type":0},{"idA":13,"idB":20,"type":0},{"idA":13,"idB":21,"type":0},{"idA":13,"idB":23,"type":0},{"idA":13,"idB":24,"type":0},{"idA":13,"idB":25,"type":0},{"idA":13,"idB":26,"type":0},{"idA":13,"idB":27,"type":0},{"idA":13,"idB":28,"type":0},{"idA":13,"idB":29,"type":0},{"idA":13,"idB":30,"type":0},{"idA":13,"idB":31,"type":0},{"idA":13,"idB":32,"type":0},{"idA":13,"idB":33,"type":0},{"idA":13,"idB":34,"type":0},{"idA":13,"idB":35,"type":0},{"idA":13,"idB":36,"type":0},{"idA":13,"idB":37,"type":0},{"idA":13,"idB":38,"type":0},{"idA":13,"idB":39,"type":0},{"idA":13,"idB":40,"type":0},{"idA":13,"idB":41,"type":0},{"idA":13,"idB":43,"type":0},{"idA":13,"idB":44,"type":0},{"idA":13,"idB":45,"type":0},{"idA":13,"idB":46,"type":0},{"idA":14,"idB":15,"type":0},{"idA":14,"idB":16,"type":0},{"idA":14,"idB":17,"type":0},{"idA":14,"idB":18,"type":0},{"idA":14,"idB":19,"type":0},{"idA":14,"idB":20,"type":0},{"idA":14,"idB":21,"type":0},{"idA":14,"idB":23,"type":0},{"idA":14,"idB":24,"type":0},{"idA":14,"idB":25,"type":0},{"idA":14,"idB":26,"type":0},{"idA":14,"idB":27,"type":0},{"idA":14,"idB":28,"type":0},{"idA":14,"idB":29,"type":0},{"idA":14,"idB":30,"type":0},{"idA":14,"idB":31,"type":0},{"idA":14,"idB":32,"type":0},{"idA":14,"idB":33,"type":0},{"idA":14,"idB":34,"type":0},{"idA":14,"idB":35,"type":0},{"idA":14,"idB":36,"type":0},{"idA":14,"idB":37,"type":0},{"idA":14,"idB":38,"type":0},{"idA":14,"idB":39,"type":0},{"idA":14,"idB":40,"type":0},{"idA":14,"idB":41,"type":0},{"idA":14,"idB":43,"type":0},{"idA":14,"idB":44,"type":0},{"idA":14,"idB":45,"type":0},{"idA":14,"idB":46,"type":0},{"idA":15,"idB":16,"type":0},{"idA":15,"idB":17,"type":0},{"idA":15,"idB":18,"type":0},{"idA":15,"idB":19,"type":0},{"idA":15,"idB":20,"type":0},{"idA":15,"idB":21,"type":0},{"idA":15,"idB":23,"type":0},{"idA":15,"idB":24,"type":0},{"idA":15,"idB":25,"type":0},{"idA":15,"idB":26,"type":0},{"idA":15,"idB":27,"type":0},{"idA":15,"idB":28,"type":0},{"idA":15,"idB":29,"type":0},{"idA":15,"idB":30,"type":0},{"idA":15,"idB":31,"type":0},{"idA":15,"idB":32,"type":0},{"idA":15,"idB":33,"type":0},{"idA":15,"idB":34,"type":0},{"idA":15,"idB":35,"type":0},{"idA":15,"idB":36,"type":0},{"idA":15,"idB":37,"type":0},{"idA":15,"idB":38,"type":0},{"idA":15,"idB":39,"type":0},{"idA":15,"idB":40,"type":0},{"idA":15,"idB":41,"type":0},{"idA":15,"idB":43,"type":0},{"idA":15,"idB":44,"type":0},{"idA":15,"idB":45,"type":0},{"idA":15,"idB":46,"type":0},{"idA":16,"idB":17,"type":0},{"idA":16,"idB":18,"type":0},{"idA":16,"idB":19,"type":0},{"idA":16,"idB":20,"type":0},{"idA":16,"idB":21,"type":0},{"idA":16,"idB":23,"type":0},{"idA":16,"idB":24,"type":0},{"idA":16,"idB":25,"type":0},{"idA":16,"idB":26,"type":0},{"idA":16,"idB":27,"type":0},{"idA":16,"idB":28,"type":0},{"idA":16,"idB":29,"type":0},{"idA":16,"idB":30,"type":0},{"idA":16,"idB":31,"type":0},{"idA":16,"idB":32,"type":0},{"idA":16,"idB":33,"type":0},{"idA":16,"idB":34,"type":0},{"idA":16,"idB":35,"type":0},{"idA":16,"idB":36,"type":0},{"idA":16,"idB":37,"type":0},{"idA":16,"idB":38,"type":0},{"idA":16,"idB":39,"type":0},{"idA":16,"idB":40,"type":0},{"idA":16,"idB":41,"type":0},{"idA":16,"idB":43,"type":0},{"idA":16,"idB":44,"type":0},{"idA":16,"idB":45,"type":0},{"idA":16,"idB":46,"type":0},{"idA":17,"idB":18,"type":0},{"idA":17,"idB":19,"type":0},{"idA":17,"idB":20,"type":0},{"idA":17,"idB":21,"type":0},{"idA":17,"idB":23,"type":0},{"idA":17,"idB":24,"type":0},{"idA":17,"idB":25,"type":0},{"idA":17,"idB":26,"type":0},{"idA":17,"idB":27,"type":0},{"idA":17,"idB":28,"type":0},{"idA":17,"idB":29,"type":0},{"idA":17,"idB":30,"type":0},{"idA":17,"idB":31,"type":0},{"idA":17,"idB":32,"type":0},{"idA":17,"idB":33,"type":0},{"idA":17,"idB":34,"type":0},{"idA":17,"idB":35,"type":0},{"idA":17,"idB":36,"type":0},{"idA":17,"idB":37,"type":0},{"idA":17,"idB":38,"type":0},{"idA":17,"idB":39,"type":0},{"idA":17,"idB":40,"type":0},{"idA":17,"idB":41,"type":0},{"idA":17,"idB":43,"type":0},{"idA":17,"idB":44,"type":0},{"idA":17,"idB":45,"type":0},{"idA":17,"idB":46,"type":0},{"idA":18,"idB":19,"type":0},{"idA":18,"idB":20,"type":0},{"idA":18,"idB":21,"type":0},{"idA":18,"idB":23,"type":0},{"idA":18,"idB":24,"type":0},{"idA":18,"idB":25,"type":0},{"idA":18,"idB":26,"type":0},{"idA":18,"idB":27,"type":0},{"idA":18,"idB":28,"type":0},{"idA":18,"idB":29,"type":0},{"idA":18,"idB":30,"type":0},{"idA":18,"idB":31,"type":0},{"idA":18,"idB":32,"type":0},{"idA":18,"idB":33,"type":0},{"idA":18,"idB":34,"type":0},{"idA":18,"idB":35,"type":0},{"idA":18,"idB":36,"type":0},{"idA":18,"idB":37,"type":0},{"idA":18,"idB":38,"type":0},{"idA":18,"idB":39,"type":0},{"idA":18,"idB":40,"type":0},{"idA":18,"idB":41,"type":0},{"idA":18,"idB":43,"type":0},{"idA":18,"idB":44,"type":0},{"idA":18,"idB":45,"type":0},{"idA":18,"idB":46,"type":0},{"idA":19,"idB":20,"type":0},{"idA":19,"idB":21,"type":0},{"idA":19,"idB":23,"type":0},{"idA":19,"idB":24,"type":0},{"idA":19,"idB":25,"type":0},{"idA":19,"idB":26,"type":0},{"idA":19,"idB":27,"type":0},{"idA":19,"idB":28,"type":0},{"idA":19,"idB":29,"type":0},{"idA":19,"idB":30,"type":0},{"idA":19,"idB":31,"type":0},{"idA":19,"idB":32,"type":0},{"idA":19,"idB":33,"type":0},{"idA":19,"idB":34,"type":0},{"idA":19,"idB":35,"type":0},{"idA":19,"idB":36,"type":0},{"idA":19,"idB":37,"type":0},{"idA":19,"idB":38,"type":0},{"idA":19,"idB":39,"type":0},{"idA":19,"idB":40,"type":0},{"idA":19,"idB":41,"type":0},{"idA":19,"idB":43,"type":0},{"idA":19,"idB":44,"type":0},{"idA":19,"idB":45,"type":0},{"idA":19,"idB":46,"type":0},{"idA":20,"idB":21,"type":0},{"idA":20,"idB":23,"type":0},{"idA":20,"idB":24,"type":0},{"idA":20,"idB":25,"type":0},{"idA":20,"idB":26,"type":0},{"idA":20,"idB":27,"type":0},{"idA":20,"idB":28,"type":0},{"idA":20,"idB":29,"type":0},{"idA":20,"idB":30,"type":0},{"idA":20,"idB":31,"type":0},{"idA":20,"idB":32,"type":0},{"idA":20,"idB":33,"type":0},{"idA":20,"idB":34,"type":0},{"idA":20,"idB":35,"type":0},{"idA":20,"idB":36,"type":0},{"idA":20,"idB":37,"type":0},{"idA":20,"idB":38,"type":0},{"idA":20,"idB":39,"type":0},{"idA":20,"idB":40,"type":0},{"idA":20,"idB":41,"type":0},{"idA":20,"idB":43,"type":0},{"idA":20,"idB":44,"type":0},{"idA":20,"idB":45,"type":0},{"idA":20,"idB":46,"type":0},{"idA":21,"idB":23,"type":0},{"idA":21,"idB":24,"type":0},{"idA":21,"idB":25,"type":0},{"idA":21,"idB":26,"type":0},{"idA":21,"idB":27,"type":0},{"idA":21,"idB":28,"type":0},{"idA":21,"idB":29,"type":0},{"idA":21,"idB":30,"type":0},{"idA":21,"idB":31,"type":0},{"idA":21,"idB":32,"type":0},{"idA":21,"idB":33,"type":0},{"idA":21,"idB":34,"type":0},{"idA":21,"idB":35,"type":0},{"idA":21,"idB":36,"type":0},{"idA":21,"idB":37,"type":0},{"idA":21,"idB":38,"type":0},{"idA":21,"idB":39,"type":0},{"idA":21,"idB":40,"type":0},{"idA":21,"idB":41,"type":0},{"idA":21,"idB":43,"type":0},{"idA":21,"idB":44,"type":0},{"idA":21,"idB":45,"type":0},{"idA":21,"idB":46,"type":0},{"idA":23,"idB":24,"type":0},{"idA":23,"idB":25,"type":0},{"idA":23,"idB":26,"type":0},{"idA":23,"idB":27,"type":0},{"idA":23,"idB":28,"type":0},{"idA":23,"idB":29,"type":0},{"idA":23,"idB":30,"type":0},{"idA":23,"idB":31,"type":0},{"idA":23,"idB":32,"type":0},{"idA":23,"idB":33,"type":0},{"idA":23,"idB":34,"type":0},{"idA":23,"idB":35,"type":0},{"idA":23,"idB":36,"type":0},{"idA":23,"idB":37,"type":0},{"idA":23,"idB":38,"type":0},{"idA":23,"idB":39,"type":0},{"idA":23,"idB":40,"type":0},{"idA":23,"idB":41,"type":0},{"idA":23,"idB":43,"type":0},{"idA":23,"idB":44,"type":0},{"idA":23,"idB":45,"type":0},{"idA":23,"idB":46,"type":0},{"idA":24,"idB":25,"type":0},{"idA":24,"idB":26,"type":0},{"idA":24,"idB":27,"type":0},{"idA":24,"idB":28,"type":0},{"idA":24,"idB":29,"type":0},{"idA":24,"idB":30,"type":0},{"idA":24,"idB":31,"type":0},{"idA":24,"idB":32,"type":0},{"idA":24,"idB":33,"type":0},{"idA":24,"idB":34,"type":0},{"idA":24,"idB":35,"type":0},{"idA":24,"idB":36,"type":0},{"idA":24,"idB":37,"type":0},{"idA":24,"idB":38,"type":0},{"idA":24,"idB":39,"type":0},{"idA":24,"idB":40,"type":0},{"idA":24,"idB":41,"type":0},{"idA":24,"idB":43,"type":0},{"idA":24,"idB":44,"type":0},{"idA":24,"idB":45,"type":0},{"idA":24,"idB":46,"type":0},{"idA":25,"idB":26,"type":0},{"idA":25,"idB":27,"type":0},{"idA":25,"idB":28,"type":0},{"idA":25,"idB":29,"type":0},{"idA":25,"idB":30,"type":0},{"idA":25,"idB":31,"type":0},{"idA":25,"idB":32,"type":0},{"idA":25,"idB":33,"type":0},{"idA":25,"idB":34,"type":0},{"idA":25,"idB":35,"type":0},{"idA":25,"idB":36,"type":0},{"idA":25,"idB":37,"type":0},{"idA":25,"idB":38,"type":0},{"idA":25,"idB":39,"type":0},{"idA":25,"idB":40,"type":0},{"idA":25,"idB":41,"type":0},{"idA":25,"idB":43,"type":0},{"idA":25,"idB":44,"type":0},{"idA":25,"idB":45,"type":0},{"idA":25,"idB":46,"type":0},{"idA":26,"idB":27,"type":0},{"idA":26,"idB":28,"type":0},{"idA":26,"idB":29,"type":0},{"idA":26,"idB":30,"type":0},{"idA":26,"idB":31,"type":0},{"idA":26,"idB":32,"type":0},{"idA":26,"idB":33,"type":0},{"idA":26,"idB":34,"type":0},{"idA":26,"idB":35,"type":0},{"idA":26,"idB":36,"type":0},{"idA":26,"idB":37,"type":0},{"idA":26,"idB":38,"type":0},{"idA":26,"idB":39,"type":0},{"idA":26,"idB":40,"type":0},{"idA":26,"idB":41,"type":0},{"idA":26,"idB":43,"type":0},{"idA":26,"idB":44,"type":0},{"idA":26,"idB":45,"type":0},{"idA":26,"idB":46,"type":0},{"idA":27,"idB":28,"type":0},{"idA":27,"idB":29,"type":0},{"idA":27,"idB":30,"type":0},{"idA":27,"idB":31,"type":0},{"idA":27,"idB":32,"type":0},{"idA":27,"idB":33,"type":0},{"idA":27,"idB":34,"type":0},{"idA":27,"idB":35,"type":0},{"idA":27,"idB":36,"type":0},{"idA":27,"idB":37,"type":0},{"idA":27,"idB":38,"type":0},{"idA":27,"idB":39,"type":0},{"idA":27,"idB":40,"type":0},{"idA":27,"idB":41,"type":0},{"idA":27,"idB":43,"type":0},{"idA":27,"idB":44,"type":0},{"idA":27,"idB":45,"type":0},{"idA":27,"idB":46,"type":0},{"idA":28,"idB":29,"type":0},{"idA":28,"idB":30,"type":0},{"idA":28,"idB":31,"type":0},{"idA":28,"idB":32,"type":0},{"idA":28,"idB":33,"type":0},{"idA":28,"idB":34,"type":0},{"idA":28,"idB":35,"type":0},{"idA":28,"idB":36,"type":0},{"idA":28,"idB":37,"type":0},{"idA":28,"idB":38,"type":0},{"idA":28,"idB":39,"type":0},{"idA":28,"idB":40,"type":0},{"idA":28,"idB":41,"type":0},{"idA":28,"idB":43,"type":0},{"idA":28,"idB":44,"type":0},{"idA":28,"idB":45,"type":0},{"idA":28,"idB":46,"type":0},{"idA":29,"idB":30,"type":0},{"idA":29,"idB":31,"type":0},{"idA":29,"idB":32,"type":0},{"idA":29,"idB":33,"type":0},{"idA":29,"idB":34,"type":0},{"idA":29,"idB":35,"type":0},{"idA":29,"idB":36,"type":0},{"idA":29,"idB":37,"type":0},{"idA":29,"idB":38,"type":0},{"idA":29,"idB":39,"type":0},{"idA":29,"idB":40,"type":0},{"idA":29,"idB":41,"type":0},{"idA":29,"idB":43,"type":0},{"idA":29,"idB":44,"type":0},{"idA":29,"idB":45,"type":0},{"idA":29,"idB":46,"type":0},{"idA":30,"idB":31,"type":0},{"idA":30,"idB":32,"type":0},{"idA":30,"idB":33,"type":0},{"idA":30,"idB":34,"type":0},{"idA":30,"idB":35,"type":0},{"idA":30,"idB":36,"type":0},{"idA":30,"idB":37,"type":0},{"idA":30,"idB":38,"type":0},{"idA":30,"idB":39,"type":0},{"idA":30,"idB":40,"type":0},{"idA":30,"idB":41,"type":0},{"idA":30,"idB":43,"type":0},{"idA":30,"idB":44,"type":0},{"idA":30,"idB":45,"type":0},{"idA":30,"idB":46,"type":0},{"idA":31,"idB":32,"type":0},{"idA":31,"idB":33,"type":0},{"idA":31,"idB":34,"type":0},{"idA":31,"idB":35,"type":0},{"idA":31,"idB":36,"type":0},{"idA":31,"idB":37,"type":0},{"idA":31,"idB":38,"type":0},{"idA":31,"idB":39,"type":0},{"idA":31,"idB":40,"type":0},{"idA":31,"idB":41,"type":0},{"idA":31,"idB":43,"type":0},{"idA":31,"idB":44,"type":0},{"idA":31,"idB":45,"type":0},{"idA":31,"idB":46,"type":0},{"idA":32,"idB":33,"type":0},{"idA":32,"idB":34,"type":0},{"idA":32,"idB":35,"type":0},{"idA":32,"idB":36,"type":0},{"idA":32,"idB":37,"type":0},{"idA":32,"idB":38,"type":0},{"idA":32,"idB":39,"type":0},{"idA":32,"idB":40,"type":0},{"idA":32,"idB":41,"type":0},{"idA":32,"idB":43,"type":0},{"idA":32,"idB":44,"type":0},{"idA":32,"idB":45,"type":0},{"idA":32,"idB":46,"type":0},{"idA":33,"idB":34,"type":0},{"idA":33,"idB":35,"type":0},{"idA":33,"idB":36,"type":0},{"idA":33,"idB":37,"type":0},{"idA":33,"idB":38,"type":1},{"idA":33,"idB":39,"type":1},{"idA":33,"idB":40,"type":0},{"idA":33,"idB":41,"type":0},{"idA":33,"idB":43,"type":0},{"idA":33,"idB":44,"type":0},{"idA":33,"idB":45,"type":0},{"idA":33,"idB":46,"type":0},{"idA":34,"idB":35,"type":0},{"idA":34,"idB":36,"type":1},{"idA":34,"idB":37,"type":0},{"idA":34,"idB":38,"type":0},{"idA":34,"idB":39,"type":0},{"idA":34,"idB":40,"type":0},{"idA":34,"idB":41,"type":0},{"idA":34,"idB":43,"type":0},{"idA":34,"idB":44,"type":0},{"idA":34,"idB":45,"type":0},{"idA":34,"idB":46,"type":0},{"idA":35,"idB":36,"type":1},{"idA":35,"idB":37,"type":0},{"idA":35,"idB":38,"type":0},{"idA":35,"idB":39,"type":0},{"idA":35,"idB":40,"type":1},{"idA":35,"idB":41,"type":0},{"idA":35,"idB":43,"type":0},{"idA":35,"idB":44,"type":0},{"idA":35,"idB":45,"type":0},{"idA":35,"idB":46,"type":0},{"idA":36,"idB":37,"type":0},{"idA":36,"idB":38,"type":0},{"idA":36,"idB":39,"type":0},{"idA":36,"idB":40,"type":0},{"idA":36,"idB":41,"type":0},{"idA":36,"idB":43,"type":0},{"idA":36,"idB":44,"type":0},{"idA":36,"idB":45,"type":0},{"idA":36,"idB":46,"type":0},{"idA":37,"idB":38,"type":0},{"idA":37,"idB":39,"type":1},{"idA":37,"idB":40,"type":0},{"idA":37,"idB":41,"type":0},{"idA":37,"idB":43,"type":0},{"idA":37,"idB":44,"type":0},{"idA":37,"idB":45,"type":0},{"idA":37,"idB":46,"type":0},{"idA":38,"idB":39,"type":0},{"idA":38,"idB":40,"type":0},{"idA":38,"idB":41,"type":0},{"idA":38,"idB":43,"type":0},{"idA":38,"idB":44,"type":0},{"idA":38,"idB":45,"type":0},{"idA":38,"idB":46,"type":0},{"idA":39,"idB":40,"type":0},{"idA":39,"idB":41,"type":0},{"idA":39,"idB":43,"type":0},{"idA":39,"idB":44,"type":0},{"idA":39,"idB":45,"type":0},{"idA":39,"idB":46,"type":0},{"idA":40,"idB":41,"type":0},{"idA":40,"idB":43,"type":0},{"idA":40,"idB":44,"type":0},{"idA":40,"idB":45,"type":0},{"idA":40,"idB":46,"type":0},{"idA":41,"idB":43,"type":0},{"idA":41,"idB":44,"type":0},{"idA":41,"idB":45,"type":0},{"idA":41,"idB":46,"type":0},{"idA":43,"idB":44,"type":0},{"idA":43,"idB":45,"type":0},{"idA":43,"idB":46,"type":0},{"idA":44,"idB":45,"type":0},{"idA":44,"idB":46,"type":0},{"idA":45,"idB":46,"type":0}]} diff --git a/build/lightdb/storage/uniqid b/build/lightdb/storage/uniqid index 27a37eb..7003e7f 100644 --- a/build/lightdb/storage/uniqid +++ b/build/lightdb/storage/uniqid @@ -1 +1 @@ -93 \ No newline at end of file +51 \ No newline at end of file diff --git a/public_html/test.php b/public_html/test.php index 6f13571..066c47c 100644 --- a/public_html/test.php +++ b/public_html/test.php @@ -15,6 +15,8 @@ $sub = $sl->fetch(1); + var_dump( count($sub['relations']) ); + foreach($sub['relations'] as $rel){ if( $rel['idA'] == 1 ) $Aname = $sub['subject']['name']; From 7b253bcff51dafdb110ebdf3a0614220605d9657 Mon Sep 17 00:00:00 2001 From: xdrm-brackets Date: Wed, 23 Nov 2016 17:53:24 +0100 Subject: [PATCH 11/11] =?UTF-8?q?Gestion=20de=20l'export=20`download/multi?= =?UTF-8?q?ple`=20suppression=20de=20param=C3=A8tres=20mais=20correction?= =?UTF-8?q?=20de=20tous=20les=20fichiers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/api/module/download.php | 312 +++++--------------------- build/lightdb/storage/dictionary.json | 1 + config/modules.json | 3 - public_html/view/data.php | 9 +- public_html/view/js/data.js | 8 +- public_html/view/js/min/data.js | 5 + 6 files changed, 73 insertions(+), 265 deletions(-) create mode 100644 public_html/view/js/min/data.js diff --git a/build/api/module/download.php b/build/api/module/download.php index 7a3e5ca..d57ab6e 100644 --- a/build/api/module/download.php +++ b/build/api/module/download.php @@ -130,9 +130,6 @@ /* DOWNLOAD D'UN FICHIER CONTENANT LES DONNEES SELECTIONNEES * * @subjects Liste des identifiants des sujets à prendre en compte - * @phone Si TRUE, prend en compte les données des questionnaires cellulaires - * @facebook Si TRUE, prend en compte les données des questionnaires facebook - * @survey Si TRUE, prend en compte les données des questionnaires ResTIC * @all Si TRUE, prend en compte tous les sujets (annule @subjects) * * @return data Retourne une archive .zip contenant toutes les données sélectionnées @@ -143,9 +140,6 @@ /* (0) Gestion du formattage des paramètres */ $subjects = !is_array($subjects) ? [] : $subjects; - $phone = !is_bool($phone) ? false : $phone; - $facebook = !is_bool($facebook) ? false : $facebook; - $survey = !is_bool($survey) ? false : $survey; $all = !is_bool($all) ? false : $all; /* [0] On récupère le dictionnaire @@ -164,283 +158,101 @@ return [ 'ModuleError' => ManagerError::ParsingFailed ]; - /* [1] On construit l'arborescence des données + /* [1] Initialisation =========================================================*/ + /* (1) Fichiers de sortie */ $output = [ - 'common_' => [ - 'contacts' => '', - 'relations' => '', - 'dict' => '' - ] + 'contacts.fiche' => '', // contiendra les contacts et leurs données fiches + 'contacts.mini' => '', // contiendra les contacts et leurs données mini + 'relations' => '', // contiendra les relations + 'dict' => '' // contiendra le dictionnaire de valeurs ]; + /* (2) Base de données */ + $subjectdb = new lightdb('subject'); + $contactdb = new lightdb('contact'); - /* [2] Export contacts/relations des sujets selectionnés + /* [2] On construit la liste des sujets =========================================================*/ - $contacts = []; - $relations = []; + $subjectindexes = array_keys($subjectdb->index()); + $subjectids = []; + /* (1) On récupère tous les sujets si c'est spécifié */ + if( $all ) - /* (1) Contacts exportés de `survey_db` - ---------------------------------------------------------*/ - $db = new lightdb('survey_db'); + $subjectids = $subjectindexes; - /* (1) On selectionne les clés des sujets à extraire */ - if( $all ) - $subjectIds = array_keys( $db->index() ); + /* (2) Sinon on retire les ids incorrects */ + else - /* (2) Pour chaque sujet */ - foreach($subjectIds as $s=>$subjectId){ - - /* (3) On récupère les données du sujet */ - $subjectData = $db->fetch($subjectId); - - // si erreur -> suivant - if( $subjectData === false ) continue; - - /* (4) On complète les contacts */ - if( isset($subjectData['contacts']) ){ - - foreach($subjectData['contacts'] as $c=>$contact){ - - /* (5) Si le contact à déja été saisi de manière plus compléte -> suivant */ - // déja saisi - $alreadyStored = isset($contacts[ intval($contact['id']) ]); - // si mini saisie et qu'on a la fiche -> on doit compléter - $moreData = $alreadyStored && isset($contacts[ intval($contact['id']) ]['studies1']) && isset($contact['studies2']); - - // si on NE doit PAS saisir/compléter - if( $alreadyStored && !$moreData ) - continue; - - /* (6) On saisit/complète */ - $contacts[ intval($contact['id']) ] = $contact; - - } - - } - - } - - - /* (2) Contacts exportés de `phone_db` - ---------------------------------------------------------*/ - $db = new lightdb('phone_db'); - - /* (1) On selectionne les clés des sujets à extraire */ - if( $all ) - $subjectIds = array_keys( $db->index() ); - - /* (2) Pour chaque sujet */ - foreach($subjectIds as $s=>$subjectId){ - - /* (3) On récupère les données du sujet */ - $subjectData = $db->fetch($subjectId); - - // si erreur -> suivant - if( $subjectData === false ) continue; - - /* (4) On complète les contacts */ - if( isset($subjectData['contacts']) ){ - - foreach($subjectData['contacts'] as $c=>$contact){ - - /* (5) Si le contact à déja été saisi de manière plus compléte -> suivant */ - // déja saisi - $alreadyStored = isset($contacts[ intval($contact['id']) ]); - // si mini saisie et qu'on a la fiche -> on doit compléter - $moreData = $alreadyStored && isset($contacts[ intval($contact['id']) ]['studies1']) && isset($contact['studies2']); - - // si on NE doit PAS saisir/compléter - if( $alreadyStored && !$moreData ) - continue; - - /* (6) On saisit/complète */ - $contacts[ intval($contact['id']) ] = $contact; - - } - - } - - } - - - /* (3) Contacts exportés de `facebook_db` - ---------------------------------------------------------*/ - $db = new lightdb('facebook_db'); - - /* (1) On selectionne les clés des sujets à extraire */ - if( $all ) - $subjectIds = array_keys( $db->index() ); - - /* (2) Pour chaque sujet */ - foreach($subjectIds as $s=>$subjectId){ - - /* (3) On récupère les données du sujet */ - $subjectData = $db->fetch($subjectId); - - // si erreur -> suivant - if( $subjectData === false ) continue; - - /* (4) On complète les contacts */ - if( isset($subjectData['contacts']) ){ - - foreach($subjectData['contacts'] as $c=>$contact){ - - /* (5) Si le contact à déja été saisi de manière plus compléte -> suivant */ - // déja saisi - $alreadyStored = isset($contacts[ intval($contact['id']) ]); - // si mini saisie et qu'on a la fiche -> on doit compléter - $moreData = $alreadyStored && isset($contacts[ intval($contact['id']) ]['studies1']) && isset($contact['studies2']); - - // si on NE doit PAS saisir/compléter - if( $alreadyStored && !$moreData ) - continue; - - /* (6) On saisit/complète */ - $contacts[ intval($contact['id']) ] = $contact; - - } - - } - - } + foreach($subjects as $i=>$id) + if( in_array($id, $subjectindexes) ) + $subjectids[] = intval($id); - var_dump($contacts); - exit(); + /* (3) Si aucun sujet restant -> error */ + if( count($subjectids) === 0 ) + return ['ModuleError' => ManagerError::ParamError]; - /* [2] On construit les fichiers de chaque sujet DE TELEPHONE + /* [3] Export contacts/relations des sujets selectionnés =========================================================*/ - if( $phone ){ // Si @phone vaut TRUE + foreach($subjectids as $subid){ - // On ouvre une instance de la base de données - $db = new lightdb('phone_db'); + /* (1) On récupère les données du sujet */ + $subject = $subjectdb->fetch($subid); - // Si on doit prendre tous les sujets, on les récupère - if( $all ) - $subjects = array_keys( $db->index() ); + // si pas trouvé -> suivant + if( $subject === false ) + continue; - // Pour chaque sujet - foreach($subjects as $s=>$subjectId){ + /* (2) Si aucun contact -> suivant */ + if( !isset($subject['contacts']) || !is_array($subject['contacts']) ) + continue; - /* (1) On récupère les données du sujet en cours */ - $subjectData = $db->fetch($subjectId); + /* (3) Pour chaque contact */ + foreach($subject['contacts'] as $c=>$contactid){ - // Si on ne trouve rien, on passe au suivant - if( $subjectData === false ) + // {3.1} On récupère le contact // + $contact = $contactdb->fetch($contactid); + + // si pas trouvé -> suivant + if( $contact === false ) continue; - /* (3) On complète les relations */ - if( isset($subjectData['relations']) ) - $output['common_']['relations'] .= self::parseCSV($subjectData['relations'], [], strlen($output['common_']['relations']) == 0 ); // On affiche les colonnes pour la première fois uniquement + // {3.2} On ajoute le contact au fichier des FICHES // + if( array_key_exists('studies2', $contact) ) + // On affiche les colonnes pour le premier contact uniquement + $output['contacts.fiche'] .= self::parseCSV([$contact], $dict['contacts'], strlen($output['contacts.fiche']) == 0 ); - /* (4) On ajoute les contacts à la liste */ - if( isset($subjectData['contacts']) ) - $output['common_']['contacts'] .= self::parseCSV($subjectData['contacts'], $dict['contacts'], strlen($output['common_']['contacts']) == 0 ); // On affiche les colonnes pour la première fois uniquement + // {3.3} On ajoute le contact au fichier des MINI // + if( array_key_exists('studies1', $contact) ) + // On affiche les colonnes pour le premier contact uniquement + $output['contacts.mini'] .= self::parseCSV([$contact], $dict['contacts'], strlen($output['contacts.mini']) == 0 ); } - // On ferme l'instance de la base de données - $db->close(); + /* (4) Si aucune relation -> suivant */ + if( !isset($subject['relations']) || !is_array($subject['relations']) ) + continue; + + /* (5) On ajoute les relations */ + $output['relations'] .= self::parseCSV($subject['relations'], [], strlen($output['relations']) == 0 ); + + } - - - - - - - /* [3] On construit les fichiers de chaque sujet DE FACEBOOK - =========================================================*/ - if( $facebook ){ // Si @facebook vaut TRUE - - // On ouvre une instance de la base de données - $db = new lightdb('facebook_db'); - - // Si on doit prendre tous les sujets, on les récupère - if( $all ) - $subjects = array_keys( $db->index() ); - - // Pour chaque sujet - foreach($subjects as $s=>$subjectId){ - - /* (1) On récupère les données du sujet en cours */ - $subjectData = $db->fetch($subjectId); - - // Si on ne trouve rien, on passe au suivant - if( $subjectData === false ) - continue; - - /* (2) On complète les relations */ - $output['common_']['relations'] .= self::parseCSV($subjectData['relations'], [], strlen($output['common_']['relations']) == 0 ); // On affiche les colonnes pour la première fois uniquement - - /* (3) On ajoute les contacts à la liste */ - $output['common_']['contacts'] .= self::parseCSV($subjectData['contacts'], $dict['contacts'], strlen($output['common_']['contacts']) == 0 ); // On affiche les colonnes pour la première fois uniquement - - } - - // On ferme l'instance de la base de données - $db->close(); - - } - - - - - - - - - /* [4] On construit les fichiers de chaque sujet DE FORMULAIRE - =========================================================*/ - if( $survey ){ // Si @survey vaut TRUE - - // On ouvre une instance de la base de données - $db = new lightdb('survey_db'); - - // Si on doit prendre tous les sujets, on les récupère - if( $all ) - $subjects = array_keys( $db->index() ); - - // Pour chaque sujet - foreach($subjects as $s=>$subjectId){ - - /* (1) On récupère les données du sujet en cours */ - $subjectData = $db->fetch($subjectId); - - // Si on ne trouve rien, on passe au suivant - if( $subjectData === false ) - continue; - - /* (2) On complète les relations */ - $output['common_']['relations'] .= self::parseCSV($subjectData['relations'], [], strlen($output['common_']['relations']) == 0 ); // On affiche les colonnes pour la première fois uniquement - - /* (3) On ajoute les contacts à la liste */ - $output['common_']['contacts'] .= self::parseCSV($subjectData['contacts'], $dict['contacts'], strlen($output['common_']['contacts']) == 0 ); // On affiche les colonnes pour la première fois uniquement - - } - - // On ferme l'instance de la base de données - $db->close(); - - } - - - - /* [5] On ajoute le dictionnaire =========================================================*/ - $output['common_']['dict'] .= "\"sheet\";\"field\";\"key\";\"value\"\r\n"; + $output['dict'] .= "\"sheet\";\"field\";\"key\";\"value\"\r\n"; foreach($dict as $ds=>$dataset) foreach($dataset as $f=>$field) foreach($field as $key=>$value) - $output['common_']['dict'] .= "\"$ds\";\"$f\";\"$key\";\"$value\"\r\n"; + $output['dict'] .= "\"$ds\";\"$f\";\"$key\";\"$value\"\r\n"; /* [6] Création de l'archive @@ -449,12 +261,10 @@ $fname = __TMP__.'/'.time().'.zip'; $zip->open($fname, \ZipArchive::CREATE); - foreach($output as $folder=>$files){ - foreach($files as $file=>$content) - if( strlen($content) > 0 ) - $zip->addFromString($folder.$file.'.csv', $content); - } + foreach($output as $file=>$content) + if( strlen($content) > 0 ) + $zip->addFromString($file.'.csv', $content); $zip->close(); diff --git a/build/lightdb/storage/dictionary.json b/build/lightdb/storage/dictionary.json index 513f1a4..12b015d 100644 --- a/build/lightdb/storage/dictionary.json +++ b/build/lightdb/storage/dictionary.json @@ -11,6 +11,7 @@ "contacts": { + "sexe": { "0":"Homme", "1":"Femme", "2":"Indéterminé" }, "age": { ".": "NA", diff --git a/config/modules.json b/config/modules.json index bcbed59..99c3566 100755 --- a/config/modules.json +++ b/config/modules.json @@ -246,9 +246,6 @@ "options": { "download": true }, "parameters": { "subjects": { "description": "Identifiants des sujets d'enquêtes à intégrer.", "type": "array", "optional": true }, - "phone": { "description": "Si vaut TRUE, renvoie les sujets cellulaires.", "type": "boolean", "optional": true }, - "facebook": { "description": "Si vaut TRUE, renvoie les sujet facebook.", "type": "boolean", "optional": true }, - "survey": { "description": "Si vaut TRUE, renvoie les sujets ResTIC.", "type": "boolean", "optional": true }, "all": { "description": "Si vaut TRUE, renvoie tous les sujets enregistrés.", "type": "boolean", "optional": true } } }, diff --git a/public_html/view/data.php b/public_html/view/data.php index c979f5f..2e9cd89 100644 --- a/public_html/view/data.php +++ b/public_html/view/data.php @@ -21,9 +21,10 @@ $pers = $request->answer();
    -

    Exporter les données au format .csv

    +
    Exporter les données au format .csv
    +

    - Choix des sujets + Choix des sujets




    @@ -33,10 +34,10 @@ $pers = $request->answer();
    -


    Types de données +

    diff --git a/public_html/view/js/data.js b/public_html/view/js/data.js index 5113678..29e51de 100644 --- a/public_html/view/js/data.js +++ b/public_html/view/js/data.js @@ -51,16 +51,10 @@ $('#export-form #export_export-all').addEventListener('click', function(e){ /* (4) On construit la requête */ var request = { path: 'download/multiple', - phone: deflated.phone == '1', // VRAI si on veut les données téléphoniques - facebook: deflated.facebook == '1', // VRAI si on veut les données facebook - survey: deflated.survey == '1', // VRAI si on veut les données ResTIC + subjects: subjects, all: deflated.group == 'all' // VRAI si on veut TOUS les sujets }; - // On ajoute les sujets s'il y en a - if( deflated.group != 'all' && subjects.length > 0 ) - request.subjects = subjects; - /* (5) On lance la requête */ api.send(request, function(res){ diff --git a/public_html/view/js/min/data.js b/public_html/view/js/min/data.js new file mode 100644 index 0000000..4fcd952 --- /dev/null +++ b/public_html/view/js/min/data.js @@ -0,0 +1,5 @@ +var exportSubjectList=$("#export_subject-list"),exportSubjectAdd=$("#export_add-subject"),exportDeflater=new FormDeflater(document.getElementById("export-form"),["input"],["data-name"]);exportSubjectAdd.addEventListener("click",function(b){b=document.createElement("input");b.type="number";b.dataset.name="subjects";b.placeholder="Sujet";b.style="width: 5em; display: block;";exportSubjectList.appendChild(b)},!1); +$("#export-form #export_export-all").addEventListener("click",function(b){var a=(new FormDeflater(exportSubjectList,["input"],["data-name"])).deflate().subjects;b=[];a instanceof Array||(a=[a]);for(var c=0;c