removed some left over result files

git-svn-id: https://asterixdb.googlecode.com/svn/branches/asterix_lsm_stabilization@1397 eaa15691-b419-025a-1212-ee371bd00084
diff --git a/asterix-app/src/test/resources/runtimets/results/cross-dataverse/cross-dv20.adm b/asterix-app/src/test/resources/runtimets/results/cross-dataverse/cross-dv20.adm
deleted file mode 100644
index 83de609..0000000
--- a/asterix-app/src/test/resources/runtimets/results/cross-dataverse/cross-dv20.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "ug-student": { "id": 457, "name": "John Doe", "age": 22, "sex": "M", "dept": "Dance" }, "prof": { "id": 152, "name": "John Meyer", "age": 42, "sex": "M", "dept": "History" }, "grd-student": { "id": 418, "name": "John Smith", "age": 26, "sex": "M", "dept": "Economics" }, "postdoc": { "id": 259, "name": "Sophia Reece", "age": 36, "sex": "F", "dept": "Anthropology" } }
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/delete-syntax-change.adm b/asterix-app/src/test/resources/runtimets/results/dml/delete-syntax-change.adm
deleted file mode 100644
index 7039cfe..0000000
--- a/asterix-app/src/test/resources/runtimets/results/dml/delete-syntax-change.adm
+++ /dev/null
@@ -1,25 +0,0 @@
-{ "l_orderkey": 1, "l_partkey": 156, "l_suppkey": 4, "l_linenumber": 1, "l_quantity": 17, "l_extendedprice": 17954.55d, "l_discount": 0.04d, "l_tax": 0.02d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-03-13", "l_commitdate": "1996-02-12", "l_receiptdate": "1996-03-22", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "TRUCK", "l_comment": "egular courts above the" }
-{ "l_orderkey": 1, "l_partkey": 68, "l_suppkey": 9, "l_linenumber": 2, "l_quantity": 36, "l_extendedprice": 34850.16d, "l_discount": 0.09d, "l_tax": 0.06d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-04-12", "l_commitdate": "1996-02-28", "l_receiptdate": "1996-04-20", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "MAIL", "l_comment": "ly final dependencies: slyly bold " }
-{ "l_orderkey": 1, "l_partkey": 64, "l_suppkey": 5, "l_linenumber": 3, "l_quantity": 8, "l_extendedprice": 7712.48d, "l_discount": 0.1d, "l_tax": 0.02d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-29", "l_commitdate": "1996-03-05", "l_receiptdate": "1996-01-31", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "REG AIR", "l_comment": "riously. regular, express dep" }
-{ "l_orderkey": 1, "l_partkey": 3, "l_suppkey": 6, "l_linenumber": 4, "l_quantity": 28, "l_extendedprice": 25284.0d, "l_discount": 0.09d, "l_tax": 0.06d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-04-21", "l_commitdate": "1996-03-30", "l_receiptdate": "1996-05-16", "l_shipinstruct": "NONE", "l_shipmode": "AIR", "l_comment": "lites. fluffily even de" }
-{ "l_orderkey": 1, "l_partkey": 25, "l_suppkey": 8, "l_linenumber": 5, "l_quantity": 24, "l_extendedprice": 22200.48d, "l_discount": 0.1d, "l_tax": 0.04d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-03-30", "l_commitdate": "1996-03-14", "l_receiptdate": "1996-04-01", "l_shipinstruct": "NONE", "l_shipmode": "FOB", "l_comment": " pending foxes. slyly re" }
-{ "l_orderkey": 1, "l_partkey": 16, "l_suppkey": 3, "l_linenumber": 6, "l_quantity": 32, "l_extendedprice": 29312.32d, "l_discount": 0.07d, "l_tax": 0.02d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-30", "l_commitdate": "1996-02-07", "l_receiptdate": "1996-02-03", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "MAIL", "l_comment": "arefully slyly ex" }
-{ "l_orderkey": 2, "l_partkey": 107, "l_suppkey": 2, "l_linenumber": 1, "l_quantity": 38, "l_extendedprice": 38269.8d, "l_discount": 0.0d, "l_tax": 0.05d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1997-01-28", "l_commitdate": "1997-01-14", "l_receiptdate": "1997-02-02", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "RAIL", "l_comment": "ven requests. deposits breach a" }
-{ "l_orderkey": 3, "l_partkey": 5, "l_suppkey": 2, "l_linenumber": 1, "l_quantity": 45, "l_extendedprice": 40725.0d, "l_discount": 0.06d, "l_tax": 0.0d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1994-02-02", "l_commitdate": "1994-01-04", "l_receiptdate": "1994-02-23", "l_shipinstruct": "NONE", "l_shipmode": "AIR", "l_comment": "ongside of the furiously brave acco" }
-{ "l_orderkey": 3, "l_partkey": 20, "l_suppkey": 10, "l_linenumber": 2, "l_quantity": 49, "l_extendedprice": 45080.98d, "l_discount": 0.1d, "l_tax": 0.0d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1993-11-09", "l_commitdate": "1993-12-20", "l_receiptdate": "1993-11-24", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "RAIL", "l_comment": " unusual accounts. eve" }
-{ "l_orderkey": 3, "l_partkey": 129, "l_suppkey": 8, "l_linenumber": 3, "l_quantity": 27, "l_extendedprice": 27786.24d, "l_discount": 0.06d, "l_tax": 0.07d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1994-01-16", "l_commitdate": "1993-11-22", "l_receiptdate": "1994-01-23", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "SHIP", "l_comment": "nal foxes wake. " }
-{ "l_orderkey": 3, "l_partkey": 30, "l_suppkey": 5, "l_linenumber": 4, "l_quantity": 2, "l_extendedprice": 1860.06d, "l_discount": 0.01d, "l_tax": 0.06d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1993-12-04", "l_commitdate": "1994-01-07", "l_receiptdate": "1994-01-01", "l_shipinstruct": "NONE", "l_shipmode": "TRUCK", "l_comment": "y. fluffily pending d" }
-{ "l_orderkey": 3, "l_partkey": 184, "l_suppkey": 5, "l_linenumber": 5, "l_quantity": 28, "l_extendedprice": 30357.04d, "l_discount": 0.04d, "l_tax": 0.0d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1993-12-14", "l_commitdate": "1994-01-10", "l_receiptdate": "1994-01-01", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "FOB", "l_comment": "ages nag slyly pending" }
-{ "l_orderkey": 3, "l_partkey": 63, "l_suppkey": 8, "l_linenumber": 6, "l_quantity": 26, "l_extendedprice": 25039.56d, "l_discount": 0.1d, "l_tax": 0.02d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1993-10-29", "l_commitdate": "1993-12-18", "l_receiptdate": "1993-11-04", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "RAIL", "l_comment": "ges sleep after the caref" }
-{ "l_orderkey": 4, "l_partkey": 89, "l_suppkey": 10, "l_linenumber": 1, "l_quantity": 30, "l_extendedprice": 29672.4d, "l_discount": 0.03d, "l_tax": 0.08d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-10", "l_commitdate": "1995-12-14", "l_receiptdate": "1996-01-18", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "REG AIR", "l_comment": "- quickly regular packages sleep. idly" }
-{ "l_orderkey": 5, "l_partkey": 109, "l_suppkey": 10, "l_linenumber": 1, "l_quantity": 15, "l_extendedprice": 15136.5d, "l_discount": 0.02d, "l_tax": 0.04d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1994-10-31", "l_commitdate": "1994-08-31", "l_receiptdate": "1994-11-20", "l_shipinstruct": "NONE", "l_shipmode": "AIR", "l_comment": "ts wake furiously " }
-{ "l_orderkey": 5, "l_partkey": 124, "l_suppkey": 5, "l_linenumber": 2, "l_quantity": 26, "l_extendedprice": 26627.12d, "l_discount": 0.07d, "l_tax": 0.08d, "l_returnflag": "R", "l_linestatus": "F", "l_shipdate": "1994-10-16", "l_commitdate": "1994-09-25", "l_receiptdate": "1994-10-19", "l_shipinstruct": "NONE", "l_shipmode": "FOB", "l_comment": "sts use slyly quickly special instruc" }
-{ "l_orderkey": 5, "l_partkey": 38, "l_suppkey": 4, "l_linenumber": 3, "l_quantity": 50, "l_extendedprice": 46901.5d, "l_discount": 0.08d, "l_tax": 0.03d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1994-08-08", "l_commitdate": "1994-10-13", "l_receiptdate": "1994-08-26", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "AIR", "l_comment": "eodolites. fluffily unusual" }
-{ "l_orderkey": 6, "l_partkey": 140, "l_suppkey": 6, "l_linenumber": 1, "l_quantity": 37, "l_extendedprice": 38485.18d, "l_discount": 0.08d, "l_tax": 0.03d, "l_returnflag": "A", "l_linestatus": "F", "l_shipdate": "1992-04-27", "l_commitdate": "1992-05-15", "l_receiptdate": "1992-05-02", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "TRUCK", "l_comment": "p furiously special foxes" }
-{ "l_orderkey": 7, "l_partkey": 183, "l_suppkey": 4, "l_linenumber": 1, "l_quantity": 12, "l_extendedprice": 12998.16d, "l_discount": 0.07d, "l_tax": 0.03d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-05-07", "l_commitdate": "1996-03-13", "l_receiptdate": "1996-06-03", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "FOB", "l_comment": "ss pinto beans wake against th" }
-{ "l_orderkey": 7, "l_partkey": 146, "l_suppkey": 3, "l_linenumber": 2, "l_quantity": 9, "l_extendedprice": 9415.26d, "l_discount": 0.08d, "l_tax": 0.08d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-02-01", "l_commitdate": "1996-03-02", "l_receiptdate": "1996-02-19", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "SHIP", "l_comment": "es. instructions" }
-{ "l_orderkey": 7, "l_partkey": 95, "l_suppkey": 8, "l_linenumber": 3, "l_quantity": 46, "l_extendedprice": 45774.14d, "l_discount": 0.1d, "l_tax": 0.07d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-15", "l_commitdate": "1996-03-27", "l_receiptdate": "1996-02-03", "l_shipinstruct": "COLLECT COD", "l_shipmode": "MAIL", "l_comment": " unusual reques" }
-{ "l_orderkey": 7, "l_partkey": 164, "l_suppkey": 5, "l_linenumber": 4, "l_quantity": 28, "l_extendedprice": 29796.48d, "l_discount": 0.03d, "l_tax": 0.04d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-03-21", "l_commitdate": "1996-04-08", "l_receiptdate": "1996-04-20", "l_shipinstruct": "NONE", "l_shipmode": "FOB", "l_comment": ". slyly special requests haggl" }
-{ "l_orderkey": 7, "l_partkey": 152, "l_suppkey": 4, "l_linenumber": 5, "l_quantity": 38, "l_extendedprice": 39981.7d, "l_discount": 0.08d, "l_tax": 0.01d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-02-11", "l_commitdate": "1996-02-24", "l_receiptdate": "1996-02-18", "l_shipinstruct": "DELIVER IN PERSON", "l_shipmode": "TRUCK", "l_comment": "ns haggle carefully ironic deposits. bl" }
-{ "l_orderkey": 7, "l_partkey": 80, "l_suppkey": 10, "l_linenumber": 6, "l_quantity": 35, "l_extendedprice": 34302.8d, "l_discount": 0.06d, "l_tax": 0.03d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-01-16", "l_commitdate": "1996-02-23", "l_receiptdate": "1996-01-22", "l_shipinstruct": "TAKE BACK RETURN", "l_shipmode": "FOB", "l_comment": "jole. excuses wake carefully alongside of " }
-{ "l_orderkey": 7, "l_partkey": 158, "l_suppkey": 3, "l_linenumber": 7, "l_quantity": 5, "l_extendedprice": 5290.75d, "l_discount": 0.04d, "l_tax": 0.02d, "l_returnflag": "N", "l_linestatus": "O", "l_shipdate": "1996-02-10", "l_commitdate": "1996-03-26", "l_receiptdate": "1996-02-13", "l_shipinstruct": "NONE", "l_shipmode": "FOB", "l_comment": "ithely regula" }
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/insert-syntax.adm b/asterix-app/src/test/resources/runtimets/results/dml/insert-syntax.adm
deleted file mode 100644
index 9407868..0000000
--- a/asterix-app/src/test/resources/runtimets/results/dml/insert-syntax.adm
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "id": 1, "name": "Person One", "hobbies": {{ "Rock", "Metal" }} }
-{ "id": 2, "name": "Person Two", "hobbies": {{ "Rock", "Jazz" }} }
-{ "id": 3, "name": "Person Three", "hobbies": {{ "Blues" }} }
-{ "id": 4, "name": "Person Four", "hobbies": {{ "Metal", "Jazz" }} }
diff --git a/asterix-app/src/test/resources/runtimets/results/dml/scan-insert-rtree-secondary-index.adm b/asterix-app/src/test/resources/runtimets/results/dml/scan-insert-rtree-secondary-index.adm
deleted file mode 100644
index 5f5be7c..0000000
--- a/asterix-app/src/test/resources/runtimets/results/dml/scan-insert-rtree-secondary-index.adm
+++ /dev/null
@@ -1,3 +0,0 @@
-{ "id": 10 }
-{ "id": 12 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/failure/delete-rtree.adm b/asterix-app/src/test/resources/runtimets/results/failure/delete-rtree.adm
deleted file mode 100644
index a3021ef..0000000
--- a/asterix-app/src/test/resources/runtimets/results/failure/delete-rtree.adm
+++ /dev/null
@@ -1,3848 +0,0 @@
-{ "id": 22 }
-{ "id": 23 }
-{ "id": 25 }
-{ "id": 26 }
-{ "id": 27 }
-{ "id": 28 }
-{ "id": 29 }
-{ "id": 30 }
-{ "id": 31 }
-{ "id": 32 }
-{ "id": 33 }
-{ "id": 34 }
-{ "id": 35 }
-{ "id": 36 }
-{ "id": 37 }
-{ "id": 38 }
-{ "id": 39 }
-{ "id": 40 }
-{ "id": 41 }
-{ "id": 42 }
-{ "id": 43 }
-{ "id": 44 }
-{ "id": 45 }
-{ "id": 46 }
-{ "id": 47 }
-{ "id": 48 }
-{ "id": 49 }
-{ "id": 50 }
-{ "id": 51 }
-{ "id": 52 }
-{ "id": 53 }
-{ "id": 54 }
-{ "id": 55 }
-{ "id": 56 }
-{ "id": 57 }
-{ "id": 58 }
-{ "id": 59 }
-{ "id": 60 }
-{ "id": 61 }
-{ "id": 62 }
-{ "id": 63 }
-{ "id": 64 }
-{ "id": 65 }
-{ "id": 66 }
-{ "id": 67 }
-{ "id": 68 }
-{ "id": 69 }
-{ "id": 70 }
-{ "id": 71 }
-{ "id": 72 }
-{ "id": 73 }
-{ "id": 74 }
-{ "id": 75 }
-{ "id": 76 }
-{ "id": 77 }
-{ "id": 78 }
-{ "id": 79 }
-{ "id": 80 }
-{ "id": 81 }
-{ "id": 82 }
-{ "id": 83 }
-{ "id": 84 }
-{ "id": 85 }
-{ "id": 86 }
-{ "id": 87 }
-{ "id": 88 }
-{ "id": 89 }
-{ "id": 90 }
-{ "id": 91 }
-{ "id": 92 }
-{ "id": 93 }
-{ "id": 94 }
-{ "id": 95 }
-{ "id": 96 }
-{ "id": 97 }
-{ "id": 98 }
-{ "id": 99 }
-{ "id": 100 }
-{ "id": 101 }
-{ "id": 102 }
-{ "id": 103 }
-{ "id": 104 }
-{ "id": 105 }
-{ "id": 106 }
-{ "id": 107 }
-{ "id": 108 }
-{ "id": 109 }
-{ "id": 110 }
-{ "id": 111 }
-{ "id": 112 }
-{ "id": 113 }
-{ "id": 114 }
-{ "id": 115 }
-{ "id": 116 }
-{ "id": 117 }
-{ "id": 118 }
-{ "id": 119 }
-{ "id": 120 }
-{ "id": 121 }
-{ "id": 122 }
-{ "id": 123 }
-{ "id": 124 }
-{ "id": 125 }
-{ "id": 126 }
-{ "id": 127 }
-{ "id": 128 }
-{ "id": 129 }
-{ "id": 130 }
-{ "id": 131 }
-{ "id": 132 }
-{ "id": 133 }
-{ "id": 134 }
-{ "id": 135 }
-{ "id": 136 }
-{ "id": 137 }
-{ "id": 138 }
-{ "id": 139 }
-{ "id": 140 }
-{ "id": 141 }
-{ "id": 142 }
-{ "id": 143 }
-{ "id": 144 }
-{ "id": 145 }
-{ "id": 146 }
-{ "id": 147 }
-{ "id": 148 }
-{ "id": 149 }
-{ "id": 150 }
-{ "id": 151 }
-{ "id": 152 }
-{ "id": 153 }
-{ "id": 154 }
-{ "id": 155 }
-{ "id": 156 }
-{ "id": 157 }
-{ "id": 158 }
-{ "id": 159 }
-{ "id": 160 }
-{ "id": 161 }
-{ "id": 162 }
-{ "id": 163 }
-{ "id": 164 }
-{ "id": 165 }
-{ "id": 166 }
-{ "id": 167 }
-{ "id": 168 }
-{ "id": 169 }
-{ "id": 170 }
-{ "id": 171 }
-{ "id": 172 }
-{ "id": 173 }
-{ "id": 174 }
-{ "id": 175 }
-{ "id": 176 }
-{ "id": 177 }
-{ "id": 178 }
-{ "id": 179 }
-{ "id": 180 }
-{ "id": 181 }
-{ "id": 182 }
-{ "id": 183 }
-{ "id": 184 }
-{ "id": 185 }
-{ "id": 186 }
-{ "id": 187 }
-{ "id": 188 }
-{ "id": 189 }
-{ "id": 190 }
-{ "id": 191 }
-{ "id": 192 }
-{ "id": 193 }
-{ "id": 194 }
-{ "id": 195 }
-{ "id": 196 }
-{ "id": 197 }
-{ "id": 198 }
-{ "id": 199 }
-{ "id": 200 }
-{ "id": 201 }
-{ "id": 202 }
-{ "id": 203 }
-{ "id": 204 }
-{ "id": 205 }
-{ "id": 206 }
-{ "id": 207 }
-{ "id": 208 }
-{ "id": 209 }
-{ "id": 210 }
-{ "id": 211 }
-{ "id": 212 }
-{ "id": 213 }
-{ "id": 214 }
-{ "id": 215 }
-{ "id": 216 }
-{ "id": 217 }
-{ "id": 218 }
-{ "id": 219 }
-{ "id": 220 }
-{ "id": 221 }
-{ "id": 222 }
-{ "id": 223 }
-{ "id": 224 }
-{ "id": 225 }
-{ "id": 226 }
-{ "id": 227 }
-{ "id": 228 }
-{ "id": 229 }
-{ "id": 230 }
-{ "id": 231 }
-{ "id": 232 }
-{ "id": 233 }
-{ "id": 234 }
-{ "id": 235 }
-{ "id": 236 }
-{ "id": 237 }
-{ "id": 238 }
-{ "id": 239 }
-{ "id": 240 }
-{ "id": 241 }
-{ "id": 242 }
-{ "id": 243 }
-{ "id": 244 }
-{ "id": 245 }
-{ "id": 246 }
-{ "id": 247 }
-{ "id": 248 }
-{ "id": 249 }
-{ "id": 250 }
-{ "id": 251 }
-{ "id": 252 }
-{ "id": 253 }
-{ "id": 254 }
-{ "id": 255 }
-{ "id": 256 }
-{ "id": 257 }
-{ "id": 258 }
-{ "id": 259 }
-{ "id": 260 }
-{ "id": 261 }
-{ "id": 262 }
-{ "id": 263 }
-{ "id": 264 }
-{ "id": 265 }
-{ "id": 266 }
-{ "id": 267 }
-{ "id": 268 }
-{ "id": 269 }
-{ "id": 270 }
-{ "id": 271 }
-{ "id": 272 }
-{ "id": 273 }
-{ "id": 274 }
-{ "id": 275 }
-{ "id": 276 }
-{ "id": 277 }
-{ "id": 296 }
-{ "id": 297 }
-{ "id": 298 }
-{ "id": 299 }
-{ "id": 300 }
-{ "id": 301 }
-{ "id": 302 }
-{ "id": 303 }
-{ "id": 304 }
-{ "id": 305 }
-{ "id": 306 }
-{ "id": 307 }
-{ "id": 308 }
-{ "id": 309 }
-{ "id": 310 }
-{ "id": 311 }
-{ "id": 312 }
-{ "id": 313 }
-{ "id": 314 }
-{ "id": 315 }
-{ "id": 316 }
-{ "id": 317 }
-{ "id": 318 }
-{ "id": 319 }
-{ "id": 320 }
-{ "id": 321 }
-{ "id": 322 }
-{ "id": 323 }
-{ "id": 324 }
-{ "id": 325 }
-{ "id": 326 }
-{ "id": 327 }
-{ "id": 328 }
-{ "id": 329 }
-{ "id": 330 }
-{ "id": 331 }
-{ "id": 332 }
-{ "id": 333 }
-{ "id": 334 }
-{ "id": 335 }
-{ "id": 336 }
-{ "id": 384 }
-{ "id": 385 }
-{ "id": 386 }
-{ "id": 387 }
-{ "id": 388 }
-{ "id": 389 }
-{ "id": 390 }
-{ "id": 391 }
-{ "id": 392 }
-{ "id": 393 }
-{ "id": 394 }
-{ "id": 395 }
-{ "id": 396 }
-{ "id": 397 }
-{ "id": 398 }
-{ "id": 399 }
-{ "id": 400 }
-{ "id": 401 }
-{ "id": 402 }
-{ "id": 403 }
-{ "id": 404 }
-{ "id": 405 }
-{ "id": 406 }
-{ "id": 407 }
-{ "id": 408 }
-{ "id": 409 }
-{ "id": 410 }
-{ "id": 411 }
-{ "id": 412 }
-{ "id": 413 }
-{ "id": 414 }
-{ "id": 415 }
-{ "id": 416 }
-{ "id": 417 }
-{ "id": 418 }
-{ "id": 419 }
-{ "id": 420 }
-{ "id": 421 }
-{ "id": 422 }
-{ "id": 423 }
-{ "id": 424 }
-{ "id": 425 }
-{ "id": 426 }
-{ "id": 427 }
-{ "id": 428 }
-{ "id": 429 }
-{ "id": 430 }
-{ "id": 431 }
-{ "id": 432 }
-{ "id": 433 }
-{ "id": 434 }
-{ "id": 435 }
-{ "id": 436 }
-{ "id": 437 }
-{ "id": 438 }
-{ "id": 439 }
-{ "id": 440 }
-{ "id": 441 }
-{ "id": 442 }
-{ "id": 443 }
-{ "id": 444 }
-{ "id": 445 }
-{ "id": 446 }
-{ "id": 447 }
-{ "id": 448 }
-{ "id": 449 }
-{ "id": 450 }
-{ "id": 451 }
-{ "id": 452 }
-{ "id": 453 }
-{ "id": 454 }
-{ "id": 455 }
-{ "id": 456 }
-{ "id": 457 }
-{ "id": 458 }
-{ "id": 459 }
-{ "id": 460 }
-{ "id": 461 }
-{ "id": 462 }
-{ "id": 463 }
-{ "id": 464 }
-{ "id": 465 }
-{ "id": 466 }
-{ "id": 467 }
-{ "id": 468 }
-{ "id": 469 }
-{ "id": 470 }
-{ "id": 471 }
-{ "id": 625 }
-{ "id": 626 }
-{ "id": 627 }
-{ "id": 628 }
-{ "id": 629 }
-{ "id": 630 }
-{ "id": 631 }
-{ "id": 632 }
-{ "id": 633 }
-{ "id": 634 }
-{ "id": 635 }
-{ "id": 636 }
-{ "id": 637 }
-{ "id": 638 }
-{ "id": 639 }
-{ "id": 640 }
-{ "id": 641 }
-{ "id": 642 }
-{ "id": 643 }
-{ "id": 644 }
-{ "id": 645 }
-{ "id": 646 }
-{ "id": 647 }
-{ "id": 648 }
-{ "id": 649 }
-{ "id": 650 }
-{ "id": 651 }
-{ "id": 652 }
-{ "id": 653 }
-{ "id": 654 }
-{ "id": 655 }
-{ "id": 656 }
-{ "id": 657 }
-{ "id": 658 }
-{ "id": 659 }
-{ "id": 660 }
-{ "id": 661 }
-{ "id": 662 }
-{ "id": 663 }
-{ "id": 664 }
-{ "id": 665 }
-{ "id": 666 }
-{ "id": 667 }
-{ "id": 668 }
-{ "id": 669 }
-{ "id": 670 }
-{ "id": 671 }
-{ "id": 672 }
-{ "id": 673 }
-{ "id": 674 }
-{ "id": 675 }
-{ "id": 676 }
-{ "id": 677 }
-{ "id": 678 }
-{ "id": 679 }
-{ "id": 680 }
-{ "id": 681 }
-{ "id": 682 }
-{ "id": 683 }
-{ "id": 684 }
-{ "id": 685 }
-{ "id": 686 }
-{ "id": 687 }
-{ "id": 734 }
-{ "id": 735 }
-{ "id": 736 }
-{ "id": 737 }
-{ "id": 738 }
-{ "id": 739 }
-{ "id": 740 }
-{ "id": 741 }
-{ "id": 742 }
-{ "id": 743 }
-{ "id": 744 }
-{ "id": 745 }
-{ "id": 746 }
-{ "id": 747 }
-{ "id": 748 }
-{ "id": 749 }
-{ "id": 750 }
-{ "id": 751 }
-{ "id": 752 }
-{ "id": 753 }
-{ "id": 754 }
-{ "id": 755 }
-{ "id": 756 }
-{ "id": 757 }
-{ "id": 758 }
-{ "id": 759 }
-{ "id": 760 }
-{ "id": 761 }
-{ "id": 762 }
-{ "id": 763 }
-{ "id": 764 }
-{ "id": 765 }
-{ "id": 766 }
-{ "id": 767 }
-{ "id": 768 }
-{ "id": 769 }
-{ "id": 770 }
-{ "id": 771 }
-{ "id": 772 }
-{ "id": 773 }
-{ "id": 774 }
-{ "id": 775 }
-{ "id": 776 }
-{ "id": 777 }
-{ "id": 778 }
-{ "id": 779 }
-{ "id": 780 }
-{ "id": 781 }
-{ "id": 782 }
-{ "id": 851 }
-{ "id": 852 }
-{ "id": 853 }
-{ "id": 854 }
-{ "id": 855 }
-{ "id": 856 }
-{ "id": 857 }
-{ "id": 858 }
-{ "id": 859 }
-{ "id": 860 }
-{ "id": 861 }
-{ "id": 862 }
-{ "id": 863 }
-{ "id": 864 }
-{ "id": 865 }
-{ "id": 866 }
-{ "id": 867 }
-{ "id": 868 }
-{ "id": 869 }
-{ "id": 870 }
-{ "id": 871 }
-{ "id": 872 }
-{ "id": 873 }
-{ "id": 874 }
-{ "id": 875 }
-{ "id": 876 }
-{ "id": 877 }
-{ "id": 878 }
-{ "id": 879 }
-{ "id": 880 }
-{ "id": 881 }
-{ "id": 882 }
-{ "id": 883 }
-{ "id": 884 }
-{ "id": 885 }
-{ "id": 886 }
-{ "id": 887 }
-{ "id": 888 }
-{ "id": 889 }
-{ "id": 890 }
-{ "id": 891 }
-{ "id": 892 }
-{ "id": 893 }
-{ "id": 894 }
-{ "id": 895 }
-{ "id": 896 }
-{ "id": 897 }
-{ "id": 898 }
-{ "id": 899 }
-{ "id": 900 }
-{ "id": 901 }
-{ "id": 902 }
-{ "id": 903 }
-{ "id": 904 }
-{ "id": 905 }
-{ "id": 906 }
-{ "id": 907 }
-{ "id": 908 }
-{ "id": 909 }
-{ "id": 910 }
-{ "id": 911 }
-{ "id": 912 }
-{ "id": 913 }
-{ "id": 914 }
-{ "id": 915 }
-{ "id": 916 }
-{ "id": 917 }
-{ "id": 918 }
-{ "id": 919 }
-{ "id": 920 }
-{ "id": 921 }
-{ "id": 922 }
-{ "id": 923 }
-{ "id": 924 }
-{ "id": 925 }
-{ "id": 926 }
-{ "id": 927 }
-{ "id": 928 }
-{ "id": 929 }
-{ "id": 930 }
-{ "id": 931 }
-{ "id": 932 }
-{ "id": 933 }
-{ "id": 934 }
-{ "id": 935 }
-{ "id": 936 }
-{ "id": 937 }
-{ "id": 938 }
-{ "id": 939 }
-{ "id": 940 }
-{ "id": 941 }
-{ "id": 942 }
-{ "id": 943 }
-{ "id": 944 }
-{ "id": 945 }
-{ "id": 946 }
-{ "id": 947 }
-{ "id": 948 }
-{ "id": 949 }
-{ "id": 950 }
-{ "id": 951 }
-{ "id": 952 }
-{ "id": 953 }
-{ "id": 954 }
-{ "id": 1022 }
-{ "id": 1023 }
-{ "id": 1024 }
-{ "id": 1025 }
-{ "id": 1026 }
-{ "id": 1027 }
-{ "id": 1028 }
-{ "id": 1029 }
-{ "id": 1030 }
-{ "id": 1031 }
-{ "id": 1032 }
-{ "id": 1033 }
-{ "id": 1034 }
-{ "id": 1035 }
-{ "id": 1036 }
-{ "id": 1037 }
-{ "id": 1038 }
-{ "id": 1039 }
-{ "id": 1040 }
-{ "id": 1041 }
-{ "id": 1042 }
-{ "id": 1043 }
-{ "id": 1044 }
-{ "id": 1045 }
-{ "id": 1046 }
-{ "id": 1047 }
-{ "id": 1048 }
-{ "id": 1049 }
-{ "id": 1050 }
-{ "id": 1051 }
-{ "id": 1052 }
-{ "id": 1053 }
-{ "id": 1054 }
-{ "id": 1055 }
-{ "id": 1056 }
-{ "id": 1057 }
-{ "id": 1058 }
-{ "id": 1059 }
-{ "id": 1060 }
-{ "id": 1061 }
-{ "id": 1062 }
-{ "id": 1063 }
-{ "id": 1064 }
-{ "id": 1065 }
-{ "id": 1066 }
-{ "id": 1067 }
-{ "id": 1068 }
-{ "id": 1069 }
-{ "id": 1070 }
-{ "id": 1071 }
-{ "id": 1072 }
-{ "id": 1073 }
-{ "id": 1074 }
-{ "id": 1075 }
-{ "id": 1076 }
-{ "id": 1077 }
-{ "id": 1078 }
-{ "id": 1079 }
-{ "id": 1080 }
-{ "id": 1081 }
-{ "id": 1082 }
-{ "id": 1083 }
-{ "id": 1084 }
-{ "id": 1085 }
-{ "id": 1086 }
-{ "id": 1087 }
-{ "id": 1088 }
-{ "id": 1089 }
-{ "id": 1090 }
-{ "id": 1091 }
-{ "id": 1092 }
-{ "id": 1093 }
-{ "id": 1094 }
-{ "id": 1095 }
-{ "id": 1096 }
-{ "id": 1097 }
-{ "id": 1098 }
-{ "id": 1099 }
-{ "id": 1100 }
-{ "id": 1101 }
-{ "id": 1102 }
-{ "id": 1103 }
-{ "id": 1104 }
-{ "id": 1105 }
-{ "id": 1106 }
-{ "id": 1107 }
-{ "id": 1108 }
-{ "id": 1175 }
-{ "id": 1176 }
-{ "id": 1177 }
-{ "id": 1178 }
-{ "id": 1179 }
-{ "id": 1180 }
-{ "id": 1181 }
-{ "id": 1182 }
-{ "id": 1183 }
-{ "id": 1184 }
-{ "id": 1185 }
-{ "id": 1186 }
-{ "id": 1187 }
-{ "id": 1188 }
-{ "id": 1189 }
-{ "id": 1190 }
-{ "id": 1191 }
-{ "id": 1192 }
-{ "id": 1193 }
-{ "id": 1194 }
-{ "id": 1195 }
-{ "id": 1196 }
-{ "id": 1197 }
-{ "id": 1198 }
-{ "id": 1199 }
-{ "id": 1200 }
-{ "id": 1201 }
-{ "id": 1202 }
-{ "id": 1203 }
-{ "id": 1204 }
-{ "id": 1205 }
-{ "id": 1206 }
-{ "id": 1207 }
-{ "id": 1208 }
-{ "id": 1209 }
-{ "id": 1210 }
-{ "id": 1211 }
-{ "id": 1212 }
-{ "id": 1213 }
-{ "id": 1214 }
-{ "id": 1215 }
-{ "id": 1216 }
-{ "id": 1217 }
-{ "id": 1218 }
-{ "id": 1219 }
-{ "id": 1220 }
-{ "id": 1221 }
-{ "id": 1222 }
-{ "id": 1223 }
-{ "id": 1224 }
-{ "id": 1225 }
-{ "id": 1226 }
-{ "id": 1227 }
-{ "id": 1228 }
-{ "id": 1229 }
-{ "id": 1230 }
-{ "id": 1231 }
-{ "id": 1232 }
-{ "id": 1233 }
-{ "id": 1234 }
-{ "id": 1235 }
-{ "id": 1236 }
-{ "id": 1237 }
-{ "id": 1238 }
-{ "id": 1239 }
-{ "id": 1240 }
-{ "id": 1241 }
-{ "id": 1255 }
-{ "id": 1256 }
-{ "id": 1257 }
-{ "id": 1258 }
-{ "id": 1259 }
-{ "id": 1260 }
-{ "id": 1261 }
-{ "id": 1262 }
-{ "id": 1263 }
-{ "id": 1264 }
-{ "id": 1265 }
-{ "id": 1266 }
-{ "id": 1267 }
-{ "id": 1268 }
-{ "id": 1269 }
-{ "id": 1270 }
-{ "id": 1271 }
-{ "id": 1272 }
-{ "id": 1273 }
-{ "id": 1274 }
-{ "id": 1275 }
-{ "id": 1276 }
-{ "id": 1277 }
-{ "id": 1278 }
-{ "id": 1279 }
-{ "id": 1280 }
-{ "id": 1281 }
-{ "id": 1282 }
-{ "id": 1283 }
-{ "id": 1284 }
-{ "id": 1285 }
-{ "id": 1286 }
-{ "id": 1287 }
-{ "id": 1288 }
-{ "id": 1289 }
-{ "id": 1290 }
-{ "id": 1291 }
-{ "id": 1292 }
-{ "id": 1293 }
-{ "id": 1294 }
-{ "id": 1295 }
-{ "id": 1296 }
-{ "id": 1297 }
-{ "id": 1298 }
-{ "id": 1299 }
-{ "id": 1300 }
-{ "id": 1301 }
-{ "id": 1302 }
-{ "id": 1303 }
-{ "id": 1304 }
-{ "id": 1305 }
-{ "id": 1306 }
-{ "id": 1307 }
-{ "id": 1308 }
-{ "id": 1309 }
-{ "id": 1310 }
-{ "id": 1311 }
-{ "id": 1312 }
-{ "id": 1313 }
-{ "id": 1314 }
-{ "id": 1315 }
-{ "id": 1316 }
-{ "id": 1317 }
-{ "id": 1318 }
-{ "id": 1319 }
-{ "id": 1320 }
-{ "id": 1321 }
-{ "id": 1322 }
-{ "id": 1323 }
-{ "id": 1324 }
-{ "id": 1325 }
-{ "id": 1326 }
-{ "id": 1327 }
-{ "id": 1328 }
-{ "id": 1329 }
-{ "id": 1330 }
-{ "id": 1331 }
-{ "id": 1332 }
-{ "id": 1333 }
-{ "id": 1334 }
-{ "id": 1335 }
-{ "id": 1336 }
-{ "id": 1337 }
-{ "id": 1338 }
-{ "id": 1339 }
-{ "id": 1340 }
-{ "id": 1341 }
-{ "id": 1342 }
-{ "id": 1343 }
-{ "id": 1344 }
-{ "id": 1345 }
-{ "id": 1346 }
-{ "id": 1347 }
-{ "id": 1348 }
-{ "id": 1349 }
-{ "id": 1350 }
-{ "id": 1351 }
-{ "id": 1352 }
-{ "id": 1353 }
-{ "id": 1354 }
-{ "id": 1355 }
-{ "id": 1356 }
-{ "id": 1357 }
-{ "id": 1358 }
-{ "id": 1359 }
-{ "id": 1360 }
-{ "id": 1361 }
-{ "id": 1362 }
-{ "id": 1363 }
-{ "id": 1364 }
-{ "id": 1365 }
-{ "id": 1366 }
-{ "id": 1367 }
-{ "id": 1368 }
-{ "id": 1369 }
-{ "id": 1370 }
-{ "id": 1441 }
-{ "id": 1442 }
-{ "id": 1443 }
-{ "id": 1444 }
-{ "id": 1445 }
-{ "id": 1446 }
-{ "id": 1447 }
-{ "id": 1448 }
-{ "id": 1449 }
-{ "id": 1450 }
-{ "id": 1451 }
-{ "id": 1452 }
-{ "id": 1453 }
-{ "id": 1454 }
-{ "id": 1455 }
-{ "id": 1456 }
-{ "id": 1457 }
-{ "id": 1458 }
-{ "id": 1459 }
-{ "id": 1460 }
-{ "id": 1461 }
-{ "id": 1462 }
-{ "id": 1463 }
-{ "id": 1464 }
-{ "id": 1465 }
-{ "id": 1466 }
-{ "id": 1467 }
-{ "id": 1468 }
-{ "id": 1469 }
-{ "id": 1470 }
-{ "id": 1471 }
-{ "id": 1472 }
-{ "id": 1473 }
-{ "id": 1474 }
-{ "id": 1475 }
-{ "id": 1476 }
-{ "id": 1477 }
-{ "id": 1478 }
-{ "id": 1479 }
-{ "id": 1480 }
-{ "id": 1481 }
-{ "id": 1482 }
-{ "id": 1483 }
-{ "id": 1484 }
-{ "id": 1485 }
-{ "id": 1486 }
-{ "id": 1487 }
-{ "id": 1488 }
-{ "id": 1489 }
-{ "id": 1490 }
-{ "id": 1491 }
-{ "id": 1492 }
-{ "id": 1493 }
-{ "id": 1494 }
-{ "id": 1495 }
-{ "id": 1496 }
-{ "id": 1497 }
-{ "id": 1498 }
-{ "id": 1499 }
-{ "id": 1500 }
-{ "id": 1501 }
-{ "id": 1502 }
-{ "id": 1503 }
-{ "id": 1504 }
-{ "id": 1505 }
-{ "id": 1506 }
-{ "id": 1507 }
-{ "id": 1508 }
-{ "id": 1509 }
-{ "id": 1510 }
-{ "id": 1511 }
-{ "id": 1512 }
-{ "id": 1513 }
-{ "id": 1514 }
-{ "id": 1515 }
-{ "id": 1516 }
-{ "id": 1517 }
-{ "id": 1518 }
-{ "id": 1519 }
-{ "id": 1520 }
-{ "id": 1521 }
-{ "id": 1522 }
-{ "id": 1523 }
-{ "id": 1524 }
-{ "id": 1525 }
-{ "id": 1526 }
-{ "id": 1527 }
-{ "id": 1528 }
-{ "id": 1529 }
-{ "id": 1530 }
-{ "id": 1531 }
-{ "id": 1532 }
-{ "id": 1533 }
-{ "id": 1534 }
-{ "id": 1535 }
-{ "id": 1536 }
-{ "id": 1537 }
-{ "id": 1538 }
-{ "id": 1539 }
-{ "id": 1540 }
-{ "id": 1541 }
-{ "id": 1542 }
-{ "id": 1543 }
-{ "id": 1544 }
-{ "id": 1545 }
-{ "id": 1546 }
-{ "id": 1547 }
-{ "id": 1548 }
-{ "id": 1549 }
-{ "id": 1550 }
-{ "id": 1551 }
-{ "id": 1552 }
-{ "id": 1553 }
-{ "id": 1554 }
-{ "id": 1555 }
-{ "id": 1556 }
-{ "id": 1557 }
-{ "id": 1558 }
-{ "id": 1559 }
-{ "id": 1560 }
-{ "id": 1561 }
-{ "id": 1562 }
-{ "id": 1563 }
-{ "id": 1564 }
-{ "id": 1565 }
-{ "id": 1566 }
-{ "id": 1567 }
-{ "id": 1568 }
-{ "id": 1569 }
-{ "id": 1570 }
-{ "id": 1571 }
-{ "id": 1572 }
-{ "id": 1626 }
-{ "id": 1627 }
-{ "id": 1628 }
-{ "id": 1629 }
-{ "id": 1630 }
-{ "id": 1631 }
-{ "id": 1632 }
-{ "id": 1633 }
-{ "id": 1634 }
-{ "id": 1635 }
-{ "id": 1636 }
-{ "id": 1637 }
-{ "id": 1638 }
-{ "id": 1639 }
-{ "id": 1640 }
-{ "id": 1641 }
-{ "id": 1642 }
-{ "id": 1643 }
-{ "id": 1644 }
-{ "id": 1645 }
-{ "id": 1646 }
-{ "id": 1647 }
-{ "id": 1648 }
-{ "id": 1649 }
-{ "id": 1650 }
-{ "id": 1651 }
-{ "id": 1652 }
-{ "id": 1653 }
-{ "id": 1654 }
-{ "id": 1655 }
-{ "id": 1656 }
-{ "id": 1657 }
-{ "id": 1658 }
-{ "id": 1659 }
-{ "id": 1660 }
-{ "id": 1661 }
-{ "id": 1662 }
-{ "id": 1663 }
-{ "id": 1664 }
-{ "id": 1665 }
-{ "id": 1666 }
-{ "id": 1667 }
-{ "id": 1668 }
-{ "id": 1669 }
-{ "id": 1670 }
-{ "id": 1671 }
-{ "id": 1672 }
-{ "id": 1673 }
-{ "id": 1674 }
-{ "id": 1675 }
-{ "id": 1676 }
-{ "id": 1677 }
-{ "id": 1678 }
-{ "id": 1679 }
-{ "id": 1680 }
-{ "id": 1681 }
-{ "id": 1682 }
-{ "id": 1683 }
-{ "id": 1684 }
-{ "id": 1685 }
-{ "id": 1686 }
-{ "id": 1687 }
-{ "id": 1688 }
-{ "id": 1689 }
-{ "id": 1690 }
-{ "id": 1691 }
-{ "id": 1692 }
-{ "id": 1693 }
-{ "id": 1694 }
-{ "id": 1695 }
-{ "id": 1696 }
-{ "id": 1697 }
-{ "id": 1698 }
-{ "id": 1699 }
-{ "id": 1700 }
-{ "id": 1701 }
-{ "id": 1702 }
-{ "id": 1703 }
-{ "id": 1704 }
-{ "id": 1705 }
-{ "id": 1706 }
-{ "id": 1707 }
-{ "id": 1708 }
-{ "id": 1709 }
-{ "id": 1710 }
-{ "id": 1711 }
-{ "id": 1712 }
-{ "id": 1713 }
-{ "id": 1714 }
-{ "id": 1715 }
-{ "id": 1716 }
-{ "id": 1717 }
-{ "id": 1718 }
-{ "id": 1719 }
-{ "id": 1720 }
-{ "id": 1721 }
-{ "id": 1722 }
-{ "id": 1723 }
-{ "id": 1724 }
-{ "id": 1725 }
-{ "id": 1726 }
-{ "id": 1727 }
-{ "id": 1728 }
-{ "id": 1729 }
-{ "id": 1730 }
-{ "id": 1731 }
-{ "id": 1732 }
-{ "id": 1733 }
-{ "id": 1734 }
-{ "id": 1735 }
-{ "id": 1736 }
-{ "id": 1737 }
-{ "id": 1738 }
-{ "id": 1739 }
-{ "id": 1740 }
-{ "id": 1741 }
-{ "id": 1742 }
-{ "id": 1743 }
-{ "id": 1744 }
-{ "id": 1745 }
-{ "id": 1746 }
-{ "id": 1747 }
-{ "id": 1748 }
-{ "id": 1749 }
-{ "id": 1750 }
-{ "id": 1751 }
-{ "id": 1752 }
-{ "id": 1753 }
-{ "id": 1754 }
-{ "id": 1755 }
-{ "id": 1756 }
-{ "id": 1757 }
-{ "id": 1758 }
-{ "id": 1759 }
-{ "id": 1760 }
-{ "id": 1761 }
-{ "id": 1762 }
-{ "id": 1763 }
-{ "id": 1764 }
-{ "id": 1765 }
-{ "id": 1766 }
-{ "id": 1767 }
-{ "id": 1768 }
-{ "id": 1769 }
-{ "id": 1770 }
-{ "id": 1771 }
-{ "id": 1772 }
-{ "id": 1773 }
-{ "id": 1774 }
-{ "id": 1785 }
-{ "id": 1786 }
-{ "id": 1787 }
-{ "id": 1788 }
-{ "id": 1789 }
-{ "id": 1790 }
-{ "id": 1791 }
-{ "id": 1792 }
-{ "id": 1793 }
-{ "id": 1794 }
-{ "id": 1795 }
-{ "id": 1796 }
-{ "id": 1797 }
-{ "id": 1798 }
-{ "id": 1799 }
-{ "id": 1800 }
-{ "id": 1801 }
-{ "id": 1802 }
-{ "id": 1803 }
-{ "id": 1804 }
-{ "id": 1805 }
-{ "id": 1806 }
-{ "id": 1807 }
-{ "id": 1808 }
-{ "id": 1809 }
-{ "id": 1810 }
-{ "id": 1811 }
-{ "id": 1812 }
-{ "id": 1813 }
-{ "id": 1814 }
-{ "id": 1815 }
-{ "id": 1816 }
-{ "id": 1817 }
-{ "id": 1818 }
-{ "id": 1819 }
-{ "id": 1820 }
-{ "id": 1821 }
-{ "id": 1822 }
-{ "id": 1823 }
-{ "id": 1824 }
-{ "id": 1825 }
-{ "id": 1826 }
-{ "id": 1827 }
-{ "id": 1828 }
-{ "id": 1829 }
-{ "id": 1830 }
-{ "id": 1831 }
-{ "id": 1832 }
-{ "id": 1833 }
-{ "id": 1834 }
-{ "id": 1835 }
-{ "id": 1836 }
-{ "id": 1837 }
-{ "id": 1838 }
-{ "id": 1839 }
-{ "id": 1840 }
-{ "id": 1841 }
-{ "id": 1842 }
-{ "id": 1843 }
-{ "id": 1844 }
-{ "id": 1845 }
-{ "id": 1846 }
-{ "id": 1847 }
-{ "id": 1848 }
-{ "id": 1849 }
-{ "id": 1850 }
-{ "id": 1851 }
-{ "id": 1852 }
-{ "id": 1853 }
-{ "id": 1854 }
-{ "id": 1855 }
-{ "id": 1856 }
-{ "id": 1857 }
-{ "id": 1858 }
-{ "id": 1859 }
-{ "id": 1860 }
-{ "id": 1861 }
-{ "id": 1862 }
-{ "id": 1863 }
-{ "id": 1864 }
-{ "id": 1865 }
-{ "id": 1866 }
-{ "id": 1867 }
-{ "id": 1868 }
-{ "id": 1869 }
-{ "id": 1870 }
-{ "id": 1871 }
-{ "id": 1872 }
-{ "id": 1873 }
-{ "id": 1874 }
-{ "id": 1875 }
-{ "id": 1876 }
-{ "id": 1877 }
-{ "id": 1878 }
-{ "id": 1879 }
-{ "id": 1880 }
-{ "id": 1881 }
-{ "id": 1882 }
-{ "id": 1883 }
-{ "id": 1884 }
-{ "id": 1885 }
-{ "id": 1886 }
-{ "id": 1887 }
-{ "id": 1888 }
-{ "id": 1889 }
-{ "id": 1890 }
-{ "id": 1891 }
-{ "id": 1892 }
-{ "id": 1893 }
-{ "id": 1894 }
-{ "id": 1895 }
-{ "id": 1896 }
-{ "id": 1897 }
-{ "id": 1898 }
-{ "id": 1899 }
-{ "id": 1900 }
-{ "id": 1901 }
-{ "id": 1902 }
-{ "id": 1903 }
-{ "id": 1904 }
-{ "id": 1905 }
-{ "id": 1906 }
-{ "id": 1907 }
-{ "id": 1908 }
-{ "id": 1909 }
-{ "id": 1910 }
-{ "id": 1911 }
-{ "id": 1912 }
-{ "id": 1913 }
-{ "id": 1914 }
-{ "id": 1915 }
-{ "id": 1916 }
-{ "id": 1917 }
-{ "id": 1918 }
-{ "id": 1919 }
-{ "id": 1920 }
-{ "id": 1921 }
-{ "id": 1922 }
-{ "id": 1923 }
-{ "id": 1924 }
-{ "id": 1925 }
-{ "id": 1926 }
-{ "id": 1927 }
-{ "id": 1928 }
-{ "id": 1929 }
-{ "id": 1930 }
-{ "id": 1931 }
-{ "id": 1932 }
-{ "id": 1933 }
-{ "id": 1934 }
-{ "id": 1935 }
-{ "id": 1936 }
-{ "id": 1937 }
-{ "id": 1938 }
-{ "id": 1939 }
-{ "id": 1940 }
-{ "id": 1941 }
-{ "id": 1942 }
-{ "id": 1943 }
-{ "id": 1944 }
-{ "id": 1945 }
-{ "id": 1946 }
-{ "id": 1947 }
-{ "id": 1948 }
-{ "id": 1949 }
-{ "id": 1950 }
-{ "id": 1951 }
-{ "id": 1952 }
-{ "id": 1953 }
-{ "id": 1954 }
-{ "id": 1955 }
-{ "id": 1956 }
-{ "id": 1957 }
-{ "id": 1958 }
-{ "id": 1959 }
-{ "id": 1960 }
-{ "id": 1961 }
-{ "id": 1962 }
-{ "id": 1963 }
-{ "id": 1964 }
-{ "id": 1965 }
-{ "id": 1966 }
-{ "id": 1967 }
-{ "id": 1968 }
-{ "id": 1969 }
-{ "id": 1970 }
-{ "id": 1971 }
-{ "id": 1972 }
-{ "id": 1973 }
-{ "id": 1974 }
-{ "id": 1975 }
-{ "id": 1976 }
-{ "id": 1977 }
-{ "id": 1978 }
-{ "id": 1979 }
-{ "id": 1980 }
-{ "id": 1981 }
-{ "id": 1982 }
-{ "id": 1983 }
-{ "id": 1984 }
-{ "id": 1985 }
-{ "id": 1986 }
-{ "id": 1987 }
-{ "id": 1988 }
-{ "id": 1989 }
-{ "id": 1990 }
-{ "id": 1991 }
-{ "id": 1992 }
-{ "id": 1993 }
-{ "id": 1994 }
-{ "id": 1995 }
-{ "id": 1996 }
-{ "id": 1997 }
-{ "id": 1998 }
-{ "id": 1999 }
-{ "id": 2000 }
-{ "id": 2001 }
-{ "id": 2002 }
-{ "id": 2003 }
-{ "id": 2004 }
-{ "id": 2005 }
-{ "id": 2006 }
-{ "id": 2007 }
-{ "id": 2008 }
-{ "id": 2009 }
-{ "id": 2010 }
-{ "id": 2011 }
-{ "id": 2012 }
-{ "id": 2013 }
-{ "id": 2014 }
-{ "id": 2015 }
-{ "id": 2016 }
-{ "id": 2017 }
-{ "id": 2018 }
-{ "id": 2019 }
-{ "id": 2020 }
-{ "id": 2021 }
-{ "id": 2022 }
-{ "id": 2023 }
-{ "id": 2024 }
-{ "id": 2025 }
-{ "id": 2026 }
-{ "id": 2027 }
-{ "id": 2028 }
-{ "id": 2029 }
-{ "id": 2035 }
-{ "id": 2036 }
-{ "id": 2037 }
-{ "id": 2038 }
-{ "id": 2039 }
-{ "id": 2040 }
-{ "id": 2041 }
-{ "id": 2042 }
-{ "id": 2043 }
-{ "id": 2044 }
-{ "id": 2045 }
-{ "id": 2046 }
-{ "id": 2047 }
-{ "id": 2048 }
-{ "id": 2049 }
-{ "id": 2050 }
-{ "id": 2051 }
-{ "id": 2052 }
-{ "id": 2053 }
-{ "id": 2054 }
-{ "id": 2055 }
-{ "id": 2056 }
-{ "id": 2057 }
-{ "id": 2058 }
-{ "id": 2059 }
-{ "id": 2060 }
-{ "id": 2061 }
-{ "id": 2062 }
-{ "id": 2063 }
-{ "id": 2064 }
-{ "id": 2065 }
-{ "id": 2066 }
-{ "id": 2067 }
-{ "id": 2068 }
-{ "id": 2069 }
-{ "id": 2070 }
-{ "id": 2071 }
-{ "id": 2072 }
-{ "id": 2073 }
-{ "id": 2074 }
-{ "id": 2075 }
-{ "id": 2076 }
-{ "id": 2077 }
-{ "id": 2078 }
-{ "id": 2079 }
-{ "id": 2080 }
-{ "id": 2081 }
-{ "id": 2082 }
-{ "id": 2083 }
-{ "id": 2084 }
-{ "id": 2085 }
-{ "id": 2086 }
-{ "id": 2087 }
-{ "id": 2088 }
-{ "id": 2089 }
-{ "id": 2090 }
-{ "id": 2091 }
-{ "id": 2092 }
-{ "id": 2093 }
-{ "id": 2094 }
-{ "id": 2095 }
-{ "id": 2096 }
-{ "id": 2097 }
-{ "id": 2098 }
-{ "id": 2099 }
-{ "id": 2100 }
-{ "id": 2101 }
-{ "id": 2102 }
-{ "id": 2103 }
-{ "id": 2104 }
-{ "id": 2105 }
-{ "id": 2106 }
-{ "id": 2107 }
-{ "id": 2108 }
-{ "id": 2109 }
-{ "id": 2110 }
-{ "id": 2111 }
-{ "id": 2112 }
-{ "id": 2113 }
-{ "id": 2114 }
-{ "id": 2115 }
-{ "id": 2116 }
-{ "id": 2117 }
-{ "id": 2118 }
-{ "id": 2119 }
-{ "id": 2120 }
-{ "id": 2121 }
-{ "id": 2122 }
-{ "id": 2123 }
-{ "id": 2124 }
-{ "id": 2125 }
-{ "id": 2126 }
-{ "id": 2127 }
-{ "id": 2128 }
-{ "id": 2129 }
-{ "id": 2130 }
-{ "id": 2131 }
-{ "id": 2132 }
-{ "id": 2133 }
-{ "id": 2134 }
-{ "id": 2135 }
-{ "id": 2136 }
-{ "id": 2137 }
-{ "id": 2138 }
-{ "id": 2139 }
-{ "id": 2140 }
-{ "id": 2141 }
-{ "id": 2142 }
-{ "id": 2143 }
-{ "id": 2144 }
-{ "id": 2145 }
-{ "id": 2146 }
-{ "id": 2147 }
-{ "id": 2148 }
-{ "id": 2149 }
-{ "id": 2150 }
-{ "id": 2156 }
-{ "id": 2157 }
-{ "id": 2158 }
-{ "id": 2159 }
-{ "id": 2160 }
-{ "id": 2161 }
-{ "id": 2162 }
-{ "id": 2163 }
-{ "id": 2164 }
-{ "id": 2165 }
-{ "id": 2166 }
-{ "id": 2167 }
-{ "id": 2168 }
-{ "id": 2169 }
-{ "id": 2170 }
-{ "id": 2171 }
-{ "id": 2172 }
-{ "id": 2173 }
-{ "id": 2174 }
-{ "id": 2175 }
-{ "id": 2176 }
-{ "id": 2177 }
-{ "id": 2178 }
-{ "id": 2179 }
-{ "id": 2180 }
-{ "id": 2181 }
-{ "id": 2182 }
-{ "id": 2183 }
-{ "id": 2184 }
-{ "id": 2185 }
-{ "id": 2186 }
-{ "id": 2187 }
-{ "id": 2188 }
-{ "id": 2189 }
-{ "id": 2190 }
-{ "id": 2191 }
-{ "id": 2192 }
-{ "id": 2193 }
-{ "id": 2194 }
-{ "id": 2195 }
-{ "id": 2196 }
-{ "id": 2197 }
-{ "id": 2198 }
-{ "id": 2199 }
-{ "id": 2200 }
-{ "id": 2201 }
-{ "id": 2202 }
-{ "id": 2203 }
-{ "id": 2204 }
-{ "id": 2205 }
-{ "id": 2206 }
-{ "id": 2207 }
-{ "id": 2208 }
-{ "id": 2209 }
-{ "id": 2210 }
-{ "id": 2211 }
-{ "id": 2212 }
-{ "id": 2213 }
-{ "id": 2214 }
-{ "id": 2228 }
-{ "id": 2229 }
-{ "id": 2230 }
-{ "id": 2231 }
-{ "id": 2232 }
-{ "id": 2233 }
-{ "id": 2234 }
-{ "id": 2235 }
-{ "id": 2236 }
-{ "id": 2237 }
-{ "id": 2238 }
-{ "id": 2239 }
-{ "id": 2240 }
-{ "id": 2241 }
-{ "id": 2242 }
-{ "id": 2243 }
-{ "id": 2244 }
-{ "id": 2245 }
-{ "id": 2246 }
-{ "id": 2247 }
-{ "id": 2248 }
-{ "id": 2249 }
-{ "id": 2250 }
-{ "id": 2251 }
-{ "id": 2252 }
-{ "id": 2253 }
-{ "id": 2254 }
-{ "id": 2255 }
-{ "id": 2256 }
-{ "id": 2257 }
-{ "id": 2258 }
-{ "id": 2259 }
-{ "id": 2260 }
-{ "id": 2261 }
-{ "id": 2262 }
-{ "id": 2263 }
-{ "id": 2264 }
-{ "id": 2265 }
-{ "id": 2266 }
-{ "id": 2267 }
-{ "id": 2268 }
-{ "id": 2269 }
-{ "id": 2270 }
-{ "id": 2271 }
-{ "id": 2272 }
-{ "id": 2273 }
-{ "id": 2274 }
-{ "id": 2275 }
-{ "id": 2276 }
-{ "id": 2277 }
-{ "id": 2278 }
-{ "id": 2279 }
-{ "id": 2280 }
-{ "id": 2281 }
-{ "id": 2326 }
-{ "id": 2327 }
-{ "id": 2328 }
-{ "id": 2329 }
-{ "id": 2330 }
-{ "id": 2331 }
-{ "id": 2332 }
-{ "id": 2333 }
-{ "id": 2334 }
-{ "id": 2335 }
-{ "id": 2336 }
-{ "id": 2337 }
-{ "id": 2338 }
-{ "id": 2339 }
-{ "id": 2340 }
-{ "id": 2341 }
-{ "id": 2342 }
-{ "id": 2343 }
-{ "id": 2344 }
-{ "id": 2345 }
-{ "id": 2346 }
-{ "id": 2347 }
-{ "id": 2348 }
-{ "id": 2349 }
-{ "id": 2350 }
-{ "id": 2351 }
-{ "id": 2352 }
-{ "id": 2353 }
-{ "id": 2354 }
-{ "id": 2355 }
-{ "id": 2356 }
-{ "id": 2357 }
-{ "id": 2358 }
-{ "id": 2359 }
-{ "id": 2360 }
-{ "id": 2361 }
-{ "id": 2362 }
-{ "id": 2408 }
-{ "id": 2409 }
-{ "id": 2410 }
-{ "id": 2411 }
-{ "id": 2412 }
-{ "id": 2413 }
-{ "id": 2414 }
-{ "id": 2415 }
-{ "id": 2416 }
-{ "id": 2417 }
-{ "id": 2418 }
-{ "id": 2419 }
-{ "id": 2420 }
-{ "id": 2421 }
-{ "id": 2422 }
-{ "id": 2423 }
-{ "id": 2424 }
-{ "id": 2425 }
-{ "id": 2456 }
-{ "id": 2457 }
-{ "id": 2458 }
-{ "id": 2459 }
-{ "id": 2460 }
-{ "id": 2480 }
-{ "id": 2481 }
-{ "id": 2531 }
-{ "id": 2532 }
-{ "id": 2533 }
-{ "id": 2534 }
-{ "id": 2535 }
-{ "id": 2536 }
-{ "id": 2537 }
-{ "id": 2538 }
-{ "id": 2539 }
-{ "id": 2540 }
-{ "id": 2541 }
-{ "id": 2542 }
-{ "id": 2546 }
-{ "id": 2547 }
-{ "id": 2548 }
-{ "id": 2549 }
-{ "id": 2550 }
-{ "id": 2551 }
-{ "id": 2552 }
-{ "id": 2553 }
-{ "id": 2554 }
-{ "id": 2555 }
-{ "id": 2556 }
-{ "id": 2557 }
-{ "id": 2558 }
-{ "id": 2559 }
-{ "id": 2560 }
-{ "id": 2561 }
-{ "id": 2562 }
-{ "id": 2563 }
-{ "id": 2564 }
-{ "id": 2565 }
-{ "id": 2566 }
-{ "id": 2567 }
-{ "id": 2568 }
-{ "id": 2569 }
-{ "id": 2570 }
-{ "id": 2571 }
-{ "id": 2572 }
-{ "id": 2573 }
-{ "id": 2574 }
-{ "id": 2575 }
-{ "id": 2576 }
-{ "id": 2577 }
-{ "id": 2578 }
-{ "id": 2579 }
-{ "id": 2580 }
-{ "id": 2581 }
-{ "id": 2582 }
-{ "id": 2583 }
-{ "id": 2584 }
-{ "id": 2585 }
-{ "id": 2586 }
-{ "id": 2587 }
-{ "id": 2588 }
-{ "id": 2589 }
-{ "id": 2590 }
-{ "id": 2591 }
-{ "id": 2592 }
-{ "id": 2593 }
-{ "id": 2594 }
-{ "id": 2595 }
-{ "id": 2596 }
-{ "id": 2597 }
-{ "id": 2598 }
-{ "id": 2599 }
-{ "id": 2600 }
-{ "id": 2601 }
-{ "id": 2602 }
-{ "id": 2603 }
-{ "id": 2604 }
-{ "id": 2605 }
-{ "id": 2606 }
-{ "id": 2607 }
-{ "id": 2608 }
-{ "id": 2609 }
-{ "id": 2610 }
-{ "id": 2611 }
-{ "id": 2612 }
-{ "id": 2613 }
-{ "id": 2614 }
-{ "id": 2615 }
-{ "id": 2616 }
-{ "id": 2617 }
-{ "id": 2618 }
-{ "id": 2619 }
-{ "id": 2620 }
-{ "id": 2621 }
-{ "id": 2622 }
-{ "id": 2623 }
-{ "id": 2624 }
-{ "id": 2625 }
-{ "id": 2626 }
-{ "id": 2627 }
-{ "id": 2628 }
-{ "id": 2629 }
-{ "id": 2630 }
-{ "id": 2631 }
-{ "id": 2632 }
-{ "id": 2633 }
-{ "id": 2634 }
-{ "id": 2635 }
-{ "id": 2637 }
-{ "id": 2638 }
-{ "id": 2639 }
-{ "id": 2640 }
-{ "id": 2641 }
-{ "id": 2642 }
-{ "id": 2643 }
-{ "id": 2644 }
-{ "id": 2645 }
-{ "id": 2646 }
-{ "id": 2647 }
-{ "id": 2648 }
-{ "id": 2649 }
-{ "id": 2650 }
-{ "id": 2651 }
-{ "id": 2652 }
-{ "id": 2653 }
-{ "id": 2654 }
-{ "id": 2655 }
-{ "id": 2656 }
-{ "id": 2657 }
-{ "id": 2658 }
-{ "id": 2659 }
-{ "id": 2660 }
-{ "id": 2661 }
-{ "id": 2662 }
-{ "id": 2663 }
-{ "id": 2664 }
-{ "id": 2665 }
-{ "id": 2666 }
-{ "id": 2667 }
-{ "id": 2668 }
-{ "id": 2669 }
-{ "id": 2670 }
-{ "id": 2671 }
-{ "id": 2672 }
-{ "id": 2673 }
-{ "id": 2674 }
-{ "id": 2675 }
-{ "id": 2676 }
-{ "id": 2677 }
-{ "id": 2678 }
-{ "id": 2679 }
-{ "id": 2680 }
-{ "id": 2681 }
-{ "id": 2682 }
-{ "id": 2683 }
-{ "id": 2684 }
-{ "id": 2685 }
-{ "id": 2686 }
-{ "id": 2687 }
-{ "id": 2688 }
-{ "id": 2689 }
-{ "id": 2690 }
-{ "id": 2691 }
-{ "id": 2692 }
-{ "id": 2693 }
-{ "id": 2694 }
-{ "id": 2695 }
-{ "id": 2696 }
-{ "id": 2697 }
-{ "id": 2698 }
-{ "id": 2699 }
-{ "id": 2700 }
-{ "id": 2701 }
-{ "id": 2702 }
-{ "id": 2703 }
-{ "id": 2704 }
-{ "id": 2705 }
-{ "id": 2706 }
-{ "id": 2707 }
-{ "id": 2708 }
-{ "id": 2709 }
-{ "id": 2710 }
-{ "id": 2711 }
-{ "id": 2712 }
-{ "id": 2713 }
-{ "id": 2714 }
-{ "id": 2715 }
-{ "id": 2716 }
-{ "id": 2717 }
-{ "id": 2718 }
-{ "id": 2719 }
-{ "id": 2720 }
-{ "id": 2721 }
-{ "id": 2722 }
-{ "id": 2723 }
-{ "id": 2724 }
-{ "id": 2725 }
-{ "id": 2726 }
-{ "id": 2727 }
-{ "id": 2728 }
-{ "id": 2729 }
-{ "id": 2730 }
-{ "id": 2731 }
-{ "id": 2732 }
-{ "id": 2733 }
-{ "id": 2734 }
-{ "id": 2735 }
-{ "id": 2736 }
-{ "id": 2737 }
-{ "id": 2738 }
-{ "id": 2739 }
-{ "id": 2740 }
-{ "id": 2741 }
-{ "id": 2742 }
-{ "id": 2743 }
-{ "id": 2744 }
-{ "id": 2745 }
-{ "id": 2746 }
-{ "id": 2747 }
-{ "id": 2748 }
-{ "id": 2749 }
-{ "id": 2750 }
-{ "id": 2751 }
-{ "id": 2752 }
-{ "id": 2753 }
-{ "id": 2754 }
-{ "id": 2755 }
-{ "id": 2756 }
-{ "id": 2757 }
-{ "id": 2758 }
-{ "id": 2759 }
-{ "id": 2760 }
-{ "id": 2761 }
-{ "id": 2762 }
-{ "id": 2763 }
-{ "id": 2764 }
-{ "id": 2765 }
-{ "id": 2766 }
-{ "id": 2767 }
-{ "id": 2768 }
-{ "id": 2769 }
-{ "id": 2770 }
-{ "id": 2771 }
-{ "id": 2772 }
-{ "id": 2773 }
-{ "id": 2774 }
-{ "id": 2775 }
-{ "id": 2776 }
-{ "id": 2777 }
-{ "id": 2778 }
-{ "id": 2779 }
-{ "id": 2780 }
-{ "id": 2781 }
-{ "id": 2782 }
-{ "id": 2783 }
-{ "id": 2784 }
-{ "id": 2785 }
-{ "id": 2786 }
-{ "id": 2787 }
-{ "id": 2788 }
-{ "id": 2789 }
-{ "id": 2790 }
-{ "id": 2791 }
-{ "id": 2792 }
-{ "id": 2793 }
-{ "id": 2794 }
-{ "id": 2795 }
-{ "id": 2796 }
-{ "id": 2797 }
-{ "id": 2798 }
-{ "id": 2799 }
-{ "id": 2800 }
-{ "id": 2801 }
-{ "id": 2802 }
-{ "id": 2803 }
-{ "id": 2804 }
-{ "id": 2805 }
-{ "id": 2806 }
-{ "id": 2807 }
-{ "id": 2808 }
-{ "id": 2809 }
-{ "id": 2810 }
-{ "id": 2811 }
-{ "id": 2812 }
-{ "id": 2813 }
-{ "id": 2814 }
-{ "id": 2815 }
-{ "id": 2816 }
-{ "id": 2817 }
-{ "id": 2818 }
-{ "id": 2819 }
-{ "id": 2820 }
-{ "id": 2821 }
-{ "id": 2822 }
-{ "id": 2823 }
-{ "id": 2824 }
-{ "id": 2825 }
-{ "id": 2826 }
-{ "id": 2827 }
-{ "id": 2828 }
-{ "id": 2829 }
-{ "id": 2830 }
-{ "id": 2831 }
-{ "id": 2832 }
-{ "id": 2833 }
-{ "id": 2834 }
-{ "id": 2835 }
-{ "id": 2836 }
-{ "id": 2837 }
-{ "id": 2838 }
-{ "id": 2839 }
-{ "id": 2840 }
-{ "id": 2841 }
-{ "id": 2842 }
-{ "id": 2843 }
-{ "id": 2844 }
-{ "id": 2845 }
-{ "id": 2846 }
-{ "id": 2847 }
-{ "id": 2848 }
-{ "id": 2849 }
-{ "id": 2850 }
-{ "id": 2851 }
-{ "id": 2852 }
-{ "id": 2853 }
-{ "id": 2854 }
-{ "id": 2855 }
-{ "id": 2856 }
-{ "id": 2857 }
-{ "id": 2858 }
-{ "id": 2859 }
-{ "id": 2860 }
-{ "id": 2861 }
-{ "id": 2862 }
-{ "id": 2863 }
-{ "id": 2864 }
-{ "id": 2865 }
-{ "id": 2866 }
-{ "id": 2867 }
-{ "id": 2868 }
-{ "id": 2869 }
-{ "id": 2870 }
-{ "id": 2871 }
-{ "id": 2872 }
-{ "id": 2873 }
-{ "id": 2874 }
-{ "id": 2875 }
-{ "id": 2876 }
-{ "id": 2877 }
-{ "id": 2878 }
-{ "id": 2879 }
-{ "id": 2880 }
-{ "id": 2881 }
-{ "id": 2882 }
-{ "id": 2883 }
-{ "id": 2884 }
-{ "id": 2885 }
-{ "id": 2886 }
-{ "id": 2887 }
-{ "id": 2888 }
-{ "id": 2889 }
-{ "id": 2890 }
-{ "id": 2891 }
-{ "id": 2892 }
-{ "id": 2893 }
-{ "id": 2894 }
-{ "id": 2895 }
-{ "id": 2896 }
-{ "id": 2897 }
-{ "id": 2898 }
-{ "id": 2899 }
-{ "id": 2900 }
-{ "id": 2901 }
-{ "id": 2902 }
-{ "id": 2903 }
-{ "id": 2904 }
-{ "id": 2905 }
-{ "id": 2906 }
-{ "id": 2907 }
-{ "id": 2908 }
-{ "id": 2909 }
-{ "id": 2910 }
-{ "id": 2911 }
-{ "id": 2912 }
-{ "id": 2913 }
-{ "id": 2914 }
-{ "id": 2915 }
-{ "id": 2916 }
-{ "id": 2917 }
-{ "id": 2918 }
-{ "id": 2919 }
-{ "id": 2920 }
-{ "id": 2921 }
-{ "id": 2922 }
-{ "id": 2923 }
-{ "id": 2924 }
-{ "id": 2925 }
-{ "id": 2926 }
-{ "id": 2927 }
-{ "id": 2928 }
-{ "id": 2929 }
-{ "id": 2930 }
-{ "id": 2931 }
-{ "id": 2932 }
-{ "id": 2933 }
-{ "id": 2934 }
-{ "id": 2935 }
-{ "id": 2936 }
-{ "id": 2937 }
-{ "id": 2938 }
-{ "id": 2939 }
-{ "id": 2940 }
-{ "id": 2941 }
-{ "id": 2942 }
-{ "id": 2943 }
-{ "id": 2944 }
-{ "id": 2945 }
-{ "id": 2946 }
-{ "id": 2947 }
-{ "id": 2948 }
-{ "id": 2949 }
-{ "id": 2950 }
-{ "id": 2951 }
-{ "id": 2952 }
-{ "id": 2953 }
-{ "id": 2954 }
-{ "id": 2955 }
-{ "id": 2956 }
-{ "id": 2957 }
-{ "id": 2958 }
-{ "id": 2959 }
-{ "id": 2960 }
-{ "id": 2961 }
-{ "id": 2962 }
-{ "id": 2963 }
-{ "id": 2964 }
-{ "id": 2965 }
-{ "id": 2966 }
-{ "id": 2967 }
-{ "id": 2968 }
-{ "id": 2969 }
-{ "id": 2970 }
-{ "id": 2971 }
-{ "id": 2972 }
-{ "id": 2973 }
-{ "id": 2974 }
-{ "id": 2975 }
-{ "id": 2976 }
-{ "id": 2977 }
-{ "id": 2978 }
-{ "id": 2979 }
-{ "id": 2980 }
-{ "id": 2981 }
-{ "id": 2982 }
-{ "id": 2983 }
-{ "id": 2984 }
-{ "id": 2985 }
-{ "id": 2986 }
-{ "id": 2987 }
-{ "id": 2988 }
-{ "id": 3045 }
-{ "id": 3046 }
-{ "id": 3047 }
-{ "id": 3048 }
-{ "id": 3049 }
-{ "id": 3050 }
-{ "id": 3051 }
-{ "id": 3052 }
-{ "id": 3053 }
-{ "id": 3054 }
-{ "id": 3055 }
-{ "id": 3056 }
-{ "id": 3057 }
-{ "id": 3058 }
-{ "id": 3059 }
-{ "id": 3060 }
-{ "id": 3061 }
-{ "id": 3062 }
-{ "id": 3063 }
-{ "id": 3064 }
-{ "id": 3065 }
-{ "id": 3066 }
-{ "id": 3067 }
-{ "id": 3068 }
-{ "id": 3069 }
-{ "id": 3070 }
-{ "id": 3071 }
-{ "id": 3072 }
-{ "id": 3073 }
-{ "id": 3074 }
-{ "id": 3075 }
-{ "id": 3076 }
-{ "id": 3077 }
-{ "id": 3078 }
-{ "id": 3158 }
-{ "id": 3159 }
-{ "id": 3160 }
-{ "id": 3161 }
-{ "id": 3162 }
-{ "id": 3163 }
-{ "id": 3164 }
-{ "id": 3165 }
-{ "id": 3166 }
-{ "id": 3167 }
-{ "id": 3168 }
-{ "id": 3169 }
-{ "id": 3170 }
-{ "id": 3171 }
-{ "id": 3172 }
-{ "id": 3173 }
-{ "id": 3174 }
-{ "id": 3175 }
-{ "id": 3176 }
-{ "id": 3177 }
-{ "id": 3178 }
-{ "id": 3179 }
-{ "id": 3180 }
-{ "id": 3181 }
-{ "id": 3182 }
-{ "id": 3183 }
-{ "id": 3184 }
-{ "id": 3185 }
-{ "id": 3186 }
-{ "id": 3187 }
-{ "id": 3188 }
-{ "id": 3189 }
-{ "id": 3190 }
-{ "id": 3191 }
-{ "id": 3192 }
-{ "id": 3193 }
-{ "id": 3194 }
-{ "id": 3195 }
-{ "id": 3196 }
-{ "id": 3197 }
-{ "id": 3198 }
-{ "id": 3199 }
-{ "id": 3200 }
-{ "id": 3201 }
-{ "id": 3202 }
-{ "id": 3203 }
-{ "id": 3204 }
-{ "id": 3205 }
-{ "id": 3206 }
-{ "id": 3207 }
-{ "id": 3208 }
-{ "id": 3209 }
-{ "id": 3210 }
-{ "id": 3211 }
-{ "id": 3212 }
-{ "id": 3213 }
-{ "id": 3214 }
-{ "id": 3215 }
-{ "id": 3216 }
-{ "id": 3217 }
-{ "id": 3218 }
-{ "id": 3219 }
-{ "id": 3220 }
-{ "id": 3221 }
-{ "id": 3222 }
-{ "id": 3223 }
-{ "id": 3224 }
-{ "id": 3225 }
-{ "id": 3226 }
-{ "id": 3227 }
-{ "id": 3228 }
-{ "id": 3229 }
-{ "id": 3230 }
-{ "id": 3231 }
-{ "id": 3232 }
-{ "id": 3233 }
-{ "id": 3234 }
-{ "id": 3235 }
-{ "id": 3236 }
-{ "id": 3237 }
-{ "id": 3238 }
-{ "id": 3239 }
-{ "id": 3240 }
-{ "id": 3241 }
-{ "id": 3242 }
-{ "id": 3243 }
-{ "id": 3244 }
-{ "id": 3245 }
-{ "id": 3246 }
-{ "id": 3247 }
-{ "id": 3248 }
-{ "id": 3249 }
-{ "id": 3250 }
-{ "id": 3251 }
-{ "id": 3252 }
-{ "id": 3253 }
-{ "id": 3254 }
-{ "id": 3255 }
-{ "id": 3256 }
-{ "id": 3257 }
-{ "id": 3258 }
-{ "id": 3259 }
-{ "id": 3260 }
-{ "id": 3261 }
-{ "id": 3262 }
-{ "id": 3263 }
-{ "id": 3264 }
-{ "id": 3265 }
-{ "id": 3266 }
-{ "id": 3267 }
-{ "id": 3268 }
-{ "id": 3269 }
-{ "id": 3270 }
-{ "id": 3271 }
-{ "id": 3272 }
-{ "id": 3273 }
-{ "id": 3274 }
-{ "id": 3275 }
-{ "id": 3276 }
-{ "id": 3277 }
-{ "id": 3278 }
-{ "id": 3279 }
-{ "id": 3280 }
-{ "id": 3281 }
-{ "id": 3282 }
-{ "id": 3283 }
-{ "id": 3284 }
-{ "id": 3285 }
-{ "id": 3286 }
-{ "id": 3287 }
-{ "id": 3288 }
-{ "id": 3289 }
-{ "id": 3290 }
-{ "id": 3291 }
-{ "id": 3292 }
-{ "id": 3293 }
-{ "id": 3294 }
-{ "id": 3295 }
-{ "id": 3296 }
-{ "id": 3297 }
-{ "id": 3298 }
-{ "id": 3299 }
-{ "id": 3300 }
-{ "id": 3301 }
-{ "id": 3302 }
-{ "id": 3303 }
-{ "id": 3304 }
-{ "id": 3305 }
-{ "id": 3306 }
-{ "id": 3307 }
-{ "id": 3308 }
-{ "id": 3309 }
-{ "id": 3310 }
-{ "id": 3311 }
-{ "id": 3312 }
-{ "id": 3313 }
-{ "id": 3314 }
-{ "id": 3315 }
-{ "id": 3316 }
-{ "id": 3317 }
-{ "id": 3318 }
-{ "id": 3319 }
-{ "id": 3320 }
-{ "id": 3321 }
-{ "id": 3322 }
-{ "id": 3323 }
-{ "id": 3324 }
-{ "id": 3325 }
-{ "id": 3326 }
-{ "id": 3327 }
-{ "id": 3541 }
-{ "id": 3542 }
-{ "id": 3543 }
-{ "id": 3544 }
-{ "id": 3545 }
-{ "id": 3546 }
-{ "id": 3547 }
-{ "id": 3548 }
-{ "id": 3549 }
-{ "id": 3550 }
-{ "id": 3551 }
-{ "id": 3552 }
-{ "id": 3553 }
-{ "id": 3554 }
-{ "id": 3555 }
-{ "id": 3556 }
-{ "id": 3557 }
-{ "id": 3558 }
-{ "id": 3559 }
-{ "id": 3560 }
-{ "id": 3561 }
-{ "id": 3562 }
-{ "id": 3563 }
-{ "id": 3564 }
-{ "id": 3565 }
-{ "id": 3566 }
-{ "id": 3567 }
-{ "id": 3568 }
-{ "id": 3569 }
-{ "id": 3570 }
-{ "id": 3571 }
-{ "id": 3572 }
-{ "id": 3573 }
-{ "id": 3574 }
-{ "id": 3575 }
-{ "id": 3576 }
-{ "id": 3577 }
-{ "id": 3578 }
-{ "id": 3579 }
-{ "id": 3580 }
-{ "id": 3581 }
-{ "id": 3582 }
-{ "id": 3583 }
-{ "id": 3584 }
-{ "id": 3585 }
-{ "id": 3586 }
-{ "id": 3587 }
-{ "id": 3588 }
-{ "id": 3589 }
-{ "id": 3590 }
-{ "id": 3591 }
-{ "id": 3592 }
-{ "id": 3593 }
-{ "id": 3594 }
-{ "id": 3595 }
-{ "id": 3596 }
-{ "id": 3597 }
-{ "id": 3598 }
-{ "id": 3599 }
-{ "id": 3600 }
-{ "id": 3601 }
-{ "id": 3602 }
-{ "id": 3603 }
-{ "id": 3604 }
-{ "id": 3605 }
-{ "id": 3606 }
-{ "id": 3607 }
-{ "id": 3608 }
-{ "id": 3609 }
-{ "id": 3610 }
-{ "id": 3611 }
-{ "id": 3612 }
-{ "id": 3613 }
-{ "id": 3614 }
-{ "id": 3615 }
-{ "id": 3616 }
-{ "id": 3617 }
-{ "id": 3618 }
-{ "id": 3619 }
-{ "id": 3620 }
-{ "id": 3621 }
-{ "id": 3622 }
-{ "id": 3623 }
-{ "id": 3624 }
-{ "id": 3625 }
-{ "id": 3626 }
-{ "id": 3627 }
-{ "id": 3628 }
-{ "id": 3629 }
-{ "id": 3630 }
-{ "id": 3631 }
-{ "id": 3632 }
-{ "id": 3633 }
-{ "id": 3634 }
-{ "id": 3635 }
-{ "id": 3636 }
-{ "id": 3637 }
-{ "id": 3638 }
-{ "id": 3639 }
-{ "id": 3640 }
-{ "id": 3641 }
-{ "id": 3642 }
-{ "id": 3643 }
-{ "id": 3644 }
-{ "id": 3645 }
-{ "id": 3646 }
-{ "id": 3647 }
-{ "id": 3648 }
-{ "id": 3649 }
-{ "id": 3650 }
-{ "id": 3651 }
-{ "id": 3652 }
-{ "id": 3653 }
-{ "id": 3654 }
-{ "id": 3655 }
-{ "id": 3656 }
-{ "id": 3657 }
-{ "id": 3658 }
-{ "id": 3659 }
-{ "id": 3660 }
-{ "id": 3661 }
-{ "id": 3662 }
-{ "id": 3663 }
-{ "id": 3664 }
-{ "id": 3665 }
-{ "id": 3666 }
-{ "id": 3667 }
-{ "id": 3668 }
-{ "id": 3669 }
-{ "id": 3670 }
-{ "id": 3671 }
-{ "id": 3672 }
-{ "id": 3772 }
-{ "id": 3773 }
-{ "id": 3774 }
-{ "id": 3775 }
-{ "id": 3776 }
-{ "id": 3777 }
-{ "id": 3778 }
-{ "id": 3779 }
-{ "id": 3780 }
-{ "id": 3781 }
-{ "id": 3782 }
-{ "id": 3783 }
-{ "id": 3784 }
-{ "id": 3785 }
-{ "id": 3786 }
-{ "id": 3787 }
-{ "id": 3788 }
-{ "id": 3789 }
-{ "id": 3790 }
-{ "id": 3791 }
-{ "id": 3792 }
-{ "id": 3793 }
-{ "id": 3794 }
-{ "id": 3795 }
-{ "id": 3796 }
-{ "id": 3797 }
-{ "id": 3798 }
-{ "id": 3799 }
-{ "id": 3800 }
-{ "id": 3801 }
-{ "id": 3802 }
-{ "id": 3803 }
-{ "id": 3804 }
-{ "id": 3805 }
-{ "id": 3806 }
-{ "id": 3807 }
-{ "id": 3808 }
-{ "id": 3809 }
-{ "id": 3810 }
-{ "id": 3811 }
-{ "id": 3812 }
-{ "id": 3813 }
-{ "id": 3814 }
-{ "id": 3815 }
-{ "id": 3816 }
-{ "id": 3817 }
-{ "id": 3818 }
-{ "id": 3819 }
-{ "id": 3820 }
-{ "id": 3821 }
-{ "id": 3822 }
-{ "id": 3823 }
-{ "id": 3824 }
-{ "id": 3825 }
-{ "id": 3826 }
-{ "id": 3827 }
-{ "id": 3828 }
-{ "id": 3829 }
-{ "id": 3830 }
-{ "id": 3831 }
-{ "id": 3832 }
-{ "id": 3833 }
-{ "id": 3834 }
-{ "id": 3876 }
-{ "id": 3877 }
-{ "id": 3878 }
-{ "id": 3879 }
-{ "id": 3880 }
-{ "id": 3881 }
-{ "id": 3882 }
-{ "id": 3883 }
-{ "id": 3884 }
-{ "id": 3885 }
-{ "id": 3886 }
-{ "id": 3887 }
-{ "id": 3888 }
-{ "id": 3889 }
-{ "id": 3890 }
-{ "id": 3891 }
-{ "id": 3892 }
-{ "id": 3893 }
-{ "id": 3894 }
-{ "id": 3895 }
-{ "id": 3896 }
-{ "id": 3897 }
-{ "id": 3898 }
-{ "id": 3899 }
-{ "id": 3900 }
-{ "id": 3901 }
-{ "id": 3902 }
-{ "id": 3903 }
-{ "id": 3904 }
-{ "id": 3905 }
-{ "id": 3906 }
-{ "id": 3907 }
-{ "id": 3908 }
-{ "id": 3909 }
-{ "id": 3910 }
-{ "id": 3911 }
-{ "id": 3912 }
-{ "id": 3913 }
-{ "id": 3914 }
-{ "id": 3915 }
-{ "id": 3916 }
-{ "id": 3917 }
-{ "id": 3918 }
-{ "id": 3919 }
-{ "id": 3920 }
-{ "id": 3921 }
-{ "id": 3922 }
-{ "id": 3923 }
-{ "id": 3924 }
-{ "id": 3925 }
-{ "id": 3926 }
-{ "id": 3927 }
-{ "id": 3928 }
-{ "id": 3929 }
-{ "id": 3930 }
-{ "id": 3931 }
-{ "id": 3932 }
-{ "id": 3933 }
-{ "id": 3934 }
-{ "id": 3935 }
-{ "id": 3936 }
-{ "id": 3937 }
-{ "id": 3938 }
-{ "id": 3939 }
-{ "id": 3940 }
-{ "id": 3941 }
-{ "id": 3942 }
-{ "id": 3943 }
-{ "id": 3944 }
-{ "id": 3945 }
-{ "id": 3946 }
-{ "id": 3947 }
-{ "id": 3948 }
-{ "id": 3949 }
-{ "id": 3950 }
-{ "id": 3951 }
-{ "id": 3952 }
-{ "id": 3953 }
-{ "id": 3954 }
-{ "id": 3955 }
-{ "id": 3956 }
-{ "id": 3957 }
-{ "id": 3958 }
-{ "id": 3959 }
-{ "id": 3960 }
-{ "id": 3961 }
-{ "id": 3962 }
-{ "id": 3963 }
-{ "id": 3964 }
-{ "id": 3965 }
-{ "id": 3966 }
-{ "id": 3967 }
-{ "id": 3968 }
-{ "id": 3969 }
-{ "id": 3970 }
-{ "id": 3971 }
-{ "id": 3972 }
-{ "id": 3973 }
-{ "id": 3974 }
-{ "id": 3975 }
-{ "id": 3976 }
-{ "id": 3977 }
-{ "id": 3978 }
-{ "id": 3979 }
-{ "id": 3980 }
-{ "id": 3981 }
-{ "id": 3982 }
-{ "id": 3983 }
-{ "id": 3984 }
-{ "id": 3985 }
-{ "id": 3986 }
-{ "id": 3987 }
-{ "id": 3988 }
-{ "id": 3989 }
-{ "id": 3990 }
-{ "id": 3991 }
-{ "id": 3992 }
-{ "id": 3993 }
-{ "id": 3994 }
-{ "id": 3995 }
-{ "id": 3996 }
-{ "id": 3997 }
-{ "id": 3998 }
-{ "id": 3999 }
-{ "id": 4000 }
-{ "id": 4001 }
-{ "id": 4002 }
-{ "id": 4003 }
-{ "id": 4004 }
-{ "id": 4005 }
-{ "id": 4006 }
-{ "id": 4007 }
-{ "id": 4008 }
-{ "id": 4009 }
-{ "id": 4010 }
-{ "id": 4011 }
-{ "id": 4012 }
-{ "id": 4013 }
-{ "id": 4014 }
-{ "id": 4015 }
-{ "id": 4016 }
-{ "id": 4017 }
-{ "id": 4018 }
-{ "id": 4019 }
-{ "id": 4020 }
-{ "id": 4021 }
-{ "id": 4022 }
-{ "id": 4023 }
-{ "id": 4024 }
-{ "id": 4025 }
-{ "id": 4026 }
-{ "id": 4027 }
-{ "id": 4028 }
-{ "id": 4110 }
-{ "id": 4111 }
-{ "id": 4112 }
-{ "id": 4113 }
-{ "id": 4114 }
-{ "id": 4115 }
-{ "id": 4116 }
-{ "id": 4117 }
-{ "id": 4118 }
-{ "id": 4119 }
-{ "id": 4120 }
-{ "id": 4121 }
-{ "id": 4122 }
-{ "id": 4123 }
-{ "id": 4124 }
-{ "id": 4125 }
-{ "id": 4126 }
-{ "id": 4127 }
-{ "id": 4128 }
-{ "id": 4129 }
-{ "id": 4130 }
-{ "id": 4131 }
-{ "id": 4132 }
-{ "id": 4133 }
-{ "id": 4134 }
-{ "id": 4135 }
-{ "id": 4136 }
-{ "id": 4137 }
-{ "id": 4138 }
-{ "id": 4139 }
-{ "id": 4140 }
-{ "id": 4141 }
-{ "id": 4142 }
-{ "id": 4143 }
-{ "id": 4144 }
-{ "id": 4220 }
-{ "id": 4221 }
-{ "id": 4222 }
-{ "id": 4223 }
-{ "id": 4224 }
-{ "id": 4225 }
-{ "id": 4226 }
-{ "id": 4227 }
-{ "id": 4228 }
-{ "id": 4229 }
-{ "id": 4230 }
-{ "id": 4231 }
-{ "id": 4232 }
-{ "id": 4233 }
-{ "id": 4234 }
-{ "id": 4235 }
-{ "id": 4236 }
-{ "id": 4237 }
-{ "id": 4238 }
-{ "id": 4239 }
-{ "id": 4240 }
-{ "id": 4241 }
-{ "id": 4242 }
-{ "id": 4243 }
-{ "id": 4244 }
-{ "id": 4245 }
-{ "id": 4246 }
-{ "id": 4303 }
-{ "id": 4304 }
-{ "id": 4305 }
-{ "id": 4306 }
-{ "id": 4307 }
-{ "id": 4308 }
-{ "id": 4309 }
-{ "id": 4310 }
-{ "id": 4311 }
-{ "id": 4312 }
-{ "id": 4313 }
-{ "id": 4314 }
-{ "id": 4315 }
-{ "id": 4316 }
-{ "id": 4317 }
-{ "id": 4318 }
-{ "id": 4319 }
-{ "id": 4320 }
-{ "id": 4321 }
-{ "id": 4322 }
-{ "id": 4323 }
-{ "id": 4324 }
-{ "id": 4325 }
-{ "id": 4326 }
-{ "id": 4327 }
-{ "id": 4328 }
-{ "id": 4329 }
-{ "id": 4330 }
-{ "id": 4331 }
-{ "id": 4332 }
-{ "id": 4333 }
-{ "id": 4334 }
-{ "id": 4335 }
-{ "id": 4336 }
-{ "id": 4337 }
-{ "id": 4338 }
-{ "id": 4339 }
-{ "id": 4340 }
-{ "id": 4341 }
-{ "id": 4342 }
-{ "id": 4343 }
-{ "id": 4344 }
-{ "id": 4345 }
-{ "id": 4346 }
-{ "id": 4347 }
-{ "id": 4348 }
-{ "id": 4349 }
-{ "id": 4350 }
-{ "id": 4351 }
-{ "id": 4352 }
-{ "id": 4353 }
-{ "id": 4354 }
-{ "id": 4355 }
-{ "id": 4356 }
-{ "id": 4357 }
-{ "id": 4358 }
-{ "id": 4359 }
-{ "id": 4360 }
-{ "id": 4361 }
-{ "id": 4362 }
-{ "id": 4363 }
-{ "id": 4364 }
-{ "id": 4365 }
-{ "id": 4366 }
-{ "id": 4367 }
-{ "id": 4368 }
-{ "id": 4369 }
-{ "id": 4370 }
-{ "id": 4371 }
-{ "id": 4372 }
-{ "id": 4373 }
-{ "id": 4374 }
-{ "id": 4375 }
-{ "id": 4376 }
-{ "id": 4377 }
-{ "id": 4378 }
-{ "id": 4379 }
-{ "id": 4380 }
-{ "id": 4381 }
-{ "id": 4382 }
-{ "id": 4383 }
-{ "id": 4384 }
-{ "id": 4385 }
-{ "id": 4386 }
-{ "id": 4387 }
-{ "id": 4388 }
-{ "id": 4389 }
-{ "id": 4390 }
-{ "id": 4391 }
-{ "id": 4392 }
-{ "id": 4393 }
-{ "id": 4394 }
-{ "id": 4395 }
-{ "id": 4396 }
-{ "id": 4397 }
-{ "id": 4398 }
-{ "id": 4399 }
-{ "id": 4400 }
-{ "id": 4401 }
-{ "id": 4402 }
-{ "id": 4403 }
-{ "id": 4404 }
-{ "id": 4405 }
-{ "id": 4406 }
-{ "id": 4407 }
-{ "id": 4408 }
-{ "id": 4409 }
-{ "id": 4410 }
-{ "id": 4411 }
-{ "id": 4412 }
-{ "id": 4413 }
-{ "id": 4414 }
-{ "id": 4415 }
-{ "id": 4416 }
-{ "id": 4417 }
-{ "id": 4418 }
-{ "id": 4419 }
-{ "id": 4420 }
-{ "id": 4421 }
-{ "id": 4422 }
-{ "id": 4423 }
-{ "id": 4424 }
-{ "id": 4425 }
-{ "id": 4426 }
-{ "id": 4427 }
-{ "id": 4428 }
-{ "id": 4429 }
-{ "id": 4430 }
-{ "id": 4601 }
-{ "id": 4602 }
-{ "id": 4603 }
-{ "id": 4604 }
-{ "id": 4605 }
-{ "id": 4606 }
-{ "id": 4607 }
-{ "id": 4608 }
-{ "id": 4609 }
-{ "id": 4610 }
-{ "id": 4611 }
-{ "id": 4612 }
-{ "id": 4613 }
-{ "id": 4614 }
-{ "id": 4615 }
-{ "id": 4616 }
-{ "id": 4617 }
-{ "id": 4618 }
-{ "id": 4619 }
-{ "id": 4620 }
-{ "id": 4621 }
-{ "id": 4622 }
-{ "id": 4623 }
-{ "id": 4624 }
-{ "id": 4625 }
-{ "id": 4626 }
-{ "id": 4627 }
-{ "id": 4628 }
-{ "id": 4629 }
-{ "id": 4630 }
-{ "id": 4631 }
-{ "id": 4632 }
-{ "id": 4633 }
-{ "id": 4634 }
-{ "id": 4635 }
-{ "id": 4636 }
-{ "id": 4637 }
-{ "id": 4638 }
-{ "id": 4639 }
-{ "id": 4640 }
-{ "id": 4641 }
-{ "id": 4642 }
-{ "id": 4643 }
-{ "id": 4644 }
-{ "id": 4645 }
-{ "id": 4646 }
-{ "id": 4647 }
-{ "id": 4648 }
-{ "id": 4649 }
-{ "id": 4650 }
-{ "id": 4651 }
-{ "id": 4652 }
-{ "id": 4653 }
-{ "id": 4654 }
-{ "id": 4655 }
-{ "id": 4656 }
-{ "id": 4657 }
-{ "id": 4658 }
-{ "id": 4659 }
-{ "id": 4660 }
-{ "id": 4661 }
-{ "id": 4662 }
-{ "id": 4663 }
-{ "id": 4664 }
-{ "id": 4665 }
-{ "id": 4666 }
-{ "id": 4667 }
-{ "id": 4668 }
-{ "id": 4669 }
-{ "id": 4670 }
-{ "id": 4671 }
-{ "id": 4672 }
-{ "id": 4673 }
-{ "id": 4674 }
-{ "id": 4675 }
-{ "id": 4676 }
-{ "id": 4677 }
-{ "id": 4678 }
-{ "id": 4679 }
-{ "id": 4680 }
-{ "id": 4681 }
-{ "id": 4682 }
-{ "id": 4683 }
-{ "id": 4684 }
-{ "id": 4685 }
-{ "id": 4686 }
-{ "id": 4687 }
-{ "id": 4688 }
-{ "id": 4689 }
-{ "id": 4690 }
-{ "id": 4691 }
-{ "id": 4692 }
-{ "id": 4693 }
-{ "id": 4694 }
-{ "id": 4695 }
-{ "id": 4696 }
-{ "id": 4697 }
-{ "id": 4698 }
-{ "id": 4699 }
-{ "id": 4700 }
-{ "id": 4701 }
-{ "id": 4702 }
-{ "id": 4703 }
-{ "id": 4704 }
-{ "id": 4705 }
-{ "id": 4706 }
-{ "id": 4707 }
-{ "id": 4708 }
-{ "id": 4709 }
-{ "id": 4710 }
-{ "id": 4711 }
-{ "id": 4712 }
-{ "id": 4713 }
-{ "id": 4714 }
-{ "id": 4715 }
-{ "id": 4716 }
-{ "id": 4717 }
-{ "id": 4718 }
-{ "id": 4719 }
-{ "id": 4720 }
-{ "id": 4721 }
-{ "id": 4722 }
-{ "id": 4723 }
-{ "id": 4724 }
-{ "id": 4725 }
-{ "id": 4726 }
-{ "id": 4727 }
-{ "id": 4728 }
-{ "id": 4729 }
-{ "id": 4730 }
-{ "id": 4731 }
-{ "id": 4732 }
-{ "id": 4733 }
-{ "id": 4734 }
-{ "id": 4735 }
-{ "id": 4736 }
-{ "id": 4737 }
-{ "id": 4738 }
-{ "id": 4739 }
-{ "id": 4740 }
-{ "id": 4741 }
-{ "id": 4742 }
-{ "id": 4743 }
-{ "id": 4744 }
-{ "id": 4745 }
-{ "id": 4746 }
-{ "id": 4747 }
-{ "id": 4748 }
-{ "id": 4749 }
-{ "id": 4750 }
-{ "id": 4751 }
-{ "id": 4752 }
-{ "id": 4753 }
-{ "id": 4754 }
-{ "id": 4755 }
-{ "id": 4756 }
-{ "id": 4757 }
-{ "id": 4758 }
-{ "id": 4759 }
-{ "id": 4760 }
-{ "id": 4761 }
-{ "id": 4762 }
-{ "id": 4763 }
-{ "id": 4764 }
-{ "id": 4765 }
-{ "id": 4766 }
-{ "id": 4767 }
-{ "id": 4768 }
-{ "id": 4769 }
-{ "id": 4770 }
-{ "id": 4771 }
-{ "id": 4772 }
-{ "id": 4773 }
-{ "id": 4774 }
-{ "id": 4775 }
-{ "id": 4776 }
-{ "id": 4777 }
-{ "id": 4778 }
-{ "id": 4779 }
-{ "id": 4780 }
-{ "id": 4781 }
-{ "id": 4782 }
-{ "id": 4783 }
-{ "id": 4784 }
-{ "id": 4785 }
-{ "id": 4786 }
-{ "id": 4787 }
-{ "id": 4788 }
-{ "id": 4789 }
-{ "id": 4790 }
-{ "id": 4791 }
-{ "id": 4792 }
-{ "id": 4793 }
-{ "id": 4794 }
-{ "id": 4795 }
-{ "id": 4796 }
-{ "id": 4797 }
-{ "id": 4798 }
-{ "id": 4799 }
-{ "id": 4800 }
-{ "id": 4801 }
-{ "id": 4802 }
-{ "id": 4803 }
-{ "id": 4804 }
-{ "id": 4805 }
-{ "id": 4806 }
-{ "id": 4807 }
-{ "id": 4808 }
-{ "id": 4809 }
-{ "id": 4810 }
-{ "id": 4811 }
-{ "id": 4812 }
-{ "id": 4813 }
-{ "id": 4814 }
-{ "id": 4815 }
-{ "id": 4816 }
-{ "id": 4817 }
-{ "id": 4872 }
-{ "id": 4873 }
-{ "id": 4874 }
-{ "id": 4875 }
-{ "id": 4876 }
-{ "id": 4877 }
-{ "id": 4878 }
-{ "id": 4879 }
-{ "id": 4880 }
-{ "id": 4881 }
-{ "id": 4882 }
-{ "id": 4883 }
-{ "id": 4884 }
-{ "id": 4885 }
-{ "id": 4886 }
-{ "id": 4887 }
-{ "id": 4888 }
-{ "id": 4889 }
-{ "id": 4890 }
-{ "id": 4891 }
-{ "id": 4892 }
-{ "id": 4893 }
-{ "id": 4894 }
-{ "id": 4895 }
-{ "id": 4896 }
-{ "id": 4897 }
-{ "id": 4898 }
-{ "id": 4899 }
-{ "id": 4900 }
-{ "id": 4901 }
-{ "id": 4902 }
-{ "id": 4903 }
-{ "id": 4904 }
-{ "id": 4905 }
-{ "id": 4906 }
-{ "id": 4907 }
-{ "id": 4908 }
-{ "id": 4909 }
-{ "id": 4910 }
-{ "id": 4911 }
-{ "id": 4912 }
-{ "id": 4913 }
-{ "id": 4914 }
-{ "id": 4915 }
-{ "id": 4916 }
-{ "id": 4917 }
-{ "id": 4918 }
-{ "id": 4919 }
-{ "id": 4920 }
-{ "id": 4921 }
-{ "id": 4922 }
-{ "id": 4923 }
-{ "id": 4924 }
-{ "id": 4925 }
-{ "id": 4926 }
-{ "id": 4927 }
-{ "id": 4928 }
-{ "id": 4929 }
-{ "id": 4930 }
-{ "id": 4931 }
-{ "id": 4932 }
-{ "id": 4933 }
-{ "id": 4934 }
-{ "id": 4935 }
-{ "id": 4936 }
-{ "id": 4937 }
-{ "id": 4938 }
-{ "id": 4939 }
-{ "id": 4940 }
-{ "id": 4941 }
-{ "id": 4942 }
-{ "id": 4943 }
-{ "id": 4944 }
-{ "id": 4945 }
-{ "id": 4946 }
-{ "id": 4947 }
-{ "id": 4948 }
-{ "id": 4949 }
-{ "id": 4950 }
-{ "id": 4951 }
-{ "id": 4952 }
-{ "id": 4953 }
-{ "id": 4954 }
-{ "id": 4955 }
-{ "id": 4956 }
-{ "id": 4957 }
-{ "id": 4958 }
-{ "id": 4959 }
-{ "id": 4960 }
-{ "id": 4961 }
-{ "id": 4962 }
-{ "id": 4963 }
-{ "id": 4964 }
-{ "id": 4965 }
-{ "id": 4966 }
-{ "id": 4967 }
-{ "id": 4968 }
-{ "id": 4969 }
-{ "id": 4970 }
-{ "id": 4971 }
-{ "id": 4972 }
-{ "id": 4973 }
-{ "id": 4974 }
-{ "id": 4975 }
-{ "id": 4976 }
-{ "id": 4977 }
-{ "id": 4978 }
-{ "id": 4979 }
-{ "id": 4980 }
-{ "id": 4981 }
-{ "id": 4982 }
-{ "id": 4983 }
-{ "id": 4984 }
-{ "id": 4985 }
-{ "id": 4986 }
-{ "id": 4987 }
-{ "id": 4988 }
-{ "id": 4989 }
-{ "id": 4990 }
-{ "id": 4991 }
-{ "id": 4992 }
-{ "id": 4993 }
-{ "id": 4994 }
-{ "id": 4995 }
-{ "id": 4996 }
-{ "id": 4997 }
-{ "id": 4998 }
-{ "id": 4999 }
-{ "id": 5000 }
-{ "id": 5001 }
-{ "id": 5002 }
-{ "id": 5003 }
-{ "id": 5004 }
-{ "id": 5005 }
-{ "id": 5006 }
-{ "id": 5007 }
-{ "id": 5008 }
-{ "id": 5009 }
-{ "id": 5010 }
-{ "id": 5011 }
-{ "id": 5012 }
-{ "id": 5013 }
-{ "id": 5014 }
-{ "id": 5015 }
-{ "id": 5016 }
-{ "id": 5017 }
-{ "id": 5018 }
-{ "id": 5019 }
-{ "id": 5020 }
-{ "id": 5021 }
-{ "id": 5022 }
-{ "id": 5023 }
-{ "id": 5024 }
-{ "id": 5025 }
-{ "id": 5026 }
-{ "id": 5027 }
-{ "id": 5028 }
-{ "id": 5029 }
-{ "id": 5030 }
-{ "id": 5031 }
-{ "id": 5032 }
-{ "id": 5033 }
-{ "id": 5034 }
-{ "id": 5035 }
-{ "id": 5036 }
-{ "id": 5037 }
-{ "id": 5038 }
-{ "id": 5039 }
-{ "id": 5040 }
-{ "id": 5041 }
-{ "id": 5042 }
-{ "id": 5043 }
-{ "id": 5044 }
-{ "id": 5045 }
-{ "id": 5046 }
-{ "id": 5047 }
-{ "id": 5048 }
-{ "id": 5049 }
-{ "id": 5050 }
-{ "id": 5051 }
-{ "id": 5052 }
-{ "id": 5053 }
-{ "id": 5054 }
-{ "id": 5055 }
-{ "id": 5056 }
-{ "id": 5057 }
-{ "id": 5058 }
-{ "id": 5059 }
-{ "id": 5060 }
-{ "id": 5061 }
-{ "id": 5062 }
-{ "id": 5063 }
-{ "id": 5064 }
-{ "id": 5065 }
-{ "id": 5066 }
-{ "id": 5067 }
-{ "id": 5068 }
-{ "id": 5069 }
-{ "id": 5070 }
-{ "id": 5071 }
-{ "id": 5072 }
-{ "id": 5073 }
-{ "id": 5074 }
-{ "id": 5075 }
-{ "id": 5076 }
-{ "id": 5077 }
-{ "id": 5078 }
-{ "id": 5079 }
-{ "id": 5080 }
-{ "id": 5081 }
-{ "id": 5082 }
-{ "id": 5083 }
-{ "id": 5084 }
-{ "id": 5085 }
-{ "id": 5086 }
-{ "id": 5087 }
-{ "id": 5088 }
-{ "id": 5089 }
-{ "id": 5090 }
-{ "id": 5091 }
-{ "id": 5092 }
-{ "id": 5093 }
-{ "id": 5094 }
-{ "id": 5095 }
-{ "id": 5096 }
-{ "id": 5097 }
-{ "id": 5098 }
-{ "id": 5099 }
-{ "id": 5100 }
-{ "id": 5101 }
-{ "id": 5102 }
-{ "id": 5103 }
-{ "id": 5104 }
-{ "id": 5105 }
-{ "id": 5106 }
-{ "id": 5107 }
-{ "id": 5108 }
-{ "id": 5109 }
-{ "id": 5110 }
-{ "id": 5111 }
-{ "id": 5112 }
-{ "id": 5113 }
-{ "id": 5114 }
-{ "id": 5115 }
-{ "id": 5116 }
-{ "id": 5117 }
-{ "id": 5118 }
-{ "id": 5119 }
-{ "id": 5120 }
-{ "id": 5121 }
-{ "id": 5122 }
-{ "id": 5123 }
-{ "id": 5124 }
-{ "id": 5125 }
-{ "id": 5126 }
-{ "id": 5127 }
-{ "id": 5128 }
-{ "id": 5129 }
-{ "id": 5130 }
-{ "id": 5131 }
-{ "id": 5132 }
-{ "id": 5133 }
-{ "id": 5134 }
-{ "id": 5135 }
-{ "id": 5136 }
-{ "id": 5137 }
-{ "id": 5138 }
-{ "id": 5139 }
-{ "id": 5140 }
-{ "id": 5141 }
-{ "id": 5142 }
-{ "id": 5143 }
-{ "id": 5144 }
-{ "id": 5145 }
-{ "id": 5146 }
-{ "id": 5147 }
-{ "id": 5148 }
-{ "id": 5149 }
-{ "id": 5150 }
-{ "id": 5151 }
-{ "id": 5152 }
-{ "id": 5153 }
-{ "id": 5154 }
-{ "id": 5155 }
-{ "id": 5156 }
-{ "id": 5157 }
-{ "id": 5158 }
-{ "id": 5159 }
-{ "id": 5160 }
-{ "id": 5161 }
-{ "id": 5162 }
-{ "id": 5163 }
-{ "id": 5164 }
-{ "id": 5165 }
-{ "id": 5166 }
-{ "id": 5167 }
-{ "id": 5168 }
-{ "id": 5169 }
-{ "id": 5170 }
-{ "id": 5171 }
-{ "id": 5172 }
-{ "id": 5173 }
-{ "id": 5174 }
-{ "id": 5175 }
-{ "id": 5176 }
-{ "id": 5177 }
-{ "id": 5178 }
-{ "id": 5179 }
-{ "id": 5180 }
-{ "id": 5181 }
-{ "id": 5182 }
-{ "id": 5183 }
-{ "id": 5184 }
-{ "id": 5185 }
-{ "id": 5186 }
-{ "id": 5187 }
-{ "id": 5188 }
-{ "id": 5189 }
-{ "id": 5190 }
-{ "id": 5191 }
-{ "id": 5192 }
-{ "id": 5193 }
-{ "id": 5194 }
-{ "id": 5195 }
-{ "id": 5196 }
-{ "id": 5197 }
-{ "id": 5198 }
-{ "id": 5199 }
-{ "id": 5200 }
-{ "id": 5201 }
-{ "id": 5202 }
-{ "id": 5203 }
-{ "id": 5204 }
-{ "id": 5205 }
-{ "id": 5206 }
-{ "id": 5207 }
-{ "id": 5208 }
-{ "id": 5209 }
-{ "id": 5210 }
-{ "id": 5211 }
-{ "id": 5212 }
-{ "id": 5213 }
-{ "id": 5214 }
-{ "id": 5215 }
-{ "id": 5216 }
-{ "id": 5217 }
-{ "id": 5223 }
-{ "id": 5224 }
-{ "id": 5225 }
-{ "id": 5226 }
-{ "id": 5227 }
-{ "id": 5228 }
-{ "id": 5229 }
-{ "id": 5230 }
-{ "id": 5231 }
-{ "id": 5232 }
-{ "id": 5233 }
-{ "id": 5234 }
-{ "id": 5235 }
-{ "id": 5236 }
-{ "id": 5237 }
-{ "id": 5238 }
-{ "id": 5239 }
-{ "id": 5240 }
-{ "id": 5241 }
-{ "id": 5242 }
-{ "id": 5243 }
-{ "id": 5244 }
-{ "id": 5245 }
-{ "id": 5246 }
-{ "id": 5247 }
-{ "id": 5248 }
-{ "id": 5249 }
-{ "id": 5250 }
-{ "id": 5251 }
-{ "id": 5252 }
-{ "id": 5253 }
-{ "id": 5254 }
-{ "id": 5255 }
-{ "id": 5256 }
-{ "id": 5257 }
-{ "id": 5258 }
-{ "id": 5259 }
-{ "id": 5260 }
-{ "id": 5261 }
-{ "id": 5262 }
-{ "id": 5263 }
-{ "id": 5264 }
-{ "id": 5265 }
-{ "id": 5266 }
-{ "id": 5267 }
-{ "id": 5268 }
-{ "id": 5269 }
-{ "id": 5270 }
-{ "id": 5271 }
-{ "id": 5272 }
-{ "id": 5273 }
-{ "id": 5274 }
-{ "id": 5275 }
-{ "id": 5276 }
-{ "id": 5277 }
-{ "id": 5278 }
-{ "id": 5279 }
-{ "id": 5280 }
-{ "id": 5281 }
-{ "id": 5282 }
-{ "id": 5283 }
-{ "id": 5284 }
-{ "id": 5285 }
-{ "id": 5286 }
-{ "id": 5287 }
-{ "id": 5288 }
-{ "id": 5289 }
-{ "id": 5290 }
-{ "id": 5291 }
-{ "id": 5292 }
-{ "id": 5293 }
-{ "id": 5294 }
-{ "id": 5295 }
-{ "id": 5296 }
-{ "id": 5297 }
-{ "id": 5298 }
-{ "id": 5299 }
-{ "id": 5300 }
-{ "id": 5301 }
-{ "id": 5302 }
-{ "id": 5303 }
-{ "id": 5304 }
-{ "id": 5305 }
-{ "id": 5306 }
-{ "id": 5307 }
-{ "id": 5308 }
-{ "id": 5309 }
-{ "id": 5310 }
-{ "id": 5311 }
-{ "id": 5312 }
-{ "id": 5313 }
-{ "id": 5314 }
-{ "id": 5315 }
-{ "id": 5316 }
-{ "id": 5317 }
-{ "id": 5318 }
-{ "id": 5319 }
-{ "id": 5320 }
-{ "id": 5321 }
-{ "id": 5322 }
-{ "id": 5323 }
-{ "id": 5324 }
-{ "id": 5325 }
-{ "id": 5326 }
-{ "id": 5327 }
-{ "id": 5328 }
-{ "id": 5329 }
-{ "id": 5330 }
-{ "id": 5331 }
-{ "id": 5332 }
-{ "id": 5333 }
-{ "id": 5334 }
-{ "id": 5335 }
-{ "id": 5336 }
-{ "id": 5337 }
-{ "id": 5338 }
-{ "id": 5339 }
-{ "id": 5340 }
-{ "id": 5341 }
-{ "id": 5342 }
-{ "id": 5343 }
-{ "id": 5344 }
-{ "id": 5345 }
-{ "id": 5346 }
-{ "id": 5347 }
-{ "id": 5348 }
-{ "id": 5349 }
-{ "id": 5350 }
-{ "id": 5351 }
-{ "id": 5352 }
-{ "id": 5353 }
-{ "id": 5354 }
-{ "id": 5355 }
-{ "id": 5356 }
-{ "id": 5357 }
-{ "id": 5358 }
-{ "id": 5359 }
-{ "id": 5360 }
-{ "id": 5361 }
-{ "id": 5362 }
-{ "id": 5363 }
-{ "id": 5364 }
-{ "id": 5365 }
-{ "id": 5366 }
-{ "id": 5367 }
-{ "id": 5368 }
-{ "id": 5369 }
-{ "id": 5370 }
-{ "id": 5371 }
-{ "id": 5372 }
-{ "id": 5373 }
-{ "id": 5374 }
-{ "id": 5375 }
-{ "id": 5376 }
-{ "id": 5377 }
-{ "id": 5378 }
-{ "id": 5379 }
-{ "id": 5380 }
-{ "id": 5381 }
-{ "id": 5382 }
-{ "id": 5383 }
-{ "id": 5384 }
-{ "id": 5385 }
-{ "id": 5386 }
-{ "id": 5387 }
-{ "id": 5388 }
-{ "id": 5389 }
-{ "id": 5390 }
-{ "id": 5391 }
-{ "id": 5392 }
-{ "id": 5393 }
-{ "id": 5394 }
-{ "id": 5395 }
-{ "id": 5396 }
-{ "id": 5397 }
-{ "id": 5398 }
-{ "id": 5399 }
-{ "id": 5400 }
-{ "id": 5401 }
-{ "id": 5402 }
-{ "id": 5403 }
-{ "id": 5404 }
-{ "id": 5405 }
-{ "id": 5406 }
-{ "id": 5407 }
-{ "id": 5408 }
-{ "id": 5409 }
-{ "id": 5410 }
-{ "id": 5411 }
-{ "id": 5412 }
-{ "id": 5413 }
-{ "id": 5414 }
-{ "id": 5415 }
-{ "id": 5416 }
-{ "id": 5417 }
-{ "id": 5418 }
-{ "id": 5419 }
-{ "id": 5420 }
-{ "id": 5421 }
-{ "id": 5422 }
-{ "id": 5423 }
-{ "id": 5424 }
-{ "id": 5425 }
-{ "id": 5426 }
-{ "id": 5427 }
-{ "id": 5428 }
-{ "id": 5429 }
-{ "id": 5430 }
-{ "id": 5431 }
-{ "id": 5432 }
-{ "id": 5433 }
-{ "id": 5434 }
-{ "id": 5435 }
-{ "id": 5436 }
-{ "id": 5437 }
-{ "id": 5438 }
-{ "id": 5439 }
-{ "id": 5440 }
-{ "id": 5441 }
-{ "id": 5442 }
-{ "id": 5443 }
-{ "id": 5444 }
-{ "id": 5445 }
-{ "id": 5446 }
-{ "id": 5447 }
-{ "id": 5448 }
-{ "id": 5449 }
-{ "id": 5450 }
-{ "id": 5451 }
-{ "id": 5452 }
-{ "id": 5453 }
-{ "id": 5454 }
-{ "id": 5455 }
-{ "id": 5456 }
-{ "id": 5457 }
-{ "id": 5458 }
-{ "id": 5459 }
-{ "id": 5460 }
-{ "id": 5461 }
-{ "id": 5462 }
-{ "id": 5463 }
-{ "id": 5464 }
-{ "id": 5465 }
-{ "id": 5466 }
-{ "id": 5467 }
-{ "id": 5468 }
-{ "id": 5469 }
-{ "id": 5470 }
-{ "id": 5471 }
-{ "id": 5472 }
-{ "id": 5473 }
-{ "id": 5474 }
-{ "id": 5475 }
-{ "id": 5476 }
-{ "id": 5477 }
-{ "id": 5478 }
-{ "id": 5479 }
-{ "id": 5480 }
-{ "id": 5481 }
-{ "id": 5482 }
-{ "id": 5483 }
-{ "id": 5484 }
-{ "id": 5485 }
-{ "id": 5486 }
-{ "id": 5487 }
-{ "id": 5488 }
-{ "id": 5489 }
-{ "id": 5490 }
-{ "id": 5491 }
-{ "id": 5492 }
-{ "id": 5493 }
-{ "id": 5494 }
-{ "id": 5495 }
-{ "id": 5496 }
-{ "id": 5497 }
-{ "id": 5498 }
-{ "id": 5499 }
-{ "id": 5500 }
-{ "id": 5501 }
-{ "id": 5502 }
-{ "id": 5503 }
-{ "id": 5504 }
-{ "id": 5505 }
-{ "id": 5506 }
-{ "id": 5507 }
-{ "id": 5508 }
-{ "id": 5509 }
-{ "id": 5510 }
-{ "id": 5511 }
-{ "id": 5512 }
-{ "id": 5513 }
-{ "id": 5514 }
-{ "id": 5524 }
-{ "id": 5525 }
-{ "id": 5526 }
-{ "id": 5527 }
-{ "id": 5528 }
-{ "id": 5529 }
-{ "id": 5530 }
-{ "id": 5531 }
-{ "id": 5532 }
-{ "id": 5533 }
-{ "id": 5534 }
-{ "id": 5535 }
-{ "id": 5536 }
-{ "id": 5537 }
-{ "id": 5538 }
-{ "id": 5539 }
-{ "id": 5540 }
-{ "id": 5541 }
-{ "id": 5542 }
-{ "id": 5543 }
-{ "id": 5544 }
-{ "id": 5545 }
-{ "id": 5546 }
-{ "id": 5547 }
-{ "id": 5548 }
-{ "id": 5549 }
-{ "id": 5550 }
-{ "id": 5551 }
-{ "id": 5552 }
-{ "id": 5553 }
-{ "id": 5554 }
-{ "id": 5555 }
-{ "id": 5556 }
-{ "id": 5557 }
-{ "id": 5558 }
-{ "id": 5559 }
-{ "id": 5560 }
-{ "id": 5561 }
-{ "id": 5562 }
-{ "id": 5563 }
-{ "id": 5564 }
-{ "id": 5565 }
-{ "id": 5566 }
-{ "id": 5567 }
-{ "id": 5568 }
-{ "id": 5569 }
-{ "id": 5570 }
-{ "id": 5571 }
-{ "id": 5572 }
-{ "id": 5573 }
-{ "id": 5574 }
-{ "id": 5575 }
-{ "id": 5576 }
-{ "id": 5577 }
-{ "id": 5578 }
-{ "id": 5579 }
-{ "id": 5580 }
-{ "id": 5581 }
-{ "id": 5582 }
-{ "id": 5583 }
-{ "id": 5584 }
-{ "id": 5585 }
-{ "id": 5586 }
-{ "id": 5587 }
-{ "id": 5588 }
-{ "id": 5589 }
-{ "id": 5590 }
-{ "id": 5591 }
-{ "id": 5592 }
-{ "id": 5593 }
-{ "id": 5594 }
-{ "id": 5595 }
-{ "id": 5596 }
-{ "id": 5597 }
-{ "id": 5598 }
-{ "id": 5599 }
-{ "id": 5600 }
-{ "id": 5601 }
-{ "id": 5602 }
-{ "id": 5603 }
-{ "id": 5604 }
-{ "id": 5605 }
-{ "id": 5606 }
-{ "id": 5607 }
-{ "id": 5608 }
-{ "id": 5609 }
-{ "id": 5610 }
-{ "id": 5611 }
-{ "id": 5612 }
-{ "id": 5613 }
-{ "id": 5614 }
-{ "id": 5615 }
-{ "id": 5616 }
-{ "id": 5617 }
-{ "id": 5618 }
-{ "id": 5619 }
-{ "id": 5620 }
-{ "id": 5621 }
-{ "id": 5622 }
-{ "id": 5623 }
-{ "id": 5624 }
-{ "id": 5625 }
-{ "id": 5626 }
-{ "id": 5627 }
-{ "id": 5628 }
-{ "id": 5629 }
-{ "id": 5630 }
-{ "id": 5631 }
-{ "id": 5632 }
-{ "id": 5633 }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/btree-index-composite-key-mixed-intervals.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/btree-index-composite-key-mixed-intervals.adm
deleted file mode 100644
index 590b9ff..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/btree-index-composite-key-mixed-intervals.adm
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "id": 215, "fname": "Karina", "lname": "Michelsen", "age": 46, "dept": "IT" }
-{ "id": 219, "fname": "Kurt", "lname": "Petermann", "age": 27, "dept": "Payroll" }
-{ "id": 463, "fname": "Marcie", "lname": "States", "age": 28, "dept": "IT" }
-{ "id": 589, "fname": "Lorrie", "lname": "Sharon", "age": 27, "dept": "IT" }
-{ "id": 681, "fname": "Max", "lname": "Teachout", "age": 34, "dept": "IT" }
-{ "id": 781, "fname": "Karina", "lname": "Tuthill", "age": 46, "dept": "Payroll" }
-{ "id": 955, "fname": "Max", "lname": "Mell", "age": 33, "dept": "HR" }
-{ "id": 965, "fname": "Micco", "lname": "Mercy", "age": 31, "dept": "Payroll" }
-{ "id": 1426, "fname": "Marcie", "lname": "Rasnake", "age": 42, "dept": "Sales" }
-{ "id": 5438, "fname": "Lakisha", "lname": "Quashie", "age": 29, "dept": "HR" }
-{ "id": 9941, "fname": "Khurram Faraaz", "lname": "Mohammed", "age": 30, "dept": "HR" }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-contains.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-contains.adm
deleted file mode 100644
index 8a99b26..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-contains.adm
+++ /dev/null
@@ -1,3 +0,0 @@
-{ "id": 4, "dblpid": "books/acm/kim95/ChristodoulakisK95", "title": "Multimedia Information Systems  Issues and Approaches.", "authors": "Stavros Christodoulakis Leonidas Koveos", "misc": "2002-01-03 318-337 1995 Modern Database Systems db/books/collections/kim95.html#ChristodoulakisK95" }
-{ "id": 89, "dblpid": "conf/icip/SchonfeldL98", "title": "VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases.", "authors": "Dan Schonfeld Dan Lelescu", "misc": "2002-11-05 123-127 1998 ICIP (3) db/conf/icip/icip1998-3.html#SchonfeldL98" }
-{ "id": 90, "dblpid": "conf/hicss/SchonfeldL99", "title": "VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases ¾ Visual Search Engine.", "authors": "Dan Schonfeld Dan Lelescu", "misc": "2002-01-03 1999 HICSS http //computer.org/proceedings/hicss/0001/00013/00013006abs.htm db/conf/hicss/hicss1999-3.html#SchonfeldL99" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance-panic.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance-panic.adm
deleted file mode 100644
index a218d95..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance-panic.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 22, "dblpid": "books/acm/kim95/Motro95", "title": "Management of Uncerainty in database Systems.", "authors": "Amihai Motro", "misc": "2002-01-03 457-476 1995 Modern Database Systems db/books/collections/kim95.html#Motro95" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance.adm
deleted file mode 100644
index a218d95..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-edit-distance.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 22, "dblpid": "books/acm/kim95/Motro95", "title": "Management of Uncerainty in database Systems.", "authors": "Amihai Motro", "misc": "2002-01-03 457-476 1995 Modern Database Systems db/books/collections/kim95.html#Motro95" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-jaccard.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-jaccard.adm
deleted file mode 100644
index 5bf6ae0..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ngram-jaccard.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 9, "dblpid": "books/acm/kim95/Kaiser95", "title": "Cooperative Transactions for Multiuser Environments.", "authors": "Gail E. Kaiser", "misc": "2002-01-03 409-433 1995 Modern Database Systems db/books/collections/kim95.html#Kaiser95" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance-panic.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance-panic.adm
deleted file mode 100644
index 9e33b16..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance-panic.adm
+++ /dev/null
@@ -1,854 +0,0 @@
-{ "cid": 1, "name": "Trudie Minick", "age": 75, "address": { "number": 6740, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Fishing", "Squash" ], "children": [ { "name": "Arie Minick", "age": 56 }, { "name": "Alline Minick", "age": 57 }, { "name": "Petronila Minick", "age": 56 } ] }
-{ "cid": 2, "name": "Elin Debell", "age": 82, "address": { "number": 5649, "street": "Hill St.", "city": "Portland" }, "interests": [ "Bass", "Wine" ], "children": [ { "name": "Elvina Debell", "age": null }, { "name": "Renaldo Debell", "age": 51 }, { "name": "Divina Debell", "age": 57 } ] }
-{ "cid": 3, "name": "Phung Wheetley", "age": 12, "address": { "number": 5549, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Wine" ], "children": [ { "name": "Raelene Wheetley", "age": null }, { "name": "Dudley Wheetley", "age": null } ] }
-{ "cid": 4, "name": "Bernita Gungor", "age": 87, "address": { "number": 1208, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Walking" ], "children": [ { "name": "Valencia Gungor", "age": 72 }, { "name": "Evangeline Gungor", "age": 76 }, { "name": "Odell Gungor", "age": null }, { "name": "Denny Gungor", "age": null } ] }
-{ "cid": 5, "name": "Heide Naifeh", "age": null, "address": null, "interests": [ "Music", "Databases" ], "children": [ { "name": "Deirdre Naifeh", "age": null }, { "name": "Jacquelyne Naifeh", "age": 39 } ] }
-{ "cid": 6, "name": "Cris Kager", "age": 70, "address": { "number": 8402, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Walking" ], "children": [ { "name": "Carmelo Kager", "age": 34 }, { "name": "Faustina Kager", "age": null } ] }
-{ "cid": 7, "name": "Karie Kaehler", "age": 59, "address": { "number": 9875, "street": "View St.", "city": "San Jose" }, "interests": [ "Computers", "Skiing", "Basketball", "Movies" ], "children": [ { "name": "Spring Kaehler", "age": 17 } ] }
-{ "cid": 8, "name": "Audria Haylett", "age": 44, "address": { "number": 4872, "street": "Washington St.", "city": "Portland" }, "interests": [ "Cooking", "Fishing", "Video Games" ], "children": [ { "name": "Lacie Haylett", "age": 19 } ] }
-{ "cid": 9, "name": "Dreama Nuccio", "age": 55, "address": { "number": 95, "street": "Main St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Ricardo Nuccio", "age": 28 }, { "name": "See Nuccio", "age": 34 } ] }
-{ "cid": 10, "name": "Trent Liedy", "age": 51, "address": { "number": 1758, "street": "Oak St.", "city": "San Jose" }, "interests": [  ], "children": [  ] }
-{ "cid": 11, "name": "Meta Simek", "age": 13, "address": { "number": 4384, "street": "7th St.", "city": "San Jose" }, "interests": [ "Wine", "Walking" ], "children": [ { "name": "Oretha Simek", "age": null }, { "name": "Terence Simek", "age": null } ] }
-{ "cid": 12, "name": "Laurinda Raimann", "age": null, "address": null, "interests": [ "Basketball", "Coffee" ], "children": [ { "name": "Lulu Raimann", "age": null }, { "name": "Refugia Raimann", "age": 19 }, { "name": "Jimmie Raimann", "age": 10 }, { "name": "Cindy Raimann", "age": null } ] }
-{ "cid": 13, "name": "Nicol Kolmer", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Erika Kolmer", "age": 40 }, { "name": "Justin Kolmer", "age": null }, { "name": "Dorathy Kolmer", "age": null }, { "name": "Anastacia Kolmer", "age": 27 } ] }
-{ "cid": 14, "name": "Chance Nicoson", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Willette Nicoson", "age": 39 }, { "name": "Glennis Nicoson", "age": null }, { "name": "Philip Nicoson", "age": null }, { "name": "Cody Nicoson", "age": 26 } ] }
-{ "cid": 15, "name": "Berry Faubel", "age": 55, "address": { "number": 2806, "street": "Oak St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Tiffiny Faubel", "age": 12 }, { "name": "Hilaria Faubel", "age": 19 }, { "name": "Wesley Faubel", "age": 37 }, { "name": "Wei Faubel", "age": 28 } ] }
-{ "cid": 16, "name": "Felisa Auletta", "age": 55, "address": { "number": 7737, "street": "View St.", "city": "San Jose" }, "interests": [ "Skiing", "Coffee", "Wine" ], "children": [ { "name": "Rosalia Auletta", "age": 36 } ] }
-{ "cid": 17, "name": "Ingeborg Monkhouse", "age": null, "address": null, "interests": [ "Base Jumping", "Cigars", "Movies" ], "children": [  ] }
-{ "cid": 18, "name": "Dewayne Ardan", "age": 32, "address": { "number": 8229, "street": "Hill St.", "city": "San Jose" }, "interests": [ "Wine", "Walking", "Bass" ], "children": [ { "name": "Wen Ardan", "age": null }, { "name": "Sachiko Ardan", "age": 11 }, { "name": "Francis Ardan", "age": 20 } ] }
-{ "cid": 20, "name": "Annice Fulwider", "age": 59, "address": { "number": 4257, "street": "Park St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Arica Fulwider", "age": 47 }, { "name": "Charlotte Fulwider", "age": 16 }, { "name": "Robbi Fulwider", "age": 29 } ] }
-{ "cid": 21, "name": "Gidget Galamay", "age": 34, "address": { "number": 2854, "street": "Washington St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Brunilda Galamay", "age": null }, { "name": "Bethel Galamay", "age": null }, { "name": "Devon Galamay", "age": 17 } ] }
-{ "cid": 22, "name": "Sarita Burrer", "age": null, "address": null, "interests": [ "Cigars", "Computers" ], "children": [  ] }
-{ "cid": 23, "name": "Micheal Konen", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Myong Konen", "age": 26 }, { "name": "Celinda Konen", "age": 33 }, { "name": "Tammy Konen", "age": 53 }, { "name": "Chester Konen", "age": null } ] }
-{ "cid": 24, "name": "Hosea Wilburn", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 25, "name": "Goldie Vanhandel", "age": 37, "address": { "number": 6568, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Bass", "Fishing", "Cigars" ], "children": [  ] }
-{ "cid": 26, "name": "Jone Okuna", "age": 78, "address": { "number": 6006, "street": "7th St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Franchesca Okuna", "age": null }, { "name": "Fred Okuna", "age": 17 }, { "name": "Marcellus Okuna", "age": null } ] }
-{ "cid": 27, "name": "Hollie Hyun", "age": null, "address": null, "interests": [ "Skiing", "Walking" ], "children": [ { "name": "Morton Hyun", "age": null }, { "name": "Farrah Hyun", "age": 40 }, { "name": "Ali Hyun", "age": null } ] }
-{ "cid": 28, "name": "Ariana Gillert", "age": 54, "address": { "number": 7331, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Databases" ], "children": [ { "name": "Inge Gillert", "age": null }, { "name": "Jeraldine Gillert", "age": 13 } ] }
-{ "cid": 29, "name": "Ruthanne Tavana", "age": null, "address": null, "interests": [ "Movies" ], "children": [  ] }
-{ "cid": 30, "name": "Deedee Centner", "age": null, "address": null, "interests": [ "Skiing", "Wine", "Databases", "Movies" ], "children": [ { "name": "Lorilee Centner", "age": 30 }, { "name": "Thad Centner", "age": null } ] }
-{ "cid": 31, "name": "Venus Toboz", "age": 44, "address": { "number": 9465, "street": "View St.", "city": "Mountain View" }, "interests": [ "Running" ], "children": [ { "name": "Ashlie Toboz", "age": null } ] }
-{ "cid": 32, "name": "Tia Berkley", "age": 30, "address": { "number": 4507, "street": "Park St.", "city": "Sunnyvale" }, "interests": [ "Base Jumping", "Music" ], "children": [ { "name": "Carmon Berkley", "age": null }, { "name": "Kristina Berkley", "age": null }, { "name": "Cristi Berkley", "age": 19 } ] }
-{ "cid": 33, "name": "Rayford Velmontes", "age": null, "address": null, "interests": [ "Fishing", "Video Games" ], "children": [  ] }
-{ "cid": 34, "name": "Sam Tannahill", "age": null, "address": null, "interests": [ "Books" ], "children": [  ] }
-{ "cid": 36, "name": "Neoma Preist", "age": 69, "address": { "number": 4830, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Databases", "Computers", "Coffee" ], "children": [ { "name": "Shery Preist", "age": null }, { "name": "Kelvin Preist", "age": 43 } ] }
-{ "cid": 37, "name": "Eliana Vient", "age": 89, "address": { "number": 4882, "street": "View St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Dario Vient", "age": 43 } ] }
-{ "cid": 38, "name": "Lawanna Abadi", "age": 35, "address": { "number": 6942, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Arthur Abadi", "age": 10 } ] }
-{ "cid": 39, "name": "Brock Froncillo", "age": 72, "address": { "number": 4645, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Base Jumping", "Skiing" ], "children": [ { "name": "Cole Froncillo", "age": null }, { "name": "Ivana Froncillo", "age": null }, { "name": "Hugh Froncillo", "age": 23 } ] }
-{ "cid": 40, "name": "Fidelia Connie", "age": 81, "address": { "number": 2298, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Basketball", "Base Jumping", "Walking", "Skiing" ], "children": [ { "name": "Elfreda Connie", "age": 43 }, { "name": "Josephine Connie", "age": 30 }, { "name": "Lucas Connie", "age": null } ] }
-{ "cid": 41, "name": "Kevin Giottonini", "age": null, "address": null, "interests": [ "Skiing", "Bass" ], "children": [ { "name": "Victor Giottonini", "age": 37 }, { "name": "Alverta Giottonini", "age": null } ] }
-{ "cid": 42, "name": "Asley Simco", "age": 38, "address": { "number": 3322, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Fishing", "Running", "Cigars" ], "children": [ { "name": "Micheal Simco", "age": null }, { "name": "Lawerence Simco", "age": null } ] }
-{ "cid": 44, "name": "Agustin Clubs", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Maxwell Clubs", "age": 31 }, { "name": "Rayna Clubs", "age": null }, { "name": "Darwin Clubs", "age": null } ] }
-{ "cid": 46, "name": "Columbus Huntington", "age": 22, "address": { "number": 3809, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Movies" ], "children": [ { "name": "Dana Huntington", "age": 10 }, { "name": "Rosa Huntington", "age": null } ] }
-{ "cid": 48, "name": "Delia Salveson", "age": 44, "address": { "number": 5596, "street": "7th St.", "city": "Portland" }, "interests": [ "Cigars", "Running", "Walking", "Running" ], "children": [ { "name": "Logan Salveson", "age": 21 }, { "name": "Temple Salveson", "age": 17 }, { "name": "Kimi Salveson", "age": null }, { "name": "Jacob Salveson", "age": 20 } ] }
-{ "cid": 49, "name": "Asa Schwing", "age": 70, "address": { "number": 2261, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Tennis" ], "children": [ { "name": "Joy Schwing", "age": 15 } ] }
-{ "cid": 50, "name": "Lise Gorelli", "age": null, "address": null, "interests": [ "Books", "Wine", "Skiing", "Computers" ], "children": [ { "name": "Darleen Gorelli", "age": null }, { "name": "Latia Gorelli", "age": null }, { "name": "Page Gorelli", "age": null }, { "name": "Columbus Gorelli", "age": null } ] }
-{ "cid": 51, "name": "Simonne Cape", "age": null, "address": null, "interests": [ "Bass", "Bass", "Books" ], "children": [ { "name": "Leland Cape", "age": null }, { "name": "Gearldine Cape", "age": null } ] }
-{ "cid": 52, "name": "Janna Tish", "age": 12, "address": { "number": 2598, "street": "Washington St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Mackenzie Tish", "age": null }, { "name": "Ettie Tish", "age": null }, { "name": "Hortencia Tish", "age": null }, { "name": "Paul Tish", "age": null } ] }
-{ "cid": 53, "name": "Ricardo Greiwe", "age": 24, "address": { "number": 8983, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [  ] }
-{ "cid": 54, "name": "Haywood Vasiloff", "age": 63, "address": { "number": 8780, "street": "View St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Celsa Vasiloff", "age": 40 }, { "name": "Shawana Vasiloff", "age": 43 }, { "name": "Joel Vasiloff", "age": 42 }, { "name": "Timmy Vasiloff", "age": 33 } ] }
-{ "cid": 55, "name": "Terrence Bryant", "age": 12, "address": { "number": 3188, "street": "Park St.", "city": "Seattle" }, "interests": [ "Wine", "Cooking" ], "children": [ { "name": "Dayna Bryant", "age": null } ] }
-{ "cid": 56, "name": "Andria Killelea", "age": null, "address": null, "interests": [ "Cigars", "Skiing" ], "children": [  ] }
-{ "cid": 57, "name": "Celestine Mac", "age": null, "address": null, "interests": [ "Wine", "Computers", "Books" ], "children": [ { "name": "Kathyrn Mac", "age": 44 } ] }
-{ "cid": 58, "name": "Rosemarie Mattei", "age": 80, "address": { "number": 1390, "street": "Park St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Sonya Mattei", "age": 52 }, { "name": "Elenor Mattei", "age": null } ] }
-{ "cid": 59, "name": "Rea Villicana", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 61, "name": "Linsey Mose", "age": 17, "address": { "number": 9198, "street": "Lake St.", "city": "Portland" }, "interests": [ "Puzzles" ], "children": [ { "name": "Tilda Mose", "age": null }, { "name": "Lillie Mose", "age": null }, { "name": "Robyn Mose", "age": null } ] }
-{ "cid": 62, "name": "Kiley Machnik", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 64, "name": "Victor Susor", "age": 32, "address": { "number": 1690, "street": "Main St.", "city": "Portland" }, "interests": [ "Running", "Computers" ], "children": [  ] }
-{ "cid": 66, "name": "Lenny Latson", "age": null, "address": null, "interests": [ "Music", "Video Games" ], "children": [  ] }
-{ "cid": 67, "name": "Tobie Mattan", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 68, "name": "Chery Basini", "age": null, "address": null, "interests": [ "Video Games" ], "children": [  ] }
-{ "cid": 69, "name": "Many Yeargain", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Brande Yeargain", "age": null }, { "name": "Tawna Yeargain", "age": null }, { "name": "Doris Yeargain", "age": null }, { "name": "Valeria Yeargain", "age": 51 } ] }
-{ "cid": 70, "name": "Mellisa Lek", "age": 62, "address": { "number": 4281, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Bass", "Running", "Databases" ], "children": [  ] }
-{ "cid": 71, "name": "Alva Sieger", "age": null, "address": null, "interests": [ "Movies", "Walking" ], "children": [ { "name": "Renetta Sieger", "age": null }, { "name": "Shiloh Sieger", "age": 57 }, { "name": "Lavina Sieger", "age": null }, { "name": "Larraine Sieger", "age": null } ] }
-{ "cid": 73, "name": "Kelsey Flever", "age": 20, "address": { "number": 3555, "street": "Main St.", "city": "Portland" }, "interests": [ "Tennis", "Puzzles", "Video Games" ], "children": [ { "name": "Isis Flever", "age": null }, { "name": "Gonzalo Flever", "age": null } ] }
-{ "cid": 74, "name": "Lonnie Ercolani", "age": 79, "address": { "number": 2655, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Music", "Coffee" ], "children": [ { "name": "Cassi Ercolani", "age": null } ] }
-{ "cid": 76, "name": "Opal Blewett", "age": null, "address": null, "interests": [ "Running", "Coffee", "Fishing" ], "children": [ { "name": "Violette Blewett", "age": null } ] }
-{ "cid": 77, "name": "Chantal Parriera", "age": 78, "address": { "number": 5967, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Squash", "Movies", "Coffee" ], "children": [  ] }
-{ "cid": 78, "name": "Wesley Huggler", "age": 80, "address": { "number": 3078, "street": "7th St.", "city": "Los Angeles" }, "interests": [ "Base Jumping", "Movies", "Skiing" ], "children": [ { "name": "Chassidy Huggler", "age": null }, { "name": "Emogene Huggler", "age": null }, { "name": "Cheryle Huggler", "age": null } ] }
-{ "cid": 79, "name": "Alyce Schoenle", "age": 57, "address": { "number": 1345, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Stewart Schoenle", "age": 16 }, { "name": "Bruce Schoenle", "age": 44 } ] }
-{ "cid": 81, "name": "Lavonda Manford", "age": 87, "address": { "number": 2423, "street": "Main St.", "city": "San Jose" }, "interests": [  ], "children": [  ] }
-{ "cid": 82, "name": "Gloria Junkins", "age": null, "address": null, "interests": [ "Basketball" ], "children": [  ] }
-{ "cid": 83, "name": "Filiberto Couillard", "age": null, "address": null, "interests": [ "Cooking", "Books" ], "children": [ { "name": "Diane Couillard", "age": 19 }, { "name": "Asa Couillard", "age": 23 }, { "name": "Zaida Couillard", "age": 57 }, { "name": "Shavonne Couillard", "age": null } ] }
-{ "cid": 84, "name": "Huong Kachel", "age": null, "address": null, "interests": [ "Music", "Tennis", "Base Jumping" ], "children": [ { "name": "Katlyn Kachel", "age": 40 }, { "name": "Sherman Kachel", "age": null }, { "name": "Susana Kachel", "age": 32 } ] }
-{ "cid": 85, "name": "Fatimah Steltenpohl", "age": 25, "address": { "number": 6175, "street": "Park St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Genoveva Steltenpohl", "age": 14 } ] }
-{ "cid": 86, "name": "Sofia Mongiovi", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Rosamaria Mongiovi", "age": 25 } ] }
-{ "cid": 87, "name": "Torie Horuath", "age": 21, "address": { "number": 2713, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Coffee", "Puzzles", "Cigars", "Walking" ], "children": [ { "name": "Joshua Horuath", "age": 10 } ] }
-{ "cid": 88, "name": "Courtney Muckleroy", "age": null, "address": null, "interests": [ "Wine", "Movies", "Skiing" ], "children": [ { "name": "Alona Muckleroy", "age": 30 }, { "name": "Flora Muckleroy", "age": 41 }, { "name": "Angel Muckleroy", "age": null }, { "name": "Daniella Muckleroy", "age": null } ] }
-{ "cid": 89, "name": "Calandra Hedden", "age": 33, "address": { "number": 1231, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Wine" ], "children": [ { "name": "Damien Hedden", "age": 19 } ] }
-{ "cid": 90, "name": "Dorethea Korns", "age": null, "address": null, "interests": [ "Cooking", "Computers" ], "children": [ { "name": "Catheryn Korns", "age": 22 } ] }
-{ "cid": 91, "name": "Luna Machen", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Randal Machen", "age": 59 }, { "name": "Emely Machen", "age": null } ] }
-{ "cid": 92, "name": "Kenny Laychock", "age": 15, "address": { "number": 4790, "street": "Washington St.", "city": "Portland" }, "interests": [ "Video Games", "Basketball" ], "children": [  ] }
-{ "cid": 93, "name": "Garth Raigosa", "age": null, "address": null, "interests": [ "Basketball" ], "children": [  ] }
-{ "cid": 94, "name": "Edgardo Dunnegan", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Lyndia Dunnegan", "age": null } ] }
-{ "cid": 95, "name": "Gavin Locey", "age": 86, "address": { "number": 8162, "street": "Lake St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Terrell Locey", "age": null }, { "name": "Kazuko Locey", "age": 36 }, { "name": "Risa Locey", "age": null }, { "name": "Dorethea Locey", "age": 13 } ] }
-{ "cid": 96, "name": "Mara Aument", "age": 72, "address": { "number": 7709, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Cigars", "Cooking", "Movies" ], "children": [ { "name": "Leonardo Aument", "age": 22 } ] }
-{ "cid": 97, "name": "Mui Slosek", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Susanne Slosek", "age": 29 }, { "name": "Colleen Slosek", "age": null } ] }
-{ "cid": 98, "name": "Casimira Hilbrand", "age": 72, "address": { "number": 9693, "street": "Main St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Gudrun Hilbrand", "age": 18 }, { "name": "Dacia Hilbrand", "age": 26 }, { "name": "Kortney Hilbrand", "age": null }, { "name": "Luci Hilbrand", "age": null } ] }
-{ "cid": 99, "name": "Bernardina Thacher", "age": 35, "address": { "number": 1582, "street": "Main St.", "city": "Los Angeles" }, "interests": [ "Movies", "Fishing", "Fishing" ], "children": [ { "name": "Randee Thacher", "age": null }, { "name": "China Thacher", "age": null } ] }
-{ "cid": 101, "name": "Meaghan Vandel", "age": null, "address": null, "interests": [ "Music", "Base Jumping", "Books" ], "children": [ { "name": "Larissa Vandel", "age": null } ] }
-{ "cid": 102, "name": "Melany Rotan", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Christiana Rotan", "age": 21 }, { "name": "Lavina Rotan", "age": null }, { "name": "Billy Rotan", "age": null } ] }
-{ "cid": 103, "name": "Rosamond Milera", "age": null, "address": null, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 104, "name": "Neda Dilts", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Nona Dilts", "age": 28 }, { "name": "Wm Dilts", "age": null }, { "name": "Svetlana Dilts", "age": 46 }, { "name": "Iva Dilts", "age": 59 } ] }
-{ "cid": 105, "name": "Camilla Lohman", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Melania Lohman", "age": 50 }, { "name": "Mike Lohman", "age": 53 }, { "name": "Cassaundra Lohman", "age": 32 }, { "name": "Jay Lohman", "age": null } ] }
-{ "cid": 106, "name": "Charles Verna", "age": null, "address": null, "interests": [ "Bass", "Books" ], "children": [ { "name": "Betsy Verna", "age": 37 }, { "name": "Chae Verna", "age": 35 }, { "name": "Naoma Verna", "age": 42 } ] }
-{ "cid": 110, "name": "Karmen Milanesi", "age": 67, "address": { "number": 6223, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Squash", "Squash" ], "children": [ { "name": "Emely Milanesi", "age": null }, { "name": "Adam Milanesi", "age": null }, { "name": "Gregg Milanesi", "age": null }, { "name": "Sean Milanesi", "age": 37 } ] }
-{ "cid": 111, "name": "Eddy Ortea", "age": 16, "address": { "number": 6874, "street": "Main St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Shera Ortea", "age": null } ] }
-{ "cid": 112, "name": "Dorie Lave", "age": 10, "address": { "number": 2286, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Coffee" ], "children": [ { "name": "Grady Lave", "age": null }, { "name": "Daysi Lave", "age": null } ] }
-{ "cid": 113, "name": "Alayna Daleske", "age": 87, "address": { "number": 4739, "street": "Main St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Hester Daleske", "age": null }, { "name": "Magnolia Daleske", "age": null }, { "name": "Bettye Daleske", "age": 32 } ] }
-{ "cid": 114, "name": "Stephine Capinpin", "age": 78, "address": { "number": 5618, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Puzzles", "Basketball" ], "children": [ { "name": "Krystal Capinpin", "age": 31 }, { "name": "Angelic Capinpin", "age": 45 } ] }
-{ "cid": 115, "name": "Jason Oakden", "age": 89, "address": { "number": 8182, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Music", "Basketball", "Movies" ], "children": [ { "name": "Johnson Oakden", "age": null }, { "name": "Neva Oakden", "age": null }, { "name": "Juliann Oakden", "age": null }, { "name": "Elmer Oakden", "age": null } ] }
-{ "cid": 116, "name": "Conrad Zozaya", "age": 81, "address": { "number": 1667, "street": "View St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Jenette Zozaya", "age": 17 } ] }
-{ "cid": 118, "name": "Ellis Skillom", "age": 78, "address": { "number": 9337, "street": "View St.", "city": "Mountain View" }, "interests": [ "Running", "Cigars" ], "children": [ { "name": "Emory Skillom", "age": null } ] }
-{ "cid": 119, "name": "Chan Morreau", "age": 22, "address": { "number": 1774, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Puzzles", "Squash" ], "children": [ { "name": "Arlette Morreau", "age": null } ] }
-{ "cid": 120, "name": "Jan Gianandrea", "age": null, "address": null, "interests": [ "Databases", "Movies", "Cigars" ], "children": [ { "name": "Keesha Gianandrea", "age": null }, { "name": "Vashti Gianandrea", "age": 35 }, { "name": "Larry Gianandrea", "age": 29 } ] }
-{ "cid": 121, "name": "Shiela Gaustad", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Phebe Gaustad", "age": null }, { "name": "Mavis Gaustad", "age": null }, { "name": "Zula Gaustad", "age": 37 } ] }
-{ "cid": 122, "name": "Wei Perpall", "age": 43, "address": { "number": 916, "street": "Washington St.", "city": "Los Angeles" }, "interests": [ "Bass" ], "children": [ { "name": "Mitchel Perpall", "age": 11 }, { "name": "Aliza Perpall", "age": null }, { "name": "King Perpall", "age": null }, { "name": "Santana Perpall", "age": 22 } ] }
-{ "cid": 123, "name": "Marian Courrege", "age": 30, "address": { "number": 7321, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Coffee" ], "children": [  ] }
-{ "cid": 124, "name": "Kelley Dressman", "age": null, "address": null, "interests": [ "Squash", "Databases", "Fishing" ], "children": [ { "name": "Evie Dressman", "age": null }, { "name": "Fredericka Dressman", "age": null }, { "name": "Leigh Dressman", "age": null }, { "name": "Luna Dressman", "age": 29 } ] }
-{ "cid": 125, "name": "Leigh Pusey", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Elbert Pusey", "age": 44 }, { "name": "Golden Pusey", "age": null }, { "name": "Maria Pusey", "age": null } ] }
-{ "cid": 126, "name": "Grayce Keir", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Antonia Keir", "age": 25 } ] }
-{ "cid": 127, "name": "Christian Anthes", "age": 32, "address": { "number": 6258, "street": "7th St.", "city": "Portland" }, "interests": [ "Running", "Bass" ], "children": [ { "name": "Sophia Anthes", "age": null } ] }
-{ "cid": 128, "name": "Edwin Harwick", "age": null, "address": null, "interests": [ "Fishing", "Squash", "Basketball" ], "children": [ { "name": "Tomeka Harwick", "age": 34 }, { "name": "Caroline Harwick", "age": 57 }, { "name": "Peter Harwick", "age": null }, { "name": "Adele Harwick", "age": null } ] }
-{ "cid": 129, "name": "Marisha Canzoneri", "age": 84, "address": { "number": 5507, "street": "View St.", "city": "Mountain View" }, "interests": [ "Music", "Databases", "Walking", "Walking" ], "children": [  ] }
-{ "cid": 130, "name": "Kandis Hissem", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Arianna Hissem", "age": null }, { "name": "Necole Hissem", "age": 53 }, { "name": "Manie Hissem", "age": null }, { "name": "Deshawn Hissem", "age": 27 } ] }
-{ "cid": 131, "name": "Kourtney Whitesel", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 132, "name": "Cindi Turntine", "age": 64, "address": { "number": 9432, "street": "Park St.", "city": "Portland" }, "interests": [ "Computers", "Wine" ], "children": [ { "name": "Howard Turntine", "age": null } ] }
-{ "cid": 134, "name": "Alica Frontiero", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [  ] }
-{ "cid": 135, "name": "Josette Dries", "age": null, "address": null, "interests": [ "Base Jumping", "Movies" ], "children": [ { "name": "Ben Dries", "age": 36 }, { "name": "Wm Dries", "age": 29 } ] }
-{ "cid": 136, "name": "Aubrey Kasuboski", "age": null, "address": null, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 137, "name": "Camellia Pressman", "age": 81, "address": { "number": 3947, "street": "Park St.", "city": "Seattle" }, "interests": [ "Movies", "Books", "Bass" ], "children": [ { "name": "Dwana Pressman", "age": null }, { "name": "Johnathan Pressman", "age": null }, { "name": "Kasey Pressman", "age": null }, { "name": "Mitch Pressman", "age": null } ] }
-{ "cid": 138, "name": "Ora Villafane", "age": null, "address": null, "interests": [ "Walking", "Cooking" ], "children": [ { "name": "Deeann Villafane", "age": 22 }, { "name": "Cody Villafane", "age": 47 } ] }
-{ "cid": 139, "name": "Micheline Argenal", "age": null, "address": null, "interests": [ "Bass", "Walking", "Movies" ], "children": [ { "name": "Joye Argenal", "age": 51 }, { "name": "Richard Argenal", "age": 46 }, { "name": "Sarah Argenal", "age": 21 }, { "name": "Jacinda Argenal", "age": 21 } ] }
-{ "cid": 140, "name": "Maryland Neas", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Brunilda Neas", "age": 28 } ] }
-{ "cid": 141, "name": "Adena Klockars", "age": null, "address": null, "interests": [ "Skiing", "Computers", "Bass", "Cigars" ], "children": [  ] }
-{ "cid": 142, "name": "Ervin Softleigh", "age": null, "address": null, "interests": [ "Computers", "Skiing", "Cooking", "Coffee" ], "children": [ { "name": "Russell Softleigh", "age": 50 }, { "name": "Kristy Softleigh", "age": 54 }, { "name": "Refugio Softleigh", "age": null } ] }
-{ "cid": 143, "name": "Katelynn Kanzler", "age": 80, "address": { "number": 9453, "street": "Washington St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Carl Kanzler", "age": null } ] }
-{ "cid": 144, "name": "Celesta Sosebee", "age": 19, "address": { "number": 2683, "street": "7th St.", "city": "Portland" }, "interests": [ "Databases", "Databases" ], "children": [ { "name": "Jesse Sosebee", "age": null }, { "name": "Oralee Sosebee", "age": null }, { "name": "Sunday Sosebee", "age": null } ] }
-{ "cid": 145, "name": "Carey Bousman", "age": 61, "address": { "number": 16, "street": "Oak St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Lynda Bousman", "age": 32 }, { "name": "Evalyn Bousman", "age": 17 } ] }
-{ "cid": 146, "name": "Glennis Vanruiten", "age": 14, "address": { "number": 8272, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Squash", "Databases" ], "children": [ { "name": "Joanie Vanruiten", "age": null }, { "name": "Long Vanruiten", "age": null }, { "name": "Abdul Vanruiten", "age": null } ] }
-{ "cid": 147, "name": "Marla Pollan", "age": 24, "address": { "number": 9271, "street": "Oak St.", "city": "Portland" }, "interests": [ "Music" ], "children": [ { "name": "Song Pollan", "age": 11 }, { "name": "Lili Pollan", "age": 13 }, { "name": "Shaunte Pollan", "age": 12 }, { "name": "Sandie Pollan", "age": null } ] }
-{ "cid": 148, "name": "Coy Dulay", "age": 66, "address": { "number": 9793, "street": "Hill St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Emile Dulay", "age": null }, { "name": "Letitia Dulay", "age": 38 } ] }
-{ "cid": 149, "name": "Marcella Diamond", "age": 62, "address": { "number": 720, "street": "7th St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Ezra Diamond", "age": null } ] }
-{ "cid": 150, "name": "Jesus Vanleeuwen", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Sueann Vanleeuwen", "age": 47 }, { "name": "Refugia Vanleeuwen", "age": null }, { "name": "Taisha Vanleeuwen", "age": null }, { "name": "Nathaniel Vanleeuwen", "age": null } ] }
-{ "cid": 151, "name": "Charlyn Soyars", "age": 21, "address": { "number": 2796, "street": "Hill St.", "city": "Los Angeles" }, "interests": [  ], "children": [  ] }
-{ "cid": 153, "name": "Randy Hueso", "age": 11, "address": { "number": 1957, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Computers", "Wine", "Databases", "Walking" ], "children": [  ] }
-{ "cid": 156, "name": "Bobbye Kauppi", "age": 79, "address": { "number": 2051, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Base Jumping", "Cigars", "Movies" ], "children": [  ] }
-{ "cid": 157, "name": "Mckenzie Tahir", "age": 78, "address": { "number": 6752, "street": "Hill St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Margarita Tahir", "age": 18 }, { "name": "Mia Tahir", "age": 47 }, { "name": "Gaylord Tahir", "age": null } ] }
-{ "cid": 158, "name": "Rosalva Harvath", "age": 84, "address": { "number": 5569, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Puzzles", "Wine", "Skiing", "Coffee" ], "children": [ { "name": "Taneka Harvath", "age": null }, { "name": "Ina Harvath", "age": 54 }, { "name": "Joanne Harvath", "age": 51 } ] }
-{ "cid": 159, "name": "Jeanmarie Franchini", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Nikita Franchini", "age": null }, { "name": "Willetta Franchini", "age": null }, { "name": "Ester Franchini", "age": 12 } ] }
-{ "cid": 160, "name": "Yevette Chanez", "age": null, "address": null, "interests": [ "Bass", "Wine", "Coffee" ], "children": [ { "name": "Walter Chanez", "age": 11 }, { "name": "Pa Chanez", "age": 27 } ] }
-{ "cid": 161, "name": "Lucia Tata", "age": 85, "address": { "number": 8058, "street": "Park St.", "city": "Seattle" }, "interests": [ "Basketball", "Bass" ], "children": [ { "name": "Jenifer Tata", "age": 70 }, { "name": "Erna Tata", "age": null } ] }
-{ "cid": 162, "name": "Chang Reek", "age": 85, "address": { "number": 5943, "street": "Washington St.", "city": "Portland" }, "interests": [ "Tennis", "Movies" ], "children": [ { "name": "Camelia Reek", "age": null }, { "name": "Eleonora Reek", "age": 36 }, { "name": "Shalonda Reek", "age": 39 }, { "name": "Stefan Reek", "age": 64 } ] }
-{ "cid": 163, "name": "Marcelene Sparano", "age": 36, "address": { "number": 5722, "street": "View St.", "city": "San Jose" }, "interests": [ "Basketball", "Databases" ], "children": [ { "name": "Luz Sparano", "age": null }, { "name": "Cassandra Sparano", "age": 21 }, { "name": "Martina Sparano", "age": 21 }, { "name": "Elisabeth Sparano", "age": null } ] }
-{ "cid": 164, "name": "Lucrecia Dahlhauser", "age": null, "address": null, "interests": [ "Wine" ], "children": [  ] }
-{ "cid": 165, "name": "Melodie Starrick", "age": null, "address": null, "interests": [ "Walking" ], "children": [ { "name": "Adria Starrick", "age": null }, { "name": "Tasha Starrick", "age": 25 } ] }
-{ "cid": 166, "name": "Gregorio Plummer", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Santiago Plummer", "age": null }, { "name": "Malisa Plummer", "age": 59 }, { "name": "Tracie Plummer", "age": 40 }, { "name": "Florentina Plummer", "age": 23 } ] }
-{ "cid": 169, "name": "Casandra Fierge", "age": 55, "address": { "number": 175, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 170, "name": "Dana Lese", "age": 38, "address": { "number": 575, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Walking", "Coffee" ], "children": [ { "name": "Yasmine Lese", "age": 24 }, { "name": "Ezekiel Lese", "age": 20 }, { "name": "Ammie Lese", "age": 27 }, { "name": "Robert Lese", "age": 15 } ] }
-{ "cid": 171, "name": "Eddie Shebchuk", "age": 86, "address": { "number": 3304, "street": "Lake St.", "city": "Portland" }, "interests": [ "Books" ], "children": [ { "name": "Harmony Shebchuk", "age": null } ] }
-{ "cid": 172, "name": "Weldon Alquesta", "age": null, "address": null, "interests": [ "Music", "Fishing", "Music" ], "children": [ { "name": "Kip Alquesta", "age": null } ] }
-{ "cid": 173, "name": "Annamae Lucien", "age": 46, "address": { "number": 1253, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Puzzles", "Cooking", "Squash" ], "children": [ { "name": "Sanjuana Lucien", "age": 21 }, { "name": "Nathanael Lucien", "age": 27 }, { "name": "Jae Lucien", "age": null }, { "name": "Judith Lucien", "age": null } ] }
-{ "cid": 174, "name": "Taneka Baldassare", "age": 50, "address": { "number": 5787, "street": "Park St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Junko Baldassare", "age": null }, { "name": "Denisha Baldassare", "age": null }, { "name": "Hermina Baldassare", "age": 17 }, { "name": "Lexie Baldassare", "age": null } ] }
-{ "cid": 175, "name": "Loise Obhof", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Susann Obhof", "age": null }, { "name": "Signe Obhof", "age": 38 } ] }
-{ "cid": 176, "name": "Kellie Andruszkiewic", "age": null, "address": null, "interests": [ "Fishing", "Puzzles", "Wine", "Skiing" ], "children": [ { "name": "Xiao Andruszkiewic", "age": null }, { "name": "Al Andruszkiewic", "age": 43 } ] }
-{ "cid": 177, "name": "Wilda Hanisch", "age": null, "address": null, "interests": [ "Wine", "Computers" ], "children": [ { "name": "Shannan Hanisch", "age": null }, { "name": "Marissa Hanisch", "age": 30 }, { "name": "Keely Hanisch", "age": 54 }, { "name": "Humberto Hanisch", "age": 17 } ] }
-{ "cid": 178, "name": "Athena Kaluna", "age": null, "address": null, "interests": [ "Running", "Computers", "Basketball" ], "children": [ { "name": "Rosalba Kaluna", "age": 48 }, { "name": "Max Kaluna", "age": 10 } ] }
-{ "cid": 179, "name": "Antonette Bernice", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Solange Bernice", "age": null } ] }
-{ "cid": 180, "name": "Theda Hilz", "age": 35, "address": { "number": 9918, "street": "Oak St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Ethan Hilz", "age": null }, { "name": "Bill Hilz", "age": 12 } ] }
-{ "cid": 181, "name": "Toni Sanghani", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Hollie Sanghani", "age": 29 } ] }
-{ "cid": 182, "name": "Christiana Westlie", "age": null, "address": null, "interests": [ "Skiing", "Bass" ], "children": [ { "name": "Ilda Westlie", "age": 18 } ] }
-{ "cid": 183, "name": "Ladawn Vyas", "age": 64, "address": { "number": 2663, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [  ] }
-{ "cid": 184, "name": "Mirtha Ricciardi", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Elsa Ricciardi", "age": 30 }, { "name": "Vicente Ricciardi", "age": null }, { "name": "Sau Ricciardi", "age": 28 } ] }
-{ "cid": 185, "name": "Abigail Zugg", "age": 22, "address": { "number": 6676, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Computers", "Basketball", "Video Games", "Basketball" ], "children": [ { "name": "Peter Zugg", "age": 10 }, { "name": "Ariane Zugg", "age": null } ] }
-{ "cid": 187, "name": "Seema Hartsch", "age": 80, "address": { "number": 6629, "street": "Lake St.", "city": "Portland" }, "interests": [ "Coffee", "Coffee", "Cigars" ], "children": [ { "name": "Suellen Hartsch", "age": null }, { "name": "Pennie Hartsch", "age": 20 }, { "name": "Aubrey Hartsch", "age": null }, { "name": "Randy Hartsch", "age": 32 } ] }
-{ "cid": 188, "name": "Brynn Bendorf", "age": 23, "address": { "number": 1168, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Skiing" ], "children": [ { "name": "Leesa Bendorf", "age": 11 }, { "name": "Daine Bendorf", "age": null } ] }
-{ "cid": 189, "name": "Shyla Saathoff", "age": 85, "address": { "number": 9679, "street": "Main St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Johanne Saathoff", "age": 61 }, { "name": "Janett Saathoff", "age": null } ] }
-{ "cid": 190, "name": "Kristel Axelson", "age": null, "address": null, "interests": [ "Movies", "Books" ], "children": [ { "name": "Deja Axelson", "age": null } ] }
-{ "cid": 191, "name": "Lula Pangburn", "age": 42, "address": { "number": 1309, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Skiing", "Cooking", "Walking", "Video Games" ], "children": [ { "name": "Love Pangburn", "age": 11 }, { "name": "Bryant Pangburn", "age": 13 }, { "name": "Kenda Pangburn", "age": 14 } ] }
-{ "cid": 193, "name": "Melisa Maccarter", "age": 50, "address": { "number": 1494, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Basketball" ], "children": [ { "name": "Yetta Maccarter", "age": null }, { "name": "Geralyn Maccarter", "age": null } ] }
-{ "cid": 194, "name": "Leslee Apking", "age": 41, "address": { "number": 8107, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Puzzles" ], "children": [ { "name": "Irena Apking", "age": null }, { "name": "Arla Apking", "age": null } ] }
-{ "cid": 195, "name": "Annetta Demille", "age": 17, "address": { "number": 5722, "street": "Park St.", "city": "Portland" }, "interests": [ "Bass" ], "children": [ { "name": "Natacha Demille", "age": null }, { "name": "Giuseppe Demille", "age": null }, { "name": "Kami Demille", "age": null }, { "name": "Jewell Demille", "age": null } ] }
-{ "cid": 196, "name": "Darwin Seekell", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Kathryne Seekell", "age": null }, { "name": "Marlon Seekell", "age": null }, { "name": "Shiloh Seekell", "age": 51 } ] }
-{ "cid": 197, "name": "Garth Giannitti", "age": null, "address": null, "interests": [ "Coffee", "Cigars" ], "children": [ { "name": "Patsy Giannitti", "age": null }, { "name": "Ray Giannitti", "age": 35 }, { "name": "Kamala Giannitti", "age": 35 }, { "name": "Lauran Giannitti", "age": 25 } ] }
-{ "cid": 198, "name": "Thelma Youkers", "age": null, "address": null, "interests": [ "Basketball", "Movies", "Cooking" ], "children": [ { "name": "Shamika Youkers", "age": 28 } ] }
-{ "cid": 199, "name": "Rogelio Hannan", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Blanche Hannan", "age": null }, { "name": "Elvira Hannan", "age": null }, { "name": "Cinderella Hannan", "age": null } ] }
-{ "cid": 200, "name": "Stacey Bertran", "age": 78, "address": { "number": 9050, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Eugenia Bertran", "age": 59 }, { "name": "Lorri Bertran", "age": 29 }, { "name": "Corrie Bertran", "age": 52 } ] }
-{ "cid": 201, "name": "Tiny Hoysradt", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Simon Hoysradt", "age": 24 } ] }
-{ "cid": 202, "name": "Evangelina Poloskey", "age": 46, "address": { "number": 8285, "street": "Main St.", "city": "Los Angeles" }, "interests": [ "Wine", "Squash" ], "children": [ { "name": "Anthony Poloskey", "age": 27 }, { "name": "Olga Poloskey", "age": 10 }, { "name": "Carmon Poloskey", "age": 13 }, { "name": "Tanja Poloskey", "age": 20 } ] }
-{ "cid": 203, "name": "Elke Mazurowski", "age": 52, "address": { "number": 9276, "street": "View St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Esta Mazurowski", "age": null }, { "name": "Clarence Mazurowski", "age": 14 } ] }
-{ "cid": 204, "name": "Londa Herdt", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Marnie Herdt", "age": 47 } ] }
-{ "cid": 205, "name": "Moises Plake", "age": null, "address": null, "interests": [ "Puzzles", "Computers" ], "children": [  ] }
-{ "cid": 206, "name": "Armand Hauersperger", "age": 67, "address": { "number": 7266, "street": "Park St.", "city": "Seattle" }, "interests": [ "Wine" ], "children": [ { "name": "Charlott Hauersperger", "age": 47 }, { "name": "Kayla Hauersperger", "age": null }, { "name": "Maris Hauersperger", "age": 52 } ] }
-{ "cid": 207, "name": "Phyliss Honda", "age": 22, "address": { "number": 8387, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Cooking", "Music", "Books" ], "children": [ { "name": "Bee Honda", "age": null }, { "name": "Cyril Honda", "age": null }, { "name": "Vertie Honda", "age": null } ] }
-{ "cid": 210, "name": "Jillian Roadruck", "age": null, "address": null, "interests": [ "Coffee", "Tennis" ], "children": [ { "name": "Marguerite Roadruck", "age": null }, { "name": "Ilana Roadruck", "age": null }, { "name": "Chantelle Roadruck", "age": 19 }, { "name": "Nikia Roadruck", "age": 43 } ] }
-{ "cid": 211, "name": "Kristian Knepshield", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 212, "name": "Christi Vichi", "age": null, "address": null, "interests": [ "Squash" ], "children": [  ] }
-{ "cid": 213, "name": "Micheal Evoy", "age": 68, "address": { "number": 1219, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Skiing", "Computers", "Books", "Puzzles" ], "children": [ { "name": "Socorro Evoy", "age": null }, { "name": "Gertude Evoy", "age": 36 }, { "name": "Araceli Evoy", "age": null }, { "name": "Yasmin Evoy", "age": null } ] }
-{ "cid": 214, "name": "Louvenia Zaffalon", "age": null, "address": null, "interests": [ "Skiing", "Books" ], "children": [  ] }
-{ "cid": 215, "name": "Ashton Schadegg", "age": null, "address": null, "interests": [ "Databases", "Music" ], "children": [ { "name": "Ciara Schadegg", "age": null }, { "name": "Karisa Schadegg", "age": 11 }, { "name": "Hayden Schadegg", "age": 44 } ] }
-{ "cid": 216, "name": "Odilia Lampson", "age": null, "address": null, "interests": [ "Wine", "Databases", "Basketball" ], "children": [ { "name": "Callie Lampson", "age": null } ] }
-{ "cid": 217, "name": "Scott Fulks", "age": null, "address": null, "interests": [ "Computers" ], "children": [  ] }
-{ "cid": 218, "name": "Clarinda Stagliano", "age": 76, "address": { "number": 3258, "street": "Park St.", "city": "San Jose" }, "interests": [ "Video Games", "Cigars" ], "children": [  ] }
-{ "cid": 219, "name": "Joelle Valazquez", "age": 73, "address": { "number": 9775, "street": "Park St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Gene Valazquez", "age": null }, { "name": "Ilona Valazquez", "age": null } ] }
-{ "cid": 220, "name": "Soila Hannemann", "age": null, "address": null, "interests": [ "Wine", "Puzzles", "Basketball" ], "children": [ { "name": "Piper Hannemann", "age": 44 } ] }
-{ "cid": 221, "name": "Delois Fiqueroa", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Cherri Fiqueroa", "age": null } ] }
-{ "cid": 222, "name": "Malcom Bloomgren", "age": 39, "address": { "number": 4674, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Databases", "Skiing" ], "children": [ { "name": "Rosia Bloomgren", "age": null }, { "name": "Bryant Bloomgren", "age": 15 }, { "name": "Donnie Bloomgren", "age": null } ] }
-{ "cid": 223, "name": "Margurite Embelton", "age": 19, "address": { "number": 554, "street": "Oak St.", "city": "Portland" }, "interests": [ "Running", "Fishing" ], "children": [ { "name": "Sherie Embelton", "age": null }, { "name": "Monica Embelton", "age": null }, { "name": "Jeanne Embelton", "age": null }, { "name": "Santiago Embelton", "age": null } ] }
-{ "cid": 224, "name": "Rene Rowey", "age": null, "address": null, "interests": [ "Base Jumping", "Base Jumping", "Walking", "Computers" ], "children": [ { "name": "Necole Rowey", "age": 26 }, { "name": "Sharyl Rowey", "age": 20 }, { "name": "Yvone Rowey", "age": 36 } ] }
-{ "cid": 225, "name": "Shantel Drapeaux", "age": null, "address": null, "interests": [ "Databases" ], "children": [ { "name": "Felicidad Drapeaux", "age": null }, { "name": "Wanetta Drapeaux", "age": 52 }, { "name": "Louise Drapeaux", "age": 28 }, { "name": "Pat Drapeaux", "age": null } ] }
-{ "cid": 226, "name": "Debrah Deppert", "age": 62, "address": { "number": 7699, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Coffee" ], "children": [ { "name": "Tonie Deppert", "age": 25 }, { "name": "Neil Deppert", "age": null } ] }
-{ "cid": 227, "name": "Carlos Skyes", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Cortney Skyes", "age": 32 } ] }
-{ "cid": 228, "name": "Donnette Brumbley", "age": null, "address": null, "interests": [ "Databases", "Music" ], "children": [ { "name": "Madlyn Brumbley", "age": null }, { "name": "Apolonia Brumbley", "age": 13 }, { "name": "Stephine Brumbley", "age": null }, { "name": "Zelma Brumbley", "age": 51 } ] }
-{ "cid": 229, "name": "Raymundo Meurin", "age": null, "address": null, "interests": [ "Bass", "Basketball", "Databases" ], "children": [ { "name": "Mariela Meurin", "age": null } ] }
-{ "cid": 230, "name": "Tobias Vicars", "age": 66, "address": { "number": 638, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Wine", "Walking", "Books", "Walking" ], "children": [  ] }
-{ "cid": 231, "name": "Arianne Wedlow", "age": 68, "address": { "number": 9663, "street": "7th St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Birdie Wedlow", "age": 32 }, { "name": "Pearle Wedlow", "age": 13 }, { "name": "Jordon Wedlow", "age": 43 }, { "name": "Katherin Wedlow", "age": 18 } ] }
-{ "cid": 232, "name": "Joey Potes", "age": null, "address": null, "interests": [ "Bass", "Bass", "Base Jumping" ], "children": [ { "name": "Bobby Potes", "age": null } ] }
-{ "cid": 233, "name": "Sammy Coalter", "age": null, "address": null, "interests": [ "Fishing", "Base Jumping" ], "children": [ { "name": "Twana Coalter", "age": null }, { "name": "Nenita Coalter", "age": 30 } ] }
-{ "cid": 234, "name": "Ilana Brothern", "age": 36, "address": { "number": 4850, "street": "Lake St.", "city": "Portland" }, "interests": [ "Puzzles", "Walking", "Fishing" ], "children": [ { "name": "Shayne Brothern", "age": null }, { "name": "Phillis Brothern", "age": null } ] }
-{ "cid": 235, "name": "Orpha Craycraft", "age": null, "address": null, "interests": [ "Skiing", "Squash" ], "children": [  ] }
-{ "cid": 236, "name": "Muriel Laib", "age": 25, "address": { "number": 4481, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Fishing", "Tennis" ], "children": [ { "name": "Jann Laib", "age": null }, { "name": "Lila Laib", "age": 10 }, { "name": "Elyse Laib", "age": 11 } ] }
-{ "cid": 237, "name": "Sona Hehn", "age": 47, "address": { "number": 3720, "street": "Oak St.", "city": "Portland" }, "interests": [ "Computers", "Squash", "Coffee" ], "children": [ { "name": "Marquerite Hehn", "age": null }, { "name": "Suellen Hehn", "age": 29 }, { "name": "Herb Hehn", "age": 29 } ] }
-{ "cid": 238, "name": "Marcelina Redic", "age": null, "address": null, "interests": [ "Cigars", "Cigars", "Coffee" ], "children": [ { "name": "Renate Redic", "age": null }, { "name": "Kyoko Redic", "age": null }, { "name": "Dorthey Redic", "age": null } ] }
-{ "cid": 239, "name": "Celsa Fondow", "age": null, "address": null, "interests": [ "Base Jumping", "Computers", "Cooking", "Wine" ], "children": [  ] }
-{ "cid": 241, "name": "Lesha Ambrosia", "age": 49, "address": { "number": 6133, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Base Jumping", "Running" ], "children": [ { "name": "Venice Ambrosia", "age": null } ] }
-{ "cid": 242, "name": "Jerold Shabot", "age": null, "address": null, "interests": [ "Fishing", "Walking", "Walking", "Puzzles" ], "children": [ { "name": "Marie Shabot", "age": 26 } ] }
-{ "cid": 243, "name": "Love Hoftiezer", "age": 88, "address": { "number": 2491, "street": "Main St.", "city": "Portland" }, "interests": [ "Cigars", "Coffee", "Books" ], "children": [ { "name": "Kellee Hoftiezer", "age": 77 } ] }
-{ "cid": 244, "name": "Rene Shenk", "age": null, "address": null, "interests": [ "Puzzles", "Puzzles", "Skiing" ], "children": [ { "name": "Victor Shenk", "age": 28 }, { "name": "Doris Shenk", "age": null }, { "name": "Max Shenk", "age": 51 } ] }
-{ "cid": 245, "name": "Lupe Abshear", "age": 55, "address": { "number": 7269, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Song Abshear", "age": null }, { "name": "Honey Abshear", "age": 31 } ] }
-{ "cid": 246, "name": "Kenda Heikkinen", "age": 63, "address": { "number": 8924, "street": "View St.", "city": "Mountain View" }, "interests": [ "Databases" ], "children": [  ] }
-{ "cid": 247, "name": "Minda Heron", "age": 25, "address": { "number": 1629, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Tennis" ], "children": [  ] }
-{ "cid": 249, "name": "Kiana Satiago", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Stacy Satiago", "age": null } ] }
-{ "cid": 250, "name": "Angeles Saltonstall", "age": null, "address": null, "interests": [ "Tennis", "Fishing", "Movies" ], "children": [ { "name": "Suzanna Saltonstall", "age": null } ] }
-{ "cid": 251, "name": "Janeen Galston", "age": null, "address": null, "interests": [ "Basketball", "Base Jumping" ], "children": [  ] }
-{ "cid": 252, "name": "Almeda Charity", "age": 19, "address": { "number": 5553, "street": "View St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Rosia Charity", "age": null } ] }
-{ "cid": 254, "name": "Jeanice Longanecker", "age": 74, "address": { "number": 2613, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Books", "Base Jumping" ], "children": [  ] }
-{ "cid": 255, "name": "Cherri Piegaro", "age": 64, "address": { "number": 3802, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Elwood Piegaro", "age": null } ] }
-{ "cid": 256, "name": "Chester Rosenberg", "age": 46, "address": { "number": 8673, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Basketball" ], "children": [ { "name": "Gemma Rosenberg", "age": null }, { "name": "Marty Rosenberg", "age": null } ] }
-{ "cid": 257, "name": "Altha Jastrzebski", "age": 21, "address": { "number": 4405, "street": "Lake St.", "city": "Portland" }, "interests": [ "Puzzles" ], "children": [  ] }
-{ "cid": 258, "name": "Florentina Hense", "age": 20, "address": { "number": 8495, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Noelle Hense", "age": null }, { "name": "Roxann Hense", "age": null } ] }
-{ "cid": 259, "name": "Aurelio Darrigo", "age": 45, "address": { "number": 1114, "street": "Park St.", "city": "San Jose" }, "interests": [ "Cooking", "Running" ], "children": [ { "name": "Leonard Darrigo", "age": 22 }, { "name": "Aron Darrigo", "age": null }, { "name": "Pamelia Darrigo", "age": 14 } ] }
-{ "cid": 260, "name": "Hedwig Caminero", "age": 81, "address": { "number": 4305, "street": "7th St.", "city": "Portland" }, "interests": [ "Video Games", "Databases" ], "children": [ { "name": "Hal Caminero", "age": null }, { "name": "Cierra Caminero", "age": 32 } ] }
-{ "cid": 263, "name": "Mellisa Machalek", "age": null, "address": null, "interests": [ "Bass", "Coffee", "Skiing" ], "children": [  ] }
-{ "cid": 264, "name": "Leon Yoshizawa", "age": 81, "address": { "number": 608, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Running", "Books", "Running" ], "children": [ { "name": "Carmela Yoshizawa", "age": 34 } ] }
-{ "cid": 265, "name": "Donte Stempien", "age": 25, "address": { "number": 3882, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Wine", "Books" ], "children": [  ] }
-{ "cid": 266, "name": "Carlee Friddle", "age": 74, "address": { "number": 6538, "street": "Main St.", "city": "San Jose" }, "interests": [ "Databases" ], "children": [ { "name": "Candie Friddle", "age": null }, { "name": "Zoila Friddle", "age": 59 } ] }
-{ "cid": 267, "name": "Renay Huddelston", "age": 68, "address": { "number": 1939, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Wine", "Base Jumping" ], "children": [ { "name": "Colene Huddelston", "age": null } ] }
-{ "cid": 268, "name": "Fernando Pingel", "age": null, "address": null, "interests": [ "Computers", "Tennis", "Books" ], "children": [ { "name": "Latrice Pingel", "age": null }, { "name": "Wade Pingel", "age": 13 }, { "name": "Christal Pingel", "age": null }, { "name": "Melania Pingel", "age": null } ] }
-{ "cid": 269, "name": "Dante Sharko", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Ahmad Sharko", "age": 34 }, { "name": "Mona Sharko", "age": null }, { "name": "Stephaine Sharko", "age": 42 }, { "name": "Adrianna Sharko", "age": null } ] }
-{ "cid": 270, "name": "Lavon Ascenzo", "age": null, "address": null, "interests": [ "Books", "Skiing" ], "children": [  ] }
-{ "cid": 271, "name": "Carey Ronin", "age": 44, "address": { "number": 8141, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Cigars", "Video Games" ], "children": [ { "name": "Lonny Ronin", "age": null }, { "name": "Armanda Ronin", "age": null } ] }
-{ "cid": 272, "name": "Frederick Valla", "age": 15, "address": { "number": 6805, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Video Games" ], "children": [ { "name": "Carroll Valla", "age": null } ] }
-{ "cid": 273, "name": "Corrinne Seaquist", "age": 24, "address": { "number": 6712, "street": "7th St.", "city": "Portland" }, "interests": [ "Puzzles", "Coffee", "Wine" ], "children": [ { "name": "Mignon Seaquist", "age": null }, { "name": "Leo Seaquist", "age": null } ] }
-{ "cid": 274, "name": "Claude Harral", "age": null, "address": null, "interests": [ "Squash", "Bass", "Cooking" ], "children": [ { "name": "Archie Harral", "age": null }, { "name": "Royal Harral", "age": null } ] }
-{ "cid": 275, "name": "Natalie Ifeanyi", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 276, "name": "Denyse Groth", "age": 81, "address": { "number": 6825, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Databases", "Fishing", "Movies" ], "children": [ { "name": "Marilee Groth", "age": 12 }, { "name": "Lyla Groth", "age": 46 }, { "name": "Sarah Groth", "age": null } ] }
-{ "cid": 277, "name": "Malena Smock", "age": null, "address": null, "interests": [ "Running", "Base Jumping" ], "children": [ { "name": "Inocencia Smock", "age": 50 }, { "name": "Cleveland Smock", "age": null } ] }
-{ "cid": 278, "name": "Deb Nicole", "age": 59, "address": { "number": 9003, "street": "Park St.", "city": "Seattle" }, "interests": [ "Books", "Computers", "Walking", "Cooking" ], "children": [ { "name": "Len Nicole", "age": null } ] }
-{ "cid": 279, "name": "Saundra Croan", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Jena Croan", "age": 37 }, { "name": "Sarai Croan", "age": null }, { "name": "Junita Croan", "age": null }, { "name": "Ferdinand Croan", "age": 43 } ] }
-{ "cid": 280, "name": "Marlo Maung", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Harold Maung", "age": null } ] }
-{ "cid": 282, "name": "Emelda Dawood", "age": 32, "address": { "number": 5261, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Venus Dawood", "age": 12 }, { "name": "Gertrude Dawood", "age": null }, { "name": "Yen Dawood", "age": null }, { "name": "Theresa Dawood", "age": 16 } ] }
-{ "cid": 283, "name": "Pilar Fritts", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Jeneva Fritts", "age": null }, { "name": "Gail Fritts", "age": 25 } ] }
-{ "cid": 285, "name": "Edgar Farlin", "age": 75, "address": { "number": 3833, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Coffee", "Databases" ], "children": [ { "name": "Stefanie Farlin", "age": 60 }, { "name": "Catina Farlin", "age": null }, { "name": "Lizzie Farlin", "age": null }, { "name": "Beau Farlin", "age": null } ] }
-{ "cid": 286, "name": "Tara Sioma", "age": 18, "address": { "number": 9425, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Fishing" ], "children": [ { "name": "Dawna Sioma", "age": null }, { "name": "Jeanne Sioma", "age": null } ] }
-{ "cid": 288, "name": "Sharice Bachicha", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 289, "name": "Clarence Milette", "age": 16, "address": { "number": 3778, "street": "Oak St.", "city": "Seattle" }, "interests": [ "Books", "Base Jumping", "Music" ], "children": [  ] }
-{ "cid": 290, "name": "Kimberly Gullatte", "age": 51, "address": { "number": 4130, "street": "Park St.", "city": "San Jose" }, "interests": [ "Running", "Squash", "Databases" ], "children": [ { "name": "Micheal Gullatte", "age": null }, { "name": "Estrella Gullatte", "age": 40 }, { "name": "Corrine Gullatte", "age": null }, { "name": "Ward Gullatte", "age": null } ] }
-{ "cid": 291, "name": "Svetlana Moone", "age": null, "address": null, "interests": [ "Skiing", "Computers", "Running", "Walking" ], "children": [ { "name": "Emelina Moone", "age": null }, { "name": "Candi Moone", "age": null } ] }
-{ "cid": 292, "name": "Mariana Cosselman", "age": null, "address": null, "interests": [ "Squash" ], "children": [ { "name": "Madge Cosselman", "age": 43 } ] }
-{ "cid": 293, "name": "Terresa Hofstetter", "age": 15, "address": { "number": 3338, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Computers", "Running", "Cigars", "Fishing" ], "children": [ { "name": "Hubert Hofstetter", "age": null }, { "name": "Jolie Hofstetter", "age": null } ] }
-{ "cid": 294, "name": "Foster Salimi", "age": 79, "address": { "number": 8439, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Pei Salimi", "age": null } ] }
-{ "cid": 295, "name": "Guillermina Florek", "age": 61, "address": { "number": 3704, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Movies", "Books" ], "children": [ { "name": "Donnie Florek", "age": null }, { "name": "Jeannetta Florek", "age": 38 }, { "name": "Leigha Florek", "age": null }, { "name": "Zenobia Florek", "age": 10 } ] }
-{ "cid": 296, "name": "Doreen Kea", "age": 89, "address": { "number": 7034, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [ "Movies" ], "children": [ { "name": "Lyndsay Kea", "age": 68 }, { "name": "Trena Kea", "age": 18 } ] }
-{ "cid": 297, "name": "Adeline Frierson", "age": null, "address": null, "interests": [ "Coffee", "Computers", "Fishing" ], "children": [ { "name": "Marci Frierson", "age": null }, { "name": "Rolanda Frierson", "age": null }, { "name": "Del Frierson", "age": null } ] }
-{ "cid": 298, "name": "Brittny Christin", "age": null, "address": null, "interests": [ "Databases", "Video Games" ], "children": [ { "name": "Hilario Christin", "age": null }, { "name": "Clarine Christin", "age": null } ] }
-{ "cid": 299, "name": "Jacob Wainman", "age": 76, "address": { "number": 4551, "street": "Washington St.", "city": "Portland" }, "interests": [ "Base Jumping", "Wine", "Coffee" ], "children": [ { "name": "Abram Wainman", "age": 28 }, { "name": "Ramonita Wainman", "age": 18 }, { "name": "Sheryll Wainman", "age": null } ] }
-{ "cid": 300, "name": "Garret Colgrove", "age": 85, "address": { "number": 9937, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Base Jumping", "Puzzles", "Fishing" ], "children": [ { "name": "Janna Colgrove", "age": null }, { "name": "Jerilyn Colgrove", "age": 35 } ] }
-{ "cid": 301, "name": "Cherry Steenwyk", "age": 88, "address": { "number": 4138, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Movies" ], "children": [ { "name": "Toccara Steenwyk", "age": 66 }, { "name": "Tari Steenwyk", "age": null }, { "name": "Lawanna Steenwyk", "age": null }, { "name": "Ossie Steenwyk", "age": 26 } ] }
-{ "cid": 302, "name": "Rosalie Laderer", "age": null, "address": null, "interests": [ "Tennis", "Movies", "Movies" ], "children": [ { "name": "Moriah Laderer", "age": null }, { "name": "Liana Laderer", "age": 21 }, { "name": "Genia Laderer", "age": 45 } ] }
-{ "cid": 303, "name": "Michel Bayird", "age": 37, "address": { "number": 7939, "street": "Hill St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Shan Bayird", "age": 12 } ] }
-{ "cid": 304, "name": "Francine Reddin", "age": 39, "address": { "number": 9392, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Music", "Base Jumping" ], "children": [ { "name": "Millicent Reddin", "age": null } ] }
-{ "cid": 305, "name": "Tuyet Leinbach", "age": null, "address": null, "interests": [ "Puzzles", "Walking" ], "children": [  ] }
-{ "cid": 306, "name": "Laurie Tuff", "age": null, "address": null, "interests": [ "Computers", "Base Jumping", "Bass", "Basketball" ], "children": [ { "name": "Sharie Tuff", "age": null }, { "name": "Ollie Tuff", "age": 53 }, { "name": "Gonzalo Tuff", "age": null }, { "name": "Thomas Tuff", "age": null } ] }
-{ "cid": 307, "name": "Abraham Lanphear", "age": 20, "address": { "number": 7552, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Video Games" ], "children": [ { "name": "Toccara Lanphear", "age": null }, { "name": "Milly Lanphear", "age": null } ] }
-{ "cid": 308, "name": "Solomon Schwenke", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [ { "name": "Gertrude Schwenke", "age": null }, { "name": "Marcell Schwenke", "age": 41 }, { "name": "Shalon Schwenke", "age": null } ] }
-{ "cid": 309, "name": "Lise Baiz", "age": 46, "address": { "number": 352, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Bass", "Squash" ], "children": [ { "name": "Alisa Baiz", "age": 18 }, { "name": "Elidia Baiz", "age": 28 }, { "name": "Ray Baiz", "age": 19 } ] }
-{ "cid": 311, "name": "Ria Haflett", "age": 14, "address": { "number": 9513, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Walking" ], "children": [ { "name": "Jimmie Haflett", "age": null }, { "name": "Dario Haflett", "age": null }, { "name": "Robbyn Haflett", "age": null } ] }
-{ "cid": 312, "name": "Epifania Chorney", "age": 62, "address": { "number": 9749, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Wine", "Puzzles", "Tennis" ], "children": [ { "name": "Lizeth Chorney", "age": 22 } ] }
-{ "cid": 313, "name": "Lasandra Raigosa", "age": null, "address": null, "interests": [ "Walking", "Walking" ], "children": [ { "name": "Lanelle Raigosa", "age": null } ] }
-{ "cid": 314, "name": "Gwendolyn Abeb", "age": 85, "address": { "number": 3977, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Basketball", "Music", "Squash", "Walking" ], "children": [ { "name": "Aurelia Abeb", "age": 14 }, { "name": "Young Abeb", "age": null }, { "name": "Shay Abeb", "age": null }, { "name": "Lavina Abeb", "age": 15 } ] }
-{ "cid": 315, "name": "Kallie Eiselein", "age": null, "address": null, "interests": [ "Computers", "Tennis" ], "children": [  ] }
-{ "cid": 316, "name": "Patrina Whitting", "age": 74, "address": { "number": 4772, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Music", "Video Games", "Bass" ], "children": [ { "name": "Rubye Whitting", "age": null } ] }
-{ "cid": 317, "name": "Zona Caffarel", "age": 52, "address": { "number": 9419, "street": "Cedar St.", "city": "Seattle" }, "interests": [ "Tennis", "Coffee" ], "children": [ { "name": "Cortez Caffarel", "age": null } ] }
-{ "cid": 318, "name": "Shaunna Royal", "age": 86, "address": { "number": 8681, "street": "7th St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Shantell Royal", "age": 37 }, { "name": "Shalon Royal", "age": 50 }, { "name": "Chung Royal", "age": 26 } ] }
-{ "cid": 319, "name": "Ashlie Rott", "age": 42, "address": { "number": 366, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Computers", "Cooking", "Databases" ], "children": [  ] }
-{ "cid": 320, "name": "Charley Hermenegildo", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Melda Hermenegildo", "age": 51 }, { "name": "Lashon Hermenegildo", "age": null } ] }
-{ "cid": 322, "name": "Jaclyn Ettl", "age": 83, "address": { "number": 4500, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Databases", "Skiing" ], "children": [ { "name": "Noah Ettl", "age": 30 }, { "name": "Kesha Ettl", "age": null } ] }
-{ "cid": 323, "name": "Rebeca Grisostomo", "age": 26, "address": { "number": 399, "street": "View St.", "city": "Portland" }, "interests": [ "Music" ], "children": [ { "name": "Iva Grisostomo", "age": 12 }, { "name": "Ha Grisostomo", "age": null }, { "name": "Lorna Grisostomo", "age": null } ] }
-{ "cid": 324, "name": "Wendolyn Centorino", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 325, "name": "Ai Tarleton", "age": null, "address": null, "interests": [ "Coffee", "Music" ], "children": [ { "name": "Risa Tarleton", "age": 24 }, { "name": "Leonila Tarleton", "age": null }, { "name": "Thomasina Tarleton", "age": null } ] }
-{ "cid": 326, "name": "Tad Tellers", "age": null, "address": null, "interests": [ "Books", "Tennis", "Base Jumping" ], "children": [ { "name": "Fannie Tellers", "age": null } ] }
-{ "cid": 327, "name": "Minnie Scali", "age": null, "address": null, "interests": [ "Cooking", "Squash", "Skiing" ], "children": [ { "name": "Jalisa Scali", "age": null }, { "name": "Preston Scali", "age": null }, { "name": "Stephani Scali", "age": 47 }, { "name": "Candra Scali", "age": null } ] }
-{ "cid": 328, "name": "Mallory Sheffey", "age": 27, "address": { "number": 8532, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Cooking" ], "children": [ { "name": "Regan Sheffey", "age": 14 } ] }
-{ "cid": 330, "name": "Noma Tollefsen", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Melody Tollefsen", "age": 45 }, { "name": "Caridad Tollefsen", "age": 15 } ] }
-{ "cid": 331, "name": "Willena Provenza", "age": 43, "address": { "number": 6742, "street": "Main St.", "city": "Portland" }, "interests": [ "Basketball" ], "children": [ { "name": "Alesha Provenza", "age": 32 }, { "name": "Marty Provenza", "age": null }, { "name": "Lindy Provenza", "age": 21 }, { "name": "Junita Provenza", "age": null } ] }
-{ "cid": 332, "name": "Malcom Cafasso", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Marie Cafasso", "age": null }, { "name": "Asley Cafasso", "age": 38 } ] }
-{ "cid": 333, "name": "Conchita Olivera", "age": 37, "address": { "number": 8519, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Base Jumping" ], "children": [ { "name": "Trenton Olivera", "age": null }, { "name": "Shin Olivera", "age": 26 }, { "name": "Everett Olivera", "age": 15 }, { "name": "Shera Olivera", "age": 20 } ] }
-{ "cid": 335, "name": "Odessa Dammeyer", "age": 18, "address": { "number": 6828, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Basketball", "Bass", "Cigars" ], "children": [ { "name": "Lindsey Dammeyer", "age": null } ] }
-{ "cid": 336, "name": "Jalisa Talamantez", "age": 78, "address": { "number": 9902, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Video Games", "Squash" ], "children": [  ] }
-{ "cid": 337, "name": "Kay Durney", "age": 52, "address": { "number": 4203, "street": "View St.", "city": "Seattle" }, "interests": [ "Walking" ], "children": [ { "name": "Velia Durney", "age": 38 }, { "name": "Erin Durney", "age": null } ] }
-{ "cid": 338, "name": "Dorthey Roncskevitz", "age": 38, "address": { "number": 4366, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Computers" ], "children": [ { "name": "Mindy Roncskevitz", "age": null } ] }
-{ "cid": 339, "name": "Sharonda Catalino", "age": 15, "address": { "number": 7616, "street": "Washington St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Lorine Catalino", "age": null } ] }
-{ "cid": 340, "name": "Erick Faiola", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Marquita Faiola", "age": null }, { "name": "Tasia Faiola", "age": null }, { "name": "Micheal Faiola", "age": 24 }, { "name": "Salvatore Faiola", "age": null } ] }
-{ "cid": 343, "name": "Kaylee Ozaine", "age": 78, "address": { "number": 3367, "street": "Washington St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Darwin Ozaine", "age": 35 }, { "name": "Anne Ozaine", "age": 13 }, { "name": "Kenneth Ozaine", "age": null }, { "name": "Pat Ozaine", "age": 53 } ] }
-{ "cid": 346, "name": "Elden Choma", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Valorie Choma", "age": null }, { "name": "Leslee Choma", "age": null } ] }
-{ "cid": 347, "name": "Patrick Feighan", "age": 34, "address": { "number": 7613, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Puzzles", "Books" ], "children": [ { "name": "Madaline Feighan", "age": null } ] }
-{ "cid": 348, "name": "Matthew Pantaleo", "age": 80, "address": { "number": 9782, "street": "Washington St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Faviola Pantaleo", "age": null }, { "name": "Yang Pantaleo", "age": null }, { "name": "Christopher Pantaleo", "age": null }, { "name": "Jacqui Pantaleo", "age": 58 } ] }
-{ "cid": 349, "name": "Cristine Hila", "age": null, "address": null, "interests": [ "Books" ], "children": [ { "name": "Nyla Hila", "age": 51 } ] }
-{ "cid": 352, "name": "Bonny Sischo", "age": null, "address": null, "interests": [ "Bass", "Movies", "Computers" ], "children": [ { "name": "Judith Sischo", "age": 43 }, { "name": "Adeline Sischo", "age": null }, { "name": "Dayna Sischo", "age": null } ] }
-{ "cid": 353, "name": "Melody Bernas", "age": 76, "address": { "number": 6783, "street": "Main St.", "city": "San Jose" }, "interests": [ "Base Jumping" ], "children": [ { "name": "Kristel Bernas", "age": 45 }, { "name": "Clorinda Bernas", "age": 10 }, { "name": "Natosha Bernas", "age": null } ] }
-{ "cid": 354, "name": "Marian Munzell", "age": 73, "address": { "number": 4504, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Fishing", "Puzzles" ], "children": [  ] }
-{ "cid": 355, "name": "Elois Leckband", "age": null, "address": null, "interests": [ "Skiing", "Wine" ], "children": [  ] }
-{ "cid": 356, "name": "Pearlene Sakumoto", "age": 22, "address": { "number": 5895, "street": "7th St.", "city": "San Jose" }, "interests": [ "Computers", "Bass", "Base Jumping", "Coffee" ], "children": [  ] }
-{ "cid": 357, "name": "Dario Lobach", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Kendall Lobach", "age": 37 } ] }
-{ "cid": 358, "name": "Fredricka Krum", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Darrick Krum", "age": null }, { "name": "Julieann Krum", "age": null }, { "name": "Sun Krum", "age": null }, { "name": "Rosamaria Krum", "age": 16 } ] }
-{ "cid": 360, "name": "Billye Grumet", "age": 82, "address": { "number": 7052, "street": "Main St.", "city": "Portland" }, "interests": [ "Coffee" ], "children": [ { "name": "Linnea Grumet", "age": null }, { "name": "Charline Grumet", "age": 67 } ] }
-{ "cid": 361, "name": "Angela Lacki", "age": 35, "address": { "number": 9710, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Skiing" ], "children": [  ] }
-{ "cid": 362, "name": "Alta Bantug", "age": null, "address": null, "interests": [ "Computers" ], "children": [  ] }
-{ "cid": 363, "name": "Merlene Hoying", "age": 25, "address": { "number": 2105, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Squash", "Squash", "Music" ], "children": [ { "name": "Andrew Hoying", "age": 10 } ] }
-{ "cid": 364, "name": "Joni Dazey", "age": 14, "address": { "number": 1237, "street": "Oak St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Kraig Dazey", "age": null } ] }
-{ "cid": 366, "name": "Rosia Wenzinger", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 367, "name": "Cassondra Fabiani", "age": null, "address": null, "interests": [ "Squash", "Tennis" ], "children": [ { "name": "Evia Fabiani", "age": null }, { "name": "Chaya Fabiani", "age": null }, { "name": "Sherman Fabiani", "age": null }, { "name": "Kathi Fabiani", "age": 54 } ] }
-{ "cid": 368, "name": "Tequila Scandalios", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Nilsa Scandalios", "age": null }, { "name": "Kaye Scandalios", "age": 23 }, { "name": "Angelo Scandalios", "age": 24 } ] }
-{ "cid": 369, "name": "Nickole Dory", "age": 10, "address": { "number": 4761, "street": "View St.", "city": "Portland" }, "interests": [ "Walking", "Cooking" ], "children": [ { "name": "Annmarie Dory", "age": null }, { "name": "Michele Dory", "age": null }, { "name": "Annamae Dory", "age": null }, { "name": "Flora Dory", "age": null } ] }
-{ "cid": 370, "name": "Shonta Furby", "age": 18, "address": { "number": 5792, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Databases" ], "children": [ { "name": "Raleigh Furby", "age": null }, { "name": "Britta Furby", "age": null }, { "name": "Gay Furby", "age": null }, { "name": "Elenor Furby", "age": null } ] }
-{ "cid": 371, "name": "Agatha Tensley", "age": 13, "address": { "number": 1810, "street": "Hill St.", "city": "San Jose" }, "interests": [ "Bass", "Running", "Movies" ], "children": [ { "name": "Launa Tensley", "age": null } ] }
-{ "cid": 372, "name": "Zena Keglovic", "age": 22, "address": { "number": 7675, "street": "Park St.", "city": "Sunnyvale" }, "interests": [ "Basketball", "Wine" ], "children": [  ] }
-{ "cid": 373, "name": "Heather Seward", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Glinda Seward", "age": 59 }, { "name": "Maribeth Seward", "age": null }, { "name": "Teofila Seward", "age": null }, { "name": "Clemencia Seward", "age": 38 } ] }
-{ "cid": 374, "name": "Clair Quinn", "age": null, "address": null, "interests": [ "Walking", "Books" ], "children": [ { "name": "Wesley Quinn", "age": 17 }, { "name": "Maren Quinn", "age": 50 }, { "name": "Ila Quinn", "age": 43 }, { "name": "Casie Quinn", "age": null } ] }
-{ "cid": 375, "name": "Chia Sagaser", "age": 15, "address": { "number": 6025, "street": "Park St.", "city": "Mountain View" }, "interests": [ "Skiing" ], "children": [ { "name": "Garnet Sagaser", "age": null }, { "name": "Mario Sagaser", "age": null }, { "name": "Sun Sagaser", "age": null } ] }
-{ "cid": 376, "name": "Jeffrey Hegarty", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [ { "name": "April Hegarty", "age": null }, { "name": "Wilbur Hegarty", "age": null }, { "name": "Hanh Hegarty", "age": null } ] }
-{ "cid": 377, "name": "Zona Klint", "age": 22, "address": { "number": 6320, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Puzzles" ], "children": [ { "name": "Evie Klint", "age": null }, { "name": "Sharyl Klint", "age": 11 }, { "name": "Joaquina Klint", "age": 11 }, { "name": "Doloris Klint", "age": 11 } ] }
-{ "cid": 378, "name": "Melany Matias", "age": 10, "address": { "number": 8838, "street": "Main St.", "city": "Seattle" }, "interests": [ "Coffee", "Tennis", "Bass" ], "children": [ { "name": "Earnestine Matias", "age": null }, { "name": "Lore Matias", "age": null } ] }
-{ "cid": 379, "name": "Penney Huslander", "age": 58, "address": { "number": 6919, "street": "7th St.", "city": "Portland" }, "interests": [ "Cooking", "Running" ], "children": [ { "name": "Magaret Huslander", "age": null }, { "name": "Dodie Huslander", "age": 14 } ] }
-{ "cid": 380, "name": "Silva Purdue", "age": 33, "address": { "number": 1759, "street": "7th St.", "city": "Portland" }, "interests": [ "Music", "Squash" ], "children": [ { "name": "Marshall Purdue", "age": null }, { "name": "Yuki Purdue", "age": null }, { "name": "Val Purdue", "age": 12 }, { "name": "Dominica Purdue", "age": null } ] }
-{ "cid": 381, "name": "Kassandra Ereth", "age": null, "address": null, "interests": [ "Base Jumping", "Base Jumping", "Databases", "Walking" ], "children": [ { "name": "Angelina Ereth", "age": 46 }, { "name": "Tristan Ereth", "age": null }, { "name": "Johnny Ereth", "age": null } ] }
-{ "cid": 383, "name": "Marty Castine", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Nakisha Castine", "age": 40 }, { "name": "Mina Castine", "age": null }, { "name": "Katrice Castine", "age": 56 }, { "name": "Reuben Castine", "age": null } ] }
-{ "cid": 385, "name": "Jody Favaron", "age": 73, "address": { "number": 4724, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Fishing" ], "children": [ { "name": "Elane Favaron", "age": 47 }, { "name": "Katherine Favaron", "age": 38 } ] }
-{ "cid": 386, "name": "Mao Gradowski", "age": 36, "address": { "number": 5116, "street": "Washington St.", "city": "Mountain View" }, "interests": [ "Computers", "Fishing" ], "children": [ { "name": "Jeneva Gradowski", "age": null }, { "name": "Thu Gradowski", "age": 22 }, { "name": "Daphine Gradowski", "age": null }, { "name": "Providencia Gradowski", "age": null } ] }
-{ "cid": 387, "name": "Leonard Mabie", "age": 33, "address": { "number": 6703, "street": "View St.", "city": "Mountain View" }, "interests": [ "Bass", "Running", "Walking" ], "children": [ { "name": "Jone Mabie", "age": 16 }, { "name": "Claire Mabie", "age": null }, { "name": "Larraine Mabie", "age": null }, { "name": "Corrina Mabie", "age": null } ] }
-{ "cid": 389, "name": "Loraine Morfee", "age": 72, "address": { "number": 2945, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Wine", "Walking" ], "children": [ { "name": "Berry Morfee", "age": 30 } ] }
-{ "cid": 390, "name": "Shera Cung", "age": 69, "address": { "number": 5850, "street": "Hill St.", "city": "San Jose" }, "interests": [ "Fishing", "Computers", "Cigars", "Base Jumping" ], "children": [ { "name": "Lenore Cung", "age": 20 } ] }
-{ "cid": 391, "name": "Lynn Gregory", "age": 51, "address": { "number": 1249, "street": "Hill St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Jeannine Gregory", "age": null }, { "name": "Jaymie Gregory", "age": null }, { "name": "Lorrine Gregory", "age": 37 } ] }
-{ "cid": 392, "name": "Isiah Nussbaumer", "age": null, "address": null, "interests": [ "Squash" ], "children": [  ] }
-{ "cid": 393, "name": "Rossana Monton", "age": 34, "address": { "number": 4490, "street": "Main St.", "city": "Portland" }, "interests": [ "Skiing", "Base Jumping" ], "children": [ { "name": "Glayds Monton", "age": null }, { "name": "Lily Monton", "age": null }, { "name": "Raina Monton", "age": null }, { "name": "Hilma Monton", "age": null } ] }
-{ "cid": 394, "name": "Lizette Roux", "age": 57, "address": { "number": 458, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Bass", "Books" ], "children": [ { "name": "Doloris Roux", "age": null } ] }
-{ "cid": 395, "name": "Bob Layman", "age": 61, "address": { "number": 3646, "street": "Washington St.", "city": "Los Angeles" }, "interests": [  ], "children": [  ] }
-{ "cid": 396, "name": "Delfina Calcara", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Sybil Calcara", "age": null } ] }
-{ "cid": 397, "name": "Blake Kealy", "age": 34, "address": { "number": 2156, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Databases", "Wine", "Cigars" ], "children": [ { "name": "Lorenza Kealy", "age": null }, { "name": "Beula Kealy", "age": 15 }, { "name": "Kristofer Kealy", "age": null }, { "name": "Shayne Kealy", "age": null } ] }
-{ "cid": 398, "name": "Piedad Paranada", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Claribel Paranada", "age": 22 }, { "name": "Lincoln Paranada", "age": null }, { "name": "Cecilia Paranada", "age": null } ] }
-{ "cid": 399, "name": "Myra Millwee", "age": null, "address": null, "interests": [ "Tennis", "Running", "Tennis" ], "children": [ { "name": "Gaye Millwee", "age": null } ] }
-{ "cid": 400, "name": "Jeffery Maresco", "age": null, "address": null, "interests": [ "Coffee", "Bass" ], "children": [  ] }
-{ "cid": 401, "name": "Moises Jago", "age": 27, "address": { "number": 3773, "street": "Main St.", "city": "San Jose" }, "interests": [ "Music" ], "children": [ { "name": "Shoshana Jago", "age": null }, { "name": "Juliet Jago", "age": null }, { "name": "Berneice Jago", "age": 13 } ] }
-{ "cid": 402, "name": "Terrilyn Shinall", "age": null, "address": null, "interests": [ "Computers", "Skiing", "Music" ], "children": [ { "name": "Minh Shinall", "age": null }, { "name": "Diedre Shinall", "age": 22 } ] }
-{ "cid": 403, "name": "Kayleigh Houey", "age": null, "address": null, "interests": [ "Fishing", "Music" ], "children": [ { "name": "Ta Houey", "age": null }, { "name": "Ayana Houey", "age": null }, { "name": "Dominique Houey", "age": null }, { "name": "Denise Houey", "age": 48 } ] }
-{ "cid": 404, "name": "Harriette Abo", "age": null, "address": null, "interests": [ "Walking", "Running" ], "children": [  ] }
-{ "cid": 405, "name": "Shawnda Landborg", "age": 73, "address": { "number": 2396, "street": "Hill St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Cherrie Landborg", "age": 10 } ] }
-{ "cid": 406, "name": "Addie Mandez", "age": null, "address": null, "interests": [ "Tennis", "Cigars", "Books" ], "children": [ { "name": "Rosendo Mandez", "age": 34 } ] }
-{ "cid": 407, "name": "Bebe Cotney", "age": null, "address": null, "interests": [ "Books", "Tennis" ], "children": [ { "name": "Daren Cotney", "age": null }, { "name": "Lady Cotney", "age": 48 } ] }
-{ "cid": 408, "name": "Ava Zornes", "age": null, "address": null, "interests": [ "Music" ], "children": [  ] }
-{ "cid": 410, "name": "Jennie Longhenry", "age": 82, "address": { "number": 7427, "street": "Main St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Charles Longhenry", "age": 61 }, { "name": "Faviola Longhenry", "age": 25 }, { "name": "Darline Longhenry", "age": null }, { "name": "Lorean Longhenry", "age": null } ] }
-{ "cid": 411, "name": "Cindi Pepin", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Fallon Pepin", "age": 39 }, { "name": "Armanda Pepin", "age": null }, { "name": "Loriann Pepin", "age": null }, { "name": "Bambi Pepin", "age": 43 } ] }
-{ "cid": 412, "name": "Devon Szalai", "age": 26, "address": { "number": 2384, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Bass", "Books", "Books" ], "children": [ { "name": "Yolonda Szalai", "age": null }, { "name": "Denita Szalai", "age": null }, { "name": "Priscila Szalai", "age": 10 }, { "name": "Cassondra Szalai", "age": 12 } ] }
-{ "cid": 413, "name": "Maurice Landrie", "age": null, "address": null, "interests": [ "Computers", "Coffee" ], "children": [ { "name": "Gail Landrie", "age": 37 }, { "name": "Carylon Landrie", "age": null }, { "name": "Allen Landrie", "age": 16 }, { "name": "Andreas Landrie", "age": null } ] }
-{ "cid": 414, "name": "Sixta Smithheart", "age": null, "address": null, "interests": [ "Skiing", "Books", "Computers" ], "children": [ { "name": "Nicholas Smithheart", "age": null } ] }
-{ "cid": 415, "name": "Valentin Mclarney", "age": null, "address": null, "interests": [ "Squash", "Squash", "Video Games" ], "children": [ { "name": "Vanda Mclarney", "age": 17 } ] }
-{ "cid": 417, "name": "Irene Funderberg", "age": 45, "address": { "number": 8503, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Music", "Skiing", "Running" ], "children": [ { "name": "Lyndia Funderberg", "age": 14 }, { "name": "Herta Funderberg", "age": null } ] }
-{ "cid": 418, "name": "Gavin Delpino", "age": null, "address": null, "interests": [ "Basketball", "Skiing", "Wine", "Fishing" ], "children": [ { "name": "Gianna Delpino", "age": null }, { "name": "Carmella Delpino", "age": 55 } ] }
-{ "cid": 419, "name": "Hector Brisbone", "age": null, "address": null, "interests": [ "Databases", "Books", "Walking", "Databases" ], "children": [ { "name": "Frederick Brisbone", "age": 17 } ] }
-{ "cid": 420, "name": "Coralie Regueira", "age": null, "address": null, "interests": [ "Books", "Tennis" ], "children": [ { "name": "Latoyia Regueira", "age": 31 }, { "name": "Obdulia Regueira", "age": 12 }, { "name": "Herlinda Regueira", "age": null } ] }
-{ "cid": 421, "name": "Rubye Dillabough", "age": 55, "address": { "number": 6980, "street": "View St.", "city": "Sunnyvale" }, "interests": [ "Squash" ], "children": [ { "name": "Hyacinth Dillabough", "age": 19 }, { "name": "Arie Dillabough", "age": null } ] }
-{ "cid": 422, "name": "Annmarie Whitcher", "age": null, "address": null, "interests": [ "Cigars" ], "children": [ { "name": "Honey Whitcher", "age": null }, { "name": "Dan Whitcher", "age": 22 } ] }
-{ "cid": 424, "name": "Camila Rightmire", "age": 25, "address": { "number": 7542, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Bass", "Running", "Puzzles" ], "children": [ { "name": "Donny Rightmire", "age": 14 }, { "name": "Karlene Rightmire", "age": 10 }, { "name": "Nicholas Rightmire", "age": null }, { "name": "Margareta Rightmire", "age": null } ] }
-{ "cid": 426, "name": "Agripina Philley", "age": 79, "address": { "number": 1533, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Georgianne Philley", "age": null }, { "name": "Neville Philley", "age": null }, { "name": "Brande Philley", "age": 42 }, { "name": "Tanisha Philley", "age": null } ] }
-{ "cid": 427, "name": "Janay Presutti", "age": null, "address": null, "interests": [ "Walking" ], "children": [ { "name": "Julietta Presutti", "age": null } ] }
-{ "cid": 428, "name": "Tiffany Waye", "age": null, "address": null, "interests": [ "Basketball", "Cigars" ], "children": [ { "name": "Berna Waye", "age": null }, { "name": "Kiersten Waye", "age": null }, { "name": "Romeo Waye", "age": null }, { "name": "Marvel Waye", "age": 56 } ] }
-{ "cid": 429, "name": "Eladia Scannell", "age": 20, "address": { "number": 5036, "street": "Main St.", "city": "Portland" }, "interests": [ "Skiing", "Music", "Movies" ], "children": [  ] }
-{ "cid": 430, "name": "Cari Woll", "age": 45, "address": { "number": 8226, "street": "Park St.", "city": "San Jose" }, "interests": [ "Cooking", "Walking", "Cooking" ], "children": [ { "name": "Tomasa Woll", "age": 32 }, { "name": "Annika Woll", "age": 21 } ] }
-{ "cid": 431, "name": "Estela Tolbent", "age": 27, "address": { "number": 7186, "street": "7th St.", "city": "Los Angeles" }, "interests": [ "Databases" ], "children": [ { "name": "Joie Tolbent", "age": null }, { "name": "Angila Tolbent", "age": null }, { "name": "Anastasia Tolbent", "age": 14 } ] }
-{ "cid": 432, "name": "Judi Vinet", "age": 85, "address": { "number": 7304, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Wine" ], "children": [ { "name": "Golden Vinet", "age": 20 }, { "name": "Maragret Vinet", "age": null }, { "name": "Keshia Vinet", "age": 10 }, { "name": "Gary Vinet", "age": 73 } ] }
-{ "cid": 433, "name": "Caleb Merrbach", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Amado Merrbach", "age": 45 } ] }
-{ "cid": 434, "name": "Tamesha Soho", "age": 33, "address": { "number": 4534, "street": "Park St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Cody Soho", "age": null }, { "name": "Glennie Soho", "age": 22 } ] }
-{ "cid": 435, "name": "Britni Kazemi", "age": 69, "address": { "number": 7868, "street": "Main St.", "city": "San Jose" }, "interests": [ "Databases", "Music", "Wine" ], "children": [  ] }
-{ "cid": 436, "name": "Xenia Pool", "age": null, "address": null, "interests": [ "Books" ], "children": [  ] }
-{ "cid": 437, "name": "Marlene Macintyre", "age": 86, "address": { "number": 3708, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Wine", "Walking", "Music", "Coffee" ], "children": [ { "name": "Todd Macintyre", "age": null }, { "name": "Mechelle Macintyre", "age": 50 } ] }
-{ "cid": 438, "name": "Allegra Pefanis", "age": null, "address": null, "interests": [ "Computers", "Music", "Cigars" ], "children": [  ] }
-{ "cid": 439, "name": "Lillia Villnave", "age": 34, "address": { "number": 9212, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Otis Villnave", "age": null } ] }
-{ "cid": 440, "name": "Rosie Shappen", "age": null, "address": null, "interests": [ "Cooking", "Music", "Cigars" ], "children": [ { "name": "Jung Shappen", "age": 11 } ] }
-{ "cid": 441, "name": "Jamison Reeser", "age": 84, "address": { "number": 9376, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Tennis" ], "children": [ { "name": "Elena Reeser", "age": 28 } ] }
-{ "cid": 442, "name": "Val Disorda", "age": null, "address": null, "interests": [ "Bass" ], "children": [ { "name": "Simone Disorda", "age": 53 }, { "name": "Jacalyn Disorda", "age": 41 }, { "name": "Ron Disorda", "age": null }, { "name": "Clifton Disorda", "age": null } ] }
-{ "cid": 445, "name": "Walton Komo", "age": 16, "address": { "number": 8769, "street": "Main St.", "city": "Seattle" }, "interests": [ "Running", "Basketball", "Tennis" ], "children": [  ] }
-{ "cid": 446, "name": "Lilly Grannell", "age": 21, "address": { "number": 5894, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Computers", "Tennis", "Puzzles", "Books" ], "children": [ { "name": "Victor Grannell", "age": null } ] }
-{ "cid": 447, "name": "Iris Schoneman", "age": 34, "address": { "number": 7648, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Bass", "Wine", "Puzzles", "Cigars" ], "children": [ { "name": "Shemika Schoneman", "age": 11 }, { "name": "Maritza Schoneman", "age": 21 }, { "name": "Martha Schoneman", "age": 20 } ] }
-{ "cid": 448, "name": "Gracie Pekas", "age": 59, "address": { "number": 4732, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Base Jumping", "Wine", "Cigars" ], "children": [ { "name": "Jeanett Pekas", "age": 35 }, { "name": "Jennifer Pekas", "age": null }, { "name": "Carrol Pekas", "age": null } ] }
-{ "cid": 449, "name": "Jacinda Markle", "age": null, "address": null, "interests": [ "Basketball", "Basketball", "Computers" ], "children": [ { "name": "Tam Markle", "age": 45 } ] }
-{ "cid": 450, "name": "Althea Mohammed", "age": null, "address": null, "interests": [ "Fishing", "Databases" ], "children": [ { "name": "Jasper Mohammed", "age": null } ] }
-{ "cid": 451, "name": "Lelia Sondelski", "age": 60, "address": { "number": 4044, "street": "Park St.", "city": "Portland" }, "interests": [ "Books", "Squash", "Walking" ], "children": [  ] }
-{ "cid": 452, "name": "Casie Marasigan", "age": null, "address": null, "interests": [ "Walking", "Computers" ], "children": [ { "name": "Connie Marasigan", "age": null }, { "name": "Kimberlie Marasigan", "age": null } ] }
-{ "cid": 453, "name": "Sherlyn Deadmond", "age": null, "address": null, "interests": [ "Tennis", "Puzzles", "Base Jumping" ], "children": [ { "name": "Torrie Deadmond", "age": 46 }, { "name": "Cleotilde Deadmond", "age": 55 }, { "name": "Garry Deadmond", "age": 34 }, { "name": "Valrie Deadmond", "age": null } ] }
-{ "cid": 454, "name": "Irving Lhuillier", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Emile Lhuillier", "age": null }, { "name": "Albert Lhuillier", "age": null }, { "name": "Ingeborg Lhuillier", "age": 23 }, { "name": "Shila Lhuillier", "age": 55 } ] }
-{ "cid": 455, "name": "Manual Altizer", "age": 70, "address": { "number": 6293, "street": "7th St.", "city": "Portland" }, "interests": [ "Running", "Fishing", "Coffee" ], "children": [ { "name": "Katherine Altizer", "age": null } ] }
-{ "cid": 456, "name": "Kim Cervera", "age": 89, "address": { "number": 3967, "street": "Lake St.", "city": "Portland" }, "interests": [ "Fishing" ], "children": [ { "name": "Winona Cervera", "age": 37 }, { "name": "Shanice Cervera", "age": null }, { "name": "Michaele Cervera", "age": null } ] }
-{ "cid": 457, "name": "Jenice Boger", "age": null, "address": null, "interests": [ "Skiing", "Databases", "Running" ], "children": [  ] }
-{ "cid": 458, "name": "Ivan Sien", "age": 17, "address": { "number": 9981, "street": "Lake St.", "city": "Portland" }, "interests": [ "Cooking", "Coffee" ], "children": [ { "name": "Laurence Sien", "age": null }, { "name": "Nelle Sien", "age": null }, { "name": "Thalia Sien", "age": null } ] }
-{ "cid": 459, "name": "Mable Ellwein", "age": 60, "address": { "number": 1138, "street": "Lake St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Stan Ellwein", "age": 19 }, { "name": "Ashlea Ellwein", "age": 13 }, { "name": "Tiesha Ellwein", "age": 28 } ] }
-{ "cid": 460, "name": "Jeraldine Choules", "age": null, "address": null, "interests": [ "Fishing" ], "children": [ { "name": "Berneice Choules", "age": 16 }, { "name": "Jaime Choules", "age": 21 }, { "name": "Li Choules", "age": 20 }, { "name": "Leah Choules", "age": null } ] }
-{ "cid": 461, "name": "Dessie Schnibbe", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 462, "name": "Margaret Galvis", "age": null, "address": null, "interests": [ "Base Jumping", "Movies", "Movies" ], "children": [ { "name": "Isaac Galvis", "age": 48 }, { "name": "Mei Galvis", "age": null }, { "name": "Asha Galvis", "age": null }, { "name": "Zachery Galvis", "age": null } ] }
-{ "cid": 463, "name": "Mika Rininger", "age": null, "address": null, "interests": [ "Databases", "Cooking" ], "children": [ { "name": "Inez Rininger", "age": 58 }, { "name": "Betty Rininger", "age": null }, { "name": "Laurie Rininger", "age": 48 }, { "name": "Billie Rininger", "age": null } ] }
-{ "cid": 464, "name": "Petra Kinsel", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Janise Kinsel", "age": null }, { "name": "Donnie Kinsel", "age": 26 }, { "name": "Joana Kinsel", "age": 12 } ] }
-{ "cid": 465, "name": "Rey Arango", "age": 68, "address": { "number": 1788, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Tennis" ], "children": [  ] }
-{ "cid": 466, "name": "Paulene Bagen", "age": 87, "address": { "number": 4093, "street": "View St.", "city": "Mountain View" }, "interests": [ "Music" ], "children": [ { "name": "Antione Bagen", "age": null }, { "name": "Samatha Bagen", "age": null } ] }
-{ "cid": 467, "name": "Magali Ingerson", "age": null, "address": null, "interests": [ "Books", "Base Jumping" ], "children": [ { "name": "Monty Ingerson", "age": 11 }, { "name": "Noelia Ingerson", "age": 47 }, { "name": "Tennie Ingerson", "age": null }, { "name": "Merrill Ingerson", "age": null } ] }
-{ "cid": 468, "name": "Raeann Conry", "age": 68, "address": { "number": 4312, "street": "Cedar St.", "city": "Seattle" }, "interests": [ "Squash" ], "children": [ { "name": "Ellena Conry", "age": 36 }, { "name": "Lynwood Conry", "age": 13 }, { "name": "Coreen Conry", "age": 23 } ] }
-{ "cid": 470, "name": "Yesenia Doyon", "age": 78, "address": { "number": 3641, "street": "7th St.", "city": "Seattle" }, "interests": [ "Databases", "Puzzles" ], "children": [ { "name": "Halley Doyon", "age": null }, { "name": "Teisha Doyon", "age": 33 }, { "name": "Warren Doyon", "age": null } ] }
-{ "cid": 471, "name": "Nicol Majersky", "age": null, "address": null, "interests": [ "Video Games", "Books" ], "children": [ { "name": "Alise Majersky", "age": null }, { "name": "Kathline Majersky", "age": 53 }, { "name": "Charlie Majersky", "age": 45 }, { "name": "Helaine Majersky", "age": null } ] }
-{ "cid": 472, "name": "Kelley Mischler", "age": 38, "address": { "number": 7988, "street": "Lake St.", "city": "Los Angeles" }, "interests": [ "Movies", "Cooking", "Skiing" ], "children": [ { "name": "Keila Mischler", "age": 19 }, { "name": "Evie Mischler", "age": 15 } ] }
-{ "cid": 475, "name": "Brinda Gouker", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Gayle Gouker", "age": 52 } ] }
-{ "cid": 478, "name": "Sophia Whitt", "age": 26, "address": { "number": 2787, "street": "Park St.", "city": "Mountain View" }, "interests": [ "Fishing", "Databases" ], "children": [ { "name": "Irving Whitt", "age": 13 }, { "name": "Jeannette Whitt", "age": null } ] }
-{ "cid": 479, "name": "Danilo Varney", "age": 17, "address": { "number": 9330, "street": "Hill St.", "city": "Portland" }, "interests": [ "Wine" ], "children": [ { "name": "Shelby Varney", "age": null }, { "name": "Fidela Varney", "age": null }, { "name": "Maynard Varney", "age": null }, { "name": "Lindsay Varney", "age": null } ] }
-{ "cid": 480, "name": "Nigel Pitmon", "age": null, "address": null, "interests": [ "Puzzles", "Books" ], "children": [ { "name": "Janene Pitmon", "age": null }, { "name": "Louie Pitmon", "age": 19 }, { "name": "Genny Pitmon", "age": 24 }, { "name": "Robby Pitmon", "age": 55 } ] }
-{ "cid": 481, "name": "Leana Revera", "age": null, "address": null, "interests": [ "Running", "Skiing" ], "children": [ { "name": "Marquita Revera", "age": null } ] }
-{ "cid": 482, "name": "Samantha Stonis", "age": null, "address": null, "interests": [ "Databases" ], "children": [  ] }
-{ "cid": 483, "name": "Elsa Vigen", "age": null, "address": null, "interests": [ "Wine", "Databases" ], "children": [ { "name": "Larae Vigen", "age": null }, { "name": "Elwood Vigen", "age": null } ] }
-{ "cid": 484, "name": "Bennie Dragaj", "age": null, "address": null, "interests": [ "Fishing", "Databases", "Wine" ], "children": [ { "name": "Viva Dragaj", "age": 13 } ] }
-{ "cid": 485, "name": "Gene Rogoff", "age": null, "address": null, "interests": [ "Fishing" ], "children": [ { "name": "Ebonie Rogoff", "age": null } ] }
-{ "cid": 486, "name": "Willa Patman", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Ross Patman", "age": 42 }, { "name": "Erin Patman", "age": null }, { "name": "Vannessa Patman", "age": 11 }, { "name": "Hilaria Patman", "age": 28 } ] }
-{ "cid": 487, "name": "Zenia Virgilio", "age": 46, "address": { "number": 584, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Walking", "Squash", "Wine" ], "children": [ { "name": "Quintin Virgilio", "age": null }, { "name": "Edith Virgilio", "age": null }, { "name": "Nicolle Virgilio", "age": 33 } ] }
-{ "cid": 489, "name": "Brigid Delosier", "age": 31, "address": { "number": 6082, "street": "Oak St.", "city": "Portland" }, "interests": [ "Tennis", "Cigars", "Music" ], "children": [ { "name": "Allegra Delosier", "age": null }, { "name": "Yong Delosier", "age": 10 }, { "name": "Steffanie Delosier", "age": 13 } ] }
-{ "cid": 492, "name": "Gene Alcazar", "age": 59, "address": { "number": 9650, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Computers" ], "children": [ { "name": "Olympia Alcazar", "age": null }, { "name": "Mark Alcazar", "age": 37 }, { "name": "Danilo Alcazar", "age": null } ] }
-{ "cid": 493, "name": "Lindsey Trout", "age": 86, "address": { "number": 7619, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Base Jumping", "Skiing" ], "children": [ { "name": "Madlyn Trout", "age": 58 }, { "name": "Amie Trout", "age": 72 } ] }
-{ "cid": 494, "name": "Delma Deever", "age": 84, "address": { "number": 5044, "street": "7th St.", "city": "Seattle" }, "interests": [ "Computers", "Basketball", "Squash" ], "children": [  ] }
-{ "cid": 496, "name": "Lonna Starkweather", "age": 80, "address": { "number": 1162, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Coffee", "Bass", "Running" ], "children": [ { "name": "Matilda Starkweather", "age": null } ] }
-{ "cid": 497, "name": "Chantay Balak", "age": null, "address": null, "interests": [ "Bass", "Fishing" ], "children": [ { "name": "John Balak", "age": null }, { "name": "Thu Balak", "age": 38 } ] }
-{ "cid": 498, "name": "Arleen Sultzer", "age": null, "address": null, "interests": [ "Coffee", "Movies", "Skiing" ], "children": [ { "name": "Norine Sultzer", "age": 29 } ] }
-{ "cid": 499, "name": "Carlita Tarlton", "age": 43, "address": { "number": 9148, "street": "Main St.", "city": "Sunnyvale" }, "interests": [ "Computers", "Base Jumping", "Video Games" ], "children": [  ] }
-{ "cid": 500, "name": "Tierra Bjorklund", "age": null, "address": null, "interests": [ "Puzzles", "Skiing" ], "children": [ { "name": "Avelina Bjorklund", "age": 54 }, { "name": "Mallory Bjorklund", "age": null } ] }
-{ "cid": 501, "name": "Alyce Coant", "age": null, "address": null, "interests": [ "Music", "Base Jumping" ], "children": [ { "name": "Elyse Coant", "age": 50 } ] }
-{ "cid": 502, "name": "Lawana Mulik", "age": 82, "address": { "number": 3071, "street": "Park St.", "city": "Portland" }, "interests": [ "Cigars", "Cigars" ], "children": [ { "name": "Carrie Mulik", "age": null }, { "name": "Sharlene Mulik", "age": 33 }, { "name": "Leone Mulik", "age": 46 } ] }
-{ "cid": 503, "name": "Phyliss Cassani", "age": null, "address": null, "interests": [ "Squash", "Tennis" ], "children": [ { "name": "Rolando Cassani", "age": 44 }, { "name": "Rikki Cassani", "age": 18 }, { "name": "Monty Cassani", "age": 40 } ] }
-{ "cid": 504, "name": "Marla Kolenda", "age": 57, "address": { "number": 464, "street": "View St.", "city": "San Jose" }, "interests": [ "Coffee" ], "children": [ { "name": "Iliana Kolenda", "age": 34 }, { "name": "Ammie Kolenda", "age": 20 }, { "name": "Candi Kolenda", "age": 23 }, { "name": "Lyla Kolenda", "age": 23 } ] }
-{ "cid": 505, "name": "Mike Runk", "age": null, "address": null, "interests": [ "Databases", "Computers", "Running", "Video Games" ], "children": [ { "name": "Lashawn Runk", "age": 21 } ] }
-{ "cid": 506, "name": "Jonna Kolbusz", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Debrah Kolbusz", "age": null }, { "name": "Hugh Kolbusz", "age": null } ] }
-{ "cid": 507, "name": "Yuk Flanegan", "age": null, "address": null, "interests": [ "Puzzles", "Puzzles", "Squash" ], "children": [ { "name": "Alexander Flanegan", "age": null } ] }
-{ "cid": 508, "name": "Tiffany Kimmey", "age": 64, "address": { "number": 8625, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Bass", "Walking" ], "children": [  ] }
-{ "cid": 509, "name": "Alvaro Johnke", "age": null, "address": null, "interests": [ "Computers" ], "children": [ { "name": "Allison Johnke", "age": null }, { "name": "Ellan Johnke", "age": null } ] }
-{ "cid": 510, "name": "Candace Morello", "age": null, "address": null, "interests": [ "Wine", "Base Jumping", "Running" ], "children": [ { "name": "Sandy Morello", "age": 57 }, { "name": "Delois Morello", "age": 15 } ] }
-{ "cid": 512, "name": "Paul Cobian", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Will Cobian", "age": 30 }, { "name": "Conrad Cobian", "age": 35 }, { "name": "Justin Cobian", "age": 11 } ] }
-{ "cid": 513, "name": "Marianna Gortman", "age": 49, "address": { "number": 927, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Databases", "Databases" ], "children": [  ] }
-{ "cid": 514, "name": "Raleigh Belling", "age": 56, "address": { "number": 7408, "street": "View St.", "city": "Mountain View" }, "interests": [ "Running" ], "children": [  ] }
-{ "cid": 515, "name": "Connie Banis", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Brittni Banis", "age": null }, { "name": "Deloras Banis", "age": 25 } ] }
-{ "cid": 516, "name": "Taunya Berkbigler", "age": 82, "address": { "number": 5441, "street": "View St.", "city": "Seattle" }, "interests": [ "Databases", "Tennis" ], "children": [ { "name": "Cherry Berkbigler", "age": 27 }, { "name": "Perry Berkbigler", "age": null } ] }
-{ "cid": 517, "name": "Alfonso Bruderer", "age": null, "address": null, "interests": [ "Bass" ], "children": [  ] }
-{ "cid": 518, "name": "Cora Ingargiola", "age": null, "address": null, "interests": [ "Skiing", "Squash", "Movies" ], "children": [ { "name": "Katlyn Ingargiola", "age": null }, { "name": "Mike Ingargiola", "age": null }, { "name": "Lawrence Ingargiola", "age": null }, { "name": "Isabelle Ingargiola", "age": null } ] }
-{ "cid": 519, "name": "Julianna Goodsell", "age": 59, "address": { "number": 5594, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Video Games", "Fishing" ], "children": [  ] }
-{ "cid": 520, "name": "Janay Bernbeck", "age": null, "address": null, "interests": [ "Databases", "Databases" ], "children": [ { "name": "Aurea Bernbeck", "age": null }, { "name": "Tiara Bernbeck", "age": null }, { "name": "Alfredia Bernbeck", "age": 26 } ] }
-{ "cid": 521, "name": "Frankie Hofmann", "age": null, "address": null, "interests": [ "Databases", "Movies" ], "children": [ { "name": "Shirlee Hofmann", "age": 32 }, { "name": "Jacque Hofmann", "age": 23 }, { "name": "Jazmin Hofmann", "age": null }, { "name": "Serena Hofmann", "age": 56 } ] }
-{ "cid": 522, "name": "Daryl Kissack", "age": 86, "address": { "number": 7825, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Squash", "Base Jumping", "Tennis" ], "children": [ { "name": "Darrel Kissack", "age": 21 } ] }
-{ "cid": 523, "name": "Johanne Huls", "age": null, "address": null, "interests": [ "Books", "Bass" ], "children": [ { "name": "Melynda Huls", "age": null }, { "name": "Vicky Huls", "age": 16 }, { "name": "Charlott Huls", "age": null } ] }
-{ "cid": 524, "name": "Rickie Manche", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 525, "name": "Miquel Hodnefield", "age": 12, "address": { "number": 4784, "street": "7th St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Darnell Hodnefield", "age": null }, { "name": "Particia Hodnefield", "age": null } ] }
-{ "cid": 528, "name": "Tamela Witherbee", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Penney Witherbee", "age": null } ] }
-{ "cid": 529, "name": "Cinderella Lewis", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Flor Lewis", "age": null }, { "name": "Alonzo Lewis", "age": 23 } ] }
-{ "cid": 530, "name": "Olevia Sturk", "age": 72, "address": { "number": 1939, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [ "Computers" ], "children": [ { "name": "Cindy Sturk", "age": 18 }, { "name": "Alishia Sturk", "age": null }, { "name": "Sonja Sturk", "age": 51 } ] }
-{ "cid": 531, "name": "Camelia Yoes", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 532, "name": "Tania Fraklin", "age": 38, "address": { "number": 2857, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Squash", "Databases" ], "children": [  ] }
-{ "cid": 533, "name": "Trinity Urquidez", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Corrine Urquidez", "age": 29 }, { "name": "Markita Urquidez", "age": 19 }, { "name": "Danette Urquidez", "age": null } ] }
-{ "cid": 534, "name": "Bridgett Ebel", "age": null, "address": null, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 535, "name": "Juana Hirliman", "age": 87, "address": { "number": 6763, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Movies" ], "children": [ { "name": "Ursula Hirliman", "age": 40 }, { "name": "Doretha Hirliman", "age": 30 }, { "name": "Leisha Hirliman", "age": 49 } ] }
-{ "cid": 536, "name": "Wilber Rehrer", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Zulema Rehrer", "age": null }, { "name": "Lavonda Rehrer", "age": null }, { "name": "Stacey Rehrer", "age": 59 } ] }
-{ "cid": 537, "name": "Mara Hugar", "age": null, "address": null, "interests": [ "Fishing", "Skiing", "Skiing" ], "children": [ { "name": "Krista Hugar", "age": null } ] }
-{ "cid": 538, "name": "Mack Vollick", "age": null, "address": null, "interests": [ "Base Jumping", "Fishing", "Walking", "Computers" ], "children": [ { "name": "Gil Vollick", "age": 11 }, { "name": "Marica Vollick", "age": null } ] }
-{ "cid": 539, "name": "Nicky Graceffo", "age": null, "address": null, "interests": [ "Video Games" ], "children": [  ] }
-{ "cid": 540, "name": "Bryanna Herling", "age": 67, "address": { "number": 7682, "street": "View St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Cyrstal Herling", "age": 50 }, { "name": "Vallie Herling", "age": 54 }, { "name": "Doris Herling", "age": null } ] }
-{ "cid": 541, "name": "Sammy Adamitis", "age": 71, "address": { "number": 5593, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Books", "Tennis", "Cooking" ], "children": [  ] }
-{ "cid": 542, "name": "Eveline Smedley", "age": 50, "address": { "number": 5513, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Skiing", "Walking" ], "children": [ { "name": "Lynsey Smedley", "age": 26 } ] }
-{ "cid": 543, "name": "Pearl Nollette", "age": null, "address": null, "interests": [ "Base Jumping", "Running" ], "children": [  ] }
-{ "cid": 544, "name": "Silas Demay", "age": 69, "address": { "number": 447, "street": "Main St.", "city": "Portland" }, "interests": [ "Tennis", "Bass" ], "children": [ { "name": "Latonya Demay", "age": null }, { "name": "Lissette Demay", "age": 37 }, { "name": "Lynell Demay", "age": 42 }, { "name": "Mikel Demay", "age": 17 } ] }
-{ "cid": 545, "name": "Dolores Ferer", "age": null, "address": null, "interests": [ "Coffee", "Bass", "Tennis" ], "children": [ { "name": "Bridgette Ferer", "age": null } ] }
-{ "cid": 547, "name": "Daryl Dambra", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Jacquline Dambra", "age": null }, { "name": "Seymour Dambra", "age": null } ] }
-{ "cid": 548, "name": "Elvia Duchesney", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Arcelia Duchesney", "age": 22 } ] }
-{ "cid": 549, "name": "Kathrin Cruff", "age": 63, "address": { "number": 9002, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Tennis", "Books" ], "children": [ { "name": "Candi Cruff", "age": 49 }, { "name": "Barry Cruff", "age": 17 }, { "name": "Shane Cruff", "age": 18 }, { "name": "Brendon Cruff", "age": null } ] }
-{ "cid": 550, "name": "Aleisha Brehon", "age": 61, "address": { "number": 7835, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Squash" ], "children": [ { "name": "Vito Brehon", "age": null }, { "name": "Matthew Brehon", "age": 32 } ] }
-{ "cid": 552, "name": "Marlena Humann", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 553, "name": "Mina Ciminera", "age": null, "address": null, "interests": [ "Base Jumping", "Databases" ], "children": [ { "name": "Cornelius Ciminera", "age": null }, { "name": "Rozanne Ciminera", "age": null }, { "name": "Byron Ciminera", "age": null } ] }
-{ "cid": 554, "name": "Darci Yafai", "age": 60, "address": { "number": 4694, "street": "Park St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Lecia Yafai", "age": 47 } ] }
-{ "cid": 555, "name": "Agustina Bretthauer", "age": null, "address": null, "interests": [ "Cigars" ], "children": [ { "name": "Arthur Bretthauer", "age": 33 }, { "name": "Titus Bretthauer", "age": 33 }, { "name": "Margret Bretthauer", "age": null } ] }
-{ "cid": 557, "name": "Kaitlyn Hilleman", "age": 61, "address": { "number": 1076, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Corrie Hilleman", "age": 31 }, { "name": "Jovan Hilleman", "age": null }, { "name": "Carmine Hilleman", "age": null } ] }
-{ "cid": 559, "name": "Carolyne Shiroma", "age": null, "address": null, "interests": [ "Movies", "Running" ], "children": [ { "name": "Ying Shiroma", "age": 57 } ] }
-{ "cid": 560, "name": "Karin Dicesare", "age": null, "address": null, "interests": [ "Wine", "Puzzles" ], "children": [  ] }
-{ "cid": 561, "name": "Renetta Cudworth", "age": null, "address": null, "interests": [ "Skiing", "Basketball" ], "children": [  ] }
-{ "cid": 563, "name": "Deirdre Landero", "age": null, "address": null, "interests": [ "Books", "Fishing", "Video Games" ], "children": [ { "name": "Norman Landero", "age": 59 }, { "name": "Jennine Landero", "age": 45 }, { "name": "Rutha Landero", "age": 19 }, { "name": "Jackie Landero", "age": 29 } ] }
-{ "cid": 564, "name": "Inger Dargin", "age": 56, "address": { "number": 8704, "street": "View St.", "city": "Mountain View" }, "interests": [ "Wine", "Running", "Computers" ], "children": [  ] }
-{ "cid": 565, "name": "Shantell Rima", "age": 82, "address": { "number": 205, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Boyce Rima", "age": 67 }, { "name": "Woodrow Rima", "age": 18 }, { "name": "Helene Rima", "age": null }, { "name": "David Rima", "age": null } ] }
-{ "cid": 566, "name": "Asley Grow", "age": null, "address": null, "interests": [ "Coffee", "Books", "Tennis" ], "children": [ { "name": "Dale Grow", "age": null } ] }
-{ "cid": 567, "name": "Peggie Madhavan", "age": null, "address": null, "interests": [ "Computers", "Bass" ], "children": [  ] }
-{ "cid": 569, "name": "Beata Diles", "age": 88, "address": { "number": 2198, "street": "Park St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Myrtice Diles", "age": 46 }, { "name": "Stella Diles", "age": null }, { "name": "Rowena Diles", "age": 26 } ] }
-{ "cid": 570, "name": "Lee Basora", "age": null, "address": null, "interests": [ "Squash", "Cigars" ], "children": [  ] }
-{ "cid": 571, "name": "Lenita Tentler", "age": null, "address": null, "interests": [ "Running", "Fishing" ], "children": [ { "name": "Damian Tentler", "age": 16 }, { "name": "Camellia Tentler", "age": null }, { "name": "Vern Tentler", "age": 15 } ] }
-{ "cid": 572, "name": "Darcy Polycarpe", "age": 35, "address": { "number": 8051, "street": "View St.", "city": "Mountain View" }, "interests": [ "Computers", "Coffee", "Walking", "Walking" ], "children": [ { "name": "Kenneth Polycarpe", "age": null } ] }
-{ "cid": 573, "name": "Tyree Ketcher", "age": null, "address": null, "interests": [ "Computers", "Walking" ], "children": [ { "name": "Aleisha Ketcher", "age": null }, { "name": "Vonda Ketcher", "age": null }, { "name": "Cyndy Ketcher", "age": 13 }, { "name": "Chassidy Ketcher", "age": 30 } ] }
-{ "cid": 574, "name": "Camellia Toxey", "age": 52, "address": { "number": 5437, "street": "Hill St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Deandrea Toxey", "age": null }, { "name": "Danille Toxey", "age": null } ] }
-{ "cid": 577, "name": "Alejandro Oblinger", "age": null, "address": null, "interests": [ "Movies", "Movies" ], "children": [ { "name": "Tenesha Oblinger", "age": 56 }, { "name": "Loni Oblinger", "age": 12 }, { "name": "Sherryl Oblinger", "age": null } ] }
-{ "cid": 578, "name": "Dolly Delphia", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Sharron Delphia", "age": null }, { "name": "Shemeka Delphia", "age": null }, { "name": "Rachael Delphia", "age": null } ] }
-{ "cid": 579, "name": "Sabra Yuenger", "age": 45, "address": { "number": 2681, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [ "Puzzles" ], "children": [ { "name": "Eddie Yuenger", "age": null } ] }
-{ "cid": 581, "name": "Leigha Finkenbinder", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Lorine Finkenbinder", "age": 29 }, { "name": "Stephanie Finkenbinder", "age": 28 } ] }
-{ "cid": 582, "name": "Suzie Ocallahan", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Tamra Ocallahan", "age": null } ] }
-{ "cid": 583, "name": "Bev Yerena", "age": null, "address": null, "interests": [ "Puzzles", "Wine" ], "children": [ { "name": "Larhonda Yerena", "age": 45 }, { "name": "Josefina Yerena", "age": null }, { "name": "Sydney Yerena", "age": 42 } ] }
-{ "cid": 584, "name": "Bailey Janes", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Marylou Janes", "age": null }, { "name": "Andra Janes", "age": null } ] }
-{ "cid": 585, "name": "Young Drube", "age": 21, "address": { "number": 6960, "street": "View St.", "city": "Seattle" }, "interests": [ "Basketball", "Fishing", "Walking" ], "children": [ { "name": "Irwin Drube", "age": null }, { "name": "Gustavo Drube", "age": null } ] }
-{ "cid": 586, "name": "Jeannine Donnerberg", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Mike Donnerberg", "age": null } ] }
-{ "cid": 587, "name": "Santos Monterio", "age": 36, "address": { "number": 4454, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Databases", "Music", "Cooking" ], "children": [ { "name": "Lashonda Monterio", "age": null } ] }
-{ "cid": 588, "name": "Debora Laughinghouse", "age": 87, "address": { "number": 5099, "street": "View St.", "city": "San Jose" }, "interests": [ "Tennis", "Walking", "Databases" ], "children": [ { "name": "Frederica Laughinghouse", "age": 59 }, { "name": "Johnie Laughinghouse", "age": 12 }, { "name": "Numbers Laughinghouse", "age": 73 } ] }
-{ "cid": 589, "name": "Rebeca Blackwell", "age": 66, "address": { "number": 5708, "street": "View St.", "city": "Portland" }, "interests": [  ], "children": [  ] }
-{ "cid": 590, "name": "Joye Burton", "age": null, "address": null, "interests": [ "Bass", "Base Jumping" ], "children": [ { "name": "Noemi Burton", "age": 19 }, { "name": "Hulda Burton", "age": null }, { "name": "Cleotilde Burton", "age": null }, { "name": "Dara Burton", "age": null } ] }
-{ "cid": 591, "name": "Matthew Tenhaeff", "age": null, "address": null, "interests": [ "Databases", "Video Games" ], "children": [ { "name": "Jan Tenhaeff", "age": 25 }, { "name": "Nana Tenhaeff", "age": null }, { "name": "Laticia Tenhaeff", "age": null }, { "name": "Ara Tenhaeff", "age": 44 } ] }
-{ "cid": 592, "name": "Rachelle Spare", "age": 13, "address": { "number": 8088, "street": "Oak St.", "city": "Portland" }, "interests": [ "Squash", "Puzzles" ], "children": [ { "name": "Theo Spare", "age": null }, { "name": "Shizue Spare", "age": null } ] }
-{ "cid": 593, "name": "Danial Pittillo", "age": 87, "address": { "number": 815, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Tennis", "Base Jumping" ], "children": [ { "name": "Neva Pittillo", "age": 28 }, { "name": "Brooks Pittillo", "age": null }, { "name": "Randell Pittillo", "age": 52 }, { "name": "Allyson Pittillo", "age": 51 } ] }
-{ "cid": 594, "name": "Zenia Corban", "age": null, "address": null, "interests": [ "Puzzles", "Computers", "Video Games", "Cigars" ], "children": [ { "name": "Arielle Corban", "age": null }, { "name": "Arthur Corban", "age": 15 }, { "name": "Taneka Corban", "age": 51 }, { "name": "Claire Corban", "age": null } ] }
-{ "cid": 595, "name": "Samuel Brawdy", "age": 28, "address": { "number": 453, "street": "Main St.", "city": "Los Angeles" }, "interests": [ "Books", "Basketball" ], "children": [ { "name": "Marlen Brawdy", "age": 14 }, { "name": "Lorine Brawdy", "age": 13 }, { "name": "Brad Brawdy", "age": null } ] }
-{ "cid": 596, "name": "Juliane Maddy", "age": null, "address": null, "interests": [ "Coffee", "Computers", "Walking", "Basketball" ], "children": [ { "name": "Joannie Maddy", "age": null }, { "name": "Penny Maddy", "age": 35 }, { "name": "Joette Maddy", "age": 35 }, { "name": "Karla Maddy", "age": 54 } ] }
-{ "cid": 597, "name": "Clarine Eutsey", "age": 39, "address": { "number": 9112, "street": "7th St.", "city": "Portland" }, "interests": [ "Video Games", "Cigars", "Walking" ], "children": [  ] }
-{ "cid": 598, "name": "Venus Peat", "age": null, "address": null, "interests": [ "Coffee", "Walking", "Cigars" ], "children": [ { "name": "Antonetta Peat", "age": null }, { "name": "Shane Peat", "age": null } ] }
-{ "cid": 599, "name": "Alva Molaison", "age": 87, "address": { "number": 5974, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Wine", "Squash" ], "children": [ { "name": "Milo Molaison", "age": 39 } ] }
-{ "cid": 600, "name": "Cordell Sherburn", "age": null, "address": null, "interests": [ "Squash", "Skiing", "Skiing" ], "children": [ { "name": "Shenna Sherburn", "age": 22 }, { "name": "Minna Sherburn", "age": 10 }, { "name": "Tari Sherburn", "age": null } ] }
-{ "cid": 601, "name": "Zackary Willier", "age": null, "address": null, "interests": [ "Cooking", "Databases", "Databases" ], "children": [  ] }
-{ "cid": 602, "name": "Clyde Salada", "age": 59, "address": { "number": 8316, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Movies", "Skiing", "Cooking" ], "children": [  ] }
-{ "cid": 603, "name": "Barry Corkum", "age": null, "address": null, "interests": [ "Running", "Running" ], "children": [ { "name": "Charlesetta Corkum", "age": null }, { "name": "Helaine Corkum", "age": null }, { "name": "Erinn Corkum", "age": 28 }, { "name": "Alesia Corkum", "age": 36 } ] }
-{ "cid": 605, "name": "Sue Henriksen", "age": 78, "address": { "number": 7208, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Lauretta Henriksen", "age": null }, { "name": "Leigh Henriksen", "age": 11 } ] }
-{ "cid": 606, "name": "Virgilio Liebelt", "age": 11, "address": { "number": 8348, "street": "Cedar St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Stanford Liebelt", "age": null }, { "name": "Delaine Liebelt", "age": null }, { "name": "Kevin Liebelt", "age": null }, { "name": "Michaele Liebelt", "age": null } ] }
-{ "cid": 607, "name": "Bert Garigliano", "age": 71, "address": { "number": 3881, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Walking", "Wine" ], "children": [ { "name": "Junior Garigliano", "age": 42 }, { "name": "Willa Garigliano", "age": 21 }, { "name": "Carlo Garigliano", "age": null } ] }
-{ "cid": 608, "name": "Bruce Stanley", "age": 39, "address": { "number": 4532, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Tennis" ], "children": [  ] }
-{ "cid": 609, "name": "Mindi Dieudonne", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [  ] }
-{ "cid": 610, "name": "Elinor Notoma", "age": 66, "address": { "number": 6763, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Coffee" ], "children": [ { "name": "Dennis Notoma", "age": null }, { "name": "Carol Notoma", "age": 21 } ] }
-{ "cid": 611, "name": "Evelyne Bassette", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Angla Bassette", "age": 13 } ] }
-{ "cid": 612, "name": "Keneth Ganie", "age": 57, "address": { "number": 7712, "street": "Washington St.", "city": "Portland" }, "interests": [ "Cigars", "Base Jumping" ], "children": [ { "name": "Connie Ganie", "age": null }, { "name": "Kamala Ganie", "age": 25 }, { "name": "Beulah Ganie", "age": 15 } ] }
-{ "cid": 613, "name": "Shanelle Leader", "age": null, "address": null, "interests": [ "Databases", "Base Jumping", "Wine", "Fishing" ], "children": [ { "name": "Florencia Leader", "age": null }, { "name": "Herbert Leader", "age": 11 }, { "name": "Jeanna Leader", "age": null } ] }
-{ "cid": 614, "name": "Wallace Chaidy", "age": null, "address": null, "interests": [ "Bass", "Movies", "Music" ], "children": [ { "name": "Refugio Chaidy", "age": null }, { "name": "Hae Chaidy", "age": 55 }, { "name": "Julian Chaidy", "age": null }, { "name": "Tabatha Chaidy", "age": null } ] }
-{ "cid": 615, "name": "Kimber Warnberg", "age": 77, "address": { "number": 1404, "street": "View St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Kristal Warnberg", "age": null } ] }
-{ "cid": 616, "name": "Shanda Dussault", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Darrick Dussault", "age": null } ] }
-{ "cid": 617, "name": "Jacques Gaskill", "age": null, "address": null, "interests": [ "Cigars", "Coffee", "Computers", "Wine" ], "children": [ { "name": "Angelyn Gaskill", "age": null }, { "name": "Jeanett Gaskill", "age": 40 }, { "name": "Emelda Gaskill", "age": 34 } ] }
-{ "cid": 618, "name": "Janella Hurtt", "age": null, "address": null, "interests": [ "Skiing", "Coffee", "Skiing" ], "children": [ { "name": "Lupe Hurtt", "age": 17 }, { "name": "Jae Hurtt", "age": 14 }, { "name": "Evan Hurtt", "age": 45 } ] }
-{ "cid": 619, "name": "Luanne Elmquist", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Burton Elmquist", "age": 11 }, { "name": "Melvin Elmquist", "age": null } ] }
-{ "cid": 620, "name": "Arielle Mackellar", "age": null, "address": null, "interests": [ "Cooking", "Bass" ], "children": [ { "name": "Evelin Mackellar", "age": 17 }, { "name": "Theresa Mackellar", "age": 53 }, { "name": "Ronnie Mackellar", "age": null }, { "name": "Elwanda Mackellar", "age": 54 } ] }
-{ "cid": 621, "name": "Theresa Satterthwaite", "age": 16, "address": { "number": 3249, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Wine", "Skiing", "Wine", "Fishing" ], "children": [ { "name": "Rickie Satterthwaite", "age": null }, { "name": "Rina Satterthwaite", "age": null } ] }
-{ "cid": 622, "name": "Telma Rives", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Maribeth Rives", "age": 42 }, { "name": "Youlanda Rives", "age": 13 }, { "name": "Trang Rives", "age": null }, { "name": "Hyun Rives", "age": null } ] }
-{ "cid": 624, "name": "Bong Lyall", "age": null, "address": null, "interests": [ "Databases", "Music", "Video Games" ], "children": [  ] }
-{ "cid": 625, "name": "Gale Marrazzo", "age": 25, "address": { "number": 2307, "street": "View St.", "city": "San Jose" }, "interests": [ "Fishing", "Base Jumping", "Walking", "Cooking" ], "children": [ { "name": "Coleman Marrazzo", "age": null }, { "name": "Frances Marrazzo", "age": null }, { "name": "Camellia Marrazzo", "age": 11 } ] }
-{ "cid": 626, "name": "Sydney Josten", "age": 44, "address": { "number": 4815, "street": "Hill St.", "city": "Sunnyvale" }, "interests": [ "Cigars" ], "children": [ { "name": "Basil Josten", "age": 14 }, { "name": "Yasuko Josten", "age": null } ] }
-{ "cid": 627, "name": "Fernande Ede", "age": 75, "address": { "number": 9316, "street": "Cedar St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Rebeca Ede", "age": null }, { "name": "Raymond Ede", "age": 57 } ] }
-{ "cid": 628, "name": "Tomoko Alcantara", "age": 56, "address": { "number": 3556, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Running", "Tennis" ], "children": [ { "name": "Babara Alcantara", "age": 31 }, { "name": "Ilana Alcantara", "age": null }, { "name": "Maren Alcantara", "age": 45 } ] }
-{ "cid": 629, "name": "Mayola Clabo", "age": null, "address": null, "interests": [ "Basketball", "Skiing", "Running" ], "children": [ { "name": "Rigoberto Clabo", "age": 58 } ] }
-{ "cid": 630, "name": "Darla Domenick", "age": 14, "address": { "number": 3315, "street": "Park St.", "city": "San Jose" }, "interests": [ "Databases" ], "children": [ { "name": "Verda Domenick", "age": null } ] }
-{ "cid": 631, "name": "Brook Jenks", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Eldon Jenks", "age": null }, { "name": "Luann Jenks", "age": 53 }, { "name": "Aurora Jenks", "age": 37 } ] }
-{ "cid": 632, "name": "Keeley Goga", "age": null, "address": null, "interests": [ "Books", "Base Jumping" ], "children": [ { "name": "Walter Goga", "age": 39 }, { "name": "Chaya Goga", "age": null }, { "name": "Melodie Goga", "age": null }, { "name": "Isidro Goga", "age": 32 } ] }
-{ "cid": 633, "name": "Shalon Grauberger", "age": 34, "address": { "number": 765, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Music", "Base Jumping", "Tennis" ], "children": [ { "name": "Kris Grauberger", "age": 14 }, { "name": "Stuart Grauberger", "age": 12 }, { "name": "Billy Grauberger", "age": null } ] }
-{ "cid": 634, "name": "Katherina Parzych", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Modesta Parzych", "age": null }, { "name": "Darin Parzych", "age": 20 } ] }
-{ "cid": 635, "name": "Angelena Braegelmann", "age": 36, "address": { "number": 4158, "street": "Park St.", "city": "San Jose" }, "interests": [ "Wine", "Skiing" ], "children": [ { "name": "Daisey Braegelmann", "age": 18 }, { "name": "Gaston Braegelmann", "age": 19 }, { "name": "Louella Braegelmann", "age": null }, { "name": "Leonie Braegelmann", "age": null } ] }
-{ "cid": 636, "name": "Babara Shore", "age": 83, "address": { "number": 9452, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Databases", "Movies", "Tennis" ], "children": [ { "name": "Candy Shore", "age": 58 }, { "name": "Nanci Shore", "age": null }, { "name": "Asia Shore", "age": null } ] }
-{ "cid": 639, "name": "Zena Seehusen", "age": 24, "address": { "number": 6303, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Cooking", "Movies", "Music" ], "children": [ { "name": "Hester Seehusen", "age": null }, { "name": "Coreen Seehusen", "age": 12 } ] }
-{ "cid": 640, "name": "Willy Bielak", "age": null, "address": null, "interests": [ "Squash" ], "children": [  ] }
-{ "cid": 642, "name": "Odell Nova", "age": 25, "address": { "number": 896, "street": "Park St.", "city": "San Jose" }, "interests": [ "Video Games", "Squash", "Music" ], "children": [ { "name": "Leopoldo Nova", "age": null }, { "name": "Rickey Nova", "age": null }, { "name": "Mike Nova", "age": 14 }, { "name": "Tamie Nova", "age": 14 } ] }
-{ "cid": 643, "name": "Juliet Skreen", "age": null, "address": null, "interests": [ "Walking" ], "children": [  ] }
-{ "cid": 644, "name": "Julio Gilly", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [ { "name": "Eleonore Gilly", "age": null } ] }
-{ "cid": 645, "name": "Shawnda Dollinger", "age": 36, "address": { "number": 5980, "street": "Park St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Vicente Dollinger", "age": null }, { "name": "Kerrie Dollinger", "age": 10 }, { "name": "Sima Dollinger", "age": 14 } ] }
-{ "cid": 646, "name": "Pablo Catterton", "age": null, "address": null, "interests": [ "Fishing", "Computers" ], "children": [  ] }
-{ "cid": 647, "name": "Jodi Dearson", "age": null, "address": null, "interests": [ "Fishing", "Movies" ], "children": [  ] }
-{ "cid": 649, "name": "Anisha Sender", "age": null, "address": null, "interests": [ "Tennis", "Databases", "Bass" ], "children": [ { "name": "Viva Sender", "age": 40 }, { "name": "Terica Sender", "age": null } ] }
-{ "cid": 650, "name": "Darrin Orengo", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Linwood Orengo", "age": 39 } ] }
-{ "cid": 651, "name": "Delana Henk", "age": 69, "address": { "number": 5497, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Coffee", "Video Games", "Databases" ], "children": [ { "name": "Loan Henk", "age": null }, { "name": "Teresa Henk", "age": 20 }, { "name": "Randell Henk", "age": null }, { "name": "Micah Henk", "age": null } ] }
-{ "cid": 652, "name": "Armida Moeuy", "age": 34, "address": { "number": 8306, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Running" ], "children": [ { "name": "Sunshine Moeuy", "age": null }, { "name": "Leta Moeuy", "age": 19 } ] }
-{ "cid": 653, "name": "Robbie Rhump", "age": null, "address": null, "interests": [ "Squash", "Computers" ], "children": [ { "name": "Alishia Rhump", "age": 14 }, { "name": "Lyndsay Rhump", "age": 27 } ] }
-{ "cid": 654, "name": "Louis Laubersheimer", "age": 76, "address": { "number": 8010, "street": "7th St.", "city": "San Jose" }, "interests": [ "Base Jumping", "Bass", "Cooking" ], "children": [ { "name": "Jewel Laubersheimer", "age": 22 }, { "name": "Toccara Laubersheimer", "age": 45 }, { "name": "Eve Laubersheimer", "age": null } ] }
-{ "cid": 655, "name": "Shaun Brandenburg", "age": null, "address": null, "interests": [ "Skiing", "Computers", "Base Jumping" ], "children": [ { "name": "Ned Brandenburg", "age": null }, { "name": "Takako Brandenburg", "age": 41 }, { "name": "Astrid Brandenburg", "age": null }, { "name": "Patience Brandenburg", "age": null } ] }
-{ "cid": 656, "name": "Rufus Peaden", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Nathanael Peaden", "age": 57 }, { "name": "Jamaal Peaden", "age": null } ] }
-{ "cid": 657, "name": "Rory Teachman", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 658, "name": "Truman Leitner", "age": null, "address": null, "interests": [ "Computers", "Bass", "Walking" ], "children": [  ] }
-{ "cid": 659, "name": "Daniel Groskreutz", "age": null, "address": null, "interests": [ "Databases" ], "children": [ { "name": "Mariam Groskreutz", "age": 21 }, { "name": "Carlton Groskreutz", "age": null } ] }
-{ "cid": 660, "name": "Israel Aday", "age": null, "address": null, "interests": [ "Wine", "Bass", "Cigars" ], "children": [ { "name": "Mi Aday", "age": null } ] }
-{ "cid": 661, "name": "Lorita Kraut", "age": 43, "address": { "number": 5017, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Tennis", "Movies", "Bass" ], "children": [ { "name": "Mirian Kraut", "age": null } ] }
-{ "cid": 662, "name": "Domonique Corbi", "age": 13, "address": { "number": 7286, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Tennis", "Cooking", "Computers" ], "children": [ { "name": "Katrice Corbi", "age": null }, { "name": "Idalia Corbi", "age": null }, { "name": "Hayley Corbi", "age": null } ] }
-{ "cid": 663, "name": "Riley Noteboom", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Marvis Noteboom", "age": 57 } ] }
-{ "cid": 665, "name": "Garnet Desai", "age": null, "address": null, "interests": [ "Databases" ], "children": [ { "name": "Aliza Desai", "age": null } ] }
-{ "cid": 666, "name": "Pamila Burzlaff", "age": 68, "address": { "number": 6543, "street": "View St.", "city": "Portland" }, "interests": [ "Squash", "Cigars", "Movies" ], "children": [  ] }
-{ "cid": 667, "name": "Shaniqua Deist", "age": null, "address": null, "interests": [ "Puzzles", "Books", "Cigars" ], "children": [  ] }
-{ "cid": 668, "name": "Dorene Spigelman", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Chiquita Spigelman", "age": 29 }, { "name": "Anisha Spigelman", "age": 34 }, { "name": "Micah Spigelman", "age": 28 } ] }
-{ "cid": 669, "name": "Royal Abke", "age": 60, "address": { "number": 1675, "street": "Main St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Leandra Abke", "age": 25 }, { "name": "Shawanna Abke", "age": null } ] }
-{ "cid": 670, "name": "Angelo Kellar", "age": 22, "address": { "number": 3178, "street": "View St.", "city": "Seattle" }, "interests": [ "Wine", "Music", "Fishing" ], "children": [ { "name": "Zula Kellar", "age": null }, { "name": "Brittaney Kellar", "age": 10 }, { "name": "Fredia Kellar", "age": null } ] }
-{ "cid": 671, "name": "Harley Emami", "age": null, "address": null, "interests": [ "Basketball" ], "children": [ { "name": "Valentine Emami", "age": null }, { "name": "Pearlene Emami", "age": null } ] }
-{ "cid": 672, "name": "Pamelia Repka", "age": 30, "address": { "number": 8837, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Coffee", "Base Jumping" ], "children": [ { "name": "Klara Repka", "age": 19 }, { "name": "Bennett Repka", "age": null }, { "name": "Randy Repka", "age": 13 }, { "name": "Ervin Repka", "age": null } ] }
-{ "cid": 673, "name": "Willard Matuszek", "age": null, "address": null, "interests": [ "Running" ], "children": [ { "name": "Kyong Matuszek", "age": null }, { "name": "Delena Matuszek", "age": null }, { "name": "Toney Matuszek", "age": null }, { "name": "Shayne Matuszek", "age": 19 } ] }
-{ "cid": 675, "name": "Camellia Brickett", "age": null, "address": null, "interests": [ "Running" ], "children": [ { "name": "Leona Brickett", "age": null }, { "name": "Mario Brickett", "age": null }, { "name": "Nadine Brickett", "age": 35 }, { "name": "Marlon Brickett", "age": 31 } ] }
-{ "cid": 676, "name": "Ima Juart", "age": 64, "address": { "number": 2498, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Walking" ], "children": [ { "name": "Cortez Juart", "age": 17 }, { "name": "Guillermo Juart", "age": null }, { "name": "Shelley Juart", "age": 20 }, { "name": "Daryl Juart", "age": null } ] }
-{ "cid": 677, "name": "Brigid Sarabia", "age": 89, "address": { "number": 918, "street": "Park St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Elisa Sarabia", "age": null }, { "name": "Pura Sarabia", "age": 56 } ] }
-{ "cid": 678, "name": "Lekisha Barnell", "age": null, "address": null, "interests": [ "Movies", "Skiing", "Running" ], "children": [ { "name": "August Barnell", "age": null }, { "name": "Tiffany Barnell", "age": 55 }, { "name": "Meghan Barnell", "age": null } ] }
-{ "cid": 680, "name": "Domenica Qunnarath", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 681, "name": "Iliana Nagele", "age": null, "address": null, "interests": [ "Movies", "Running" ], "children": [ { "name": "Sunny Nagele", "age": 55 }, { "name": "Waltraud Nagele", "age": 39 }, { "name": "Darron Nagele", "age": null } ] }
-{ "cid": 682, "name": "Krystle Weingartner", "age": 87, "address": { "number": 5293, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Squash" ], "children": [ { "name": "Bryanna Weingartner", "age": 19 }, { "name": "Rubie Weingartner", "age": 32 }, { "name": "Raye Weingartner", "age": null } ] }
-{ "cid": 683, "name": "Dodie Crall", "age": 37, "address": { "number": 1337, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Wine" ], "children": [ { "name": "Cassy Crall", "age": null }, { "name": "Thu Crall", "age": 19 } ] }
-{ "cid": 684, "name": "Elmo Ballenger", "age": 69, "address": { "number": 2657, "street": "Park St.", "city": "Seattle" }, "interests": [ "Wine" ], "children": [ { "name": "Sheena Ballenger", "age": 53 }, { "name": "Abby Ballenger", "age": null }, { "name": "Markus Ballenger", "age": null } ] }
-{ "cid": 685, "name": "Lois Mcglothian", "age": null, "address": null, "interests": [ "Movies", "Skiing" ], "children": [ { "name": "Karon Mcglothian", "age": 35 } ] }
-{ "cid": 686, "name": "Trudi Arnette", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Adrian Arnette", "age": 43 }, { "name": "Hulda Arnette", "age": 34 }, { "name": "Shamika Arnette", "age": null } ] }
-{ "cid": 687, "name": "Adriene Glowinski", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 688, "name": "Maryellen Leriche", "age": null, "address": null, "interests": [ "Music", "Walking", "Skiing" ], "children": [ { "name": "Dorinda Leriche", "age": 27 } ] }
-{ "cid": 689, "name": "Camila Cho", "age": 70, "address": { "number": 7731, "street": "Cedar St.", "city": "Mountain View" }, "interests": [ "Video Games", "Cigars" ], "children": [ { "name": "Myrtie Cho", "age": 57 }, { "name": "Merideth Cho", "age": 45 }, { "name": "Meta Cho", "age": 20 } ] }
-{ "cid": 691, "name": "Sharee Charrier", "age": 17, "address": { "number": 6693, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Puzzles", "Cooking", "Bass" ], "children": [ { "name": "Odessa Charrier", "age": null } ] }
-{ "cid": 692, "name": "Nida Picknell", "age": 24, "address": { "number": 9053, "street": "Park St.", "city": "Mountain View" }, "interests": [ "Skiing", "Music", "Wine", "Base Jumping" ], "children": [ { "name": "Caroyln Picknell", "age": null }, { "name": "Micheline Picknell", "age": 10 } ] }
-{ "cid": 693, "name": "Ela Crisan", "age": null, "address": null, "interests": [ "Movies" ], "children": [  ] }
-{ "cid": 694, "name": "Ariel Soltani", "age": null, "address": null, "interests": [ "Databases", "Music", "Puzzles" ], "children": [ { "name": "Aldo Soltani", "age": null }, { "name": "Anglea Soltani", "age": null } ] }
-{ "cid": 695, "name": "Wyatt Eveleth", "age": 28, "address": { "number": 5421, "street": "View St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Orval Eveleth", "age": null }, { "name": "Beth Eveleth", "age": 11 }, { "name": "Yuki Eveleth", "age": null }, { "name": "Alyse Eveleth", "age": 14 } ] }
-{ "cid": 696, "name": "Nadia Dunklee", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Mendy Dunklee", "age": 17 }, { "name": "Edgar Dunklee", "age": null }, { "name": "Pasquale Dunklee", "age": null }, { "name": "Colin Dunklee", "age": null } ] }
-{ "cid": 697, "name": "Claud Coffel", "age": 72, "address": { "number": 8483, "street": "Cedar St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Katheleen Coffel", "age": 38 }, { "name": "Tashina Coffel", "age": null } ] }
-{ "cid": 698, "name": "Tawanna Zanin", "age": 60, "address": { "number": 7979, "street": "View St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Denny Zanin", "age": 31 }, { "name": "Danial Zanin", "age": 43 }, { "name": "Kenyetta Zanin", "age": null }, { "name": "Aleisha Zanin", "age": null } ] }
-{ "cid": 699, "name": "Lyda Golomb", "age": 46, "address": { "number": 5049, "street": "Main St.", "city": "Seattle" }, "interests": [ "Fishing", "Basketball" ], "children": [ { "name": "Shonta Golomb", "age": null }, { "name": "Lynwood Golomb", "age": 26 }, { "name": "Leonila Golomb", "age": 30 }, { "name": "Alejandrina Golomb", "age": null } ] }
-{ "cid": 700, "name": "Suk Blondin", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Brenton Blondin", "age": null }, { "name": "Charlotte Blondin", "age": null }, { "name": "Eldon Blondin", "age": 10 }, { "name": "Leanne Blondin", "age": null } ] }
-{ "cid": 702, "name": "Lane Krog", "age": 50, "address": { "number": 1646, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Running" ], "children": [ { "name": "Carri Krog", "age": null }, { "name": "Sage Krog", "age": null }, { "name": "Bronwyn Krog", "age": null } ] }
-{ "cid": 703, "name": "Susanne Pettey", "age": null, "address": null, "interests": [ "Squash", "Basketball", "Skiing" ], "children": [ { "name": "Nancey Pettey", "age": 35 }, { "name": "Lawana Pettey", "age": null }, { "name": "Percy Pettey", "age": 25 } ] }
-{ "cid": 704, "name": "Melodee Clemons", "age": null, "address": null, "interests": [ "Base Jumping", "Tennis", "Video Games" ], "children": [ { "name": "Doreatha Clemons", "age": 22 } ] }
-{ "cid": 705, "name": "Sofia Bonniwell", "age": 81, "address": { "number": 767, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Basketball" ], "children": [ { "name": "Douglass Bonniwell", "age": 58 }, { "name": "Jackeline Bonniwell", "age": 16 } ] }
-{ "cid": 706, "name": "Miquel Caesar", "age": 16, "address": { "number": 2176, "street": "Park St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Shaniqua Caesar", "age": null }, { "name": "Ellis Caesar", "age": null }, { "name": "Bruna Caesar", "age": null }, { "name": "Kayleen Caesar", "age": null } ] }
-{ "cid": 708, "name": "Elease Holtmann", "age": 75, "address": { "number": 5295, "street": "Washington St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Leonardo Holtmann", "age": null }, { "name": "Katharine Holtmann", "age": null }, { "name": "Chung Holtmann", "age": 20 }, { "name": "Teodoro Holtmann", "age": 19 } ] }
-{ "cid": 709, "name": "Jazmine Twiddy", "age": null, "address": null, "interests": [ "Puzzles", "Computers", "Wine" ], "children": [ { "name": "Veronika Twiddy", "age": 21 } ] }
-{ "cid": 710, "name": "Arlen Horka", "age": null, "address": null, "interests": [ "Movies", "Coffee", "Walking" ], "children": [ { "name": "Valencia Horka", "age": null }, { "name": "Wesley Horka", "age": null } ] }
-{ "cid": 711, "name": "Agnes Andreas", "age": null, "address": null, "interests": [ "Books" ], "children": [ { "name": "Fairy Andreas", "age": null }, { "name": "Wilhemina Andreas", "age": null }, { "name": "Parthenia Andreas", "age": 53 }, { "name": "Maye Andreas", "age": null } ] }
-{ "cid": 712, "name": "Jack Lamoreux", "age": 32, "address": { "number": 4486, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Rubin Lamoreux", "age": 15 }, { "name": "Jonelle Lamoreux", "age": 10 }, { "name": "Shonna Lamoreux", "age": null }, { "name": "India Lamoreux", "age": 17 } ] }
-{ "cid": 713, "name": "Galina Retterbush", "age": null, "address": null, "interests": [ "Bass", "Squash" ], "children": [ { "name": "Janene Retterbush", "age": null }, { "name": "Toby Retterbush", "age": 15 }, { "name": "Renato Retterbush", "age": null }, { "name": "Annice Retterbush", "age": 22 } ] }
-{ "cid": 715, "name": "Zoraida Scribner", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Ninfa Scribner", "age": 31 } ] }
-{ "cid": 716, "name": "Deirdre Bruderer", "age": null, "address": null, "interests": [ "Computers", "Wine" ], "children": [ { "name": "Coralee Bruderer", "age": null }, { "name": "Mina Bruderer", "age": null }, { "name": "Lindsey Bruderer", "age": 35 }, { "name": "Yi Bruderer", "age": null } ] }
-{ "cid": 717, "name": "Paulette Moccasin", "age": 87, "address": { "number": 1426, "street": "View St.", "city": "Portland" }, "interests": [ "Fishing" ], "children": [ { "name": "Savannah Moccasin", "age": null }, { "name": "Mariela Moccasin", "age": 34 }, { "name": "Isadora Moccasin", "age": null }, { "name": "Vivien Moccasin", "age": 31 } ] }
-{ "cid": 718, "name": "Tandy Trick", "age": 18, "address": { "number": 1215, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Fishing", "Fishing" ], "children": [ { "name": "Edyth Trick", "age": null }, { "name": "Jimmy Trick", "age": null }, { "name": "Jacquline Trick", "age": null }, { "name": "Tyler Trick", "age": null } ] }
-{ "cid": 719, "name": "Antoinette Boursiquot", "age": 47, "address": { "number": 3652, "street": "Cedar St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Dennis Boursiquot", "age": null }, { "name": "Katelyn Boursiquot", "age": null }, { "name": "Gabrielle Boursiquot", "age": null }, { "name": "Deidre Boursiquot", "age": null } ] }
-{ "cid": 721, "name": "Jesica Tinder", "age": 28, "address": { "number": 5526, "street": "7th St.", "city": "Mountain View" }, "interests": [  ], "children": [  ] }
-{ "cid": 723, "name": "Teressa Krol", "age": 22, "address": { "number": 8036, "street": "Park St.", "city": "Seattle" }, "interests": [ "Music" ], "children": [ { "name": "Tuan Krol", "age": null }, { "name": "Judi Krol", "age": null }, { "name": "Maddie Krol", "age": null } ] }
-{ "cid": 724, "name": "Merle Bakula", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Margart Bakula", "age": 49 }, { "name": "Mathew Bakula", "age": 36 } ] }
-{ "cid": 725, "name": "Sallie Calderon", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 726, "name": "Brinda Raudebaugh", "age": 83, "address": { "number": 7179, "street": "View St.", "city": "Mountain View" }, "interests": [  ], "children": [  ] }
-{ "cid": 727, "name": "Valene Resecker", "age": null, "address": null, "interests": [ "Music", "Wine", "Books", "Walking" ], "children": [  ] }
-{ "cid": 728, "name": "Bruno Freeburger", "age": 84, "address": { "number": 2482, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Computers" ], "children": [ { "name": "Shizuko Freeburger", "age": null } ] }
-{ "cid": 730, "name": "Marti Vandoren", "age": null, "address": null, "interests": [ "Skiing", "Bass" ], "children": [ { "name": "Carroll Vandoren", "age": null }, { "name": "Lorretta Vandoren", "age": 30 }, { "name": "Chloe Vandoren", "age": 42 }, { "name": "Ilona Vandoren", "age": null } ] }
-{ "cid": 731, "name": "Yajaira Orto", "age": null, "address": null, "interests": [ "Music", "Databases" ], "children": [ { "name": "Eliz Orto", "age": 17 }, { "name": "Gisela Orto", "age": null } ] }
-{ "cid": 732, "name": "Dania Fabio", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Virgie Fabio", "age": null }, { "name": "Nereida Fabio", "age": 37 } ] }
-{ "cid": 733, "name": "Edie Stager", "age": 26, "address": { "number": 2691, "street": "Park St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Ethyl Stager", "age": 10 } ] }
-{ "cid": 734, "name": "Lera Korn", "age": null, "address": null, "interests": [ "Tennis", "Puzzles", "Cigars" ], "children": [ { "name": "Criselda Korn", "age": 37 } ] }
-{ "cid": 736, "name": "Desmond Branam", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Manuel Branam", "age": 51 } ] }
-{ "cid": 737, "name": "Jeffrey Chesson", "age": 13, "address": { "number": 6833, "street": "Lake St.", "city": "Portland" }, "interests": [ "Tennis", "Computers" ], "children": [ { "name": "Clayton Chesson", "age": null }, { "name": "Yi Chesson", "age": null } ] }
-{ "cid": 738, "name": "Josphine Rohrer", "age": 75, "address": { "number": 862, "street": "Main St.", "city": "Los Angeles" }, "interests": [ "Databases" ], "children": [ { "name": "Marvin Rohrer", "age": 22 }, { "name": "Wyatt Rohrer", "age": null }, { "name": "Deloras Rohrer", "age": null } ] }
-{ "cid": 739, "name": "Libbie Thigpin", "age": null, "address": null, "interests": [ "Databases" ], "children": [  ] }
-{ "cid": 740, "name": "Thomasine Collado", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Tabetha Collado", "age": null }, { "name": "Alline Collado", "age": null }, { "name": "Delisa Collado", "age": null }, { "name": "Jack Collado", "age": 56 } ] }
-{ "cid": 741, "name": "Lesia Risatti", "age": 48, "address": { "number": 7378, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Fishing", "Wine", "Databases" ], "children": [ { "name": "Tangela Risatti", "age": null }, { "name": "Leonel Risatti", "age": 33 }, { "name": "Cythia Risatti", "age": 36 } ] }
-{ "cid": 742, "name": "Andy Schifo", "age": 36, "address": { "number": 4422, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Basketball" ], "children": [  ] }
-{ "cid": 743, "name": "Nona Debroux", "age": null, "address": null, "interests": [ "Bass" ], "children": [  ] }
-{ "cid": 744, "name": "Crysta Christen", "age": 57, "address": { "number": 439, "street": "Hill St.", "city": "Portland" }, "interests": [ "Basketball", "Squash", "Base Jumping" ], "children": [  ] }
-{ "cid": 745, "name": "Tabatha Hagwell", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Gaynell Hagwell", "age": null } ] }
-{ "cid": 746, "name": "Rosalinda Pola", "age": null, "address": null, "interests": [ "Cooking", "Computers", "Walking", "Cigars" ], "children": [ { "name": "Maribel Pola", "age": 19 }, { "name": "Chaya Pola", "age": null }, { "name": "Shauna Pola", "age": null }, { "name": "Elenora Pola", "age": 22 } ] }
-{ "cid": 747, "name": "Gil Dunnaway", "age": 65, "address": { "number": 3022, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Running", "Squash" ], "children": [ { "name": "Laurice Dunnaway", "age": null } ] }
-{ "cid": 748, "name": "Petra Ganes", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Perry Ganes", "age": null }, { "name": "Krista Ganes", "age": 54 }, { "name": "Kayce Ganes", "age": 52 }, { "name": "Eleni Ganes", "age": null } ] }
-{ "cid": 749, "name": "Pearle Mauney", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Delpha Mauney", "age": null }, { "name": "Micki Mauney", "age": 28 }, { "name": "Wayne Mauney", "age": null } ] }
-{ "cid": 750, "name": "Rosaura Gaul", "age": null, "address": null, "interests": [ "Music", "Books", "Tennis" ], "children": [ { "name": "Letisha Gaul", "age": 41 } ] }
-{ "cid": 751, "name": "Lydia Iannelli", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Teri Iannelli", "age": 36 } ] }
-{ "cid": 752, "name": "Maria Lebovic", "age": null, "address": null, "interests": [ "Bass" ], "children": [ { "name": "Thi Lebovic", "age": null }, { "name": "Rosamaria Lebovic", "age": 23 }, { "name": "Brinda Lebovic", "age": 39 } ] }
-{ "cid": 753, "name": "Maris Bannett", "age": null, "address": null, "interests": [ "Fishing", "Cigars", "Running" ], "children": [ { "name": "Libbie Bannett", "age": 11 }, { "name": "Francina Bannett", "age": 21 }, { "name": "Tuyet Bannett", "age": null }, { "name": "Zona Bannett", "age": 32 } ] }
-{ "cid": 754, "name": "Luetta Joern", "age": 25, "address": { "number": 5554, "street": "Hill St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Hildegarde Joern", "age": null }, { "name": "Lorenza Joern", "age": 13 } ] }
-{ "cid": 755, "name": "Bette Trentz", "age": 57, "address": { "number": 2794, "street": "Park St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Christa Trentz", "age": 14 }, { "name": "Jestine Trentz", "age": 22 }, { "name": "Shantel Trentz", "age": 37 }, { "name": "Jacklyn Trentz", "age": null } ] }
-{ "cid": 756, "name": "Marisol Noyes", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Delora Noyes", "age": null }, { "name": "Jonelle Noyes", "age": 44 } ] }
-{ "cid": 758, "name": "Akiko Hoenstine", "age": 56, "address": { "number": 8888, "street": "Lake St.", "city": "Portland" }, "interests": [ "Movies", "Walking" ], "children": [ { "name": "Maren Hoenstine", "age": null }, { "name": "Tyler Hoenstine", "age": null }, { "name": "Jesse Hoenstine", "age": 40 } ] }
-{ "cid": 759, "name": "Alaina Dadds", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Athena Dadds", "age": 36 }, { "name": "Denis Dadds", "age": null }, { "name": "Nathanial Dadds", "age": 42 }, { "name": "Molly Dadds", "age": null } ] }
-{ "cid": 761, "name": "Adele Henrikson", "age": null, "address": null, "interests": [ "Cooking", "Bass" ], "children": [ { "name": "Paulina Henrikson", "age": null }, { "name": "David Henrikson", "age": null }, { "name": "Jose Henrikson", "age": null }, { "name": "Meg Henrikson", "age": null } ] }
-{ "cid": 763, "name": "Candis Deya", "age": null, "address": null, "interests": [ "Computers" ], "children": [ { "name": "Lise Deya", "age": null }, { "name": "Jeni Deya", "age": 52 }, { "name": "Domonique Deya", "age": 24 }, { "name": "Rubie Deya", "age": null } ] }
-{ "cid": 766, "name": "Tosha Loffredo", "age": 64, "address": { "number": 5580, "street": "View St.", "city": "Mountain View" }, "interests": [ "Walking" ], "children": [ { "name": "Hellen Loffredo", "age": 32 } ] }
-{ "cid": 767, "name": "Wendi Hoecker", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 768, "name": "Adelina Troendle", "age": null, "address": null, "interests": [ "Computers" ], "children": [ { "name": "Lenna Troendle", "age": 51 }, { "name": "Ines Troendle", "age": 48 }, { "name": "Ora Troendle", "age": null } ] }
-{ "cid": 769, "name": "Isaias Tenny", "age": 71, "address": { "number": 270, "street": "Park St.", "city": "Portland" }, "interests": [ "Wine", "Fishing", "Base Jumping" ], "children": [ { "name": "Theo Tenny", "age": null }, { "name": "Shena Tenny", "age": null }, { "name": "Coralee Tenny", "age": null }, { "name": "Orval Tenny", "age": 39 } ] }
-{ "cid": 770, "name": "Merrill Tilson", "age": null, "address": null, "interests": [ "Computers", "Skiing" ], "children": [ { "name": "Elna Tilson", "age": null } ] }
-{ "cid": 771, "name": "Marisela Tredo", "age": null, "address": null, "interests": [ "Tennis", "Coffee" ], "children": [ { "name": "Ardell Tredo", "age": 21 }, { "name": "Evelynn Tredo", "age": 16 } ] }
-{ "cid": 773, "name": "Leatrice Zysett", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Bee Zysett", "age": 30 }, { "name": "Russ Zysett", "age": 11 }, { "name": "Jeff Zysett", "age": 39 }, { "name": "Herman Zysett", "age": 27 } ] }
-{ "cid": 774, "name": "Nadene Rigel", "age": null, "address": null, "interests": [ "Cigars", "Cigars" ], "children": [ { "name": "Rebbeca Rigel", "age": 33 } ] }
-{ "cid": 776, "name": "Dagmar Sarkis", "age": null, "address": null, "interests": [ "Basketball", "Running", "Wine" ], "children": [ { "name": "Tari Sarkis", "age": null }, { "name": "Rana Sarkis", "age": 56 }, { "name": "Merissa Sarkis", "age": null }, { "name": "Lori Sarkis", "age": 26 } ] }
-{ "cid": 777, "name": "Coralee Vaugh", "age": 51, "address": { "number": 4130, "street": "Hill St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Dean Vaugh", "age": 31 }, { "name": "Stanton Vaugh", "age": 39 }, { "name": "Marti Vaugh", "age": 33 }, { "name": "Eden Vaugh", "age": 27 } ] }
-{ "cid": 778, "name": "Shellie Sario", "age": null, "address": null, "interests": [ "Puzzles" ], "children": [  ] }
-{ "cid": 779, "name": "Vinita Bockskopf", "age": null, "address": null, "interests": [ "Tennis", "Video Games" ], "children": [  ] }
-{ "cid": 780, "name": "Penny Poortinga", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Estella Poortinga", "age": null } ] }
-{ "cid": 781, "name": "Christy Darcangelo", "age": 42, "address": { "number": 2178, "street": "Washington St.", "city": "Portland" }, "interests": [ "Computers", "Fishing" ], "children": [ { "name": "Luis Darcangelo", "age": 21 }, { "name": "Omega Darcangelo", "age": 26 }, { "name": "Remedios Darcangelo", "age": 28 }, { "name": "Domenic Darcangelo", "age": 21 } ] }
-{ "cid": 782, "name": "Shameka Haifa", "age": 16, "address": { "number": 9555, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Cigars", "Computers", "Coffee", "Skiing" ], "children": [ { "name": "Dannette Haifa", "age": null } ] }
-{ "cid": 783, "name": "Johnnie Kesby", "age": 56, "address": { "number": 9798, "street": "View St.", "city": "Seattle" }, "interests": [ "Puzzles", "Tennis" ], "children": [  ] }
-{ "cid": 784, "name": "Omar Hasen", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Hugh Hasen", "age": null } ] }
-{ "cid": 785, "name": "Gabriel Breidel", "age": 32, "address": { "number": 9288, "street": "Park St.", "city": "San Jose" }, "interests": [ "Cigars", "Bass" ], "children": [ { "name": "Bernie Breidel", "age": null } ] }
-{ "cid": 786, "name": "Johnsie Maheux", "age": null, "address": null, "interests": [ "Cigars" ], "children": [ { "name": "Danuta Maheux", "age": null } ] }
-{ "cid": 787, "name": "Sara Yerly", "age": 12, "address": { "number": 872, "street": "7th St.", "city": "Seattle" }, "interests": [ "Fishing" ], "children": [ { "name": "Nettie Yerly", "age": null }, { "name": "Regine Yerly", "age": null }, { "name": "Hyo Yerly", "age": null } ] }
-{ "cid": 789, "name": "Carli Notto", "age": null, "address": null, "interests": [ "Cigars" ], "children": [  ] }
-{ "cid": 790, "name": "Dustin Brumble", "age": null, "address": null, "interests": [ "Computers", "Databases", "Tennis" ], "children": [ { "name": "Oda Brumble", "age": null }, { "name": "Jennefer Brumble", "age": 26 }, { "name": "Ricardo Brumble", "age": 37 }, { "name": "Graciela Brumble", "age": 10 } ] }
-{ "cid": 791, "name": "Jame Apresa", "age": 66, "address": { "number": 8417, "street": "Main St.", "city": "San Jose" }, "interests": [ "Running", "Puzzles", "Base Jumping" ], "children": [ { "name": "Awilda Apresa", "age": null }, { "name": "Nelle Apresa", "age": 40 }, { "name": "Terrell Apresa", "age": null }, { "name": "Malia Apresa", "age": 43 } ] }
-{ "cid": 793, "name": "Shondra Gollman", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Paul Gollman", "age": 30 }, { "name": "Katherina Gollman", "age": 53 } ] }
-{ "cid": 794, "name": "Annabel Leins", "age": 75, "address": { "number": 9761, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Bass", "Computers", "Bass", "Cigars" ], "children": [ { "name": "Oswaldo Leins", "age": 21 } ] }
-{ "cid": 795, "name": "Sharilyn Branstad", "age": null, "address": null, "interests": [ "Databases", "Music" ], "children": [ { "name": "Ashlee Branstad", "age": 24 }, { "name": "Bobbye Branstad", "age": 26 }, { "name": "Natalya Branstad", "age": null }, { "name": "Edith Branstad", "age": null } ] }
-{ "cid": 796, "name": "Daniele Brisk", "age": null, "address": null, "interests": [ "Walking", "Bass" ], "children": [  ] }
-{ "cid": 797, "name": "Frederica Kale", "age": 77, "address": { "number": 6861, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Puzzles", "Bass" ], "children": [ { "name": "Shanice Kale", "age": null }, { "name": "Soraya Kale", "age": 64 }, { "name": "Laurena Kale", "age": 57 } ] }
-{ "cid": 799, "name": "Ronny Piefer", "age": 45, "address": { "number": 7724, "street": "7th St.", "city": "Mountain View" }, "interests": [ "Fishing" ], "children": [ { "name": "Chantal Piefer", "age": 24 }, { "name": "Tiffany Piefer", "age": null }, { "name": "Farrah Piefer", "age": 21 }, { "name": "Dee Piefer", "age": null } ] }
-{ "cid": 800, "name": "Karon Johnsen", "age": null, "address": null, "interests": [ "Movies" ], "children": [ { "name": "Roselee Johnsen", "age": 25 } ] }
-{ "cid": 802, "name": "Sang Hollman", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Carman Hollman", "age": null }, { "name": "Kirstie Hollman", "age": 40 }, { "name": "Jacquetta Hollman", "age": null } ] }
-{ "cid": 803, "name": "Yolonda Korf", "age": null, "address": null, "interests": [ "Bass", "Skiing", "Music" ], "children": [ { "name": "Ivette Korf", "age": null }, { "name": "Lashon Korf", "age": null } ] }
-{ "cid": 804, "name": "Joaquina Burlin", "age": 77, "address": { "number": 5479, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Running", "Wine", "Running" ], "children": [  ] }
-{ "cid": 805, "name": "Gaylord Ginder", "age": null, "address": null, "interests": [ "Databases", "Coffee" ], "children": [ { "name": "Lucina Ginder", "age": null }, { "name": "Harriett Ginder", "age": null } ] }
-{ "cid": 806, "name": "Corliss Sharratt", "age": null, "address": null, "interests": [ "Basketball", "Cigars", "Cooking" ], "children": [ { "name": "Albertine Sharratt", "age": null }, { "name": "Nobuko Sharratt", "age": 29 }, { "name": "Neil Sharratt", "age": null } ] }
-{ "cid": 807, "name": "Maryanne Kuzminski", "age": 21, "address": { "number": 1601, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Running" ], "children": [ { "name": "India Kuzminski", "age": null }, { "name": "Adell Kuzminski", "age": null } ] }
-{ "cid": 808, "name": "Brande Decius", "age": null, "address": null, "interests": [ "Basketball", "Fishing", "Puzzles" ], "children": [ { "name": "Li Decius", "age": 56 }, { "name": "Eusebio Decius", "age": 50 }, { "name": "Clementina Decius", "age": 29 } ] }
-{ "cid": 809, "name": "Dagny Mangiaracina", "age": 44, "address": { "number": 5993, "street": "Lake St.", "city": "San Jose" }, "interests": [  ], "children": [ { "name": "Bari Mangiaracina", "age": 31 }, { "name": "Tiara Mangiaracina", "age": 12 }, { "name": "Milly Mangiaracina", "age": null }, { "name": "Chelsie Mangiaracina", "age": null } ] }
-{ "cid": 810, "name": "Myron Dumlao", "age": null, "address": null, "interests": [ "Wine", "Coffee" ], "children": [ { "name": "Josie Dumlao", "age": 36 } ] }
-{ "cid": 811, "name": "Marti Whitmyre", "age": null, "address": null, "interests": [ "Music", "Walking" ], "children": [  ] }
-{ "cid": 812, "name": "Bee Godette", "age": 26, "address": { "number": 1757, "street": "Washington St.", "city": "Portland" }, "interests": [ "Video Games", "Base Jumping", "Tennis" ], "children": [ { "name": "Madaline Godette", "age": 10 }, { "name": "Shasta Godette", "age": 15 }, { "name": "Parthenia Godette", "age": 11 }, { "name": "Priscila Godette", "age": 13 } ] }
-{ "cid": 813, "name": "Leann Domagala", "age": 47, "address": { "number": 4472, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Computers" ], "children": [ { "name": "Alvera Domagala", "age": 36 }, { "name": "Rosalva Domagala", "age": 27 }, { "name": "Eugenia Domagala", "age": null }, { "name": "My Domagala", "age": 32 } ] }
-{ "cid": 814, "name": "Harriette Kasmarek", "age": 68, "address": { "number": 7191, "street": "Washington St.", "city": "Sunnyvale" }, "interests": [ "Music", "Skiing" ], "children": [ { "name": "Melani Kasmarek", "age": 24 }, { "name": "Jesica Kasmarek", "age": 22 } ] }
-{ "cid": 815, "name": "Leigha Bires", "age": 11, "address": { "number": 7263, "street": "Oak St.", "city": "Portland" }, "interests": [ "Running" ], "children": [ { "name": "Val Bires", "age": null } ] }
-{ "cid": 816, "name": "Cheyenne Eddie", "age": null, "address": null, "interests": [ "Walking", "Cooking" ], "children": [ { "name": "Kathe Eddie", "age": null }, { "name": "Charles Eddie", "age": null } ] }
-{ "cid": 818, "name": "Nellie Whetzell", "age": null, "address": null, "interests": [ "Walking" ], "children": [  ] }
-{ "cid": 819, "name": "Twanna Finnley", "age": null, "address": null, "interests": [ "Squash", "Cigars" ], "children": [ { "name": "Reba Finnley", "age": null }, { "name": "Moises Finnley", "age": null } ] }
-{ "cid": 820, "name": "Lacy Caudill", "age": 22, "address": { "number": 8679, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Wine" ], "children": [ { "name": "Sybil Caudill", "age": null } ] }
-{ "cid": 821, "name": "Carole Edlund", "age": 76, "address": { "number": 4008, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Computers", "Cooking", "Running", "Basketball" ], "children": [ { "name": "Garfield Edlund", "age": 54 }, { "name": "Brooks Edlund", "age": null }, { "name": "Gertrudis Edlund", "age": null }, { "name": "Tabitha Edlund", "age": 58 } ] }
-{ "cid": 824, "name": "Vonda Czaplewski", "age": 72, "address": { "number": 4597, "street": "7th St.", "city": "Portland" }, "interests": [ "Skiing" ], "children": [ { "name": "Gaynelle Czaplewski", "age": null }, { "name": "India Czaplewski", "age": null } ] }
-{ "cid": 825, "name": "Kirstie Rinebold", "age": 57, "address": { "number": 9463, "street": "Oak St.", "city": "Portland" }, "interests": [ "Cooking", "Cigars", "Books" ], "children": [ { "name": "Vonda Rinebold", "age": null }, { "name": "Man Rinebold", "age": 21 } ] }
-{ "cid": 826, "name": "Ressie Feenstra", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Sasha Feenstra", "age": null } ] }
-{ "cid": 827, "name": "Clementina Papin", "age": null, "address": null, "interests": [ "Music", "Basketball", "Cigars" ], "children": [ { "name": "Catina Papin", "age": null }, { "name": "Demetrius Papin", "age": 59 }, { "name": "Marylou Papin", "age": 12 }, { "name": "Apryl Papin", "age": 16 } ] }
-{ "cid": 828, "name": "Marcelle Steinhour", "age": null, "address": null, "interests": [ "Running", "Basketball", "Walking" ], "children": [ { "name": "Jimmie Steinhour", "age": 13 }, { "name": "Kirstie Steinhour", "age": 19 } ] }
-{ "cid": 831, "name": "Raina Rys", "age": 62, "address": { "number": 7048, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Walking" ], "children": [ { "name": "Ezra Rys", "age": null }, { "name": "Carl Rys", "age": null }, { "name": "Loraine Rys", "age": null } ] }
-{ "cid": 832, "name": "Alina Hosley", "age": null, "address": null, "interests": [ "Databases", "Databases", "Music" ], "children": [ { "name": "Sebrina Hosley", "age": null }, { "name": "Dyan Hosley", "age": null } ] }
-{ "cid": 833, "name": "Lakisha Petkoff", "age": null, "address": null, "interests": [ "Coffee" ], "children": [ { "name": "Brittanie Petkoff", "age": null }, { "name": "Ashli Petkoff", "age": null } ] }
-{ "cid": 834, "name": "Luvenia Grandstaff", "age": null, "address": null, "interests": [ "Squash" ], "children": [ { "name": "Joleen Grandstaff", "age": 28 }, { "name": "Elvera Grandstaff", "age": null }, { "name": "Leonia Grandstaff", "age": 35 }, { "name": "Jaclyn Grandstaff", "age": 28 } ] }
-{ "cid": 835, "name": "Raphael Marzili", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Angelic Marzili", "age": 38 } ] }
-{ "cid": 836, "name": "Elden Shumski", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Weldon Shumski", "age": null }, { "name": "Anneliese Shumski", "age": null } ] }
-{ "cid": 837, "name": "Denice Wolken", "age": 28, "address": { "number": 5010, "street": "7th St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Kattie Wolken", "age": null } ] }
-{ "cid": 838, "name": "Karan Aharon", "age": 88, "address": { "number": 8033, "street": "Washington St.", "city": "Portland" }, "interests": [ "Computers", "Movies", "Walking" ], "children": [ { "name": "Matha Aharon", "age": 16 } ] }
-{ "cid": 841, "name": "Omar Enwall", "age": null, "address": null, "interests": [ "Skiing", "Skiing", "Books" ], "children": [ { "name": "Kirby Enwall", "age": 31 }, { "name": "Cythia Enwall", "age": 24 }, { "name": "August Enwall", "age": null } ] }
-{ "cid": 843, "name": "Lenny Acerno", "age": 64, "address": { "number": 7656, "street": "Main St.", "city": "Seattle" }, "interests": [ "Base Jumping", "Squash" ], "children": [  ] }
-{ "cid": 844, "name": "Madelene Ten", "age": null, "address": null, "interests": [ "Squash" ], "children": [ { "name": "Johanne Ten", "age": 39 }, { "name": "Lurline Ten", "age": null }, { "name": "Cathy Ten", "age": 49 } ] }
-{ "cid": 845, "name": "Burt Earp", "age": 21, "address": { "number": 7626, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Computers" ], "children": [ { "name": "Denny Earp", "age": null }, { "name": "Blaine Earp", "age": null }, { "name": "Wilson Earp", "age": 10 }, { "name": "Joan Earp", "age": null } ] }
-{ "cid": 846, "name": "Kieth Norlund", "age": 15, "address": { "number": 4039, "street": "Park St.", "city": "Mountain View" }, "interests": [ "Wine", "Walking", "Puzzles" ], "children": [ { "name": "Shawn Norlund", "age": null } ] }
-{ "cid": 847, "name": "Ashton Korba", "age": 25, "address": { "number": 6450, "street": "Park St.", "city": "Sunnyvale" }, "interests": [ "Cigars", "Computers", "Walking", "Video Games" ], "children": [  ] }
-{ "cid": 848, "name": "Myrta Kopf", "age": null, "address": null, "interests": [ "Wine", "Basketball", "Base Jumping" ], "children": [  ] }
-{ "cid": 850, "name": "Garnet Younce", "age": null, "address": null, "interests": [ "Databases", "Video Games", "Books" ], "children": [ { "name": "Syble Younce", "age": 16 } ] }
-{ "cid": 851, "name": "Darrel Machia", "age": 31, "address": { "number": 3290, "street": "View St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Coy Machia", "age": 13 }, { "name": "Janean Machia", "age": 13 }, { "name": "Sandi Machia", "age": 18 } ] }
-{ "cid": 852, "name": "Terrell Ramsay", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 853, "name": "Denisse Peralto", "age": 25, "address": { "number": 3931, "street": "7th St.", "city": "Portland" }, "interests": [ "Tennis", "Walking", "Basketball" ], "children": [ { "name": "Asha Peralto", "age": 14 }, { "name": "Clark Peralto", "age": null }, { "name": "Jessika Peralto", "age": null }, { "name": "Nadene Peralto", "age": null } ] }
-{ "cid": 854, "name": "Angie Oyster", "age": 32, "address": { "number": 8860, "street": "Main St.", "city": "San Jose" }, "interests": [ "Coffee", "Movies", "Fishing" ], "children": [ { "name": "Hugh Oyster", "age": 10 } ] }
-{ "cid": 855, "name": "Rosette Reen", "age": 57, "address": { "number": 2767, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Basketball" ], "children": [  ] }
-{ "cid": 857, "name": "Kasie Fujioka", "age": null, "address": null, "interests": [ "Skiing", "Cigars" ], "children": [ { "name": "Leontine Fujioka", "age": null }, { "name": "Nga Fujioka", "age": 21 }, { "name": "Nathanael Fujioka", "age": 27 } ] }
-{ "cid": 858, "name": "Maricruz Dittberner", "age": null, "address": null, "interests": [ "Tennis", "Wine", "Cigars", "Video Games" ], "children": [  ] }
-{ "cid": 859, "name": "Mozelle Catillo", "age": 61, "address": { "number": 253, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Databases", "Cooking", "Wine" ], "children": [  ] }
-{ "cid": 860, "name": "Isabelle Sept", "age": 88, "address": { "number": 4382, "street": "Washington St.", "city": "Portland" }, "interests": [ "Puzzles", "Books" ], "children": [  ] }
-{ "cid": 861, "name": "Hugh Mcbrien", "age": null, "address": null, "interests": [ "Skiing", "Cigars", "Cooking" ], "children": [ { "name": "Otha Mcbrien", "age": 38 } ] }
-{ "cid": 862, "name": "Constance Bries", "age": 77, "address": { "number": 2585, "street": "Oak St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Lizzie Bries", "age": 42 }, { "name": "Shenika Bries", "age": null }, { "name": "Phillip Bries", "age": null } ] }
-{ "cid": 864, "name": "Katharyn Zanotti", "age": 62, "address": { "number": 8336, "street": "7th St.", "city": "Sunnyvale" }, "interests": [ "Puzzles" ], "children": [ { "name": "Magan Zanotti", "age": null }, { "name": "Jacinto Zanotti", "age": null } ] }
-{ "cid": 865, "name": "Moon Marino", "age": 43, "address": { "number": 5710, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Skiing" ], "children": [ { "name": "Markita Marino", "age": 10 } ] }
-{ "cid": 866, "name": "Bonita Kauphusman", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 869, "name": "Lino Wooderson", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Nola Wooderson", "age": null }, { "name": "Leticia Wooderson", "age": 36 }, { "name": "Bernardine Wooderson", "age": null } ] }
-{ "cid": 870, "name": "Natosha Lufsey", "age": null, "address": null, "interests": [ "Cigars", "Walking" ], "children": [ { "name": "Tiffany Lufsey", "age": null } ] }
-{ "cid": 871, "name": "Lona Dacus", "age": null, "address": null, "interests": [ "Base Jumping" ], "children": [ { "name": "Pablo Dacus", "age": null }, { "name": "Darlene Dacus", "age": 45 }, { "name": "Darius Dacus", "age": 31 }, { "name": "Cordia Dacus", "age": null } ] }
-{ "cid": 872, "name": "Michele Herschel", "age": 39, "address": { "number": 4287, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [  ] }
-{ "cid": 875, "name": "Ramon Crepps", "age": null, "address": null, "interests": [ "Coffee", "Movies", "Skiing" ], "children": [ { "name": "Elisha Crepps", "age": null } ] }
-{ "cid": 876, "name": "Chelsie Motten", "age": null, "address": null, "interests": [ "Music", "Squash", "Music", "Walking" ], "children": [ { "name": "Nida Motten", "age": null }, { "name": "Taneka Motten", "age": 10 }, { "name": "Maynard Motten", "age": 57 } ] }
-{ "cid": 877, "name": "Nicki Lipkind", "age": null, "address": null, "interests": [ "Books", "Movies" ], "children": [ { "name": "Yahaira Lipkind", "age": 12 } ] }
-{ "cid": 878, "name": "Migdalia Bisker", "age": 50, "address": { "number": 6699, "street": "Oak St.", "city": "Los Angeles" }, "interests": [ "Computers", "Basketball" ], "children": [ { "name": "Moira Bisker", "age": null }, { "name": "Tanisha Bisker", "age": null } ] }
-{ "cid": 879, "name": "Vinnie Antoniewicz", "age": 45, "address": { "number": 1633, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Cooking", "Puzzles" ], "children": [  ] }
-{ "cid": 880, "name": "Sara Abo", "age": null, "address": null, "interests": [ "Squash" ], "children": [  ] }
-{ "cid": 881, "name": "Leora Chesnutt", "age": 49, "address": { "number": 6487, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Movies" ], "children": [ { "name": "Myrtle Chesnutt", "age": null }, { "name": "Serina Chesnutt", "age": 11 }, { "name": "Jana Chesnutt", "age": 10 } ] }
-{ "cid": 883, "name": "Odilia Bugtong", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Mark Bugtong", "age": 15 }, { "name": "Paula Bugtong", "age": null }, { "name": "Jenee Bugtong", "age": 17 }, { "name": "Lilian Bugtong", "age": 44 } ] }
-{ "cid": 884, "name": "Laila Marta", "age": null, "address": null, "interests": [ "Fishing", "Movies" ], "children": [ { "name": "Carlota Marta", "age": 19 } ] }
-{ "cid": 885, "name": "Les Legere", "age": 87, "address": { "number": 3998, "street": "Cedar St.", "city": "Portland" }, "interests": [ "Bass", "Tennis", "Fishing" ], "children": [ { "name": "Concetta Legere", "age": 45 }, { "name": "Tamica Legere", "age": null }, { "name": "Aurora Legere", "age": null } ] }
-{ "cid": 887, "name": "Jermaine Folz", "age": 35, "address": { "number": 8487, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Computers", "Puzzles", "Cooking" ], "children": [ { "name": "Sharice Folz", "age": null } ] }
-{ "cid": 888, "name": "Natalie Nocella", "age": 66, "address": { "number": 2856, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Noel Nocella", "age": 26 }, { "name": "Damon Nocella", "age": 29 }, { "name": "Joesph Nocella", "age": 33 }, { "name": "Nidia Nocella", "age": null } ] }
-{ "cid": 889, "name": "Elvis Schoff", "age": 83, "address": { "number": 6724, "street": "Hill St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Spring Schoff", "age": 43 }, { "name": "Davis Schoff", "age": 55 }, { "name": "Ryann Schoff", "age": 58 }, { "name": "Clarinda Schoff", "age": 11 } ] }
-{ "cid": 890, "name": "Janise Maccarthy", "age": 66, "address": { "number": 7337, "street": "Main St.", "city": "San Jose" }, "interests": [ "Wine", "Computers" ], "children": [  ] }
-{ "cid": 891, "name": "Jesusita Bhatia", "age": 57, "address": { "number": 1476, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Walking" ], "children": [  ] }
-{ "cid": 892, "name": "Madge Hendson", "age": 79, "address": { "number": 8832, "street": "Cedar St.", "city": "San Jose" }, "interests": [ "Databases", "Fishing", "Skiing" ], "children": [ { "name": "Elia Hendson", "age": 48 }, { "name": "Lashawn Hendson", "age": 27 } ] }
-{ "cid": 893, "name": "Norberto Banchero", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 894, "name": "Reginald Julien", "age": 16, "address": { "number": 1107, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Databases", "Wine" ], "children": [ { "name": "Arthur Julien", "age": null }, { "name": "Evia Julien", "age": null } ] }
-{ "cid": 897, "name": "Gerald Roehrman", "age": null, "address": null, "interests": [ "Bass", "Wine" ], "children": [ { "name": "Virgie Roehrman", "age": 28 }, { "name": "Akiko Roehrman", "age": 59 }, { "name": "Robbie Roehrman", "age": 10 }, { "name": "Flavia Roehrman", "age": null } ] }
-{ "cid": 898, "name": "Thao Seufert", "age": 78, "address": { "number": 3529, "street": "Hill St.", "city": "Seattle" }, "interests": [ "Bass", "Squash", "Coffee" ], "children": [ { "name": "Classie Seufert", "age": null } ] }
-{ "cid": 899, "name": "Ada Kamealoha", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Juliann Kamealoha", "age": null }, { "name": "Ilana Kamealoha", "age": 25 }, { "name": "Herminia Kamealoha", "age": 55 }, { "name": "Carli Kamealoha", "age": null } ] }
-{ "cid": 901, "name": "Riva Ziko", "age": null, "address": null, "interests": [ "Running", "Tennis", "Video Games" ], "children": [ { "name": "Leandra Ziko", "age": 49 }, { "name": "Torrie Ziko", "age": null } ] }
-{ "cid": 903, "name": "Elise Morenz", "age": 17, "address": { "number": 8968, "street": "View St.", "city": "Mountain View" }, "interests": [  ], "children": [  ] }
-{ "cid": 904, "name": "Holley Tofil", "age": 51, "address": { "number": 8946, "street": "Oak St.", "city": "Mountain View" }, "interests": [ "Music", "Squash" ], "children": [ { "name": "Kristal Tofil", "age": null } ] }
-{ "cid": 905, "name": "Pandora Azzarella", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Lane Azzarella", "age": null }, { "name": "Joi Azzarella", "age": 19 } ] }
-{ "cid": 907, "name": "Princess Sudol", "age": 73, "address": { "number": 9770, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Computers", "Base Jumping" ], "children": [ { "name": "Bronwyn Sudol", "age": 22 }, { "name": "Judith Sudol", "age": null } ] }
-{ "cid": 908, "name": "Ferdinand Auila", "age": 82, "address": { "number": 1071, "street": "Lake St.", "city": "Portland" }, "interests": [ "Base Jumping", "Running", "Wine" ], "children": [ { "name": "Ai Auila", "age": 69 }, { "name": "Laurel Auila", "age": null } ] }
-{ "cid": 909, "name": "Mariko Sharar", "age": null, "address": null, "interests": [ "Squash", "Movies", "Computers" ], "children": [  ] }
-{ "cid": 910, "name": "Everette Moe", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Berna Moe", "age": 56 }, { "name": "Harold Moe", "age": 28 }, { "name": "See Moe", "age": 20 } ] }
-{ "cid": 911, "name": "Eileen Bartolomeo", "age": 20, "address": { "number": 8915, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [  ] }
-{ "cid": 912, "name": "Alessandra Kaskey", "age": 52, "address": { "number": 6906, "street": "View St.", "city": "Los Angeles" }, "interests": [ "Skiing", "Walking", "Basketball" ], "children": [ { "name": "Mack Kaskey", "age": null } ] }
-{ "cid": 913, "name": "Evelynn Fague", "age": 42, "address": { "number": 5729, "street": "7th St.", "city": "Seattle" }, "interests": [ "Books", "Databases", "Cooking" ], "children": [  ] }
-{ "cid": 914, "name": "Hunter Flournoy", "age": null, "address": null, "interests": [ "Cooking", "Squash" ], "children": [ { "name": "Christopher Flournoy", "age": 59 }, { "name": "Earnestine Flournoy", "age": null } ] }
-{ "cid": 916, "name": "Kris Mcmarlin", "age": null, "address": null, "interests": [ "Movies", "Music", "Puzzles" ], "children": [  ] }
-{ "cid": 917, "name": "Jerri Blachowski", "age": null, "address": null, "interests": [ "Skiing" ], "children": [ { "name": "Chet Blachowski", "age": 43 }, { "name": "Mallory Blachowski", "age": null }, { "name": "Akilah Blachowski", "age": null } ] }
-{ "cid": 919, "name": "Fairy Wansley", "age": 45, "address": { "number": 9020, "street": "Park St.", "city": "Los Angeles" }, "interests": [ "Wine", "Walking", "Databases", "Video Games" ], "children": [ { "name": "Marvella Wansley", "age": null }, { "name": "Hisako Wansley", "age": null }, { "name": "Shaunta Wansley", "age": null }, { "name": "Gemma Wansley", "age": 21 } ] }
-{ "cid": 920, "name": "Mirtha Dellbringge", "age": null, "address": null, "interests": [ "Walking", "Basketball", "Basketball" ], "children": [ { "name": "Morgan Dellbringge", "age": 51 }, { "name": "Alease Dellbringge", "age": 35 } ] }
-{ "cid": 921, "name": "Mario Nolden", "age": 17, "address": { "number": 3977, "street": "Cedar St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Gertrude Nolden", "age": null }, { "name": "Ray Nolden", "age": null }, { "name": "Inocencia Nolden", "age": null } ] }
-{ "cid": 922, "name": "Shanice Lingle", "age": 26, "address": { "number": 4753, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Sandie Lingle", "age": 12 }, { "name": "Nia Lingle", "age": 13 }, { "name": "Marilyn Lingle", "age": 15 } ] }
-{ "cid": 923, "name": "Bobbi Ursino", "age": null, "address": null, "interests": [ "Movies", "Books", "Walking" ], "children": [ { "name": "Shon Ursino", "age": null }, { "name": "Lorean Ursino", "age": null } ] }
-{ "cid": 924, "name": "Kathleen Lash", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Clementina Lash", "age": 58 }, { "name": "Zula Lash", "age": null }, { "name": "Mellissa Lash", "age": 54 } ] }
-{ "cid": 925, "name": "Quintin Kizzie", "age": null, "address": null, "interests": [ "Computers", "Tennis", "Bass", "Movies" ], "children": [ { "name": "Julius Kizzie", "age": 11 }, { "name": "Melissia Kizzie", "age": null }, { "name": "Olga Kizzie", "age": 42 } ] }
-{ "cid": 927, "name": "Lillia Hartlein", "age": 55, "address": { "number": 5856, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Base Jumping", "Coffee", "Cigars" ], "children": [ { "name": "Nicky Hartlein", "age": null }, { "name": "Cassaundra Hartlein", "age": 10 }, { "name": "Micheline Hartlein", "age": 26 }, { "name": "Anton Hartlein", "age": 32 } ] }
-{ "cid": 928, "name": "Maddie Diclaudio", "age": 33, "address": { "number": 4674, "street": "Washington St.", "city": "San Jose" }, "interests": [ "Base Jumping", "Databases", "Bass" ], "children": [ { "name": "Dominique Diclaudio", "age": 12 } ] }
-{ "cid": 929, "name": "Jean Guitierrez", "age": 75, "address": { "number": 9736, "street": "Lake St.", "city": "Mountain View" }, "interests": [ "Wine", "Wine", "Fishing" ], "children": [  ] }
-{ "cid": 930, "name": "Kathie Gier", "age": 37, "address": { "number": 5075, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Onie Gier", "age": 16 } ] }
-{ "cid": 931, "name": "Octavia Koiner", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Ardath Koiner", "age": 32 }, { "name": "Milly Koiner", "age": null }, { "name": "Arlinda Koiner", "age": null }, { "name": "Debby Koiner", "age": null } ] }
-{ "cid": 932, "name": "Kraig Bomia", "age": null, "address": null, "interests": [ "Music" ], "children": [  ] }
-{ "cid": 933, "name": "Eartha Hershberger", "age": 81, "address": { "number": 7013, "street": "Cedar St.", "city": "Los Angeles" }, "interests": [ "Puzzles" ], "children": [ { "name": "Waneta Hershberger", "age": null }, { "name": "Katherine Hershberger", "age": 67 }, { "name": "Johnnie Hershberger", "age": 25 }, { "name": "Jovan Hershberger", "age": 30 } ] }
-{ "cid": 934, "name": "Dessie Lockmiller", "age": 70, "address": { "number": 4313, "street": "Lake St.", "city": "San Jose" }, "interests": [ "Coffee", "Puzzles" ], "children": [  ] }
-{ "cid": 935, "name": "Sharita Aspegren", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Russell Aspegren", "age": 35 }, { "name": "Bernardina Aspegren", "age": null }, { "name": "Isobel Aspegren", "age": 11 }, { "name": "Reva Aspegren", "age": null } ] }
-{ "cid": 937, "name": "Annika Pauline", "age": 78, "address": { "number": 8563, "street": "Hill St.", "city": "Los Angeles" }, "interests": [  ], "children": [ { "name": "Mikki Pauline", "age": 34 } ] }
-{ "cid": 938, "name": "Parthenia Dromgoole", "age": 36, "address": { "number": 527, "street": "Lake St.", "city": "Sunnyvale" }, "interests": [ "Fishing" ], "children": [  ] }
-{ "cid": 940, "name": "Kitty Nalepka", "age": null, "address": null, "interests": [ "Movies", "Wine", "Basketball" ], "children": [ { "name": "Kendra Nalepka", "age": null } ] }
-{ "cid": 941, "name": "Jamey Jakobson", "age": null, "address": null, "interests": [ "Books", "Cooking", "Video Games" ], "children": [ { "name": "Elmer Jakobson", "age": 14 }, { "name": "Minh Jakobson", "age": 30 } ] }
-{ "cid": 942, "name": "Emerson Keblish", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Leonora Keblish", "age": null } ] }
-{ "cid": 943, "name": "Kathryne Blacock", "age": 82, "address": { "number": 3510, "street": "Oak St.", "city": "Sunnyvale" }, "interests": [ "Running", "Bass", "Music" ], "children": [  ] }
-{ "cid": 944, "name": "Johana Hisman", "age": null, "address": null, "interests": [ "Wine" ], "children": [ { "name": "Kirstin Hisman", "age": 43 }, { "name": "Darwin Hisman", "age": 29 } ] }
-{ "cid": 945, "name": "Hildegard Dedinas", "age": 70, "address": { "number": 3273, "street": "View St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Renato Dedinas", "age": 35 } ] }
-{ "cid": 946, "name": "Taylor Parrigan", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Salome Parrigan", "age": 50 }, { "name": "Gary Parrigan", "age": 25 }, { "name": "Harold Parrigan", "age": null } ] }
-{ "cid": 948, "name": "Thad Scialpi", "age": 22, "address": { "number": 8731, "street": "Washington St.", "city": "Portland" }, "interests": [ "Base Jumping", "Tennis", "Wine" ], "children": [ { "name": "Harlan Scialpi", "age": 10 }, { "name": "Lucile Scialpi", "age": 11 }, { "name": "Audria Scialpi", "age": null } ] }
-{ "cid": 949, "name": "Elissa Rogue", "age": null, "address": null, "interests": [ "Fishing", "Music" ], "children": [ { "name": "Noriko Rogue", "age": 41 }, { "name": "Lavona Rogue", "age": 39 } ] }
-{ "cid": 950, "name": "Young Bayn", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Evangeline Bayn", "age": 38 }, { "name": "Darcy Bayn", "age": 45 }, { "name": "Rosita Bayn", "age": null }, { "name": "Austin Bayn", "age": 46 } ] }
-{ "cid": 951, "name": "Janine Martorano", "age": 65, "address": { "number": 6420, "street": "7th St.", "city": "Los Angeles" }, "interests": [ "Books", "Music" ], "children": [ { "name": "Idella Martorano", "age": null } ] }
-{ "cid": 955, "name": "Liliana Stenkamp", "age": null, "address": null, "interests": [ "Music" ], "children": [  ] }
-{ "cid": 956, "name": "Laquanda Bynoe", "age": 79, "address": { "number": 6122, "street": "Main St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Joel Bynoe", "age": null }, { "name": "Brian Bynoe", "age": 61 }, { "name": "Shana Bynoe", "age": null } ] }
-{ "cid": 957, "name": "Lucius Schurr", "age": 75, "address": { "number": 3918, "street": "Main St.", "city": "Mountain View" }, "interests": [  ], "children": [ { "name": "Willetta Schurr", "age": 22 }, { "name": "Andre Schurr", "age": null }, { "name": "Merrilee Schurr", "age": 32 } ] }
-{ "cid": 958, "name": "Ricardo Pezzica", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Delois Pezzica", "age": 11 } ] }
-{ "cid": 960, "name": "Lenore Limardi", "age": null, "address": null, "interests": [ "Music" ], "children": [ { "name": "Kris Limardi", "age": 12 } ] }
-{ "cid": 961, "name": "Mirian Herpolsheimer", "age": null, "address": null, "interests": [ "Music", "Fishing", "Computers" ], "children": [ { "name": "Larissa Herpolsheimer", "age": 41 }, { "name": "Markus Herpolsheimer", "age": null }, { "name": "Natacha Herpolsheimer", "age": null } ] }
-{ "cid": 962, "name": "Taryn Coley", "age": null, "address": null, "interests": [ "Running", "Basketball", "Cooking" ], "children": [  ] }
-{ "cid": 963, "name": "Mila Ditmars", "age": 29, "address": { "number": 5850, "street": "View St.", "city": "Sunnyvale" }, "interests": [ "Music" ], "children": [  ] }
-{ "cid": 964, "name": "Stephany Soders", "age": null, "address": null, "interests": [ "Tennis", "Wine", "Computers" ], "children": [  ] }
-{ "cid": 965, "name": "Mellie Risen", "age": null, "address": null, "interests": [ "Tennis" ], "children": [ { "name": "Coreen Risen", "age": 36 }, { "name": "Faith Risen", "age": 34 }, { "name": "Crystle Risen", "age": 54 } ] }
-{ "cid": 966, "name": "Brigitte Quimby", "age": 13, "address": { "number": 203, "street": "Main St.", "city": "Mountain View" }, "interests": [ "Skiing", "Tennis" ], "children": [ { "name": "Ilona Quimby", "age": null }, { "name": "Shaunte Quimby", "age": null }, { "name": "Lorie Quimby", "age": null } ] }
-{ "cid": 968, "name": "Alix Levier", "age": 44, "address": { "number": 7241, "street": "Hill St.", "city": "Los Angeles" }, "interests": [ "Databases", "Fishing", "Wine" ], "children": [ { "name": "Florentina Levier", "age": null }, { "name": "Hyon Levier", "age": null }, { "name": "Dannielle Levier", "age": null } ] }
-{ "cid": 970, "name": "Pia Sudderth", "age": null, "address": null, "interests": [ "Databases" ], "children": [ { "name": "Ernestina Sudderth", "age": 15 }, { "name": "Larue Sudderth", "age": 46 }, { "name": "Toshia Sudderth", "age": 27 } ] }
-{ "cid": 974, "name": "Alexis Malcomson", "age": null, "address": null, "interests": [ "Movies", "Books" ], "children": [ { "name": "Kerri Malcomson", "age": null } ] }
-{ "cid": 975, "name": "Gary Whitemore", "age": null, "address": null, "interests": [  ], "children": [  ] }
-{ "cid": 976, "name": "Madalyn Nidiffer", "age": 35, "address": { "number": 7635, "street": "Main St.", "city": "San Jose" }, "interests": [ "Coffee", "Wine", "Music" ], "children": [ { "name": "Tricia Nidiffer", "age": 10 }, { "name": "Kevin Nidiffer", "age": 24 }, { "name": "Elyse Nidiffer", "age": null } ] }
-{ "cid": 978, "name": "Rudy Watsky", "age": 32, "address": { "number": 2754, "street": "Oak St.", "city": "Seattle" }, "interests": [ "Cooking" ], "children": [  ] }
-{ "cid": 979, "name": "Yoko Bailony", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Vivienne Bailony", "age": null }, { "name": "Lori Bailony", "age": 47 } ] }
-{ "cid": 980, "name": "Harley Lappe", "age": 56, "address": { "number": 647, "street": "Hill St.", "city": "Mountain View" }, "interests": [ "Books", "Cigars", "Basketball" ], "children": [ { "name": "Maxwell Lappe", "age": null }, { "name": "Gemma Lappe", "age": 32 }, { "name": "Ester Lappe", "age": 40 }, { "name": "Myles Lappe", "age": 36 } ] }
-{ "cid": 981, "name": "Lilliam Lopus", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Tracey Lopus", "age": null } ] }
-{ "cid": 982, "name": "Jude Brandsrud", "age": 41, "address": { "number": 7133, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Bass", "Skiing" ], "children": [ { "name": "Scottie Brandsrud", "age": null }, { "name": "Gennie Brandsrud", "age": 10 }, { "name": "Agnes Brandsrud", "age": null }, { "name": "Clarinda Brandsrud", "age": 17 } ] }
-{ "cid": 984, "name": "Janett Kitchens", "age": 66, "address": { "number": 7558, "street": "View St.", "city": "Mountain View" }, "interests": [ "Coffee", "Movies", "Squash" ], "children": [ { "name": "Grayce Kitchens", "age": 14 }, { "name": "Dwayne Kitchens", "age": null }, { "name": "Wilber Kitchens", "age": 51 }, { "name": "Nancey Kitchens", "age": null } ] }
-{ "cid": 985, "name": "Arnette Farlow", "age": 23, "address": { "number": 7843, "street": "Main St.", "city": "Portland" }, "interests": [ "Running", "Databases" ], "children": [ { "name": "Lora Farlow", "age": 12 }, { "name": "Arlen Farlow", "age": 11 }, { "name": "Rodney Farlow", "age": null }, { "name": "Tori Farlow", "age": 11 } ] }
-{ "cid": 986, "name": "Tennille Wikle", "age": 78, "address": { "number": 3428, "street": "View St.", "city": "Portland" }, "interests": [ "Movies", "Databases", "Wine" ], "children": [ { "name": "Lourie Wikle", "age": null }, { "name": "Laure Wikle", "age": null } ] }
-{ "cid": 987, "name": "Sharolyn Demchak", "age": 36, "address": { "number": 4672, "street": "Lake St.", "city": "San Jose" }, "interests": [  ], "children": [  ] }
-{ "cid": 988, "name": "Dagmar Plasky", "age": 89, "address": { "number": 1219, "street": "Park St.", "city": "Portland" }, "interests": [  ], "children": [ { "name": "Dann Plasky", "age": 59 }, { "name": "Raye Plasky", "age": null }, { "name": "Sammie Plasky", "age": 36 }, { "name": "Kasi Plasky", "age": 24 } ] }
-{ "cid": 991, "name": "Leonel Toepperwein", "age": 62, "address": { "number": 8356, "street": "Washington St.", "city": "Seattle" }, "interests": [ "Coffee", "Books" ], "children": [ { "name": "Sean Toepperwein", "age": null }, { "name": "Charline Toepperwein", "age": 49 }, { "name": "Hattie Toepperwein", "age": 22 }, { "name": "Melida Toepperwein", "age": null } ] }
-{ "cid": 992, "name": "Staci Alexandropoul", "age": null, "address": null, "interests": [ "Databases", "Movies", "Tennis" ], "children": [ { "name": "Casimira Alexandropoul", "age": null }, { "name": "Kena Alexandropoul", "age": 54 }, { "name": "Ellie Alexandropoul", "age": null }, { "name": "Ambrose Alexandropoul", "age": null } ] }
-{ "cid": 993, "name": "Shawn Irie", "age": null, "address": null, "interests": [ "Fishing", "Cigars" ], "children": [ { "name": "Tonette Irie", "age": null } ] }
-{ "cid": 994, "name": "Isa Gravelle", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Lashonda Gravelle", "age": null }, { "name": "Carry Gravelle", "age": 58 } ] }
-{ "cid": 995, "name": "Kiersten Basila", "age": null, "address": null, "interests": [  ], "children": [ { "name": "Norman Basila", "age": 17 }, { "name": "Reginia Basila", "age": null }, { "name": "Gilberto Basila", "age": null }, { "name": "Elvira Basila", "age": 49 } ] }
-{ "cid": 996, "name": "Elouise Wider", "age": null, "address": null, "interests": [ "Coffee", "Computers", "Base Jumping" ], "children": [  ] }
-{ "cid": 997, "name": "Yesenia Gao", "age": 38, "address": { "number": 5990, "street": "View St.", "city": "Portland" }, "interests": [ "Computers", "Computers", "Puzzles", "Puzzles" ], "children": [ { "name": "Jared Gao", "age": 11 }, { "name": "Sang Gao", "age": null }, { "name": "Jeanne Gao", "age": 13 }, { "name": "Lavona Gao", "age": 23 } ] }
-{ "cid": 998, "name": "Barry Schmaus", "age": 65, "address": { "number": 4894, "street": "View St.", "city": "Sunnyvale" }, "interests": [  ], "children": [ { "name": "Ma Schmaus", "age": 40 }, { "name": "Lashawn Schmaus", "age": 13 }, { "name": "Georgianne Schmaus", "age": 38 } ] }
-{ "cid": 999, "name": "Bo Chaim", "age": 59, "address": { "number": 8050, "street": "View St.", "city": "Seattle" }, "interests": [  ], "children": [ { "name": "Zandra Chaim", "age": 42 }, { "name": "Theda Chaim", "age": 14 }, { "name": "Sharika Chaim", "age": 22 } ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance.adm
deleted file mode 100644
index 6d89122..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-edit-distance.adm
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "cid": 11, "name": "Meta Simek", "age": 13, "address": { "number": 4384, "street": "7th St.", "city": "San Jose" }, "interests": [ "Wine", "Walking" ], "children": [ { "name": "Oretha Simek", "age": null }, { "name": "Terence Simek", "age": null } ] }
-{ "cid": 132, "name": "Cindi Turntine", "age": 64, "address": { "number": 9432, "street": "Park St.", "city": "Portland" }, "interests": [ "Computers", "Wine" ], "children": [ { "name": "Howard Turntine", "age": null } ] }
-{ "cid": 153, "name": "Randy Hueso", "age": 11, "address": { "number": 1957, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Computers", "Wine", "Databases", "Walking" ], "children": [  ] }
-{ "cid": 389, "name": "Loraine Morfee", "age": 72, "address": { "number": 2945, "street": "Lake St.", "city": "Seattle" }, "interests": [ "Wine", "Walking" ], "children": [ { "name": "Berry Morfee", "age": 30 } ] }
-{ "cid": 573, "name": "Tyree Ketcher", "age": null, "address": null, "interests": [ "Computers", "Walking" ], "children": [ { "name": "Aleisha Ketcher", "age": null }, { "name": "Vonda Ketcher", "age": null }, { "name": "Cyndy Ketcher", "age": 13 }, { "name": "Chassidy Ketcher", "age": 30 } ] }
-{ "cid": 658, "name": "Truman Leitner", "age": null, "address": null, "interests": [ "Computers", "Bass", "Walking" ], "children": [  ] }
-{ "cid": 716, "name": "Deirdre Bruderer", "age": null, "address": null, "interests": [ "Computers", "Wine" ], "children": [ { "name": "Coralee Bruderer", "age": null }, { "name": "Mina Bruderer", "age": null }, { "name": "Lindsey Bruderer", "age": 35 }, { "name": "Yi Bruderer", "age": null } ] }
-{ "cid": 838, "name": "Karan Aharon", "age": 88, "address": { "number": 8033, "street": "Washington St.", "city": "Portland" }, "interests": [ "Computers", "Movies", "Walking" ], "children": [ { "name": "Matha Aharon", "age": 16 } ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-jaccard.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-jaccard.adm
deleted file mode 100644
index 71bb9d7..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-olist-jaccard.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "cid": 153, "name": "Randy Hueso", "age": 11, "address": { "number": 1957, "street": "Oak St.", "city": "San Jose" }, "interests": [ "Computers", "Wine", "Databases", "Walking" ], "children": [  ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ulist-jaccard.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ulist-jaccard.adm
deleted file mode 100644
index fd1b75e..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-ulist-jaccard.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "cid": 153, "name": "Randy Hueso", "age": 11, "address": { "number": 1957, "street": "Oak St.", "city": "San Jose" }, "interests": {{ "Computers", "Wine", "Databases", "Walking" }}, "children": [  ] }
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-contains.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-contains.adm
deleted file mode 100644
index 8a99b26..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-contains.adm
+++ /dev/null
@@ -1,3 +0,0 @@
-{ "id": 4, "dblpid": "books/acm/kim95/ChristodoulakisK95", "title": "Multimedia Information Systems  Issues and Approaches.", "authors": "Stavros Christodoulakis Leonidas Koveos", "misc": "2002-01-03 318-337 1995 Modern Database Systems db/books/collections/kim95.html#ChristodoulakisK95" }
-{ "id": 89, "dblpid": "conf/icip/SchonfeldL98", "title": "VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases.", "authors": "Dan Schonfeld Dan Lelescu", "misc": "2002-11-05 123-127 1998 ICIP (3) db/conf/icip/icip1998-3.html#SchonfeldL98" }
-{ "id": 90, "dblpid": "conf/hicss/SchonfeldL99", "title": "VORTEX  Video Retrieval and Tracking from Compressed Multimedia Databases ¾ Visual Search Engine.", "authors": "Dan Schonfeld Dan Lelescu", "misc": "2002-01-03 1999 HICSS http //computer.org/proceedings/hicss/0001/00013/00013006abs.htm db/conf/hicss/hicss1999-3.html#SchonfeldL99" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-jaccard.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-jaccard.adm
deleted file mode 100644
index 5bf6ae0..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/fuzzy-inverted-index-word-jaccard.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 9, "dblpid": "books/acm/kim95/Kaiser95", "title": "Cooperative Transactions for Multiuser Environments.", "authors": "Gail E. Kaiser", "misc": "2002-01-03 409-433 1995 Modern Database Systems db/books/collections/kim95.html#Kaiser95" }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index-open.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index-open.adm
deleted file mode 100644
index d22217a..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index-open.adm
+++ /dev/null
@@ -1,2 +0,0 @@
-{ "id": 12 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index.adm b/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index.adm
deleted file mode 100644
index d22217a..0000000
--- a/asterix-app/src/test/resources/runtimets/results/index-selection/rtree-secondary-index.adm
+++ /dev/null
@@ -1,2 +0,0 @@
-{ "id": 12 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02.adm b/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02.adm
deleted file mode 100644
index 64aee7c..0000000
--- a/asterix-app/src/test/resources/runtimets/results/scan/alltypes_02.adm
+++ /dev/null
@@ -1 +0,0 @@
-{ "id": 10, "name": "Nancy", "age": 32.5f, "salary": 12.0d, "married": true, "interests": {{ "reading", "writing" }}, "children": [ "Brad", "Scott" ], "address": { "number": 8389, "street": "Hill St.", "city": "Mountain View" }, "dob": date("-2011-01-27"), "time": time("12:20:30.000Z"), "datetime": datetime("-1951-12-27T12:20:30.000Z"), "duration": duration("P10Y11M12DT10H50M30S"), "location2d": point("41.0,44.0"), "location3d": point3d("44.0,13.0,41.0"), "line": line("10.1,11.1 10.2,11.2"), "polygon": polygon("1.2,1.3 2.1,2.5 3.5,3.6 4.6,4.8"), "circle": circle("10.1,11.1 10.2") }
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/circle-intersect-circle/circle-intersect-circle.1.adm b/asterix-app/src/test/resources/runtimets/results/spatial/circle-intersect-circle/circle-intersect-circle.1.adm
new file mode 100644
index 0000000..af533e3
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/spatial/circle-intersect-circle/circle-intersect-circle.1.adm
@@ -0,0 +1,6 @@
+{ "id": 1 }
+{ "id": 2 }
+{ "id": 3 }
+{ "id": 6 }
+{ "id": 9 }
+{ "id": 11 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/create-rtree-index.adm b/asterix-app/src/test/resources/runtimets/results/spatial/create-rtree-index.adm
deleted file mode 100644
index 6a2a2c6..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/create-rtree-index.adm
+++ /dev/null
@@ -1,21 +0,0 @@
-1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/distance-between-points.adm b/asterix-app/src/test/resources/runtimets/results/spatial/distance-between-points.adm
deleted file mode 100644
index be5e2b4..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/distance-between-points.adm
+++ /dev/null
@@ -1,21 +0,0 @@
-{ "id": 1, "distance": 8.112336284942828d }
-{ "id": 2, "distance": 85.14105547296204d }
-{ "id": 3, "distance": 90.45204911653468d }
-{ "id": 4, "distance": 90.45204911653468d }
-{ "id": 5, "distance": 90.45204911653468d }
-{ "id": 6, "distance": 90.45204911653468d }
-{ "id": 7, "distance": 90.45204911653468d }
-{ "id": 8, "distance": 90.45204911653468d }
-{ "id": 9, "distance": 5.0990195135927845d }
-{ "id": 10, "distance": 3.605551275463989d }
-{ "id": 11, "distance": 4.9d }
-{ "id": 12, "distance": 6.708203932499369d }
-{ "id": 13, "distance": 7.0710678118654755d }
-{ "id": 14, "distance": 7.212489168102785d }
-{ "id": 15, "distance": 3.605551275463989d }
-{ "id": 16, "distance": 3.605551275463989d }
-{ "id": 17, "distance": 8.112336284942828d }
-{ "id": 18, "distance": 3.605551275463989d }
-{ "id": 19, "distance": 3.605551275463989d }
-{ "id": 20, "distance": 5.0d }
-{ "id": 21, "distance": 5.0d }
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-circle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-circle.adm
deleted file mode 100644
index 3ed757e..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-circle.adm
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "id": 2 }
-{ "id": 3 }
-{ "id": 6 }
-{ "id": 7 }
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 12 }
-{ "id": 13 }
-{ "id": 14 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-rectangle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-rectangle.adm
deleted file mode 100644
index 59506d2..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/line-intersect-rectangle.adm
+++ /dev/null
@@ -1,14 +0,0 @@
-{ "id": 1 }
-{ "id": 2 }
-{ "id": 3 }
-{ "id": 7 }
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 12 }
-{ "id": 13 }
-{ "id": 14 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-circle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/point-in-circle.adm
deleted file mode 100644
index f8d6259..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-circle.adm
+++ /dev/null
@@ -1,8 +0,0 @@
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 20 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-polygon.adm b/asterix-app/src/test/resources/runtimets/results/spatial/point-in-polygon.adm
deleted file mode 100644
index d22217a..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-polygon.adm
+++ /dev/null
@@ -1,2 +0,0 @@
-{ "id": 12 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-rectangle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/point-in-rectangle.adm
deleted file mode 100644
index 424f77a..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/point-in-rectangle.adm
+++ /dev/null
@@ -1,4 +0,0 @@
-{ "id": 1 }
-{ "id": 10 }
-{ "id": 20 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/point-on-line.adm b/asterix-app/src/test/resources/runtimets/results/spatial/point-on-line.adm
deleted file mode 100644
index f737ee8..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/point-on-line.adm
+++ /dev/null
@@ -1,5 +0,0 @@
-{ "id": 1 }
-{ "id": 9 }
-{ "id": 10 }
-{ "id": 17 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-circle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-circle.adm
deleted file mode 100644
index bb9a070..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-circle.adm
+++ /dev/null
@@ -1,11 +0,0 @@
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 12 }
-{ "id": 13 }
-{ "id": 14 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 17 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 20 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-rectangle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-rectangle.adm
deleted file mode 100644
index aa83a89..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/polygon-intersect-rectangle.adm
+++ /dev/null
@@ -1,10 +0,0 @@
-{ "id": 1 }
-{ "id": 2 }
-{ "id": 3 }
-{ "id": 4 }
-{ "id": 6 }
-{ "id": 9 }
-{ "id": 12 }
-{ "id": 17 }
-{ "id": 20 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-circle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-circle.adm
deleted file mode 100644
index 260b1bf..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-circle.adm
+++ /dev/null
@@ -1,20 +0,0 @@
-{ "id": 1 }
-{ "id": 2 }
-{ "id": 3 }
-{ "id": 4 }
-{ "id": 5 }
-{ "id": 6 }
-{ "id": 8 }
-{ "id": 9 }
-{ "id": 10 }
-{ "id": 11 }
-{ "id": 12 }
-{ "id": 13 }
-{ "id": 14 }
-{ "id": 15 }
-{ "id": 16 }
-{ "id": 17 }
-{ "id": 18 }
-{ "id": 19 }
-{ "id": 20 }
-{ "id": 21 }
diff --git a/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-rectangle.adm b/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-rectangle.adm
deleted file mode 100644
index fed2dc7..0000000
--- a/asterix-app/src/test/resources/runtimets/results/spatial/rectangle-intersect-rectangle.adm
+++ /dev/null
@@ -1,3 +0,0 @@
-{ "id": 1 }
-{ "id": 7 }
-{ "id": 21 }
\ No newline at end of file
diff --git a/diff_file b/diff_file
deleted file mode 100644
index e0e6714..0000000
--- a/diff_file
+++ /dev/null
@@ -1,4486 +0,0 @@
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java	(working copy)
-@@ -103,12 +103,14 @@
-             //for entity-level commit
-             if (PKHashVal != -1) {
-                 transactionProvider.getLockManager().unlock(datasetId, PKHashVal, txnContext, true);
-+                /*****************************
-                 try {
-                     //decrease the transaction reference count on index
-                     txnContext.decreaseActiveTransactionCountOnIndexes();
-                 } catch (HyracksDataException e) {
-                     throw new ACIDException("failed to complete index operation", e);
-                 }
-+                *****************************/
-                 return;
-             }
- 
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java	(working copy)
-@@ -19,6 +19,7 @@
- import java.util.HashSet;
- import java.util.List;
- import java.util.Set;
-+import java.util.concurrent.atomic.AtomicInteger;
- 
- import edu.uci.ics.asterix.transaction.management.exception.ACIDException;
- import edu.uci.ics.asterix.transaction.management.opcallbacks.AbstractOperationCallback;
-@@ -169,5 +170,14 @@
-             closeable.close(this);
-         }
-     }
-+    
-+    @Override
-+    public int hashCode() {
-+        return jobId.getId();
-+    }
- 
-+    @Override
-+    public boolean equals(Object o) {
-+        return (o == this);
-+    }
- }
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java	(working copy)
-@@ -567,7 +567,7 @@
-             if (commitFlag) {
-                 if (txnContext.getTransactionType().equals(TransactionContext.TransactionType.READ_WRITE)) {
-                     try {
--                        txnSubsystem.getLogManager().log(LogType.COMMIT, txnContext, datasetId.getId(),
-+                        txnSubsystem.getLogManager().log(LogType.ENTITY_COMMIT, txnContext, datasetId.getId(),
-                                 entityHashValue, -1, (byte) 0, 0, null, null, logicalLogLocator);
-                     } catch (ACIDException e) {
-                         try {
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java	(working copy)
-@@ -75,6 +75,7 @@
-         buffer.position(0);
-         buffer.limit(size);
-         fileChannel.write(buffer);
-+        fileChannel.force(false);
-         erase();
-     }
- 
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java	(working copy)
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2009-2010 by The Regents of the University of California
-+ * Copyright 2009-2012 by The Regents of the University of California
-  * Licensed under the Apache License, Version 2.0 (the "License");
-  * you may not use this file except in compliance with the License.
-  * you may obtain a copy of the License from
-@@ -21,7 +21,12 @@
- import java.io.RandomAccessFile;
- import java.nio.ByteBuffer;
- import java.nio.channels.FileChannel;
-+import java.util.ArrayList;
-+import java.util.HashMap;
-+import java.util.List;
-+import java.util.Map;
- import java.util.Properties;
-+import java.util.Set;
- import java.util.concurrent.LinkedBlockingQueue;
- import java.util.concurrent.atomic.AtomicInteger;
- import java.util.concurrent.atomic.AtomicLong;
-@@ -30,22 +35,25 @@
- 
- import edu.uci.ics.asterix.transaction.management.exception.ACIDException;
- import edu.uci.ics.asterix.transaction.management.service.logging.IndexLogger.ReusableLogContentObject;
-+import edu.uci.ics.asterix.transaction.management.service.logging.LogManager.PageOwnershipStatus;
-+import edu.uci.ics.asterix.transaction.management.service.logging.LogManager.PageState;
- import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionContext;
- import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionManagementConstants;
- import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionSubsystem;
-+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
- 
- public class LogManager implements ILogManager {
- 
-     public static final boolean IS_DEBUG_MODE = false;//true
-     private static final Logger LOGGER = Logger.getLogger(LogManager.class.getName());
--    private TransactionSubsystem provider;
-+    private final TransactionSubsystem provider;
-     private LogManagerProperties logManagerProperties;
-+    private LogPageFlushThread logPageFlusher;
- 
-     /*
-      * the array of log pages. The number of log pages is configurable. Pages
-      * taken together form an in-memory log buffer.
-      */
--
-     private IFileBasedBuffer[] logPages;
- 
-     private ILogRecordHelper logRecordHelper;
-@@ -54,6 +62,7 @@
-      * Number of log pages that constitute the in-memory log buffer.
-      */
-     private int numLogPages;
-+
-     /*
-      * Initially all pages have an owner count of 1 that is the LogManager. When
-      * a transaction requests to write in a log page, the owner count is
-@@ -62,12 +71,11 @@
-      * (covering the whole log record). When the content has been put, the log
-      * manager computes the checksum and puts it after the content. At this
-      * point, the ownership count is decremented as the transaction is done with
--     * using the page. When a page is full, the log manager decrements the count
--     * by one indicating that it has released its ownership of the log page.
--     * There could be other transaction(s) still owning the page (that is they
--     * could still be mid-way putting the log content). When the ownership count
--     * eventually reaches zero, the thread responsible for flushing the log page
--     * is notified and the page is flushed to disk.
-+     * using the page. When a page is requested to be flushed, logPageFlusher
-+     * set the count to 0(LOG_FLUSHER: meaning that the page is being flushed)
-+     * only if the count is 1(LOG_WRITER: meaning that there is no other 
-+     * transactions who own the page to write logs.) After flushing the page, 
-+     * logPageFlusher set this count to 1. 
-      */
-     private AtomicInteger[] logPageOwnerCount;
- 
-@@ -78,18 +86,16 @@
- 
-     /*
-      * LogPageStatus: A page is either ACTIVE or INACTIVE. The status for each
--     * page is maintained in a map called logPageStatus. A page is ACTIVE when
--     * the LogManager can allocate space in the page for writing a log record.
--     * Initially all pages are ACTIVE. As transactions fill up space by writing
--     * log records, a page may not have sufficient space left for serving a
--     * request by a transaction. When this happens, the page is marked INACTIVE.
--     * An INACTIVE page with no owners ( logPageOwnerCount.get(<pageIndex>) ==
--     * 0) indicates that the page must be flushed to disk before any other log
--     * record is written on the page.F
-+     * page is maintained in logPageStatus. A page is ACTIVE when the LogManager 
-+     * can allocate space in the page for writing a log record. Initially all 
-+     * pages are ACTIVE. As transactions fill up space by writing log records, 
-+     * a page may not have sufficient space left for serving a request by a 
-+     * transaction. When this happens, the page is flushed to disk by calling
-+     * logPageFlusher.requestFlush(). In the requestFlush(), after groupCommitWaitTime,
-+     * the page status is set to INACTIVE. Then, there is no more writer on the
-+     * page(meaning the corresponding logPageOwnerCount is 1), the page is flushed
-+     * by the logPageFlusher and the status is reset to ACTIVE by the logPageFlusher.   
-      */
--
--    // private Map<Integer, Integer> logPageStatus = new
--    // ConcurrentHashMap<Integer, Integer>();
-     private AtomicInteger[] logPageStatus;
- 
-     static class PageState {
-@@ -98,41 +104,8 @@
-     }
- 
-     private AtomicLong lastFlushedLsn = new AtomicLong(-1);
--    private AtomicInteger lastFlushedPage = new AtomicInteger(-1);
- 
-     /*
--     * pendingFlushRequests is a map with key as Integer denoting the page
--     * index. When a (transaction) thread discovers the need to flush a page, it
--     * puts its Thread object into the corresponding value that is a
--     * LinkedBlockingQueue. The LogManager has a LogFlusher thread that scans
--     * this map in order of page index (and circling around). The flusher thread
--     * needs to flush pages in order and waits for a thread to deposit an object
--     * in the blocking queue corresponding to the next page in order. A request
--     * to flush a page is conveyed to the flush thread by simply depositing an
--     * object in to corresponding blocking queue. It is blocking in the sense
--     * that the flusher thread will continue to wait for an object to arrive in
--     * the queue. The object itself is ignored by the fliusher and just acts as
--     * a signal/event that a page needs to be flushed.
--     */
--
--    private LinkedBlockingQueue[] pendingFlushRequests;
--
--    /*
--     * ICommitResolver is an interface that provides an API that can answer a
--     * simple boolean - Given the commit requests so far, should a page be
--     * flushed. The implementation of the interface contains the logic (or you
--     * can say the policy) for commit. It could be group commit in which case
--     * the commit resolver may not return a true indicating that it wishes to
--     * delay flushing of the page.
--     */
--    private ICommitResolver commitResolver;
--
--    /*
--     * An object that keeps track of the submitted commit requests.
--     */
--    private CommitRequestStatistics commitRequestStatistics;
--
--    /*
-      * When the transaction eco-system comes to life, the log manager positions
-      * itself to the end of the last written log. the startingLsn represent the
-      * lsn value of the next log record to be written after a system (re)start.
-@@ -146,16 +119,10 @@
-      */
-     private AtomicLong lsn = new AtomicLong(0);
- 
--    /*
--     * A map that tracks the flush requests submitted for each page. The
--     * requests for a page are cleared when the page is flushed.
--     */
--    public LinkedBlockingQueue<Thread> getPendingFlushRequests(int pageIndex) {
--        return pendingFlushRequests[pageIndex];
--    }
-+    private List<HashMap<TransactionContext, Integer>> activeTxnCountMaps;
- 
--    public void addFlushRequest(int pageIndex) {
--        pendingFlushRequests[pageIndex].add(pendingFlushRequests);
-+    public void addFlushRequest(int pageIndex, long lsn, boolean isSynchronous) {
-+        logPageFlusher.requestFlush(pageIndex, lsn, isSynchronous);
-     }
- 
-     public AtomicLong getLastFlushedLsn() {
-@@ -233,19 +200,12 @@
-         numLogPages = logManagerProperties.getNumLogPages();
-         logPageOwnerCount = new AtomicInteger[numLogPages];
-         logPageStatus = new AtomicInteger[numLogPages];
--        pendingFlushRequests = new LinkedBlockingQueue[numLogPages];
--        if (logManagerProperties.getGroupCommitWaitPeriod() > 0) { // configure
--            // the
--            // Commit
--            // Resolver
--            commitResolver = new GroupCommitResolver(); // Group Commit is
--            // enabled
--            commitRequestStatistics = new CommitRequestStatistics(numLogPages);
--        } else {
--            commitResolver = new BasicCommitResolver(); // the basic commit
--            // resolver
-+
-+        activeTxnCountMaps = new ArrayList<HashMap<TransactionContext, Integer>>(numLogPages);
-+        for (int i = 0; i < numLogPages; i++) {
-+            activeTxnCountMaps.add(new HashMap<TransactionContext, Integer>());
-         }
--        this.commitResolver.init(this); // initialize the commit resolver
-+
-         logPages = new FileBasedBuffer[numLogPages];
- 
-         /*
-@@ -264,7 +224,6 @@
-         for (int i = 0; i < numLogPages; i++) {
-             logPageOwnerCount[i] = new AtomicInteger(PageOwnershipStatus.LOG_WRITER);
-             logPageStatus[i] = new AtomicInteger(PageState.ACTIVE);
--            pendingFlushRequests[i] = new LinkedBlockingQueue<Thread>();
-         }
- 
-         /*
-@@ -278,9 +237,9 @@
-          * daemon thread so that it does not stop the JVM from exiting when all
-          * other threads are done with their work.
-          */
--        LogPageFlushThread logFlusher = new LogPageFlushThread(this);
--        logFlusher.setDaemon(true);
--        logFlusher.start();
-+        logPageFlusher = new LogPageFlushThread(this);
-+        logPageFlusher.setDaemon(true);
-+        logPageFlusher.start();
-     }
- 
-     public int getLogPageIndex(long lsnValue) {
-@@ -312,7 +271,7 @@
-      */
-     private void waitUntillPageIsAvailableForWritingLog(int pageIndex) throws ACIDException {
-         if (logPageStatus[pageIndex].get() == PageState.ACTIVE
--                && getLogPageOwnershipCount(pageIndex).get() >= PageOwnershipStatus.LOG_WRITER) {
-+                && logPageOwnerCount[pageIndex].get() >= PageOwnershipStatus.LOG_WRITER) {
-             return;
-         }
-         try {
-@@ -338,47 +297,40 @@
-      */
-     private long getLsn(int entrySize, byte logType) throws ACIDException {
-         long pageSize = logManagerProperties.getLogPageSize();
--        boolean requiresFlushing = logType == LogType.COMMIT;
-+
-         while (true) {
-             boolean forwardPage = false;
--            boolean shouldFlushPage = false;
-             long old = lsn.get();
--            int pageIndex = getLogPageIndex(old); // get the log page
--            // corresponding to the
--            // current lsn value
-+
-+            //get the log page corresponding to the current lsn value
-+            int pageIndex = getLogPageIndex(old);
-             long retVal = old;
--            long next = old + entrySize; // the lsn value for the next request,
--            // if the current request is served.
-+
-+            // the lsn value for the next request if the current request is served.
-+            long next = old + entrySize;
-             int prevPage = -1;
--            if ((next - 1) / pageSize != old / pageSize // check if the log
--            // record will cross
--            // page boundaries, a
--            // case that is not
--            // allowed.
--                    || (next % pageSize == 0)) {
-+
-+            // check if the log  record will cross page boundaries, a case that is not allowed.
-+            if ((next - 1) / pageSize != old / pageSize || (next % pageSize == 0)) {
-+
-                 if ((old != 0 && old % pageSize == 0)) {
--                    retVal = old; // On second thought, this shall never be the
--                    // case as it means that the lsn is
--                    // currently at the beginning of a page and
--                    // we still need to forward the page which
--                    // means that the entrySize exceeds a log
--                    // page size. If this is the case, an
--                    // exception is thrown before calling this
--                    // API.
--                    // would remove this case.
-+                    // On second thought, this shall never be the case as it means that the lsn is
-+                    // currently at the beginning of a page and we still need to forward the page which
-+                    // means that the entrySize exceeds a log page size. If this is the case, an
-+                    // exception is thrown before calling this API. would remove this case.
-+                    retVal = old;
- 
-                 } else {
--                    retVal = ((old / pageSize) + 1) * pageSize; // set the lsn
--                    // to point to
--                    // the beginning
--                    // of the next
--                    // page.
-+                    // set the lsn to point to the beginning of the next page.
-+                    retVal = ((old / pageSize) + 1) * pageSize;
-                 }
-+
-                 next = retVal;
--                forwardPage = true; // as the log record shall cross log page
--                // boundary, we must re-assign the lsn (so
--                // that the log record begins on a different
--                // location.
-+
-+                // as the log record shall cross log page boundary, we must re-assign the lsn so
-+                // that the log record begins on a different location.
-+                forwardPage = true;
-+
-                 prevPage = pageIndex;
-                 pageIndex = getNextPageInSequence(pageIndex);
-             }
-@@ -397,109 +349,51 @@
-              */
-             waitUntillPageIsAvailableForWritingLog(pageIndex);
- 
--            if (!forwardPage && requiresFlushing) {
--                shouldFlushPage = commitResolver.shouldCommitPage(pageIndex, this, commitRequestStatistics);
--                if (shouldFlushPage) {
--                    next = ((next / pageSize) + 1) * pageSize; /*
--                                                                * next
--                                                                * represents the
--                                                                * next value of
--                                                                * lsn after this
--                                                                * log record has
--                                                                * been written.
--                                                                * If the page
--                                                                * needs to be
--                                                                * flushed, then
--                                                                * we do not give
--                                                                * any more LSNs
--                                                                * from this
--                                                                * page.
--                                                                */
--                }
--            }
--            if (!lsn.compareAndSet(old, next)) { // Atomic call -> returns true
--                // only when the value
--                // represented by lsn is same as
--                // "old". The value is updated
--                // to "next".
-+            if (!lsn.compareAndSet(old, next)) {
-+                // Atomic call -> returns true only when the value represented by lsn is same as
-+                // "old". The value is updated to "next".
-                 continue;
-             }
- 
-             if (forwardPage) {
--                //TODO 
--                //this is not safe since the incoming thread may reach the same page slot with this page 
--                //(differ by the log buffer size)
--                logPageStatus[prevPage].set(PageState.INACTIVE); // mark
--                // previous
--                // page
--                // inactive
-+                addFlushRequest(prevPage, old, false);
- 
--                /*
--                 * decrement on the behalf of the log manager. if there are no
--                 * more owners (count == 0) the page must be marked as a
--                 * candidate to be flushed.
--                 */
--                int pageDirtyCount = getLogPageOwnershipCount(prevPage).decrementAndGet();
--                if (pageDirtyCount == 0) {
--                    addFlushRequest(prevPage);
--                }
--
--                /*
--                 * The transaction thread that discovers the need to forward a
--                 * page is made to re-acquire a lsn.
--                 */
-+                // The transaction thread that discovers the need to forward a
-+                // page is made to re-acquire a lsn.
-                 continue;
-+
-             } else {
--                /*
--                 * the transaction thread has been given a space in a log page,
--                 * but is made to wait until the page is available.
--                 */
-+                // the transaction thread has been given a space in a log page,
-+                // but is made to wait until the page is available.
-+                // (Is this needed? when does this wait happen?)
-                 waitUntillPageIsAvailableForWritingLog(pageIndex);
--                /*
--                 * increment the counter as the transaction thread now holds a
--                 * space in the log page and hence is an owner.
--                 */
-+
-+                // increment the counter as the transaction thread now holds a
-+                // space in the log page and hence is an owner.
-                 logPageOwnerCount[pageIndex].incrementAndGet();
--            }
--            if (requiresFlushing) {
--                if (!shouldFlushPage) {
--                    /*
--                     * the log record requires the page to be flushed but under
--                     * the commit policy, the flush task has been deferred. The
--                     * transaction thread submits its request to flush the page.
--                     */
--                    commitRequestStatistics.registerCommitRequest(pageIndex);
--                } else {
--                    /*
--                     * the flush request was approved by the commit resolver.
--                     * Thus the page is marked INACTIVE as no more logs will be
--                     * written on this page. The log manager needs to release
--                     * its ownership. Note that transaction threads may still
--                     * continue to be owners of the log page till they fill up
--                     * the space allocated to them.
--                     */
--                    logPageStatus[pageIndex].set(PageState.INACTIVE);
--                    logPageOwnerCount[pageIndex].decrementAndGet(); // on
--                    // the
--                    // behalf
--                    // of
--                    // log
--                    // manager
-+
-+                // Before the count is incremented, if the flusher flushed the allocated page, 
-+                // then retry to get new LSN. Otherwise, the log with allocated lsn will be lost. 
-+                if (lastFlushedLsn.get() >= retVal) {
-+                    logPageOwnerCount[pageIndex].decrementAndGet();
-+                    continue;
-                 }
-             }
-+
-             return retVal;
-         }
-     }
- 
-     @Override
--    public void log(byte logType, TransactionContext context, int datasetId, int PKHashValue, long resourceId,
-+    public void log(byte logType, TransactionContext txnCtx, int datasetId, int PKHashValue, long resourceId,
-             byte resourceMgrId, int logContentSize, ReusableLogContentObject reusableLogContentObject, ILogger logger,
-             LogicalLogLocator logicalLogLocator) throws ACIDException {
--        /*
--         * logLocator is a re-usable object that is appropriately set in each
--         * invocation. If the reference is null, the log manager must throw an
--         * exception
--         */
-+
-+        HashMap<TransactionContext, Integer> map = null;
-+        int activeTxnCount;
-+
-+        // logLocator is a re-usable object that is appropriately set in each invocation. 
-+        // If the reference is null, the log manager must throw an exception.
-         if (logicalLogLocator == null) {
-             throw new ACIDException(
-                     " you need to pass in a non-null logLocator, if you dont have it, then pass in a dummy so that the +"
-@@ -519,20 +413,19 @@
- 
-         // all constraints checked and we are good to go and acquire a lsn.
-         long previousLSN = -1;
--        long currentLSN; // the will be set to the location (a long value)
--        // where the log record needs to be placed.
- 
--        /*
--         * The logs written by a transaction need to be linked to each other for
--         * a successful rollback/recovery. However there could be multiple
--         * threads operating concurrently that are part of a common transaction.
--         * These threads need to synchronize and record the lsn corresponding to
--         * the last log record written by (any thread of) the transaction.
--         */
--        synchronized (context) {
--            previousLSN = context.getLastLogLocator().getLsn();
-+        // the will be set to the location (a long value) where the log record needs to be placed.
-+        long currentLSN;
-+
-+        // The logs written by a transaction need to be linked to each other for
-+        // a successful rollback/recovery. However there could be multiple
-+        // threads operating concurrently that are part of a common transaction.
-+        // These threads need to synchronize and record the lsn corresponding to
-+        // the last log record written by (any thread of) the transaction.
-+        synchronized (txnCtx) {
-+            previousLSN = txnCtx.getLastLogLocator().getLsn();
-             currentLSN = getLsn(totalLogSize, logType);
--            context.setLastLSN(currentLSN);
-+            txnCtx.setLastLSN(currentLSN);
-             if (IS_DEBUG_MODE) {
-                 System.out.println("--------------> LSN(" + currentLSN + ") is allocated");
-             }
-@@ -547,48 +440,37 @@
-          * performed correctly that is ownership is released.
-          */
- 
--        boolean decremented = false; // indicates if the transaction thread
--        // has release ownership of the
--        // page.
--        boolean addedFlushRequest = false; // indicates if the transaction
--        // thread has submitted a flush
--        // request.
-+        // indicates if the transaction thread has release ownership of the page.
-+        boolean decremented = false;
- 
-         int pageIndex = (int) getLogPageIndex(currentLSN);
- 
--        /*
--         * the lsn has been obtained for the log record. need to set the
--         * LogLocator instance accordingly.
--         */
--
-+        // the lsn has been obtained for the log record. need to set the
-+        // LogLocator instance accordingly.
-         try {
--
-             logicalLogLocator.setBuffer(logPages[pageIndex]);
-             int pageOffset = getLogPageOffset(currentLSN);
-             logicalLogLocator.setMemoryOffset(pageOffset);
- 
--            /*
--             * write the log header.
--             */
--            logRecordHelper.writeLogHeader(logicalLogLocator, logType, context, datasetId, PKHashValue, previousLSN,
-+            // write the log header.
-+            logRecordHelper.writeLogHeader(logicalLogLocator, logType, txnCtx, datasetId, PKHashValue, previousLSN,
-                     resourceId, resourceMgrId, logContentSize);
- 
-             // increment the offset so that the transaction can fill up the
-             // content in the correct region of the allocated space.
-             logicalLogLocator.increaseMemoryOffset(logRecordHelper.getLogHeaderSize(logType));
- 
--            // a COMMIT log record does not have any content
--            // and hence the logger (responsible for putting the log content) is
--            // not invoked.
-+            // a COMMIT log record does not have any content and hence 
-+            // the logger (responsible for putting the log content) is not invoked.
-             if (logContentSize != 0) {
--                logger.preLog(context, reusableLogContentObject);
-+                logger.preLog(txnCtx, reusableLogContentObject);
-             }
- 
-             if (logContentSize != 0) {
-                 // call the logger implementation and ask to fill in the log
-                 // record content at the allocated space.
--                logger.log(context, logicalLogLocator, logContentSize, reusableLogContentObject);
--                logger.postLog(context, reusableLogContentObject);
-+                logger.log(txnCtx, logicalLogLocator, logContentSize, reusableLogContentObject);
-+                logger.postLog(txnCtx, reusableLogContentObject);
-                 if (IS_DEBUG_MODE) {
-                     logicalLogLocator.setMemoryOffset(logicalLogLocator.getMemoryOffset()
-                             - logRecordHelper.getLogHeaderSize(logType));
-@@ -597,10 +479,8 @@
-                 }
-             }
- 
--            /*
--             * The log record has been written. For integrity checks, compute
--             * the checksum and put it at the end of the log record.
--             */
-+            // The log record has been written. For integrity checks, compute
-+            // the checksum and put it at the end of the log record.
-             int startPosChecksum = logicalLogLocator.getMemoryOffset() - logRecordHelper.getLogHeaderSize(logType);
-             int length = totalLogSize - logRecordHelper.getLogChecksumSize();
-             long checksum = DataUtil.getChecksum(logPages[pageIndex], startPosChecksum, length);
-@@ -611,46 +491,31 @@
-                 System.out.println("--------------> LSN(" + currentLSN + ") is written");
-             }
- 
--            /*
--             * release the ownership as the log record has been placed in
--             * created space.
--             */
--            int pageDirtyCount = logPageOwnerCount[pageIndex].decrementAndGet();
-+            // release the ownership as the log record has been placed in created space.
-+            logPageOwnerCount[pageIndex].decrementAndGet();
- 
-             // indicating that the transaction thread has released ownership
-             decremented = true;
- 
--            /*
--             * If the transaction thread happens to be the last owner of the log
--             * page the page must by marked as a candidate to be flushed.
--             */
--            if (pageDirtyCount == 0 && logPageStatus[pageIndex].get() == PageState.INACTIVE) {
--                addFlushRequest(pageIndex);
--                addedFlushRequest = true;
--            }
--
--            /*
--             * If the log type is commit, a flush request is registered, if the
--             * log record has not reached the disk. It may be possible that this
--             * thread does not get CPU cycles and in-between the log record has
--             * been flushed to disk because the containing log page filled up.
--             */
--            if (logType == LogType.COMMIT) {
--                synchronized (logPages[pageIndex]) {
--                    while (getLastFlushedLsn().get() < currentLSN) {
--                        logPages[pageIndex].wait();
--                    }
-+            if (logType == LogType.ENTITY_COMMIT) {
-+                map = activeTxnCountMaps.get(pageIndex);
-+                if (map.containsKey(txnCtx)) {
-+                    activeTxnCount = (Integer) map.get(txnCtx);
-+                    activeTxnCount++;
-+                    map.put(txnCtx, activeTxnCount);
-+                } else {
-+                    map.put(txnCtx, 1);
-                 }
-+                addFlushRequest(pageIndex, currentLSN, false);
-+            } else if (logType == LogType.COMMIT) {
-+                addFlushRequest(pageIndex, currentLSN, true);
-             }
- 
-         } catch (Exception e) {
-             e.printStackTrace();
--            throw new ACIDException(context, "Thread: " + Thread.currentThread().getName()
-+            throw new ACIDException(txnCtx, "Thread: " + Thread.currentThread().getName()
-                     + " logger encountered exception", e);
-         } finally {
--            /*
--             * If an exception was encountered and we did not release ownership
--             */
-             if (!decremented) {
-                 logPageOwnerCount[pageIndex].decrementAndGet();
-             }
-@@ -667,9 +532,6 @@
- 
-         logPages[pageIndex].reset(filePath, LogUtil.getFileOffset(this, nextWritePosition),
-                 logManagerProperties.getLogPageSize());
--
--        //TODO Check if this is necessary
--        //Arrays.fill(logPages[pageIndex].getArray(), (byte) 0);
-     }
- 
-     @Override
-@@ -747,16 +609,13 @@
-             //minimize memory allocation overhead. current code allocates the log page size per reading a log record.
- 
-             byte[] pageContent = new byte[logManagerProperties.getLogPageSize()];
--            // take a lock on the log page so that the page is not flushed to
--            // disk interim
-+
-+            // take a lock on the log page so that the page is not flushed to disk interim
-             synchronized (logPages[pageIndex]) {
--                if (lsnValue > getLastFlushedLsn().get()) { // need to check
--                    // again
--                    // (this
--                    // thread may have got
--                    // de-scheduled and must
--                    // refresh!)
- 
-+                // need to check again (this thread may have got de-scheduled and must refresh!)
-+                if (lsnValue > getLastFlushedLsn().get()) {
-+
-                     // get the log record length
-                     logPages[pageIndex].getBytes(pageContent, 0, pageContent.length);
-                     byte logType = pageContent[pageOffset + 4];
-@@ -765,9 +624,7 @@
-                     int logRecordSize = logHeaderSize + logBodySize + logRecordHelper.getLogChecksumSize();
-                     logRecord = new byte[logRecordSize];
- 
--                    /*
--                     * copy the log record content
--                     */
-+                    // copy the log record content
-                     System.arraycopy(pageContent, pageOffset, logRecord, 0, logRecordSize);
-                     MemBasedBuffer memBuffer = new MemBasedBuffer(logRecord);
-                     if (logicalLogLocator == null) {
-@@ -790,9 +647,7 @@
-             }
-         }
- 
--        /*
--         * the log record is residing on the disk, read it from there.
--         */
-+        // the log record is residing on the disk, read it from there.
-         readDiskLog(lsnValue, logicalLogLocator);
-     }
- 
-@@ -860,30 +715,40 @@
-         return logPageOwnerCount[pageIndex];
-     }
- 
--    public ICommitResolver getCommitResolver() {
--        return commitResolver;
--    }
--
--    public CommitRequestStatistics getCommitRequestStatistics() {
--        return commitRequestStatistics;
--    }
--
-     public IFileBasedBuffer[] getLogPages() {
-         return logPages;
-     }
- 
--    public int getLastFlushedPage() {
--        return lastFlushedPage.get();
--    }
--
--    public void setLastFlushedPage(int lastFlushedPage) {
--        this.lastFlushedPage.set(lastFlushedPage);
--    }
--
-     @Override
-     public TransactionSubsystem getTransactionSubsystem() {
-         return provider;
-     }
-+
-+    public void decrementActiveTxnCountOnIndexes(int pageIndex) throws HyracksDataException {
-+        TransactionContext ctx = null;
-+        int count = 0;
-+        int i = 0;
-+
-+        HashMap<TransactionContext, Integer> map = activeTxnCountMaps.get(pageIndex);
-+        Set<Map.Entry<TransactionContext, Integer>> entrySet = map.entrySet();
-+        if (entrySet != null) {
-+            for (Map.Entry<TransactionContext, Integer> entry : entrySet) {
-+                if (entry != null) {
-+                    if (entry.getValue() != null) {
-+                        count = entry.getValue();
-+                    }
-+                    if (count > 0) {
-+                        ctx = entry.getKey();
-+                        for (i = 0; i < count; i++) {
-+                            ctx.decreaseActiveTransactionCountOnIndexes();
-+                        }
-+                    }
-+                }
-+            }
-+        }
-+
-+        map.clear();
-+    }
- }
- 
- /*
-@@ -895,36 +760,82 @@
- class LogPageFlushThread extends Thread {
- 
-     private LogManager logManager;
-+    /*
-+     * pendingFlushRequests is a map with key as Integer denoting the page
-+     * index. When a (transaction) thread discovers the need to flush a page, it
-+     * puts its Thread object into the corresponding value that is a
-+     * LinkedBlockingQueue. The LogManager has a LogFlusher thread that scans
-+     * this map in order of page index (and circling around). The flusher thread
-+     * needs to flush pages in order and waits for a thread to deposit an object
-+     * in the blocking queue corresponding to the next page in order. A request
-+     * to flush a page is conveyed to the flush thread by simply depositing an
-+     * object in to corresponding blocking queue. It is blocking in the sense
-+     * that the flusher thread will continue to wait for an object to arrive in
-+     * the queue. The object itself is ignored by the fliusher and just acts as
-+     * a signal/event that a page needs to be flushed.
-+     */
-+    private final LinkedBlockingQueue<Object>[] flushRequestQueue;
-+    private final Object[] flushRequests;
-+    private int lastFlushedPageIndex;
-+    private final long groupCommitWaitPeriod;
- 
-     public LogPageFlushThread(LogManager logManager) {
-         this.logManager = logManager;
-         setName("Flusher");
-+        int numLogPages = logManager.getLogManagerProperties().getNumLogPages();
-+        this.flushRequestQueue = new LinkedBlockingQueue[numLogPages];
-+        this.flushRequests = new Object[numLogPages];
-+        for (int i = 0; i < numLogPages; i++) {
-+            flushRequestQueue[i] = new LinkedBlockingQueue<Object>(1);
-+            flushRequests[i] = new Object();
-+        }
-+        this.lastFlushedPageIndex = -1;
-+        groupCommitWaitPeriod = logManager.getLogManagerProperties().getGroupCommitWaitPeriod();
-     }
- 
-+    public void requestFlush(int pageIndex, long lsn, boolean isSynchronous) {
-+        synchronized (logManager.getLogPage(pageIndex)) {
-+            //return if flushedLSN >= lsn
-+            if (logManager.getLastFlushedLsn().get() >= lsn) {
-+                return;
-+            }
-+
-+            //put a new request to the queue only if the request on the page is not in the queue.
-+            flushRequestQueue[pageIndex].offer(flushRequests[pageIndex]);
-+
-+            //return if the request is asynchronous
-+            if (!isSynchronous) {
-+                return;
-+            }
-+
-+            //wait until there is flush.
-+            boolean isNotified = false;
-+            while (!isNotified) {
-+                try {
-+                    logManager.getLogPage(pageIndex).wait();
-+                    isNotified = true;
-+                } catch (InterruptedException e) {
-+                    e.printStackTrace();
-+                }
-+            }
-+        }
-+    }
-+
-     @Override
-     public void run() {
-         while (true) {
-             try {
--                int pageToFlush = logManager.getNextPageInSequence(logManager.getLastFlushedPage());
-+                int pageToFlush = logManager.getNextPageInSequence(lastFlushedPageIndex);
- 
--                /*
--                 * A wait call on the linkedBLockingQueue. The flusher thread is
--                 * notified when an object is added to the queue. Please note
--                 * that each page has an associated blocking queue.
--                 */
--                logManager.getPendingFlushRequests(pageToFlush).take();
-+                // A wait call on the linkedBLockingQueue. The flusher thread is
-+                // notified when an object is added to the queue. Please note
-+                // that each page has an associated blocking queue.
-+                flushRequestQueue[pageToFlush].take();
- 
--                /*
--                 * The LogFlusher was waiting for a page to be marked as a
--                 * candidate for flushing. Now that has happened. The thread
--                 * shall proceed to take a lock on the log page
--                 */
--                synchronized (logManager.getLogPages()[pageToFlush]) {
-+                synchronized (logManager.getLogPage(pageToFlush)) {
- 
--                    /*
--                     * lock the internal state of the log manager and create a
--                     * log file if necessary.
--                     */
-+                    // lock the internal state of the log manager and create a
-+                    // log file if necessary.
-                     int prevLogFileId = logManager.getLogFileId(logManager.getLastFlushedLsn().get());
-                     int nextLogFileId = logManager.getLogFileId(logManager.getLastFlushedLsn().get()
-                             + logManager.getLogManagerProperties().getLogPageSize());
-@@ -936,198 +847,60 @@
-                                 logManager.getLogManagerProperties().getLogPageSize());
-                     }
- 
--                    logManager.getLogPage(pageToFlush).flush(); // put the
--                    // content to
--                    // disk, the
--                    // thread still
--                    // has a lock on
--                    // the log page
-+                    //#. sleep during the groupCommitWaitTime
-+                    sleep(groupCommitWaitPeriod);
- 
--                    /*
--                     * acquire lock on the log manager as we need to update the
--                     * internal bookkeeping data.
--                     */
-+                    //#. set the logPageStatus to INACTIVE in order to prevent other txns from writing on this page.
-+                    logManager.getLogPageStatus(pageToFlush).set(PageState.INACTIVE);
- 
--                    // increment the last flushed lsn.
--                    long lastFlushedLsn = logManager.incrementLastFlushedLsn(logManager.getLogManagerProperties()
--                            .getLogPageSize());
-+                    //#. need to wait until the logPageOwnerCount reaches 1 (LOG_WRITER) 
-+                    //   meaning every one has finished writing logs on this page.
-+                    while (logManager.getLogPageOwnershipCount(pageToFlush).get() != PageOwnershipStatus.LOG_WRITER) {
-+                        sleep(0);
-+                    }
- 
--                    /*
--                     * the log manager gains back ownership of the page. this is
--                     * reflected by incrementing the owner count of the page.
--                     * recall that when the page is begin flushed the owner
--                     * count is actually 0 Value of zero implicitly indicates
--                     * that the page is operated upon by the log flusher thread.
--                     */
--                    logManager.getLogPageOwnershipCount(pageToFlush).incrementAndGet();
-+                    //#. set the logPageOwnerCount to 0 (LOG_FLUSHER)
-+                    //   meaning it is flushing. 
-+                    logManager.getLogPageOwnershipCount(pageToFlush).set(PageOwnershipStatus.LOG_FLUSHER);
- 
--                    /*
--                     * get the number of log buffers that have been written so
--                     * far. A log buffer = number of log pages * size of a log
--                     * page
--                     */
--                    int numCycles = (int) lastFlushedLsn / logManager.getLogManagerProperties().getLogBufferSize();
--                    if (lastFlushedLsn % logManager.getLogManagerProperties().getLogBufferSize() == 0) {
--                        numCycles--;
--                    }
-+                    // put the content to disk (the thread still has a lock on the log page)
-+                    logManager.getLogPage(pageToFlush).flush();
- 
--                    /*
--                     * Map the log page to a new region in the log file.
--                     */
-+                    // increment the last flushed lsn and lastFlushedPage
-+                    logManager.incrementLastFlushedLsn(logManager.getLogManagerProperties().getLogPageSize());
-+                    lastFlushedPageIndex = pageToFlush;
- 
-+                    // decrement activeTxnCountOnIndexes
-+                    logManager.decrementActiveTxnCountOnIndexes(pageToFlush);
-+
-+                    // reset the count to 1
-+                    logManager.getLogPageOwnershipCount(pageToFlush).set(PageOwnershipStatus.LOG_WRITER);
-+
-+                    // Map the log page to a new region in the log file.
-                     long nextWritePosition = logManager.getLogPages()[pageToFlush].getNextWritePosition()
-                             + logManager.getLogManagerProperties().getLogBufferSize();
- 
--                    /*
--                     * long nextPos = (numCycles + 1)
--                     * logManager.getLogManagerProperties() .getLogBufferSize()
--                     * + pageToFlush logManager.getLogManagerProperties()
--                     * .getLogPageSize();
--                     */
-                     logManager.resetLogPage(nextWritePosition, pageToFlush);
- 
-                     // mark the page as ACTIVE
-                     logManager.getLogPageStatus(pageToFlush).set(LogManager.PageState.ACTIVE);
- 
--                    // notify all waiting (transaction) threads.
--                    // Transaction thread may be waiting for the page to be
--                    // available or may have a commit log record on the page
--                    // that got flushed.
--                    logManager.getLogPages()[pageToFlush].notifyAll();
--                    logManager.setLastFlushedPage(pageToFlush);
-+                    //#. checks the queue whether there is another flush request on the same log buffer
-+                    //   If there is another request, then simply remove it.
-+                    if (flushRequestQueue[pageToFlush].peek() != null) {
-+                        flushRequestQueue[pageToFlush].take();
-+                    }
- 
-+                    // notify all waiting (transaction) threads.
-+                    logManager.getLogPage(pageToFlush).notifyAll();
-                 }
-             } catch (IOException ioe) {
-                 ioe.printStackTrace();
-                 throw new Error(" exception in flushing log page", ioe);
-             } catch (InterruptedException e) {
-                 e.printStackTrace();
--                break; // must break from the loop as the exception indicates
--                // some thing horrendous has happened elsewhere
-+                break; 
-             }
-         }
-     }
--}
--
--/*
-- * TODO: By default the commit policy is to commit at each request and not have
-- * a group commit. The following code needs to change to support group commit.
-- * The code for group commit has not been tested thoroughly and is under
-- * development.
-- */
--class BasicCommitResolver implements ICommitResolver {
--
--    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
--            CommitRequestStatistics commitRequestStatistics) {
--        return true;
--    }
--
--    public void init(LogManager logManager) {
--    }
--}
--
--class GroupCommitResolver implements ICommitResolver {
--
--    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
--            CommitRequestStatistics commitRequestStatistics) {
--        long maxCommitWait = logManager.getLogManagerProperties().getGroupCommitWaitPeriod();
--        long timestamp = commitRequestStatistics.getPageLevelLastCommitRequestTimestamp(pageIndex);
--        if (timestamp == -1) {
--            if (maxCommitWait == 0) {
--                return true;
--            } else {
--                timestamp = System.currentTimeMillis();
--            }
--        }
--        long currenTime = System.currentTimeMillis();
--        if (currenTime - timestamp > maxCommitWait) {
--            return true;
--        }
--        return false;
--    }
--
--    public void init(LogManager logManager) {
--        GroupCommitHandlerThread groupCommitHandler = new GroupCommitHandlerThread(logManager);
--        groupCommitHandler.setDaemon(true);
--        groupCommitHandler.start();
--    }
--
--    class GroupCommitHandlerThread extends Thread {
--
--        private LogManager logManager;
--
--        public GroupCommitHandlerThread(LogManager logManager) {
--            this.logManager = logManager;
--            setName("Group Commit Handler");
--        }
--
--        @Override
--        public void run() {
--            int pageIndex = -1;
--            while (true) {
--                pageIndex = logManager.getNextPageInSequence(pageIndex);
--                long lastCommitRequeestTimestamp = logManager.getCommitRequestStatistics()
--                        .getPageLevelLastCommitRequestTimestamp(pageIndex);
--                if (lastCommitRequeestTimestamp != -1
--                        && System.currentTimeMillis() - lastCommitRequeestTimestamp > logManager
--                                .getLogManagerProperties().getGroupCommitWaitPeriod()) {
--                    int dirtyCount = logManager.getLogPageOwnershipCount(pageIndex).decrementAndGet();
--                    if (dirtyCount == 0) {
--                        try {
--                            logManager.getLogPageStatus(pageIndex).set(LogManager.PageState.INACTIVE);
--                            logManager.getPendingFlushRequests(pageIndex).put(Thread.currentThread());
--                        } catch (InterruptedException e) {
--                            e.printStackTrace();
--                            break;
--                        }
--                        logManager.getCommitRequestStatistics().committedPage(pageIndex);
--                    }
--                }
--            }
--        }
--    }
--
--}
--
--interface ICommitResolver {
--    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
--            CommitRequestStatistics commitRequestStatistics);
--
--    public void init(LogManager logManager);
--}
--
--/**
-- * Represents a collection of all commit requests by transactions for each log
-- * page. The requests are accumulated until the commit policy triggers a flush
-- * of the corresponding log page. Upon a flush of a page, all commit requests
-- * for the page are cleared.
-- */
--class CommitRequestStatistics {
--
--    AtomicInteger[] pageLevelCommitRequestCount;
--    AtomicLong[] pageLevelLastCommitRequestTimestamp;
--
--    public CommitRequestStatistics(int numPages) {
--        pageLevelCommitRequestCount = new AtomicInteger[numPages];
--        pageLevelLastCommitRequestTimestamp = new AtomicLong[numPages];
--        for (int i = 0; i < numPages; i++) {
--            pageLevelCommitRequestCount[i] = new AtomicInteger(0);
--            pageLevelLastCommitRequestTimestamp[i] = new AtomicLong(-1L);
--        }
--    }
--
--    public void registerCommitRequest(int pageIndex) {
--        pageLevelCommitRequestCount[pageIndex].incrementAndGet();
--        pageLevelLastCommitRequestTimestamp[pageIndex].set(System.currentTimeMillis());
--    }
--
--    public long getPageLevelLastCommitRequestTimestamp(int pageIndex) {
--        return pageLevelLastCommitRequestTimestamp[pageIndex].get();
--    }
--
--    public void committedPage(int pageIndex) {
--        pageLevelCommitRequestCount[pageIndex].set(0);
--        pageLevelLastCommitRequestTimestamp[pageIndex].set(-1L);
--    }
--
--}
-+}
-\ No newline at end of file
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java	(working copy)
-@@ -152,6 +152,9 @@
-             case LogType.UPDATE:
-                 logTypeDisplay = "UPDATE";
-                 break;
-+            case LogType.ENTITY_COMMIT:
-+                logTypeDisplay = "ENTITY_COMMIT";
-+                break;
-         }
-         builder.append(" LSN : ").append(logicalLogLocator.getLsn());
-         builder.append(" Log Type : ").append(logTypeDisplay);
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java	(working copy)
-@@ -18,5 +18,6 @@
- 
-     public static final byte UPDATE = 0;
-     public static final byte COMMIT = 1;
-+    public static final byte ENTITY_COMMIT = 2;
- 
- }
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java	(working copy)
-@@ -1,5 +1,5 @@
- /*
-- * Copyright 2009-2010 by The Regents of the University of California
-+ * Copyright 2009-2012 by The Regents of the University of California
-  * Licensed under the Apache License, Version 2.0 (the "License");
-  * you may not use this file except in compliance with the License.
-  * you may obtain a copy of the License from
-@@ -41,7 +41,7 @@
-     private int logPageSize = 128 * 1024; // 128 KB
-     private int numLogPages = 8; // number of log pages in the log buffer.
- 
--    private long groupCommitWaitPeriod = 0; // time in milliseconds for which a
-+    private long groupCommitWaitPeriod = 1; // time in milliseconds for which a
-     // commit record will wait before
-     // the housing page is marked for
-     // flushing.
-Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java
-===================================================================
---- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java	(revision 1194)
-+++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java	(working copy)
-@@ -184,6 +184,7 @@
-                     break;
- 
-                 case LogType.COMMIT:
-+                case LogType.ENTITY_COMMIT:
-                     tempKeyTxnId.setTxnId(logRecordHelper.getJobId(currentLogLocator),
-                             logRecordHelper.getDatasetId(currentLogLocator),
-                             logRecordHelper.getPKHashValue(currentLogLocator));
-@@ -218,6 +219,7 @@
-         IIndex index = null;
-         LocalResource localResource = null;
-         ILocalResourceMetadata localResourceMetadata = null;
-+        List<Long> resourceIdList = new ArrayList<Long>();
- 
-         //#. get indexLifeCycleManager 
-         IAsterixAppRuntimeContextProvider appRuntimeContext = txnSubsystem.getAsterixAppRuntimeContextProvider();
-@@ -272,6 +274,8 @@
-                             index = localResourceMetadata.createIndexInstance(appRuntimeContext,
-                                     localResource.getResourceName(), localResource.getPartition());
-                             indexLifecycleManager.register(resourceId, index);
-+                            indexLifecycleManager.open(resourceId);
-+                            resourceIdList.add(resourceId);
-                         }
- 
-                         /***************************************************/
-@@ -300,6 +304,7 @@
-                     break;
- 
-                 case LogType.COMMIT:
-+                case LogType.ENTITY_COMMIT:
-                     //do nothing
-                     break;
- 
-@@ -308,6 +313,11 @@
-             }
-         }
-         
-+        //close all indexes
-+        for (long r : resourceIdList) {
-+            indexLifecycleManager.close(r);
-+        }
-+        
-         JobIdFactory.initJobId(maxJobId);
-     }
- 
-@@ -539,6 +549,7 @@
-                     break;
- 
-                 case LogType.COMMIT:
-+                case LogType.ENTITY_COMMIT:
-                     undoLSNSet = loserTxnTable.get(tempKeyTxnId);
-                     if (undoLSNSet != null) {
-                         loserTxnTable.remove(tempKeyTxnId);
-Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java
-===================================================================
---- asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java	(revision 1194)
-+++ asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java	(working copy)
-@@ -42,6 +42,16 @@
-         List<CompilationUnit> cUnits = tcCtx.getTestCase().getCompilationUnit();
-         for (CompilationUnit cUnit : cUnits) {
-             File testFile = tcCtx.getTestFile(cUnit);
-+            
-+            /*****************
-+            if (!testFile.getAbsolutePath().contains("meta09.aql")) {
-+                System.out.println(testFile.getAbsolutePath());
-+                continue;
-+            }
-+            System.out.println(testFile.getAbsolutePath());
-+            *****************/
-+            
-+            
-             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);
-             File actualFile = new File(PATH_ACTUAL + File.separator
-                     + tcCtx.getTestCase().getFilePath().replace(File.separator, "_") + "_" + cUnit.getName() + ".adm");
-Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
-===================================================================
---- asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(revision 1194)
-+++ asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(working copy)
-@@ -95,9 +95,10 @@
-             File testFile = tcCtx.getTestFile(cUnit);
- 
-             /*************** to avoid run failure cases ****************
--            if (!testFile.getAbsolutePath().contains("index-selection/")) {
-+            if (!testFile.getAbsolutePath().contains("query-issue205.aql")) {
-                 continue;
-             }
-+            System.out.println(testFile.getAbsolutePath());
-             ************************************************************/
-             
-             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);
-Index: diff_file
-===================================================================
---- diff_file	(revision 1194)
-+++ diff_file	(working copy)
-@@ -1,2098 +1,1252 @@
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DataverseTupleTranslator.java	(working copy)
--@@ -25,8 +25,11 @@
-- import edu.uci.ics.asterix.metadata.bootstrap.MetadataPrimaryIndexes;
-- import edu.uci.ics.asterix.metadata.bootstrap.MetadataRecordTypes;
-- import edu.uci.ics.asterix.metadata.entities.Dataverse;
--+import edu.uci.ics.asterix.om.base.AInt32;
--+import edu.uci.ics.asterix.om.base.AMutableInt32;
-- import edu.uci.ics.asterix.om.base.ARecord;
-- import edu.uci.ics.asterix.om.base.AString;
--+import edu.uci.ics.asterix.om.types.BuiltinType;
-- import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
-- import edu.uci.ics.hyracks.dataflow.common.data.accessors.ITupleReference;
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionManager.java	(working copy)
-+@@ -103,12 +103,14 @@
-+             //for entity-level commit
-+             if (PKHashVal != -1) {
-+                 transactionProvider.getLockManager().unlock(datasetId, PKHashVal, txnContext, true);
-++                /*****************************
-+                 try {
-+                     //decrease the transaction reference count on index
-+                     txnContext.decreaseActiveTransactionCountOnIndexes();
-+                 } catch (HyracksDataException e) {
-+                     throw new ACIDException("failed to complete index operation", e);
-+                 }
-++                *****************************/
-+                 return;
-+             }
-  
--@@ -40,12 +43,18 @@
--     // Payload field containing serialized Dataverse.
--     public static final int DATAVERSE_PAYLOAD_TUPLE_FIELD_INDEX = 1;
-- 
--+    private AMutableInt32 aInt32;
--+    protected ISerializerDeserializer<AInt32> aInt32Serde;
--+
--     @SuppressWarnings("unchecked")
--     private ISerializerDeserializer<ARecord> recordSerDes = AqlSerializerDeserializerProvider.INSTANCE
--             .getSerializerDeserializer(MetadataRecordTypes.DATAVERSE_RECORDTYPE);
-- 
--+    @SuppressWarnings("unchecked")
--     public DataverseTupleTranslator(boolean getTuple) {
--         super(getTuple, MetadataPrimaryIndexes.DATAVERSE_DATASET.getFieldCount());
--+        aInt32 = new AMutableInt32(-1);
--+        aInt32Serde = AqlSerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.AINT32);
--     }
-- 
--     @Override
--@@ -57,7 +66,8 @@
--         DataInput in = new DataInputStream(stream);
--         ARecord dataverseRecord = recordSerDes.deserialize(in);
--         return new Dataverse(((AString) dataverseRecord.getValueByPos(0)).getStringValue(),
---                ((AString) dataverseRecord.getValueByPos(1)).getStringValue());
--+                ((AString) dataverseRecord.getValueByPos(1)).getStringValue(),
--+                ((AInt32) dataverseRecord.getValueByPos(2)).getIntegerValue());
--     }
-- 
--     @Override
--@@ -88,6 +98,12 @@
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
--         recordBuilder.addField(MetadataRecordTypes.DATAVERSE_ARECORD_TIMESTAMP_FIELD_INDEX, fieldValue);
-- 
--+        // write field 3
--+        fieldValue.reset();
--+        aInt32.setValue(instance.getPendingOp());
--+        aInt32Serde.serialize(aInt32, fieldValue.getDataOutput());
--+        recordBuilder.addField(MetadataRecordTypes.DATAVERSE_ARECORD_PENDINGOP_FIELD_INDEX, fieldValue);
--+
--         recordBuilder.write(tupleBuilder.getDataOutput(), true);
--         tupleBuilder.addFieldEndOffset();
-- 
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/DatasetTupleTranslator.java	(working copy)
--@@ -77,9 +77,9 @@
--     protected ISerializerDeserializer<AInt32> aInt32Serde;
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/transaction/TransactionContext.java	(working copy)
-+@@ -19,6 +19,7 @@
-+ import java.util.HashSet;
-+ import java.util.List;
-+ import java.util.Set;
-++import java.util.concurrent.atomic.AtomicInteger;
-  
--     @SuppressWarnings("unchecked")
---	public DatasetTupleTranslator(boolean getTuple) {
--+    public DatasetTupleTranslator(boolean getTuple) {
--         super(getTuple, MetadataPrimaryIndexes.DATASET_DATASET.getFieldCount());
---        aInt32 = new AMutableInt32(-1); 
--+        aInt32 = new AMutableInt32(-1);
--         aInt32Serde = AqlSerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.AINT32);
--     }
-- 
--@@ -104,8 +104,10 @@
--                 .getValueByPos(MetadataRecordTypes.DATASET_ARECORD_DATATYPENAME_FIELD_INDEX)).getStringValue();
--         DatasetType datasetType = DatasetType.valueOf(((AString) datasetRecord.getValueByPos(3)).getStringValue());
--         IDatasetDetails datasetDetails = null;
---    	int datasetId = ((AInt32) datasetRecord
--+        int datasetId = ((AInt32) datasetRecord
--                 .getValueByPos(MetadataRecordTypes.DATASET_ARECORD_DATASETID_FIELD_INDEX)).getIntegerValue();
--+        int pendingOp = ((AInt32) datasetRecord
--+                .getValueByPos(MetadataRecordTypes.DATASET_ARECORD_PENDINGOP_FIELD_INDEX)).getIntegerValue();
--         switch (datasetType) {
--             case FEED:
--             case INTERNAL: {
--@@ -197,7 +199,7 @@
--                 }
--                 datasetDetails = new ExternalDatasetDetails(adapter, properties);
-+ import edu.uci.ics.asterix.transaction.management.exception.ACIDException;
-+ import edu.uci.ics.asterix.transaction.management.opcallbacks.AbstractOperationCallback;
-+@@ -169,5 +170,14 @@
-+             closeable.close(this);
-          }
---        return new Dataset(dataverseName, datasetName, typeName, datasetDetails, datasetType, datasetId);
--+        return new Dataset(dataverseName, datasetName, typeName, datasetDetails, datasetType, datasetId, pendingOp);
-      }
-++    
-++    @Override
-++    public int hashCode() {
-++        return jobId.getId();
-++    }
-  
--     @Override
--@@ -248,13 +250,19 @@
--         aString.setValue(Calendar.getInstance().getTime().toString());
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
--         recordBuilder.addField(MetadataRecordTypes.DATASET_ARECORD_TIMESTAMP_FIELD_INDEX, fieldValue);
---        
--+
--         // write field 8
--         fieldValue.reset();
--         aInt32.setValue(dataset.getDatasetId());
--         aInt32Serde.serialize(aInt32, fieldValue.getDataOutput());
--         recordBuilder.addField(MetadataRecordTypes.DATASET_ARECORD_DATASETID_FIELD_INDEX, fieldValue);
---        
--+
--+        // write field 9
--+        fieldValue.reset();
--+        aInt32.setValue(dataset.getPendingOp());
--+        aInt32Serde.serialize(aInt32, fieldValue.getDataOutput());
--+        recordBuilder.addField(MetadataRecordTypes.DATASET_ARECORD_PENDINGOP_FIELD_INDEX, fieldValue);
--+
--         // write record
--         recordBuilder.write(tupleBuilder.getDataOutput(), true);
--         tupleBuilder.addFieldEndOffset();
--@@ -290,13 +298,15 @@
--         fieldValue.reset();
--         aString.setValue(name);
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
---        propertyRecordBuilder.addField(MetadataRecordTypes.DATASOURCE_ADAPTER_PROPERTIES_ARECORD_NAME_FIELD_INDEX, fieldValue);
--+        propertyRecordBuilder.addField(MetadataRecordTypes.DATASOURCE_ADAPTER_PROPERTIES_ARECORD_NAME_FIELD_INDEX,
--+                fieldValue);
-- 
--         // write field 1
--         fieldValue.reset();
--         aString.setValue(value);
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
---        propertyRecordBuilder.addField(MetadataRecordTypes.DATASOURCE_ADAPTER_PROPERTIES_ARECORD_VALUE_FIELD_INDEX, fieldValue);
--+        propertyRecordBuilder.addField(MetadataRecordTypes.DATASOURCE_ADAPTER_PROPERTIES_ARECORD_VALUE_FIELD_INDEX,
--+                fieldValue);
-- 
--         propertyRecordBuilder.write(out, true);
--     }
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java
-++    @Override
-++    public boolean equals(Object o) {
-++        return (o == this);
-++    }
-+ }
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entitytupletranslators/IndexTupleTranslator.java	(working copy)
--@@ -96,13 +96,15 @@
--         }
--         Boolean isPrimaryIndex = ((ABoolean) rec.getValueByPos(MetadataRecordTypes.INDEX_ARECORD_ISPRIMARY_FIELD_INDEX))
--                 .getBoolean();
--+        int pendingOp = ((AInt32) rec.getValueByPos(MetadataRecordTypes.INDEX_ARECORD_PENDINGOP_FIELD_INDEX))
--+                .getIntegerValue();
--         // Check if there is a gram length as well.
--         int gramLength = -1;
--         int gramLenPos = rec.getType().findFieldPosition(GRAM_LENGTH_FIELD_NAME);
--         if (gramLenPos >= 0) {
--             gramLength = ((AInt32) rec.getValueByPos(gramLenPos)).getIntegerValue();
--         }
---        return new Index(dvName, dsName, indexName, indexStructure, searchKey, gramLength, isPrimaryIndex);
--+        return new Index(dvName, dsName, indexName, indexStructure, searchKey, gramLength, isPrimaryIndex, pendingOp);
--     }
-- 
--     @Override
--@@ -174,7 +176,12 @@
--         stringSerde.serialize(aString, fieldValue.getDataOutput());
--         recordBuilder.addField(MetadataRecordTypes.INDEX_ARECORD_TIMESTAMP_FIELD_INDEX, fieldValue);
-- 
---        // write optional field 7        
--+        // write field 7
--+        fieldValue.reset();
--+        intSerde.serialize(new AInt32(instance.getPendingOp()), fieldValue.getDataOutput());
--+        recordBuilder.addField(MetadataRecordTypes.INDEX_ARECORD_PENDINGOP_FIELD_INDEX, fieldValue);
--+
--+        // write optional field 8        
--         if (instance.getGramLength() > 0) {
--             fieldValue.reset();
--             nameValue.reset();
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/locking/LockManager.java	(working copy)
-+@@ -567,7 +567,7 @@
-+             if (commitFlag) {
-+                 if (txnContext.getTransactionType().equals(TransactionContext.TransactionType.READ_WRITE)) {
-+                     try {
-+-                        txnSubsystem.getLogManager().log(LogType.COMMIT, txnContext, datasetId.getId(),
-++                        txnSubsystem.getLogManager().log(LogType.ENTITY_COMMIT, txnContext, datasetId.getId(),
-+                                 entityHashValue, -1, (byte) 0, 0, null, null, logicalLogLocator);
-+                     } catch (ACIDException e) {
-+                         try {
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/declared/AqlMetadataProvider.java	(working copy)
--@@ -129,7 +129,7 @@
-- 
-- public class AqlMetadataProvider implements IMetadataProvider<AqlSourceId, String> {
--     private static Logger LOGGER = Logger.getLogger(AqlMetadataProvider.class.getName());
---    private final MetadataTransactionContext mdTxnCtx;
--+    private MetadataTransactionContext mdTxnCtx;
--     private boolean isWriteTransaction;
--     private Map<String, String[]> stores;
--     private Map<String, String> config;
--@@ -156,8 +156,7 @@
--         return config;
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/FileBasedBuffer.java	(working copy)
-+@@ -75,6 +75,7 @@
-+         buffer.position(0);
-+         buffer.limit(size);
-+         fileChannel.write(buffer);
-++        fileChannel.force(false);
-+         erase();
-      }
-  
---    public AqlMetadataProvider(MetadataTransactionContext mdTxnCtx, Dataverse defaultDataverse) {
---        this.mdTxnCtx = mdTxnCtx;
--+    public AqlMetadataProvider(Dataverse defaultDataverse) {
--         this.defaultDataverse = defaultDataverse;
--         this.stores = AsterixProperties.INSTANCE.getStores();
--     }
--@@ -181,6 +180,10 @@
--     public void setWriterFactory(IAWriterFactory writerFactory) {
--         this.writerFactory = writerFactory;
--     }
--+    
--+    public void setMetadataTxnContext(MetadataTransactionContext mdTxnCtx) {
--+        this.mdTxnCtx = mdTxnCtx;
--+    }
-- 
--     public MetadataTransactionContext getMetadataTxnContext() {
--         return mdTxnCtx;
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataset.java
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java
- ===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataset.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataset.java	(working copy)
--@@ -35,15 +35,18 @@
--     private final DatasetType datasetType;
--     private IDatasetDetails datasetDetails;
--     private final int datasetId;
--+    // Type of pending operations with respect to atomic DDL operation
--+    private final int pendingOp;
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManager.java	(working copy)
-+@@ -1,5 +1,5 @@
-+ /*
-+- * Copyright 2009-2010 by The Regents of the University of California
-++ * Copyright 2009-2012 by The Regents of the University of California
-+  * Licensed under the Apache License, Version 2.0 (the "License");
-+  * you may not use this file except in compliance with the License.
-+  * you may obtain a copy of the License from
-+@@ -21,7 +21,12 @@
-+ import java.io.RandomAccessFile;
-+ import java.nio.ByteBuffer;
-+ import java.nio.channels.FileChannel;
-++import java.util.ArrayList;
-++import java.util.HashMap;
-++import java.util.List;
-++import java.util.Map;
-+ import java.util.Properties;
-++import java.util.Set;
-+ import java.util.concurrent.LinkedBlockingQueue;
-+ import java.util.concurrent.atomic.AtomicInteger;
-+ import java.util.concurrent.atomic.AtomicLong;
-+@@ -30,22 +35,25 @@
-  
--     public Dataset(String dataverseName, String datasetName, String itemTypeName, IDatasetDetails datasetDetails,
---            DatasetType datasetType, int datasetId) {
--+            DatasetType datasetType, int datasetId, int pendingOp) {
--         this.dataverseName = dataverseName;
--         this.datasetName = datasetName;
--         this.itemTypeName = itemTypeName;
--         this.datasetType = datasetType;
--         this.datasetDetails = datasetDetails;
--         this.datasetId = datasetId;
--+        this.pendingOp = pendingOp;
--     }
-+ import edu.uci.ics.asterix.transaction.management.exception.ACIDException;
-+ import edu.uci.ics.asterix.transaction.management.service.logging.IndexLogger.ReusableLogContentObject;
-++import edu.uci.ics.asterix.transaction.management.service.logging.LogManager.PageOwnershipStatus;
-++import edu.uci.ics.asterix.transaction.management.service.logging.LogManager.PageState;
-+ import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionContext;
-+ import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionManagementConstants;
-+ import edu.uci.ics.asterix.transaction.management.service.transaction.TransactionSubsystem;
-++import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-  
--     public String getDataverseName() {
--@@ -73,6 +76,10 @@
--     public int getDatasetId() {
--         return datasetId;
--     }
--+    
--+    public int getPendingOp() {
--+        return pendingOp;
--+    }
-+ public class LogManager implements ILogManager {
-  
--     @Override
--     public Object addToCache(MetadataCache cache) {
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Index.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Index.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Index.java	(working copy)
--@@ -45,9 +45,11 @@
--     private final boolean isPrimaryIndex;
--     // Specific to NGRAM indexes.
--     private final int gramLength;
--+    // Type of pending operations with respect to atomic DDL operation
--+    private final int pendingOp;
-+     public static final boolean IS_DEBUG_MODE = false;//true
-+     private static final Logger LOGGER = Logger.getLogger(LogManager.class.getName());
-+-    private TransactionSubsystem provider;
-++    private final TransactionSubsystem provider;
-+     private LogManagerProperties logManagerProperties;
-++    private LogPageFlushThread logPageFlusher;
-  
--     public Index(String dataverseName, String datasetName, String indexName, IndexType indexType,
---            List<String> keyFieldNames, int gramLength, boolean isPrimaryIndex) {
--+            List<String> keyFieldNames, int gramLength, boolean isPrimaryIndex, int pendingOp) {
--         this.dataverseName = dataverseName;
--         this.datasetName = datasetName;
--         this.indexName = indexName;
--@@ -55,10 +57,11 @@
--         this.keyFieldNames = keyFieldNames;
--         this.gramLength = gramLength;
--         this.isPrimaryIndex = isPrimaryIndex;
--+        this.pendingOp = pendingOp;
--     }
-+     /*
-+      * the array of log pages. The number of log pages is configurable. Pages
-+      * taken together form an in-memory log buffer.
-+      */
-+-
-+     private IFileBasedBuffer[] logPages;
-  
--     public Index(String dataverseName, String datasetName, String indexName, IndexType indexType,
---            List<String> keyFieldNames, boolean isPrimaryIndex) {
--+            List<String> keyFieldNames, boolean isPrimaryIndex, int pendingOp) {
--         this.dataverseName = dataverseName;
--         this.datasetName = datasetName;
--         this.indexName = indexName;
--@@ -66,6 +69,7 @@
--         this.keyFieldNames = keyFieldNames;
--         this.gramLength = -1;
--         this.isPrimaryIndex = isPrimaryIndex;
--+        this.pendingOp = pendingOp;
--     }
-+     private ILogRecordHelper logRecordHelper;
-+@@ -54,6 +62,7 @@
-+      * Number of log pages that constitute the in-memory log buffer.
-+      */
-+     private int numLogPages;
-++
-+     /*
-+      * Initially all pages have an owner count of 1 that is the LogManager. When
-+      * a transaction requests to write in a log page, the owner count is
-+@@ -62,12 +71,11 @@
-+      * (covering the whole log record). When the content has been put, the log
-+      * manager computes the checksum and puts it after the content. At this
-+      * point, the ownership count is decremented as the transaction is done with
-+-     * using the page. When a page is full, the log manager decrements the count
-+-     * by one indicating that it has released its ownership of the log page.
-+-     * There could be other transaction(s) still owning the page (that is they
-+-     * could still be mid-way putting the log content). When the ownership count
-+-     * eventually reaches zero, the thread responsible for flushing the log page
-+-     * is notified and the page is flushed to disk.
-++     * using the page. When a page is requested to be flushed, logPageFlusher
-++     * set the count to 0(LOG_FLUSHER: meaning that the page is being flushed)
-++     * only if the count is 1(LOG_WRITER: meaning that there is no other 
-++     * transactions who own the page to write logs.) After flushing the page, 
-++     * logPageFlusher set this count to 1. 
-+      */
-+     private AtomicInteger[] logPageOwnerCount;
-  
--     public String getDataverseName() {
--@@ -95,6 +99,10 @@
--     public boolean isPrimaryIndex() {
--         return isPrimaryIndex;
--     }
--+    
--+    public int getPendingOp() {
--+        return pendingOp;
--+    }
-+@@ -78,18 +86,16 @@
-  
--     public boolean isSecondaryIndex() {
--         return !isPrimaryIndex();
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataverse.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataverse.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/entities/Dataverse.java	(working copy)
--@@ -27,10 +27,12 @@
--     // Enforced to be unique within an Asterix cluster..
--     private final String dataverseName;
--     private final String dataFormat;
--+    private final int pendingOp;
-+     /*
-+      * LogPageStatus: A page is either ACTIVE or INACTIVE. The status for each
-+-     * page is maintained in a map called logPageStatus. A page is ACTIVE when
-+-     * the LogManager can allocate space in the page for writing a log record.
-+-     * Initially all pages are ACTIVE. As transactions fill up space by writing
-+-     * log records, a page may not have sufficient space left for serving a
-+-     * request by a transaction. When this happens, the page is marked INACTIVE.
-+-     * An INACTIVE page with no owners ( logPageOwnerCount.get(<pageIndex>) ==
-+-     * 0) indicates that the page must be flushed to disk before any other log
-+-     * record is written on the page.F
-++     * page is maintained in logPageStatus. A page is ACTIVE when the LogManager 
-++     * can allocate space in the page for writing a log record. Initially all 
-++     * pages are ACTIVE. As transactions fill up space by writing log records, 
-++     * a page may not have sufficient space left for serving a request by a 
-++     * transaction. When this happens, the page is flushed to disk by calling
-++     * logPageFlusher.requestFlush(). In the requestFlush(), after groupCommitWaitTime,
-++     * the page status is set to INACTIVE. Then, there is no more writer on the
-++     * page(meaning the corresponding logPageOwnerCount is 1), the page is flushed
-++     * by the logPageFlusher and the status is reset to ACTIVE by the logPageFlusher.   
-+      */
-+-
-+-    // private Map<Integer, Integer> logPageStatus = new
-+-    // ConcurrentHashMap<Integer, Integer>();
-+     private AtomicInteger[] logPageStatus;
-  
---    public Dataverse(String dataverseName, String format) {
--+    public Dataverse(String dataverseName, String format, int pendingOp) {
--         this.dataverseName = dataverseName;
--         this.dataFormat = format;
--+        this.pendingOp = pendingOp;
-+     static class PageState {
-+@@ -98,41 +104,8 @@
-      }
-  
--     public String getDataverseName() {
--@@ -40,6 +42,10 @@
--     public String getDataFormat() {
--         return dataFormat;
--     }
--+    
--+    public int getPendingOp() {
--+        return pendingOp;
--+    }
-+     private AtomicLong lastFlushedLsn = new AtomicLong(-1);
-+-    private AtomicInteger lastFlushedPage = new AtomicInteger(-1);
-  
--     @Override
--     public Object addToCache(MetadataCache cache) {
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataNode.java	(working copy)
--@@ -25,6 +25,7 @@
-- import edu.uci.ics.asterix.common.exceptions.AsterixException;
-- import edu.uci.ics.asterix.common.functions.FunctionSignature;
-- import edu.uci.ics.asterix.formats.nontagged.AqlSerializerDeserializerProvider;
--+import edu.uci.ics.asterix.metadata.api.IMetadataEntity;
-- import edu.uci.ics.asterix.metadata.api.IMetadataIndex;
-- import edu.uci.ics.asterix.metadata.api.IMetadataNode;
-- import edu.uci.ics.asterix.metadata.api.IValueExtractor;
--@@ -160,7 +161,7 @@
--                 // Add the primary index for the dataset.
--                 InternalDatasetDetails id = (InternalDatasetDetails) dataset.getDatasetDetails();
--                 Index primaryIndex = new Index(dataset.getDataverseName(), dataset.getDatasetName(),
---                        dataset.getDatasetName(), IndexType.BTREE, id.getPrimaryKey(), true);
--+                        dataset.getDatasetName(), IndexType.BTREE, id.getPrimaryKey(), true, dataset.getPendingOp());
--                 addIndex(jobId, primaryIndex);
--                 ITupleReference nodeGroupTuple = createTuple(id.getNodeGroupName(), dataset.getDataverseName(),
--                         dataset.getDatasetName());
--@@ -260,7 +261,7 @@
--         IIndexAccessor indexAccessor = indexInstance.createAccessor(NoOpOperationCallback.INSTANCE,
--                 NoOpOperationCallback.INSTANCE);
--         TransactionContext txnCtx = transactionProvider.getTransactionManager().getTransactionContext(jobId);
---        transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.X, txnCtx);
--+        //transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.X, txnCtx);
--         // TODO: fix exceptions once new BTree exception model is in hyracks.
--         indexAccessor.insert(tuple);
--         //TODO: extract the key from the tuple and get the PKHashValue from the key.
--@@ -536,7 +537,7 @@
--         // The transaction with txnId will have an S lock on the
--         // resource. Note that lock converters have a higher priority than
--         // regular waiters in the LockManager.
---        transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.X, txnCtx);
--+        //transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.X, txnCtx);
--         indexAccessor.delete(tuple);
--         //TODO: extract the key from the tuple and get the PKHashValue from the key.
--         //check how to get the oldValue.
--@@ -803,7 +804,9 @@
--     private <ResultType> void searchIndex(JobId jobId, IMetadataIndex index, ITupleReference searchKey,
--             IValueExtractor<ResultType> valueExtractor, List<ResultType> results) throws Exception {
--         TransactionContext txnCtx = transactionProvider.getTransactionManager().getTransactionContext(jobId);
---        transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.S, txnCtx);
--+        //#. currently lock is not needed to access any metadata 
--+        //   since the non-compatible concurrent access is always protected by the latch in the MetadataManager.
--+        //transactionProvider.getLockManager().lock(index.getDatasetId(), -1, LockMode.S, txnCtx);
--         IBinaryComparatorFactory[] comparatorFactories = index.getKeyBinaryComparatorFactory();
--         long resourceID = index.getResourceID();
--         IIndex indexInstance = indexLifecycleManager.getIndex(resourceID);
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/api/IMetadataEntity.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/api/IMetadataEntity.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/api/IMetadataEntity.java	(working copy)
--@@ -20,6 +20,11 @@
-- import edu.uci.ics.asterix.metadata.MetadataCache;
-- 
-- public interface IMetadataEntity extends Serializable {
--+    
--+    public static final int PENDING_NO_OP = 0;
--+    public static final int PENDING_ADD_OP = 1;
--+    public static final int PENDING_DROP_OP = 2;
--+    
--     Object addToCache(MetadataCache cache);
-- 
--     Object dropFromCache(MetadataCache cache);
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataManager.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataManager.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataManager.java	(working copy)
--@@ -17,6 +17,8 @@
-- 
-- import java.rmi.RemoteException;
-- import java.util.List;
--+import java.util.concurrent.locks.ReadWriteLock;
--+import java.util.concurrent.locks.ReentrantReadWriteLock;
-- 
-- import edu.uci.ics.asterix.common.functions.FunctionSignature;
-- import edu.uci.ics.asterix.metadata.api.IAsterixStateProxy;
--@@ -79,11 +81,10 @@
-- public class MetadataManager implements IMetadataManager {
--     // Set in init().
--     public static MetadataManager INSTANCE;
-+     /*
-+-     * pendingFlushRequests is a map with key as Integer denoting the page
-+-     * index. When a (transaction) thread discovers the need to flush a page, it
-+-     * puts its Thread object into the corresponding value that is a
-+-     * LinkedBlockingQueue. The LogManager has a LogFlusher thread that scans
-+-     * this map in order of page index (and circling around). The flusher thread
-+-     * needs to flush pages in order and waits for a thread to deposit an object
-+-     * in the blocking queue corresponding to the next page in order. A request
-+-     * to flush a page is conveyed to the flush thread by simply depositing an
-+-     * object in to corresponding blocking queue. It is blocking in the sense
-+-     * that the flusher thread will continue to wait for an object to arrive in
-+-     * the queue. The object itself is ignored by the fliusher and just acts as
-+-     * a signal/event that a page needs to be flushed.
-+-     */
- -
--     private final MetadataCache cache = new MetadataCache();
--     private IAsterixStateProxy proxy;
--     private IMetadataNode metadataNode;
-+-    private LinkedBlockingQueue[] pendingFlushRequests;
- -
--+    
--     public MetadataManager(IAsterixStateProxy proxy) {
--         if (proxy == null) {
--             throw new Error("Null proxy given to MetadataManager.");
--@@ -206,11 +207,14 @@
-+-    /*
-+-     * ICommitResolver is an interface that provides an API that can answer a
-+-     * simple boolean - Given the commit requests so far, should a page be
-+-     * flushed. The implementation of the interface contains the logic (or you
-+-     * can say the policy) for commit. It could be group commit in which case
-+-     * the commit resolver may not return a true indicating that it wishes to
-+-     * delay flushing of the page.
-+-     */
-+-    private ICommitResolver commitResolver;
-+-
-+-    /*
-+-     * An object that keeps track of the submitted commit requests.
-+-     */
-+-    private CommitRequestStatistics commitRequestStatistics;
-+-
-+-    /*
-+      * When the transaction eco-system comes to life, the log manager positions
-+      * itself to the end of the last written log. the startingLsn represent the
-+      * lsn value of the next log record to be written after a system (re)start.
-+@@ -146,16 +119,10 @@
-+      */
-+     private AtomicLong lsn = new AtomicLong(0);
-  
--     @Override
--     public void addDataset(MetadataTransactionContext ctx, Dataset dataset) throws MetadataException {
--+        // add dataset into metadataNode 
--         try {
--             metadataNode.addDataset(ctx.getJobId(), dataset);
--         } catch (RemoteException e) {
--             throw new MetadataException(e);
--         }
--+        
--+        // reflect the dataset into the cache
--         ctx.addDataset(dataset);
-+-    /*
-+-     * A map that tracks the flush requests submitted for each page. The
-+-     * requests for a page are cleared when the page is flushed.
-+-     */
-+-    public LinkedBlockingQueue<Thread> getPendingFlushRequests(int pageIndex) {
-+-        return pendingFlushRequests[pageIndex];
-+-    }
-++    private List<HashMap<TransactionContext, Integer>> activeTxnCountMaps;
-+ 
-+-    public void addFlushRequest(int pageIndex) {
-+-        pendingFlushRequests[pageIndex].add(pendingFlushRequests);
-++    public void addFlushRequest(int pageIndex, long lsn, boolean isSynchronous) {
-++        logPageFlusher.requestFlush(pageIndex, lsn, isSynchronous);
-      }
-  
--@@ -585,4 +589,5 @@
-+     public AtomicLong getLastFlushedLsn() {
-+@@ -233,19 +200,12 @@
-+         numLogPages = logManagerProperties.getNumLogPages();
-+         logPageOwnerCount = new AtomicInteger[numLogPages];
-+         logPageStatus = new AtomicInteger[numLogPages];
-+-        pendingFlushRequests = new LinkedBlockingQueue[numLogPages];
-+-        if (logManagerProperties.getGroupCommitWaitPeriod() > 0) { // configure
-+-            // the
-+-            // Commit
-+-            // Resolver
-+-            commitResolver = new GroupCommitResolver(); // Group Commit is
-+-            // enabled
-+-            commitRequestStatistics = new CommitRequestStatistics(numLogPages);
-+-        } else {
-+-            commitResolver = new BasicCommitResolver(); // the basic commit
-+-            // resolver
-++
-++        activeTxnCountMaps = new ArrayList<HashMap<TransactionContext, Integer>>(numLogPages);
-++        for (int i = 0; i < numLogPages; i++) {
-++            activeTxnCountMaps.add(new HashMap<TransactionContext, Integer>());
-          }
--         return adapter;
--     }
-+-        this.commitResolver.init(this); // initialize the commit resolver
- +
-- }
--\ No newline at end of file
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataTransactionContext.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataTransactionContext.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/MetadataTransactionContext.java	(working copy)
--@@ -19,6 +19,7 @@
-+         logPages = new FileBasedBuffer[numLogPages];
-  
-- import edu.uci.ics.asterix.common.functions.FunctionSignature;
-- import edu.uci.ics.asterix.external.dataset.adapter.AdapterIdentifier;
--+import edu.uci.ics.asterix.metadata.api.IMetadataEntity;
-- import edu.uci.ics.asterix.metadata.entities.Dataset;
-- import edu.uci.ics.asterix.metadata.entities.DatasourceAdapter;
-- import edu.uci.ics.asterix.metadata.entities.Datatype;
--@@ -104,19 +105,19 @@
--     }
-+         /*
-+@@ -264,7 +224,6 @@
-+         for (int i = 0; i < numLogPages; i++) {
-+             logPageOwnerCount[i] = new AtomicInteger(PageOwnershipStatus.LOG_WRITER);
-+             logPageStatus[i] = new AtomicInteger(PageState.ACTIVE);
-+-            pendingFlushRequests[i] = new LinkedBlockingQueue<Thread>();
-+         }
-  
--     public void dropDataset(String dataverseName, String datasetName) {
---        Dataset dataset = new Dataset(dataverseName, datasetName, null, null, null, -1);
--+        Dataset dataset = new Dataset(dataverseName, datasetName, null, null, null, -1, IMetadataEntity.PENDING_NO_OP);
--         droppedCache.addDatasetIfNotExists(dataset);
--         logAndApply(new MetadataLogicalOperation(dataset, false));
-+         /*
-+@@ -278,9 +237,9 @@
-+          * daemon thread so that it does not stop the JVM from exiting when all
-+          * other threads are done with their work.
-+          */
-+-        LogPageFlushThread logFlusher = new LogPageFlushThread(this);
-+-        logFlusher.setDaemon(true);
-+-        logFlusher.start();
-++        logPageFlusher = new LogPageFlushThread(this);
-++        logPageFlusher.setDaemon(true);
-++        logPageFlusher.start();
-      }
-  
--     public void dropIndex(String dataverseName, String datasetName, String indexName) {
---        Index index = new Index(dataverseName, datasetName, indexName, null, null, false);
--+        Index index = new Index(dataverseName, datasetName, indexName, null, null, false, IMetadataEntity.PENDING_NO_OP);
--         droppedCache.addIndexIfNotExists(index);
--         logAndApply(new MetadataLogicalOperation(index, false));
--     }
-- 
--     public void dropDataverse(String dataverseName) {
---        Dataverse dataverse = new Dataverse(dataverseName, null);
--+        Dataverse dataverse = new Dataverse(dataverseName, null, IMetadataEntity.PENDING_NO_OP);
--         droppedCache.addDataverseIfNotExists(dataverse);
--         logAndApply(new MetadataLogicalOperation(dataverse, false));
--     }
--@@ -162,7 +163,7 @@
-+     public int getLogPageIndex(long lsnValue) {
-+@@ -312,7 +271,7 @@
-+      */
-+     private void waitUntillPageIsAvailableForWritingLog(int pageIndex) throws ACIDException {
-+         if (logPageStatus[pageIndex].get() == PageState.ACTIVE
-+-                && getLogPageOwnershipCount(pageIndex).get() >= PageOwnershipStatus.LOG_WRITER) {
-++                && logPageOwnerCount[pageIndex].get() >= PageOwnershipStatus.LOG_WRITER) {
-+             return;
-          }
--         return droppedCache.getDataset(dataverseName, datasetName) != null;
--     }
---    
-+         try {
-+@@ -338,47 +297,40 @@
-+      */
-+     private long getLsn(int entrySize, byte logType) throws ACIDException {
-+         long pageSize = logManagerProperties.getLogPageSize();
-+-        boolean requiresFlushing = logType == LogType.COMMIT;
- +
--     public boolean indexIsDropped(String dataverseName, String datasetName, String indexName) {
--         if (droppedCache.getDataverse(dataverseName) != null) {
--             return true;
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataRecordTypes.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataRecordTypes.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataRecordTypes.java	(working copy)
--@@ -80,10 +80,11 @@
--     public static final int DATAVERSE_ARECORD_NAME_FIELD_INDEX = 0;
--     public static final int DATAVERSE_ARECORD_FORMAT_FIELD_INDEX = 1;
--     public static final int DATAVERSE_ARECORD_TIMESTAMP_FIELD_INDEX = 2;
--+    public static final int DATAVERSE_ARECORD_PENDINGOP_FIELD_INDEX = 3;
-+         while (true) {
-+             boolean forwardPage = false;
-+-            boolean shouldFlushPage = false;
-+             long old = lsn.get();
-+-            int pageIndex = getLogPageIndex(old); // get the log page
-+-            // corresponding to the
-+-            // current lsn value
-++
-++            //get the log page corresponding to the current lsn value
-++            int pageIndex = getLogPageIndex(old);
-+             long retVal = old;
-+-            long next = old + entrySize; // the lsn value for the next request,
-+-            // if the current request is served.
-++
-++            // the lsn value for the next request if the current request is served.
-++            long next = old + entrySize;
-+             int prevPage = -1;
-+-            if ((next - 1) / pageSize != old / pageSize // check if the log
-+-            // record will cross
-+-            // page boundaries, a
-+-            // case that is not
-+-            // allowed.
-+-                    || (next % pageSize == 0)) {
-++
-++            // check if the log  record will cross page boundaries, a case that is not allowed.
-++            if ((next - 1) / pageSize != old / pageSize || (next % pageSize == 0)) {
-++
-+                 if ((old != 0 && old % pageSize == 0)) {
-+-                    retVal = old; // On second thought, this shall never be the
-+-                    // case as it means that the lsn is
-+-                    // currently at the beginning of a page and
-+-                    // we still need to forward the page which
-+-                    // means that the entrySize exceeds a log
-+-                    // page size. If this is the case, an
-+-                    // exception is thrown before calling this
-+-                    // API.
-+-                    // would remove this case.
-++                    // On second thought, this shall never be the case as it means that the lsn is
-++                    // currently at the beginning of a page and we still need to forward the page which
-++                    // means that the entrySize exceeds a log page size. If this is the case, an
-++                    // exception is thrown before calling this API. would remove this case.
-++                    retVal = old;
-  
--     private static final ARecordType createDataverseRecordType() {
---        return new ARecordType("DataverseRecordType", new String[] { "DataverseName", "DataFormat", "Timestamp" },
---                new IAType[] { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING }, true);
--+        return new ARecordType("DataverseRecordType", new String[] { "DataverseName", "DataFormat", "Timestamp", "PendingOp" },
--+                new IAType[] { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.AINT32 }, true);
--     }
-+                 } else {
-+-                    retVal = ((old / pageSize) + 1) * pageSize; // set the lsn
-+-                    // to point to
-+-                    // the beginning
-+-                    // of the next
-+-                    // page.
-++                    // set the lsn to point to the beginning of the next page.
-++                    retVal = ((old / pageSize) + 1) * pageSize;
-+                 }
-++
-+                 next = retVal;
-+-                forwardPage = true; // as the log record shall cross log page
-+-                // boundary, we must re-assign the lsn (so
-+-                // that the log record begins on a different
-+-                // location.
-++
-++                // as the log record shall cross log page boundary, we must re-assign the lsn so
-++                // that the log record begins on a different location.
-++                forwardPage = true;
-++
-+                 prevPage = pageIndex;
-+                 pageIndex = getNextPageInSequence(pageIndex);
-+             }
-+@@ -397,109 +349,51 @@
-+              */
-+             waitUntillPageIsAvailableForWritingLog(pageIndex);
-  
--     // Helper constants for accessing fields in an ARecord of anonymous type
--@@ -158,10 +159,11 @@
--     public static final int DATASET_ARECORD_FEEDDETAILS_FIELD_INDEX = 6;
--     public static final int DATASET_ARECORD_TIMESTAMP_FIELD_INDEX = 7;
--     public static final int DATASET_ARECORD_DATASETID_FIELD_INDEX = 8;
--+    public static final int DATASET_ARECORD_PENDINGOP_FIELD_INDEX = 9;
-+-            if (!forwardPage && requiresFlushing) {
-+-                shouldFlushPage = commitResolver.shouldCommitPage(pageIndex, this, commitRequestStatistics);
-+-                if (shouldFlushPage) {
-+-                    next = ((next / pageSize) + 1) * pageSize; /*
-+-                                                                * next
-+-                                                                * represents the
-+-                                                                * next value of
-+-                                                                * lsn after this
-+-                                                                * log record has
-+-                                                                * been written.
-+-                                                                * If the page
-+-                                                                * needs to be
-+-                                                                * flushed, then
-+-                                                                * we do not give
-+-                                                                * any more LSNs
-+-                                                                * from this
-+-                                                                * page.
-+-                                                                */
-+-                }
-+-            }
-+-            if (!lsn.compareAndSet(old, next)) { // Atomic call -> returns true
-+-                // only when the value
-+-                // represented by lsn is same as
-+-                // "old". The value is updated
-+-                // to "next".
-++            if (!lsn.compareAndSet(old, next)) {
-++                // Atomic call -> returns true only when the value represented by lsn is same as
-++                // "old". The value is updated to "next".
-+                 continue;
-+             }
-  
--     private static final ARecordType createDatasetRecordType() {
--         String[] fieldNames = { "DataverseName", "DatasetName", "DataTypeName", "DatasetType", "InternalDetails",
---                "ExternalDetails", "FeedDetails", "Timestamp", "DatasetId" };
--+                "ExternalDetails", "FeedDetails", "Timestamp", "DatasetId", "PendingOp" };
-+             if (forwardPage) {
-+-                //TODO 
-+-                //this is not safe since the incoming thread may reach the same page slot with this page 
-+-                //(differ by the log buffer size)
-+-                logPageStatus[prevPage].set(PageState.INACTIVE); // mark
-+-                // previous
-+-                // page
-+-                // inactive
-++                addFlushRequest(prevPage, old, false);
-  
--         List<IAType> internalRecordUnionList = new ArrayList<IAType>();
--         internalRecordUnionList.add(BuiltinType.ANULL);
--@@ -179,7 +181,8 @@
--         AUnionType feedRecordUnion = new AUnionType(feedRecordUnionList, null);
-- 
--         IAType[] fieldTypes = { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING,
---                internalRecordUnion, externalRecordUnion, feedRecordUnion, BuiltinType.ASTRING, BuiltinType.AINT32 };
--+                internalRecordUnion, externalRecordUnion, feedRecordUnion, BuiltinType.ASTRING, BuiltinType.AINT32,
--+                BuiltinType.AINT32 };
--         return new ARecordType("DatasetRecordType", fieldNames, fieldTypes, true);
-+-                /*
-+-                 * decrement on the behalf of the log manager. if there are no
-+-                 * more owners (count == 0) the page must be marked as a
-+-                 * candidate to be flushed.
-+-                 */
-+-                int pageDirtyCount = getLogPageOwnershipCount(prevPage).decrementAndGet();
-+-                if (pageDirtyCount == 0) {
-+-                    addFlushRequest(prevPage);
-+-                }
-+-
-+-                /*
-+-                 * The transaction thread that discovers the need to forward a
-+-                 * page is made to re-acquire a lsn.
-+-                 */
-++                // The transaction thread that discovers the need to forward a
-++                // page is made to re-acquire a lsn.
-+                 continue;
-++
-+             } else {
-+-                /*
-+-                 * the transaction thread has been given a space in a log page,
-+-                 * but is made to wait until the page is available.
-+-                 */
-++                // the transaction thread has been given a space in a log page,
-++                // but is made to wait until the page is available.
-++                // (Is this needed? when does this wait happen?)
-+                 waitUntillPageIsAvailableForWritingLog(pageIndex);
-+-                /*
-+-                 * increment the counter as the transaction thread now holds a
-+-                 * space in the log page and hence is an owner.
-+-                 */
-++
-++                // increment the counter as the transaction thread now holds a
-++                // space in the log page and hence is an owner.
-+                 logPageOwnerCount[pageIndex].incrementAndGet();
-+-            }
-+-            if (requiresFlushing) {
-+-                if (!shouldFlushPage) {
-+-                    /*
-+-                     * the log record requires the page to be flushed but under
-+-                     * the commit policy, the flush task has been deferred. The
-+-                     * transaction thread submits its request to flush the page.
-+-                     */
-+-                    commitRequestStatistics.registerCommitRequest(pageIndex);
-+-                } else {
-+-                    /*
-+-                     * the flush request was approved by the commit resolver.
-+-                     * Thus the page is marked INACTIVE as no more logs will be
-+-                     * written on this page. The log manager needs to release
-+-                     * its ownership. Note that transaction threads may still
-+-                     * continue to be owners of the log page till they fill up
-+-                     * the space allocated to them.
-+-                     */
-+-                    logPageStatus[pageIndex].set(PageState.INACTIVE);
-+-                    logPageOwnerCount[pageIndex].decrementAndGet(); // on
-+-                    // the
-+-                    // behalf
-+-                    // of
-+-                    // log
-+-                    // manager
-++
-++                // Before the count is incremented, if the flusher flushed the allocated page, 
-++                // then retry to get new LSN. Otherwise, the log with allocated lsn will be lost. 
-++                if (lastFlushedLsn.get() >= retVal) {
-++                    logPageOwnerCount[pageIndex].decrementAndGet();
-++                    continue;
-+                 }
-+             }
-++
-+             return retVal;
-+         }
-      }
-  
--@@ -264,13 +267,14 @@
--     public static final int INDEX_ARECORD_SEARCHKEY_FIELD_INDEX = 4;
--     public static final int INDEX_ARECORD_ISPRIMARY_FIELD_INDEX = 5;
--     public static final int INDEX_ARECORD_TIMESTAMP_FIELD_INDEX = 6;
--+    public static final int INDEX_ARECORD_PENDINGOP_FIELD_INDEX = 7;
-+     @Override
-+-    public void log(byte logType, TransactionContext context, int datasetId, int PKHashValue, long resourceId,
-++    public void log(byte logType, TransactionContext txnCtx, int datasetId, int PKHashValue, long resourceId,
-+             byte resourceMgrId, int logContentSize, ReusableLogContentObject reusableLogContentObject, ILogger logger,
-+             LogicalLogLocator logicalLogLocator) throws ACIDException {
-+-        /*
-+-         * logLocator is a re-usable object that is appropriately set in each
-+-         * invocation. If the reference is null, the log manager must throw an
-+-         * exception
-+-         */
-++
-++        HashMap<TransactionContext, Integer> map = null;
-++        int activeTxnCount;
-++
-++        // logLocator is a re-usable object that is appropriately set in each invocation. 
-++        // If the reference is null, the log manager must throw an exception.
-+         if (logicalLogLocator == null) {
-+             throw new ACIDException(
-+                     " you need to pass in a non-null logLocator, if you dont have it, then pass in a dummy so that the +"
-+@@ -519,20 +413,19 @@
-  
--     private static final ARecordType createIndexRecordType() {
--         AOrderedListType olType = new AOrderedListType(BuiltinType.ASTRING, null);
--         String[] fieldNames = { "DataverseName", "DatasetName", "IndexName", "IndexStructure", "SearchKey",
---                "IsPrimary", "Timestamp" };
--+                "IsPrimary", "Timestamp", "PendingOp" };
--         IAType[] fieldTypes = { BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING, BuiltinType.ASTRING,
---                olType, BuiltinType.ABOOLEAN, BuiltinType.ASTRING };
--+                olType, BuiltinType.ABOOLEAN, BuiltinType.ASTRING, BuiltinType.AINT32 };
--         return new ARecordType("IndexRecordType", fieldNames, fieldTypes, true);
--     };
-+         // all constraints checked and we are good to go and acquire a lsn.
-+         long previousLSN = -1;
-+-        long currentLSN; // the will be set to the location (a long value)
-+-        // where the log record needs to be placed.
-  
--Index: asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataBootstrap.java
--===================================================================
----- asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataBootstrap.java	(revision 1061)
--+++ asterix-metadata/src/main/java/edu/uci/ics/asterix/metadata/bootstrap/MetadataBootstrap.java	(working copy)
--@@ -31,6 +31,7 @@
-- import edu.uci.ics.asterix.metadata.IDatasetDetails;
-- import edu.uci.ics.asterix.metadata.MetadataManager;
-- import edu.uci.ics.asterix.metadata.MetadataTransactionContext;
--+import edu.uci.ics.asterix.metadata.api.IMetadataEntity;
-- import edu.uci.ics.asterix.metadata.api.IMetadataIndex;
-- import edu.uci.ics.asterix.metadata.entities.AsterixBuiltinTypeMap;
-- import edu.uci.ics.asterix.metadata.entities.Dataset;
--@@ -226,7 +227,7 @@
--     public static void insertInitialDataverses(MetadataTransactionContext mdTxnCtx) throws Exception {
--         String dataverseName = MetadataPrimaryIndexes.DATAVERSE_DATASET.getDataverseName();
--         String dataFormat = NonTaggedDataFormat.NON_TAGGED_DATA_FORMAT;
---        MetadataManager.INSTANCE.addDataverse(mdTxnCtx, new Dataverse(dataverseName, dataFormat));
--+        MetadataManager.INSTANCE.addDataverse(mdTxnCtx, new Dataverse(dataverseName, dataFormat, IMetadataEntity.PENDING_NO_OP));
--     }
-+-        /*
-+-         * The logs written by a transaction need to be linked to each other for
-+-         * a successful rollback/recovery. However there could be multiple
-+-         * threads operating concurrently that are part of a common transaction.
-+-         * These threads need to synchronize and record the lsn corresponding to
-+-         * the last log record written by (any thread of) the transaction.
-+-         */
-+-        synchronized (context) {
-+-            previousLSN = context.getLastLogLocator().getLsn();
-++        // the will be set to the location (a long value) where the log record needs to be placed.
-++        long currentLSN;
-++
-++        // The logs written by a transaction need to be linked to each other for
-++        // a successful rollback/recovery. However there could be multiple
-++        // threads operating concurrently that are part of a common transaction.
-++        // These threads need to synchronize and record the lsn corresponding to
-++        // the last log record written by (any thread of) the transaction.
-++        synchronized (txnCtx) {
-++            previousLSN = txnCtx.getLastLogLocator().getLsn();
-+             currentLSN = getLsn(totalLogSize, logType);
-+-            context.setLastLSN(currentLSN);
-++            txnCtx.setLastLSN(currentLSN);
-+             if (IS_DEBUG_MODE) {
-+                 System.out.println("--------------> LSN(" + currentLSN + ") is allocated");
-+             }
-+@@ -547,48 +440,37 @@
-+          * performed correctly that is ownership is released.
-+          */
-  
--     public static void insertInitialDatasets(MetadataTransactionContext mdTxnCtx) throws Exception {
--@@ -236,7 +237,7 @@
--                     primaryIndexes[i].getNodeGroupName());
--             MetadataManager.INSTANCE.addDataset(mdTxnCtx, new Dataset(primaryIndexes[i].getDataverseName(),
--                     primaryIndexes[i].getIndexedDatasetName(), primaryIndexes[i].getPayloadRecordType().getTypeName(),
---                    id, DatasetType.INTERNAL, primaryIndexes[i].getDatasetId().getId()));
--+                    id, DatasetType.INTERNAL, primaryIndexes[i].getDatasetId().getId(), IMetadataEntity.PENDING_NO_OP));
--         }
--     }
-+-        boolean decremented = false; // indicates if the transaction thread
-+-        // has release ownership of the
-+-        // page.
-+-        boolean addedFlushRequest = false; // indicates if the transaction
-+-        // thread has submitted a flush
-+-        // request.
-++        // indicates if the transaction thread has release ownership of the page.
-++        boolean decremented = false;
-  
--@@ -267,7 +268,7 @@
--         for (int i = 0; i < secondaryIndexes.length; i++) {
--             MetadataManager.INSTANCE.addIndex(mdTxnCtx, new Index(secondaryIndexes[i].getDataverseName(),
--                     secondaryIndexes[i].getIndexedDatasetName(), secondaryIndexes[i].getIndexName(), IndexType.BTREE,
---                    secondaryIndexes[i].getPartitioningExpr(), false));
--+                    secondaryIndexes[i].getPartitioningExpr(), false, IMetadataEntity.PENDING_NO_OP));
--         }
--     }
-+         int pageIndex = (int) getLogPageIndex(currentLSN);
-  
--Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
--===================================================================
----- asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(revision 1061)
--+++ asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(working copy)
--@@ -95,11 +95,11 @@
--             File testFile = tcCtx.getTestFile(cUnit);
-- 
--             /*************** to avoid run failure cases ****************
---            if (!testFile.getAbsolutePath().contains("runtimets/queries/failure/")) {
--+            if (!testFile.getAbsolutePath().contains("index-selection/")) {
--                 continue;
--             }
--             ************************************************************/
-+-        /*
-+-         * the lsn has been obtained for the log record. need to set the
-+-         * LogLocator instance accordingly.
-+-         */
- -
--+            
--             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);
--             File actualFile = new File(PATH_ACTUAL + File.separator
--                     + tcCtx.getTestCase().getFilePath().replace(File.separator, "_") + "_" + cUnit.getName() + ".adm");
--Index: asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java
--===================================================================
----- asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java	(revision 1061)
--+++ asterix-app/src/main/java/edu/uci/ics/asterix/file/DatasetOperations.java	(working copy)
--@@ -90,7 +90,7 @@
-++        // the lsn has been obtained for the log record. need to set the
-++        // LogLocator instance accordingly.
-+         try {
-+-
-+             logicalLogLocator.setBuffer(logPages[pageIndex]);
-+             int pageOffset = getLogPageOffset(currentLSN);
-+             logicalLogLocator.setMemoryOffset(pageOffset);
-  
--     private static Logger LOGGER = Logger.getLogger(DatasetOperations.class.getName());
-+-            /*
-+-             * write the log header.
-+-             */
-+-            logRecordHelper.writeLogHeader(logicalLogLocator, logType, context, datasetId, PKHashValue, previousLSN,
-++            // write the log header.
-++            logRecordHelper.writeLogHeader(logicalLogLocator, logType, txnCtx, datasetId, PKHashValue, previousLSN,
-+                     resourceId, resourceMgrId, logContentSize);
-  
---    public static JobSpecification[] createDropDatasetJobSpec(CompiledDatasetDropStatement datasetDropStmt,
--+    public static JobSpecification createDropDatasetJobSpec(CompiledDatasetDropStatement datasetDropStmt,
--             AqlMetadataProvider metadataProvider) throws AlgebricksException, HyracksDataException, RemoteException,
--             ACIDException, AsterixException {
-+             // increment the offset so that the transaction can fill up the
-+             // content in the correct region of the allocated space.
-+             logicalLogLocator.increaseMemoryOffset(logRecordHelper.getLogHeaderSize(logType));
-  
--@@ -111,67 +111,10 @@
--             throw new AlgebricksException("DROP DATASET: No metadata for dataset " + datasetName);
--         }
--         if (dataset.getDatasetType() == DatasetType.EXTERNAL) {
---            return new JobSpecification[0];
--+            return new JobSpecification();
--         }
---
---        List<Index> datasetIndexes = metadataProvider.getDatasetIndexes(dataset.getDataverseName(),
---                dataset.getDatasetName());
---        int numSecondaryIndexes = 0;
---        for (Index index : datasetIndexes) {
---            if (index.isSecondaryIndex()) {
---                numSecondaryIndexes++;
---            }
---        }
---        JobSpecification[] specs;
---        if (numSecondaryIndexes > 0) {
---            specs = new JobSpecification[numSecondaryIndexes + 1];
---            int i = 0;
---            // First, drop secondary indexes.
---            for (Index index : datasetIndexes) {
---                if (index.isSecondaryIndex()) {
---                    specs[i] = new JobSpecification();
---                    Pair<IFileSplitProvider, AlgebricksPartitionConstraint> idxSplitsAndConstraint = metadataProvider
---                            .splitProviderAndPartitionConstraintsForInternalOrFeedDataset(dataset.getDataverseName(),
---                                    datasetName, index.getIndexName());
---                    IIndexDataflowHelperFactory dfhFactory;
---                    switch (index.getIndexType()) {
---                        case BTREE:
---                            dfhFactory = new LSMBTreeDataflowHelperFactory(
---                                    AsterixRuntimeComponentsProvider.LSMBTREE_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMBTREE_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMBTREE_PROVIDER);
---                            break;
---                        case RTREE:
---                            dfhFactory = new LSMRTreeDataflowHelperFactory(
---                                    new IPrimitiveValueProviderFactory[] { null }, RTreePolicyType.RTREE,
---                                    new IBinaryComparatorFactory[] { null },
---                                    AsterixRuntimeComponentsProvider.LSMRTREE_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMRTREE_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMRTREE_PROVIDER, null);
---                            break;
---                        case NGRAM_INVIX:
---                        case WORD_INVIX:
---                            dfhFactory = new LSMInvertedIndexDataflowHelperFactory(
---                                    AsterixRuntimeComponentsProvider.LSMINVERTEDINDEX_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMINVERTEDINDEX_PROVIDER,
---                                    AsterixRuntimeComponentsProvider.LSMINVERTEDINDEX_PROVIDER);
---                            break;
---                        default:
---                            throw new AsterixException("Unknown index type provided.");
---                    }
---                    IndexDropOperatorDescriptor secondaryBtreeDrop = new IndexDropOperatorDescriptor(specs[i],
---                            AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER,
---                            AsterixRuntimeComponentsProvider.NOINDEX_PROVIDER, idxSplitsAndConstraint.first, dfhFactory);
---                    AlgebricksPartitionConstraintHelper.setPartitionConstraintInJobSpec(specs[i], secondaryBtreeDrop,
---                            idxSplitsAndConstraint.second);
---                    i++;
---                }
---            }
---        } else {
---            specs = new JobSpecification[1];
---        }
--+        
--         JobSpecification specPrimary = new JobSpecification();
---        specs[specs.length - 1] = specPrimary;
-+-            // a COMMIT log record does not have any content
-+-            // and hence the logger (responsible for putting the log content) is
-+-            // not invoked.
-++            // a COMMIT log record does not have any content and hence 
-++            // the logger (responsible for putting the log content) is not invoked.
-+             if (logContentSize != 0) {
-+-                logger.preLog(context, reusableLogContentObject);
-++                logger.preLog(txnCtx, reusableLogContentObject);
-+             }
-  
--         Pair<IFileSplitProvider, AlgebricksPartitionConstraint> splitsAndConstraint = metadataProvider
--                 .splitProviderAndPartitionConstraintsForInternalOrFeedDataset(dataset.getDataverseName(), datasetName,
--@@ -187,7 +130,7 @@
-+             if (logContentSize != 0) {
-+                 // call the logger implementation and ask to fill in the log
-+                 // record content at the allocated space.
-+-                logger.log(context, logicalLogLocator, logContentSize, reusableLogContentObject);
-+-                logger.postLog(context, reusableLogContentObject);
-++                logger.log(txnCtx, logicalLogLocator, logContentSize, reusableLogContentObject);
-++                logger.postLog(txnCtx, reusableLogContentObject);
-+                 if (IS_DEBUG_MODE) {
-+                     logicalLogLocator.setMemoryOffset(logicalLogLocator.getMemoryOffset()
-+                             - logRecordHelper.getLogHeaderSize(logType));
-+@@ -597,10 +479,8 @@
-+                 }
-+             }
-  
--         specPrimary.addRoot(primaryBtreeDrop);
-+-            /*
-+-             * The log record has been written. For integrity checks, compute
-+-             * the checksum and put it at the end of the log record.
-+-             */
-++            // The log record has been written. For integrity checks, compute
-++            // the checksum and put it at the end of the log record.
-+             int startPosChecksum = logicalLogLocator.getMemoryOffset() - logRecordHelper.getLogHeaderSize(logType);
-+             int length = totalLogSize - logRecordHelper.getLogChecksumSize();
-+             long checksum = DataUtil.getChecksum(logPages[pageIndex], startPosChecksum, length);
-+@@ -611,46 +491,31 @@
-+                 System.out.println("--------------> LSN(" + currentLSN + ") is written");
-+             }
-  
---        return specs;
--+        return specPrimary;
--     }
-+-            /*
-+-             * release the ownership as the log record has been placed in
-+-             * created space.
-+-             */
-+-            int pageDirtyCount = logPageOwnerCount[pageIndex].decrementAndGet();
-++            // release the ownership as the log record has been placed in created space.
-++            logPageOwnerCount[pageIndex].decrementAndGet();
-  
--     public static JobSpecification createDatasetJobSpec(Dataverse dataverse, String datasetName,
--Index: asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java
--===================================================================
----- asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java	(revision 1061)
--+++ asterix-app/src/main/java/edu/uci/ics/asterix/aql/translator/AqlTranslator.java	(working copy)
--@@ -21,6 +21,8 @@
-- import java.util.HashMap;
-- import java.util.List;
-- import java.util.Map;
--+import java.util.concurrent.locks.ReadWriteLock;
--+import java.util.concurrent.locks.ReentrantReadWriteLock;
-+             // indicating that the transaction thread has released ownership
-+             decremented = true;
-  
-- import org.json.JSONException;
-+-            /*
-+-             * If the transaction thread happens to be the last owner of the log
-+-             * page the page must by marked as a candidate to be flushed.
-+-             */
-+-            if (pageDirtyCount == 0 && logPageStatus[pageIndex].get() == PageState.INACTIVE) {
-+-                addFlushRequest(pageIndex);
-+-                addedFlushRequest = true;
-+-            }
-+-
-+-            /*
-+-             * If the log type is commit, a flush request is registered, if the
-+-             * log record has not reached the disk. It may be possible that this
-+-             * thread does not get CPU cycles and in-between the log record has
-+-             * been flushed to disk because the containing log page filled up.
-+-             */
-+-            if (logType == LogType.COMMIT) {
-+-                synchronized (logPages[pageIndex]) {
-+-                    while (getLastFlushedLsn().get() < currentLSN) {
-+-                        logPages[pageIndex].wait();
-+-                    }
-++            if (logType == LogType.ENTITY_COMMIT) {
-++                map = activeTxnCountMaps.get(pageIndex);
-++                if (map.containsKey(txnCtx)) {
-++                    activeTxnCount = (Integer) map.get(txnCtx);
-++                    activeTxnCount++;
-++                    map.put(txnCtx, activeTxnCount);
-++                } else {
-++                    map.put(txnCtx, 1);
-+                 }
-++                addFlushRequest(pageIndex, currentLSN, false);
-++            } else if (logType == LogType.COMMIT) {
-++                addFlushRequest(pageIndex, currentLSN, true);
-+             }
-  
--@@ -68,6 +70,7 @@
-- import edu.uci.ics.asterix.metadata.MetadataException;
-- import edu.uci.ics.asterix.metadata.MetadataManager;
-- import edu.uci.ics.asterix.metadata.MetadataTransactionContext;
--+import edu.uci.ics.asterix.metadata.api.IMetadataEntity;
-- import edu.uci.ics.asterix.metadata.declared.AqlMetadataProvider;
-- import edu.uci.ics.asterix.metadata.entities.Dataset;
-- import edu.uci.ics.asterix.metadata.entities.Datatype;
--@@ -112,6 +115,7 @@
--     private final PrintWriter out;
--     private final SessionConfig sessionConfig;
--     private final DisplayFormat pdf;
--+    private final ReadWriteLock cacheLatch;
--     private Dataverse activeDefaultDataverse;
--     private List<FunctionDecl> declaredFunctions;
-+         } catch (Exception e) {
-+             e.printStackTrace();
-+-            throw new ACIDException(context, "Thread: " + Thread.currentThread().getName()
-++            throw new ACIDException(txnCtx, "Thread: " + Thread.currentThread().getName()
-+                     + " logger encountered exception", e);
-+         } finally {
-+-            /*
-+-             * If an exception was encountered and we did not release ownership
-+-             */
-+             if (!decremented) {
-+                 logPageOwnerCount[pageIndex].decrementAndGet();
-+             }
-+@@ -667,9 +532,6 @@
-  
--@@ -121,6 +125,7 @@
--         this.out = out;
--         this.sessionConfig = pc;
--         this.pdf = pdf;
--+        this.cacheLatch = new ReentrantReadWriteLock(true);
--         declaredFunctions = getDeclaredFunctions(aqlStatements);
-+         logPages[pageIndex].reset(filePath, LogUtil.getFileOffset(this, nextWritePosition),
-+                 logManagerProperties.getLogPageSize());
-+-
-+-        //TODO Check if this is necessary
-+-        //Arrays.fill(logPages[pageIndex].getArray(), (byte) 0);
-      }
-  
--@@ -143,8 +148,7 @@
-+     @Override
-+@@ -747,16 +609,13 @@
-+             //minimize memory allocation overhead. current code allocates the log page size per reading a log record.
-  
--         for (Statement stmt : aqlStatements) {
--             validateOperation(activeDefaultDataverse, stmt);
---            MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
---            AqlMetadataProvider metadataProvider = new AqlMetadataProvider(mdTxnCtx, activeDefaultDataverse);
--+            AqlMetadataProvider metadataProvider = new AqlMetadataProvider(activeDefaultDataverse);
--             metadataProvider.setWriterFactory(writerFactory);
--             metadataProvider.setOutputFile(outputFile);
--             metadataProvider.setConfig(config);
--@@ -253,15 +257,9 @@
--                     }
-+             byte[] pageContent = new byte[logManagerProperties.getLogPageSize()];
-+-            // take a lock on the log page so that the page is not flushed to
-+-            // disk interim
-++
-++            // take a lock on the log page so that the page is not flushed to disk interim
-+             synchronized (logPages[pageIndex]) {
-+-                if (lsnValue > getLastFlushedLsn().get()) { // need to check
-+-                    // again
-+-                    // (this
-+-                    // thread may have got
-+-                    // de-scheduled and must
-+-                    // refresh!)
-  
--                 }
---                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--             } catch (Exception e) {
---                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--                 throw new AlgebricksException(e);
-++                // need to check again (this thread may have got de-scheduled and must refresh!)
-++                if (lsnValue > getLastFlushedLsn().get()) {
-++
-+                     // get the log record length
-+                     logPages[pageIndex].getBytes(pageContent, 0, pageContent.length);
-+                     byte logType = pageContent[pageOffset + 4];
-+@@ -765,9 +624,7 @@
-+                     int logRecordSize = logHeaderSize + logBodySize + logRecordHelper.getLogChecksumSize();
-+                     logRecord = new byte[logRecordSize];
-+ 
-+-                    /*
-+-                     * copy the log record content
-+-                     */
-++                    // copy the log record content
-+                     System.arraycopy(pageContent, pageOffset, logRecord, 0, logRecordSize);
-+                     MemBasedBuffer memBuffer = new MemBasedBuffer(logRecord);
-+                     if (logicalLogLocator == null) {
-+@@ -790,9 +647,7 @@
-              }
---            // Following jobs are run under a separate transaction, that is committed/aborted by the JobEventListener
---            for (JobSpecification jobspec : jobsToExecute) {
---                runJob(hcc, jobspec);
---            }
-          }
--         return executionResult;
-+ 
-+-        /*
-+-         * the log record is residing on the disk, read it from there.
-+-         */
-++        // the log record is residing on the disk, read it from there.
-+         readDiskLog(lsnValue, logicalLogLocator);
-      }
--@@ -289,398 +287,802 @@
-  
--     private Dataverse handleUseDataverseStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, RemoteException, ACIDException {
---        DataverseDecl dvd = (DataverseDecl) stmt;
---        String dvName = dvd.getDataverseName().getValue();
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(), dvName);
---        if (dv == null) {
---            throw new MetadataException("Unknown dataverse " + dvName);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            DataverseDecl dvd = (DataverseDecl) stmt;
--+            String dvName = dvd.getDataverseName().getValue();
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(), dvName);
--+            if (dv == null) {
--+                throw new MetadataException("Unknown dataverse " + dvName);
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            return dv;
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new MetadataException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
---        return dv;
-+@@ -860,30 +715,40 @@
-+         return logPageOwnerCount[pageIndex];
-      }
-  
--     private void handleCreateDataverseStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, AlgebricksException, RemoteException,
--             ACIDException {
---        CreateDataverseStatement stmtCreateDataverse = (CreateDataverseStatement) stmt;
---        String dvName = stmtCreateDataverse.getDataverseName().getValue();
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(), dvName);
---        if (dv != null && !stmtCreateDataverse.getIfNotExists()) {
---            throw new AlgebricksException("A dataverse with this name " + dvName + " already exists.");
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            CreateDataverseStatement stmtCreateDataverse = (CreateDataverseStatement) stmt;
--+            String dvName = stmtCreateDataverse.getDataverseName().getValue();
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(), dvName);
--+            if (dv != null && !stmtCreateDataverse.getIfNotExists()) {
--+                throw new AlgebricksException("A dataverse with this name " + dvName + " already exists.");
--+            }
--+            MetadataManager.INSTANCE.addDataverse(metadataProvider.getMetadataTxnContext(), new Dataverse(dvName,
--+                    stmtCreateDataverse.getFormat(), IMetadataEntity.PENDING_NO_OP));
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
---        MetadataManager.INSTANCE.addDataverse(metadataProvider.getMetadataTxnContext(), new Dataverse(dvName,
---                stmtCreateDataverse.getFormat()));
-+-    public ICommitResolver getCommitResolver() {
-+-        return commitResolver;
-+-    }
-+-
-+-    public CommitRequestStatistics getCommitRequestStatistics() {
-+-        return commitRequestStatistics;
-+-    }
-+-
-+     public IFileBasedBuffer[] getLogPages() {
-+         return logPages;
-      }
-  
--     private void handleCreateDatasetStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws AsterixException, Exception {
---        DatasetDecl dd = (DatasetDecl) stmt;
---        String dataverseName = dd.getDataverse() != null ? dd.getDataverse().getValue()
---                : activeDefaultDataverse != null ? activeDefaultDataverse.getDataverseName() : null;
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
---        }
---        String datasetName = dd.getName().getValue();
---        DatasetType dsType = dd.getDatasetType();
---        String itemTypeName = dd.getItemTypeName().getValue();
-- 
---        IDatasetDetails datasetDetails = null;
---        Dataset ds = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName,
---                datasetName);
---        if (ds != null) {
---            if (dd.getIfNotExists()) {
---                return;
---            } else {
---                throw new AlgebricksException("A dataset with this name " + datasetName + " already exists.");
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
-+-    public int getLastFlushedPage() {
-+-        return lastFlushedPage.get();
-+-    }
-+-
-+-    public void setLastFlushedPage(int lastFlushedPage) {
-+-        this.lastFlushedPage.set(lastFlushedPage);
-+-    }
-+-
-+     @Override
-+     public TransactionSubsystem getTransactionSubsystem() {
-+         return provider;
-+     }
- +
--+        try {
--+            DatasetDecl dd = (DatasetDecl) stmt;
--+            String dataverseName = dd.getDataverse() != null ? dd.getDataverse().getValue()
--+                    : activeDefaultDataverse != null ? activeDefaultDataverse.getDataverseName() : null;
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--             }
---        }
---        Datatype dt = MetadataManager.INSTANCE.getDatatype(metadataProvider.getMetadataTxnContext(), dataverseName,
---                itemTypeName);
---        if (dt == null) {
---            throw new AlgebricksException(": type " + itemTypeName + " could not be found.");
---        }
---        switch (dd.getDatasetType()) {
---            case INTERNAL: {
---                IAType itemType = dt.getDatatype();
---                if (itemType.getTypeTag() != ATypeTag.RECORD) {
---                    throw new AlgebricksException("Can only partition ARecord's.");
--+            String datasetName = dd.getName().getValue();
--+            DatasetType dsType = dd.getDatasetType();
--+            String itemTypeName = dd.getItemTypeName().getValue();
-++    public void decrementActiveTxnCountOnIndexes(int pageIndex) throws HyracksDataException {
-++        TransactionContext ctx = null;
-++        int count = 0;
-++        int i = 0;
- +
--+            IDatasetDetails datasetDetails = null;
--+            Dataset ds = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName,
--+                    datasetName);
--+            if (ds != null) {
--+                if (dd.getIfNotExists()) {
--+                    MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                    return;
--+                } else {
--+                    throw new AlgebricksException("A dataset with this name " + datasetName + " already exists.");
--                 }
---                List<String> partitioningExprs = ((InternalDetailsDecl) dd.getDatasetDetailsDecl())
---                        .getPartitioningExprs();
---                String ngName = ((InternalDetailsDecl) dd.getDatasetDetailsDecl()).getNodegroupName().getValue();
---                datasetDetails = new InternalDatasetDetails(InternalDatasetDetails.FileStructure.BTREE,
---                        InternalDatasetDetails.PartitioningStrategy.HASH, partitioningExprs, partitioningExprs, ngName);
---                break;
--             }
---            case EXTERNAL: {
---                String adapter = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getAdapter();
---                Map<String, String> properties = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getProperties();
---                datasetDetails = new ExternalDatasetDetails(adapter, properties);
---                break;
--+            Datatype dt = MetadataManager.INSTANCE.getDatatype(metadataProvider.getMetadataTxnContext(), dataverseName,
--+                    itemTypeName);
--+            if (dt == null) {
--+                throw new AlgebricksException(": type " + itemTypeName + " could not be found.");
--             }
---            case FEED: {
---                IAType itemType = dt.getDatatype();
---                if (itemType.getTypeTag() != ATypeTag.RECORD) {
---                    throw new AlgebricksException("Can only partition ARecord's.");
--+            switch (dd.getDatasetType()) {
--+                case INTERNAL: {
--+                    IAType itemType = dt.getDatatype();
--+                    if (itemType.getTypeTag() != ATypeTag.RECORD) {
--+                        throw new AlgebricksException("Can only partition ARecord's.");
-++        HashMap<TransactionContext, Integer> map = activeTxnCountMaps.get(pageIndex);
-++        Set<Map.Entry<TransactionContext, Integer>> entrySet = map.entrySet();
-++        if (entrySet != null) {
-++            for (Map.Entry<TransactionContext, Integer> entry : entrySet) {
-++                if (entry != null) {
-++                    if (entry.getValue() != null) {
-++                        count = entry.getValue();
- +                    }
--+                    List<String> partitioningExprs = ((InternalDetailsDecl) dd.getDatasetDetailsDecl())
--+                            .getPartitioningExprs();
--+                    String ngName = ((InternalDetailsDecl) dd.getDatasetDetailsDecl()).getNodegroupName().getValue();
--+                    datasetDetails = new InternalDatasetDetails(InternalDatasetDetails.FileStructure.BTREE,
--+                            InternalDatasetDetails.PartitioningStrategy.HASH, partitioningExprs, partitioningExprs,
--+                            ngName);
--+                    break;
--                 }
---                List<String> partitioningExprs = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getPartitioningExprs();
---                String ngName = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getNodegroupName().getValue();
---                String adapter = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getAdapterFactoryClassname();
---                Map<String, String> configuration = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getConfiguration();
---                FunctionSignature signature = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getFunctionSignature();
---                datasetDetails = new FeedDatasetDetails(InternalDatasetDetails.FileStructure.BTREE,
---                        InternalDatasetDetails.PartitioningStrategy.HASH, partitioningExprs, partitioningExprs, ngName,
---                        adapter, configuration, signature, FeedDatasetDetails.FeedState.INACTIVE.toString());
---                break;
--+                case EXTERNAL: {
--+                    String adapter = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getAdapter();
--+                    Map<String, String> properties = ((ExternalDetailsDecl) dd.getDatasetDetailsDecl()).getProperties();
--+                    datasetDetails = new ExternalDatasetDetails(adapter, properties);
--+                    break;
--+                }
--+                case FEED: {
--+                    IAType itemType = dt.getDatatype();
--+                    if (itemType.getTypeTag() != ATypeTag.RECORD) {
--+                        throw new AlgebricksException("Can only partition ARecord's.");
-++                    if (count > 0) {
-++                        ctx = entry.getKey();
-++                        for (i = 0; i < count; i++) {
-++                            ctx.decreaseActiveTransactionCountOnIndexes();
-++                        }
- +                    }
--+                    List<String> partitioningExprs = ((FeedDetailsDecl) dd.getDatasetDetailsDecl())
--+                            .getPartitioningExprs();
--+                    String ngName = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getNodegroupName().getValue();
--+                    String adapter = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getAdapterFactoryClassname();
--+                    Map<String, String> configuration = ((FeedDetailsDecl) dd.getDatasetDetailsDecl())
--+                            .getConfiguration();
--+                    FunctionSignature signature = ((FeedDetailsDecl) dd.getDatasetDetailsDecl()).getFunctionSignature();
--+                    datasetDetails = new FeedDatasetDetails(InternalDatasetDetails.FileStructure.BTREE,
--+                            InternalDatasetDetails.PartitioningStrategy.HASH, partitioningExprs, partitioningExprs,
--+                            ngName, adapter, configuration, signature, FeedDatasetDetails.FeedState.INACTIVE.toString());
--+                    break;
- +                }
--             }
--+
--+            //#. add a new dataset with PendingAddOp
--+            Dataset dataset = new Dataset(dataverseName, datasetName, itemTypeName, datasetDetails, dsType,
--+                    DatasetIdFactory.generateDatasetId(), IMetadataEntity.PENDING_ADD_OP);
--+            MetadataManager.INSTANCE.addDataset(metadataProvider.getMetadataTxnContext(), dataset);
--+
--+            if (dd.getDatasetType() == DatasetType.INTERNAL || dd.getDatasetType() == DatasetType.FEED) {
--+                Dataverse dataverse = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(),
--+                        dataverseName);
--+                JobSpecification jobSpec = DatasetOperations.createDatasetJobSpec(dataverse, datasetName,
--+                        metadataProvider);
--+
--+                //#. make metadataTxn commit before calling runJob.
--+                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                bActiveTxn = false;
--+
--+                //#. runJob
--+                runJob(hcc, jobSpec);
--+
--+                //#. begin new metadataTxn
--+                mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+                bActiveTxn = true;
--+                metadataProvider.setMetadataTxnContext(mdTxnCtx);
- +            }
-++        }
- +
--+            //#. add a new dataset with PendingNoOp after deleting the dataset with PendingAddOp
--+            MetadataManager.INSTANCE.dropDataset(metadataProvider.getMetadataTxnContext(), dataverseName, datasetName);
--+            MetadataManager.INSTANCE.addDataset(metadataProvider.getMetadataTxnContext(), new Dataset(dataverseName,
--+                    datasetName, itemTypeName, datasetDetails, dsType, dataset.getDatasetId(),
--+                    IMetadataEntity.PENDING_NO_OP));
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
---        MetadataManager.INSTANCE.addDataset(metadataProvider.getMetadataTxnContext(), new Dataset(dataverseName,
---                datasetName, itemTypeName, datasetDetails, dsType, DatasetIdFactory.generateDatasetId()));
---        if (dd.getDatasetType() == DatasetType.INTERNAL || dd.getDatasetType() == DatasetType.FEED) {
---            Dataverse dataverse = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(),
---                    dataverseName);
---            runJob(hcc, DatasetOperations.createDatasetJobSpec(dataverse, datasetName, metadataProvider));
---        }
--     }
-++        map.clear();
-++    }
-+ }
-  
--     private void handleCreateIndexStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        CreateIndexStatement stmtCreateIndex = (CreateIndexStatement) stmt;
---        String dataverseName = stmtCreateIndex.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtCreateIndex.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
---        }
---        String datasetName = stmtCreateIndex.getDatasetName().getValue();
---        Dataset ds = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName,
---                datasetName);
---        if (ds == null) {
---            throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
---                    + dataverseName);
---        }
---        String indexName = stmtCreateIndex.getIndexName().getValue();
---        Index idx = MetadataManager.INSTANCE.getIndex(metadataProvider.getMetadataTxnContext(), dataverseName,
---                datasetName, indexName);
---        if (idx != null) {
---            if (!stmtCreateIndex.getIfNotExists()) {
---                throw new AlgebricksException("An index with this name " + indexName + " already exists.");
---            } else {
---                stmtCreateIndex.setNeedToCreate(false);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            CreateIndexStatement stmtCreateIndex = (CreateIndexStatement) stmt;
--+            String dataverseName = stmtCreateIndex.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtCreateIndex.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--             }
---        } else {
--+            String datasetName = stmtCreateIndex.getDatasetName().getValue();
--+
--+            Dataset ds = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName,
--+                    datasetName);
--+            if (ds == null) {
--+                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
--+                        + dataverseName);
--+            }
--+
--+            String indexName = stmtCreateIndex.getIndexName().getValue();
--+            Index idx = MetadataManager.INSTANCE.getIndex(metadataProvider.getMetadataTxnContext(), dataverseName,
--+                    datasetName, indexName);
--+
--+            if (idx != null) {
--+                if (!stmtCreateIndex.getIfNotExists()) {
--+                    throw new AlgebricksException("An index with this name " + indexName + " already exists.");
--+                } else {
--+                    stmtCreateIndex.setNeedToCreate(false);
--+                    MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                    return;
--+                }
--+            }
--+
--+            //#. add a new index with PendingAddOp
--             Index index = new Index(dataverseName, datasetName, indexName, stmtCreateIndex.getIndexType(),
---                    stmtCreateIndex.getFieldExprs(), stmtCreateIndex.getGramLength(), false);
--+                    stmtCreateIndex.getFieldExprs(), stmtCreateIndex.getGramLength(), false,
--+                    IMetadataEntity.PENDING_ADD_OP);
--             MetadataManager.INSTANCE.addIndex(metadataProvider.getMetadataTxnContext(), index);
---            runCreateIndexJob(hcc, stmtCreateIndex, metadataProvider);
-+ /*
-+@@ -895,36 +760,82 @@
-+ class LogPageFlushThread extends Thread {
-  
--+            //#. create the index artifact in NC.
--             CompiledCreateIndexStatement cis = new CompiledCreateIndexStatement(index.getIndexName(), dataverseName,
--                     index.getDatasetName(), index.getKeyFieldNames(), index.getGramLength(), index.getIndexType());
---            JobSpecification loadIndexJobSpec = IndexOperations
---                    .buildSecondaryIndexLoadingJobSpec(cis, metadataProvider);
---            runJob(hcc, loadIndexJobSpec);
--+            JobSpecification spec = IndexOperations.buildSecondaryIndexCreationJobSpec(cis, metadataProvider);
--+            if (spec == null) {
--+                throw new AsterixException("Failed to create job spec for creating index '"
--+                        + stmtCreateIndex.getDatasetName() + "." + stmtCreateIndex.getIndexName() + "'");
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            runJob(hcc, spec);
--+
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            bActiveTxn = true;
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+
--+            //#. load data into the index in NC.
--+            cis = new CompiledCreateIndexStatement(index.getIndexName(), dataverseName, index.getDatasetName(),
--+                    index.getKeyFieldNames(), index.getGramLength(), index.getIndexType());
--+            spec = IndexOperations.buildSecondaryIndexLoadingJobSpec(cis, metadataProvider);
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            runJob(hcc, spec);
--+
--+            //#. begin new metadataTxn
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            bActiveTxn = true;
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+
--+            //#. add another new index with PendingNoOp after deleting the index with PendingAddOp
--+            MetadataManager.INSTANCE.dropIndex(metadataProvider.getMetadataTxnContext(), dataverseName, datasetName,
--+                    indexName);
--+            index = new Index(dataverseName, datasetName, indexName, stmtCreateIndex.getIndexType(),
--+                    stmtCreateIndex.getFieldExprs(), stmtCreateIndex.getGramLength(), false,
--+                    IMetadataEntity.PENDING_NO_OP);
--+            MetadataManager.INSTANCE.addIndex(metadataProvider.getMetadataTxnContext(), index);
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-+     private LogManager logManager;
-++    /*
-++     * pendingFlushRequests is a map with key as Integer denoting the page
-++     * index. When a (transaction) thread discovers the need to flush a page, it
-++     * puts its Thread object into the corresponding value that is a
-++     * LinkedBlockingQueue. The LogManager has a LogFlusher thread that scans
-++     * this map in order of page index (and circling around). The flusher thread
-++     * needs to flush pages in order and waits for a thread to deposit an object
-++     * in the blocking queue corresponding to the next page in order. A request
-++     * to flush a page is conveyed to the flush thread by simply depositing an
-++     * object in to corresponding blocking queue. It is blocking in the sense
-++     * that the flusher thread will continue to wait for an object to arrive in
-++     * the queue. The object itself is ignored by the fliusher and just acts as
-++     * a signal/event that a page needs to be flushed.
-++     */
-++    private final LinkedBlockingQueue<Object>[] flushRequestQueue;
-++    private final Object[] flushRequests;
-++    private int lastFlushedPageIndex;
-++    private final long groupCommitWaitPeriod;
-  
--     private void handleCreateTypeStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws AlgebricksException, RemoteException, ACIDException,
--             MetadataException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        TypeDecl stmtCreateType = (TypeDecl) stmt;
---        String dataverseName = stmtCreateType.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtCreateType.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
---        }
---        String typeName = stmtCreateType.getIdent().getValue();
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverseName);
---        if (dv == null) {
---            throw new AlgebricksException("Unknonw dataverse " + dataverseName);
---        }
---        Datatype dt = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverseName, typeName);
---        if (dt != null) {
---            if (!stmtCreateType.getIfNotExists())
---                throw new AlgebricksException("A datatype with this name " + typeName + " already exists.");
---        } else {
---            if (builtinTypeMap.get(typeName) != null) {
---                throw new AlgebricksException("Cannot redefine builtin type " + typeName + ".");
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            TypeDecl stmtCreateType = (TypeDecl) stmt;
--+            String dataverseName = stmtCreateType.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtCreateType.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+            String typeName = stmtCreateType.getIdent().getValue();
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverseName);
--+            if (dv == null) {
--+                throw new AlgebricksException("Unknonw dataverse " + dataverseName);
--+            }
--+            Datatype dt = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverseName, typeName);
--+            if (dt != null) {
--+                if (!stmtCreateType.getIfNotExists()) {
--+                    throw new AlgebricksException("A datatype with this name " + typeName + " already exists.");
--+                }
--             } else {
---                Map<TypeSignature, IAType> typeMap = TypeTranslator.computeTypes(mdTxnCtx, (TypeDecl) stmt,
---                        dataverseName);
---                TypeSignature typeSignature = new TypeSignature(dataverseName, typeName);
---                IAType type = typeMap.get(typeSignature);
---                MetadataManager.INSTANCE.addDatatype(mdTxnCtx, new Datatype(dataverseName, typeName, type, false));
--+                if (builtinTypeMap.get(typeName) != null) {
--+                    throw new AlgebricksException("Cannot redefine builtin type " + typeName + ".");
--+                } else {
--+                    Map<TypeSignature, IAType> typeMap = TypeTranslator.computeTypes(mdTxnCtx, (TypeDecl) stmt,
--+                            dataverseName);
--+                    TypeSignature typeSignature = new TypeSignature(dataverseName, typeName);
--+                    IAType type = typeMap.get(typeSignature);
--+                    MetadataManager.INSTANCE.addDatatype(mdTxnCtx, new Datatype(dataverseName, typeName, type, false));
--+                }
--             }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
-+     public LogPageFlushThread(LogManager logManager) {
-+         this.logManager = logManager;
-+         setName("Flusher");
-++        int numLogPages = logManager.getLogManagerProperties().getNumLogPages();
-++        this.flushRequestQueue = new LinkedBlockingQueue[numLogPages];
-++        this.flushRequests = new Object[numLogPages];
-++        for (int i = 0; i < numLogPages; i++) {
-++            flushRequestQueue[i] = new LinkedBlockingQueue<Object>(1);
-++            flushRequests[i] = new Object();
-++        }
-++        this.lastFlushedPageIndex = -1;
-++        groupCommitWaitPeriod = logManager.getLogManagerProperties().getGroupCommitWaitPeriod();
-      }
-  
--     private void handleDataverseDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        DataverseDropStatement stmtDelete = (DataverseDropStatement) stmt;
---        String dvName = stmtDelete.getDataverseName().getValue();
-- 
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dvName);
---        if (dv == null) {
---            if (!stmtDelete.getIfExists()) {
---                throw new AlgebricksException("There is no dataverse with this name " + dvName + ".");
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            DataverseDropStatement stmtDelete = (DataverseDropStatement) stmt;
--+            String dvName = stmtDelete.getDataverseName().getValue();
--+
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dvName);
--+            if (dv == null) {
--+                if (!stmtDelete.getIfExists()) {
--+                    throw new AlgebricksException("There is no dataverse with this name " + dvName + ".");
--+                }
--+                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
-++    public void requestFlush(int pageIndex, long lsn, boolean isSynchronous) {
-++        synchronized (logManager.getLogPage(pageIndex)) {
-++            //return if flushedLSN >= lsn
-++            if (logManager.getLastFlushedLsn().get() >= lsn) {
- +                return;
--             }
---        } else {
--+
--+            //#. prepare jobs which will drop corresponding datasets with indexes. 
--             List<Dataset> datasets = MetadataManager.INSTANCE.getDataverseDatasets(mdTxnCtx, dvName);
--             for (int j = 0; j < datasets.size(); j++) {
--                 String datasetName = datasets.get(j).getDatasetName();
--                 DatasetType dsType = datasets.get(j).getDatasetType();
--                 if (dsType == DatasetType.INTERNAL || dsType == DatasetType.FEED) {
--+
--                     List<Index> indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dvName, datasetName);
--                     for (int k = 0; k < indexes.size(); k++) {
--                         if (indexes.get(k).isSecondaryIndex()) {
---                            compileIndexDropStatement(hcc, dvName, datasetName, indexes.get(k).getIndexName(),
---                                    metadataProvider);
--+                            CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dvName, datasetName,
--+                                    indexes.get(k).getIndexName());
--+                            jobsToExecute.add(IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider));
--                         }
--                     }
--+
--+                    CompiledDatasetDropStatement cds = new CompiledDatasetDropStatement(dvName, datasetName);
--+                    jobsToExecute.add(DatasetOperations.createDropDatasetJobSpec(cds, metadataProvider));
--                 }
---                compileDatasetDropStatement(hcc, dvName, datasetName, metadataProvider);
--             }
-- 
--+            //#. mark PendingDropOp on the dataverse record by 
--+            //   first, deleting the dataverse record from the DATAVERSE_DATASET
--+            //   second, inserting the dataverse record with the PendingDropOp value into the DATAVERSE_DATASET
--             MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dvName);
--+            MetadataManager.INSTANCE.addDataverse(mdTxnCtx, new Dataverse(dvName, dv.getDataFormat(),
--+                    IMetadataEntity.PENDING_DROP_OP));
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            for (JobSpecification jobSpec : jobsToExecute) {
--+                runJob(hcc, jobSpec);
- +            }
- +
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            bActiveTxn = true;
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
-++            //put a new request to the queue only if the request on the page is not in the queue.
-++            flushRequestQueue[pageIndex].offer(flushRequests[pageIndex]);
- +
--+            //#. finally, delete the dataverse.
--+            MetadataManager.INSTANCE.dropDataverse(mdTxnCtx, dvName);
--             if (activeDefaultDataverse != null && activeDefaultDataverse.getDataverseName() == dvName) {
--                 activeDefaultDataverse = null;
--             }
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
-++            //return if the request is asynchronous
-++            if (!isSynchronous) {
-++                return;
- +            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-- 
--     private void handleDatasetDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        DropStatement stmtDelete = (DropStatement) stmt;
---        String dataverseName = stmtDelete.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtDelete.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
---        }
---        String datasetName = stmtDelete.getDatasetName().getValue();
---        Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
---        if (ds == null) {
---            if (!stmtDelete.getIfExists())
---                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
---                        + dataverseName + ".");
---        } else {
- +
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            DropStatement stmtDelete = (DropStatement) stmt;
--+            String dataverseName = stmtDelete.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtDelete.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+            String datasetName = stmtDelete.getDatasetName().getValue();
--+
--+            Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
--+            if (ds == null) {
--+                if (!stmtDelete.getIfExists()) {
--+                    throw new AlgebricksException("There is no dataset with this name " + datasetName
--+                            + " in dataverse " + dataverseName + ".");
-++            //wait until there is flush.
-++            boolean isNotified = false;
-++            while (!isNotified) {
-++                try {
-++                    logManager.getLogPage(pageIndex).wait();
-++                    isNotified = true;
-++                } catch (InterruptedException e) {
-++                    e.printStackTrace();
- +                }
--+                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                return;
- +            }
-++        }
-++    }
- +
--             if (ds.getDatasetType() == DatasetType.INTERNAL || ds.getDatasetType() == DatasetType.FEED) {
--+
--+                //#. prepare jobs to drop the datatset and the indexes in NC
--                 List<Index> indexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, datasetName);
--                 for (int j = 0; j < indexes.size(); j++) {
---                    if (indexes.get(j).isPrimaryIndex()) {
---                        compileIndexDropStatement(hcc, dataverseName, datasetName, indexes.get(j).getIndexName(),
---                                metadataProvider);
--+                    if (indexes.get(j).isSecondaryIndex()) {
--+                        CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dataverseName, datasetName,
--+                                indexes.get(j).getIndexName());
--+                        jobsToExecute.add(IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider));
-+     @Override
-+     public void run() {
-+         while (true) {
-+             try {
-+-                int pageToFlush = logManager.getNextPageInSequence(logManager.getLastFlushedPage());
-++                int pageToFlush = logManager.getNextPageInSequence(lastFlushedPageIndex);
-+ 
-+-                /*
-+-                 * A wait call on the linkedBLockingQueue. The flusher thread is
-+-                 * notified when an object is added to the queue. Please note
-+-                 * that each page has an associated blocking queue.
-+-                 */
-+-                logManager.getPendingFlushRequests(pageToFlush).take();
-++                // A wait call on the linkedBLockingQueue. The flusher thread is
-++                // notified when an object is added to the queue. Please note
-++                // that each page has an associated blocking queue.
-++                flushRequestQueue[pageToFlush].take();
-+ 
-+-                /*
-+-                 * The LogFlusher was waiting for a page to be marked as a
-+-                 * candidate for flushing. Now that has happened. The thread
-+-                 * shall proceed to take a lock on the log page
-+-                 */
-+-                synchronized (logManager.getLogPages()[pageToFlush]) {
-++                synchronized (logManager.getLogPage(pageToFlush)) {
-+ 
-+-                    /*
-+-                     * lock the internal state of the log manager and create a
-+-                     * log file if necessary.
-+-                     */
-++                    // lock the internal state of the log manager and create a
-++                    // log file if necessary.
-+                     int prevLogFileId = logManager.getLogFileId(logManager.getLastFlushedLsn().get());
-+                     int nextLogFileId = logManager.getLogFileId(logManager.getLastFlushedLsn().get()
-+                             + logManager.getLogManagerProperties().getLogPageSize());
-+@@ -936,198 +847,60 @@
-+                                 logManager.getLogManagerProperties().getLogPageSize());
-                      }
--                 }
--+                CompiledDatasetDropStatement cds = new CompiledDatasetDropStatement(dataverseName, datasetName);
--+                jobsToExecute.add(DatasetOperations.createDropDatasetJobSpec(cds, metadataProvider));
--+
--+                //#. mark the existing dataset as PendingDropOp
--+                MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
--+                MetadataManager.INSTANCE.addDataset(
--+                        mdTxnCtx,
--+                        new Dataset(dataverseName, datasetName, ds.getItemTypeName(), ds.getDatasetDetails(), ds
--+                                .getDatasetType(), ds.getDatasetId(), IMetadataEntity.PENDING_DROP_OP));
--+
--+                MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                bActiveTxn = false;
--+
--+                //#. run the jobs
--+                for (JobSpecification jobSpec : jobsToExecute) {
--+                    runJob(hcc, jobSpec);
--+                }
--+
--+                mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+                bActiveTxn = true;
--+                metadataProvider.setMetadataTxnContext(mdTxnCtx);
--             }
---            compileDatasetDropStatement(hcc, dataverseName, datasetName, metadataProvider);
--+
--+            //#. finally, delete the dataset.
--+            MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-  
--     private void handleIndexDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        IndexDropStatement stmtIndexDrop = (IndexDropStatement) stmt;
---        String datasetName = stmtIndexDrop.getDatasetName().getValue();
---        String dataverseName = stmtIndexDrop.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtIndexDrop.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            IndexDropStatement stmtIndexDrop = (IndexDropStatement) stmt;
--+            String datasetName = stmtIndexDrop.getDatasetName().getValue();
--+            String dataverseName = stmtIndexDrop.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtIndexDrop.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+
--+            Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
--+            if (ds == null) {
--+                throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
--+                        + dataverseName);
--+            }
--+
--+            if (ds.getDatasetType() == DatasetType.INTERNAL || ds.getDatasetType() == DatasetType.FEED) {
--+                String indexName = stmtIndexDrop.getIndexName().getValue();
--+                Index index = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+                if (index == null) {
--+                    if (!stmtIndexDrop.getIfExists()) {
--+                        throw new AlgebricksException("There is no index with this name " + indexName + ".");
--+                    }
--+                } else {
--+                    //#. prepare a job to drop the index in NC.
--+                    CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dataverseName, datasetName,
--+                            indexName);
--+                    jobsToExecute.add(IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider));
--+
--+                    //#. mark PendingDropOp on the existing index
--+                    MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+                    MetadataManager.INSTANCE.addIndex(
--+                            mdTxnCtx,
--+                            new Index(dataverseName, datasetName, indexName, index.getIndexType(), index
--+                                    .getKeyFieldNames(), index.isPrimaryIndex(), IMetadataEntity.PENDING_DROP_OP));
--+
--+                    //#. commit the existing transaction before calling runJob. 
--+                    MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+                    bActiveTxn = false;
--+
--+                    for (JobSpecification jobSpec : jobsToExecute) {
--+                        runJob(hcc, jobSpec);
--+                    }
--+
--+                    //#. begin a new transaction
--+                    mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+                    bActiveTxn = true;
--+                    metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+
--+                    //#. finally, delete the existing index
--+                    MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+                }
--+            } else {
--+                throw new AlgebricksException(datasetName
--+                        + " is an external dataset. Indexes are not maintained for external datasets.");
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+
--+        } finally {
--+            releaseWriteLatch();
--         }
---        Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
---        if (ds == null)
---            throw new AlgebricksException("There is no dataset with this name " + datasetName + " in dataverse "
---                    + dataverseName);
---        if (ds.getDatasetType() == DatasetType.INTERNAL || ds.getDatasetType() == DatasetType.FEED) {
---            String indexName = stmtIndexDrop.getIndexName().getValue();
---            Index idx = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataverseName, datasetName, indexName);
---            if (idx == null) {
---                if (!stmtIndexDrop.getIfExists())
---                    throw new AlgebricksException("There is no index with this name " + indexName + ".");
---            } else
---                compileIndexDropStatement(hcc, dataverseName, datasetName, indexName, metadataProvider);
---        } else {
---            throw new AlgebricksException(datasetName
---                    + " is an external dataset. Indexes are not maintained for external datasets.");
---        }
--     }
-+-                    logManager.getLogPage(pageToFlush).flush(); // put the
-+-                    // content to
-+-                    // disk, the
-+-                    // thread still
-+-                    // has a lock on
-+-                    // the log page
-++                    //#. sleep during the groupCommitWaitTime
-++                    sleep(groupCommitWaitPeriod);
-  
--     private void handleTypeDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws AlgebricksException, MetadataException, RemoteException,
--             ACIDException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        TypeDropStatement stmtTypeDrop = (TypeDropStatement) stmt;
---        String dataverseName = stmtTypeDrop.getDataverseName() == null ? (activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName()) : stmtTypeDrop.getDataverseName().getValue();
---        if (dataverseName == null) {
---            throw new AlgebricksException(" dataverse not specified ");
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            TypeDropStatement stmtTypeDrop = (TypeDropStatement) stmt;
--+            String dataverseName = stmtTypeDrop.getDataverseName() == null ? (activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName()) : stmtTypeDrop.getDataverseName().getValue();
--+            if (dataverseName == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+            String typeName = stmtTypeDrop.getTypeName().getValue();
--+            Datatype dt = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverseName, typeName);
--+            if (dt == null) {
--+                if (!stmtTypeDrop.getIfExists())
--+                    throw new AlgebricksException("There is no datatype with this name " + typeName + ".");
--+            } else {
--+                MetadataManager.INSTANCE.dropDatatype(mdTxnCtx, dataverseName, typeName);
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
---        String typeName = stmtTypeDrop.getTypeName().getValue();
---        Datatype dt = MetadataManager.INSTANCE.getDatatype(mdTxnCtx, dataverseName, typeName);
---        if (dt == null) {
---            if (!stmtTypeDrop.getIfExists())
---                throw new AlgebricksException("There is no datatype with this name " + typeName + ".");
---        } else {
---            MetadataManager.INSTANCE.dropDatatype(mdTxnCtx, dataverseName, typeName);
---        }
--     }
-+-                    /*
-+-                     * acquire lock on the log manager as we need to update the
-+-                     * internal bookkeeping data.
-+-                     */
-++                    //#. set the logPageStatus to INACTIVE in order to prevent other txns from writing on this page.
-++                    logManager.getLogPageStatus(pageToFlush).set(PageState.INACTIVE);
-  
--     private void handleNodegroupDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, AlgebricksException, RemoteException,
--             ACIDException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        NodeGroupDropStatement stmtDelete = (NodeGroupDropStatement) stmt;
---        String nodegroupName = stmtDelete.getNodeGroupName().getValue();
---        NodeGroup ng = MetadataManager.INSTANCE.getNodegroup(mdTxnCtx, nodegroupName);
---        if (ng == null) {
---            if (!stmtDelete.getIfExists())
---                throw new AlgebricksException("There is no nodegroup with this name " + nodegroupName + ".");
---        } else {
---            MetadataManager.INSTANCE.dropNodegroup(mdTxnCtx, nodegroupName);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            NodeGroupDropStatement stmtDelete = (NodeGroupDropStatement) stmt;
--+            String nodegroupName = stmtDelete.getNodeGroupName().getValue();
--+            NodeGroup ng = MetadataManager.INSTANCE.getNodegroup(mdTxnCtx, nodegroupName);
--+            if (ng == null) {
--+                if (!stmtDelete.getIfExists())
--+                    throw new AlgebricksException("There is no nodegroup with this name " + nodegroupName + ".");
--+            } else {
--+                MetadataManager.INSTANCE.dropNodegroup(mdTxnCtx, nodegroupName);
--+            }
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-+-                    // increment the last flushed lsn.
-+-                    long lastFlushedLsn = logManager.incrementLastFlushedLsn(logManager.getLogManagerProperties()
-+-                            .getLogPageSize());
-++                    //#. need to wait until the logPageOwnerCount reaches 1 (LOG_WRITER) 
-++                    //   meaning every one has finished writing logs on this page.
-++                    while (logManager.getLogPageOwnershipCount(pageToFlush).get() != PageOwnershipStatus.LOG_WRITER) {
-++                        sleep(0);
-++                    }
-  
--     private void handleCreateFunctionStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws AlgebricksException, MetadataException, RemoteException,
--             ACIDException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        CreateFunctionStatement cfs = (CreateFunctionStatement) stmt;
---        String dataverse = cfs.getSignature().getNamespace() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : cfs.getSignature().getNamespace();
---        if (dataverse == null) {
---            throw new AlgebricksException(" dataverse not specified ");
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            CreateFunctionStatement cfs = (CreateFunctionStatement) stmt;
--+            String dataverse = cfs.getSignature().getNamespace() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : cfs.getSignature().getNamespace();
--+            if (dataverse == null) {
--+                throw new AlgebricksException(" dataverse not specified ");
--+            }
--+            Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverse);
--+            if (dv == null) {
--+                throw new AlgebricksException("There is no dataverse with this name " + dataverse + ".");
--+            }
--+            Function function = new Function(dataverse, cfs.getaAterixFunction().getName(), cfs.getaAterixFunction()
--+                    .getArity(), cfs.getParamList(), Function.RETURNTYPE_VOID, cfs.getFunctionBody(),
--+                    Function.LANGUAGE_AQL, FunctionKind.SCALAR.toString());
--+            MetadataManager.INSTANCE.addFunction(mdTxnCtx, function);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
---        Dataverse dv = MetadataManager.INSTANCE.getDataverse(mdTxnCtx, dataverse);
---        if (dv == null) {
---            throw new AlgebricksException("There is no dataverse with this name " + dataverse + ".");
---        }
---        Function function = new Function(dataverse, cfs.getaAterixFunction().getName(), cfs.getaAterixFunction()
---                .getArity(), cfs.getParamList(), Function.RETURNTYPE_VOID, cfs.getFunctionBody(),
---                Function.LANGUAGE_AQL, FunctionKind.SCALAR.toString());
---        MetadataManager.INSTANCE.addFunction(mdTxnCtx, function);
--     }
-+-                    /*
-+-                     * the log manager gains back ownership of the page. this is
-+-                     * reflected by incrementing the owner count of the page.
-+-                     * recall that when the page is begin flushed the owner
-+-                     * count is actually 0 Value of zero implicitly indicates
-+-                     * that the page is operated upon by the log flusher thread.
-+-                     */
-+-                    logManager.getLogPageOwnershipCount(pageToFlush).incrementAndGet();
-++                    //#. set the logPageOwnerCount to 0 (LOG_FLUSHER)
-++                    //   meaning it is flushing. 
-++                    logManager.getLogPageOwnershipCount(pageToFlush).set(PageOwnershipStatus.LOG_FLUSHER);
-  
--     private void handleFunctionDropStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, RemoteException, ACIDException,
--             AlgebricksException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        FunctionDropStatement stmtDropFunction = (FunctionDropStatement) stmt;
---        FunctionSignature signature = stmtDropFunction.getFunctionSignature();
---        Function function = MetadataManager.INSTANCE.getFunction(mdTxnCtx, signature);
---        if (function == null) {
---            if (!stmtDropFunction.getIfExists())
---                throw new AlgebricksException("Unknonw function " + signature);
---        } else {
---            MetadataManager.INSTANCE.dropFunction(mdTxnCtx, signature);
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            FunctionDropStatement stmtDropFunction = (FunctionDropStatement) stmt;
--+            FunctionSignature signature = stmtDropFunction.getFunctionSignature();
--+            Function function = MetadataManager.INSTANCE.getFunction(mdTxnCtx, signature);
--+            if (function == null) {
--+                if (!stmtDropFunction.getIfExists())
--+                    throw new AlgebricksException("Unknonw function " + signature);
--+            } else {
--+                MetadataManager.INSTANCE.dropFunction(mdTxnCtx, signature);
--+            }
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
--         }
--     }
-+-                    /*
-+-                     * get the number of log buffers that have been written so
-+-                     * far. A log buffer = number of log pages * size of a log
-+-                     * page
-+-                     */
-+-                    int numCycles = (int) lastFlushedLsn / logManager.getLogManagerProperties().getLogBufferSize();
-+-                    if (lastFlushedLsn % logManager.getLogManagerProperties().getLogBufferSize() == 0) {
-+-                        numCycles--;
-+-                    }
-++                    // put the content to disk (the thread still has a lock on the log page)
-++                    logManager.getLogPage(pageToFlush).flush();
-  
--     private void handleLoadFromFileStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        LoadFromFileStatement loadStmt = (LoadFromFileStatement) stmt;
---        String dataverseName = loadStmt.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : loadStmt.getDataverseName().getValue();
---        CompiledLoadFromFileStatement cls = new CompiledLoadFromFileStatement(dataverseName, loadStmt.getDatasetName()
---                .getValue(), loadStmt.getAdapter(), loadStmt.getProperties(), loadStmt.dataIsAlreadySorted());
-+-                    /*
-+-                     * Map the log page to a new region in the log file.
-+-                     */
-++                    // increment the last flushed lsn and lastFlushedPage
-++                    logManager.incrementLastFlushedLsn(logManager.getLogManagerProperties().getLogPageSize());
-++                    lastFlushedPageIndex = pageToFlush;
-  
---        IDataFormat format = getDataFormat(metadataProvider.getMetadataTxnContext(), dataverseName);
---        Job job = DatasetOperations.createLoadDatasetJobSpec(metadataProvider, cls, format);
---        jobsToExecute.add(job.getJobSpec());
---        // Also load the dataset's secondary indexes.
---        List<Index> datasetIndexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, loadStmt
---                .getDatasetName().getValue());
---        for (Index index : datasetIndexes) {
---            if (!index.isSecondaryIndex()) {
---                continue;
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
-++                    // decrement activeTxnCountOnIndexes
-++                    logManager.decrementActiveTxnCountOnIndexes(pageToFlush);
- +
--+        try {
--+            LoadFromFileStatement loadStmt = (LoadFromFileStatement) stmt;
--+            String dataverseName = loadStmt.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : loadStmt.getDataverseName().getValue();
--+            CompiledLoadFromFileStatement cls = new CompiledLoadFromFileStatement(dataverseName, loadStmt
--+                    .getDatasetName().getValue(), loadStmt.getAdapter(), loadStmt.getProperties(),
--+                    loadStmt.dataIsAlreadySorted());
-++                    // reset the count to 1
-++                    logManager.getLogPageOwnershipCount(pageToFlush).set(PageOwnershipStatus.LOG_WRITER);
- +
--+            IDataFormat format = getDataFormat(metadataProvider.getMetadataTxnContext(), dataverseName);
--+            Job job = DatasetOperations.createLoadDatasetJobSpec(metadataProvider, cls, format);
--+            jobsToExecute.add(job.getJobSpec());
--+            // Also load the dataset's secondary indexes.
--+            List<Index> datasetIndexes = MetadataManager.INSTANCE.getDatasetIndexes(mdTxnCtx, dataverseName, loadStmt
--+                    .getDatasetName().getValue());
--+            for (Index index : datasetIndexes) {
--+                if (!index.isSecondaryIndex()) {
--+                    continue;
--+                }
--+                // Create CompiledCreateIndexStatement from metadata entity 'index'.
--+                CompiledCreateIndexStatement cis = new CompiledCreateIndexStatement(index.getIndexName(),
--+                        dataverseName, index.getDatasetName(), index.getKeyFieldNames(), index.getGramLength(),
--+                        index.getIndexType());
--+                jobsToExecute.add(IndexOperations.buildSecondaryIndexLoadingJobSpec(cis, metadataProvider));
--             }
---            // Create CompiledCreateIndexStatement from metadata entity 'index'.
---            CompiledCreateIndexStatement cis = new CompiledCreateIndexStatement(index.getIndexName(), dataverseName,
---                    index.getDatasetName(), index.getKeyFieldNames(), index.getGramLength(), index.getIndexType());
---            jobsToExecute.add(IndexOperations.buildSecondaryIndexLoadingJobSpec(cis, metadataProvider));
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            for (JobSpecification jobspec : jobsToExecute) {
--+                runJob(hcc, jobspec);
--+            }
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
--     }
-++                    // Map the log page to a new region in the log file.
-+                     long nextWritePosition = logManager.getLogPages()[pageToFlush].getNextWritePosition()
-+                             + logManager.getLogManagerProperties().getLogBufferSize();
-  
--     private void handleWriteFromQueryResultStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        metadataProvider.setWriteTransaction(true);
---        WriteFromQueryResultStatement st1 = (WriteFromQueryResultStatement) stmt;
---        String dataverseName = st1.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : st1.getDataverseName().getValue();
---        CompiledWriteFromQueryResultStatement clfrqs = new CompiledWriteFromQueryResultStatement(dataverseName, st1
---                .getDatasetName().getValue(), st1.getQuery(), st1.getVarCounter());
-+-                    /*
-+-                     * long nextPos = (numCycles + 1)
-+-                     * logManager.getLogManagerProperties() .getLogBufferSize()
-+-                     * + pageToFlush logManager.getLogManagerProperties()
-+-                     * .getLogPageSize();
-+-                     */
-+                     logManager.resetLogPage(nextWritePosition, pageToFlush);
-  
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(), clfrqs);
---        if (compiled.first != null) {
---            jobsToExecute.add(compiled.first);
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            metadataProvider.setWriteTransaction(true);
--+            WriteFromQueryResultStatement st1 = (WriteFromQueryResultStatement) stmt;
--+            String dataverseName = st1.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : st1.getDataverseName().getValue();
--+            CompiledWriteFromQueryResultStatement clfrqs = new CompiledWriteFromQueryResultStatement(dataverseName, st1
--+                    .getDatasetName().getValue(), st1.getQuery(), st1.getVarCounter());
--+
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(),
--+                    clfrqs);
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+            if (compiled.first != null) {
--+                runJob(hcc, compiled.first);
--+            }
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
--     }
-+                     // mark the page as ACTIVE
-+                     logManager.getLogPageStatus(pageToFlush).set(LogManager.PageState.ACTIVE);
-  
--     private void handleInsertStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        metadataProvider.setWriteTransaction(true);
---        InsertStatement stmtInsert = (InsertStatement) stmt;
---        String dataverseName = stmtInsert.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtInsert.getDataverseName().getValue();
---        CompiledInsertStatement clfrqs = new CompiledInsertStatement(dataverseName, stmtInsert.getDatasetName()
---                .getValue(), stmtInsert.getQuery(), stmtInsert.getVarCounter());
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(), clfrqs);
---        if (compiled.first != null) {
---            jobsToExecute.add(compiled.first);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            metadataProvider.setWriteTransaction(true);
--+            InsertStatement stmtInsert = (InsertStatement) stmt;
--+            String dataverseName = stmtInsert.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtInsert.getDataverseName().getValue();
--+            CompiledInsertStatement clfrqs = new CompiledInsertStatement(dataverseName, stmtInsert.getDatasetName()
--+                    .getValue(), stmtInsert.getQuery(), stmtInsert.getVarCounter());
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(),
--+                    clfrqs);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            if (compiled.first != null) {
--+                runJob(hcc, compiled.first);
--+            }
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
--     }
-+-                    // notify all waiting (transaction) threads.
-+-                    // Transaction thread may be waiting for the page to be
-+-                    // available or may have a commit log record on the page
-+-                    // that got flushed.
-+-                    logManager.getLogPages()[pageToFlush].notifyAll();
-+-                    logManager.setLastFlushedPage(pageToFlush);
-++                    //#. checks the queue whether there is another flush request on the same log buffer
-++                    //   If there is another request, then simply remove it.
-++                    if (flushRequestQueue[pageToFlush].peek() != null) {
-++                        flushRequestQueue[pageToFlush].take();
-++                    }
-  
--     private void handleDeleteStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        metadataProvider.setWriteTransaction(true);
---        DeleteStatement stmtDelete = (DeleteStatement) stmt;
---        String dataverseName = stmtDelete.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : stmtDelete.getDataverseName().getValue();
---        CompiledDeleteStatement clfrqs = new CompiledDeleteStatement(stmtDelete.getVariableExpr(), dataverseName,
---                stmtDelete.getDatasetName().getValue(), stmtDelete.getCondition(), stmtDelete.getDieClause(),
---                stmtDelete.getVarCounter(), metadataProvider);
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(), clfrqs);
---        if (compiled.first != null) {
---            jobsToExecute.add(compiled.first);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            metadataProvider.setWriteTransaction(true);
--+            DeleteStatement stmtDelete = (DeleteStatement) stmt;
--+            String dataverseName = stmtDelete.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : stmtDelete.getDataverseName().getValue();
--+            CompiledDeleteStatement clfrqs = new CompiledDeleteStatement(stmtDelete.getVariableExpr(), dataverseName,
--+                    stmtDelete.getDatasetName().getValue(), stmtDelete.getCondition(), stmtDelete.getDieClause(),
--+                    stmtDelete.getVarCounter(), metadataProvider);
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, clfrqs.getQuery(),
--+                    clfrqs);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            if (compiled.first != null) {
--+                runJob(hcc, compiled.first);
--+            }
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
-++                    // notify all waiting (transaction) threads.
-++                    logManager.getLogPage(pageToFlush).notifyAll();
-+                 }
-+             } catch (IOException ioe) {
-+                 ioe.printStackTrace();
-+                 throw new Error(" exception in flushing log page", ioe);
-+             } catch (InterruptedException e) {
-+                 e.printStackTrace();
-+-                break; // must break from the loop as the exception indicates
-+-                // some thing horrendous has happened elsewhere
-++                break; 
-+             }
-          }
-      }
-+-}
-+-
-+-/*
-+- * TODO: By default the commit policy is to commit at each request and not have
-+- * a group commit. The following code needs to change to support group commit.
-+- * The code for group commit has not been tested thoroughly and is under
-+- * development.
-+- */
-+-class BasicCommitResolver implements ICommitResolver {
-+-
-+-    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
-+-            CommitRequestStatistics commitRequestStatistics) {
-+-        return true;
-+-    }
-+-
-+-    public void init(LogManager logManager) {
-+-    }
-+-}
-+-
-+-class GroupCommitResolver implements ICommitResolver {
-+-
-+-    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
-+-            CommitRequestStatistics commitRequestStatistics) {
-+-        long maxCommitWait = logManager.getLogManagerProperties().getGroupCommitWaitPeriod();
-+-        long timestamp = commitRequestStatistics.getPageLevelLastCommitRequestTimestamp(pageIndex);
-+-        if (timestamp == -1) {
-+-            if (maxCommitWait == 0) {
-+-                return true;
-+-            } else {
-+-                timestamp = System.currentTimeMillis();
-+-            }
-+-        }
-+-        long currenTime = System.currentTimeMillis();
-+-        if (currenTime - timestamp > maxCommitWait) {
-+-            return true;
-+-        }
-+-        return false;
-+-    }
-+-
-+-    public void init(LogManager logManager) {
-+-        GroupCommitHandlerThread groupCommitHandler = new GroupCommitHandlerThread(logManager);
-+-        groupCommitHandler.setDaemon(true);
-+-        groupCommitHandler.start();
-+-    }
-+-
-+-    class GroupCommitHandlerThread extends Thread {
-+-
-+-        private LogManager logManager;
-+-
-+-        public GroupCommitHandlerThread(LogManager logManager) {
-+-            this.logManager = logManager;
-+-            setName("Group Commit Handler");
-+-        }
-+-
-+-        @Override
-+-        public void run() {
-+-            int pageIndex = -1;
-+-            while (true) {
-+-                pageIndex = logManager.getNextPageInSequence(pageIndex);
-+-                long lastCommitRequeestTimestamp = logManager.getCommitRequestStatistics()
-+-                        .getPageLevelLastCommitRequestTimestamp(pageIndex);
-+-                if (lastCommitRequeestTimestamp != -1
-+-                        && System.currentTimeMillis() - lastCommitRequeestTimestamp > logManager
-+-                                .getLogManagerProperties().getGroupCommitWaitPeriod()) {
-+-                    int dirtyCount = logManager.getLogPageOwnershipCount(pageIndex).decrementAndGet();
-+-                    if (dirtyCount == 0) {
-+-                        try {
-+-                            logManager.getLogPageStatus(pageIndex).set(LogManager.PageState.INACTIVE);
-+-                            logManager.getPendingFlushRequests(pageIndex).put(Thread.currentThread());
-+-                        } catch (InterruptedException e) {
-+-                            e.printStackTrace();
-+-                            break;
-+-                        }
-+-                        logManager.getCommitRequestStatistics().committedPage(pageIndex);
-+-                    }
-+-                }
-+-            }
-+-        }
-+-    }
-+-
-+-}
-+-
-+-interface ICommitResolver {
-+-    public boolean shouldCommitPage(int pageIndex, LogManager logManager,
-+-            CommitRequestStatistics commitRequestStatistics);
-+-
-+-    public void init(LogManager logManager);
-+-}
-+-
-+-/**
-+- * Represents a collection of all commit requests by transactions for each log
-+- * page. The requests are accumulated until the commit policy triggers a flush
-+- * of the corresponding log page. Upon a flush of a page, all commit requests
-+- * for the page are cleared.
-+- */
-+-class CommitRequestStatistics {
-+-
-+-    AtomicInteger[] pageLevelCommitRequestCount;
-+-    AtomicLong[] pageLevelLastCommitRequestTimestamp;
-+-
-+-    public CommitRequestStatistics(int numPages) {
-+-        pageLevelCommitRequestCount = new AtomicInteger[numPages];
-+-        pageLevelLastCommitRequestTimestamp = new AtomicLong[numPages];
-+-        for (int i = 0; i < numPages; i++) {
-+-            pageLevelCommitRequestCount[i] = new AtomicInteger(0);
-+-            pageLevelLastCommitRequestTimestamp[i] = new AtomicLong(-1L);
-+-        }
-+-    }
-+-
-+-    public void registerCommitRequest(int pageIndex) {
-+-        pageLevelCommitRequestCount[pageIndex].incrementAndGet();
-+-        pageLevelLastCommitRequestTimestamp[pageIndex].set(System.currentTimeMillis());
-+-    }
-+-
-+-    public long getPageLevelLastCommitRequestTimestamp(int pageIndex) {
-+-        return pageLevelLastCommitRequestTimestamp[pageIndex].get();
-+-    }
-+-
-+-    public void committedPage(int pageIndex) {
-+-        pageLevelCommitRequestCount[pageIndex].set(0);
-+-        pageLevelLastCommitRequestTimestamp[pageIndex].set(-1L);
-+-    }
-+-
-+-}
-++}
-+\ No newline at end of file
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java
-+===================================================================
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogRecordHelper.java	(working copy)
-+@@ -152,6 +152,9 @@
-+             case LogType.UPDATE:
-+                 logTypeDisplay = "UPDATE";
-+                 break;
-++            case LogType.ENTITY_COMMIT:
-++                logTypeDisplay = "ENTITY_COMMIT";
-++                break;
-+         }
-+         builder.append(" LSN : ").append(logicalLogLocator.getLsn());
-+         builder.append(" Log Type : ").append(logTypeDisplay);
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java
-+===================================================================
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogType.java	(working copy)
-+@@ -18,5 +18,6 @@
-  
--@@ -704,46 +1106,109 @@
-+     public static final byte UPDATE = 0;
-+     public static final byte COMMIT = 1;
-++    public static final byte ENTITY_COMMIT = 2;
-  
--     private void handleBeginFeedStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        BeginFeedStatement bfs = (BeginFeedStatement) stmt;
---        String dataverseName = bfs.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : bfs.getDatasetName().getValue();
-+ }
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java
-+===================================================================
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/logging/LogManagerProperties.java	(working copy)
-+@@ -1,5 +1,5 @@
-+ /*
-+- * Copyright 2009-2010 by The Regents of the University of California
-++ * Copyright 2009-2012 by The Regents of the University of California
-+  * Licensed under the Apache License, Version 2.0 (the "License");
-+  * you may not use this file except in compliance with the License.
-+  * you may obtain a copy of the License from
-+@@ -41,7 +41,7 @@
-+     private int logPageSize = 128 * 1024; // 128 KB
-+     private int numLogPages = 8; // number of log pages in the log buffer.
-  
---        CompiledBeginFeedStatement cbfs = new CompiledBeginFeedStatement(dataverseName,
---                bfs.getDatasetName().getValue(), bfs.getQuery(), bfs.getVarCounter());
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
-+-    private long groupCommitWaitPeriod = 0; // time in milliseconds for which a
-++    private long groupCommitWaitPeriod = 1; // time in milliseconds for which a
-+     // commit record will wait before
-+     // the housing page is marked for
-+     // flushing.
-+Index: asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java
-+===================================================================
-+--- asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java	(revision 1194)
-++++ asterix-transactions/src/main/java/edu/uci/ics/asterix/transaction/management/service/recovery/RecoveryManager.java	(working copy)
-+@@ -184,6 +184,7 @@
-+                     break;
-  
---        Dataset dataset;
---        dataset = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName, bfs
---                .getDatasetName().getValue());
---        IDatasetDetails datasetDetails = dataset.getDatasetDetails();
---        if (datasetDetails.getDatasetType() != DatasetType.FEED) {
---            throw new IllegalArgumentException("Dataset " + bfs.getDatasetName().getValue() + " is not a feed dataset");
--+        try {
--+            BeginFeedStatement bfs = (BeginFeedStatement) stmt;
--+            String dataverseName = bfs.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : bfs.getDatasetName().getValue();
--+
--+            CompiledBeginFeedStatement cbfs = new CompiledBeginFeedStatement(dataverseName, bfs.getDatasetName()
--+                    .getValue(), bfs.getQuery(), bfs.getVarCounter());
--+
--+            Dataset dataset;
--+            dataset = MetadataManager.INSTANCE.getDataset(metadataProvider.getMetadataTxnContext(), dataverseName, bfs
--+                    .getDatasetName().getValue());
--+            IDatasetDetails datasetDetails = dataset.getDatasetDetails();
--+            if (datasetDetails.getDatasetType() != DatasetType.FEED) {
--+                throw new IllegalArgumentException("Dataset " + bfs.getDatasetName().getValue()
--+                        + " is not a feed dataset");
--+            }
--+            bfs.initialize(metadataProvider.getMetadataTxnContext(), dataset);
--+            cbfs.setQuery(bfs.getQuery());
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, bfs.getQuery(), cbfs);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            if (compiled.first != null) {
--+                runJob(hcc, compiled.first);
--+            }
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
---        bfs.initialize(metadataProvider.getMetadataTxnContext(), dataset);
---        cbfs.setQuery(bfs.getQuery());
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, bfs.getQuery(), cbfs);
---        if (compiled.first != null) {
---            jobsToExecute.add(compiled.first);
---        }
--     }
-+                 case LogType.COMMIT:
-++                case LogType.ENTITY_COMMIT:
-+                     tempKeyTxnId.setTxnId(logRecordHelper.getJobId(currentLogLocator),
-+                             logRecordHelper.getDatasetId(currentLogLocator),
-+                             logRecordHelper.getPKHashValue(currentLogLocator));
-+@@ -218,6 +219,7 @@
-+         IIndex index = null;
-+         LocalResource localResource = null;
-+         ILocalResourceMetadata localResourceMetadata = null;
-++        List<Long> resourceIdList = new ArrayList<Long>();
-  
--     private void handleControlFeedStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             IHyracksClientConnection hcc, List<JobSpecification> jobsToExecute) throws Exception {
---        ControlFeedStatement cfs = (ControlFeedStatement) stmt;
---        String dataverseName = cfs.getDataverseName() == null ? activeDefaultDataverse == null ? null
---                : activeDefaultDataverse.getDataverseName() : cfs.getDatasetName().getValue();
---        CompiledControlFeedStatement clcfs = new CompiledControlFeedStatement(cfs.getOperationType(), dataverseName,
---                cfs.getDatasetName().getValue(), cfs.getAlterAdapterConfParams());
---        jobsToExecute.add(FeedOperations.buildControlFeedJobSpec(clcfs, metadataProvider));
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            ControlFeedStatement cfs = (ControlFeedStatement) stmt;
--+            String dataverseName = cfs.getDataverseName() == null ? activeDefaultDataverse == null ? null
--+                    : activeDefaultDataverse.getDataverseName() : cfs.getDatasetName().getValue();
--+            CompiledControlFeedStatement clcfs = new CompiledControlFeedStatement(cfs.getOperationType(),
--+                    dataverseName, cfs.getDatasetName().getValue(), cfs.getAlterAdapterConfParams());
--+            JobSpecification jobSpec = FeedOperations.buildControlFeedJobSpec(clcfs, metadataProvider);
--+
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            runJob(hcc, jobSpec);
--+
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--+        }
--     }
-+         //#. get indexLifeCycleManager 
-+         IAsterixAppRuntimeContextProvider appRuntimeContext = txnSubsystem.getAsterixAppRuntimeContextProvider();
-+@@ -272,6 +274,8 @@
-+                             index = localResourceMetadata.createIndexInstance(appRuntimeContext,
-+                                     localResource.getResourceName(), localResource.getPartition());
-+                             indexLifecycleManager.register(resourceId, index);
-++                            indexLifecycleManager.open(resourceId);
-++                            resourceIdList.add(resourceId);
-+                         }
-  
--     private QueryResult handleQuery(AqlMetadataProvider metadataProvider, Query query, IHyracksClientConnection hcc,
--             List<JobSpecification> jobsToExecute) throws Exception {
---        Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, query, null);
---        if (compiled.first != null) {
---            GlobalConfig.ASTERIX_LOGGER.info(compiled.first.toJSON().toString(1));
---            jobsToExecute.add(compiled.first);
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        boolean bActiveTxn = true;
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireReadLatch();
--+
--+        try {
--+            Pair<JobSpecification, FileSplit> compiled = rewriteCompileQuery(metadataProvider, query, null);
--+
--+            QueryResult queryResult = new QueryResult(query, compiled.second.getLocalFile().getFile().getAbsolutePath());
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+            bActiveTxn = false;
--+
--+            if (compiled.first != null) {
--+                GlobalConfig.ASTERIX_LOGGER.info(compiled.first.toJSON().toString(1));
--+                runJob(hcc, compiled.first);
--+            }
--+
--+            return queryResult;
--+        } catch (Exception e) {
--+            if (bActiveTxn) {
--+                MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            }
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseReadLatch();
--         }
---        return new QueryResult(query, compiled.second.getLocalFile().getFile().getAbsolutePath());
--     }
-+                         /***************************************************/
-+@@ -300,6 +304,7 @@
-+                     break;
-  
--     private void runCreateIndexJob(IHyracksClientConnection hcc, CreateIndexStatement stmtCreateIndex,
--@@ -768,20 +1233,32 @@
--     private void handleCreateNodeGroupStatement(AqlMetadataProvider metadataProvider, Statement stmt,
--             List<JobSpecification> jobsToExecute) throws MetadataException, AlgebricksException, RemoteException,
--             ACIDException {
---        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
---        NodegroupDecl stmtCreateNodegroup = (NodegroupDecl) stmt;
---        String ngName = stmtCreateNodegroup.getNodegroupName().getValue();
---        NodeGroup ng = MetadataManager.INSTANCE.getNodegroup(mdTxnCtx, ngName);
---        if (ng != null) {
---            if (!stmtCreateNodegroup.getIfNotExists())
---                throw new AlgebricksException("A nodegroup with this name " + ngName + " already exists.");
---        } else {
---            List<Identifier> ncIdentifiers = stmtCreateNodegroup.getNodeControllerNames();
---            List<String> ncNames = new ArrayList<String>(ncIdentifiers.size());
---            for (Identifier id : ncIdentifiers) {
---                ncNames.add(id.getValue());
--+
--+        MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+        acquireWriteLatch();
--+
--+        try {
--+            NodegroupDecl stmtCreateNodegroup = (NodegroupDecl) stmt;
--+            String ngName = stmtCreateNodegroup.getNodegroupName().getValue();
--+            NodeGroup ng = MetadataManager.INSTANCE.getNodegroup(mdTxnCtx, ngName);
--+            if (ng != null) {
--+                if (!stmtCreateNodegroup.getIfNotExists())
--+                    throw new AlgebricksException("A nodegroup with this name " + ngName + " already exists.");
--+            } else {
--+                List<Identifier> ncIdentifiers = stmtCreateNodegroup.getNodeControllerNames();
--+                List<String> ncNames = new ArrayList<String>(ncIdentifiers.size());
--+                for (Identifier id : ncIdentifiers) {
--+                    ncNames.add(id.getValue());
--+                }
--+                MetadataManager.INSTANCE.addNodegroup(mdTxnCtx, new NodeGroup(ngName, ncNames));
-+                 case LogType.COMMIT:
-++                case LogType.ENTITY_COMMIT:
-+                     //do nothing
-+                     break;
-+ 
-+@@ -308,6 +313,11 @@
-              }
---            MetadataManager.INSTANCE.addNodegroup(mdTxnCtx, new NodeGroup(ngName, ncNames));
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+        } catch (Exception e) {
--+            MetadataManager.INSTANCE.abortTransaction(mdTxnCtx);
--+            throw new AlgebricksException(e);
--+        } finally {
--+            releaseWriteLatch();
-          }
--     }
-- 
--@@ -791,10 +1268,37 @@
-- 
--     private void compileIndexDropStatement(IHyracksClientConnection hcc, String dataverseName, String datasetName,
--             String indexName, AqlMetadataProvider metadataProvider) throws Exception {
--+        MetadataTransactionContext mdTxnCtx = metadataProvider.getMetadataTxnContext();
--+        Index index = MetadataManager.INSTANCE.getIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+
--+        //#. mark PendingDropOp on the existing index
--+        MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
--+        MetadataManager.INSTANCE.addIndex(
--+                mdTxnCtx,
--+                new Index(dataverseName, datasetName, indexName, index.getIndexType(), index.getKeyFieldNames(), index
--+                        .isPrimaryIndex(), IMetadataEntity.PENDING_DROP_OP));
--         CompiledIndexDropStatement cds = new CompiledIndexDropStatement(dataverseName, datasetName, indexName);
---        runJob(hcc, IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider));
---        MetadataManager.INSTANCE.dropIndex(metadataProvider.getMetadataTxnContext(), dataverseName, datasetName,
---                indexName);
--+        JobSpecification jobSpec = IndexOperations.buildDropSecondaryIndexJobSpec(cds, metadataProvider);
--+
--+        //#. commit the existing transaction before calling runJob. 
--+        //   the caller should begin the transaction before calling this function.
--+        MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+
--+        try {
--+            runJob(hcc, jobSpec);
--+        } catch (Exception e) {
--+            //need to create the mdTxnCtx to be aborted by caller properly
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+            throw e;
-+         
-++        //close all indexes
-++        for (long r : resourceIdList) {
-++            indexLifecycleManager.close(r);
- +        }
--+
--+        //#. begin a new transaction
--+        mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+        metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+
--+        //#. finally, delete the existing index
--+        MetadataManager.INSTANCE.dropIndex(mdTxnCtx, dataverseName, datasetName, indexName);
-++        
-+         JobIdFactory.initJobId(maxJobId);
-      }
-  
--     private void compileDatasetDropStatement(IHyracksClientConnection hcc, String dataverseName, String datasetName,
--@@ -803,10 +1307,32 @@
--         CompiledDatasetDropStatement cds = new CompiledDatasetDropStatement(dataverseName, datasetName);
--         Dataset ds = MetadataManager.INSTANCE.getDataset(mdTxnCtx, dataverseName, datasetName);
--         if (ds.getDatasetType() == DatasetType.INTERNAL || ds.getDatasetType() == DatasetType.FEED) {
---            JobSpecification[] jobSpecs = DatasetOperations.createDropDatasetJobSpec(cds, metadataProvider);
---            for (JobSpecification spec : jobSpecs)
---                runJob(hcc, spec);
--+            JobSpecification jobSpec = DatasetOperations.createDropDatasetJobSpec(cds, metadataProvider);
--+
--+            //#. mark PendingDropOp on the existing dataset 
--+            MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
--+            MetadataManager.INSTANCE.addDataset(mdTxnCtx, new Dataset(dataverseName, datasetName, ds.getItemTypeName(),
--+                    ds.getDatasetDetails(), ds.getDatasetType(), ds.getDatasetId(), IMetadataEntity.PENDING_DROP_OP));
--+
--+            //#. commit the transaction
--+            MetadataManager.INSTANCE.commitTransaction(mdTxnCtx);
--+
--+            //#. run the job
--+            try {
--+                runJob(hcc, jobSpec);
--+            } catch (Exception e) {
--+                //need to create the mdTxnCtx to be aborted by caller properly
--+                mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+                metadataProvider.setMetadataTxnContext(mdTxnCtx);
--+                throw e;
-+@@ -539,6 +549,7 @@
-+                     break;
-+ 
-+                 case LogType.COMMIT:
-++                case LogType.ENTITY_COMMIT:
-+                     undoLSNSet = loserTxnTable.get(tempKeyTxnId);
-+                     if (undoLSNSet != null) {
-+                         loserTxnTable.remove(tempKeyTxnId);
-+Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java
-+===================================================================
-+--- asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java	(revision 1194)
-++++ asterix-app/src/test/java/edu/uci/ics/asterix/test/metadata/MetadataTest.java	(working copy)
-+@@ -42,6 +42,16 @@
-+         List<CompilationUnit> cUnits = tcCtx.getTestCase().getCompilationUnit();
-+         for (CompilationUnit cUnit : cUnits) {
-+             File testFile = tcCtx.getTestFile(cUnit);
-++            
-++            /*****************
-++            if (!testFile.getAbsolutePath().contains("meta09.aql")) {
-++                System.out.println(testFile.getAbsolutePath());
-++                continue;
- +            }
--+
--+            //#. start a new transaction
--+            mdTxnCtx = MetadataManager.INSTANCE.beginTransaction();
--+            metadataProvider.setMetadataTxnContext(mdTxnCtx);
--         }
--+
--+        //#. finally, delete the existing dataset. 
--         MetadataManager.INSTANCE.dropDataset(mdTxnCtx, dataverseName, datasetName);
--     }
-++            System.out.println(testFile.getAbsolutePath());
-++            *****************/
-++            
-++            
-+             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);
-+             File actualFile = new File(PATH_ACTUAL + File.separator
-+                     + tcCtx.getTestCase().getFilePath().replace(File.separator, "_") + "_" + cUnit.getName() + ".adm");
-+Index: asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java
-+===================================================================
-+--- asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(revision 1194)
-++++ asterix-app/src/test/java/edu/uci/ics/asterix/test/runtime/ExecutionTest.java	(working copy)
-+@@ -95,9 +95,10 @@
-+             File testFile = tcCtx.getTestFile(cUnit);
-  
--@@ -831,4 +1357,20 @@
--         }
--         return format;
--     }
--+
--+    private void acquireWriteLatch() {
--+        cacheLatch.writeLock().lock();
--+    }
--+
--+    private void releaseWriteLatch() {
--+        cacheLatch.writeLock().unlock();
--+    }
--+
--+    private void acquireReadLatch() {
--+        cacheLatch.readLock().lock();
--+    }
--+
--+    private void releaseReadLatch() {
--+        cacheLatch.readLock().unlock();
--+    }
-- }
-+             /*************** to avoid run failure cases ****************
-+-            if (!testFile.getAbsolutePath().contains("index-selection/")) {
-++            if (!testFile.getAbsolutePath().contains("query-issue205.aql")) {
-+                 continue;
-+             }
-++            System.out.println(testFile.getAbsolutePath());
-+             ************************************************************/
-+             
-+             File expectedResultFile = tcCtx.getExpectedResultFile(cUnit);