]> git.openstreetmap.org Git - rails.git/blobdiff - vendor/assets/iD/iD.js
Update to iD v1.8.2
[rails.git] / vendor / assets / iD / iD.js
index 11dd2f7b04ff398119a639b1af75ba78de867c79..14dafc8f5300ea787552707c88a9631473e5e03d 100644 (file)
   }
 
 })(this);
-d3 = (function(){
-  var d3 = {version: "3.1.4"}; // semver
-d3.ascending = function(a, b) {
+!function(){
+  var d3 = {version: "3.5.5"}; // semver
+d3.ascending = d3_ascending;
+
+function d3_ascending(a, b) {
   return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
-};
+}
 d3.descending = function(a, b) {
   return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
 };
@@ -188,10 +190,10 @@ d3.min = function(array, f) {
       a,
       b;
   if (arguments.length === 1) {
-    while (++i < n && ((a = array[i]) == null || a != a)) a = undefined;
+    while (++i < n) if ((b = array[i]) != null && b >= b) { a = b; break; }
     while (++i < n) if ((b = array[i]) != null && a > b) a = b;
   } else {
-    while (++i < n && ((a = f.call(array, array[i], i)) == null || a != a)) a = undefined;
+    while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { a = b; break; }
     while (++i < n) if ((b = f.call(array, array[i], i)) != null && a > b) a = b;
   }
   return a;
@@ -202,10 +204,10 @@ d3.max = function(array, f) {
       a,
       b;
   if (arguments.length === 1) {
-    while (++i < n && ((a = array[i]) == null || a != a)) a = undefined;
+    while (++i < n) if ((b = array[i]) != null && b >= b) { a = b; break; }
     while (++i < n) if ((b = array[i]) != null && b > a) a = b;
   } else {
-    while (++i < n && ((a = f.call(array, array[i], i)) == null || a != a)) a = undefined;
+    while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { a = b; break; }
     while (++i < n) if ((b = f.call(array, array[i], i)) != null && b > a) a = b;
   }
   return a;
@@ -217,13 +219,13 @@ d3.extent = function(array, f) {
       b,
       c;
   if (arguments.length === 1) {
-    while (++i < n && ((a = c = array[i]) == null || a != a)) a = c = undefined;
+    while (++i < n) if ((b = array[i]) != null && b >= b) { a = c = b; break; }
     while (++i < n) if ((b = array[i]) != null) {
       if (a > b) a = b;
       if (c < b) c = b;
     }
   } else {
-    while (++i < n && ((a = c = f.call(array, array[i], i)) == null || a != a)) a = undefined;
+    while (++i < n) if ((b = f.call(array, array[i], i)) != null && b >= b) { a = c = b; break; }
     while (++i < n) if ((b = f.call(array, array[i], i)) != null) {
       if (a > b) a = b;
       if (c < b) c = b;
@@ -231,36 +233,39 @@ d3.extent = function(array, f) {
   }
   return [a, c];
 };
+function d3_number(x) {
+  return x === null ? NaN : +x;
+}
+
+function d3_numeric(x) {
+  return !isNaN(x);
+}
+
 d3.sum = function(array, f) {
   var s = 0,
       n = array.length,
       a,
       i = -1;
-
   if (arguments.length === 1) {
-    while (++i < n) if (!isNaN(a = +array[i])) s += a;
+    while (++i < n) if (d3_numeric(a = +array[i])) s += a; // zero and null are equivalent
   } else {
-    while (++i < n) if (!isNaN(a = +f.call(array, array[i], i))) s += a;
+    while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;
   }
-
   return s;
 };
-function d3_number(x) {
-  return x != null && !isNaN(x);
-}
 
 d3.mean = function(array, f) {
-  var n = array.length,
+  var s = 0,
+      n = array.length,
       a,
-      m = 0,
       i = -1,
-      j = 0;
+      j = n;
   if (arguments.length === 1) {
-    while (++i < n) if (d3_number(a = array[i])) m += (a - m) / ++j;
+    while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;
   } else {
-    while (++i < n) if (d3_number(a = f.call(array, array[i], i))) m += (a - m) / ++j;
+    while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;
   }
-  return j ? m : undefined;
+  if (j) return s / j;
 };
 // R-7 per <http://en.wikipedia.org/wiki/Quantile>
 d3.quantile = function(values, p) {
@@ -272,18 +277,59 @@ d3.quantile = function(values, p) {
 };
 
 d3.median = function(array, f) {
-  if (arguments.length > 1) array = array.map(f);
-  array = array.filter(d3_number);
-  return array.length ? d3.quantile(array.sort(d3.ascending), .5) : undefined;
+  var numbers = [],
+      n = array.length,
+      a,
+      i = -1;
+  if (arguments.length === 1) {
+    while (++i < n) if (d3_numeric(a = d3_number(array[i]))) numbers.push(a);
+  } else {
+    while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) numbers.push(a);
+  }
+  if (numbers.length) return d3.quantile(numbers.sort(d3_ascending), .5);
 };
-d3.bisector = function(f) {
+
+d3.variance = function(array, f) {
+  var n = array.length,
+      m = 0,
+      a,
+      d,
+      s = 0,
+      i = -1,
+      j = 0;
+  if (arguments.length === 1) {
+    while (++i < n) {
+      if (d3_numeric(a = d3_number(array[i]))) {
+        d = a - m;
+        m += d / ++j;
+        s += d * (a - m);
+      }
+    }
+  } else {
+    while (++i < n) {
+      if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) {
+        d = a - m;
+        m += d / ++j;
+        s += d * (a - m);
+      }
+    }
+  }
+  if (j > 1) return s / (j - 1);
+};
+
+d3.deviation = function() {
+  var v = d3.variance.apply(this, arguments);
+  return v ? Math.sqrt(v) : v;
+};
+
+function d3_bisector(compare) {
   return {
     left: function(a, x, lo, hi) {
       if (arguments.length < 3) lo = 0;
       if (arguments.length < 4) hi = a.length;
       while (lo < hi) {
         var mid = lo + hi >>> 1;
-        if (f.call(a, a[mid], mid) < x) lo = mid + 1;
+        if (compare(a[mid], x) < 0) lo = mid + 1;
         else hi = mid;
       }
       return lo;
@@ -293,32 +339,42 @@ d3.bisector = function(f) {
       if (arguments.length < 4) hi = a.length;
       while (lo < hi) {
         var mid = lo + hi >>> 1;
-        if (x < f.call(a, a[mid], mid)) hi = mid;
+        if (compare(a[mid], x) > 0) hi = mid;
         else lo = mid + 1;
       }
       return lo;
     }
   };
-};
+}
+
+var d3_bisect = d3_bisector(d3_ascending);
+d3.bisectLeft = d3_bisect.left;
+d3.bisect = d3.bisectRight = d3_bisect.right;
 
-var d3_bisector = d3.bisector(function(d) { return d; });
-d3.bisectLeft = d3_bisector.left;
-d3.bisect = d3.bisectRight = d3_bisector.right;
-d3.shuffle = function(array) {
-  var m = array.length, t, i;
+d3.bisector = function(f) {
+  return d3_bisector(f.length === 1
+      ? function(d, x) { return d3_ascending(f(d), x); }
+      : f);
+};
+d3.shuffle = function(array, i0, i1) {
+  if ((m = arguments.length) < 3) { i1 = array.length; if (m < 2) i0 = 0; }
+  var m = i1 - i0, t, i;
   while (m) {
     i = Math.random() * m-- | 0;
-    t = array[m], array[m] = array[i], array[i] = t;
+    t = array[m + i0], array[m + i0] = array[i + i0], array[i + i0] = t;
   }
   return array;
 };
 d3.permute = function(array, indexes) {
-  var permutes = [],
-      i = -1,
-      n = indexes.length;
-  while (++i < n) permutes[i] = array[indexes[i]];
+  var i = indexes.length, permutes = new Array(i);
+  while (i--) permutes[i] = array[indexes[i]];
   return permutes;
 };
+d3.pairs = function(array) {
+  var i = 0, n = array.length - 1, p0, p1 = array[0], pairs = new Array(n < 0 ? 0 : n);
+  while (i < n) pairs[i] = [p0 = p1, p1 = array[++i]];
+  return pairs;
+};
 
 d3.zip = function() {
   if (!(n = arguments.length)) return [];
@@ -353,8 +409,28 @@ d3.entries = function(map) {
   return entries;
 };
 d3.merge = function(arrays) {
-  return Array.prototype.concat.apply([], arrays);
+  var n = arrays.length,
+      m,
+      i = -1,
+      j = 0,
+      merged,
+      array;
+
+  while (++i < n) j += arrays[i].length;
+  merged = new Array(j);
+
+  while (--n >= 0) {
+    array = arrays[n];
+    m = array.length;
+    while (--m >= 0) {
+      merged[--j] = array[m];
+    }
+  }
+
+  return merged;
 };
+var abs = Math.abs;
+
 d3.range = function(start, stop, step) {
   if (arguments.length < 3) {
     step = 1;
@@ -365,7 +441,7 @@ d3.range = function(start, stop, step) {
   }
   if ((stop - start) / step === Infinity) throw new Error("infinite range");
   var range = [],
-       k = d3_range_integerScale(Math.abs(step)),
+       k = d3_range_integerScale(abs(step)),
        i = -1,
        j;
   start *= k, stop *= k, step *= k;
@@ -380,66 +456,96 @@ function d3_range_integerScale(x) {
   return k;
 }
 function d3_class(ctor, properties) {
-  try {
-    for (var key in properties) {
-      Object.defineProperty(ctor.prototype, key, {
-        value: properties[key],
-        enumerable: false
-      });
-    }
-  } catch (e) {
-    ctor.prototype = properties;
+  for (var key in properties) {
+    Object.defineProperty(ctor.prototype, key, {
+      value: properties[key],
+      enumerable: false
+    });
   }
 }
 
-d3.map = function(object) {
+d3.map = function(object, f) {
   var map = new d3_Map;
-  for (var key in object) map.set(key, object[key]);
+  if (object instanceof d3_Map) {
+    object.forEach(function(key, value) { map.set(key, value); });
+  } else if (Array.isArray(object)) {
+    var i = -1,
+        n = object.length,
+        o;
+    if (arguments.length === 1) while (++i < n) map.set(i, object[i]);
+    else while (++i < n) map.set(f.call(object, o = object[i], i), o);
+  } else {
+    for (var key in object) map.set(key, object[key]);
+  }
   return map;
 };
 
-function d3_Map() {}
+function d3_Map() {
+  this._ = Object.create(null);
+}
+
+var d3_map_proto = "__proto__",
+    d3_map_zero = "\0";
 
 d3_class(d3_Map, {
-  has: function(key) {
-    return d3_map_prefix + key in this;
-  },
+  has: d3_map_has,
   get: function(key) {
-    return this[d3_map_prefix + key];
+    return this._[d3_map_escape(key)];
   },
   set: function(key, value) {
-    return this[d3_map_prefix + key] = value;
-  },
-  remove: function(key) {
-    key = d3_map_prefix + key;
-    return key in this && delete this[key];
-  },
-  keys: function() {
-    var keys = [];
-    this.forEach(function(key) { keys.push(key); });
-    return keys;
+    return this._[d3_map_escape(key)] = value;
   },
+  remove: d3_map_remove,
+  keys: d3_map_keys,
   values: function() {
     var values = [];
-    this.forEach(function(key, value) { values.push(value); });
+    for (var key in this._) values.push(this._[key]);
     return values;
   },
   entries: function() {
     var entries = [];
-    this.forEach(function(key, value) { entries.push({key: key, value: value}); });
+    for (var key in this._) entries.push({key: d3_map_unescape(key), value: this._[key]});
     return entries;
   },
+  size: d3_map_size,
+  empty: d3_map_empty,
   forEach: function(f) {
-    for (var key in this) {
-      if (key.charCodeAt(0) === d3_map_prefixCode) {
-        f.call(this, key.substring(1), this[key]);
-      }
-    }
+    for (var key in this._) f.call(this, d3_map_unescape(key), this._[key]);
   }
 });
 
-var d3_map_prefix = "\0", // prevent collision with built-ins
-    d3_map_prefixCode = d3_map_prefix.charCodeAt(0);
+function d3_map_escape(key) {
+  return (key += "") === d3_map_proto || key[0] === d3_map_zero ? d3_map_zero + key : key;
+}
+
+function d3_map_unescape(key) {
+  return (key += "")[0] === d3_map_zero ? key.slice(1) : key;
+}
+
+function d3_map_has(key) {
+  return d3_map_escape(key) in this._;
+}
+
+function d3_map_remove(key) {
+  return (key = d3_map_escape(key)) in this._ && delete this._[key];
+}
+
+function d3_map_keys() {
+  var keys = [];
+  for (var key in this._) keys.push(d3_map_unescape(key));
+  return keys;
+}
+
+function d3_map_size() {
+  var size = 0;
+  for (var key in this._) ++size;
+  return size;
+}
+
+function d3_map_empty() {
+  for (var key in this._) return false;
+  return true;
+}
 
 d3.nest = function() {
   var nest = {},
@@ -538,43 +644,45 @@ d3.nest = function() {
 };
 
 d3.set = function(array) {
-  var set = new d3_Set();
-  if (array) for (var i = 0; i < array.length; i++) set.add(array[i]);
+  var set = new d3_Set;
+  if (array) for (var i = 0, n = array.length; i < n; ++i) set.add(array[i]);
   return set;
 };
 
-function d3_Set() {}
+function d3_Set() {
+  this._ = Object.create(null);
+}
 
 d3_class(d3_Set, {
-  has: function(value) {
-    return d3_map_prefix + value in this;
-  },
-  add: function(value) {
-    this[d3_map_prefix + value] = true;
-    return value;
-  },
-  remove: function(value) {
-    value = d3_map_prefix + value;
-    return value in this && delete this[value];
-  },
-  values: function() {
-    var values = [];
-    this.forEach(function(value) {
-      values.push(value);
-    });
-    return values;
+  has: d3_map_has,
+  add: function(key) {
+    this._[d3_map_escape(key += "")] = true;
+    return key;
   },
+  remove: d3_map_remove,
+  values: d3_map_keys,
+  size: d3_map_size,
+  empty: d3_map_empty,
   forEach: function(f) {
-    for (var value in this) {
-      if (value.charCodeAt(0) === d3_map_prefixCode) {
-        f.call(this, value.substring(1));
-      }
-    }
+    for (var key in this._) f.call(this, d3_map_unescape(key));
   }
 });
 d3.behavior = {};
-var d3_document = document,
-    d3_window = window;
+var d3_document = this.document;
+
+function d3_documentElement(node) {
+  return node
+      && (node.ownerDocument // node is a Node
+      || node.document // node is a Window
+      || node).documentElement; // node is a Document
+}
+
+function d3_window(node) {
+  return node
+      && ((node.ownerDocument && node.ownerDocument.defaultView) // node is a Node
+        || (node.document && node) // node is a Window
+        || node.defaultView); // node is a Document
+}
 // Copies a variable number of methods from source to target.
 d3.rebind = function(target, source) {
   var i = 1, n = arguments.length, method;
@@ -591,6 +699,19 @@ function d3_rebind(target, source, method) {
     return value === source ? target : value;
   };
 }
+function d3_vendorSymbol(object, name) {
+  if (name in object) return name;
+  name = name.charAt(0).toUpperCase() + name.slice(1);
+  for (var i = 0, n = d3_vendorPrefixes.length; i < n; ++i) {
+    var prefixName = d3_vendorPrefixes[i] + name;
+    if (prefixName in object) return prefixName;
+  }
+}
+
+var d3_vendorPrefixes = ["webkit", "ms", "moz", "Moz", "o", "O"];
+var d3_arraySlice = [].slice,
+    d3_array = function(list) { return d3_arraySlice.call(list); }; // conversion for NodeLists
+function d3_noop() {}
 
 d3.dispatch = function() {
   var dispatch = new d3_dispatch,
@@ -608,8 +729,8 @@ d3_dispatch.prototype.on = function(type, listener) {
 
   // Extract optional namespace, e.g., "click.foo"
   if (i >= 0) {
-    name = type.substring(i + 1);
-    type = type.substring(0, i);
+    name = type.slice(i + 1);
+    type = type.slice(0, i);
   }
 
   if (type) return arguments.length < 2
@@ -662,9 +783,13 @@ function d3_dispatch_event(dispatch) {
 
 d3.event = null;
 
+function d3_eventPreventDefault() {
+  d3.event.preventDefault();
+}
+
 function d3_eventCancel() {
-  d3.event.stopPropagation();
   d3.event.preventDefault();
+  d3.event.stopPropagation();
 }
 
 function d3_eventSource() {
@@ -709,105 +834,50 @@ function d3_eventDispatch(target) {
 
   return dispatch;
 }
-
-d3.mouse = function(container) {
-  return d3_mousePoint(container, d3_eventSource());
-};
-
-// https://bugs.webkit.org/show_bug.cgi?id=44083
-var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0;
-
-function d3_mousePoint(container, e) {
-  var svg = container.ownerSVGElement || container;
-  if (svg.createSVGPoint) {
-    var point = svg.createSVGPoint();
-    if (d3_mouse_bug44083 < 0 && (d3_window.scrollX || d3_window.scrollY)) {
-      svg = d3.select(d3_document.body).append("svg")
-          .style("position", "absolute")
-          .style("top", 0)
-          .style("left", 0);
-      var ctm = svg[0][0].getScreenCTM();
-      d3_mouse_bug44083 = !(ctm.f || ctm.e);
-      svg.remove();
-    }
-    if (d3_mouse_bug44083) {
-      point.x = e.pageX;
-      point.y = e.pageY;
-    } else {
-      point.x = e.clientX;
-      point.y = e.clientY;
-    }
-    point = point.matrixTransform(container.getScreenCTM().inverse());
-    return [point.x, point.y];
-  }
-  var rect = container.getBoundingClientRect();
-  return [e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop];
+d3.requote = function(s) {
+  return s.replace(d3_requote_re, "\\$&");
 };
 
-var d3_array = d3_arraySlice; // conversion for NodeLists
-
-function d3_arrayCopy(pseudoarray) {
-  var i = -1, n = pseudoarray.length, array = [];
-  while (++i < n) array.push(pseudoarray[i]);
-  return array;
-}
-
-function d3_arraySlice(pseudoarray) {
-  return Array.prototype.slice.call(pseudoarray);
-}
-
-try {
-  d3_array(d3_document.documentElement.childNodes)[0].nodeType;
-} catch(e) {
-  d3_array = d3_arrayCopy;
-}
-
-var d3_arraySubclass = [].__proto__?
+var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;
+var d3_subclass = {}.__proto__?
 
 // Until ECMAScript supports array subclassing, prototype injection works well.
-function(array, prototype) {
-  array.__proto__ = prototype;
+function(object, prototype) {
+  object.__proto__ = prototype;
 }:
 
 // And if your browser doesn't support __proto__, we'll use direct extension.
-function(array, prototype) {
-  for (var property in prototype) array[property] = prototype[property];
-};
-
-d3.touches = function(container, touches) {
-  if (arguments.length < 2) touches = d3_eventSource().touches;
-  return touches ? d3_array(touches).map(function(touch) {
-    var point = d3_mousePoint(container, touch);
-    point.identifier = touch.identifier;
-    return point;
-  }) : [];
+function(object, prototype) {
+  for (var property in prototype) object[property] = prototype[property];
 };
 
 function d3_selection(groups) {
-  d3_arraySubclass(groups, d3_selectionPrototype);
+  d3_subclass(groups, d3_selectionPrototype);
   return groups;
 }
 
 var d3_select = function(s, n) { return n.querySelector(s); },
     d3_selectAll = function(s, n) { return n.querySelectorAll(s); },
-    d3_selectRoot = d3_document.documentElement,
-    d3_selectMatcher = d3_selectRoot.matchesSelector || d3_selectRoot.webkitMatchesSelector || d3_selectRoot.mozMatchesSelector || d3_selectRoot.msMatchesSelector || d3_selectRoot.oMatchesSelector,
-    d3_selectMatches = function(n, s) { return d3_selectMatcher.call(n, s); };
+    d3_selectMatches = function(n, s) {
+      var d3_selectMatcher = n.matches || n[d3_vendorSymbol(n, "matchesSelector")];
+      d3_selectMatches = function(n, s) {
+        return d3_selectMatcher.call(n, s);
+      };
+      return d3_selectMatches(n, s);
+    };
 
 // Prefer Sizzle, if available.
 if (typeof Sizzle === "function") {
   d3_select = function(s, n) { return Sizzle(s, n)[0] || null; };
-  d3_selectAll = function(s, n) { return Sizzle.uniqueSort(Sizzle(s, n)); };
+  d3_selectAll = Sizzle;
   d3_selectMatches = Sizzle.matchesSelector;
 }
 
-var d3_selectionPrototype = [];
-
 d3.selection = function() {
-  return d3_selectionRoot;
+  return d3.select(d3_document.documentElement);
 };
 
-d3.selection.prototype = d3_selectionPrototype;
+var d3_selectionPrototype = d3.selection.prototype = [];
 
 
 d3_selectionPrototype.select = function(selector) {
@@ -817,14 +887,14 @@ d3_selectionPrototype.select = function(selector) {
       group,
       node;
 
-  if (typeof selector !== "function") selector = d3_selection_selector(selector);
+  selector = d3_selection_selector(selector);
 
   for (var j = -1, m = this.length; ++j < m;) {
     subgroups.push(subgroup = []);
     subgroup.parentNode = (group = this[j]).parentNode;
     for (var i = -1, n = group.length; ++i < n;) {
       if (node = group[i]) {
-        subgroup.push(subnode = selector.call(node, node.__data__, i));
+        subgroup.push(subnode = selector.call(node, node.__data__, i, j));
         if (subnode && "__data__" in node) subnode.__data__ = node.__data__;
       } else {
         subgroup.push(null);
@@ -836,7 +906,7 @@ d3_selectionPrototype.select = function(selector) {
 };
 
 function d3_selection_selector(selector) {
-  return function() {
+  return typeof selector === "function" ? selector : function() {
     return d3_select(selector, this);
   };
 }
@@ -846,12 +916,12 @@ d3_selectionPrototype.selectAll = function(selector) {
       subgroup,
       node;
 
-  if (typeof selector !== "function") selector = d3_selection_selectorAll(selector);
+  selector = d3_selection_selectorAll(selector);
 
   for (var j = -1, m = this.length; ++j < m;) {
     for (var group = this[j], i = -1, n = group.length; ++i < n;) {
       if (node = group[i]) {
-        subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i)));
+        subgroups.push(subgroup = d3_array(selector.call(node, node.__data__, i, j)));
         subgroup.parentNode = node;
       }
     }
@@ -861,7 +931,7 @@ d3_selectionPrototype.selectAll = function(selector) {
 };
 
 function d3_selection_selectorAll(selector) {
-  return function() {
+  return typeof selector === "function" ? selector : function() {
     return d3_selectAll(selector, this);
   };
 }
@@ -879,8 +949,8 @@ d3.ns = {
     var i = name.indexOf(":"),
         prefix = name;
     if (i >= 0) {
-      prefix = name.substring(0, i);
-      name = name.substring(i + 1);
+      prefix = name.slice(0, i);
+      name = name.slice(i + 1);
     }
     return d3_nsPrefix.hasOwnProperty(prefix)
         ? {space: d3_nsPrefix[prefix], local: name}
@@ -950,11 +1020,6 @@ function d3_selection_attr(name, value) {
 function d3_collapse(s) {
   return s.trim().replace(/\s+/g, " ");
 }
-d3.requote = function(s) {
-  return s.replace(d3_requote_re, "\\$&");
-};
-
-var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;
 
 d3_selectionPrototype.classed = function(name, value) {
   if (arguments.length < 2) {
@@ -964,7 +1029,7 @@ d3_selectionPrototype.classed = function(name, value) {
     // probably doesn't support it on SVG elements (which can be animated).
     if (typeof name === "string") {
       var node = this.node(),
-          n = (name = name.trim().split(/^|\s+/g)).length,
+          n = (name = d3_selection_classes(name)).length,
           i = -1;
       if (value = node.classList) {
         while (++i < n) if (!value.contains(name[i])) return false;
@@ -989,9 +1054,13 @@ function d3_selection_classedRe(name) {
   return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g");
 }
 
+function d3_selection_classes(name) {
+  return (name + "").trim().split(/^|\s+/);
+}
+
 // Multiple class names are allowed (e.g., "foo bar").
 function d3_selection_classed(name, value) {
-  name = name.trim().split(/\s+/).map(d3_selection_classedName);
+  name = d3_selection_classes(name).map(d3_selection_classedName);
   var n = name.length;
 
   function classedConstant() {
@@ -1040,7 +1109,10 @@ d3_selectionPrototype.style = function(name, value, priority) {
     }
 
     // For style(string), return the computed style value for the first node.
-    if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name);
+    if (n < 2) {
+      var node = this.node();
+      return d3_window(node).getComputedStyle(node, null).getPropertyValue(name);
+    }
 
     // For style(string, string) or style(string, function), use the default
     // priority. The priority is ignored for style(string, null).
@@ -1125,8 +1197,8 @@ d3_selectionPrototype.text = function(value) {
   return arguments.length
       ? this.each(typeof value === "function"
       ? function() { var v = value.apply(this, arguments); this.textContent = v == null ? "" : v; } : value == null
-      ? function() { this.textContent = ""; }
-      : function() { this.textContent = value; })
+      ? function() { if (this.textContent !== "") this.textContent = ""; }
+      : function() { if (this.textContent !== value) this.textContent = value; })
       : this.node().textContent;
 };
 
@@ -1139,52 +1211,52 @@ d3_selectionPrototype.html = function(value) {
       : this.node().innerHTML;
 };
 
-// TODO append(node)?
-// TODO append(function)?
 d3_selectionPrototype.append = function(name) {
-  name = d3.ns.qualify(name);
-
-  function append() {
-    return this.appendChild(d3_document.createElementNS(this.namespaceURI, name));
-  }
-
-  function appendNS() {
-    return this.appendChild(d3_document.createElementNS(name.space, name.local));
-  }
-
-  return this.select(name.local ? appendNS : append);
+  name = d3_selection_creator(name);
+  return this.select(function() {
+    return this.appendChild(name.apply(this, arguments));
+  });
 };
 
-d3_selectionPrototype.insert = function(name, before) {
-  name = d3.ns.qualify(name);
-
-  if (typeof before !== "function") before = d3_selection_selector(before);
+function d3_selection_creator(name) {
 
-  function insert(d, i) {
-    return this.insertBefore(
-        d3_document.createElementNS(this.namespaceURI, name),
-        before.call(this, d, i));
+  function create() {
+    var document = this.ownerDocument,
+        namespace = this.namespaceURI;
+    return namespace
+        ? document.createElementNS(namespace, name)
+        : document.createElement(name);
   }
 
-  function insertNS(d, i) {
-    return this.insertBefore(
-        d3_document.createElementNS(name.space, name.local),
-        before.call(this, d, i));
+  function createNS() {
+    return this.ownerDocument.createElementNS(name.space, name.local);
   }
 
-  return this.select(name.local ? insertNS : insert);
+  return typeof name === "function" ? name
+      : (name = d3.ns.qualify(name)).local ? createNS
+      : create;
+}
+
+d3_selectionPrototype.insert = function(name, before) {
+  name = d3_selection_creator(name);
+  before = d3_selection_selector(before);
+  return this.select(function() {
+    return this.insertBefore(name.apply(this, arguments), before.apply(this, arguments) || null);
+  });
 };
 
 // TODO remove(selector)?
 // TODO remove(node)?
 // TODO remove(function)?
 d3_selectionPrototype.remove = function() {
-  return this.each(function() {
-    var parent = this.parentNode;
-    if (parent) parent.removeChild(this);
-  });
+  return this.each(d3_selectionRemove);
 };
 
+function d3_selectionRemove() {
+  var parent = this.parentNode;
+  if (parent) parent.removeChild(this);
+}
+
 d3_selectionPrototype.data = function(value, key) {
   var i = -1,
       n = this.length,
@@ -1215,34 +1287,30 @@ d3_selectionPrototype.data = function(value, key) {
 
     if (key) {
       var nodeByKeyValue = new d3_Map,
-          dataByKeyValue = new d3_Map,
-          keyValues = [],
+          keyValues = new Array(n),
           keyValue;
 
       for (i = -1; ++i < n;) {
-        keyValue = key.call(node = group[i], node.__data__, i);
-        if (nodeByKeyValue.has(keyValue)) {
+        if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) {
           exitNodes[i] = node; // duplicate selection key
         } else {
           nodeByKeyValue.set(keyValue, node);
         }
-        keyValues.push(keyValue);
+        keyValues[i] = keyValue;
       }
 
       for (i = -1; ++i < m;) {
-        keyValue = key.call(groupData, nodeData = groupData[i], i);
-        if (node = nodeByKeyValue.get(keyValue)) {
+        if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {
+          enterNodes[i] = d3_selection_dataNode(nodeData);
+        } else if (node !== true) { // no duplicate data key
           updateNodes[i] = node;
           node.__data__ = nodeData;
-        } else if (!dataByKeyValue.has(keyValue)) { // no duplicate data key
-          enterNodes[i] = d3_selection_dataNode(nodeData);
         }
-        dataByKeyValue.set(keyValue, nodeData);
-        nodeByKeyValue.remove(keyValue);
+        nodeByKeyValue.set(keyValue, true);
       }
 
       for (i = -1; ++i < n;) {
-        if (nodeByKeyValue.has(keyValues[i])) {
+        if (nodeByKeyValue.get(keyValues[i]) !== true) {
           exitNodes[i] = group[i];
         }
       }
@@ -1319,7 +1387,7 @@ d3_selectionPrototype.filter = function(filter) {
     subgroups.push(subgroup = []);
     subgroup.parentNode = (group = this[j]).parentNode;
     for (var i = 0, n = group.length; i < n; i++) {
-      if ((node = group[i]) && filter.call(node, node.__data__, i)) {
+      if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {
         subgroup.push(node);
       }
     }
@@ -1353,12 +1421,137 @@ d3_selectionPrototype.sort = function(comparator) {
 };
 
 function d3_selection_sortComparator(comparator) {
-  if (!arguments.length) comparator = d3.ascending;
+  if (!arguments.length) comparator = d3_ascending;
   return function(a, b) {
-    return (!a - !b) || comparator(a.__data__, b.__data__);
+    return a && b ? comparator(a.__data__, b.__data__) : !a - !b;
   };
 }
-function d3_noop() {}
+
+d3_selectionPrototype.each = function(callback) {
+  return d3_selection_each(this, function(node, i, j) {
+    callback.call(node, node.__data__, i, j);
+  });
+};
+
+function d3_selection_each(groups, callback) {
+  for (var j = 0, m = groups.length; j < m; j++) {
+    for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {
+      if (node = group[i]) callback(node, i, j);
+    }
+  }
+  return groups;
+}
+
+d3_selectionPrototype.call = function(callback) {
+  var args = d3_array(arguments);
+  callback.apply(args[0] = this, args);
+  return this;
+};
+
+d3_selectionPrototype.empty = function() {
+  return !this.node();
+};
+
+d3_selectionPrototype.node = function() {
+  for (var j = 0, m = this.length; j < m; j++) {
+    for (var group = this[j], i = 0, n = group.length; i < n; i++) {
+      var node = group[i];
+      if (node) return node;
+    }
+  }
+  return null;
+};
+
+d3_selectionPrototype.size = function() {
+  var n = 0;
+  d3_selection_each(this, function() { ++n; });
+  return n;
+};
+
+function d3_selection_enter(selection) {
+  d3_subclass(selection, d3_selection_enterPrototype);
+  return selection;
+}
+
+var d3_selection_enterPrototype = [];
+
+d3.selection.enter = d3_selection_enter;
+d3.selection.enter.prototype = d3_selection_enterPrototype;
+
+d3_selection_enterPrototype.append = d3_selectionPrototype.append;
+d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;
+d3_selection_enterPrototype.node = d3_selectionPrototype.node;
+d3_selection_enterPrototype.call = d3_selectionPrototype.call;
+d3_selection_enterPrototype.size = d3_selectionPrototype.size;
+
+
+d3_selection_enterPrototype.select = function(selector) {
+  var subgroups = [],
+      subgroup,
+      subnode,
+      upgroup,
+      group,
+      node;
+
+  for (var j = -1, m = this.length; ++j < m;) {
+    upgroup = (group = this[j]).update;
+    subgroups.push(subgroup = []);
+    subgroup.parentNode = group.parentNode;
+    for (var i = -1, n = group.length; ++i < n;) {
+      if (node = group[i]) {
+        subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i, j));
+        subnode.__data__ = node.__data__;
+      } else {
+        subgroup.push(null);
+      }
+    }
+  }
+
+  return d3_selection(subgroups);
+};
+
+d3_selection_enterPrototype.insert = function(name, before) {
+  if (arguments.length < 2) before = d3_selection_enterInsertBefore(this);
+  return d3_selectionPrototype.insert.call(this, name, before);
+};
+
+function d3_selection_enterInsertBefore(enter) {
+  var i0, j0;
+  return function(d, i, j) {
+    var group = enter[j].update,
+        n = group.length,
+        node;
+    if (j != j0) j0 = j, i0 = 0;
+    if (i >= i0) i0 = i + 1;
+    while (!(node = group[i0]) && ++i0 < n);
+    return node;
+  };
+}
+
+// TODO fast singleton implementation?
+d3.select = function(node) {
+  var group;
+  if (typeof node === "string") {
+    group = [d3_select(node, d3_document)];
+    group.parentNode = d3_document.documentElement;
+  } else {
+    group = [node];
+    group.parentNode = d3_documentElement(node);
+  }
+  return d3_selection([group]);
+};
+
+d3.selectAll = function(nodes) {
+  var group;
+  if (typeof nodes === "string") {
+    group = d3_array(d3_selectAll(nodes, d3_document));
+    group.parentNode = d3_document.documentElement;
+  } else {
+    group = nodes;
+    group.parentNode = null;
+  }
+  return d3_selection([group]);
+};
 
 d3_selectionPrototype.on = function(type, listener, capture) {
   var n = arguments.length;
@@ -1389,7 +1582,7 @@ function d3_selection_on(type, listener, capture) {
       i = type.indexOf("."),
       wrap = d3_selection_onListener;
 
-  if (i > 0) type = type.substring(0, i);
+  if (i > 0) type = type.slice(0, i);
   var filter = d3_selection_onFilters.get(type);
   if (filter) type = filter, wrap = d3_selection_onFilter;
 
@@ -1431,9 +1624,11 @@ var d3_selection_onFilters = d3.map({
   mouseleave: "mouseout"
 });
 
-d3_selection_onFilters.forEach(function(k) {
-  if ("on" + k in d3_document) d3_selection_onFilters.remove(k);
-});
+if (d3_document) {
+  d3_selection_onFilters.forEach(function(k) {
+    if ("on" + k in d3_document) d3_selection_onFilters.remove(k);
+  });
+}
 
 function d3_selection_onListener(listener, argumentz) {
   return function(e) {
@@ -1458,161 +1653,286 @@ function d3_selection_onFilter(listener, argumentz) {
   };
 }
 
-d3_selectionPrototype.each = function(callback) {
-  return d3_selection_each(this, function(node, i, j) {
-    callback.call(node, node.__data__, i, j);
-  });
-};
+var d3_event_dragSelect,
+    d3_event_dragId = 0;
 
-function d3_selection_each(groups, callback) {
-  for (var j = 0, m = groups.length; j < m; j++) {
-    for (var group = groups[j], i = 0, n = group.length, node; i < n; i++) {
-      if (node = group[i]) callback(node, i, j);
-    }
+function d3_event_dragSuppress(node) {
+  var name = ".dragsuppress-" + ++d3_event_dragId,
+      click = "click" + name,
+      w = d3.select(d3_window(node))
+          .on("touchmove" + name, d3_eventPreventDefault)
+          .on("dragstart" + name, d3_eventPreventDefault)
+          .on("selectstart" + name, d3_eventPreventDefault);
+
+  if (d3_event_dragSelect == null) {
+    d3_event_dragSelect = "onselectstart" in node ? false
+        : d3_vendorSymbol(node.style, "userSelect");
   }
-  return groups;
+
+  if (d3_event_dragSelect) {
+    var style = d3_documentElement(node).style,
+        select = style[d3_event_dragSelect];
+    style[d3_event_dragSelect] = "none";
+  }
+
+  return function(suppressClick) {
+    w.on(name, null);
+    if (d3_event_dragSelect) style[d3_event_dragSelect] = select;
+    if (suppressClick) { // suppress the next click, but only if it’s immediate
+      var off = function() { w.on(click, null); };
+      w.on(click, function() { d3_eventCancel(); off(); }, true);
+      setTimeout(off, 0);
+    }
+  };
 }
 
-d3_selectionPrototype.call = function(callback) {
-  var args = d3_array(arguments);
-  callback.apply(args[0] = this, args);
-  return this;
+d3.mouse = function(container) {
+  return d3_mousePoint(container, d3_eventSource());
 };
 
-d3_selectionPrototype.empty = function() {
-  return !this.node();
-};
+// https://bugs.webkit.org/show_bug.cgi?id=44083
+var d3_mouse_bug44083 = this.navigator && /WebKit/.test(this.navigator.userAgent) ? -1 : 0;
 
-d3_selectionPrototype.node = function() {
-  for (var j = 0, m = this.length; j < m; j++) {
-    for (var group = this[j], i = 0, n = group.length; i < n; i++) {
-      var node = group[i];
-      if (node) return node;
+function d3_mousePoint(container, e) {
+  if (e.changedTouches) e = e.changedTouches[0];
+  var svg = container.ownerSVGElement || container;
+  if (svg.createSVGPoint) {
+    var point = svg.createSVGPoint();
+    if (d3_mouse_bug44083 < 0) {
+      var window = d3_window(container);
+      if (window.scrollX || window.scrollY) {
+        svg = d3.select("body").append("svg").style({
+          position: "absolute",
+          top: 0,
+          left: 0,
+          margin: 0,
+          padding: 0,
+          border: "none"
+        }, "important");
+        var ctm = svg[0][0].getScreenCTM();
+        d3_mouse_bug44083 = !(ctm.f || ctm.e);
+        svg.remove();
+      }
     }
+    if (d3_mouse_bug44083) point.x = e.pageX, point.y = e.pageY;
+    else point.x = e.clientX, point.y = e.clientY;
+    point = point.matrixTransform(container.getScreenCTM().inverse());
+    return [point.x, point.y];
   }
-  return null;
+  var rect = container.getBoundingClientRect();
+  return [e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop];
 };
 
-function d3_selection_enter(selection) {
-  d3_arraySubclass(selection, d3_selection_enterPrototype);
-  return selection;
-}
-
-var d3_selection_enterPrototype = [];
+d3.touches = function(container, touches) {
+  if (arguments.length < 2) touches = d3_eventSource().touches;
+  return touches ? d3_array(touches).map(function(touch) {
+    var point = d3_mousePoint(container, touch);
+    point.identifier = touch.identifier;
+    return point;
+  }) : [];
+};
+var ε = 1e-6,
+    ε2 = ε * ε,
+    π = Math.PI,
+    τ = 2 * π,
+    τε = τ - ε,
+    halfπ = π / 2,
+    d3_radians = π / 180,
+    d3_degrees = 180 / π;
 
-d3.selection.enter = d3_selection_enter;
-d3.selection.enter.prototype = d3_selection_enterPrototype;
+function d3_sgn(x) {
+  return x > 0 ? 1 : x < 0 ? -1 : 0;
+}
 
-d3_selection_enterPrototype.append = d3_selectionPrototype.append;
-d3_selection_enterPrototype.insert = d3_selectionPrototype.insert;
-d3_selection_enterPrototype.empty = d3_selectionPrototype.empty;
-d3_selection_enterPrototype.node = d3_selectionPrototype.node;
+// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of
+// the 3D cross product in a quadrant I Cartesian coordinate system (+x is
+// right, +y is up). Returns a positive value if ABC is counter-clockwise,
+// negative if clockwise, and zero if the points are collinear.
+function d3_cross2d(a, b, c) {
+  return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);
+}
 
+function d3_acos(x) {
+  return x > 1 ? 0 : x < -1 ? π : Math.acos(x);
+}
 
-d3_selection_enterPrototype.select = function(selector) {
-  var subgroups = [],
-      subgroup,
-      subnode,
-      upgroup,
-      group,
-      node;
+function d3_asin(x) {
+  return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);
+}
 
-  for (var j = -1, m = this.length; ++j < m;) {
-    upgroup = (group = this[j]).update;
-    subgroups.push(subgroup = []);
-    subgroup.parentNode = group.parentNode;
-    for (var i = -1, n = group.length; ++i < n;) {
-      if (node = group[i]) {
-        subgroup.push(upgroup[i] = subnode = selector.call(group.parentNode, node.__data__, i));
-        subnode.__data__ = node.__data__;
-      } else {
-        subgroup.push(null);
-      }
-    }
-  }
+function d3_sinh(x) {
+  return ((x = Math.exp(x)) - 1 / x) / 2;
+}
 
-  return d3_selection(subgroups);
-};
+function d3_cosh(x) {
+  return ((x = Math.exp(x)) + 1 / x) / 2;
+}
 
-d3_selectionPrototype.transition = function() {
-  var id = d3_transitionInheritId || ++d3_transitionId,
-      subgroups = [],
-      subgroup,
-      node,
-      transition = Object.create(d3_transitionInherit);
+function d3_tanh(x) {
+  return ((x = Math.exp(2 * x)) - 1) / (x + 1);
+}
 
-  transition.time = Date.now();
+function d3_haversin(x) {
+  return (x = Math.sin(x / 2)) * x;
+}
 
-  for (var j = -1, m = this.length; ++j < m;) {
-    subgroups.push(subgroup = []);
-    for (var group = this[j], i = -1, n = group.length; ++i < n;) {
-      if (node = group[i]) d3_transitionNode(node, i, id, transition);
-      subgroup.push(node);
-    }
+var ρ = Math.SQRT2,
+    ρ2 = 2,
+    ρ4 = 4;
+
+// p0 = [ux0, uy0, w0]
+// p1 = [ux1, uy1, w1]
+d3.interpolateZoom = function(p0, p1) {
+  var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],
+      ux1 = p1[0], uy1 = p1[1], w1 = p1[2];
+
+  var dx = ux1 - ux0,
+      dy = uy1 - uy0,
+      d2 = dx * dx + dy * dy,
+      d1 = Math.sqrt(d2),
+      b0 = (w1 * w1 - w0 * w0 + ρ4 * d2) / (2 * w0 * ρ2 * d1),
+      b1 = (w1 * w1 - w0 * w0 - ρ4 * d2) / (2 * w1 * ρ2 * d1),
+      r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),
+      r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1),
+      dr = r1 - r0,
+      S = (dr || Math.log(w1 / w0)) / ρ;
+
+  function interpolate(t) {
+    var s = t * S;
+    if (dr) {
+      // General case.
+      var coshr0 = d3_cosh(r0),
+          u = w0 / (ρ2 * d1) * (coshr0 * d3_tanh(ρ * s + r0) - d3_sinh(r0));
+      return [
+        ux0 + u * dx,
+        uy0 + u * dy,
+        w0 * coshr0 / d3_cosh(ρ * s + r0)
+      ];
+    }
+    // Special case for u0 ~= u1.
+    return [
+      ux0 + t * dx,
+      uy0 + t * dy,
+      w0 * Math.exp(ρ * s)
+    ];
   }
 
-  return d3_transition(subgroups, id);
-};
+  interpolate.duration = S * 1000;
 
-var d3_selectionRoot = d3_selection([[d3_document]]);
-
-d3_selectionRoot[0].parentNode = d3_selectRoot;
-
-// TODO fast singleton implementation!
-// TODO select(function)
-d3.select = function(selector) {
-  return typeof selector === "string"
-      ? d3_selectionRoot.select(selector)
-      : d3_selection([[selector]]); // assume node
-};
-
-// TODO selectAll(function)
-d3.selectAll = function(selector) {
-  return typeof selector === "string"
-      ? d3_selectionRoot.selectAll(selector)
-      : d3_selection([d3_array(selector)]); // assume node[]
+  return interpolate;
 };
 
 d3.behavior.zoom = function() {
-  var translate = [0, 0],
+  var view = {x: 0, y: 0, k: 1},
       translate0, // translate when we started zooming (to avoid drift)
-      scale = 1,
-      scale0, // scale when we started touching
+      center0, // implicit desired position of translate0 after zooming
+      center, // explicit desired position of translate0 after zooming
+      size = [960, 500], // viewport size; required for zoom interpolation
       scaleExtent = d3_behavior_zoomInfinity,
-      event = d3_eventDispatch(zoom, "zoom"),
+      duration = 250,
+      zooming = 0,
+      mousedown = "mousedown.zoom",
+      mousemove = "mousemove.zoom",
+      mouseup = "mouseup.zoom",
+      mousewheelTimer,
+      touchstart = "touchstart.zoom",
+      touchtime, // time of last touchstart (to detect double-tap)
+      event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"),
       x0,
       x1,
       y0,
-      y1,
-      touchtime; // time of last touchstart (to detect double-tap)
-
-  function zoom() {
-    this.on("mousedown.zoom", mousedown)
-        .on("mousemove.zoom", mousemove)
-        .on(d3_behavior_zoomWheel + ".zoom", mousewheel)
-        .on("dblclick.zoom", dblclick)
-        .on("touchstart.zoom", touchstart)
-        .on("touchmove.zoom", touchmove)
-        .on("touchend.zoom", touchstart);
+      y1;
+
+  // Lazily determine the DOM’s support for Wheel events.
+  // https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/wheel
+  if (!d3_behavior_zoomWheel) {
+    d3_behavior_zoomWheel = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); }, "wheel")
+        : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { return d3.event.wheelDelta; }, "mousewheel")
+        : (d3_behavior_zoomDelta = function() { return -d3.event.detail; }, "MozMousePixelScroll");
+  }
+
+  function zoom(g) {
+    g   .on(mousedown, mousedowned)
+        .on(d3_behavior_zoomWheel + ".zoom", mousewheeled)
+        .on("dblclick.zoom", dblclicked)
+        .on(touchstart, touchstarted);
+  }
+
+  zoom.event = function(g) {
+    g.each(function() {
+      var dispatch = event.of(this, arguments),
+          view1 = view;
+      if (d3_transitionInheritId) {
+        d3.select(this).transition()
+            .each("start.zoom", function() {
+              view = this.__chart__ || {x: 0, y: 0, k: 1}; // pre-transition state
+              zoomstarted(dispatch);
+            })
+            .tween("zoom:zoom", function() {
+              var dx = size[0],
+                  dy = size[1],
+                  cx = center0 ? center0[0] : dx / 2,
+                  cy = center0 ? center0[1] : dy / 2,
+                  i = d3.interpolateZoom(
+                    [(cx - view.x) / view.k, (cy - view.y) / view.k, dx / view.k],
+                    [(cx - view1.x) / view1.k, (cy - view1.y) / view1.k, dx / view1.k]
+                  );
+              return function(t) {
+                var l = i(t), k = dx / l[2];
+                this.__chart__ = view = {x: cx - l[0] * k, y: cy - l[1] * k, k: k};
+                zoomed(dispatch);
+              };
+            })
+            .each("interrupt.zoom", function() {
+              zoomended(dispatch);
+            })
+            .each("end.zoom", function() {
+              zoomended(dispatch);
+            });
+      } else {
+        this.__chart__ = view;
+        zoomstarted(dispatch);
+        zoomed(dispatch);
+        zoomended(dispatch);
+      }
+    });
   }
 
-  zoom.translate = function(x) {
-    if (!arguments.length) return translate;
-    translate = x.map(Number);
+  zoom.translate = function(_) {
+    if (!arguments.length) return [view.x, view.y];
+    view = {x: +_[0], y: +_[1], k: view.k}; // copy-on-write
     rescale();
     return zoom;
   };
 
-  zoom.scale = function(x) {
-    if (!arguments.length) return scale;
-    scale = +x;
+  zoom.scale = function(_) {
+    if (!arguments.length) return view.k;
+    view = {x: view.x, y: view.y, k: +_}; // copy-on-write
     rescale();
     return zoom;
   };
 
-  zoom.scaleExtent = function(x) {
+  zoom.scaleExtent = function(_) {
     if (!arguments.length) return scaleExtent;
-    scaleExtent = x == null ? d3_behavior_zoomInfinity : x.map(Number);
+    scaleExtent = _ == null ? d3_behavior_zoomInfinity : [+_[0], +_[1]];
+    return zoom;
+  };
+
+  zoom.center = function(_) {
+    if (!arguments.length) return center;
+    center = _ && [+_[0], +_[1]];
+    return zoom;
+  };
+
+  zoom.size = function(_) {
+    if (!arguments.length) return size;
+    size = _ && [+_[0], +_[1]];
+    return zoom;
+  };
+
+  zoom.duration = function(_) {
+    if (!arguments.length) return duration;
+    duration = +_; // TODO function based on interpolateZoom distance?
     return zoom;
   };
 
@@ -1620,8 +1940,7 @@ d3.behavior.zoom = function() {
     if (!arguments.length) return x1;
     x1 = z;
     x0 = z.copy();
-    translate = [0, 0];
-    scale = 1;
+    view = {x: 0, y: 0, k: 1}; // copy-on-write
     return zoom;
   };
 
@@ -1629,172 +1948,252 @@ d3.behavior.zoom = function() {
     if (!arguments.length) return y1;
     y1 = z;
     y0 = z.copy();
-    translate = [0, 0];
-    scale = 1;
+    view = {x: 0, y: 0, k: 1}; // copy-on-write
     return zoom;
   };
 
   function location(p) {
-    return [(p[0] - translate[0]) / scale, (p[1] - translate[1]) / scale];
+    return [(p[0] - view.x) / view.k, (p[1] - view.y) / view.k];
   }
 
   function point(l) {
-    return [l[0] * scale + translate[0], l[1] * scale + translate[1]];
+    return [l[0] * view.k + view.x, l[1] * view.k + view.y];
   }
 
   function scaleTo(s) {
-    scale = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));
+    view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));
   }
 
   function translateTo(p, l) {
     l = point(l);
-    translate[0] += p[0] - l[0];
-    translate[1] += p[1] - l[1];
+    view.x += p[0] - l[0];
+    view.y += p[1] - l[1];
+  }
+
+  function zoomTo(that, p, l, k) {
+    that.__chart__ = {x: view.x, y: view.y, k: view.k};
+
+    scaleTo(Math.pow(2, k));
+    translateTo(center0 = p, l);
+
+    that = d3.select(that);
+    if (duration > 0) that = that.transition().duration(duration);
+    that.call(zoom.event);
   }
 
   function rescale() {
-    if (x1) x1.domain(x0.range().map(function(x) { return (x - translate[0]) / scale; }).map(x0.invert));
-    if (y1) y1.domain(y0.range().map(function(y) { return (y - translate[1]) / scale; }).map(y0.invert));
+    if (x1) x1.domain(x0.range().map(function(x) { return (x - view.x) / view.k; }).map(x0.invert));
+    if (y1) y1.domain(y0.range().map(function(y) { return (y - view.y) / view.k; }).map(y0.invert));
   }
 
-  function dispatch(event) {
-    rescale();
-    d3.event.preventDefault();
-    event({type: "zoom", scale: scale, translate: translate});
+  function zoomstarted(dispatch) {
+    if (!zooming++) dispatch({type: "zoomstart"});
   }
 
-  function mousedown() {
-    var target = this,
-        event_ = event.of(target, arguments),
-        eventTarget = d3.event.target,
-        moved = 0,
-        w = d3.select(d3_window).on("mousemove.zoom", mousemove).on("mouseup.zoom", mouseup),
-        l = location(d3.mouse(target));
+  function zoomed(dispatch) {
+    rescale();
+    dispatch({type: "zoom", scale: view.k, translate: [view.x, view.y]});
+  }
+
+  function zoomended(dispatch) {
+    if (!--zooming) dispatch({type: "zoomend"});
+    center0 = null;
+  }
+
+  function mousedowned() {
+    var that = this,
+        target = d3.event.target,
+        dispatch = event.of(that, arguments),
+        dragged = 0,
+        subject = d3.select(d3_window(that)).on(mousemove, moved).on(mouseup, ended),
+        location0 = location(d3.mouse(that)),
+        dragRestore = d3_event_dragSuppress(that);
+
+    d3_selection_interrupt.call(that);
+    zoomstarted(dispatch);
+
+    function moved() {
+      dragged = 1;
+      translateTo(d3.mouse(that), location0);
+      zoomed(dispatch);
+    }
+
+    function ended() {
+      subject.on(mousemove, null).on(mouseup, null);
+      dragRestore(dragged && d3.event.target === target);
+      zoomended(dispatch);
+    }
+  }
+
+  // These closures persist for as long as at least one touch is active.
+  function touchstarted() {
+    var that = this,
+        dispatch = event.of(that, arguments),
+        locations0 = {}, // touchstart locations
+        distance0 = 0, // distance² between initial touches
+        scale0, // scale when we started touching
+        zoomName = ".zoom-" + d3.event.changedTouches[0].identifier,
+        touchmove = "touchmove" + zoomName,
+        touchend = "touchend" + zoomName,
+        targets = [],
+        subject = d3.select(that),
+        dragRestore = d3_event_dragSuppress(that);
+
+    started();
+    zoomstarted(dispatch);
+
+    // Workaround for Chrome issue 412723: the touchstart listener must be set
+    // after the touchmove listener.
+    subject.on(mousedown, null).on(touchstart, started); // prevent duplicate events
+
+    // Updates locations of any touches in locations0.
+    function relocate() {
+      var touches = d3.touches(that);
+      scale0 = view.k;
+      touches.forEach(function(t) {
+        if (t.identifier in locations0) locations0[t.identifier] = location(t);
+      });
+      return touches;
+    }
 
-    d3_window.focus();
-    d3_eventCancel();
+    // Temporarily override touchstart while gesture is active.
+    function started() {
 
-    function mousemove() {
-      moved = 1;
-      translateTo(d3.mouse(target), l);
-      dispatch(event_);
-    }
-
-    function mouseup() {
-      if (moved) d3_eventCancel();
-      w.on("mousemove.zoom", null).on("mouseup.zoom", null);
-      if (moved && d3.event.target === eventTarget) {
-          w.on("click.zoom", click, true);
-          window.setTimeout(function() {
-              // Remove click block if click didn't fire
-              w.on("click.zoom", null);
-          }, 0);
+      // Listen for touchmove and touchend on the target of touchstart.
+      var target = d3.event.target;
+      d3.select(target).on(touchmove, moved).on(touchend, ended);
+      targets.push(target);
+
+      // Only track touches started on the same subject element.
+      var changed = d3.event.changedTouches;
+      for (var i = 0, n = changed.length; i < n; ++i) {
+        locations0[changed[i].identifier] = null;
       }
-    }
 
-    function click() {
-      d3_eventCancel();
-      w.on("click.zoom", null);
+      var touches = relocate(),
+          now = Date.now();
+
+      if (touches.length === 1) {
+        if (now - touchtime < 500) { // dbltap
+          var p = touches[0];
+          zoomTo(that, p, locations0[p.identifier], Math.floor(Math.log(view.k) / Math.LN2) + 1);
+          d3_eventPreventDefault();
+        }
+        touchtime = now;
+      } else if (touches.length > 1) {
+        var p = touches[0], q = touches[1],
+            dx = p[0] - q[0], dy = p[1] - q[1];
+        distance0 = dx * dx + dy * dy;
+      }
     }
-  }
 
-  function mousewheel() {
-    if (!translate0) translate0 = location(d3.mouse(this));
-    scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * scale);
-    translateTo(d3.mouse(this), translate0);
-    dispatch(event.of(this, arguments));
-  }
+    function moved() {
+      var touches = d3.touches(that),
+          p0, l0,
+          p1, l1;
 
-  function mousemove() {
-    translate0 = null;
-  }
+      d3_selection_interrupt.call(that);
 
-  function dblclick() {
-    var p = d3.mouse(this), l = location(p), k = Math.log(scale) / Math.LN2;
-    scaleTo(Math.pow(2, d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1));
-    translateTo(p, l);
-    dispatch(event.of(this, arguments));
-  }
+      for (var i = 0, n = touches.length; i < n; ++i, l1 = null) {
+        p1 = touches[i];
+        if (l1 = locations0[p1.identifier]) {
+          if (l0) break;
+          p0 = p1, l0 = l1;
+        }
+      }
 
-  function touchstart() {
-    var touches = d3.touches(this),
-        now = Date.now();
-
-    scale0 = scale;
-    translate0 = {};
-    touches.forEach(function(t) { translate0[t.identifier] = location(t); });
-    d3_eventCancel();
-
-    if (touches.length === 1) {
-      if (now - touchtime < 500) { // dbltap
-        var p = touches[0], l = location(touches[0]);
-        scaleTo(scale * 2);
-        translateTo(p, l);
-        dispatch(event.of(this, arguments));
+      if (l1) {
+        var distance1 = (distance1 = p1[0] - p0[0]) * distance1 + (distance1 = p1[1] - p0[1]) * distance1,
+            scale1 = distance0 && Math.sqrt(distance1 / distance0);
+        p0 = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];
+        l0 = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];
+        scaleTo(scale1 * scale0);
       }
-      touchtime = now;
+
+      touchtime = null;
+      translateTo(p0, l0);
+      zoomed(dispatch);
+    }
+
+    function ended() {
+      // If there are any globally-active touches remaining, remove the ended
+      // touches from locations0.
+      if (d3.event.touches.length) {
+        var changed = d3.event.changedTouches;
+        for (var i = 0, n = changed.length; i < n; ++i) {
+          delete locations0[changed[i].identifier];
+        }
+        // If locations0 is not empty, then relocate and continue listening for
+        // touchmove and touchend.
+        for (var identifier in locations0) {
+          return void relocate(); // locations may have detached due to rotation
+        }
+      }
+      // Otherwise, remove touchmove and touchend listeners.
+      d3.selectAll(targets).on(zoomName, null);
+      subject.on(mousedown, mousedowned).on(touchstart, touchstarted);
+      dragRestore();
+      zoomended(dispatch);
     }
   }
 
-  function touchmove() {
-    var touches = d3.touches(this),
-        p0 = touches[0],
-        l0 = translate0[p0.identifier];
-    if (p1 = touches[1]) {
-      var p1, l1 = translate0[p1.identifier];
-      p0 = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];
-      l0 = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];
-      scaleTo(d3.event.scale * scale0);
-    }
-    translateTo(p0, l0);
-    touchtime = null;
-    dispatch(event.of(this, arguments));
+  function mousewheeled() {
+    var dispatch = event.of(this, arguments);
+    if (mousewheelTimer) clearTimeout(mousewheelTimer);
+    else translate0 = location(center0 = center || d3.mouse(this)), d3_selection_interrupt.call(this), zoomstarted(dispatch);
+    mousewheelTimer = setTimeout(function() { mousewheelTimer = null; zoomended(dispatch); }, 50);
+    d3_eventPreventDefault();
+    scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);
+    translateTo(center0, translate0);
+    zoomed(dispatch);
+  }
+
+  function dblclicked() {
+    var p = d3.mouse(this),
+        k = Math.log(view.k) / Math.LN2;
+
+    zoomTo(this, p, location(p), d3.event.shiftKey ? Math.ceil(k) - 1 : Math.floor(k) + 1);
   }
 
   return d3.rebind(zoom, event, "on");
 };
 
-var d3_behavior_zoomInfinity = [0, Infinity]; // default scale extent
-
-// https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/wheel
-var d3_behavior_zoomDelta, d3_behavior_zoomWheel
-    = "onwheel" in d3_document ? (d3_behavior_zoomDelta = function() { return -d3.event.deltaY * (d3.event.deltaMode ? 120 : 1); }, "wheel")
-    : "onmousewheel" in d3_document ? (d3_behavior_zoomDelta = function() { return d3.event.wheelDelta; }, "mousewheel")
-    : (d3_behavior_zoomDelta = function() { return -d3.event.detail; }, "MozMousePixelScroll");
+var d3_behavior_zoomInfinity = [0, Infinity], // default scale extent
+    d3_behavior_zoomDelta, // initialized lazily
+    d3_behavior_zoomWheel;
 function d3_functor(v) {
   return typeof v === "function" ? v : function() { return v; };
 }
 
 d3.functor = d3_functor;
 
-var d3_timer_id = 0,
-    d3_timer_byId = {},
-    d3_timer_queue = null,
+d3.touch = function(container, touches, identifier) {
+  if (arguments.length < 3) identifier = touches, touches = d3_eventSource().changedTouches;
+  if (touches) for (var i = 0, n = touches.length, touch; i < n; ++i) {
+    if ((touch = touches[i]).identifier === identifier) {
+      return d3_mousePoint(container, touch);
+    }
+  }
+};
+
+var d3_timer_queueHead,
+    d3_timer_queueTail,
     d3_timer_interval, // is an interval (or frame) active?
-    d3_timer_timeout; // is a timeout active?
+    d3_timer_timeout, // is a timeout active?
+    d3_timer_active, // active timer object
+    d3_timer_frame = this[d3_vendorSymbol(this, "requestAnimationFrame")] || function(callback) { setTimeout(callback, 17); };
 
 // The timer will continue to fire until callback returns true.
 d3.timer = function(callback, delay, then) {
-  if (arguments.length < 3) {
-    if (arguments.length < 2) delay = 0;
-    else if (!isFinite(delay)) return;
-    then = Date.now();
-  }
-
-  // If the callback's already in the queue, update it.
-  var timer = d3_timer_byId[callback.id];
-  if (timer && timer.callback === callback) {
-    timer.then = then;
-    timer.delay = delay;
-  }
+  var n = arguments.length;
+  if (n < 2) delay = 0;
+  if (n < 3) then = Date.now();
 
-  // Otherwise, add the callback to the queue.
-  else d3_timer_byId[callback.id = ++d3_timer_id] = d3_timer_queue = {
-    callback: callback,
-    then: then,
-    delay: delay,
-    next: d3_timer_queue
-  };
+  // Add the callback to the tail of the queue.
+  var time = then + delay, timer = {c: callback, t: time, f: false, n: null};
+  if (d3_timer_queueTail) d3_timer_queueTail.n = timer;
+  else d3_timer_queueHead = timer;
+  d3_timer_queueTail = timer;
 
   // Start animatin'!
   if (!d3_timer_interval) {
@@ -1805,17 +2204,8 @@ d3.timer = function(callback, delay, then) {
 };
 
 function d3_timer_step() {
-  var elapsed,
-      now = Date.now(),
-      t1 = d3_timer_queue;
-
-  while (t1) {
-    elapsed = now - t1.then;
-    if (elapsed >= t1.delay) t1.flush = t1.callback(elapsed);
-    t1 = t1.next;
-  }
-
-  var delay = d3_timer_flush() - now;
+  var now = d3_timer_mark(),
+      delay = d3_timer_sweep() - now;
   if (delay > 24) {
     if (isFinite(delay)) {
       clearTimeout(d3_timer_timeout);
@@ -1829,71 +2219,147 @@ function d3_timer_step() {
 }
 
 d3.timer.flush = function() {
-  var elapsed,
-      now = Date.now(),
-      t1 = d3_timer_queue;
+  d3_timer_mark();
+  d3_timer_sweep();
+};
 
-  while (t1) {
-    elapsed = now - t1.then;
-    if (!t1.delay) t1.flush = t1.callback(elapsed);
-    t1 = t1.next;
+function d3_timer_mark() {
+  var now = Date.now();
+  d3_timer_active = d3_timer_queueHead;
+  while (d3_timer_active) {
+    if (now >= d3_timer_active.t) d3_timer_active.f = d3_timer_active.c(now - d3_timer_active.t);
+    d3_timer_active = d3_timer_active.n;
   }
-
-  d3_timer_flush();
-};
+  return now;
+}
 
 // Flush after callbacks to avoid concurrent queue modification.
-function d3_timer_flush() {
-  var t0 = null,
-      t1 = d3_timer_queue,
-      then = Infinity;
+// Returns the time of the earliest active timer, post-sweep.
+function d3_timer_sweep() {
+  var t0,
+      t1 = d3_timer_queueHead,
+      time = Infinity;
   while (t1) {
-    if (t1.flush) {
-      delete d3_timer_byId[t1.callback.id];
-      t1 = t0 ? t0.next = t1.next : d3_timer_queue = t1.next;
+    if (t1.f) {
+      t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;
     } else {
-      then = Math.min(then, t1.then + t1.delay);
-      t1 = (t0 = t1).next;
+      if (t1.t < time) time = t1.t;
+      t1 = (t0 = t1).n;
     }
   }
-  return then;
+  d3_timer_queueTail = t0;
+  return time;
 }
+d3.geo = {};
 
-var d3_timer_frame = d3_window.requestAnimationFrame
-    || d3_window.webkitRequestAnimationFrame
-    || d3_window.mozRequestAnimationFrame
-    || d3_window.oRequestAnimationFrame
-    || d3_window.msRequestAnimationFrame
-    || function(callback) { setTimeout(callback, 17); };
-var π = Math.PI,
-    ε = 1e-6,
-    d3_radians = π / 180,
-    d3_degrees = 180 / π;
+d3.geo.stream = function(object, listener) {
+  if (object && d3_geo_streamObjectType.hasOwnProperty(object.type)) {
+    d3_geo_streamObjectType[object.type](object, listener);
+  } else {
+    d3_geo_streamGeometry(object, listener);
+  }
+};
 
-function d3_sgn(x) {
-  return x > 0 ? 1 : x < 0 ? -1 : 0;
+function d3_geo_streamGeometry(geometry, listener) {
+  if (geometry && d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {
+    d3_geo_streamGeometryType[geometry.type](geometry, listener);
+  }
 }
 
-function d3_acos(x) {
-  return Math.acos(Math.max(-1, Math.min(1, x)));
-}
+var d3_geo_streamObjectType = {
+  Feature: function(feature, listener) {
+    d3_geo_streamGeometry(feature.geometry, listener);
+  },
+  FeatureCollection: function(object, listener) {
+    var features = object.features, i = -1, n = features.length;
+    while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);
+  }
+};
 
-function d3_asin(x) {
-  return x > 1 ? π / 2 : x < -1 ? -π / 2 : Math.asin(x);
-}
+var d3_geo_streamGeometryType = {
+  Sphere: function(object, listener) {
+    listener.sphere();
+  },
+  Point: function(object, listener) {
+    object = object.coordinates;
+    listener.point(object[0], object[1], object[2]);
+  },
+  MultiPoint: function(object, listener) {
+    var coordinates = object.coordinates, i = -1, n = coordinates.length;
+    while (++i < n) object = coordinates[i], listener.point(object[0], object[1], object[2]);
+  },
+  LineString: function(object, listener) {
+    d3_geo_streamLine(object.coordinates, listener, 0);
+  },
+  MultiLineString: function(object, listener) {
+    var coordinates = object.coordinates, i = -1, n = coordinates.length;
+    while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);
+  },
+  Polygon: function(object, listener) {
+    d3_geo_streamPolygon(object.coordinates, listener);
+  },
+  MultiPolygon: function(object, listener) {
+    var coordinates = object.coordinates, i = -1, n = coordinates.length;
+    while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);
+  },
+  GeometryCollection: function(object, listener) {
+    var geometries = object.geometries, i = -1, n = geometries.length;
+    while (++i < n) d3_geo_streamGeometry(geometries[i], listener);
+  }
+};
 
-function d3_sinh(x) {
-  return (Math.exp(x) - Math.exp(-x)) / 2;
+function d3_geo_streamLine(coordinates, listener, closed) {
+  var i = -1, n = coordinates.length - closed, coordinate;
+  listener.lineStart();
+  while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1], coordinate[2]);
+  listener.lineEnd();
 }
 
-function d3_cosh(x) {
-  return (Math.exp(x) + Math.exp(-x)) / 2;
+function d3_geo_streamPolygon(coordinates, listener) {
+  var i = -1, n = coordinates.length;
+  listener.polygonStart();
+  while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);
+  listener.polygonEnd();
 }
 
-function d3_haversin(x) {
-  return (x = Math.sin(x / 2)) * x;
+d3.geo.length = function(object) {
+  d3_geo_lengthSum = 0;
+  d3.geo.stream(object, d3_geo_length);
+  return d3_geo_lengthSum;
+};
+
+var d3_geo_lengthSum;
+
+var d3_geo_length = {
+  sphere: d3_noop,
+  point: d3_noop,
+  lineStart: d3_geo_lengthLineStart,
+  lineEnd: d3_noop,
+  polygonStart: d3_noop,
+  polygonEnd: d3_noop
+};
+
+function d3_geo_lengthLineStart() {
+  var λ0, sinφ0, cosφ0;
+
+  d3_geo_length.point = function(λ, φ) {
+    λ0 = λ * d3_radians, sinφ0 = Math.sin(φ *= d3_radians), cosφ0 = Math.cos(φ);
+    d3_geo_length.point = nextPoint;
+  };
+
+  d3_geo_length.lineEnd = function() {
+    d3_geo_length.point = d3_geo_length.lineEnd = d3_noop;
+  };
+
+  function nextPoint(λ, φ) {
+    var sinφ = Math.sin(φ *= d3_radians),
+        cosφ = Math.cos(φ),
+        t = abs((λ *= d3_radians) - λ0),
+        cosΔλ = Math.cos(t);
+    d3_geo_lengthSum += Math.atan2(Math.sqrt((t = cosφ * Math.sin(t)) * t + (t = cosφ0 * sinφ - sinφ0 * cosφ * cosΔλ) * t), sinφ0 * sinφ + cosφ0 * cosφ * cosΔλ);
+    λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ;
+  }
 }
-d3.geo = {};
 function d3_identity(d) {
   return d;
 }
@@ -1904,18 +2370,18 @@ function d3_true() {
 function d3_geo_spherical(cartesian) {
   return [
     Math.atan2(cartesian[1], cartesian[0]),
-    Math.asin(Math.max(-1, Math.min(1, cartesian[2])))
+    d3_asin(cartesian[2])
   ];
 }
 
 function d3_geo_sphericalEqual(a, b) {
-  return Math.abs(a[0] - b[0]) < ε && Math.abs(a[1] - b[1]) < ε;
+  return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε;
 }
 
 // General spherical polygon clipping algorithm: takes a polygon, cuts it into
 // visible line segments and rejoins the segments by interpolating along the
 // clip edge.
-function d3_geo_clipPolygon(segments, compare, inside, interpolate, listener) {
+function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {
   var subject = [],
       clip = [];
 
@@ -1934,14 +2400,14 @@ function d3_geo_clipPolygon(segments, compare, inside, interpolate, listener) {
       return;
     }
 
-    var a = {point: p0, points: segment, other: null, visited: false, entry: true, subject: true},
-        b = {point: p0, points: [p0], other: a, visited: false, entry: false, subject: false};
-    a.other = b;
+    var a = new d3_geo_clipPolygonIntersection(p0, segment, null, true),
+        b = new d3_geo_clipPolygonIntersection(p0, null, a, false);
+    a.o = b;
     subject.push(a);
     clip.push(b);
-    a = {point: p1, points: [p1], other: null, visited: false, entry: false, subject: true};
-    b = {point: p1, points: [p1], other: a, visited: false, entry: true, subject: false};
-    a.other = b;
+    a = new d3_geo_clipPolygonIntersection(p1, segment, null, false);
+    b = new d3_geo_clipPolygonIntersection(p1, null, a, true);
+    a.o = b;
     subject.push(a);
     clip.push(b);
   });
@@ -1950,41 +2416,42 @@ function d3_geo_clipPolygon(segments, compare, inside, interpolate, listener) {
   d3_geo_clipPolygonLinkCircular(clip);
   if (!subject.length) return;
 
-  if (inside) for (var i = 1, e = !inside(clip[0].point), n = clip.length; i < n; ++i) {
-    clip[i].entry = (e = !e);
+  for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {
+    clip[i].e = entry = !entry;
   }
 
   var start = subject[0],
-      current,
       points,
       point;
   while (1) {
     // Find first unvisited intersection.
-    current = start;
-    while (current.visited) if ((current = current.next) === start) return;
-    points = current.points;
+    var current = start,
+        isSubject = true;
+    while (current.v) if ((current = current.n) === start) return;
+    points = current.z;
     listener.lineStart();
     do {
-      current.visited = current.other.visited = true;
-      if (current.entry) {
-        if (current.subject) {
-          for (var i = 0; i < points.length; i++) listener.point((point = points[i])[0], point[1]);
+      current.v = current.o.v = true;
+      if (current.e) {
+        if (isSubject) {
+          for (var i = 0, n = points.length; i < n; ++i) listener.point((point = points[i])[0], point[1]);
         } else {
-          interpolate(current.point, current.next.point, 1, listener);
+          interpolate(current.x, current.n.x, 1, listener);
         }
-        current = current.next;
+        current = current.n;
       } else {
-        if (current.subject) {
-          points = current.prev.points;
-          for (var i = points.length; --i >= 0;) listener.point((point = points[i])[0], point[1]);
+        if (isSubject) {
+          points = current.p.z;
+          for (var i = points.length - 1; i >= 0; --i) listener.point((point = points[i])[0], point[1]);
         } else {
-          interpolate(current.point, current.prev.point, -1, listener);
+          interpolate(current.x, current.p.x, -1, listener);
         }
-        current = current.prev;
+        current = current.p;
       }
-      current = current.other;
-      points = current.points;
-    } while (!current.visited);
+      current = current.o;
+      points = current.z;
+      isSubject = !isSubject;
+    } while (!current.v);
     listener.lineEnd();
   }
 }
@@ -1996,17 +2463,27 @@ function d3_geo_clipPolygonLinkCircular(array) {
       a = array[0],
       b;
   while (++i < n) {
-    a.next = b = array[i];
-    b.prev = a;
+    a.n = b = array[i];
+    b.p = a;
     a = b;
   }
-  a.next = b = array[0];
-  b.prev = a;
+  a.n = b = array[0];
+  b.p = a;
 }
 
-function d3_geo_clip(pointVisible, clipLine, interpolate) {
-  return function(listener) {
-    var line = clipLine(listener);
+function d3_geo_clipPolygonIntersection(point, points, other, entry) {
+  this.x = point;
+  this.z = points;
+  this.o = other; // another intersection
+  this.e = entry; // is an entry?
+  this.v = false; // visited
+  this.n = this.p = null; // next & previous
+}
+
+function d3_geo_clip(pointVisible, clipLine, interpolate, clipStart) {
+  return function(rotate, listener) {
+    var line = clipLine(listener),
+        rotatedClipStart = rotate.invert(clipStart[0], clipStart[1]);
 
     var clip = {
       point: point,
@@ -2016,10 +2493,8 @@ function d3_geo_clip(pointVisible, clipLine, interpolate) {
         clip.point = pointRing;
         clip.lineStart = ringStart;
         clip.lineEnd = ringEnd;
-        invisible = false;
-        invisibleArea = visibleArea = 0;
         segments = [];
-        listener.polygonStart();
+        polygon = [];
       },
       polygonEnd: function() {
         clip.point = point;
@@ -2027,15 +2502,18 @@ function d3_geo_clip(pointVisible, clipLine, interpolate) {
         clip.lineEnd = lineEnd;
 
         segments = d3.merge(segments);
+        var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);
         if (segments.length) {
-          d3_geo_clipPolygon(segments, d3_geo_clipSort, null, interpolate, listener);
-        } else if (visibleArea < -ε || invisible && invisibleArea < -ε) {
+          if (!polygonStarted) listener.polygonStart(), polygonStarted = true;
+          d3_geo_clipPolygon(segments, d3_geo_clipSort, clipStartInside, interpolate, listener);
+        } else if (clipStartInside) {
+          if (!polygonStarted) listener.polygonStart(), polygonStarted = true;
           listener.lineStart();
           interpolate(null, null, 1, listener);
           listener.lineEnd();
         }
-        listener.polygonEnd();
-        segments = null;
+        if (polygonStarted) listener.polygonEnd(), polygonStarted = false;
+        segments = polygon = null;
       },
       sphere: function() {
         listener.polygonStart();
@@ -2046,23 +2524,29 @@ function d3_geo_clip(pointVisible, clipLine, interpolate) {
       }
     };
 
-    function point(λ, φ) { if (pointVisible(λ, φ)) listener.point(λ, φ); }
-    function pointLine(λ, φ) { line.point(λ, φ); }
+    function point(λ, φ) {
+      var point = rotate(λ, φ);
+      if (pointVisible(λ = point[0], φ = point[1])) listener.point(λ, φ);
+    }
+    function pointLine(λ, φ) {
+      var point = rotate(λ, φ);
+      line.point(point[0], point[1]);
+    }
     function lineStart() { clip.point = pointLine; line.lineStart(); }
     function lineEnd() { clip.point = point; line.lineEnd(); }
 
-    var segments,
-        visibleArea,
-        invisibleArea,
-        invisible;
+    var segments;
 
     var buffer = d3_geo_clipBufferListener(),
         ringListener = clipLine(buffer),
+        polygonStarted = false,
+        polygon,
         ring;
 
     function pointRing(λ, φ) {
-      ringListener.point(λ, φ);
       ring.push([λ, φ]);
+      var point = rotate(λ, φ);
+      ringListener.point(point[0], point[1]);
     }
 
     function ringStart() {
@@ -2079,26 +2563,24 @@ function d3_geo_clip(pointVisible, clipLine, interpolate) {
           segment,
           n = ringSegments.length;
 
-      // TODO compute on-the-fly?
-      if (!n) {
-        invisible = true;
-        invisibleArea += d3_geo_clipAreaRing(ring, -1);
-        ring = null;
-        return;
-      }
+      ring.pop();
+      polygon.push(ring);
       ring = null;
 
+      if (!n) return;
+
       // No intersections.
-      // TODO compute on-the-fly?
       if (clean & 1) {
         segment = ringSegments[0];
-        visibleArea += d3_geo_clipAreaRing(segment, 1);
         var n = segment.length - 1,
             i = -1,
             point;
-        listener.lineStart();
-        while (++i < n) listener.point((point = segment[i])[0], point[1]);
-        listener.lineEnd();
+        if (n > 0) {
+          if (!polygonStarted) listener.polygonStart(), polygonStarted = true;
+          listener.lineStart();
+          while (++i < n) listener.point((point = segment[i])[0], point[1]);
+          listener.lineEnd();
+        }
         return;
       }
 
@@ -2136,67 +2618,18 @@ function d3_geo_clipBufferListener() {
   };
 }
 
-// Approximate polygon ring area (×2, since we only need the sign).
-// For an invisible polygon ring, we rotate longitudinally by 180°.
-// The invisible parameter should be 1, or -1 to rotate longitudinally.
-// Based on Robert. G. Chamberlain and William H. Duquette,
-// “Some Algorithms for Polygons on a Sphere”,
-// http://trs-new.jpl.nasa.gov/dspace/handle/2014/40409
-function d3_geo_clipAreaRing(ring, invisible) {
-  if (!(n = ring.length)) return 0;
-  var n,
-      i = 0,
-      area = 0,
-      p = ring[0],
-      λ = p[0],
-      φ = p[1],
-      cosφ = Math.cos(φ),
-      x0 = Math.atan2(invisible * Math.sin(λ) * cosφ, Math.sin(φ)),
-      y0 = 1 - invisible * Math.cos(λ) * cosφ,
-      x1 = x0,
-      x, // λ'; λ rotated to south pole.
-      y; // φ' = 1 + sin(φ); φ rotated to south pole.
-  while (++i < n) {
-    p = ring[i];
-    cosφ = Math.cos(φ = p[1]);
-    x = Math.atan2(invisible * Math.sin(λ = p[0]) * cosφ, Math.sin(φ));
-    y = 1 - invisible * Math.cos(λ) * cosφ;
-
-    // If both the current point and the previous point are at the north pole,
-    // skip this point.
-    if (Math.abs(y0 - 2) < ε && Math.abs(y - 2) < ε) continue;
-
-    // If this or the previous point is at the south pole, or if this segment
-    // goes through the south pole, the area is 0.
-    if (Math.abs(y) < ε || Math.abs(y0) < ε) {}
-
-    // If this segment goes through either pole…
-    else if (Math.abs(Math.abs(x - x0) - π) < ε) {
-      // For the north pole, compute lune area.
-      if (y + y0 > 2) area += 4 * (x - x0);
-      // For the south pole, the area is zero.
-    }
-
-    // If the previous point is at the north pole, then compute lune area.
-    else if (Math.abs(y0 - 2) < ε) area += 4 * (x - x1);
-
-    // Otherwise, the spherical triangle area is approximately
-    // δλ * (1 + sinφ0 + 1 + sinφ) / 2.
-    else area += ((3 * π + x - x0) % (2 * π) - π) * (y0 + y);
-
-    x1 = x0, x0 = x, y0 = y;
-  }
-  return area;
-}
-
 // Intersection points are sorted along the clip edge. For both antimeridian
 // cutting and circle clipping, the same comparison is used.
 function d3_geo_clipSort(a, b) {
-  return ((a = a.point)[0] < 0 ? a[1] - π / 2 - ε : π / 2 - a[1])
-       - ((b = b.point)[0] < 0 ? b[1] - π / 2 - ε : π / 2 - b[1]);
+  return ((a = a.x)[0] < 0 ? a[1] - halfπ - ε : halfπ - a[1])
+       - ((b = b.x)[0] < 0 ? b[1] - halfπ - ε : halfπ - b[1]);
 }
 
-var d3_geo_clipAntimeridian = d3_geo_clip(d3_true, d3_geo_clipAntimeridianLine, d3_geo_clipAntimeridianInterpolate);
+var d3_geo_clipAntimeridian = d3_geo_clip(
+    d3_true,
+    d3_geo_clipAntimeridianLine,
+    d3_geo_clipAntimeridianInterpolate,
+    [-π, -π / 2]);
 
 // Takes a line and cuts into visible segments. Return values:
 //   0: there were intersections or the line was empty.
@@ -2216,19 +2649,19 @@ function d3_geo_clipAntimeridianLine(listener) {
     },
     point: function(λ1, φ1) {
       var sλ1 = λ1 > 0 ? π : -π,
-          dλ = Math.abs(λ1 - λ0);
-      if (Math.abs(dλ - π) < ε) { // line crosses a pole
-        listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? π / 2 : -π / 2);
+          dλ = abs(λ1 - λ0);
+      if (abs(dλ - π) < ε) { // line crosses a pole
+        listener.point(λ0, φ0 = (φ0 + φ1) / 2 > 0 ? halfπ : -halfπ);
         listener.point(sλ0, φ0);
         listener.lineEnd();
         listener.lineStart();
         listener.point(sλ1, φ0);
-        listener.point( λ1, φ0);
+        listener.point(λ1, φ0);
         clean = 0;
       } else if (sλ0 !== sλ1 && dλ >= π) { // line crosses antimeridian
         // handle degeneracies
-        if (Math.abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;
-        if (Math.abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;
+        if (abs(λ0 - sλ0) < ε) λ0 -= sλ0 * ε;
+        if (abs(λ1 - sλ1) < ε) λ1 -= sλ1 * ε;
         φ0 = d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1);
         listener.point(sλ0, φ0);
         listener.lineEnd();
@@ -2252,7 +2685,7 @@ function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {
   var cosφ0,
       cosφ1,
       sinλ0_λ1 = Math.sin(λ0 - λ1);
-  return Math.abs(sinλ0_λ1) > ε
+  return abs(sinλ0_λ1) > ε
       ? Math.atan((Math.sin(φ0) * (cosφ1 = Math.cos(φ1)) * Math.sin(λ1)
                  - Math.sin(φ1) * (cosφ0 = Math.cos(φ0)) * Math.sin(λ0))
                  / (cosφ0 * cosφ1 * sinλ0_λ1))
@@ -2262,7 +2695,7 @@ function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {
 function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {
   var φ;
   if (from == null) {
-    φ = direction * π / 2;
+    φ = direction * halfπ;
     listener.point(-π,  φ);
     listener.point( 0,  φ);
     listener.point( π,  φ);
@@ -2272,8 +2705,8 @@ function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {
     listener.point(-π, -φ);
     listener.point(-π,  0);
     listener.point(-π,  φ);
-  } else if (Math.abs(from[0] - to[0]) > ε) {
-    var s = (from[0] < to[0] ? 1 : -1) * π;
+  } else if (abs(from[0] - to[0]) > ε) {
+    var s = from[0] < to[0] ? π : -π;
     φ = direction * s / 2;
     listener.point(-s, φ);
     listener.point( 0, φ);
@@ -2329,6 +2762,18 @@ function d3_geo_cartesianNormalize(d) {
   d[1] /= l;
   d[2] /= l;
 }
+function d3_geo_compose(a, b) {
+
+  function compose(x, y) {
+    return x = a(x, y), b(x[0], x[1]);
+  }
+
+  if (a.invert && b.invert) compose.invert = function(x, y) {
+    return x = b.invert(x, y), x && a.invert(x[0], x[1]);
+  };
+
+  return compose;
+}
 
 function d3_geo_equirectangular(λ, φ) {
   return [λ, φ];
@@ -2354,17 +2799,23 @@ d3.geo.rotation = function(rotate) {
   return forward;
 };
 
+function d3_geo_identityRotation(λ, φ) {
+  return [λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ];
+}
+
+d3_geo_identityRotation.invert = d3_geo_equirectangular;
+
 // Note: |δλ| must be < 2π
 function d3_geo_rotation(δλ, δφ, δγ) {
   return δλ ? (δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ))
     : d3_geo_rotationλ(δλ))
     : (δφ || δγ ? d3_geo_rotationφγ(δφ, δγ)
-    : d3_geo_equirectangular);
+    : d3_geo_identityRotation);
 }
 
 function d3_geo_forwardRotationλ(δλ) {
   return function(λ, φ) {
-    return λ += δλ, [λ > π ? λ - 2 * π : λ < -π ? λ + 2 * π : λ, φ];
+    return λ += δλ, [λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ];
   };
 }
 
@@ -2388,7 +2839,7 @@ function d3_geo_rotationφγ(δφ, δγ) {
         k = z * cosδφ + x * sinδφ;
     return [
       Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ),
-      Math.asin(Math.max(-1, Math.min(1, k * cosδγ + y * sinδγ)))
+      d3_asin(k * cosδγ + y * sinδγ)
     ];
   }
 
@@ -2400,7 +2851,7 @@ function d3_geo_rotationφγ(δφ, δγ) {
         k = z * cosδγ - y * sinδγ;
     return [
       Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ),
-      Math.asin(Math.max(-1, Math.min(1, k * cosδφ - x * sinδφ)))
+      d3_asin(k * cosδφ - x * sinδφ)
     ];
   };
 
@@ -2455,16 +2906,16 @@ function d3_geo_circleInterpolate(radius, precision) {
   var cr = Math.cos(radius),
       sr = Math.sin(radius);
   return function(from, to, direction, listener) {
+    var step = direction * precision;
     if (from != null) {
       from = d3_geo_circleAngle(cr, from);
       to = d3_geo_circleAngle(cr, to);
-      if (direction > 0 ? from < to: from > to) from += direction * 2 * π;
+      if (direction > 0 ? from < to: from > to) from += direction * τ;
     } else {
-      from = radius + direction * 2 * π;
-      to = radius;
+      from = radius + direction * τ;
+      to = radius - .5 * step;
     }
-    var point;
-    for (var step = direction * precision, t = from; direction > 0 ? t > to : t < to; t -= step) {
+    for (var point, t = from; direction > 0 ? t > to : t < to; t -= step) {
       listener.point((point = d3_geo_spherical([
         cr,
         -sr * Math.cos(t),
@@ -2482,15 +2933,179 @@ function d3_geo_circleAngle(cr, point) {
   var angle = d3_acos(-a[1]);
   return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);
 }
+// Adds floating point numbers with twice the normal precision.
+// Reference: J. R. Shewchuk, Adaptive Precision Floating-Point Arithmetic and
+// Fast Robust Geometric Predicates, Discrete & Computational Geometry 18(3)
+// 305–363 (1997).
+// Code adapted from GeographicLib by Charles F. F. Karney,
+// http://geographiclib.sourceforge.net/
+// See lib/geographiclib/LICENSE for details.
+
+function d3_adder() {}
+
+d3_adder.prototype = {
+  s: 0, // rounded value
+  t: 0, // exact error
+  add: function(y) {
+    d3_adderSum(y, this.t, d3_adderTemp);
+    d3_adderSum(d3_adderTemp.s, this.s, this);
+    if (this.s) this.t += d3_adderTemp.t;
+    else this.s = d3_adderTemp.t;
+  },
+  reset: function() {
+    this.s = this.t = 0;
+  },
+  valueOf: function() {
+    return this.s;
+  }
+};
+
+var d3_adderTemp = new d3_adder;
+
+function d3_adderSum(a, b, o) {
+  var x = o.s = a + b, // a + b
+      bv = x - a, av = x - bv; // b_virtual & a_virtual
+  o.t = (a - av) + (b - bv); // a_roundoff + b_roundoff
+}
+
+d3.geo.area = function(object) {
+  d3_geo_areaSum = 0;
+  d3.geo.stream(object, d3_geo_area);
+  return d3_geo_areaSum;
+};
+
+var d3_geo_areaSum,
+    d3_geo_areaRingSum = new d3_adder;
+
+var d3_geo_area = {
+  sphere: function() { d3_geo_areaSum += 4 * π; },
+  point: d3_noop,
+  lineStart: d3_noop,
+  lineEnd: d3_noop,
+
+  // Only count area for polygon rings.
+  polygonStart: function() {
+    d3_geo_areaRingSum.reset();
+    d3_geo_area.lineStart = d3_geo_areaRingStart;
+  },
+  polygonEnd: function() {
+    var area = 2 * d3_geo_areaRingSum;
+    d3_geo_areaSum += area < 0 ? 4 * π + area : area;
+    d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;
+  }
+};
+
+function d3_geo_areaRingStart() {
+  var λ00, φ00, λ0, cosφ0, sinφ0; // start point and previous point
+
+  // For the first point, …
+  d3_geo_area.point = function(λ, φ) {
+    d3_geo_area.point = nextPoint;
+    λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), sinφ0 = Math.sin(φ);
+  };
+
+  // For subsequent points, …
+  function nextPoint(λ, φ) {
+    λ *= d3_radians;
+    φ = φ * d3_radians / 2 + π / 4; // half the angular distance from south pole
+
+    // Spherical excess E for a spherical triangle with vertices: south pole,
+    // previous point, current point.  Uses a formula derived from Cagnoli’s
+    // theorem.  See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).
+    var dλ = λ - λ0,
+        sdλ = dλ >= 0 ? 1 : -1,
+        adλ = sdλ * dλ,
+        cosφ = Math.cos(φ),
+        sinφ = Math.sin(φ),
+        k = sinφ0 * sinφ,
+        u = cosφ0 * cosφ + k * Math.cos(adλ),
+        v = k * sdλ * Math.sin(adλ);
+    d3_geo_areaRingSum.add(Math.atan2(v, u));
+
+    // Advance the previous points.
+    λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;
+  }
+
+  // For the last point, return to the start.
+  d3_geo_area.lineEnd = function() {
+    nextPoint(λ00, φ00);
+  };
+}
+
+function d3_geo_pointInPolygon(point, polygon) {
+  var meridian = point[0],
+      parallel = point[1],
+      meridianNormal = [Math.sin(meridian), -Math.cos(meridian), 0],
+      polarAngle = 0,
+      winding = 0;
+  d3_geo_areaRingSum.reset();
+
+  for (var i = 0, n = polygon.length; i < n; ++i) {
+    var ring = polygon[i],
+        m = ring.length;
+    if (!m) continue;
+    var point0 = ring[0],
+        λ0 = point0[0],
+        φ0 = point0[1] / 2 + π / 4,
+        sinφ0 = Math.sin(φ0),
+        cosφ0 = Math.cos(φ0),
+        j = 1;
+
+    while (true) {
+      if (j === m) j = 0;
+      point = ring[j];
+      var λ = point[0],
+          φ = point[1] / 2 + π / 4,
+          sinφ = Math.sin(φ),
+          cosφ = Math.cos(φ),
+          dλ = λ - λ0,
+          sdλ = dλ >= 0 ? 1 : -1,
+          adλ = sdλ * dλ,
+          antimeridian = adλ > π,
+          k = sinφ0 * sinφ;
+      d3_geo_areaRingSum.add(Math.atan2(k * sdλ * Math.sin(adλ), cosφ0 * cosφ + k * Math.cos(adλ)));
+
+      polarAngle += antimeridian ? dλ + sdλ * τ : dλ;
+
+      // Are the longitudes either side of the point's meridian, and are the
+      // latitudes smaller than the parallel?
+      if (antimeridian ^ λ0 >= meridian ^ λ >= meridian) {
+        var arc = d3_geo_cartesianCross(d3_geo_cartesian(point0), d3_geo_cartesian(point));
+        d3_geo_cartesianNormalize(arc);
+        var intersection = d3_geo_cartesianCross(meridianNormal, arc);
+        d3_geo_cartesianNormalize(intersection);
+        var φarc = (antimeridian ^ dλ >= 0 ? -1 : 1) * d3_asin(intersection[2]);
+        if (parallel > φarc || parallel === φarc && (arc[0] || arc[1])) {
+          winding += antimeridian ^ dλ >= 0 ? 1 : -1;
+        }
+      }
+      if (!j++) break;
+      λ0 = λ, sinφ0 = sinφ, cosφ0 = cosφ, point0 = point;
+    }
+  }
+
+  // First, determine whether the South pole is inside or outside:
+  //
+  // It is inside if:
+  // * the polygon winds around it in a clockwise direction.
+  // * the polygon does not (cumulatively) wind around it, but has a negative
+  //   (counter-clockwise) area.
+  //
+  // Second, count the (signed) number of times a segment crosses a meridian
+  // from the point to the South pole.  If it is zero, then the point is the
+  // same side as the South pole.
+
+  return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ (winding & 1);
+}
 
 // Clip features against a small circle centered at [0°, 0°].
 function d3_geo_clipCircle(radius) {
   var cr = Math.cos(radius),
       smallRadius = cr > 0,
-      notHemisphere = Math.abs(cr) > ε, // TODO optimise for this common case
+      notHemisphere = abs(cr) > ε, // TODO optimise for this common case
       interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);
 
-  return d3_geo_clip(visible, clipLine, interpolate);
+  return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-π, radius - π]);
 
   function visible(λ, φ) {
     return Math.cos(λ) * Math.cos(φ) > cr;
@@ -2624,7 +3239,7 @@ function d3_geo_clipCircle(radius) {
         z;
     if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;
     var δλ = λ1 - λ0,
-        polar = Math.abs(δλ - π) < ε,
+        polar = abs(δλ - π) < ε,
         meridian = polar || δλ < ε;
 
     if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;
@@ -2632,7 +3247,7 @@ function d3_geo_clipCircle(radius) {
     // Check that the first point is between a and b.
     if (meridian
         ? polar
-          ? φ0 + φ1 > 0 ^ q[1] < (Math.abs(q[0] - λ0) < ε ? φ0 : φ1)
+          ? φ0 + φ1 > 0 ^ q[1] < (abs(q[0] - λ0) < ε ? φ0 : φ1)
           : φ0 <= q[1] && q[1] <= φ1
         : δλ > π ^ (λ0 <= q[0] && q[0] <= λ1)) {
       var q1 = d3_geo_cartesianScale(u, (-w + t) / uu);
@@ -2654,12 +3269,99 @@ function d3_geo_clipCircle(radius) {
   }
 }
 
-var d3_geo_clipViewMAX = 1e9;
+// Liang–Barsky line clipping.
+function d3_geom_clipLine(x0, y0, x1, y1) {
+  return function(line) {
+    var a = line.a,
+        b = line.b,
+        ax = a.x,
+        ay = a.y,
+        bx = b.x,
+        by = b.y,
+        t0 = 0,
+        t1 = 1,
+        dx = bx - ax,
+        dy = by - ay,
+        r;
+
+    r = x0 - ax;
+    if (!dx && r > 0) return;
+    r /= dx;
+    if (dx < 0) {
+      if (r < t0) return;
+      if (r < t1) t1 = r;
+    } else if (dx > 0) {
+      if (r > t1) return;
+      if (r > t0) t0 = r;
+    }
+
+    r = x1 - ax;
+    if (!dx && r < 0) return;
+    r /= dx;
+    if (dx < 0) {
+      if (r > t1) return;
+      if (r > t0) t0 = r;
+    } else if (dx > 0) {
+      if (r < t0) return;
+      if (r < t1) t1 = r;
+    }
+
+    r = y0 - ay;
+    if (!dy && r > 0) return;
+    r /= dy;
+    if (dy < 0) {
+      if (r < t0) return;
+      if (r < t1) t1 = r;
+    } else if (dy > 0) {
+      if (r > t1) return;
+      if (r > t0) t0 = r;
+    }
+
+    r = y1 - ay;
+    if (!dy && r < 0) return;
+    r /= dy;
+    if (dy < 0) {
+      if (r > t1) return;
+      if (r > t0) t0 = r;
+    } else if (dy > 0) {
+      if (r < t0) return;
+      if (r < t1) t1 = r;
+    }
+
+    if (t0 > 0) line.a = {x: ax + t0 * dx, y: ay + t0 * dy};
+    if (t1 < 1) line.b = {x: ax + t1 * dx, y: ay + t1 * dy};
+    return line;
+  };
+}
+
+var d3_geo_clipExtentMAX = 1e9;
+
+d3.geo.clipExtent = function() {
+  var x0, y0, x1, y1,
+      stream,
+      clip,
+      clipExtent = {
+        stream: function(output) {
+          if (stream) stream.valid = false;
+          stream = clip(output);
+          stream.valid = true; // allow caching by d3.geo.path
+          return stream;
+        },
+        extent: function(_) {
+          if (!arguments.length) return [[x0, y0], [x1, y1]];
+          clip = d3_geo_clipExtent(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]);
+          if (stream) stream.valid = false, stream = null;
+          return clipExtent;
+        }
+      };
+  return clipExtent.extent([[0, 0], [960, 500]]);
+};
 
-function d3_geo_clipView(x0, y0, x1, y1) {
+function d3_geo_clipExtent(x0, y0, x1, y1) {
   return function(listener) {
     var listener_ = listener,
         bufferListener = d3_geo_clipBufferListener(),
+        clipLine = d3_geom_clipLine(x0, y0, x1, y1),
         segments,
         polygon,
         ring;
@@ -2672,40 +3374,42 @@ function d3_geo_clipView(x0, y0, x1, y1) {
         listener = bufferListener;
         segments = [];
         polygon = [];
+        clean = true;
       },
       polygonEnd: function() {
         listener = listener_;
-        if ((segments = d3.merge(segments)).length) {
+        segments = d3.merge(segments);
+        var clipStartInside = insidePolygon([x0, y1]),
+            inside = clean && clipStartInside,
+            visible = segments.length;
+        if (inside || visible) {
           listener.polygonStart();
-          d3_geo_clipPolygon(segments, compare, inside, interpolate, listener);
+          if (inside) {
+            listener.lineStart();
+            interpolate(null, null, 1, listener);
+            listener.lineEnd();
+          }
+          if (visible) {
+            d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);
+          }
           listener.polygonEnd();
-        } else if (insidePolygon([x0, y0])) {
-          listener.polygonStart(), listener.lineStart();
-          interpolate(null, null, 1, listener);
-          listener.lineEnd(), listener.polygonEnd();
         }
         segments = polygon = ring = null;
       }
     };
 
-    function inside(point) {
-      var a = corner(point, -1),
-          i = insidePolygon([a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0]);
-      return i;
-    }
-
     function insidePolygon(p) {
       var wn = 0, // the winding number counter
           n = polygon.length,
           y = p[1];
 
       for (var i = 0; i < n; ++i) {
-        for (var j = 1, v = polygon[i], m = v.length, a = v[0]; j < m; ++j) {
+        for (var j = 1, v = polygon[i], m = v.length, a = v[0], b; j < m; ++j) {
           b = v[j];
           if (a[1] <= y) {
-            if (b[1] >  y && isLeft(a, b, p) > 0) ++wn;
+            if (b[1] >  y && d3_cross2d(a, b, p) > 0) ++wn;
           } else {
-            if (b[1] <= y && isLeft(a, b, p) < 0) --wn;
+            if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;
           }
           a = b;
         }
@@ -2713,10 +3417,6 @@ function d3_geo_clipView(x0, y0, x1, y1) {
       return wn !== 0;
     }
 
-    function isLeft(a, b, c) {
-      return (b[0] - a[0]) * (c[1] - a[1]) - (c[0] - a[0]) * (b[1] - a[1]);
-    }
-
     function interpolate(from, to, direction, listener) {
       var a = 0, a1 = 0;
       if (from == null ||
@@ -2730,17 +3430,18 @@ function d3_geo_clipView(x0, y0, x1, y1) {
       }
     }
 
-    function visible(x, y) {
+    function pointVisible(x, y) {
       return x0 <= x && x <= x1 && y0 <= y && y <= y1;
     }
 
     function point(x, y) {
-      if (visible(x, y)) listener.point(x, y);
+      if (pointVisible(x, y)) listener.point(x, y);
     }
 
     var x__, y__, v__, // first point
         x_, y_, v_, // previous point
-        first;
+        first,
+        clean;
 
     function lineStart() {
       clip.point = linePoint;
@@ -2764,9 +3465,9 @@ function d3_geo_clipView(x0, y0, x1, y1) {
     }
 
     function linePoint(x, y) {
-      x = Math.max(-d3_geo_clipViewMAX, Math.min(d3_geo_clipViewMAX, x));
-      y = Math.max(-d3_geo_clipViewMAX, Math.min(d3_geo_clipViewMAX, y));
-      var v = visible(x, y);
+      x = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, x));
+      y = Math.max(-d3_geo_clipExtentMAX, Math.min(d3_geo_clipExtentMAX, y));
+      var v = pointVisible(x, y);
       if (polygon) ring.push([x, y]);
       if (first) {
         x__ = x, y__ = y, v__ = v;
@@ -2778,18 +3479,19 @@ function d3_geo_clipView(x0, y0, x1, y1) {
       } else {
         if (v && v_) listener.point(x, y);
         else {
-          var a = [x_, y_],
-              b = [x, y];
-          if (clipLine(a, b)) {
+          var l = {a: {x: x_, y: y_}, b: {x: x, y: y}};
+          if (clipLine(l)) {
             if (!v_) {
               listener.lineStart();
-              listener.point(a[0], a[1]);
+              listener.point(l.a.x, l.a.y);
             }
-            listener.point(b[0], b[1]);
+            listener.point(l.b.x, l.b.y);
             if (!v) listener.lineEnd();
-          } else {
+            clean = false;
+          } else if (v) {
             listener.lineStart();
             listener.point(x, y);
+            clean = false;
           }
         }
       }
@@ -2800,14 +3502,14 @@ function d3_geo_clipView(x0, y0, x1, y1) {
   };
 
   function corner(p, direction) {
-    return Math.abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3
-        : Math.abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1
-        : Math.abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0
-        : direction > 0 ? 3 : 2; // Math.abs(p[1] - y1) < ε
+    return abs(p[0] - x0) < ε ? direction > 0 ? 0 : 3
+        : abs(p[0] - x1) < ε ? direction > 0 ? 2 : 1
+        : abs(p[1] - y0) < ε ? direction > 0 ? 1 : 0
+        : direction > 0 ? 3 : 2; // abs(p[1] - y1) < ε
   }
 
   function compare(a, b) {
-    return comparePoints(a.point, b.point);
+    return comparePoints(a.x, b.x);
   }
 
   function comparePoints(a, b) {
@@ -2819,375 +3521,8 @@ function d3_geo_clipView(x0, y0, x1, y1) {
         : ca === 2 ? a[1] - b[1]
         : b[0] - a[0];
   }
-
-  // Liang–Barsky line clipping.
-  function clipLine(a, b) {
-    var dx = b[0] - a[0],
-        dy = b[1] - a[1],
-        t = [0, 1];
-
-    if (Math.abs(dx) < ε && Math.abs(dy) < ε) return x0 <= a[0] && a[0] <= x1 && y0 <= a[1] && a[1] <= y1;
-
-    if (d3_geo_clipViewT(x0 - a[0],  dx, t) &&
-        d3_geo_clipViewT(a[0] - x1, -dx, t) &&
-        d3_geo_clipViewT(y0 - a[1],  dy, t) &&
-        d3_geo_clipViewT(a[1] - y1, -dy, t)) {
-      if (t[1] < 1) {
-        b[0] = a[0] + t[1] * dx;
-        b[1] = a[1] + t[1] * dy;
-      }
-      if (t[0] > 0) {
-        a[0] += t[0] * dx;
-        a[1] += t[0] * dy;
-      }
-      return true;
-    }
-
-    return false;
-  }
-}
-
-function d3_geo_clipViewT(num, denominator, t) {
-  if (Math.abs(denominator) < ε) return num <= 0;
-
-  var u = num / denominator;
-
-  if (denominator > 0) {
-    if (u > t[1]) return false;
-    if (u > t[0]) t[0] = u;
-  } else {
-    if (u < t[0]) return false;
-    if (u < t[1]) t[1] = u;
-  }
-  return true;
-}
-function d3_geo_compose(a, b) {
-
-  function compose(x, y) {
-    return x = a(x, y), b(x[0], x[1]);
-  }
-
-  if (a.invert && b.invert) compose.invert = function(x, y) {
-    return x = b.invert(x, y), x && a.invert(x[0], x[1]);
-  };
-
-  return compose;
-}
-
-d3.geo.stream = function(object, listener) {
-  if (d3_geo_streamObjectType.hasOwnProperty(object.type)) {
-    d3_geo_streamObjectType[object.type](object, listener);
-  } else {
-    d3_geo_streamGeometry(object, listener);
-  }
-};
-
-function d3_geo_streamGeometry(geometry, listener) {
-  if (d3_geo_streamGeometryType.hasOwnProperty(geometry.type)) {
-    d3_geo_streamGeometryType[geometry.type](geometry, listener);
-  }
-}
-
-var d3_geo_streamObjectType = {
-  Feature: function(feature, listener) {
-    d3_geo_streamGeometry(feature.geometry, listener);
-  },
-  FeatureCollection: function(object, listener) {
-    var features = object.features, i = -1, n = features.length;
-    while (++i < n) d3_geo_streamGeometry(features[i].geometry, listener);
-  }
-};
-
-var d3_geo_streamGeometryType = {
-  Sphere: function(object, listener) {
-    listener.sphere();
-  },
-  Point: function(object, listener) {
-    var coordinate = object.coordinates;
-    listener.point(coordinate[0], coordinate[1]);
-  },
-  MultiPoint: function(object, listener) {
-    var coordinates = object.coordinates, i = -1, n = coordinates.length, coordinate;
-    while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1]);
-  },
-  LineString: function(object, listener) {
-    d3_geo_streamLine(object.coordinates, listener, 0);
-  },
-  MultiLineString: function(object, listener) {
-    var coordinates = object.coordinates, i = -1, n = coordinates.length;
-    while (++i < n) d3_geo_streamLine(coordinates[i], listener, 0);
-  },
-  Polygon: function(object, listener) {
-    d3_geo_streamPolygon(object.coordinates, listener);
-  },
-  MultiPolygon: function(object, listener) {
-    var coordinates = object.coordinates, i = -1, n = coordinates.length;
-    while (++i < n) d3_geo_streamPolygon(coordinates[i], listener);
-  },
-  GeometryCollection: function(object, listener) {
-    var geometries = object.geometries, i = -1, n = geometries.length;
-    while (++i < n) d3_geo_streamGeometry(geometries[i], listener);
-  }
-};
-
-function d3_geo_streamLine(coordinates, listener, closed) {
-  var i = -1, n = coordinates.length - closed, coordinate;
-  listener.lineStart();
-  while (++i < n) coordinate = coordinates[i], listener.point(coordinate[0], coordinate[1]);
-  listener.lineEnd();
-}
-
-function d3_geo_streamPolygon(coordinates, listener) {
-  var i = -1, n = coordinates.length;
-  listener.polygonStart();
-  while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);
-  listener.polygonEnd();
-}
-
-function d3_geo_resample(project) {
-  var δ2 = .5, // precision, px²
-      maxDepth = 16;
-
-  function resample(stream) {
-    var λ0, x0, y0, a0, b0, c0; // previous point
-
-    var resample = {
-      point: point,
-      lineStart: lineStart,
-      lineEnd: lineEnd,
-      polygonStart: function() { stream.polygonStart(); resample.lineStart = polygonLineStart; },
-      polygonEnd: function() { stream.polygonEnd(); resample.lineStart = lineStart; }
-    };
-
-    function point(x, y) {
-      x = project(x, y);
-      stream.point(x[0], x[1]);
-    }
-
-    function lineStart() {
-      x0 = NaN;
-      resample.point = linePoint;
-      stream.lineStart();
-    }
-
-    function linePoint(λ, φ) {
-      var c = d3_geo_cartesian([λ, φ]), p = project(λ, φ);
-      resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);
-      stream.point(x0, y0);
-    }
-
-    function lineEnd() {
-      resample.point = point;
-      stream.lineEnd();
-    }
-
-    function polygonLineStart() {
-      var λ00, φ00, x00, y00, a00, b00, c00; // first point
-
-      lineStart();
-
-      resample.point = function(λ, φ) {
-        linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;
-        resample.point = linePoint;
-      };
-
-      resample.lineEnd = function() {
-        resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);
-        resample.lineEnd = lineEnd;
-        lineEnd();
-      };
-    }
-
-    return resample;
-  }
-
-  function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {
-    var dx = x1 - x0,
-        dy = y1 - y0,
-        d2 = dx * dx + dy * dy;
-    if (d2 > 4 * δ2 && depth--) {
-      var a = a0 + a1,
-          b = b0 + b1,
-          c = c0 + c1,
-          m = Math.sqrt(a * a + b * b + c * c),
-          φ2 = Math.asin(c /= m),
-          λ2 = Math.abs(Math.abs(c) - 1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a),
-          p = project(λ2, φ2),
-          x2 = p[0],
-          y2 = p[1],
-          dx2 = x2 - x0,
-          dy2 = y2 - y0,
-          dz = dy * dx2 - dx * dy2;
-      if (dz * dz / d2 > δ2 || Math.abs((dx * dx2 + dy * dy2) / d2 - .5) > .3) {
-        resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);
-        stream.point(x2, y2);
-        resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);
-      }
-    }
-  }
-
-  resample.precision = function(_) {
-    if (!arguments.length) return Math.sqrt(δ2);
-    maxDepth = (δ2 = _ * _) > 0 && 16;
-    return resample;
-  };
-
-  return resample;
-}
-
-d3.geo.projection = d3_geo_projection;
-d3.geo.projectionMutator = d3_geo_projectionMutator;
-
-function d3_geo_projection(project) {
-  return d3_geo_projectionMutator(function() { return project; })();
-}
-
-function d3_geo_projectionMutator(projectAt) {
-  var project,
-      rotate,
-      projectRotate,
-      projectResample = d3_geo_resample(function(x, y) { x = project(x, y); return [x[0] * k + δx, δy - x[1] * k]; }),
-      k = 150, // scale
-      x = 480, y = 250, // translate
-      λ = 0, φ = 0, // center
-      δλ = 0, δφ = 0, δγ = 0, // rotate
-      δx, δy, // center
-      preclip = d3_geo_clipAntimeridian,
-      postclip = d3_identity,
-      clipAngle = null,
-      clipExtent = null;
-
-  function projection(point) {
-    point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);
-    return [point[0] * k + δx, δy - point[1] * k];
-  }
-
-  function invert(point) {
-    point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);
-    return point && [point[0] * d3_degrees, point[1] * d3_degrees];
-  }
-
-  projection.stream = function(stream) {
-    return d3_geo_projectionRadiansRotate(rotate, preclip(projectResample(postclip(stream))));
-  };
-
-  projection.clipAngle = function(_) {
-    if (!arguments.length) return clipAngle;
-    preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);
-    return projection;
-  };
-
-  projection.clipExtent = function(_) {
-    if (!arguments.length) return clipExtent;
-    clipExtent = _;
-    postclip = _ == null ? d3_identity : d3_geo_clipView(_[0][0], _[0][1], _[1][0], _[1][1]);
-    return projection;
-  };
-
-  projection.scale = function(_) {
-    if (!arguments.length) return k;
-    k = +_;
-    return reset();
-  };
-
-  projection.translate = function(_) {
-    if (!arguments.length) return [x, y];
-    x = +_[0];
-    y = +_[1];
-    return reset();
-  };
-
-  projection.center = function(_) {
-    if (!arguments.length) return [λ * d3_degrees, φ * d3_degrees];
-    λ = _[0] % 360 * d3_radians;
-    φ = _[1] % 360 * d3_radians;
-    return reset();
-  };
-
-  projection.rotate = function(_) {
-    if (!arguments.length) return [δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees];
-    δλ = _[0] % 360 * d3_radians;
-    δφ = _[1] % 360 * d3_radians;
-    δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;
-    return reset();
-  };
-
-  d3.rebind(projection, projectResample, "precision");
-
-  function reset() {
-    projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);
-    var center = project(λ, φ);
-    δx = x - center[0] * k;
-    δy = y + center[1] * k;
-    return projection;
-  }
-
-  return function() {
-    project = projectAt.apply(this, arguments);
-    projection.invert = project.invert && invert;
-    return reset();
-  };
-}
-
-function d3_geo_projectionRadiansRotate(rotate, stream) {
-  return {
-    point: function(x, y) {
-      y = rotate(x * d3_radians, y * d3_radians), x = y[0];
-      stream.point(x > π ? x - 2 * π : x < -π ? x + 2 * π : x, y[1]);
-    },
-    sphere: function() { stream.sphere(); },
-    lineStart: function() { stream.lineStart(); },
-    lineEnd: function() { stream.lineEnd(); },
-    polygonStart: function() { stream.polygonStart(); },
-    polygonEnd: function() { stream.polygonEnd(); }
-  };
-}
-
-function d3_geo_mercator(λ, φ) {
-  return [λ, Math.log(Math.tan(π / 4 + φ / 2))];
-}
-
-d3_geo_mercator.invert = function(x, y) {
-  return [x, 2 * Math.atan(Math.exp(y)) - π / 2];
-};
-
-function d3_geo_mercatorProjection(project) {
-  var m = d3_geo_projection(project),
-      scale = m.scale,
-      translate = m.translate,
-      clipExtent = m.clipExtent,
-      clipAuto;
-
-  m.scale = function() {
-    var v = scale.apply(m, arguments);
-    return v === m ? (clipAuto ? m.clipExtent(null) : m) : v;
-  };
-
-  m.translate = function() {
-    var v = translate.apply(m, arguments);
-    return v === m ? (clipAuto ? m.clipExtent(null) : m) : v;
-  };
-
-  m.clipExtent = function(_) {
-    var v = clipExtent.apply(m, arguments);
-    if (v === m) {
-      if (clipAuto = _ == null) {
-        var k = π * scale(), t = translate();
-        clipExtent([[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]]);
-      }
-    } else if (clipAuto) {
-      v = null;
-    }
-    return v;
-  };
-
-  return m.clipExtent(null);
 }
 
-(d3.geo.mercator = function() {
-  return d3_geo_mercatorProjection(d3_geo_mercator);
-}).raw = d3_geo_mercator;
-
 function d3_geo_conic(projectAt) {
   var φ0 = 0,
       φ1 = π / 3,
@@ -3220,7 +3555,7 @@ function d3_geo_conicEqualArea(φ0, φ1) {
     var ρ0_y = ρ0 - y;
     return [
       Math.atan2(x, ρ0_y) / n,
-      Math.asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n))
+      d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n))
     ];
   };
 
@@ -3231,253 +3566,346 @@ function d3_geo_conicEqualArea(φ0, φ1) {
   return d3_geo_conic(d3_geo_conicEqualArea);
 }).raw = d3_geo_conicEqualArea;
 
-// A composite projection for the United States, 960×500. The set of standard
-// parallels for each region comes from USGS, which is published here:
+// ESRI:102003
+d3.geo.albers = function() {
+  return d3.geo.conicEqualArea()
+      .rotate([96, 0])
+      .center([-.6, 38.7])
+      .parallels([29.5, 45.5])
+      .scale(1070);
+};
+
+// A composite projection for the United States, configured by default for
+// 960×500. Also works quite well at 960×600 with scale 1285. The set of
+// standard parallels for each region comes from USGS, which is published here:
 // http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers
 d3.geo.albersUsa = function() {
-  var lower48 = d3.geo.conicEqualArea()
-      .rotate([98, 0])
-      .center([0, 38])
-      .parallels([29.5, 45.5]);
+  var lower48 = d3.geo.albers();
 
+  // EPSG:3338
   var alaska = d3.geo.conicEqualArea()
-      .rotate([160, 0])
-      .center([0, 60])
+      .rotate([154, 0])
+      .center([-2, 58.5])
       .parallels([55, 65]);
 
+  // ESRI:102007
   var hawaii = d3.geo.conicEqualArea()
-      .rotate([160, 0])
-      .center([0, 20])
-      .parallels([8, 18]);
-
-  var puertoRico = d3.geo.conicEqualArea()
-      .rotate([60, 0])
-      .center([0, 10])
+      .rotate([157, 0])
+      .center([-3, 19.9])
       .parallels([8, 18]);
 
-  var alaskaInvert,
-      hawaiiInvert,
-      puertoRicoInvert;
+  var point,
+      pointStream = {point: function(x, y) { point = [x, y]; }},
+      lower48Point,
+      alaskaPoint,
+      hawaiiPoint;
 
   function albersUsa(coordinates) {
-    return projection(coordinates)(coordinates);
-  }
-
-  function projection(point) {
-    var lon = point[0],
-        lat = point[1];
-    return lat > 50 ? alaska
-        : lon < -140 ? hawaii
-        : lat < 21 ? puertoRico
-        : lower48;
+    var x = coordinates[0], y = coordinates[1];
+    point = null;
+    (lower48Point(x, y), point)
+        || (alaskaPoint(x, y), point)
+        || hawaiiPoint(x, y);
+    return point;
   }
 
   albersUsa.invert = function(coordinates) {
-    return alaskaInvert(coordinates) || hawaiiInvert(coordinates) || puertoRicoInvert(coordinates) || lower48.invert(coordinates);
+    var k = lower48.scale(),
+        t = lower48.translate(),
+        x = (coordinates[0] - t[0]) / k,
+        y = (coordinates[1] - t[1]) / k;
+    return (y >= .120 && y < .234 && x >= -.425 && x < -.214 ? alaska
+        : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii
+        : lower48).invert(coordinates);
+  };
+
+  // A naïve multi-projection stream.
+  // The projections must have mutually exclusive clip regions on the sphere,
+  // as this will avoid emitting interleaving lines and polygons.
+  albersUsa.stream = function(stream) {
+    var lower48Stream = lower48.stream(stream),
+        alaskaStream = alaska.stream(stream),
+        hawaiiStream = hawaii.stream(stream);
+    return {
+      point: function(x, y) {
+        lower48Stream.point(x, y);
+        alaskaStream.point(x, y);
+        hawaiiStream.point(x, y);
+      },
+      sphere: function() {
+        lower48Stream.sphere();
+        alaskaStream.sphere();
+        hawaiiStream.sphere();
+      },
+      lineStart: function() {
+        lower48Stream.lineStart();
+        alaskaStream.lineStart();
+        hawaiiStream.lineStart();
+      },
+      lineEnd: function() {
+        lower48Stream.lineEnd();
+        alaskaStream.lineEnd();
+        hawaiiStream.lineEnd();
+      },
+      polygonStart: function() {
+        lower48Stream.polygonStart();
+        alaskaStream.polygonStart();
+        hawaiiStream.polygonStart();
+      },
+      polygonEnd: function() {
+        lower48Stream.polygonEnd();
+        alaskaStream.polygonEnd();
+        hawaiiStream.polygonEnd();
+      }
+    };
+  };
+
+  albersUsa.precision = function(_) {
+    if (!arguments.length) return lower48.precision();
+    lower48.precision(_);
+    alaska.precision(_);
+    hawaii.precision(_);
+    return albersUsa;
   };
 
-  albersUsa.scale = function(x) {
+  albersUsa.scale = function(_) {
     if (!arguments.length) return lower48.scale();
-    lower48.scale(x);
-    alaska.scale(x * .6);
-    hawaii.scale(x);
-    puertoRico.scale(x * 1.5);
+    lower48.scale(_);
+    alaska.scale(_ * .35);
+    hawaii.scale(_);
     return albersUsa.translate(lower48.translate());
   };
 
-  albersUsa.translate = function(x) {
+  albersUsa.translate = function(_) {
     if (!arguments.length) return lower48.translate();
-    var dz = lower48.scale(),
-        dx = x[0],
-        dy = x[1];
-    lower48.translate(x);
-    alaska.translate([dx - .40 * dz, dy + .17 * dz]);
-    hawaii.translate([dx - .19 * dz, dy + .20 * dz]);
-    puertoRico.translate([dx + .58 * dz, dy + .43 * dz]);
-
-    alaskaInvert = d3_geo_albersUsaInvert(alaska, [[-180, 50], [-130, 72]]);
-    hawaiiInvert = d3_geo_albersUsaInvert(hawaii, [[-164, 18], [-154, 24]]);
-    puertoRicoInvert = d3_geo_albersUsaInvert(puertoRico, [[-67.5, 17.5], [-65, 19]]);
+    var k = lower48.scale(), x = +_[0], y = +_[1];
 
-    return albersUsa;
-  };
+    lower48Point = lower48
+        .translate(_)
+        .clipExtent([[x - .455 * k, y - .238 * k], [x + .455 * k, y + .238 * k]])
+        .stream(pointStream).point;
 
-  return albersUsa.scale(1000);
-};
+    alaskaPoint = alaska
+        .translate([x - .307 * k, y + .201 * k])
+        .clipExtent([[x - .425 * k + ε, y + .120 * k + ε], [x - .214 * k - ε, y + .234 * k - ε]])
+        .stream(pointStream).point;
+
+    hawaiiPoint = hawaii
+        .translate([x - .205 * k, y + .212 * k])
+        .clipExtent([[x - .214 * k + ε, y + .166 * k + ε], [x - .115 * k - ε, y + .234 * k - ε]])
+        .stream(pointStream).point;
 
-function d3_geo_albersUsaInvert(projection, extent) {
-  var a = projection(extent[0]),
-      b = projection([.5 * (extent[0][0] + extent[1][0]), extent[0][1]]),
-      c = projection([extent[1][0], extent[0][1]]),
-      d = projection(extent[1]);
-
-  var dya = b[1]- a[1],
-      dxa = b[0]- a[0],
-      dyb = c[1]- b[1],
-      dxb = c[0]- b[0];
-
-  var ma = dya / dxa,
-      mb = dyb / dxb;
-
-  // Find center of circle going through points [a, b, c].
-  var cx = .5 * (ma * mb * (a[1] - c[1]) + mb * (a[0] + b[0]) - ma * (b[0] + c[0])) / (mb - ma),
-      cy = (.5 * (a[0] + b[0]) - cx) / ma + .5 * (a[1] + b[1]);
-
-  // Radial distance² from center.
-  var dx0 = d[0] - cx,
-      dy0 = d[1] - cy,
-      dx1 = a[0] - cx,
-      dy1 = a[1] - cy,
-      r0 = dx0 * dx0 + dy0 * dy0,
-      r1 = dx1 * dx1 + dy1 * dy1;
-
-  // Angular extent.
-  var a0 = Math.atan2(dy0, dx0),
-      a1 = Math.atan2(dy1, dx1);
-
-  return function(coordinates) {
-    var dx = coordinates[0] - cx,
-        dy = coordinates[1] - cy,
-        r = dx * dx + dy * dy,
-        a = Math.atan2(dy, dx);
-    if (r0 < r && r < r1 && a0 < a && a < a1) return projection.invert(coordinates);
+    return albersUsa;
   };
-}
 
-d3.geo.area = function(object) {
-  d3_geo_areaSum = 0;
-  d3.geo.stream(object, d3_geo_area);
-  return d3_geo_areaSum;
+  return albersUsa.scale(1070);
 };
 
-var d3_geo_areaSum,
-    d3_geo_areaRingU,
-    d3_geo_areaRingV;
+d3.geo.bounds = (function() {
+  var λ0, φ0, λ1, φ1, // bounds
+      λ_, // previous λ-coordinate
+      λ__, φ__, // first point
+      p0, // previous 3D point
+      dλSum,
+      ranges,
+      range;
 
-var d3_geo_area = {
-  sphere: function() { d3_geo_areaSum += 4 * π; },
-  point: d3_noop,
-  lineStart: d3_noop,
-  lineEnd: d3_noop,
+  var bound = {
+    point: point,
+    lineStart: lineStart,
+    lineEnd: lineEnd,
 
-  // Only count area for polygon rings.
-  polygonStart: function() {
-    d3_geo_areaRingU = 1, d3_geo_areaRingV = 0;
-    d3_geo_area.lineStart = d3_geo_areaRingStart;
-  },
-  polygonEnd: function() {
-    var area = 2 * Math.atan2(d3_geo_areaRingV, d3_geo_areaRingU);
-    d3_geo_areaSum += area < 0 ? 4 * π + area : area;
-    d3_geo_area.lineStart = d3_geo_area.lineEnd = d3_geo_area.point = d3_noop;
-  }
-};
+    polygonStart: function() {
+      bound.point = ringPoint;
+      bound.lineStart = ringStart;
+      bound.lineEnd = ringEnd;
+      dλSum = 0;
+      d3_geo_area.polygonStart();
+    },
+    polygonEnd: function() {
+      d3_geo_area.polygonEnd();
+      bound.point = point;
+      bound.lineStart = lineStart;
+      bound.lineEnd = lineEnd;
+      if (d3_geo_areaRingSum < 0) λ0 = -(λ1 = 180), φ0 = -(φ1 = 90);
+      else if (dλSum > ε) φ1 = 90;
+      else if (dλSum < -ε) φ0 = -90;
+      range[0] = λ0, range[1] = λ1;
+    }
+  };
 
-function d3_geo_areaRingStart() {
-  var λ00, φ00, λ0, cosφ0, sinφ0; // start point and two previous points
+  function point(λ, φ) {
+    ranges.push(range = [λ0 = λ, λ1 = λ]);
+    if (φ < φ0) φ0 = φ;
+    if (φ > φ1) φ1 = φ;
+  }
+
+  function linePoint(λ, φ) {
+    var p = d3_geo_cartesian([λ * d3_radians, φ * d3_radians]);
+    if (p0) {
+      var normal = d3_geo_cartesianCross(p0, p),
+          equatorial = [normal[1], -normal[0], 0],
+          inflection = d3_geo_cartesianCross(equatorial, normal);
+      d3_geo_cartesianNormalize(inflection);
+      inflection = d3_geo_spherical(inflection);
+      var dλ = λ - λ_,
+          s = dλ > 0 ? 1 : -1,
+          λi = inflection[0] * d3_degrees * s,
+          antimeridian = abs(dλ) > 180;
+      if (antimeridian ^ (s * λ_ < λi && λi < s * λ)) {
+        var φi = inflection[1] * d3_degrees;
+        if (φi > φ1) φ1 = φi;
+      } else if (λi = (λi + 360) % 360 - 180, antimeridian ^ (s * λ_ < λi && λi < s * λ)) {
+        var φi = -inflection[1] * d3_degrees;
+        if (φi < φ0) φ0 = φi;
+      } else {
+        if (φ < φ0) φ0 = φ;
+        if (φ > φ1) φ1 = φ;
+      }
+      if (antimeridian) {
+        if (λ < λ_) {
+          if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;
+        } else {
+          if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;
+        }
+      } else {
+        if (λ1 >= λ0) {
+          if (λ < λ0) λ0 = λ;
+          if (λ > λ1) λ1 = λ;
+        } else {
+          if (λ > λ_) {
+            if (angle(λ0, λ) > angle(λ0, λ1)) λ1 = λ;
+          } else {
+            if (angle(λ, λ1) > angle(λ0, λ1)) λ0 = λ;
+          }
+        }
+      }
+    } else {
+      point(λ, φ);
+    }
+    p0 = p, λ_ = λ;
+  }
 
-  // For the first point, …
-  d3_geo_area.point = function(λ, φ) {
-    d3_geo_area.point = nextPoint;
-    λ0 = (λ00 = λ) * d3_radians, cosφ0 = Math.cos(φ = (φ00 = φ) * d3_radians / 2 + π / 4), sinφ0 = Math.sin(φ);
-  };
+  function lineStart() { bound.point = linePoint; }
+  function lineEnd() {
+    range[0] = λ0, range[1] = λ1;
+    bound.point = point;
+    p0 = null;
+  }
 
-  // For subsequent points, …
-  function nextPoint(λ, φ) {
-    λ *= d3_radians;
-    φ = φ * d3_radians / 2 + π / 4; // half the angular distance from south pole
+  function ringPoint(λ, φ) {
+    if (p0) {
+      var dλ = λ - λ_;
+      dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ;
+    } else λ__ = λ, φ__ = φ;
+    d3_geo_area.point(λ, φ);
+    linePoint(λ, φ);
+  }
 
-    // Spherical excess E for a spherical triangle with vertices: south pole,
-    // previous point, current point.  Uses a formula derived from Cagnoli’s
-    // theorem.  See Todhunter, Spherical Trig. (1871), Sec. 103, Eq. (2).
-    var dλ = λ - λ0,
-        cosφ = Math.cos(φ),
-        sinφ = Math.sin(φ),
-        k = sinφ0 * sinφ,
-        u0 = d3_geo_areaRingU,
-        v0 = d3_geo_areaRingV,
-        u = cosφ0 * cosφ + k * Math.cos(dλ),
-        v = k * Math.sin(dλ);
-    // ∑ arg(z) = arg(∏ z), where z = u + iv.
-    d3_geo_areaRingU = u0 * u - v0 * v;
-    d3_geo_areaRingV = v0 * u + u0 * v;
+  function ringStart() {
+    d3_geo_area.lineStart();
+  }
 
-    // Advance the previous points.
-    λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;
+  function ringEnd() {
+    ringPoint(λ__, φ__);
+    d3_geo_area.lineEnd();
+    if (abs(dλSum) > ε) λ0 = -(λ1 = 180);
+    range[0] = λ0, range[1] = λ1;
+    p0 = null;
   }
 
-  // For the last point, return to the start.
-  d3_geo_area.lineEnd = function() {
-    nextPoint(λ00, φ00);
-  };
-}
+  // Finds the left-right distance between two longitudes.
+  // This is almost the same as (λ1 - λ0 + 360°) % 360°, except that we want
+  // the distance between ±180° to be 360°.
+  function angle(λ0, λ1) { return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1; }
 
-d3.geo.bounds = d3_geo_bounds(d3_identity);
+  function compareRanges(a, b) { return a[0] - b[0]; }
 
-function d3_geo_bounds(projectStream) {
-  var x0, y0, x1, y1;
+  function withinRange(x, range) {
+    return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;
+  }
 
-  var bound = {
-    point: boundPoint,
-    lineStart: d3_noop,
-    lineEnd: d3_noop,
-
-    // While inside a polygon, ignore points in holes.
-    polygonStart: function() { bound.lineEnd = boundPolygonLineEnd; },
-    polygonEnd: function() { bound.point = boundPoint; }
-  };
-
-  function boundPoint(x, y) {
-    if (x < x0) x0 = x;
-    if (x > x1) x1 = x;
-    if (y < y0) y0 = y;
-    if (y > y1) y1 = y;
-  }
+  return function(feature) {
+    φ1 = λ1 = -(λ0 = φ0 = Infinity);
+    ranges = [];
+
+    d3.geo.stream(feature, bound);
+
+    var n = ranges.length;
+    if (n) {
+      // First, sort ranges by their minimum longitudes.
+      ranges.sort(compareRanges);
+
+      // Then, merge any ranges that overlap.
+      for (var i = 1, a = ranges[0], b, merged = [a]; i < n; ++i) {
+        b = ranges[i];
+        if (withinRange(b[0], a) || withinRange(b[1], a)) {
+          if (angle(a[0], b[1]) > angle(a[0], a[1])) a[1] = b[1];
+          if (angle(b[0], a[1]) > angle(a[0], a[1])) a[0] = b[0];
+        } else {
+          merged.push(a = b);
+        }
+      }
 
-  function boundPolygonLineEnd() {
-    bound.point = bound.lineEnd = d3_noop;
-  }
+      // Finally, find the largest gap between the merged ranges.
+      // The final bounding box will be the inverse of this gap.
+      var best = -Infinity, dλ;
+      for (var n = merged.length - 1, i = 0, a = merged[n], b; i <= n; a = b, ++i) {
+        b = merged[i];
+        if ((dλ = angle(a[1], b[0])) > best) best = dλ, λ0 = b[0], λ1 = a[1];
+      }
+    }
+    ranges = range = null;
 
-  return function(feature) {
-    y1 = x1 = -(x0 = y0 = Infinity);
-    d3.geo.stream(feature, projectStream(bound));
-    return [[x0, y0], [x1, y1]];
+    return λ0 === Infinity || φ0 === Infinity
+        ? [[NaN, NaN], [NaN, NaN]]
+        : [[λ0, φ0], [λ1, φ1]];
   };
-}
+})();
 
 d3.geo.centroid = function(object) {
-  d3_geo_centroidDimension = d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
+  d3_geo_centroidW0 = d3_geo_centroidW1 =
+  d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 =
+  d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 =
+  d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;
   d3.geo.stream(object, d3_geo_centroid);
-  var m;
-  if (d3_geo_centroidW &&
-      Math.abs(m = Math.sqrt(d3_geo_centroidX * d3_geo_centroidX + d3_geo_centroidY * d3_geo_centroidY + d3_geo_centroidZ * d3_geo_centroidZ)) > ε) {
-    return [
-      Math.atan2(d3_geo_centroidY, d3_geo_centroidX) * d3_degrees,
-      Math.asin(Math.max(-1, Math.min(1, d3_geo_centroidZ / m))) * d3_degrees
-    ];
+
+  var x = d3_geo_centroidX2,
+      y = d3_geo_centroidY2,
+      z = d3_geo_centroidZ2,
+      m = x * x + y * y + z * z;
+
+  // If the area-weighted centroid is undefined, fall back to length-weighted centroid.
+  if (m < ε2) {
+    x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;
+    // If the feature has zero length, fall back to arithmetic mean of point vectors.
+    if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;
+    m = x * x + y * y + z * z;
+    // If the feature still has an undefined centroid, then return.
+    if (m < ε2) return [NaN, NaN];
   }
+
+  return [Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees];
 };
 
-var d3_geo_centroidDimension,
-    d3_geo_centroidW,
-    d3_geo_centroidX,
-    d3_geo_centroidY,
-    d3_geo_centroidZ;
+var d3_geo_centroidW0,
+    d3_geo_centroidW1,
+    d3_geo_centroidX0,
+    d3_geo_centroidY0,
+    d3_geo_centroidZ0,
+    d3_geo_centroidX1,
+    d3_geo_centroidY1,
+    d3_geo_centroidZ1,
+    d3_geo_centroidX2,
+    d3_geo_centroidY2,
+    d3_geo_centroidZ2;
 
 var d3_geo_centroid = {
-  sphere: function() {
-    if (d3_geo_centroidDimension < 2) {
-      d3_geo_centroidDimension = 2;
-      d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
-    }
-  },
+  sphere: d3_noop,
   point: d3_geo_centroidPoint,
   lineStart: d3_geo_centroidLineStart,
   lineEnd: d3_geo_centroidLineEnd,
   polygonStart: function() {
-    if (d3_geo_centroidDimension < 2) {
-      d3_geo_centroidDimension = 2;
-      d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
-    }
     d3_geo_centroid.lineStart = d3_geo_centroidRingStart;
   },
   polygonEnd: function() {
@@ -3487,42 +3915,21 @@ var d3_geo_centroid = {
 
 // Arithmetic mean of Cartesian vectors.
 function d3_geo_centroidPoint(λ, φ) {
-  if (d3_geo_centroidDimension) return;
-  ++d3_geo_centroidW;
   λ *= d3_radians;
   var cosφ = Math.cos(φ *= d3_radians);
-  d3_geo_centroidX += (cosφ * Math.cos(λ) - d3_geo_centroidX) / d3_geo_centroidW;
-  d3_geo_centroidY += (cosφ * Math.sin(λ) - d3_geo_centroidY) / d3_geo_centroidW;
-  d3_geo_centroidZ += (Math.sin(φ) - d3_geo_centroidZ) / d3_geo_centroidW;
+  d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));
 }
 
-function d3_geo_centroidRingStart() {
-  var λ00, φ00; // first point
-
-  d3_geo_centroidDimension = 1;
-  d3_geo_centroidLineStart();
-  d3_geo_centroidDimension = 2;
-
-  var linePoint = d3_geo_centroid.point;
-  d3_geo_centroid.point = function(λ, φ) {
-    linePoint(λ00 = λ, φ00 = φ);
-  };
-  d3_geo_centroid.lineEnd = function() {
-    d3_geo_centroid.point(λ00, φ00);
-    d3_geo_centroidLineEnd();
-    d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;
-  };
+function d3_geo_centroidPointXYZ(x, y, z) {
+  ++d3_geo_centroidW0;
+  d3_geo_centroidX0 += (x - d3_geo_centroidX0) / d3_geo_centroidW0;
+  d3_geo_centroidY0 += (y - d3_geo_centroidY0) / d3_geo_centroidW0;
+  d3_geo_centroidZ0 += (z - d3_geo_centroidZ0) / d3_geo_centroidW0;
 }
 
 function d3_geo_centroidLineStart() {
   var x0, y0, z0; // previous point
 
-  if (d3_geo_centroidDimension > 1) return;
-  if (d3_geo_centroidDimension < 1) {
-    d3_geo_centroidDimension = 1;
-    d3_geo_centroidW = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
-  }
-
   d3_geo_centroid.point = function(λ, φ) {
     λ *= d3_radians;
     var cosφ = Math.cos(φ *= d3_radians);
@@ -3530,6 +3937,7 @@ function d3_geo_centroidLineStart() {
     y0 = cosφ * Math.sin(λ);
     z0 = Math.sin(φ);
     d3_geo_centroid.point = nextPoint;
+    d3_geo_centroidPointXYZ(x0, y0, z0);
   };
 
   function nextPoint(λ, φ) {
@@ -3541,10 +3949,11 @@ function d3_geo_centroidLineStart() {
         w = Math.atan2(
           Math.sqrt((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w),
           x0 * x + y0 * y + z0 * z);
-    d3_geo_centroidW += w;
-    d3_geo_centroidX += w * (x0 + (x0 = x));
-    d3_geo_centroidY += w * (y0 + (y0 = y));
-    d3_geo_centroidZ += w * (z0 + (z0 = z));
+    d3_geo_centroidW1 += w;
+    d3_geo_centroidX1 += w * (x0 + (x0 = x));
+    d3_geo_centroidY1 += w * (y0 + (y0 = y));
+    d3_geo_centroidZ1 += w * (z0 + (z0 = z));
+    d3_geo_centroidPointXYZ(x0, y0, z0);
   }
 }
 
@@ -3552,6 +3961,53 @@ function d3_geo_centroidLineEnd() {
   d3_geo_centroid.point = d3_geo_centroidPoint;
 }
 
+// See J. E. Brock, The Inertia Tensor for a Spherical Triangle,
+// J. Applied Mechanics 42, 239 (1975).
+function d3_geo_centroidRingStart() {
+  var λ00, φ00, // first point
+      x0, y0, z0; // previous point
+
+  d3_geo_centroid.point = function(λ, φ) {
+    λ00 = λ, φ00 = φ;
+    d3_geo_centroid.point = nextPoint;
+    λ *= d3_radians;
+    var cosφ = Math.cos(φ *= d3_radians);
+    x0 = cosφ * Math.cos(λ);
+    y0 = cosφ * Math.sin(λ);
+    z0 = Math.sin(φ);
+    d3_geo_centroidPointXYZ(x0, y0, z0);
+  };
+
+  d3_geo_centroid.lineEnd = function() {
+    nextPoint(λ00, φ00);
+    d3_geo_centroid.lineEnd = d3_geo_centroidLineEnd;
+    d3_geo_centroid.point = d3_geo_centroidPoint;
+  };
+
+  function nextPoint(λ, φ) {
+    λ *= d3_radians;
+    var cosφ = Math.cos(φ *= d3_radians),
+        x = cosφ * Math.cos(λ),
+        y = cosφ * Math.sin(λ),
+        z = Math.sin(φ),
+        cx = y0 * z - z0 * y,
+        cy = z0 * x - x0 * z,
+        cz = x0 * y - y0 * x,
+        m = Math.sqrt(cx * cx + cy * cy + cz * cz),
+        u = x0 * x + y0 * y + z0 * z,
+        v = m && -d3_acos(u) / m, // area weight
+        w = Math.atan2(m, u); // line weight
+    d3_geo_centroidX2 += v * cx;
+    d3_geo_centroidY2 += v * cy;
+    d3_geo_centroidZ2 += v * cz;
+    d3_geo_centroidW1 += w;
+    d3_geo_centroidX1 += w * (x0 + (x0 = x));
+    d3_geo_centroidY1 += w * (y0 + (y0 = y));
+    d3_geo_centroidZ1 += w * (z0 + (z0 = z));
+    d3_geo_centroidPointXYZ(x0, y0, z0);
+  }
+}
+
 // TODO Unify this code with d3.geom.polygon area?
 
 var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {
@@ -3566,7 +4022,7 @@ var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {
   },
   polygonEnd: function() {
     d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;
-    d3_geo_pathAreaSum += Math.abs(d3_geo_pathAreaPolygon / 2);
+    d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);
   }
 };
 
@@ -3590,8 +4046,28 @@ function d3_geo_pathAreaRingStart() {
     nextPoint(x00, y00);
   };
 }
+
+var d3_geo_pathBoundsX0,
+    d3_geo_pathBoundsY0,
+    d3_geo_pathBoundsX1,
+    d3_geo_pathBoundsY1;
+
+var d3_geo_pathBounds = {
+  point: d3_geo_pathBoundsPoint,
+  lineStart: d3_noop,
+  lineEnd: d3_noop,
+  polygonStart: d3_noop,
+  polygonEnd: d3_noop
+};
+
+function d3_geo_pathBoundsPoint(x, y) {
+  if (x < d3_geo_pathBoundsX0) d3_geo_pathBoundsX0 = x;
+  if (x > d3_geo_pathBoundsX1) d3_geo_pathBoundsX1 = x;
+  if (y < d3_geo_pathBoundsY0) d3_geo_pathBoundsY0 = y;
+  if (y > d3_geo_pathBoundsY1) d3_geo_pathBoundsY1 = y;
+}
 function d3_geo_pathBuffer() {
-  var pointCircle = d3_geo_pathCircle(4.5),
+  var pointCircle = d3_geo_pathBufferCircle(4.5),
       buffer = [];
 
   var stream = {
@@ -3606,7 +4082,7 @@ function d3_geo_pathBuffer() {
     polygonEnd: function() { stream.lineEnd = lineEnd; stream.point = point; },
 
     pointRadius: function(_) {
-      pointCircle = d3_geo_pathCircle(_);
+      pointCircle = d3_geo_pathBufferCircle(_);
       return stream;
     },
 
@@ -3643,6 +4119,13 @@ function d3_geo_pathBuffer() {
   return stream;
 }
 
+function d3_geo_pathBufferCircle(radius) {
+  return "m0," + radius
+      + "a" + radius + "," + radius + " 0 1,1 0," + -2 * radius
+      + "a" + radius + "," + radius + " 0 1,1 0," + 2 * radius
+      + "z";
+}
+
 // TODO Unify this code with d3.geom.polygon centroid?
 // TODO Enforce positive area for exterior, negative area for interior?
 
@@ -3665,33 +4148,25 @@ var d3_geo_pathCentroid = {
 };
 
 function d3_geo_pathCentroidPoint(x, y) {
-  if (d3_geo_centroidDimension) return;
-  d3_geo_centroidX += x;
-  d3_geo_centroidY += y;
-  ++d3_geo_centroidZ;
+  d3_geo_centroidX0 += x;
+  d3_geo_centroidY0 += y;
+  ++d3_geo_centroidZ0;
 }
 
 function d3_geo_pathCentroidLineStart() {
   var x0, y0;
 
-  if (d3_geo_centroidDimension !== 1) {
-    if (d3_geo_centroidDimension < 1) {
-      d3_geo_centroidDimension = 1;
-      d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
-    } else return;
-  }
-
   d3_geo_pathCentroid.point = function(x, y) {
     d3_geo_pathCentroid.point = nextPoint;
-    x0 = x, y0 = y;
+    d3_geo_pathCentroidPoint(x0 = x, y0 = y);
   };
 
   function nextPoint(x, y) {
     var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);
-    d3_geo_centroidX += z * (x0 + x) / 2;
-    d3_geo_centroidY += z * (y0 + y) / 2;
-    d3_geo_centroidZ += z;
-    x0 = x, y0 = y;
+    d3_geo_centroidX1 += z * (x0 + x) / 2;
+    d3_geo_centroidY1 += z * (y0 + y) / 2;
+    d3_geo_centroidZ1 += z;
+    d3_geo_pathCentroidPoint(x0 = x, y0 = y);
   }
 }
 
@@ -3702,24 +4177,24 @@ function d3_geo_pathCentroidLineEnd() {
 function d3_geo_pathCentroidRingStart() {
   var x00, y00, x0, y0;
 
-  if (d3_geo_centroidDimension < 2) {
-    d3_geo_centroidDimension = 2;
-    d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
-  }
-
   // For the first point, …
   d3_geo_pathCentroid.point = function(x, y) {
     d3_geo_pathCentroid.point = nextPoint;
-    x00 = x0 = x, y00 = y0 = y;
+    d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);
   };
 
   // For subsequent points, …
   function nextPoint(x, y) {
-    var z = y0 * x - x0 * y;
-    d3_geo_centroidX += z * (x0 + x);
-    d3_geo_centroidY += z * (y0 + y);
-    d3_geo_centroidZ += z * 3;
-    x0 = x, y0 = y;
+    var dx = x - x0, dy = y - y0, z = Math.sqrt(dx * dx + dy * dy);
+    d3_geo_centroidX1 += z * (x0 + x) / 2;
+    d3_geo_centroidY1 += z * (y0 + y) / 2;
+    d3_geo_centroidZ1 += z;
+
+    z = y0 * x - x0 * y;
+    d3_geo_centroidX2 += z * (x0 + x);
+    d3_geo_centroidY2 += z * (y0 + y);
+    d3_geo_centroidZ2 += z * 3;
+    d3_geo_pathCentroidPoint(x0 = x, y0 = y);
   }
 
   // For the last point, return to the start.
@@ -3751,8 +4226,8 @@ function d3_geo_pathContext(context) {
   };
 
   function point(x, y) {
-    context.moveTo(x, y);
-    context.arc(x, y, pointRadius, 0, 2 * π);
+    context.moveTo(x + pointRadius, y);
+    context.arc(x, y, pointRadius, 0, τ);
   }
 
   function pointLineStart(x, y) {
@@ -3775,18 +4250,126 @@ function d3_geo_pathContext(context) {
   return stream;
 }
 
+function d3_geo_resample(project) {
+  var δ2 = .5, // precision, px²
+      cosMinDistance = Math.cos(30 * d3_radians), // cos(minimum angular distance)
+      maxDepth = 16;
+
+  function resample(stream) {
+    return (maxDepth ? resampleRecursive : resampleNone)(stream);
+  }
+
+  function resampleNone(stream) {
+    return d3_geo_transformPoint(stream, function(x, y) {
+      x = project(x, y);
+      stream.point(x[0], x[1]);
+    });
+  }
+
+  function resampleRecursive(stream) {
+    var λ00, φ00, x00, y00, a00, b00, c00, // first point
+        λ0, x0, y0, a0, b0, c0; // previous point
+
+    var resample = {
+      point: point,
+      lineStart: lineStart,
+      lineEnd: lineEnd,
+      polygonStart: function() { stream.polygonStart(); resample.lineStart = ringStart; },
+      polygonEnd: function() { stream.polygonEnd(); resample.lineStart = lineStart; }
+    };
+
+    function point(x, y) {
+      x = project(x, y);
+      stream.point(x[0], x[1]);
+    }
+
+    function lineStart() {
+      x0 = NaN;
+      resample.point = linePoint;
+      stream.lineStart();
+    }
+
+    function linePoint(λ, φ) {
+      var c = d3_geo_cartesian([λ, φ]), p = project(λ, φ);
+      resampleLineTo(x0, y0, λ0, a0, b0, c0, x0 = p[0], y0 = p[1], λ0 = λ, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);
+      stream.point(x0, y0);
+    }
+
+    function lineEnd() {
+      resample.point = point;
+      stream.lineEnd();
+    }
+
+    function ringStart() {
+      lineStart();
+      resample.point = ringPoint;
+      resample.lineEnd = ringEnd;
+    }
+
+    function ringPoint(λ, φ) {
+      linePoint(λ00 = λ, φ00 = φ), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;
+      resample.point = linePoint;
+    }
+
+    function ringEnd() {
+      resampleLineTo(x0, y0, λ0, a0, b0, c0, x00, y00, λ00, a00, b00, c00, maxDepth, stream);
+      resample.lineEnd = lineEnd;
+      lineEnd();
+    }
+
+    return resample;
+  }
+
+  function resampleLineTo(x0, y0, λ0, a0, b0, c0, x1, y1, λ1, a1, b1, c1, depth, stream) {
+    var dx = x1 - x0,
+        dy = y1 - y0,
+        d2 = dx * dx + dy * dy;
+    if (d2 > 4 * δ2 && depth--) {
+      var a = a0 + a1,
+          b = b0 + b1,
+          c = c0 + c1,
+          m = Math.sqrt(a * a + b * b + c * c),
+          φ2 = Math.asin(c /= m),
+          λ2 = abs(abs(c) - 1) < ε || abs(λ0 - λ1) < ε ? (λ0 + λ1) / 2 : Math.atan2(b, a),
+          p = project(λ2, φ2),
+          x2 = p[0],
+          y2 = p[1],
+          dx2 = x2 - x0,
+          dy2 = y2 - y0,
+          dz = dy * dx2 - dx * dy2;
+      if (dz * dz / d2 > δ2 // perpendicular projected distance
+          || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 // midpoint close to an end
+          || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance
+        resampleLineTo(x0, y0, λ0, a0, b0, c0, x2, y2, λ2, a /= m, b /= m, c, depth, stream);
+        stream.point(x2, y2);
+        resampleLineTo(x2, y2, λ2, a, b, c, x1, y1, λ1, a1, b1, c1, depth, stream);
+      }
+    }
+  }
+
+  resample.precision = function(_) {
+    if (!arguments.length) return Math.sqrt(δ2);
+    maxDepth = (δ2 = _ * _) > 0 && 16;
+    return resample;
+  };
+
+  return resample;
+}
+
 d3.geo.path = function() {
   var pointRadius = 4.5,
       projection,
       context,
       projectStream,
-      contextStream;
+      contextStream,
+      cacheStream;
 
   function path(object) {
-    if (object) d3.geo.stream(object, projectStream(
-        contextStream.pointRadius(typeof pointRadius === "function"
-            ? +pointRadius.apply(this, arguments)
-            : pointRadius)));
+    if (object) {
+      if (typeof pointRadius === "function") contextStream.pointRadius(+pointRadius.apply(this, arguments));
+      if (!cacheStream || !cacheStream.valid) cacheStream = projectStream(contextStream);
+      d3.geo.stream(object, cacheStream);
+    }
     return contextStream.result();
   }
 
@@ -3797,126 +4380,325 @@ d3.geo.path = function() {
   };
 
   path.centroid = function(object) {
-    d3_geo_centroidDimension = d3_geo_centroidX = d3_geo_centroidY = d3_geo_centroidZ = 0;
+    d3_geo_centroidX0 = d3_geo_centroidY0 = d3_geo_centroidZ0 =
+    d3_geo_centroidX1 = d3_geo_centroidY1 = d3_geo_centroidZ1 =
+    d3_geo_centroidX2 = d3_geo_centroidY2 = d3_geo_centroidZ2 = 0;
     d3.geo.stream(object, projectStream(d3_geo_pathCentroid));
-    return d3_geo_centroidZ ? [d3_geo_centroidX / d3_geo_centroidZ, d3_geo_centroidY / d3_geo_centroidZ] : undefined;
+    return d3_geo_centroidZ2 ? [d3_geo_centroidX2 / d3_geo_centroidZ2, d3_geo_centroidY2 / d3_geo_centroidZ2]
+        : d3_geo_centroidZ1 ? [d3_geo_centroidX1 / d3_geo_centroidZ1, d3_geo_centroidY1 / d3_geo_centroidZ1]
+        : d3_geo_centroidZ0 ? [d3_geo_centroidX0 / d3_geo_centroidZ0, d3_geo_centroidY0 / d3_geo_centroidZ0]
+        : [NaN, NaN];
   };
 
   path.bounds = function(object) {
-    return d3_geo_bounds(projectStream)(object);
+    d3_geo_pathBoundsX1 = d3_geo_pathBoundsY1 = -(d3_geo_pathBoundsX0 = d3_geo_pathBoundsY0 = Infinity);
+    d3.geo.stream(object, projectStream(d3_geo_pathBounds));
+    return [[d3_geo_pathBoundsX0, d3_geo_pathBoundsY0], [d3_geo_pathBoundsX1, d3_geo_pathBoundsY1]];
   };
 
   path.projection = function(_) {
     if (!arguments.length) return projection;
     projectStream = (projection = _) ? _.stream || d3_geo_pathProjectStream(_) : d3_identity;
-    return path;
+    return reset();
   };
 
   path.context = function(_) {
     if (!arguments.length) return context;
     contextStream = (context = _) == null ? new d3_geo_pathBuffer : new d3_geo_pathContext(_);
-    return path;
+    if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius);
+    return reset();
   };
 
   path.pointRadius = function(_) {
     if (!arguments.length) return pointRadius;
-    pointRadius = typeof _ === "function" ? _ : +_;
+    pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_);
     return path;
   };
 
+  function reset() {
+    cacheStream = null;
+    return path;
+  }
+
   return path.projection(d3.geo.albersUsa()).context(null);
 };
 
-function d3_geo_pathCircle(radius) {
-  return "m0," + radius
-      + "a" + radius + "," + radius + " 0 1,1 0," + (-2 * radius)
-      + "a" + radius + "," + radius + " 0 1,1 0," + (+2 * radius)
-      + "z";
+function d3_geo_pathProjectStream(project) {
+  var resample = d3_geo_resample(function(x, y) { return project([x * d3_degrees, y * d3_degrees]); });
+  return function(stream) { return d3_geo_projectionRadians(resample(stream)); };
 }
 
-function d3_geo_pathProjectStream(project) {
-  var resample = d3_geo_resample(function(λ, φ) { return project([λ * d3_degrees, φ * d3_degrees]); });
-  return function(stream) {
-    stream = resample(stream);
-    return {
-      point: function(λ, φ) { stream.point(λ * d3_radians, φ * d3_radians); },
-      sphere: function() { stream.sphere(); },
-      lineStart: function() { stream.lineStart(); },
-      lineEnd: function() { stream.lineEnd(); },
-      polygonStart: function() { stream.polygonStart(); },
-      polygonEnd: function() { stream.polygonEnd(); }
-    };
+d3.geo.transform = function(methods) {
+  return {
+    stream: function(stream) {
+      var transform = new d3_geo_transform(stream);
+      for (var k in methods) transform[k] = methods[k];
+      return transform;
+    }
   };
+};
+
+function d3_geo_transform(stream) {
+  this.stream = stream;
 }
-d3.geom = {};
 
-d3.geom.polygon = function(coordinates) {
+d3_geo_transform.prototype = {
+  point: function(x, y) { this.stream.point(x, y); },
+  sphere: function() { this.stream.sphere(); },
+  lineStart: function() { this.stream.lineStart(); },
+  lineEnd: function() { this.stream.lineEnd(); },
+  polygonStart: function() { this.stream.polygonStart(); },
+  polygonEnd: function() { this.stream.polygonEnd(); }
+};
 
-  coordinates.area = function() {
-    var i = 0,
-        n = coordinates.length,
-        area = coordinates[n - 1][1] * coordinates[0][0] - coordinates[n - 1][0] * coordinates[0][1];
-    while (++i < n) {
-      area += coordinates[i - 1][1] * coordinates[i][0] - coordinates[i - 1][0] * coordinates[i][1];
-    }
-    return area * .5;
+function d3_geo_transformPoint(stream, point) {
+  return {
+    point: point,
+    sphere: function() { stream.sphere(); },
+    lineStart: function() { stream.lineStart(); },
+    lineEnd: function() { stream.lineEnd(); },
+    polygonStart: function() { stream.polygonStart(); },
+    polygonEnd: function() { stream.polygonEnd(); },
   };
+}
 
-  coordinates.centroid = function(k) {
-    var i = -1,
-        n = coordinates.length,
-        x = 0,
-        y = 0,
-        a,
-        b = coordinates[n - 1],
-        c;
-    if (!arguments.length) k = -1 / (6 * coordinates.area());
-    while (++i < n) {
-      a = b;
-      b = coordinates[i];
-      c = a[0] * b[1] - b[0] * a[1];
-      x += (a[0] + b[0]) * c;
-      y += (a[1] + b[1]) * c;
+d3.geo.projection = d3_geo_projection;
+d3.geo.projectionMutator = d3_geo_projectionMutator;
+
+function d3_geo_projection(project) {
+  return d3_geo_projectionMutator(function() { return project; })();
+}
+
+function d3_geo_projectionMutator(projectAt) {
+  var project,
+      rotate,
+      projectRotate,
+      projectResample = d3_geo_resample(function(x, y) { x = project(x, y); return [x[0] * k + δx, δy - x[1] * k]; }),
+      k = 150, // scale
+      x = 480, y = 250, // translate
+      λ = 0, φ = 0, // center
+      δλ = 0, δφ = 0, δγ = 0, // rotate
+      δx, δy, // center
+      preclip = d3_geo_clipAntimeridian,
+      postclip = d3_identity,
+      clipAngle = null,
+      clipExtent = null,
+      stream;
+
+  function projection(point) {
+    point = projectRotate(point[0] * d3_radians, point[1] * d3_radians);
+    return [point[0] * k + δx, δy - point[1] * k];
+  }
+
+  function invert(point) {
+    point = projectRotate.invert((point[0] - δx) / k, (δy - point[1]) / k);
+    return point && [point[0] * d3_degrees, point[1] * d3_degrees];
+  }
+
+  projection.stream = function(output) {
+    if (stream) stream.valid = false;
+    stream = d3_geo_projectionRadians(preclip(rotate, projectResample(postclip(output))));
+    stream.valid = true; // allow caching by d3.geo.path
+    return stream;
+  };
+
+  projection.clipAngle = function(_) {
+    if (!arguments.length) return clipAngle;
+    preclip = _ == null ? (clipAngle = _, d3_geo_clipAntimeridian) : d3_geo_clipCircle((clipAngle = +_) * d3_radians);
+    return invalidate();
+  };
+
+  projection.clipExtent = function(_) {
+    if (!arguments.length) return clipExtent;
+    clipExtent = _;
+    postclip = _ ? d3_geo_clipExtent(_[0][0], _[0][1], _[1][0], _[1][1]) : d3_identity;
+    return invalidate();
+  };
+
+  projection.scale = function(_) {
+    if (!arguments.length) return k;
+    k = +_;
+    return reset();
+  };
+
+  projection.translate = function(_) {
+    if (!arguments.length) return [x, y];
+    x = +_[0];
+    y = +_[1];
+    return reset();
+  };
+
+  projection.center = function(_) {
+    if (!arguments.length) return [λ * d3_degrees, φ * d3_degrees];
+    λ = _[0] % 360 * d3_radians;
+    φ = _[1] % 360 * d3_radians;
+    return reset();
+  };
+
+  projection.rotate = function(_) {
+    if (!arguments.length) return [δλ * d3_degrees, δφ * d3_degrees, δγ * d3_degrees];
+    δλ = _[0] % 360 * d3_radians;
+    δφ = _[1] % 360 * d3_radians;
+    δγ = _.length > 2 ? _[2] % 360 * d3_radians : 0;
+    return reset();
+  };
+
+  d3.rebind(projection, projectResample, "precision");
+
+  function reset() {
+    projectRotate = d3_geo_compose(rotate = d3_geo_rotation(δλ, δφ, δγ), project);
+    var center = project(λ, φ);
+    δx = x - center[0] * k;
+    δy = y + center[1] * k;
+    return invalidate();
+  }
+
+  function invalidate() {
+    if (stream) stream.valid = false, stream = null;
+    return projection;
+  }
+
+  return function() {
+    project = projectAt.apply(this, arguments);
+    projection.invert = project.invert && invert;
+    return reset();
+  };
+}
+
+function d3_geo_projectionRadians(stream) {
+  return d3_geo_transformPoint(stream, function(x, y) {
+    stream.point(x * d3_radians, y * d3_radians);
+  });
+}
+
+function d3_geo_mercator(λ, φ) {
+  return [λ, Math.log(Math.tan(π / 4 + φ / 2))];
+}
+
+d3_geo_mercator.invert = function(x, y) {
+  return [x, 2 * Math.atan(Math.exp(y)) - halfπ];
+};
+
+function d3_geo_mercatorProjection(project) {
+  var m = d3_geo_projection(project),
+      scale = m.scale,
+      translate = m.translate,
+      clipExtent = m.clipExtent,
+      clipAuto;
+
+  m.scale = function() {
+    var v = scale.apply(m, arguments);
+    return v === m ? (clipAuto ? m.clipExtent(null) : m) : v;
+  };
+
+  m.translate = function() {
+    var v = translate.apply(m, arguments);
+    return v === m ? (clipAuto ? m.clipExtent(null) : m) : v;
+  };
+
+  m.clipExtent = function(_) {
+    var v = clipExtent.apply(m, arguments);
+    if (v === m) {
+      if (clipAuto = _ == null) {
+        var k = π * scale(), t = translate();
+        clipExtent([[t[0] - k, t[1] - k], [t[0] + k, t[1] + k]]);
+      }
+    } else if (clipAuto) {
+      v = null;
     }
-    return [x * k, y * k];
+    return v;
   };
 
-  // The Sutherland-Hodgman clipping algorithm.
-  // Note: requires the clip polygon to be counterclockwise and convex.
-  coordinates.clip = function(subject) {
-    var input,
-        i = -1,
-        n = coordinates.length,
-        j,
-        m,
-        a = coordinates[n - 1],
-        b,
-        c,
-        d;
-    while (++i < n) {
-      input = subject.slice();
-      subject.length = 0;
-      b = coordinates[i];
-      c = input[(m = input.length) - 1];
-      j = -1;
-      while (++j < m) {
-        d = input[j];
-        if (d3_geom_polygonInside(d, a, b)) {
-          if (!d3_geom_polygonInside(c, a, b)) {
-            subject.push(d3_geom_polygonIntersect(c, d, a, b));
-          }
-          subject.push(d);
-        } else if (d3_geom_polygonInside(c, a, b)) {
+  return m.clipExtent(null);
+}
+
+(d3.geo.mercator = function() {
+  return d3_geo_mercatorProjection(d3_geo_mercator);
+}).raw = d3_geo_mercator;
+d3.geom = {};
+
+d3.geom.polygon = function(coordinates) {
+  d3_subclass(coordinates, d3_geom_polygonPrototype);
+  return coordinates;
+};
+
+var d3_geom_polygonPrototype = d3.geom.polygon.prototype = [];
+
+d3_geom_polygonPrototype.area = function() {
+  var i = -1,
+      n = this.length,
+      a,
+      b = this[n - 1],
+      area = 0;
+
+  while (++i < n) {
+    a = b;
+    b = this[i];
+    area += a[1] * b[0] - a[0] * b[1];
+  }
+
+  return area * .5;
+};
+
+d3_geom_polygonPrototype.centroid = function(k) {
+  var i = -1,
+      n = this.length,
+      x = 0,
+      y = 0,
+      a,
+      b = this[n - 1],
+      c;
+
+  if (!arguments.length) k = -1 / (6 * this.area());
+
+  while (++i < n) {
+    a = b;
+    b = this[i];
+    c = a[0] * b[1] - b[0] * a[1];
+    x += (a[0] + b[0]) * c;
+    y += (a[1] + b[1]) * c;
+  }
+
+  return [x * k, y * k];
+};
+
+// The Sutherland-Hodgman clipping algorithm.
+// Note: requires the clip polygon to be counterclockwise and convex.
+d3_geom_polygonPrototype.clip = function(subject) {
+  var input,
+      closed = d3_geom_polygonClosed(subject),
+      i = -1,
+      n = this.length - d3_geom_polygonClosed(this),
+      j,
+      m,
+      a = this[n - 1],
+      b,
+      c,
+      d;
+
+  while (++i < n) {
+    input = subject.slice();
+    subject.length = 0;
+    b = this[i];
+    c = input[(m = input.length - closed) - 1];
+    j = -1;
+    while (++j < m) {
+      d = input[j];
+      if (d3_geom_polygonInside(d, a, b)) {
+        if (!d3_geom_polygonInside(c, a, b)) {
           subject.push(d3_geom_polygonIntersect(c, d, a, b));
         }
-        c = d;
+        subject.push(d);
+      } else if (d3_geom_polygonInside(c, a, b)) {
+        subject.push(d3_geom_polygonIntersect(c, d, a, b));
       }
-      a = b;
+      c = d;
     }
-    return subject;
-  };
+    if (closed) subject.push(subject[0]);
+    a = b;
+  }
 
-  return coordinates;
+  return subject;
 };
 
 function d3_geom_polygonInside(p, a, b) {
@@ -3931,117 +4713,155 @@ function d3_geom_polygonIntersect(c, d, a, b) {
   return [x1 + ua * x21, y1 + ua * y21];
 }
 
-var d3_ease_default = function() { return d3_identity; };
+// Returns true if the polygon is closed.
+function d3_geom_polygonClosed(coordinates) {
+  var a = coordinates[0],
+      b = coordinates[coordinates.length - 1];
+  return !(a[0] - b[0] || a[1] - b[1]);
+}
+function d3_geom_pointX(d) {
+  return d[0];
+}
 
-var d3_ease = d3.map({
-  linear: d3_ease_default,
-  poly: d3_ease_poly,
-  quad: function() { return d3_ease_quad; },
-  cubic: function() { return d3_ease_cubic; },
-  sin: function() { return d3_ease_sin; },
-  exp: function() { return d3_ease_exp; },
-  circle: function() { return d3_ease_circle; },
-  elastic: d3_ease_elastic,
-  back: d3_ease_back,
-  bounce: function() { return d3_ease_bounce; }
-});
+function d3_geom_pointY(d) {
+  return d[1];
+}
 
-var d3_ease_mode = d3.map({
-  "in": d3_identity,
-  "out": d3_ease_reverse,
-  "in-out": d3_ease_reflect,
-  "out-in": function(f) { return d3_ease_reflect(d3_ease_reverse(f)); }
-});
+/**
+ * Computes the 2D convex hull of a set of points using the monotone chain
+ * algorithm:
+ * http://en.wikibooks.org/wiki/Algorithm_Implementation/Geometry/Convex_hull/Monotone_chain)
+ *
+ * The runtime of this algorithm is O(n log n), where n is the number of input
+ * points. However in practice it outperforms other O(n log n) hulls.
+ *
+ * @param vertices [[x1, y1], [x2, y2], ...]
+ * @returns polygon [[x1, y1], [x2, y2], ...]
+ */
+d3.geom.hull = function(vertices) {
+  var x = d3_geom_pointX,
+      y = d3_geom_pointY;
 
-d3.ease = function(name) {
-  var i = name.indexOf("-"),
-      t = i >= 0 ? name.substring(0, i) : name,
-      m = i >= 0 ? name.substring(i + 1) : "in";
-  t = d3_ease.get(t) || d3_ease_default;
-  m = d3_ease_mode.get(m) || d3_identity;
-  return d3_ease_clamp(m(t.apply(null, Array.prototype.slice.call(arguments, 1))));
-};
+  if (arguments.length) return hull(vertices);
 
-function d3_ease_clamp(f) {
-  return function(t) {
-    return t <= 0 ? 0 : t >= 1 ? 1 : f(t);
-  };
-}
+  function hull(data) {
+    // Hull of < 3 points is not well-defined
+    if (data.length < 3) return [];
 
-function d3_ease_reverse(f) {
-  return function(t) {
-    return 1 - f(1 - t);
+    var fx = d3_functor(x),
+        fy = d3_functor(y),
+        i,
+        n = data.length,
+        points = [], // of the form [[x0, y0, 0], ..., [xn, yn, n]]
+        flippedPoints = [];
+
+    for (i = 0 ; i < n; i++) {
+      points.push([+fx.call(this, data[i], i), +fy.call(this, data[i], i), i]);
+    }
+
+    // sort ascending by x-coord first, y-coord second
+    points.sort(d3_geom_hullOrder);
+
+    // we flip bottommost points across y axis so we can use the upper hull routine on both
+    for (i = 0; i < n; i++) flippedPoints.push([points[i][0], -points[i][1]]);
+
+    var upper = d3_geom_hullUpper(points),
+        lower = d3_geom_hullUpper(flippedPoints);
+
+    // construct the polygon, removing possible duplicate endpoints
+    var skipLeft = lower[0] === upper[0],
+        skipRight  = lower[lower.length - 1] === upper[upper.length - 1],
+        polygon = [];
+
+    // add upper hull in r->l order
+    // then add lower hull in l->r order
+    for (i = upper.length - 1; i >= 0; --i) polygon.push(data[points[upper[i]][2]]);
+    for (i = +skipLeft; i < lower.length - skipRight; ++i) polygon.push(data[points[lower[i]][2]]);
+
+    return polygon;
+  }
+
+  hull.x = function(_) {
+    return arguments.length ? (x = _, hull) : x;
   };
-}
 
-function d3_ease_reflect(f) {
-  return function(t) {
-    return .5 * (t < .5 ? f(2 * t) : (2 - f(2 - 2 * t)));
+  hull.y = function(_) {
+    return arguments.length ? (y = _, hull) : y;
   };
-}
 
-function d3_ease_quad(t) {
-  return t * t;
-}
+  return hull;
+};
 
-function d3_ease_cubic(t) {
-  return t * t * t;
-}
+// finds the 'upper convex hull' (see wiki link above)
+// assumes points arg has >=3 elements, is sorted by x, unique in y
+// returns array of indices into points in left to right order
+function d3_geom_hullUpper(points) {
+  var n = points.length,
+      hull = [0, 1],
+      hs = 2; // hull size
 
-// Optimized clamp(reflect(poly(3))).
-function d3_ease_cubicInOut(t) {
-  if (t <= 0) return 0;
-  if (t >= 1) return 1;
-  var t2 = t * t, t3 = t2 * t;
-  return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);
-}
+  for (var i = 2; i < n; i++) {
+    while (hs > 1 && d3_cross2d(points[hull[hs-2]], points[hull[hs-1]], points[i]) <= 0) --hs;
+    hull[hs++] = i;
+  }
 
-function d3_ease_poly(e) {
-  return function(t) {
-    return Math.pow(t, e);
-  };
+  // we slice to make sure that the points we 'popped' from hull don't stay behind
+  return hull.slice(0, hs);
 }
 
-function d3_ease_sin(t) {
-  return 1 - Math.cos(t * π / 2);
+// comparator for ascending sort by x-coord first, y-coord second
+function d3_geom_hullOrder(a, b) {
+  return a[0] - b[0] || a[1] - b[1];
 }
+// import "../transition/transition";
 
-function d3_ease_exp(t) {
-  return Math.pow(2, 10 * (t - 1));
-}
+d3_selectionPrototype.transition = function(name) {
+  var id = d3_transitionInheritId || ++d3_transitionId,
+      ns = d3_transitionNamespace(name),
+      subgroups = [],
+      subgroup,
+      node,
+      transition = d3_transitionInherit || {time: Date.now(), ease: d3_ease_cubicInOut, delay: 0, duration: 250};
 
-function d3_ease_circle(t) {
-  return 1 - Math.sqrt(1 - t * t);
-}
+  for (var j = -1, m = this.length; ++j < m;) {
+    subgroups.push(subgroup = []);
+    for (var group = this[j], i = -1, n = group.length; ++i < n;) {
+      if (node = group[i]) d3_transitionNode(node, i, ns, id, transition);
+      subgroup.push(node);
+    }
+  }
 
-function d3_ease_elastic(a, p) {
-  var s;
-  if (arguments.length < 2) p = 0.45;
-  if (arguments.length) s = p / (2 * π) * Math.asin(1 / a);
-  else a = 1, s = p / 4;
-  return function(t) {
-    return 1 + a * Math.pow(2, 10 * -t) * Math.sin((t - s) * 2 * π / p);
-  };
-}
+  return d3_transition(subgroups, ns, id);
+};
+// import "../transition/transition";
 
-function d3_ease_back(s) {
-  if (!s) s = 1.70158;
-  return function(t) {
-    return t * t * ((s + 1) * t - s);
-  };
-}
+// TODO Interrupt transitions for all namespaces?
+d3_selectionPrototype.interrupt = function(name) {
+  return this.each(name == null
+      ? d3_selection_interrupt
+      : d3_selection_interruptNS(d3_transitionNamespace(name)));
+};
 
-function d3_ease_bounce(t) {
-  return t < 1 / 2.75 ? 7.5625 * t * t
-      : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75
-      : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375
-      : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;
+var d3_selection_interrupt = d3_selection_interruptNS(d3_transitionNamespace());
+
+function d3_selection_interruptNS(ns) {
+  return function() {
+    var lock, active;
+    if ((lock = this[ns]) && (active = lock[lock.active])) {
+      if (--lock.count) delete lock[lock.active];
+      else delete this[ns];
+      lock.active += .5;
+      active.event && active.event.interrupt.call(this, this.__data__, active.index);
+    }
+  };
 }
 
-function d3_transition(groups, id) {
-  d3_arraySubclass(groups, d3_transitionPrototype);
+function d3_transition(groups, ns, id) {
+  d3_subclass(groups, d3_transitionPrototype);
 
-  groups.id = id; // Note: read-only!
+  // Note: read-only!
+  groups.namespace = ns;
+  groups.id = id;
 
   return groups;
 }
@@ -4049,16 +4869,17 @@ function d3_transition(groups, id) {
 var d3_transitionPrototype = [],
     d3_transitionId = 0,
     d3_transitionInheritId,
-    d3_transitionInherit = {ease: d3_ease_cubicInOut, delay: 0, duration: 250};
+    d3_transitionInherit;
 
 d3_transitionPrototype.call = d3_selectionPrototype.call;
 d3_transitionPrototype.empty = d3_selectionPrototype.empty;
 d3_transitionPrototype.node = d3_selectionPrototype.node;
+d3_transitionPrototype.size = d3_selectionPrototype.size;
 
-d3.transition = function(selection) {
-  return arguments.length
-      ? (d3_transitionInheritId ? selection.transition() : selection)
-      : d3_selectionRoot.transition();
+d3.transition = function(selection, name) {
+  return selection && selection.transition
+      ? (d3_transitionInheritId ? selection.transition(name) : selection)
+      : d3.selection().transition(selection);
 };
 
 d3.transition.prototype = d3_transitionPrototype;
@@ -4066,19 +4887,20 @@ d3.transition.prototype = d3_transitionPrototype;
 
 d3_transitionPrototype.select = function(selector) {
   var id = this.id,
+      ns = this.namespace,
       subgroups = [],
       subgroup,
       subnode,
       node;
 
-  if (typeof selector !== "function") selector = d3_selection_selector(selector);
+  selector = d3_selection_selector(selector);
 
   for (var j = -1, m = this.length; ++j < m;) {
     subgroups.push(subgroup = []);
     for (var group = this[j], i = -1, n = group.length; ++i < n;) {
-      if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i))) {
+      if ((node = group[i]) && (subnode = selector.call(node, node.__data__, i, j))) {
         if ("__data__" in node) subnode.__data__ = node.__data__;
-        d3_transitionNode(subnode, i, id, node.__transition__[id]);
+        d3_transitionNode(subnode, i, ns, id, node[ns][id]);
         subgroup.push(subnode);
       } else {
         subgroup.push(null);
@@ -4086,11 +4908,12 @@ d3_transitionPrototype.select = function(selector) {
     }
   }
 
-  return d3_transition(subgroups, id);
+  return d3_transition(subgroups, ns, id);
 };
 
 d3_transitionPrototype.selectAll = function(selector) {
   var id = this.id,
+      ns = this.namespace,
       subgroups = [],
       subgroup,
       subnodes,
@@ -4098,23 +4921,23 @@ d3_transitionPrototype.selectAll = function(selector) {
       subnode,
       transition;
 
-  if (typeof selector !== "function") selector = d3_selection_selectorAll(selector);
+  selector = d3_selection_selectorAll(selector);
 
   for (var j = -1, m = this.length; ++j < m;) {
     for (var group = this[j], i = -1, n = group.length; ++i < n;) {
       if (node = group[i]) {
-        transition = node.__transition__[id];
-        subnodes = selector.call(node, node.__data__, i);
+        transition = node[ns][id];
+        subnodes = selector.call(node, node.__data__, i, j);
         subgroups.push(subgroup = []);
         for (var k = -1, o = subnodes.length; ++k < o;) {
-          d3_transitionNode(subnode = subnodes[k], k, id, transition);
+          if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition);
           subgroup.push(subnode);
         }
       }
     }
   }
 
-  return d3_transition(subgroups, id);
+  return d3_transition(subgroups, ns, id);
 };
 
 d3_transitionPrototype.filter = function(filter) {
@@ -4128,47 +4951,41 @@ d3_transitionPrototype.filter = function(filter) {
   for (var j = 0, m = this.length; j < m; j++) {
     subgroups.push(subgroup = []);
     for (var group = this[j], i = 0, n = group.length; i < n; i++) {
-      if ((node = group[i]) && filter.call(node, node.__data__, i)) {
+      if ((node = group[i]) && filter.call(node, node.__data__, i, j)) {
         subgroup.push(node);
       }
     }
   }
 
-  return d3_transition(subgroups, this.id, this.time).ease(this.ease());
+  return d3_transition(subgroups, this.namespace, this.id);
 };
-function d3_Color() {}
+d3.color = d3_color;
 
-d3_Color.prototype.toString = function() {
+function d3_color() {}
+
+d3_color.prototype.toString = function() {
   return this.rgb() + "";
 };
 
-d3.hsl = function(h, s, l) {
-  return arguments.length === 1
-      ? (h instanceof d3_Hsl ? d3_hsl(h.h, h.s, h.l)
-      : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl))
-      : d3_hsl(+h, +s, +l);
-};
+d3.hsl = d3_hsl;
 
 function d3_hsl(h, s, l) {
-  return new d3_Hsl(h, s, l);
-}
-
-function d3_Hsl(h, s, l) {
-  this.h = h;
-  this.s = s;
-  this.l = l;
+  return this instanceof d3_hsl ? void (this.h = +h, this.s = +s, this.l = +l)
+      : arguments.length < 2 ? (h instanceof d3_hsl ? new d3_hsl(h.h, h.s, h.l)
+      : d3_rgb_parse("" + h, d3_rgb_hsl, d3_hsl))
+      : new d3_hsl(h, s, l);
 }
 
-var d3_hslPrototype = d3_Hsl.prototype = new d3_Color;
+var d3_hslPrototype = d3_hsl.prototype = new d3_color;
 
 d3_hslPrototype.brighter = function(k) {
   k = Math.pow(0.7, arguments.length ? k : 1);
-  return d3_hsl(this.h, this.s, this.l / k);
+  return new d3_hsl(this.h, this.s, this.l / k);
 };
 
 d3_hslPrototype.darker = function(k) {
   k = Math.pow(0.7, arguments.length ? k : 1);
-  return d3_hsl(this.h, this.s, k * this.l);
+  return new d3_hsl(this.h, this.s, k * this.l);
 };
 
 d3_hslPrototype.rgb = function() {
@@ -4180,8 +4997,8 @@ function d3_hsl_rgb(h, s, l) {
       m2;
 
   /* Some simple corrections for h, s and l. */
-  h = h % 360; if (h < 0) h += 360;
-  s = s < 0 ? 0 : s > 1 ? 1 : s;
+  h = isNaN(h) ? 0 : (h %= 360) < 0 ? h + 360 : h;
+  s = isNaN(s) ? 0 : s < 0 ? 0 : s > 1 ? 1 : s;
   l = l < 0 ? 0 : l > 1 ? 1 : l;
 
   /* From FvD 13.37, CSS Color Module Level 3 */
@@ -4201,35 +5018,27 @@ function d3_hsl_rgb(h, s, l) {
     return Math.round(v(h) * 255);
   }
 
-  return d3_rgb(vv(h + 120), vv(h), vv(h - 120));
+  return new d3_rgb(vv(h + 120), vv(h), vv(h - 120));
 }
 
-d3.hcl = function(h, c, l) {
-  return arguments.length === 1
-      ? (h instanceof d3_Hcl ? d3_hcl(h.h, h.c, h.l)
-      : (h instanceof d3_Lab ? d3_lab_hcl(h.l, h.a, h.b)
-      : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b)))
-      : d3_hcl(+h, +c, +l);
-};
+d3.hcl = d3_hcl;
 
 function d3_hcl(h, c, l) {
-  return new d3_Hcl(h, c, l);
-}
-
-function d3_Hcl(h, c, l) {
-  this.h = h;
-  this.c = c;
-  this.l = l;
+  return this instanceof d3_hcl ? void (this.h = +h, this.c = +c, this.l = +l)
+      : arguments.length < 2 ? (h instanceof d3_hcl ? new d3_hcl(h.h, h.c, h.l)
+      : (h instanceof d3_lab ? d3_lab_hcl(h.l, h.a, h.b)
+      : d3_lab_hcl((h = d3_rgb_lab((h = d3.rgb(h)).r, h.g, h.b)).l, h.a, h.b)))
+      : new d3_hcl(h, c, l);
 }
 
-var d3_hclPrototype = d3_Hcl.prototype = new d3_Color;
+var d3_hclPrototype = d3_hcl.prototype = new d3_color;
 
 d3_hclPrototype.brighter = function(k) {
-  return d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));
+  return new d3_hcl(this.h, this.c, Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)));
 };
 
 d3_hclPrototype.darker = function(k) {
-  return d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));
+  return new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));
 };
 
 d3_hclPrototype.rgb = function() {
@@ -4237,25 +5046,19 @@ d3_hclPrototype.rgb = function() {
 };
 
 function d3_hcl_lab(h, c, l) {
-  return d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);
+  if (isNaN(h)) h = 0;
+  if (isNaN(c)) c = 0;
+  return new d3_lab(l, Math.cos(h *= d3_radians) * c, Math.sin(h) * c);
 }
 
-d3.lab = function(l, a, b) {
-  return arguments.length === 1
-      ? (l instanceof d3_Lab ? d3_lab(l.l, l.a, l.b)
-      : (l instanceof d3_Hcl ? d3_hcl_lab(l.l, l.c, l.h)
-      : d3_rgb_lab((l = d3.rgb(l)).r, l.g, l.b)))
-      : d3_lab(+l, +a, +b);
-};
+d3.lab = d3_lab;
 
 function d3_lab(l, a, b) {
-  return new d3_Lab(l, a, b);
-}
-
-function d3_Lab(l, a, b) {
-  this.l = l;
-  this.a = a;
-  this.b = b;
+  return this instanceof d3_lab ? void (this.l = +l, this.a = +a, this.b = +b)
+      : arguments.length < 2 ? (l instanceof d3_lab ? new d3_lab(l.l, l.a, l.b)
+      : (l instanceof d3_hcl ? d3_hcl_lab(l.h, l.c, l.l)
+      : d3_rgb_lab((l = d3_rgb(l)).r, l.g, l.b)))
+      : new d3_lab(l, a, b);
 }
 
 // Corresponds roughly to RGB brighter/darker
@@ -4266,14 +5069,14 @@ var d3_lab_X = 0.950470,
     d3_lab_Y = 1,
     d3_lab_Z = 1.088830;
 
-var d3_labPrototype = d3_Lab.prototype = new d3_Color;
+var d3_labPrototype = d3_lab.prototype = new d3_color;
 
 d3_labPrototype.brighter = function(k) {
-  return d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
+  return new d3_lab(Math.min(100, this.l + d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
 };
 
 d3_labPrototype.darker = function(k) {
-  return d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
+  return new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
 };
 
 d3_labPrototype.rgb = function() {
@@ -4287,7 +5090,7 @@ function d3_lab_rgb(l, a, b) {
   x = d3_lab_xyz(x) * d3_lab_X;
   y = d3_lab_xyz(y) * d3_lab_Y;
   z = d3_lab_xyz(z) * d3_lab_Z;
-  return d3_rgb(
+  return new d3_rgb(
     d3_xyz_rgb( 3.2404542 * x - 1.5371385 * y - 0.4985314 * z),
     d3_xyz_rgb(-0.9692660 * x + 1.8760108 * y + 0.0415560 * z),
     d3_xyz_rgb( 0.0556434 * x - 0.2040259 * y + 1.0572252 * z)
@@ -4295,7 +5098,9 @@ function d3_lab_rgb(l, a, b) {
 }
 
 function d3_lab_hcl(l, a, b) {
-  return d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l);
+  return l > 0
+      ? new d3_hcl(Math.atan2(b, a) * d3_degrees, Math.sqrt(a * a + b * b), l)
+      : new d3_hcl(NaN, NaN, l);
 }
 
 function d3_lab_xyz(x) {
@@ -4309,24 +5114,24 @@ function d3_xyz_rgb(r) {
   return Math.round(255 * (r <= 0.00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - 0.055));
 }
 
-d3.rgb = function(r, g, b) {
-  return arguments.length === 1
-      ? (r instanceof d3_Rgb ? d3_rgb(r.r, r.g, r.b)
-      : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb))
-      : d3_rgb(~~r, ~~g, ~~b);
-};
+d3.rgb = d3_rgb;
 
 function d3_rgb(r, g, b) {
-  return new d3_Rgb(r, g, b);
+  return this instanceof d3_rgb ? void (this.r = ~~r, this.g = ~~g, this.b = ~~b)
+      : arguments.length < 2 ? (r instanceof d3_rgb ? new d3_rgb(r.r, r.g, r.b)
+      : d3_rgb_parse("" + r, d3_rgb, d3_hsl_rgb))
+      : new d3_rgb(r, g, b);
+}
+
+function d3_rgbNumber(value) {
+  return new d3_rgb(value >> 16, value >> 8 & 0xff, value & 0xff);
 }
 
-function d3_Rgb(r, g, b) {
-  this.r = r;
-  this.g = g;
-  this.b = b;
+function d3_rgbString(value) {
+  return d3_rgbNumber(value) + "";
 }
 
-var d3_rgbPrototype = d3_Rgb.prototype = new d3_Color;
+var d3_rgbPrototype = d3_rgb.prototype = new d3_color;
 
 d3_rgbPrototype.brighter = function(k) {
   k = Math.pow(0.7, arguments.length ? k : 1);
@@ -4334,22 +5139,16 @@ d3_rgbPrototype.brighter = function(k) {
       g = this.g,
       b = this.b,
       i = 30;
-  if (!r && !g && !b) return d3_rgb(i, i, i);
+  if (!r && !g && !b) return new d3_rgb(i, i, i);
   if (r && r < i) r = i;
   if (g && g < i) g = i;
   if (b && b < i) b = i;
-  return d3_rgb(
-      Math.min(255, Math.floor(r / k)),
-      Math.min(255, Math.floor(g / k)),
-      Math.min(255, Math.floor(b / k)));
+  return new d3_rgb(Math.min(255, r / k), Math.min(255, g / k), Math.min(255, b / k));
 };
 
 d3_rgbPrototype.darker = function(k) {
   k = Math.pow(0.7, arguments.length ? k : 1);
-  return d3_rgb(
-      Math.floor(k * this.r),
-      Math.floor(k * this.g),
-      Math.floor(k * this.b));
+  return new d3_rgb(k * this.r, k * this.g, k * this.b);
 };
 
 d3_rgbPrototype.hsl = function() {
@@ -4372,7 +5171,7 @@ function d3_rgb_parse(format, rgb, hsl) {
       b = 0, // blue channel; int in [0, 255]
       m1, // CSS color specification match
       m2, // CSS color specification type (e.g., rgb)
-      name;
+      color;
 
   /* Handle hsl, rgb. */
   m1 = /([a-z]+)\((.*)\)/i.exec(format);
@@ -4397,22 +5196,21 @@ function d3_rgb_parse(format, rgb, hsl) {
   }
 
   /* Named colors. */
-  if (name = d3_rgb_names.get(format)) return rgb(name.r, name.g, name.b);
+  if (color = d3_rgb_names.get(format.toLowerCase())) {
+    return rgb(color.r, color.g, color.b);
+  }
 
   /* Hexadecimal colors: #rgb and #rrggbb. */
-  if (format != null && format.charAt(0) === "#") {
+  if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) {
     if (format.length === 4) {
-      r = format.charAt(1); r += r;
-      g = format.charAt(2); g += g;
-      b = format.charAt(3); b += b;
+      r = (color & 0xf00) >> 4; r = (r >> 4) | r;
+      g = (color & 0xf0); g = (g >> 4) | g;
+      b = (color & 0xf); b = (b << 4) | b;
     } else if (format.length === 7) {
-      r = format.substring(1, 3);
-      g = format.substring(3, 5);
-      b = format.substring(5, 7);
+      r = (color & 0xff0000) >> 16;
+      g = (color & 0xff00) >> 8;
+      b = (color & 0xff);
     }
-    r = parseInt(r, 16);
-    g = parseInt(g, 16);
-    b = parseInt(b, 16);
   }
 
   return rgb(r, g, b);
@@ -4432,9 +5230,10 @@ function d3_rgb_hsl(r, g, b) {
     else h = (r - g) / d + 4;
     h *= 60;
   } else {
-    s = h = 0;
+    h = NaN;
+    s = l > 0 && l < 1 ? 0 : h;
   }
-  return d3_hsl(h, s, l);
+  return new d3_hsl(h, s, l);
 }
 
 function d3_rgb_lab(r, g, b) {
@@ -4457,157 +5256,158 @@ function d3_rgb_parseNumber(c) { // either integer or percentage
 }
 
 var d3_rgb_names = d3.map({
-  aliceblue: "#f0f8ff",
-  antiquewhite: "#faebd7",
-  aqua: "#00ffff",
-  aquamarine: "#7fffd4",
-  azure: "#f0ffff",
-  beige: "#f5f5dc",
-  bisque: "#ffe4c4",
-  black: "#000000",
-  blanchedalmond: "#ffebcd",
-  blue: "#0000ff",
-  blueviolet: "#8a2be2",
-  brown: "#a52a2a",
-  burlywood: "#deb887",
-  cadetblue: "#5f9ea0",
-  chartreuse: "#7fff00",
-  chocolate: "#d2691e",
-  coral: "#ff7f50",
-  cornflowerblue: "#6495ed",
-  cornsilk: "#fff8dc",
-  crimson: "#dc143c",
-  cyan: "#00ffff",
-  darkblue: "#00008b",
-  darkcyan: "#008b8b",
-  darkgoldenrod: "#b8860b",
-  darkgray: "#a9a9a9",
-  darkgreen: "#006400",
-  darkgrey: "#a9a9a9",
-  darkkhaki: "#bdb76b",
-  darkmagenta: "#8b008b",
-  darkolivegreen: "#556b2f",
-  darkorange: "#ff8c00",
-  darkorchid: "#9932cc",
-  darkred: "#8b0000",
-  darksalmon: "#e9967a",
-  darkseagreen: "#8fbc8f",
-  darkslateblue: "#483d8b",
-  darkslategray: "#2f4f4f",
-  darkslategrey: "#2f4f4f",
-  darkturquoise: "#00ced1",
-  darkviolet: "#9400d3",
-  deeppink: "#ff1493",
-  deepskyblue: "#00bfff",
-  dimgray: "#696969",
-  dimgrey: "#696969",
-  dodgerblue: "#1e90ff",
-  firebrick: "#b22222",
-  floralwhite: "#fffaf0",
-  forestgreen: "#228b22",
-  fuchsia: "#ff00ff",
-  gainsboro: "#dcdcdc",
-  ghostwhite: "#f8f8ff",
-  gold: "#ffd700",
-  goldenrod: "#daa520",
-  gray: "#808080",
-  green: "#008000",
-  greenyellow: "#adff2f",
-  grey: "#808080",
-  honeydew: "#f0fff0",
-  hotpink: "#ff69b4",
-  indianred: "#cd5c5c",
-  indigo: "#4b0082",
-  ivory: "#fffff0",
-  khaki: "#f0e68c",
-  lavender: "#e6e6fa",
-  lavenderblush: "#fff0f5",
-  lawngreen: "#7cfc00",
-  lemonchiffon: "#fffacd",
-  lightblue: "#add8e6",
-  lightcoral: "#f08080",
-  lightcyan: "#e0ffff",
-  lightgoldenrodyellow: "#fafad2",
-  lightgray: "#d3d3d3",
-  lightgreen: "#90ee90",
-  lightgrey: "#d3d3d3",
-  lightpink: "#ffb6c1",
-  lightsalmon: "#ffa07a",
-  lightseagreen: "#20b2aa",
-  lightskyblue: "#87cefa",
-  lightslategray: "#778899",
-  lightslategrey: "#778899",
-  lightsteelblue: "#b0c4de",
-  lightyellow: "#ffffe0",
-  lime: "#00ff00",
-  limegreen: "#32cd32",
-  linen: "#faf0e6",
-  magenta: "#ff00ff",
-  maroon: "#800000",
-  mediumaquamarine: "#66cdaa",
-  mediumblue: "#0000cd",
-  mediumorchid: "#ba55d3",
-  mediumpurple: "#9370db",
-  mediumseagreen: "#3cb371",
-  mediumslateblue: "#7b68ee",
-  mediumspringgreen: "#00fa9a",
-  mediumturquoise: "#48d1cc",
-  mediumvioletred: "#c71585",
-  midnightblue: "#191970",
-  mintcream: "#f5fffa",
-  mistyrose: "#ffe4e1",
-  moccasin: "#ffe4b5",
-  navajowhite: "#ffdead",
-  navy: "#000080",
-  oldlace: "#fdf5e6",
-  olive: "#808000",
-  olivedrab: "#6b8e23",
-  orange: "#ffa500",
-  orangered: "#ff4500",
-  orchid: "#da70d6",
-  palegoldenrod: "#eee8aa",
-  palegreen: "#98fb98",
-  paleturquoise: "#afeeee",
-  palevioletred: "#db7093",
-  papayawhip: "#ffefd5",
-  peachpuff: "#ffdab9",
-  peru: "#cd853f",
-  pink: "#ffc0cb",
-  plum: "#dda0dd",
-  powderblue: "#b0e0e6",
-  purple: "#800080",
-  red: "#ff0000",
-  rosybrown: "#bc8f8f",
-  royalblue: "#4169e1",
-  saddlebrown: "#8b4513",
-  salmon: "#fa8072",
-  sandybrown: "#f4a460",
-  seagreen: "#2e8b57",
-  seashell: "#fff5ee",
-  sienna: "#a0522d",
-  silver: "#c0c0c0",
-  skyblue: "#87ceeb",
-  slateblue: "#6a5acd",
-  slategray: "#708090",
-  slategrey: "#708090",
-  snow: "#fffafa",
-  springgreen: "#00ff7f",
-  steelblue: "#4682b4",
-  tan: "#d2b48c",
-  teal: "#008080",
-  thistle: "#d8bfd8",
-  tomato: "#ff6347",
-  turquoise: "#40e0d0",
-  violet: "#ee82ee",
-  wheat: "#f5deb3",
-  white: "#ffffff",
-  whitesmoke: "#f5f5f5",
-  yellow: "#ffff00",
-  yellowgreen: "#9acd32"
+  aliceblue: 0xf0f8ff,
+  antiquewhite: 0xfaebd7,
+  aqua: 0x00ffff,
+  aquamarine: 0x7fffd4,
+  azure: 0xf0ffff,
+  beige: 0xf5f5dc,
+  bisque: 0xffe4c4,
+  black: 0x000000,
+  blanchedalmond: 0xffebcd,
+  blue: 0x0000ff,
+  blueviolet: 0x8a2be2,
+  brown: 0xa52a2a,
+  burlywood: 0xdeb887,
+  cadetblue: 0x5f9ea0,
+  chartreuse: 0x7fff00,
+  chocolate: 0xd2691e,
+  coral: 0xff7f50,
+  cornflowerblue: 0x6495ed,
+  cornsilk: 0xfff8dc,
+  crimson: 0xdc143c,
+  cyan: 0x00ffff,
+  darkblue: 0x00008b,
+  darkcyan: 0x008b8b,
+  darkgoldenrod: 0xb8860b,
+  darkgray: 0xa9a9a9,
+  darkgreen: 0x006400,
+  darkgrey: 0xa9a9a9,
+  darkkhaki: 0xbdb76b,
+  darkmagenta: 0x8b008b,
+  darkolivegreen: 0x556b2f,
+  darkorange: 0xff8c00,
+  darkorchid: 0x9932cc,
+  darkred: 0x8b0000,
+  darksalmon: 0xe9967a,
+  darkseagreen: 0x8fbc8f,
+  darkslateblue: 0x483d8b,
+  darkslategray: 0x2f4f4f,
+  darkslategrey: 0x2f4f4f,
+  darkturquoise: 0x00ced1,
+  darkviolet: 0x9400d3,
+  deeppink: 0xff1493,
+  deepskyblue: 0x00bfff,
+  dimgray: 0x696969,
+  dimgrey: 0x696969,
+  dodgerblue: 0x1e90ff,
+  firebrick: 0xb22222,
+  floralwhite: 0xfffaf0,
+  forestgreen: 0x228b22,
+  fuchsia: 0xff00ff,
+  gainsboro: 0xdcdcdc,
+  ghostwhite: 0xf8f8ff,
+  gold: 0xffd700,
+  goldenrod: 0xdaa520,
+  gray: 0x808080,
+  green: 0x008000,
+  greenyellow: 0xadff2f,
+  grey: 0x808080,
+  honeydew: 0xf0fff0,
+  hotpink: 0xff69b4,
+  indianred: 0xcd5c5c,
+  indigo: 0x4b0082,
+  ivory: 0xfffff0,
+  khaki: 0xf0e68c,
+  lavender: 0xe6e6fa,
+  lavenderblush: 0xfff0f5,
+  lawngreen: 0x7cfc00,
+  lemonchiffon: 0xfffacd,
+  lightblue: 0xadd8e6,
+  lightcoral: 0xf08080,
+  lightcyan: 0xe0ffff,
+  lightgoldenrodyellow: 0xfafad2,
+  lightgray: 0xd3d3d3,
+  lightgreen: 0x90ee90,
+  lightgrey: 0xd3d3d3,
+  lightpink: 0xffb6c1,
+  lightsalmon: 0xffa07a,
+  lightseagreen: 0x20b2aa,
+  lightskyblue: 0x87cefa,
+  lightslategray: 0x778899,
+  lightslategrey: 0x778899,
+  lightsteelblue: 0xb0c4de,
+  lightyellow: 0xffffe0,
+  lime: 0x00ff00,
+  limegreen: 0x32cd32,
+  linen: 0xfaf0e6,
+  magenta: 0xff00ff,
+  maroon: 0x800000,
+  mediumaquamarine: 0x66cdaa,
+  mediumblue: 0x0000cd,
+  mediumorchid: 0xba55d3,
+  mediumpurple: 0x9370db,
+  mediumseagreen: 0x3cb371,
+  mediumslateblue: 0x7b68ee,
+  mediumspringgreen: 0x00fa9a,
+  mediumturquoise: 0x48d1cc,
+  mediumvioletred: 0xc71585,
+  midnightblue: 0x191970,
+  mintcream: 0xf5fffa,
+  mistyrose: 0xffe4e1,
+  moccasin: 0xffe4b5,
+  navajowhite: 0xffdead,
+  navy: 0x000080,
+  oldlace: 0xfdf5e6,
+  olive: 0x808000,
+  olivedrab: 0x6b8e23,
+  orange: 0xffa500,
+  orangered: 0xff4500,
+  orchid: 0xda70d6,
+  palegoldenrod: 0xeee8aa,
+  palegreen: 0x98fb98,
+  paleturquoise: 0xafeeee,
+  palevioletred: 0xdb7093,
+  papayawhip: 0xffefd5,
+  peachpuff: 0xffdab9,
+  peru: 0xcd853f,
+  pink: 0xffc0cb,
+  plum: 0xdda0dd,
+  powderblue: 0xb0e0e6,
+  purple: 0x800080,
+  rebeccapurple: 0x663399,
+  red: 0xff0000,
+  rosybrown: 0xbc8f8f,
+  royalblue: 0x4169e1,
+  saddlebrown: 0x8b4513,
+  salmon: 0xfa8072,
+  sandybrown: 0xf4a460,
+  seagreen: 0x2e8b57,
+  seashell: 0xfff5ee,
+  sienna: 0xa0522d,
+  silver: 0xc0c0c0,
+  skyblue: 0x87ceeb,
+  slateblue: 0x6a5acd,
+  slategray: 0x708090,
+  slategrey: 0x708090,
+  snow: 0xfffafa,
+  springgreen: 0x00ff7f,
+  steelblue: 0x4682b4,
+  tan: 0xd2b48c,
+  teal: 0x008080,
+  thistle: 0xd8bfd8,
+  tomato: 0xff6347,
+  turquoise: 0x40e0d0,
+  violet: 0xee82ee,
+  wheat: 0xf5deb3,
+  white: 0xffffff,
+  whitesmoke: 0xf5f5f5,
+  yellow: 0xffff00,
+  yellowgreen: 0x9acd32
 });
 
 d3_rgb_names.forEach(function(key, value) {
-  d3_rgb_names.set(key, d3_rgb_parse(value, d3_rgb, d3_hsl_rgb));
+  d3_rgb_names.set(key, d3_rgbNumber(value));
 });
 
 d3.interpolateRgb = d3_interpolateRgb;
@@ -4629,11 +5429,133 @@ function d3_interpolateRgb(a, b) {
   };
 }
 
-d3.transform = function(string) {
-  var g = d3_document.createElementNS(d3.ns.prefix.svg, "g");
+d3.interpolateObject = d3_interpolateObject;
+
+function d3_interpolateObject(a, b) {
+  var i = {},
+      c = {},
+      k;
+  for (k in a) {
+    if (k in b) {
+      i[k] = d3_interpolate(a[k], b[k]);
+    } else {
+      c[k] = a[k];
+    }
+  }
+  for (k in b) {
+    if (!(k in a)) {
+      c[k] = b[k];
+    }
+  }
+  return function(t) {
+    for (k in i) c[k] = i[k](t);
+    return c;
+  };
+}
+
+d3.interpolateArray = d3_interpolateArray;
+
+function d3_interpolateArray(a, b) {
+  var x = [],
+      c = [],
+      na = a.length,
+      nb = b.length,
+      n0 = Math.min(a.length, b.length),
+      i;
+  for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));
+  for (; i < na; ++i) c[i] = a[i];
+  for (; i < nb; ++i) c[i] = b[i];
+  return function(t) {
+    for (i = 0; i < n0; ++i) c[i] = x[i](t);
+    return c;
+  };
+}
+d3.interpolateNumber = d3_interpolateNumber;
+
+function d3_interpolateNumber(a, b) {
+  a = +a, b = +b;
+  return function(t) { return a * (1 - t) + b * t; };
+}
+
+d3.interpolateString = d3_interpolateString;
+
+function d3_interpolateString(a, b) {
+  var bi = d3_interpolate_numberA.lastIndex = d3_interpolate_numberB.lastIndex = 0, // scan index for next number in b
+      am, // current match in a
+      bm, // current match in b
+      bs, // string preceding current number in b, if any
+      i = -1, // index in s
+      s = [], // string constants and placeholders
+      q = []; // number interpolators
+
+  // Coerce inputs to strings.
+  a = a + "", b = b + "";
+
+  // Interpolate pairs of numbers in a & b.
+  while ((am = d3_interpolate_numberA.exec(a))
+      && (bm = d3_interpolate_numberB.exec(b))) {
+    if ((bs = bm.index) > bi) { // a string precedes the next number in b
+      bs = b.slice(bi, bs);
+      if (s[i]) s[i] += bs; // coalesce with previous string
+      else s[++i] = bs;
+    }
+    if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match
+      if (s[i]) s[i] += bm; // coalesce with previous string
+      else s[++i] = bm;
+    } else { // interpolate non-matching numbers
+      s[++i] = null;
+      q.push({i: i, x: d3_interpolateNumber(am, bm)});
+    }
+    bi = d3_interpolate_numberB.lastIndex;
+  }
+
+  // Add remains of b.
+  if (bi < b.length) {
+    bs = b.slice(bi);
+    if (s[i]) s[i] += bs; // coalesce with previous string
+    else s[++i] = bs;
+  }
+
+  // Special optimization for only a single match.
+  // Otherwise, interpolate each of the numbers and rejoin the string.
+  return s.length < 2
+      ? (q[0] ? (b = q[0].x, function(t) { return b(t) + ""; })
+      : function() { return b; })
+      : (b = q.length, function(t) {
+          for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);
+          return s.join("");
+        });
+}
+
+var d3_interpolate_numberA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,
+    d3_interpolate_numberB = new RegExp(d3_interpolate_numberA.source, "g");
+
+d3.interpolate = d3_interpolate;
+
+function d3_interpolate(a, b) {
+  var i = d3.interpolators.length, f;
+  while (--i >= 0 && !(f = d3.interpolators[i](a, b)));
+  return f;
+}
+
+d3.interpolators = [
+  function(a, b) {
+    var t = typeof b;
+    return (t === "string" ? (d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) ? d3_interpolateRgb : d3_interpolateString)
+        : b instanceof d3_color ? d3_interpolateRgb
+        : Array.isArray(b) ? d3_interpolateArray
+        : t === "object" && isNaN(b) ? d3_interpolateObject
+        : d3_interpolateNumber)(a, b);
+  }
+];
+
+d3.transform = function(string) {
+  var g = d3_document.createElementNS(d3.ns.prefix.svg, "g");
   return (d3.transform = function(string) {
-    g.setAttribute("transform", string);
-    var t = g.transform.baseVal.consolidate();
+    if (string != null) {
+      g.setAttribute("transform", string);
+      var t = g.transform.baseVal.consolidate();
+    }
     return new d3_transform(t ? t.matrix : d3_transformIdentity);
   })(string);
 };
@@ -4688,12 +5610,6 @@ function d3_transformCombine(a, b, k) {
 }
 
 var d3_transformIdentity = {a: 1, b: 0, c: 0, d: 1, e: 0, f: 0};
-d3.interpolateNumber = d3_interpolateNumber;
-
-function d3_interpolateNumber(a, b) {
-  b -= a;
-  return function(t) { return a + b * t; };
-}
 
 d3.interpolateTransform = d3_interpolateTransform;
 
@@ -4749,165 +5665,19 @@ function d3_interpolateTransform(a, b) {
   };
 }
 
-d3.interpolateObject = d3_interpolateObject;
-
-function d3_interpolateObject(a, b) {
-  var i = {},
-      c = {},
-      k;
-  for (k in a) {
-    if (k in b) {
-      i[k] = d3_interpolateByName(k)(a[k], b[k]);
-    } else {
-      c[k] = a[k];
-    }
-  }
-  for (k in b) {
-    if (!(k in a)) {
-      c[k] = b[k];
-    }
-  }
-  return function(t) {
-    for (k in i) c[k] = i[k](t);
-    return c;
-  };
-}
-
-d3.interpolateArray = d3_interpolateArray;
-
-function d3_interpolateArray(a, b) {
-  var x = [],
-      c = [],
-      na = a.length,
-      nb = b.length,
-      n0 = Math.min(a.length, b.length),
-      i;
-  for (i = 0; i < n0; ++i) x.push(d3_interpolate(a[i], b[i]));
-  for (; i < na; ++i) c[i] = a[i];
-  for (; i < nb; ++i) c[i] = b[i];
-  return function(t) {
-    for (i = 0; i < n0; ++i) c[i] = x[i](t);
-    return c;
-  };
-}
-
-d3.interpolateString = d3_interpolateString;
-
-function d3_interpolateString(a, b) {
-  var m, // current match
-      i, // current index
-      j, // current index (for coalescing)
-      s0 = 0, // start index of current string prefix
-      s1 = 0, // end index of current string prefix
-      s = [], // string constants and placeholders
-      q = [], // number interpolators
-      n, // q.length
-      o;
-
-  // Reset our regular expression!
-  d3_interpolate_number.lastIndex = 0;
-
-  // Find all numbers in b.
-  for (i = 0; m = d3_interpolate_number.exec(b); ++i) {
-    if (m.index) s.push(b.substring(s0, s1 = m.index));
-    q.push({i: s.length, x: m[0]});
-    s.push(null);
-    s0 = d3_interpolate_number.lastIndex;
-  }
-  if (s0 < b.length) s.push(b.substring(s0));
-
-  // Find all numbers in a.
-  for (i = 0, n = q.length; (m = d3_interpolate_number.exec(a)) && i < n; ++i) {
-    o = q[i];
-    if (o.x == m[0]) { // The numbers match, so coalesce.
-      if (o.i) {
-        if (s[o.i + 1] == null) { // This match is followed by another number.
-          s[o.i - 1] += o.x;
-          s.splice(o.i, 1);
-          for (j = i + 1; j < n; ++j) q[j].i--;
-        } else { // This match is followed by a string, so coalesce twice.
-          s[o.i - 1] += o.x + s[o.i + 1];
-          s.splice(o.i, 2);
-          for (j = i + 1; j < n; ++j) q[j].i -= 2;
-        }
-      } else {
-          if (s[o.i + 1] == null) { // This match is followed by another number.
-          s[o.i] = o.x;
-        } else { // This match is followed by a string, so coalesce twice.
-          s[o.i] = o.x + s[o.i + 1];
-          s.splice(o.i + 1, 1);
-          for (j = i + 1; j < n; ++j) q[j].i--;
-        }
-      }
-      q.splice(i, 1);
-      n--;
-      i--;
-    } else {
-      o.x = d3_interpolateNumber(parseFloat(m[0]), parseFloat(o.x));
-    }
-  }
-
-  // Remove any numbers in b not found in a.
-  while (i < n) {
-    o = q.pop();
-    if (s[o.i + 1] == null) { // This match is followed by another number.
-      s[o.i] = o.x;
-    } else { // This match is followed by a string, so coalesce twice.
-      s[o.i] = o.x + s[o.i + 1];
-      s.splice(o.i + 1, 1);
-    }
-    n--;
-  }
-
-  // Special optimization for only a single match.
-  if (s.length === 1) {
-    return s[0] == null ? q[0].x : function() { return b; };
-  }
-
-  // Otherwise, interpolate each of the numbers and rejoin the string.
-  return function(t) {
-    for (i = 0; i < n; ++i) s[(o = q[i]).i] = o.x(t);
-    return s.join("");
-  };
-}
-
-var d3_interpolate_number = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g;
-
-d3.interpolate = d3_interpolate;
-
-function d3_interpolate(a, b) {
-  var i = d3.interpolators.length, f;
-  while (--i >= 0 && !(f = d3.interpolators[i](a, b)));
-  return f;
-}
-
-function d3_interpolateByName(name) {
-  return name == "transform"
-      ? d3_interpolateTransform
-      : d3_interpolate;
-}
-
-d3.interpolators = [
-  d3_interpolateObject,
-  function(a, b) { return Array.isArray(b) && d3_interpolateArray(a, b); },
-  function(a, b) { return (typeof a === "string" || typeof b === "string") && d3_interpolateString(a + "", b + ""); },
-  function(a, b) { return (typeof b === "string" ? d3_rgb_names.has(b) || /^(#|rgb\(|hsl\()/.test(b) : b instanceof d3_Color) && d3_interpolateRgb(a, b); },
-  function(a, b) { return !isNaN(a = +a) && !isNaN(b = +b) && d3_interpolateNumber(a, b); }
-];
-
 d3_transitionPrototype.tween = function(name, tween) {
-  var id = this.id;
-  if (arguments.length < 2) return this.node().__transition__[id].tween.get(name);
+  var id = this.id, ns = this.namespace;
+  if (arguments.length < 2) return this.node()[ns][id].tween.get(name);
   return d3_selection_each(this, tween == null
-        ? function(node) { node.__transition__[id].tween.remove(name); }
-        : function(node) { node.__transition__[id].tween.set(name, tween); });
+        ? function(node) { node[ns][id].tween.remove(name); }
+        : function(node) { node[ns][id].tween.set(name, tween); });
 };
 
 function d3_transition_tween(groups, name, value, tween) {
-  var id = groups.id;
+  var id = groups.id, ns = groups.namespace;
   return d3_selection_each(groups, typeof value === "function"
-      ? function(node, i, j) { node.__transition__[id].tween.set(name, tween(value.call(node, node.__data__, i, j))); }
-      : (value = tween(value), function(node) { node.__transition__[id].tween.set(name, value); }));
+      ? function(node, i, j) { node[ns][id].tween.set(name, tween(value.call(node, node.__data__, i, j))); }
+      : (value = tween(value), function(node) { node[ns][id].tween.set(name, value); }));
 }
 
 d3_transitionPrototype.attr = function(nameNS, value) {
@@ -4920,7 +5690,7 @@ d3_transitionPrototype.attr = function(nameNS, value) {
     return this;
   }
 
-  var interpolate = d3_interpolateByName(nameNS),
+  var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate,
       name = d3.ns.qualify(nameNS);
 
   // For attr(string, null), remove the attribute with the specified name.
@@ -4931,21 +5701,21 @@ d3_transitionPrototype.attr = function(nameNS, value) {
     this.removeAttributeNS(name.space, name.local);
   }
 
-  return d3_transition_tween(this, "attr." + nameNS, value, function(b) {
-
-    // For attr(string, string), set the attribute with the specified name.
-    function attrString() {
+  // For attr(string, string), set the attribute with the specified name.
+  function attrTween(b) {
+    return b == null ? attrNull : (b += "", function() {
       var a = this.getAttribute(name), i;
       return a !== b && (i = interpolate(a, b), function(t) { this.setAttribute(name, i(t)); });
-    }
-    function attrStringNS() {
+    });
+  }
+  function attrTweenNS(b) {
+    return b == null ? attrNullNS : (b += "", function() {
       var a = this.getAttributeNS(name.space, name.local), i;
       return a !== b && (i = interpolate(a, b), function(t) { this.setAttributeNS(name.space, name.local, i(t)); });
-    }
+    });
+  }
 
-    return b == null ? (name.local ? attrNullNS : attrNull)
-        : (b += "", name.local ? attrStringNS : attrString);
-  });
+  return d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween);
 };
 
 d3_transitionPrototype.attrTween = function(nameNS, tween) {
@@ -4955,7 +5725,6 @@ d3_transitionPrototype.attrTween = function(nameNS, tween) {
     var f = tween.call(this, d, i, this.getAttribute(name));
     return f && function(t) { this.setAttribute(name, f(t)); };
   }
-
   function attrTweenNS(d, i) {
     var f = tween.call(this, d, i, this.getAttributeNS(name.space, name.local));
     return f && function(t) { this.setAttributeNS(name.space, name.local, f(t)); };
@@ -4983,35 +5752,34 @@ d3_transitionPrototype.style = function(name, value, priority) {
     priority = "";
   }
 
-  var interpolate = d3_interpolateByName(name);
-
   // For style(name, null) or style(name, null, priority), remove the style
   // property with the specified name. The priority is ignored.
   function styleNull() {
     this.style.removeProperty(name);
   }
 
+  // For style(name, string) or style(name, string, priority), set the style
+  // property with the specified name, using the specified priority.
   // Otherwise, a name, value and priority are specified, and handled as below.
-  return d3_transition_tween(this, "style." + name, value, function(b) {
-
-    // For style(name, string) or style(name, string, priority), set the style
-    // property with the specified name, using the specified priority.
-    function styleString() {
-      var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i;
-      return a !== b && (i = interpolate(a, b), function(t) { this.style.setProperty(name, i(t), priority); });
-    }
+  function styleString(b) {
+    return b == null ? styleNull : (b += "", function() {
+      var a = d3_window(this).getComputedStyle(this, null).getPropertyValue(name), i;
+      return a !== b && (i = d3_interpolate(a, b), function(t) { this.style.setProperty(name, i(t), priority); });
+    });
+  }
 
-    return b == null ? styleNull
-        : (b += "", styleString);
-  });
+  return d3_transition_tween(this, "style." + name, value, styleString);
 };
 
 d3_transitionPrototype.styleTween = function(name, tween, priority) {
   if (arguments.length < 3) priority = "";
-  return this.tween("style." + name, function(d, i) {
-    var f = tween.call(this, d, i, d3_window.getComputedStyle(this, null).getPropertyValue(name));
+
+  function styleTween(d, i) {
+    var f = tween.call(this, d, i, d3_window(this).getComputedStyle(this, null).getPropertyValue(name));
     return f && function(t) { this.style.setProperty(name, f(t), priority); };
-  });
+  }
+
+  return this.tween("style." + name, styleTween);
 };
 
 d3_transitionPrototype.text = function(value) {
@@ -5024,48 +5792,162 @@ function d3_transition_text(b) {
 }
 
 d3_transitionPrototype.remove = function() {
+  var ns = this.namespace;
   return this.each("end.transition", function() {
     var p;
-    if (!this.__transition__ && (p = this.parentNode)) p.removeChild(this);
+    if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this);
   });
 };
 
+var d3_ease_default = function() { return d3_identity; };
+
+var d3_ease = d3.map({
+  linear: d3_ease_default,
+  poly: d3_ease_poly,
+  quad: function() { return d3_ease_quad; },
+  cubic: function() { return d3_ease_cubic; },
+  sin: function() { return d3_ease_sin; },
+  exp: function() { return d3_ease_exp; },
+  circle: function() { return d3_ease_circle; },
+  elastic: d3_ease_elastic,
+  back: d3_ease_back,
+  bounce: function() { return d3_ease_bounce; }
+});
+
+var d3_ease_mode = d3.map({
+  "in": d3_identity,
+  "out": d3_ease_reverse,
+  "in-out": d3_ease_reflect,
+  "out-in": function(f) { return d3_ease_reflect(d3_ease_reverse(f)); }
+});
+
+d3.ease = function(name) {
+  var i = name.indexOf("-"),
+      t = i >= 0 ? name.slice(0, i) : name,
+      m = i >= 0 ? name.slice(i + 1) : "in";
+  t = d3_ease.get(t) || d3_ease_default;
+  m = d3_ease_mode.get(m) || d3_identity;
+  return d3_ease_clamp(m(t.apply(null, d3_arraySlice.call(arguments, 1))));
+};
+
+function d3_ease_clamp(f) {
+  return function(t) {
+    return t <= 0 ? 0 : t >= 1 ? 1 : f(t);
+  };
+}
+
+function d3_ease_reverse(f) {
+  return function(t) {
+    return 1 - f(1 - t);
+  };
+}
+
+function d3_ease_reflect(f) {
+  return function(t) {
+    return .5 * (t < .5 ? f(2 * t) : (2 - f(2 - 2 * t)));
+  };
+}
+
+function d3_ease_quad(t) {
+  return t * t;
+}
+
+function d3_ease_cubic(t) {
+  return t * t * t;
+}
+
+// Optimized clamp(reflect(poly(3))).
+function d3_ease_cubicInOut(t) {
+  if (t <= 0) return 0;
+  if (t >= 1) return 1;
+  var t2 = t * t, t3 = t2 * t;
+  return 4 * (t < .5 ? t3 : 3 * (t - t2) + t3 - .75);
+}
+
+function d3_ease_poly(e) {
+  return function(t) {
+    return Math.pow(t, e);
+  };
+}
+
+function d3_ease_sin(t) {
+  return 1 - Math.cos(t * halfπ);
+}
+
+function d3_ease_exp(t) {
+  return Math.pow(2, 10 * (t - 1));
+}
+
+function d3_ease_circle(t) {
+  return 1 - Math.sqrt(1 - t * t);
+}
+
+function d3_ease_elastic(a, p) {
+  var s;
+  if (arguments.length < 2) p = 0.45;
+  if (arguments.length) s = p / τ * Math.asin(1 / a);
+  else a = 1, s = p / 4;
+  return function(t) {
+    return 1 + a * Math.pow(2, -10 * t) * Math.sin((t - s) * τ / p);
+  };
+}
+
+function d3_ease_back(s) {
+  if (!s) s = 1.70158;
+  return function(t) {
+    return t * t * ((s + 1) * t - s);
+  };
+}
+
+function d3_ease_bounce(t) {
+  return t < 1 / 2.75 ? 7.5625 * t * t
+      : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + .75
+      : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375
+      : 7.5625 * (t -= 2.625 / 2.75) * t + .984375;
+}
+
 d3_transitionPrototype.ease = function(value) {
-  var id = this.id;
-  if (arguments.length < 1) return this.node().__transition__[id].ease;
+  var id = this.id, ns = this.namespace;
+  if (arguments.length < 1) return this.node()[ns][id].ease;
   if (typeof value !== "function") value = d3.ease.apply(d3, arguments);
-  return d3_selection_each(this, function(node) { node.__transition__[id].ease = value; });
+  return d3_selection_each(this, function(node) { node[ns][id].ease = value; });
 };
 
 d3_transitionPrototype.delay = function(value) {
-  var id = this.id;
+  var id = this.id, ns = this.namespace;
+  if (arguments.length < 1) return this.node()[ns][id].delay;
   return d3_selection_each(this, typeof value === "function"
-      ? function(node, i, j) { node.__transition__[id].delay = value.call(node, node.__data__, i, j) | 0; }
-      : (value |= 0, function(node) { node.__transition__[id].delay = value; }));
+      ? function(node, i, j) { node[ns][id].delay = +value.call(node, node.__data__, i, j); }
+      : (value = +value, function(node) { node[ns][id].delay = value; }));
 };
 
 d3_transitionPrototype.duration = function(value) {
-  var id = this.id;
+  var id = this.id, ns = this.namespace;
+  if (arguments.length < 1) return this.node()[ns][id].duration;
   return d3_selection_each(this, typeof value === "function"
-      ? function(node, i, j) { node.__transition__[id].duration = Math.max(1, value.call(node, node.__data__, i, j) | 0); }
-      : (value = Math.max(1, value | 0), function(node) { node.__transition__[id].duration = value; }));
+      ? function(node, i, j) { node[ns][id].duration = Math.max(1, value.call(node, node.__data__, i, j)); }
+      : (value = Math.max(1, value), function(node) { node[ns][id].duration = value; }));
 };
 
 d3_transitionPrototype.each = function(type, listener) {
-  var id = this.id;
+  var id = this.id, ns = this.namespace;
   if (arguments.length < 2) {
     var inherit = d3_transitionInherit,
         inheritId = d3_transitionInheritId;
-    d3_transitionInheritId = id;
-    d3_selection_each(this, function(node, i, j) {
-      d3_transitionInherit = node.__transition__[id];
-      type.call(node, node.__data__, i, j);
-    });
-    d3_transitionInherit = inherit;
-    d3_transitionInheritId = inheritId;
+    try {
+      d3_transitionInheritId = id;
+      d3_selection_each(this, function(node, i, j) {
+        d3_transitionInherit = node[ns][id];
+        type.call(node, node.__data__, i, j);
+      });
+    } finally {
+      d3_transitionInherit = inherit;
+      d3_transitionInheritId = inheritId;
+    }
   } else {
     d3_selection_each(this, function(node) {
-      node.__transition__[id].event.on(type, listener);
+      var transition = node[ns][id];
+      (transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener);
     });
   }
   return this;
@@ -5074,6 +5956,7 @@ d3_transitionPrototype.each = function(type, listener) {
 d3_transitionPrototype.transition = function() {
   var id0 = this.id,
       id1 = ++d3_transitionId,
+      ns = this.namespace,
       subgroups = [],
       subgroup,
       group,
@@ -5084,19 +5967,22 @@ d3_transitionPrototype.transition = function() {
     subgroups.push(subgroup = []);
     for (var group = this[j], i = 0, n = group.length; i < n; i++) {
       if (node = group[i]) {
-        transition = Object.create(node.__transition__[id0]);
-        transition.delay += transition.duration;
-        d3_transitionNode(node, i, id1, transition);
+        transition = node[ns][id0];
+        d3_transitionNode(node, i, ns, id1, {time: transition.time, ease: transition.ease, delay: transition.delay + transition.duration, duration: transition.duration});
       }
       subgroup.push(node);
     }
   }
 
-  return d3_transition(subgroups, id1);
+  return d3_transition(subgroups, ns, id1);
 };
 
-function d3_transitionNode(node, i, id, inherit) {
-  var lock = node.__transition__ || (node.__transition__ = {active: 0, count: 0}),
+function d3_transitionNamespace(name) {
+  return name == null ? "__transition__" : "__transition_" + name + "__";
+}
+
+function d3_transitionNode(node, i, ns, id, inherit) {
+  var lock = node[ns] || (node[ns] = {active: 0, count: 0}),
       transition = lock[id];
 
   if (!transition) {
@@ -5104,46 +5990,62 @@ function d3_transitionNode(node, i, id, inherit) {
 
     transition = lock[id] = {
       tween: new d3_Map,
-      event: d3.dispatch("start", "end"), // TODO construct lazily?
       time: time,
-      ease: inherit.ease,
       delay: inherit.delay,
-      duration: inherit.duration
+      duration: inherit.duration,
+      ease: inherit.ease,
+      index: i
     };
 
+    inherit = null; // allow gc
+
     ++lock.count;
 
     d3.timer(function(elapsed) {
-      var d = node.__data__,
-          ease = transition.ease,
-          event = transition.event,
-          delay = transition.delay,
-          duration = transition.duration,
+      var delay = transition.delay,
+          duration,
+          ease,
+          timer = d3_timer_active,
           tweened = [];
 
-      return delay <= elapsed
-          ? start(elapsed)
-          : d3.timer(start, delay, time), 1;
+      timer.t = delay + time;
+      if (delay <= elapsed) return start(elapsed - delay);
+      timer.c = start;
 
       function start(elapsed) {
         if (lock.active > id) return stop();
+
+        var active = lock[lock.active];
+        if (active) {
+          --lock.count;
+          delete lock[lock.active];
+          active.event && active.event.interrupt.call(node, node.__data__, active.index);
+        }
+
         lock.active = id;
-        event.start.call(node, d, i);
+
+        transition.event && transition.event.start.call(node, node.__data__, i);
 
         transition.tween.forEach(function(key, value) {
-          if (value = value.call(node, d, i)) {
+          if (value = value.call(node, node.__data__, i)) {
             tweened.push(value);
           }
         });
 
-        if (!tick(elapsed)) d3.timer(tick, 0, time);
-        return 1;
+        // Deferred capture to allow tweens to initialize ease & duration.
+        ease = transition.ease;
+        duration = transition.duration;
+
+        d3.timer(function() { // defer to end of current frame
+          timer.c = tick(elapsed || 1) ? d3_true : tick;
+          return 1;
+        }, 0, time);
       }
 
       function tick(elapsed) {
-        if (lock.active !== id) return stop();
+        if (lock.active !== id) return 1;
 
-        var t = (elapsed - delay) / duration,
+        var t = elapsed / duration,
             e = ease(t),
             n = tweened.length;
 
@@ -5152,39 +6054,58 @@ function d3_transitionNode(node, i, id, inherit) {
         }
 
         if (t >= 1) {
-          stop();
-          event.end.call(node, d, i);
-          return 1;
+          transition.event && transition.event.end.call(node, node.__data__, i);
+          return stop();
         }
       }
 
       function stop() {
         if (--lock.count) delete lock[id];
-        else delete node.__transition__;
+        else delete node[ns];
         return 1;
       }
     }, 0, time);
-
-    return transition;
   }
 }
 
-d3.xhr = function(url, mimeType, callback) {
+d3.xhr = d3_xhrType(d3_identity);
+
+function d3_xhrType(response) {
+  return function(url, mimeType, callback) {
+    if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, mimeType = null;
+    return d3_xhr(url, mimeType, response, callback);
+  };
+}
+
+function d3_xhr(url, mimeType, response, callback) {
   var xhr = {},
-      dispatch = d3.dispatch("progress", "load", "error"),
+      dispatch = d3.dispatch("beforesend", "progress", "load", "error"),
       headers = {},
-      response = d3_identity,
-      request = new (d3_window.XDomainRequest && /^(http(s)?:)?\/\//.test(url) ? XDomainRequest : XMLHttpRequest);
+      request = new XMLHttpRequest,
+      responseType = null;
+
+  // If IE does not support CORS, use XDomainRequest.
+  if (this.XDomainRequest
+      && !("withCredentials" in request)
+      && /^(http(s)?:)?\/\//.test(url)) request = new XDomainRequest;
 
   "onload" in request
       ? request.onload = request.onerror = respond
       : request.onreadystatechange = function() { request.readyState > 3 && respond(); };
 
   function respond() {
-    var s = request.status;
-    !s && request.responseText || s >= 200 && s < 300 || s === 304
-        ? dispatch.load.call(xhr, response.call(xhr, request))
-        : dispatch.error.call(xhr, request);
+    var status = request.status, result;
+    if (!status && d3_xhrHasResponse(request) || status >= 200 && status < 300 || status === 304) {
+      try {
+        result = response.call(xhr, request);
+      } catch (e) {
+        dispatch.error.call(xhr, e);
+        return;
+      }
+      dispatch.load.call(xhr, result);
+    } else {
+      dispatch.error.call(xhr, request);
+    }
   }
 
   request.onprogress = function(event) {
@@ -5209,6 +6130,14 @@ d3.xhr = function(url, mimeType, callback) {
     return xhr;
   };
 
+  // Specifies what type the response value should take;
+  // for instance, arraybuffer, blob, document, or text.
+  xhr.responseType = function(value) {
+    if (!arguments.length) return responseType;
+    responseType = value;
+    return xhr;
+  };
+
   // Specify how to convert the response content to a specific type;
   // changes the callback value on "load" events.
   xhr.response = function(value) {
@@ -5230,7 +6159,9 @@ d3.xhr = function(url, mimeType, callback) {
     if (mimeType != null && !("accept" in headers)) headers["accept"] = mimeType + ",*/*";
     if (request.setRequestHeader) for (var name in headers) request.setRequestHeader(name, headers[name]);
     if (mimeType != null && request.overrideMimeType) request.overrideMimeType(mimeType);
+    if (responseType != null) request.responseType = responseType;
     if (callback != null) xhr.on("error", callback).on("load", function(request) { callback(null, request); });
+    dispatch.beforesend.call(xhr, request);
     request.send(data == null ? null : data);
     return xhr;
   };
@@ -5242,7 +6173,6 @@ d3.xhr = function(url, mimeType, callback) {
 
   d3.rebind(xhr, dispatch, "on");
 
-  if (arguments.length === 2 && typeof mimeType === "function") callback = mimeType, mimeType = null;
   return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));
 };
 
@@ -5252,16 +6182,19 @@ function d3_xhr_fixCallback(callback) {
       : callback;
 }
 
-d3.text = function() {
-  return d3.xhr.apply(d3, arguments).response(d3_text);
-};
+function d3_xhrHasResponse(request) {
+  var type = request.responseType;
+  return type && type !== "text"
+      ? request.response // null on error
+      : request.responseText; // "" on error
+}
 
-function d3_text(request) {
+d3.text = d3_xhrType(function(request) {
   return request.responseText;
-}
+});
 
 d3.json = function(url, callback) {
-  return d3.xhr(url, "application/json", callback).response(d3_json);
+  return d3_xhr(url, "application/json", d3_json, callback);
 };
 
 function d3_json(request) {
@@ -5269,7 +6202,7 @@ function d3_json(request) {
 }
 
 d3.html = function(url, callback) {
-  return d3.xhr(url, "text/html", callback).response(d3_html);
+  return d3_xhr(url, "text/html", d3_html, callback);
 };
 
 function d3_html(request) {
@@ -5278,23 +6211,22 @@ function d3_html(request) {
   return range.createContextualFragment(request.responseText);
 }
 
-d3.xml = function() {
-  return d3.xhr.apply(d3, arguments).response(d3_xml);
-};
-
-function d3_xml(request) {
+d3.xml = d3_xhrType(function(request) {
   return request.responseXML;
-}
-  return d3;
-})();
+});
+  if (typeof define === "function" && define.amd) define(d3);
+  else if (typeof module === "object" && module.exports) module.exports = d3;
+  this.d3 = d3;
+}();
 d3.combobox = function() {
     var event = d3.dispatch('accept'),
-        id = d3.combobox.id ++,
-        data = [];
+        data = [],
+        suggestions = [],
+        minItems = 2;
 
-    var fetcher = function(val, data, cb) {
+    var fetcher = function(val, cb) {
         cb(data.filter(function(d) {
-            return d.title
+            return d.value
                 .toString()
                 .toLowerCase()
                 .indexOf(val.toLowerCase()) !== -1;
@@ -5302,51 +6234,72 @@ d3.combobox = function() {
     };
 
     var combobox = function(input) {
-        var idx = -1, container, shown = false;
+        var idx = -1,
+            container = d3.select(document.body)
+                .selectAll('div.combobox')
+                .filter(function(d) { return d === input.node(); }),
+            shown = !container.empty();
 
         input
             .classed('combobox-input', true)
+            .on('focus.typeahead', focus)
+            .on('blur.typeahead', blur)
+            .on('keydown.typeahead', keydown)
+            .on('keyup.typeahead', keyup)
+            .on('input.typeahead', change)
             .each(function() {
                 var parent = this.parentNode,
                     sibling = this.nextSibling;
-                d3.select(parent)
-                    .insert('div', function() { return sibling; })
-                    .attr('class', 'combobox-carat')
+
+                var caret = d3.select(parent).selectAll('.combobox-caret')
+                    .filter(function(d) { return d === input.node(); })
+                    .data([input.node()]);
+
+                caret.enter().insert('div', function() { return sibling; })
+                    .attr('class', 'combobox-caret');
+
+                caret
                     .on('mousedown', function () {
                         // prevent the form element from blurring. it blurs
                         // on mousedown
                         d3.event.stopPropagation();
                         d3.event.preventDefault();
-                        mousedown();
+                        if (!shown) {
+                            input.node().focus();
+                            fetch('', render);
+                        } else {
+                            hide();
+                        }
                     });
             });
 
-        function updateSize() {
-            var rect = input.node().getBoundingClientRect();
-            container.style({
-                'left': rect.left + 'px',
-                'width': rect.width + 'px',
-                'top': rect.height + rect.top + 'px'
-            });
+        function focus() {
+            fetch(value(), render);
         }
 
         function blur() {
-            // hide the combobox whenever the input element
-            // loses focus
-            slowHide();
+            window.setTimeout(hide, 150);
         }
 
         function show() {
             if (!shown) {
                 container = d3.select(document.body)
                     .insert('div', ':first-child')
+                    .datum(input.node())
                     .attr('class', 'combobox')
                     .style({
                         position: 'absolute',
                         display: 'block',
                         left: '0px'
+                    })
+                    .on('mousedown', function () {
+                        // prevent moving focus out of the text field
+                        d3.event.preventDefault();
                     });
 
+                d3.select(document.body)
+                    .on('scroll.combobox', render, true);
+
                 shown = true;
             }
         }
@@ -5355,28 +6308,43 @@ d3.combobox = function() {
             if (shown) {
                 idx = -1;
                 container.remove();
+
+                d3.select(document.body)
+                    .on('scroll.combobox', null);
+
                 shown = false;
             }
         }
 
-        function slowHide() {
-            window.setTimeout(hide, 150);
-        }
         function keydown() {
-           if (!shown) return;
            switch (d3.event.keyCode) {
-               // down arrow
-               case 40:
-                   next();
+               // backspace, delete
+               case 8:
+               case 46:
+                   input.on('input.typeahead', function() {
+                       idx = -1;
+                       render();
+                       var start = input.property('selectionStart');
+                       input.node().setSelectionRange(start, start);
+                       input.on('input.typeahead', change);
+                   });
+                   break;
+               // tab
+               case 9:
+                   container.selectAll('a.selected').each(event.accept);
+                   break;
+               // return
+               case 13:
                    d3.event.preventDefault();
                    break;
                // up arrow
                case 38:
-                   prev();
+                   nav(-1);
                    d3.event.preventDefault();
                    break;
-               // escape, tab
-               case 13:
+               // down arrow
+               case 40:
+                   nav(+1);
                    d3.event.preventDefault();
                    break;
            }
@@ -5389,175 +6357,118 @@ d3.combobox = function() {
                 case 27:
                     hide();
                     break;
-                // escape, tab
-                case 9:
+                // return
                 case 13:
-                    if (!shown) return;
-                    accept();
+                    container.selectAll('a.selected').each(event.accept);
+                    hide();
                     break;
-                default:
-                    update();
-                    d3.event.preventDefault();
             }
-            d3.event.stopPropagation();
         }
 
-        function accept() {
-            if (container.select('a.selected').node()) {
-                select(container.select('a.selected').datum());
-            }
-            hide();
-        }
-
-        function next() {
-            var len = container.selectAll('a').data().length;
-            idx = Math.min(idx + 1, len - 1);
-            highlight();
+        function change() {
+            fetch(value(), function() {
+                autocomplete();
+                render();
+            });
         }
 
-        function prev() {
-            idx = Math.max(idx - 1, 0);
-            highlight();
+        function nav(dir) {
+            idx = Math.max(Math.min(idx + dir, suggestions.length - 1), 0);
+            input.property('value', suggestions[idx].value);
+            render();
+            ensureVisible();
         }
 
-        var prevValue, prevCompletion;
-
-        function autocomplete(e, data) {
-
+        function value() {
             var value = input.property('value'),
-                match;
+                start = input.property('selectionStart'),
+                end = input.property('selectionEnd');
 
-            for (var i = 0; i < data.length; i++) {
-                if (data[i].value.toLowerCase().indexOf(value.toLowerCase()) === 0) {
-                    match = data[i].value;
-                    break;
-                }
+            if (start && end) {
+                value = value.substring(0, start);
             }
 
-            // backspace
-            if (e.keyCode === 8) {
-                prevValue = value;
-                prevCompletion = '';
+            return value;
+        }
 
-            } else if (value && match && value !== prevValue + prevCompletion) {
-                prevValue = value;
-                prevCompletion = match.substr(value.length);
-                input.property('value', prevValue + prevCompletion);
-                input.node().setSelectionRange(value.length, value.length + prevCompletion.length);
-            }
+        function fetch(v, cb) {
+            fetcher.call(input, v, function(_) {
+                suggestions = _;
+                cb();
+            });
         }
 
+        function autocomplete() {
+            var v = value();
 
-        function highlight() {
-            container
-                .selectAll('a')
-                .classed('selected', function(d, i) { return i == idx; });
-            var height = container.node().offsetHeight,
-                top = container.select('a.selected').node().offsetTop,
-                selectedHeight = container.select('a.selected').node().offsetHeight;
-            if ((top + selectedHeight) < height) {
-                container.node().scrollTop = 0;
-            } else {
-                container.node().scrollTop = top;
-            }
-        }
+            idx = -1;
 
-        function update(value) {
+            if (!v) return;
 
-            if (typeof value === 'undefined') {
-                value = input.property('value');
+            for (var i = 0; i < suggestions.length; i++) {
+                if (suggestions[i].value.toLowerCase().indexOf(v.toLowerCase()) === 0) {
+                    var completion = suggestions[i].value;
+                    idx = i;
+                    input.property('value', completion);
+                    input.node().setSelectionRange(v.length, completion.length);
+                    return;
+                }
             }
+        }
 
-            var e = d3.event;
-
-            function render(data) {
+        function render() {
+            if (suggestions.length >= minItems && document.activeElement === input.node()) {
+                show();
+            } else {
+                hide();
+                return;
+            }
 
-                if (data.length &&
-                    document.activeElement === input.node()) show();
-                else return hide();
+            var options = container
+                .selectAll('a.combobox-option')
+                .data(suggestions, function(d) { return d.value; });
 
-                autocomplete(e, data);
+            options.enter().append('a')
+                .attr('class', 'combobox-option')
+                .text(function(d) { return d.value; });
 
-                updateSize();
+            options
+                .attr('title', function(d) { return d.title; })
+                .classed('selected', function(d, i) { return i == idx; })
+                .on('mouseover', select)
+                .on('click', accept)
+                .order();
 
-                var options = container
-                    .selectAll('a.combobox-option')
-                    .data(data, function(d) { return d.value; });
+            options.exit()
+                .remove();
 
-                options.enter()
-                    .append('a')
-                    .text(function(d) { return d.value; })
-                    .attr('class', 'combobox-option')
-                    .attr('title', function(d) { return d.title; })
-                    .on('click', select);
+            var rect = input.node().getBoundingClientRect();
 
-                options.exit().remove();
+            container.style({
+                'left': rect.left + 'px',
+                'width': rect.width + 'px',
+                'top': rect.height + rect.top + 'px'
+            });
+        }
 
-                options
-                    .classed('selected', function(d, i) { return i == idx; })
-                    .order();
-            }
+        function select(d, i) {
+            idx = i;
+            render();
+        }
 
-            fetcher.apply(input, [value, data, render]);
+        function ensureVisible() {
+            var node = container.selectAll('a.selected').node();
+            if (node) node.scrollIntoView();
         }
 
-        // select the choice given as d
-        function select(d) {
+        function accept(d) {
+            if (!shown) return;
             input
                 .property('value', d.value)
                 .trigger('change');
             event.accept(d);
             hide();
         }
-
-        function mousedown() {
-
-            if (shown) return hide();
-
-            input.node().focus();
-            update('');
-
-            if (!container) return;
-
-            var entries = container.selectAll('a'),
-                height = container.node().scrollHeight / entries[0].length,
-                w = d3.select(window);
-
-            function getIndex(m) {
-                return Math.floor((m[1] + container.node().scrollTop) / height);
-            }
-
-            function withinBounds(m) {
-                var n = container.node();
-                return m[0] >= 0 && m[0] < n.offsetWidth &&
-                    m[1] >= 0 && m[1] < n.offsetHeight;
-            }
-
-            w.on('mousemove.typeahead', function() {
-                var m = d3.mouse(container.node());
-                var within = withinBounds(m);
-                var n = getIndex(m);
-                entries.classed('selected', function(d, i) { return within && i === n; });
-            });
-
-            w.on('mouseup.typeahead', function() {
-                var m = d3.mouse(container.node());
-                if (withinBounds(m)) select(d3.select(entries[0][getIndex(m)]).datum());
-                entries.classed('selected', false);
-                w.on('mouseup.typeahead', null);
-                w.on('mousemove.typeahead', null);
-            });
-        }
-
-        input
-            .on('blur.typeahead', blur)
-            .on('keydown.typeahead', keydown)
-            .on('keyup.typeahead', keyup)
-            .on('mousedown.typeahead', mousedown);
-
-        d3.select(document.body).on('scroll.combo' + id, function() {
-            if (shown) updateSize();
-        }, true);
     };
 
     combobox.fetcher = function(_) {
@@ -5572,10 +6483,14 @@ d3.combobox = function() {
         return combobox;
     };
 
+    combobox.minItems = function(_) {
+        if (!arguments.length) return minItems;
+        minItems = _;
+        return combobox;
+    };
+
     return d3.rebind(combobox, event, 'on');
 };
-
-d3.combobox.id = 0;
 d3.geo.tile = function() {
   var size = [960, 500],
       scale = 256,
@@ -5806,14 +6721,20 @@ d3.keybinding = function(namespace) {
         // Up Arrow Key, or ↓
         '↓': 40, down: 40, 'arrow-down': 40,
         // odities, printing characters that come out wrong:
+        // Firefox Equals
+        'ffequals': 61,
         // Num-Multiply, or *
         '*': 106, star: 106, asterisk: 106, multiply: 106,
         // Num-Plus or +
         '+': 107, 'plus': 107,
         // Num-Subtract, or -
         '-': 109, subtract: 109,
+        // Firefox Minus
+        'ffplus': 171,
+        // Firefox Minus
+        'ffminus': 173,
         // Semicolon
-        ';': 186, semicolon:186,
+        ';': 186, semicolon: 186,
         // = or equals
         '=': 187, 'equals': 187,
         // Comma, or ,
@@ -5871,13 +6792,13 @@ d3.selection.prototype.one = function (type, listener, capture) {
     target.on(typeOnce, one, capture);
     return this;
 };
-d3.selection.prototype.size = function (size) {
+d3.selection.prototype.dimensions = function (dimensions) {
     if (!arguments.length) {
         var node = this.node();
         return [node.offsetWidth,
                 node.offsetHeight];
     }
-    return this.attr({width: size[0], height: size[1]});
+    return this.attr({width: dimensions[0], height: dimensions[1]});
 };
 d3.selection.prototype.trigger = function (type) {
     this.each(function() {
@@ -6061,10 +6982,10 @@ d3.curtain = function() {
             var html = parts[0] ? '<span>' + parts[0] + '</span>' : '';
             if (parts[1]) html += '<span class="bold">' + parts[1] + '</span>';
 
-            var size = tooltip.classed('in', true)
+            var dimensions = tooltip.classed('in', true)
                 .select('.tooltip-inner')
                     .html(html)
-                    .size();
+                    .dimensions();
 
             var pos;
 
@@ -6073,23 +6994,23 @@ d3.curtain = function() {
 
             if (box.top + box.height < Math.min(100, box.width + box.left)) {
                 side = 'bottom';
-                pos = [box.left + box.width / 2 - size[0]/ 2, box.top + box.height];
+                pos = [box.left + box.width / 2 - dimensions[0]/ 2, box.top + box.height];
 
             } else if (box.left + box.width + 300 < window.innerWidth) {
                 side = 'right';
-                pos = [box.left + box.width, box.top + box.height / 2 - size[1] / 2];
+                pos = [box.left + box.width, box.top + box.height / 2 - dimensions[1] / 2];
 
             } else if (box.left > 300) {
                 side = 'left';
-                pos = [box.left - 200, box.top + box.height / 2 - size[1] / 2];
+                pos = [box.left - 200, box.top + box.height / 2 - dimensions[1] / 2];
             } else {
                 side = 'bottom';
                 pos = [box.left, box.top + box.height];
             }
 
             pos = [
-                Math.min(Math.max(10, pos[0]), w - size[0] - 10),
-                Math.min(Math.max(10, pos[1]), h - size[1] - 10)
+                Math.min(Math.max(10, pos[0]), w - dimensions[0] - 10),
+                Math.min(Math.max(10, pos[1]), h - dimensions[1] - 10)
             ];
 
 
@@ -6133,6 +7054,463 @@ d3.curtain = function() {
 
     return d3.rebind(curtain, event, 'on');
 };
+// Like selection.property('value', ...), but avoids no-op value sets,
+// which can result in layout/repaint thrashing in some situations.
+d3.selection.prototype.value = function(value) {
+    function d3_selection_value(value) {
+      function valueNull() {
+        delete this.value;
+      }
+
+      function valueConstant() {
+        if (this.value !== value) this.value = value;
+      }
+
+      function valueFunction() {
+        var x = value.apply(this, arguments);
+        if (x == null) delete this.value;
+        else if (this.value !== x) this.value = x;
+      }
+
+      return value == null
+          ? valueNull : (typeof value === "function"
+          ? valueFunction : valueConstant);
+    }
+
+    if (!arguments.length) return this.property('value');
+    return this.each(d3_selection_value(value));
+};
+// Copyright (c) 2006, 2008 Tony Garnock-Jones <tonyg@lshift.net>
+// Copyright (c) 2006, 2008 LShift Ltd. <query@lshift.net>
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation files
+// (the "Software"), to deal in the Software without restriction,
+// including without limitation the rights to use, copy, modify, merge,
+// publish, distribute, sublicense, and/or sell copies of the Software,
+// and to permit persons to whom the Software is furnished to do so,
+// subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+// BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+// source:  https://bitbucket.org/lshift/synchrotron/src
+
+Diff3 = (function() {
+    'use strict';
+
+    var diff3 = {
+        longest_common_subsequence: function(file1, file2) {
+            /* Text diff algorithm following Hunt and McIlroy 1976.
+             * J. W. Hunt and M. D. McIlroy, An algorithm for differential file
+             * comparison, Bell Telephone Laboratories CSTR #41 (1976)
+             * http://www.cs.dartmouth.edu/~doug/
+             *
+             * Expects two arrays of strings.
+             */
+            var equivalenceClasses;
+            var file2indices;
+            var newCandidate;
+            var candidates;
+            var line;
+            var c, i, j, jX, r, s;
+
+            equivalenceClasses = {};
+            for (j = 0; j < file2.length; j++) {
+                line = file2[j];
+                if (equivalenceClasses[line]) {
+                    equivalenceClasses[line].push(j);
+                } else {
+                    equivalenceClasses[line] = [j];
+                }
+            }
+
+            candidates = [{file1index: -1,
+                           file2index: -1,
+                           chain: null}];
+
+            for (i = 0; i < file1.length; i++) {
+                line = file1[i];
+                file2indices = equivalenceClasses[line] || [];
+
+                r = 0;
+                c = candidates[0];
+
+                for (jX = 0; jX < file2indices.length; jX++) {
+                    j = file2indices[jX];
+
+                    for (s = 0; s < candidates.length; s++) {
+                        if ((candidates[s].file2index < j) &&
+                            ((s == candidates.length - 1) ||
+                             (candidates[s + 1].file2index > j)))
+                            break;
+                    }
+
+                    if (s < candidates.length) {
+                        newCandidate = {file1index: i,
+                                        file2index: j,
+                                        chain: candidates[s]};
+                        if (r == candidates.length) {
+                            candidates.push(c);
+                        } else {
+                            candidates[r] = c;
+                        }
+                        r = s + 1;
+                        c = newCandidate;
+                        if (r == candidates.length) {
+                            break; // no point in examining further (j)s
+                        }
+                    }
+                }
+
+                candidates[r] = c;
+            }
+
+            // At this point, we know the LCS: it's in the reverse of the
+            // linked-list through .chain of
+            // candidates[candidates.length - 1].
+
+            return candidates[candidates.length - 1];
+        },
+
+        diff_comm: function(file1, file2) {
+            // We apply the LCS to build a "comm"-style picture of the
+            // differences between file1 and file2.
+
+            var result = [];
+            var tail1 = file1.length;
+            var tail2 = file2.length;
+            var common = {common: []};
+
+            function processCommon() {
+                if (common.common.length) {
+                    common.common.reverse();
+                    result.push(common);
+                    common = {common: []};
+                }
+            }
+
+            for (var candidate = Diff3.longest_common_subsequence(file1, file2);
+                 candidate !== null;
+                 candidate = candidate.chain)
+            {
+                var different = {file1: [], file2: []};
+
+                while (--tail1 > candidate.file1index) {
+                    different.file1.push(file1[tail1]);
+                }
+
+                while (--tail2 > candidate.file2index) {
+                    different.file2.push(file2[tail2]);
+                }
+
+                if (different.file1.length || different.file2.length) {
+                    processCommon();
+                    different.file1.reverse();
+                    different.file2.reverse();
+                    result.push(different);
+                }
+
+                if (tail1 >= 0) {
+                    common.common.push(file1[tail1]);
+                }
+            }
+
+            processCommon();
+
+            result.reverse();
+            return result;
+        },
+
+        diff_patch: function(file1, file2) {
+            // We apply the LCD to build a JSON representation of a
+            // diff(1)-style patch.
+
+            var result = [];
+            var tail1 = file1.length;
+            var tail2 = file2.length;
+
+            function chunkDescription(file, offset, length) {
+                var chunk = [];
+                for (var i = 0; i < length; i++) {
+                    chunk.push(file[offset + i]);
+                }
+                return {offset: offset,
+                        length: length,
+                        chunk: chunk};
+            }
+
+            for (var candidate = Diff3.longest_common_subsequence(file1, file2);
+                 candidate !== null;
+                 candidate = candidate.chain)
+            {
+                var mismatchLength1 = tail1 - candidate.file1index - 1;
+                var mismatchLength2 = tail2 - candidate.file2index - 1;
+                tail1 = candidate.file1index;
+                tail2 = candidate.file2index;
+
+                if (mismatchLength1 || mismatchLength2) {
+                    result.push({file1: chunkDescription(file1,
+                                                         candidate.file1index + 1,
+                                                         mismatchLength1),
+                                 file2: chunkDescription(file2,
+                                                         candidate.file2index + 1,
+                                                         mismatchLength2)});
+                }
+            }
+
+            result.reverse();
+            return result;
+        },
+
+        strip_patch: function(patch) {
+        // Takes the output of Diff3.diff_patch(), and removes
+        // information from it. It can still be used by patch(),
+        // below, but can no longer be inverted.
+        var newpatch = [];
+        for (var i = 0; i < patch.length; i++) {
+            var chunk = patch[i];
+            newpatch.push({file1: {offset: chunk.file1.offset,
+                       length: chunk.file1.length},
+                   file2: {chunk: chunk.file2.chunk}});
+        }
+        return newpatch;
+        },
+
+        invert_patch: function(patch) {
+            // Takes the output of Diff3.diff_patch(), and inverts the
+            // sense of it, so that it can be applied to file2 to give
+            // file1 rather than the other way around.
+
+            for (var i = 0; i < patch.length; i++) {
+                var chunk = patch[i];
+                var tmp = chunk.file1;
+                chunk.file1 = chunk.file2;
+                chunk.file2 = tmp;
+            }
+        },
+
+        patch: function (file, patch) {
+            // Applies a patch to a file.
+            //
+            // Given file1 and file2, Diff3.patch(file1,
+            // Diff3.diff_patch(file1, file2)) should give file2.
+
+            var result = [];
+            var commonOffset = 0;
+
+            function copyCommon(targetOffset) {
+                while (commonOffset < targetOffset) {
+                    result.push(file[commonOffset]);
+                    commonOffset++;
+                }
+            }
+
+            for (var chunkIndex = 0; chunkIndex < patch.length; chunkIndex++) {
+                var chunk = patch[chunkIndex];
+                copyCommon(chunk.file1.offset);
+                for (var lineIndex = 0; lineIndex < chunk.file2.chunk.length; lineIndex++) {
+                    result.push(chunk.file2.chunk[lineIndex]);
+                }
+                commonOffset += chunk.file1.length;
+            }
+
+            copyCommon(file.length);
+            return result;
+        },
+
+        diff_indices: function(file1, file2) {
+            // We apply the LCS to give a simple representation of the
+            // offsets and lengths of mismatched chunks in the input
+            // files. This is used by diff3_merge_indices below.
+
+            var result = [];
+            var tail1 = file1.length;
+            var tail2 = file2.length;
+
+            for (var candidate = Diff3.longest_common_subsequence(file1, file2);
+                 candidate !== null;
+                 candidate = candidate.chain)
+            {
+                var mismatchLength1 = tail1 - candidate.file1index - 1;
+                var mismatchLength2 = tail2 - candidate.file2index - 1;
+                tail1 = candidate.file1index;
+                tail2 = candidate.file2index;
+
+                if (mismatchLength1 || mismatchLength2) {
+                    result.push({file1: [tail1 + 1, mismatchLength1],
+                                 file2: [tail2 + 1, mismatchLength2]});
+                }
+            }
+
+            result.reverse();
+            return result;
+        },
+
+        diff3_merge_indices: function (a, o, b) {
+            // Given three files, A, O, and B, where both A and B are
+            // independently derived from O, returns a fairly complicated
+            // internal representation of merge decisions it's taken. The
+            // interested reader may wish to consult
+            //
+            // Sanjeev Khanna, Keshav Kunal, and Benjamin C. Pierce. "A
+            // Formal Investigation of Diff3." In Arvind and Prasad,
+            // editors, Foundations of Software Technology and Theoretical
+            // Computer Science (FSTTCS), December 2007.
+            //
+            // (http://www.cis.upenn.edu/~bcpierce/papers/diff3-short.pdf)
+            var i;
+
+            var m1 = Diff3.diff_indices(o, a);
+            var m2 = Diff3.diff_indices(o, b);
+
+            var hunks = [];
+            function addHunk(h, side) {
+                hunks.push([h.file1[0], side, h.file1[1], h.file2[0], h.file2[1]]);
+            }
+            for (i = 0; i < m1.length; i++) { addHunk(m1[i], 0); }
+            for (i = 0; i < m2.length; i++) { addHunk(m2[i], 2); }
+            hunks.sort();
+
+            var result = [];
+            var commonOffset = 0;
+            function copyCommon(targetOffset) {
+                if (targetOffset > commonOffset) {
+                    result.push([1, commonOffset, targetOffset - commonOffset]);
+                    commonOffset = targetOffset;
+                }
+            }
+
+            for (var hunkIndex = 0; hunkIndex < hunks.length; hunkIndex++) {
+                var firstHunkIndex = hunkIndex;
+                var hunk = hunks[hunkIndex];
+                var regionLhs = hunk[0];
+                var regionRhs = regionLhs + hunk[2];
+                while (hunkIndex < hunks.length - 1) {
+                    var maybeOverlapping = hunks[hunkIndex + 1];
+                    var maybeLhs = maybeOverlapping[0];
+                    if (maybeLhs > regionRhs) break;
+                    regionRhs = maybeLhs + maybeOverlapping[2];
+                    hunkIndex++;
+                }
+
+                copyCommon(regionLhs);
+                if (firstHunkIndex == hunkIndex) {
+            // The "overlap" was only one hunk long, meaning that
+            // there's no conflict here. Either a and o were the
+            // same, or b and o were the same.
+                    if (hunk[4] > 0) {
+                        result.push([hunk[1], hunk[3], hunk[4]]);
+                    }
+                } else {
+            // A proper conflict. Determine the extents of the
+            // regions involved from a, o and b. Effectively merge
+            // all the hunks on the left into one giant hunk, and
+            // do the same for the right; then, correct for skew
+            // in the regions of o that each side changed, and
+            // report appropriate spans for the three sides.
+            var regions = {
+                0: [a.length, -1, o.length, -1],
+                2: [b.length, -1, o.length, -1]
+            };
+                    for (i = firstHunkIndex; i <= hunkIndex; i++) {
+                hunk = hunks[i];
+                        var side = hunk[1];
+                var r = regions[side];
+                var oLhs = hunk[0];
+                var oRhs = oLhs + hunk[2];
+                        var abLhs = hunk[3];
+                        var abRhs = abLhs + hunk[4];
+                r[0] = Math.min(abLhs, r[0]);
+                r[1] = Math.max(abRhs, r[1]);
+                r[2] = Math.min(oLhs, r[2]);
+                r[3] = Math.max(oRhs, r[3]);
+                    }
+            var aLhs = regions[0][0] + (regionLhs - regions[0][2]);
+            var aRhs = regions[0][1] + (regionRhs - regions[0][3]);
+            var bLhs = regions[2][0] + (regionLhs - regions[2][2]);
+            var bRhs = regions[2][1] + (regionRhs - regions[2][3]);
+                    result.push([-1,
+                     aLhs,      aRhs      - aLhs,
+                     regionLhs, regionRhs - regionLhs,
+                     bLhs,      bRhs      - bLhs]);
+                }
+                commonOffset = regionRhs;
+            }
+
+            copyCommon(o.length);
+            return result;
+        },
+
+        diff3_merge: function (a, o, b, excludeFalseConflicts) {
+            // Applies the output of Diff3.diff3_merge_indices to actually
+            // construct the merged file; the returned result alternates
+            // between "ok" and "conflict" blocks.
+
+            var result = [];
+            var files = [a, o, b];
+            var indices = Diff3.diff3_merge_indices(a, o, b);
+
+            var okLines = [];
+            function flushOk() {
+                if (okLines.length) {
+                    result.push({ok: okLines});
+                }
+                okLines = [];
+            }
+            function pushOk(xs) {
+                for (var j = 0; j < xs.length; j++) {
+                    okLines.push(xs[j]);
+                }
+            }
+
+            function isTrueConflict(rec) {
+                if (rec[2] != rec[6]) return true;
+                var aoff = rec[1];
+                var boff = rec[5];
+                for (var j = 0; j < rec[2]; j++) {
+                    if (a[j + aoff] != b[j + boff]) return true;
+                }
+                return false;
+            }
+
+            for (var i = 0; i < indices.length; i++) {
+                var x = indices[i];
+                var side = x[0];
+                if (side == -1) {
+                    if (excludeFalseConflicts && !isTrueConflict(x)) {
+                        pushOk(files[0].slice(x[1], x[1] + x[2]));
+                    } else {
+                        flushOk();
+                        result.push({conflict: {a: a.slice(x[1], x[1] + x[2]),
+                                                aIndex: x[1],
+                                                o: o.slice(x[3], x[3] + x[4]),
+                                                oIndex: x[3],
+                                                b: b.slice(x[5], x[5] + x[6]),
+                                                bIndex: x[5]}});
+                    }
+                } else {
+                    pushOk(files[side].slice(x[1], x[1] + x[2]));
+                }
+            }
+
+            flushOk();
+            return result;
+        }
+    };
+    return diff3;
+})();
+
+if (typeof module !== 'undefined') module.exports = Diff3;
 var JXON = new (function () {
   var
     sValueProp = "keyValue", sAttributesProp = "keyAttributes", sAttrPref = "@", /* you can customize these values */
@@ -6274,1044 +7652,1173 @@ var JXON = new (function () {
 
 // var newDoc = JXON.unbuild(myObject);
 // we got our Document instance! try: alert((new XMLSerializer()).serializeToString(newDoc));
-/*!
- * Lo-Dash 1.0.0-rc.3 <http://lodash.com>
- * (c) 2012 John-David Dalton <http://allyoucanleet.com/>
- * Based on Underscore.js 1.4.3 <http://underscorejs.org>
- * (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc.
- * Available under MIT license <http://lodash.com/license>
+/**
+ * @license
+ * lodash 3.9.3 (Custom Build) <https://lodash.com/>
+ * Build: `lodash --development --output js/lib/lodash.js include="any,assign,bind,chunk,clone,compact,contains,debounce,difference,each,every,extend,filter,find,first,forEach,forOwn,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,pairs,pluck,reject,some,throttle,union,uniq,unique,values,without,flatten,value,chain,cloneDeep,merge,pick,reduce" exports="global,node"`
+ * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>
+ * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
+ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
+ * Available under MIT license <https://lodash.com/license>
  */
-;(function(window, undefined) {
+;(function() {
 
-  /** Detect free variable `exports` */
-  var freeExports = typeof exports == 'object' && exports;
+  /** Used as a safe reference for `undefined` in pre-ES5 environments. */
+  var undefined;
+
+  /** Used as the semantic version number. */
+  var VERSION = '3.9.3';
+
+  /** Used to compose bitmasks for wrapper metadata. */
+  var BIND_FLAG = 1,
+      BIND_KEY_FLAG = 2,
+      CURRY_BOUND_FLAG = 4,
+      CURRY_FLAG = 8,
+      CURRY_RIGHT_FLAG = 16,
+      PARTIAL_FLAG = 32,
+      PARTIAL_RIGHT_FLAG = 64,
+      ARY_FLAG = 128,
+      REARG_FLAG = 256;
+
+  /** Used to detect when a function becomes hot. */
+  var HOT_COUNT = 150,
+      HOT_SPAN = 16;
+
+  /** Used to indicate the type of lazy iteratees. */
+  var LAZY_DROP_WHILE_FLAG = 0,
+      LAZY_FILTER_FLAG = 1,
+      LAZY_MAP_FLAG = 2;
+
+  /** Used as the `TypeError` message for "Functions" methods. */
+  var FUNC_ERROR_TEXT = 'Expected a function';
+
+  /** Used as the internal argument placeholder. */
+  var PLACEHOLDER = '__lodash_placeholder__';
+
+  /** `Object#toString` result references. */
+  var argsTag = '[object Arguments]',
+      arrayTag = '[object Array]',
+      boolTag = '[object Boolean]',
+      dateTag = '[object Date]',
+      errorTag = '[object Error]',
+      funcTag = '[object Function]',
+      mapTag = '[object Map]',
+      numberTag = '[object Number]',
+      objectTag = '[object Object]',
+      regexpTag = '[object RegExp]',
+      setTag = '[object Set]',
+      stringTag = '[object String]',
+      weakMapTag = '[object WeakMap]';
+
+  var arrayBufferTag = '[object ArrayBuffer]',
+      float32Tag = '[object Float32Array]',
+      float64Tag = '[object Float64Array]',
+      int8Tag = '[object Int8Array]',
+      int16Tag = '[object Int16Array]',
+      int32Tag = '[object Int32Array]',
+      uint8Tag = '[object Uint8Array]',
+      uint8ClampedTag = '[object Uint8ClampedArray]',
+      uint16Tag = '[object Uint16Array]',
+      uint32Tag = '[object Uint32Array]';
+
+  /** Used to match property names within property paths. */
+  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
+      reIsPlainProp = /^\w*$/,
+      rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g;
 
-  /** Detect free variable `global` and use it as `window` */
-  var freeGlobal = typeof global == 'object' && global;
-  if (freeGlobal.global === freeGlobal) {
-    window = freeGlobal;
-  }
+  /**
+   * Used to match `RegExp` [special characters](http://www.regular-expressions.info/characters.html#special).
+   * In addition to special characters the forward slash is escaped to allow for
+   * easier `eval` use and `Function` compilation.
+   */
+  var reRegExpChars = /[.*+?^${}()|[\]\/\\]/g,
+      reHasRegExpChars = RegExp(reRegExpChars.source);
 
-  /** Used for array and object method references */
-  var arrayRef = [],
-      // avoid a Closure Compiler bug by creatively creating an object
-      objectRef = new function(){};
+  /** Used to match backslashes in property paths. */
+  var reEscapeChar = /\\(\\)?/g;
 
-  /** Used to generate unique IDs */
-  var idCounter = 0;
+  /** Used to match `RegExp` flags from their coerced string values. */
+  var reFlags = /\w*$/;
+
+  /** Used to detect host constructors (Safari > 5). */
+  var reIsHostCtor = /^\[object .+?Constructor\]$/;
 
-  /** Used internally to indicate various things */
-  var indicatorObject = objectRef;
+  /** Used to detect unsigned integer values. */
+  var reIsUint = /^\d+$/;
+
+  /** Used to fix the JScript `[[DontEnum]]` bug. */
+  var shadowProps = [
+    'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
+    'toLocaleString', 'toString', 'valueOf'
+  ];
 
-  /** Used by `cachedContains` as the default size when optimizations are enabled for large arrays */
-  var largeArraySize = 30;
+  /** Used to identify `toStringTag` values of typed arrays. */
+  var typedArrayTags = {};
+  typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =
+  typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =
+  typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =
+  typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =
+  typedArrayTags[uint32Tag] = true;
+  typedArrayTags[argsTag] = typedArrayTags[arrayTag] =
+  typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =
+  typedArrayTags[dateTag] = typedArrayTags[errorTag] =
+  typedArrayTags[funcTag] = typedArrayTags[mapTag] =
+  typedArrayTags[numberTag] = typedArrayTags[objectTag] =
+  typedArrayTags[regexpTag] = typedArrayTags[setTag] =
+  typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false;
+
+  /** Used to identify `toStringTag` values supported by `_.clone`. */
+  var cloneableTags = {};
+  cloneableTags[argsTag] = cloneableTags[arrayTag] =
+  cloneableTags[arrayBufferTag] = cloneableTags[boolTag] =
+  cloneableTags[dateTag] = cloneableTags[float32Tag] =
+  cloneableTags[float64Tag] = cloneableTags[int8Tag] =
+  cloneableTags[int16Tag] = cloneableTags[int32Tag] =
+  cloneableTags[numberTag] = cloneableTags[objectTag] =
+  cloneableTags[regexpTag] = cloneableTags[stringTag] =
+  cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =
+  cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
+  cloneableTags[errorTag] = cloneableTags[funcTag] =
+  cloneableTags[mapTag] = cloneableTags[setTag] =
+  cloneableTags[weakMapTag] = false;
+
+  /** Used as an internal `_.debounce` options object by `_.throttle`. */
+  var debounceOptions = {
+    'leading': false,
+    'maxWait': 0,
+    'trailing': false
+  };
 
-  /** Used to restore the original `_` reference in `noConflict` */
-  var oldDash = window._;
+  /** Used to determine if values are of the language type `Object`. */
+  var objectTypes = {
+    'function': true,
+    'object': true
+  };
 
-  /** Used to detect template delimiter values that require a with-statement */
-  var reComplexDelimiter = /[-?+=!~*%&^<>|{(\/]|\[\D|\b(?:delete|in|instanceof|new|typeof|void)\b/;
+  /** Detect free variable `exports`. */
+  var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;
 
-  /** Used to match HTML entities */
-  var reEscapedHtml = /&(?:amp|lt|gt|quot|#x27);/g;
+  /** Detect free variable `module`. */
+  var freeModule = objectTypes[typeof module] && module && !module.nodeType && module;
 
-  /** Used to match empty string literals in compiled template source */
-  var reEmptyStringLeading = /\b__p \+= '';/g,
-      reEmptyStringMiddle = /\b(__p \+=) '' \+/g,
-      reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g;
+  /** Detect free variable `global` from Node.js. */
+  var freeGlobal = freeExports && freeModule && typeof global == 'object' && global && global.Object && global;
 
-  /** Used to match regexp flags from their coerced string values */
-  var reFlags = /\w*$/;
+  /** Detect free variable `self`. */
+  var freeSelf = objectTypes[typeof self] && self && self.Object && self;
 
-  /** Used to insert the data object variable into compiled template source */
-  var reInsertVariable = /(?:__e|__t = )\(\s*(?![\d\s"']|this\.)/g;
+  /** Detect free variable `window`. */
+  var freeWindow = objectTypes[typeof window] && window && window.Object && window;
 
-  /** Used to detect if a method is native */
-  var reNative = RegExp('^' +
-    (objectRef.valueOf + '')
-      .replace(/[.*+?^=!:${}()|[\]\/\\]/g, '\\$&')
-      .replace(/valueOf|for [^\]]+/g, '.+?') + '$'
-  );
+  /** Detect the popular CommonJS extension `module.exports`. */
+  var moduleExports = freeModule && freeModule.exports === freeExports && freeExports;
 
   /**
-   * Used to match ES6 template delimiters
-   * http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6
+   * Used as a reference to the global object.
+   *
+   * The `this` value is used if it's the global object to avoid Greasemonkey's
+   * restricted `window` object, otherwise the `window` object is used.
    */
-  var reEsTemplate = /\$\{((?:(?=\\?)\\?[\s\S])*?)}/g;
+  var root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;
 
-  /** Used to match "interpolate" template delimiters */
-  var reInterpolate = /<%=([\s\S]+?)%>/g;
+  /*--------------------------------------------------------------------------*/
 
-  /** Used to ensure capturing order of template delimiters */
-  var reNoMatch = /($^)/;
+  /**
+   * The base implementation of `_.findIndex` and `_.findLastIndex` without
+   * support for callback shorthands and `this` binding.
+   *
+   * @private
+   * @param {Array} array The array to search.
+   * @param {Function} predicate The function invoked per iteration.
+   * @param {boolean} [fromRight] Specify iterating from right to left.
+   * @returns {number} Returns the index of the matched value, else `-1`.
+   */
+  function baseFindIndex(array, predicate, fromRight) {
+    var length = array.length,
+        index = fromRight ? length : -1;
 
-  /** Used to match HTML characters */
-  var reUnescapedHtml = /[&<>"']/g;
+    while ((fromRight ? index-- : ++index < length)) {
+      if (predicate(array[index], index, array)) {
+        return index;
+      }
+    }
+    return -1;
+  }
 
-  /** Used to match unescaped characters in compiled string literals */
-  var reUnescapedString = /['\n\r\t\u2028\u2029\\]/g;
+  /**
+   * The base implementation of `_.indexOf` without support for binary searches.
+   *
+   * @private
+   * @param {Array} array The array to search.
+   * @param {*} value The value to search for.
+   * @param {number} fromIndex The index to search from.
+   * @returns {number} Returns the index of the matched value, else `-1`.
+   */
+  function baseIndexOf(array, value, fromIndex) {
+    if (value !== value) {
+      return indexOfNaN(array, fromIndex);
+    }
+    var index = fromIndex - 1,
+        length = array.length;
 
-  /** Used to fix the JScript [[DontEnum]] bug */
-  var shadowed = [
-    'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
-    'toLocaleString', 'toString', 'valueOf'
-  ];
+    while (++index < length) {
+      if (array[index] === value) {
+        return index;
+      }
+    }
+    return -1;
+  }
 
-  /** Used to make template sourceURLs easier to identify */
-  var templateCounter = 0;
+  /**
+   * The base implementation of `_.isFunction` without support for environments
+   * with incorrect `typeof` results.
+   *
+   * @private
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+   */
+  function baseIsFunction(value) {
+    // Avoid a Chakra JIT bug in compatibility modes of IE 11.
+    // See https://github.com/jashkenas/underscore/issues/1621 for more details.
+    return typeof value == 'function' || false;
+  }
 
-  /** Native method shortcuts */
-  var ceil = Math.ceil,
-      concat = arrayRef.concat,
-      floor = Math.floor,
-      getPrototypeOf = reNative.test(getPrototypeOf = Object.getPrototypeOf) && getPrototypeOf,
-      hasOwnProperty = objectRef.hasOwnProperty,
-      push = arrayRef.push,
-      propertyIsEnumerable = objectRef.propertyIsEnumerable,
-      toString = objectRef.toString;
-
-  /* Native method shortcuts for methods with the same name as other `lodash` methods */
-  var nativeBind = reNative.test(nativeBind = slice.bind) && nativeBind,
-      nativeIsArray = reNative.test(nativeIsArray = Array.isArray) && nativeIsArray,
-      nativeIsFinite = window.isFinite,
-      nativeIsNaN = window.isNaN,
-      nativeKeys = reNative.test(nativeKeys = Object.keys) && nativeKeys,
-      nativeMax = Math.max,
-      nativeMin = Math.min,
-      nativeRandom = Math.random;
+  /**
+   * Converts `value` to a string if it's not one. An empty string is returned
+   * for `null` or `undefined` values.
+   *
+   * @private
+   * @param {*} value The value to process.
+   * @returns {string} Returns the string.
+   */
+  function baseToString(value) {
+    if (typeof value == 'string') {
+      return value;
+    }
+    return value == null ? '' : (value + '');
+  }
 
-  /** `Object#toString` result shortcuts */
-  var argsClass = '[object Arguments]',
-      arrayClass = '[object Array]',
-      boolClass = '[object Boolean]',
-      dateClass = '[object Date]',
-      funcClass = '[object Function]',
-      numberClass = '[object Number]',
-      objectClass = '[object Object]',
-      regexpClass = '[object RegExp]',
-      stringClass = '[object String]';
+  /**
+   * Gets the index at which the first occurrence of `NaN` is found in `array`.
+   *
+   * @private
+   * @param {Array} array The array to search.
+   * @param {number} fromIndex The index to search from.
+   * @param {boolean} [fromRight] Specify iterating from right to left.
+   * @returns {number} Returns the index of the matched `NaN`, else `-1`.
+   */
+  function indexOfNaN(array, fromIndex, fromRight) {
+    var length = array.length,
+        index = fromIndex + (fromRight ? 0 : -1);
 
-  /** Detect various environments */
-  var isIeOpera = !!window.attachEvent,
-      isV8 = nativeBind && !/\n|true/.test(nativeBind + isIeOpera);
+    while ((fromRight ? index-- : ++index < length)) {
+      var other = array[index];
+      if (other !== other) {
+        return index;
+      }
+    }
+    return -1;
+  }
 
-  /* Detect if `Function#bind` exists and is inferred to be fast (all but V8) */
-  var isBindFast = nativeBind && !isV8;
+  /**
+   * Checks if `value` is a host object in IE < 9.
+   *
+   * @private
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is a host object, else `false`.
+   */
+  var isHostObject = (function() {
+    try {
+      Object({ 'toString': 0 } + '');
+    } catch(e) {
+      return function() { return false; };
+    }
+    return function(value) {
+      // IE < 9 presents many host objects as `Object` objects that can coerce
+      // to strings despite having improperly defined `toString` methods.
+      return typeof value.toString != 'function' && typeof (value + '') == 'string';
+    };
+  }());
 
-  /* Detect if `Object.keys` exists and is inferred to be fast (IE, Opera, V8) */
-  var isKeysFast = nativeKeys && (isIeOpera || isV8);
+  /**
+   * Checks if `value` is object-like.
+   *
+   * @private
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
+   */
+  function isObjectLike(value) {
+    return !!value && typeof value == 'object';
+  }
 
   /**
-   * Detect the JScript [[DontEnum]] bug:
+   * Replaces all `placeholder` elements in `array` with an internal placeholder
+   * and returns an array of their indexes.
    *
-   * In IE < 9 an objects own properties, shadowing non-enumerable ones, are
-   * made non-enumerable as well.
+   * @private
+   * @param {Array} array The array to modify.
+   * @param {*} placeholder The placeholder to replace.
+   * @returns {Array} Returns the new array of placeholder indexes.
    */
-  var hasDontEnumBug;
+  function replaceHolders(array, placeholder) {
+    var index = -1,
+        length = array.length,
+        resIndex = -1,
+        result = [];
 
-  /** Detect if own properties are iterated after inherited properties (IE < 9) */
-  var iteratesOwnLast;
+    while (++index < length) {
+      if (array[index] === placeholder) {
+        array[index] = PLACEHOLDER;
+        result[++resIndex] = index;
+      }
+    }
+    return result;
+  }
 
   /**
-   * Detect if `Array#shift` and `Array#splice` augment array-like objects
-   * incorrectly:
+   * An implementation of `_.uniq` optimized for sorted arrays without support
+   * for callback shorthands and `this` binding.
    *
-   * Firefox < 10, IE compatibility mode, and IE < 9 have buggy Array `shift()`
-   * and `splice()` functions that fail to remove the last element, `value[0]`,
-   * of array-like objects even though the `length` property is set to `0`.
-   * The `shift()` method is buggy in IE 8 compatibility mode, while `splice()`
-   * is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9.
+   * @private
+   * @param {Array} array The array to inspect.
+   * @param {Function} [iteratee] The function invoked per iteration.
+   * @returns {Array} Returns the new duplicate-value-free array.
    */
-  var hasObjectSpliceBug = (hasObjectSpliceBug = { '0': 1, 'length': 1 },
-    arrayRef.splice.call(hasObjectSpliceBug, 0, 1), hasObjectSpliceBug[0]);
+  function sortedUniq(array, iteratee) {
+    var seen,
+        index = -1,
+        length = array.length,
+        resIndex = -1,
+        result = [];
 
-  /** Detect if an `arguments` object's indexes are non-enumerable (IE < 9) */
-  var nonEnumArgs = true;
+    while (++index < length) {
+      var value = array[index],
+          computed = iteratee ? iteratee(value, index, array) : value;
 
-  (function() {
-    var props = [];
-    function ctor() { this.x = 1; }
-    ctor.prototype = { 'valueOf': 1, 'y': 1 };
-    for (var prop in new ctor) { props.push(prop); }
-    for (prop in arguments) { nonEnumArgs = !prop; }
+      if (!index || seen !== computed) {
+        seen = computed;
+        result[++resIndex] = value;
+      }
+    }
+    return result;
+  }
 
-    hasDontEnumBug = !/valueOf/.test(props);
-    iteratesOwnLast = props[0] != 'x';
-  }(1));
+  /*--------------------------------------------------------------------------*/
 
-  /** Detect if `arguments` objects are `Object` objects (all but Opera < 10.5) */
-  var argsAreObjects = arguments.constructor == Object;
+  /** Used for native method references. */
+  var arrayProto = Array.prototype,
+      errorProto = Error.prototype,
+      objectProto = Object.prototype,
+      stringProto = String.prototype;
 
-  /** Detect if `arguments` objects [[Class]] is unresolvable (Firefox < 4, IE < 9) */
-  var noArgsClass = !isArguments(arguments);
+  /** Used to resolve the decompiled source of functions. */
+  var fnToString = Function.prototype.toString;
 
-  /**
-   * Detect lack of support for accessing string characters by index:
-   *
-   * IE < 8 can't access characters by index and IE 8 can only access
-   * characters by index on string literals.
-   */
-  var noCharByIndex = ('x'[0] + Object('x')[0]) != 'xx';
+  /** Used to check objects for own properties. */
+  var hasOwnProperty = objectProto.hasOwnProperty;
 
   /**
-   * Detect if a node's [[Class]] is unresolvable (IE < 9)
-   * and that the JS engine won't error when attempting to coerce an object to
-   * a string without a `toString` property value of `typeof` "function".
+   * Used to resolve the [`toStringTag`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.prototype.tostring)
+   * of values.
    */
-  try {
-    var noNodeClass = ({ 'toString': 0 } + '', toString.call(document) == objectClass);
-  } catch(e) { }
+  var objToString = objectProto.toString;
+
+  /** Used to detect if a method is native. */
+  var reIsNative = RegExp('^' +
+    escapeRegExp(fnToString.call(hasOwnProperty))
+    .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'
+  );
+
+  /** Native method references. */
+  var ArrayBuffer = getNative(root, 'ArrayBuffer'),
+      bufferSlice = getNative(ArrayBuffer && new ArrayBuffer(0), 'slice'),
+      ceil = Math.ceil,
+      floor = Math.floor,
+      getPrototypeOf = getNative(Object, 'getPrototypeOf'),
+      push = arrayProto.push,
+      propertyIsEnumerable = objectProto.propertyIsEnumerable,
+      Set = getNative(root, 'Set'),
+      splice = arrayProto.splice,
+      Uint8Array = getNative(root, 'Uint8Array'),
+      WeakMap = getNative(root, 'WeakMap');
+
+  /** Used to clone array buffers. */
+  var Float64Array = (function() {
+    // Safari 5 errors when using an array buffer to initialize a typed array
+    // where the array buffer's `byteLength` is not a multiple of the typed
+    // array's `BYTES_PER_ELEMENT`.
+    try {
+      var func = getNative(root, 'Float64Array'),
+          result = new func(new ArrayBuffer(10), 0, 1) && func;
+    } catch(e) {}
+    return result || null;
+  }());
+
+  /* Native method references for those with the same name as other `lodash` methods. */
+  var nativeCreate = getNative(Object, 'create'),
+      nativeIsArray = getNative(Array, 'isArray'),
+      nativeKeys = getNative(Object, 'keys'),
+      nativeMax = Math.max,
+      nativeMin = Math.min,
+      nativeNow = getNative(Date, 'now');
+
+  /** Used as references for `-Infinity` and `Infinity`. */
+  var POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
+
+  /** Used as references for the maximum length and index of an array. */
+  var MAX_ARRAY_LENGTH = 4294967295,
+      MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,
+      HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;
+
+  /** Used as the size, in bytes, of each `Float64Array` element. */
+  var FLOAT64_BYTES_PER_ELEMENT = Float64Array ? Float64Array.BYTES_PER_ELEMENT : 0;
 
   /**
-   * Detect if sourceURL syntax is usable without erroring:
-   *
-   * The JS engine embedded in Adobe products will throw a syntax error when
-   * it encounters a single line comment beginning with the `@` symbol.
-   *
-   * The JS engine in Narwhal will generate the function `function anonymous(){//}`
-   * and throw a syntax error.
-   *
-   * Avoid comments beginning `@` symbols in IE because they are part of its
-   * non-standard conditional compilation support.
-   * http://msdn.microsoft.com/en-us/library/121hztk3(v=vs.94).aspx
+   * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
+   * of an array-like value.
    */
-  try {
-    var useSourceURL = (Function('//@')(), !isIeOpera);
-  } catch(e) { }
-
-  /** Used to identify object classifications that `_.clone` supports */
-  var cloneableClasses = {};
-  cloneableClasses[funcClass] = false;
-  cloneableClasses[argsClass] = cloneableClasses[arrayClass] =
-  cloneableClasses[boolClass] = cloneableClasses[dateClass] =
-  cloneableClasses[numberClass] = cloneableClasses[objectClass] =
-  cloneableClasses[regexpClass] = cloneableClasses[stringClass] = true;
-
-  /** Used to lookup a built-in constructor by [[Class]] */
-  var ctorByClass = {};
-  ctorByClass[arrayClass] = Array;
-  ctorByClass[boolClass] = Boolean;
-  ctorByClass[dateClass] = Date;
-  ctorByClass[objectClass] = Object;
-  ctorByClass[numberClass] = Number;
-  ctorByClass[regexpClass] = RegExp;
-  ctorByClass[stringClass] = String;
-
-  /** Used to determine if values are of the language type Object */
-  var objectTypes = {
-    'boolean': false,
-    'function': true,
-    'object': true,
-    'number': false,
-    'string': false,
-    'undefined': false
-  };
-
-  /** Used to escape characters for inclusion in compiled string literals */
-  var stringEscapes = {
-    '\\': '\\',
-    "'": "'",
-    '\n': 'n',
-    '\r': 'r',
-    '\t': 't',
-    '\u2028': 'u2028',
-    '\u2029': 'u2029'
-  };
+  var MAX_SAFE_INTEGER = 9007199254740991;
+
+  /** Used to store function metadata. */
+  var metaMap = WeakMap && new WeakMap;
+
+  /** Used to lookup unminified function names. */
+  var realNames = {};
+
+  /** Used to lookup a type array constructors by `toStringTag`. */
+  var ctorByTag = {};
+  ctorByTag[float32Tag] = root.Float32Array;
+  ctorByTag[float64Tag] = root.Float64Array;
+  ctorByTag[int8Tag] = root.Int8Array;
+  ctorByTag[int16Tag] = root.Int16Array;
+  ctorByTag[int32Tag] = root.Int32Array;
+  ctorByTag[uint8Tag] = root.Uint8Array;
+  ctorByTag[uint8ClampedTag] = root.Uint8ClampedArray;
+  ctorByTag[uint16Tag] = root.Uint16Array;
+  ctorByTag[uint32Tag] = root.Uint32Array;
+
+  /** Used to avoid iterating over non-enumerable properties in IE < 9. */
+  var nonEnumProps = {};
+  nonEnumProps[arrayTag] = nonEnumProps[dateTag] = nonEnumProps[numberTag] = { 'constructor': true, 'toLocaleString': true, 'toString': true, 'valueOf': true };
+  nonEnumProps[boolTag] = nonEnumProps[stringTag] = { 'constructor': true, 'toString': true, 'valueOf': true };
+  nonEnumProps[errorTag] = nonEnumProps[funcTag] = nonEnumProps[regexpTag] = { 'constructor': true, 'toString': true };
+  nonEnumProps[objectTag] = { 'constructor': true };
+
+  arrayEach(shadowProps, function(key) {
+    for (var tag in nonEnumProps) {
+      if (hasOwnProperty.call(nonEnumProps, tag)) {
+        var props = nonEnumProps[tag];
+        props[key] = hasOwnProperty.call(props, key);
+      }
+    }
+  });
 
-  /*--------------------------------------------------------------------------*/
+  /*------------------------------------------------------------------------*/
 
   /**
-   * Creates a `lodash` object, that wraps the given `value`, to enable
-   * method chaining.
+   * Creates a `lodash` object which wraps `value` to enable implicit chaining.
+   * Methods that operate on and return arrays, collections, and functions can
+   * be chained together. Methods that return a boolean or single value will
+   * automatically end the chain returning the unwrapped value. Explicit chaining
+   * may be enabled using `_.chain`. The execution of chained methods is lazy,
+   * that is, execution is deferred until `_#value` is implicitly or explicitly
+   * called.
+   *
+   * Lazy evaluation allows several methods to support shortcut fusion. Shortcut
+   * fusion is an optimization that merges iteratees to avoid creating intermediate
+   * arrays and reduce the number of iteratee executions.
+   *
+   * Chaining is supported in custom builds as long as the `_#value` method is
+   * directly or indirectly included in the build.
+   *
+   * In addition to lodash methods, wrappers have `Array` and `String` methods.
+   *
+   * The wrapper `Array` methods are:
+   * `concat`, `join`, `pop`, `push`, `reverse`, `shift`, `slice`, `sort`,
+   * `splice`, and `unshift`
+   *
+   * The wrapper `String` methods are:
+   * `replace` and `split`
+   *
+   * The wrapper methods that support shortcut fusion are:
+   * `compact`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `filter`,
+   * `first`, `initial`, `last`, `map`, `pluck`, `reject`, `rest`, `reverse`,
+   * `slice`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `toArray`,
+   * and `where`
+   *
+   * The chainable wrapper methods are:
+   * `after`, `ary`, `assign`, `at`, `before`, `bind`, `bindAll`, `bindKey`,
+   * `callback`, `chain`, `chunk`, `commit`, `compact`, `concat`, `constant`,
+   * `countBy`, `create`, `curry`, `debounce`, `defaults`, `defer`, `delay`,
+   * `difference`, `drop`, `dropRight`, `dropRightWhile`, `dropWhile`, `fill`,
+   * `filter`, `flatten`, `flattenDeep`, `flow`, `flowRight`, `forEach`,
+   * `forEachRight`, `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `functions`,
+   * `groupBy`, `indexBy`, `initial`, `intersection`, `invert`, `invoke`, `keys`,
+   * `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,
+   * `memoize`, `merge`, `method`, `methodOf`, `mixin`, `negate`, `omit`, `once`,
+   * `pairs`, `partial`, `partialRight`, `partition`, `pick`, `plant`, `pluck`,
+   * `property`, `propertyOf`, `pull`, `pullAt`, `push`, `range`, `rearg`,
+   * `reject`, `remove`, `rest`, `restParam`, `reverse`, `set`, `shuffle`,
+   * `slice`, `sort`, `sortBy`, `sortByAll`, `sortByOrder`, `splice`, `spread`,
+   * `take`, `takeRight`, `takeRightWhile`, `takeWhile`, `tap`, `throttle`,
+   * `thru`, `times`, `toArray`, `toPlainObject`, `transform`, `union`, `uniq`,
+   * `unshift`, `unzip`, `unzipWith`, `values`, `valuesIn`, `where`, `without`,
+   * `wrap`, `xor`, `zip`, `zipObject`, `zipWith`
+   *
+   * The wrapper methods that are **not** chainable by default are:
+   * `add`, `attempt`, `camelCase`, `capitalize`, `clone`, `cloneDeep`, `deburr`,
+   * `endsWith`, `escape`, `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`,
+   * `findLast`, `findLastIndex`, `findLastKey`, `findWhere`, `first`, `get`,
+   * `gt`, `gte`, `has`, `identity`, `includes`, `indexOf`, `inRange`, `isArguments`,
+   * `isArray`, `isBoolean`, `isDate`, `isElement`, `isEmpty`, `isEqual`, `isError`,
+   * `isFinite` `isFunction`, `isMatch`, `isNative`, `isNaN`, `isNull`, `isNumber`,
+   * `isObject`, `isPlainObject`, `isRegExp`, `isString`, `isUndefined`,
+   * `isTypedArray`, `join`, `kebabCase`, `last`, `lastIndexOf`, `lt`, `lte`,
+   * `max`, `min`, `noConflict`, `noop`, `now`, `pad`, `padLeft`, `padRight`,
+   * `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, `repeat`, `result`,
+   * `runInContext`, `shift`, `size`, `snakeCase`, `some`, `sortedIndex`,
+   * `sortedLastIndex`, `startCase`, `startsWith`, `sum`, `template`, `trim`,
+   * `trimLeft`, `trimRight`, `trunc`, `unescape`, `uniqueId`, `value`, and `words`
+   *
+   * The wrapper method `sample` will return a wrapped value when `n` is provided,
+   * otherwise an unwrapped value is returned.
    *
-   * The chainable wrapper functions are:
-   * `after`, `assign`, `bind`, `bindAll`, `bindKey`, `chain`, `compact`, `compose`,
-   * `concat`, `countBy`, `debounce`, `defaults`, `defer`, `delay`, `difference`,
-   * `filter`, `flatten`, `forEach`, `forIn`, `forOwn`, `functions`, `groupBy`,
-   * `initial`, `intersection`, `invert`, `invoke`, `keys`, `map`, `max`, `memoize`,
-   * `merge`, `min`, `object`, `omit`, `once`, `pairs`, `partial`, `pick`, `pluck`,
-   * `push`, `range`, `reject`, `rest`, `reverse`, `shuffle`, `slice`, `sort`,
-   * `sortBy`, `splice`, `tap`, `throttle`, `times`, `toArray`, `union`, `uniq`,
-   * `unshift`, `values`, `where`, `without`, `wrap`, and `zip`
+   * @name _
+   * @constructor
+   * @category Chain
+   * @param {*} value The value to wrap in a `lodash` instance.
+   * @returns {Object} Returns the new `lodash` wrapper instance.
+   * @example
    *
-   * The non-chainable wrapper functions are:
-   * `clone`, `cloneDeep`, `contains`, `escape`, `every`, `find`, `has`, `identity`,
-   * `indexOf`, `isArguments`, `isArray`, `isBoolean`, `isDate`, `isElement`, `isEmpty`,
-   * `isEqual`, `isFinite`, `isFunction`, `isNaN`, `isNull`, `isNumber`, `isObject`,
-   * `isPlainObject`, `isRegExp`, `isString`, `isUndefined`, `join`, `lastIndexOf`,
-   * `mixin`, `noConflict`, `pop`, `random`, `reduce`, `reduceRight`, `result`,
-   * `shift`, `size`, `some`, `sortedIndex`, `template`, `unescape`, and `uniqueId`
+   * var wrapped = _([1, 2, 3]);
    *
-   * The wrapper functions `first` and `last` return wrapped values when `n` is
-   * passed, otherwise they return unwrapped values.
+   * // returns an unwrapped value
+   * wrapped.reduce(function(total, n) {
+   *   return total + n;
+   * });
+   * // => 6
    *
-   * @name _
-   * @constructor
-   * @category Chaining
-   * @param {Mixed} value The value to wrap in a `lodash` instance.
-   * @returns {Object} Returns a `lodash` instance.
+   * // returns a wrapped value
+   * var squares = wrapped.map(function(n) {
+   *   return n * n;
+   * });
+   *
+   * _.isArray(squares);
+   * // => false
+   *
+   * _.isArray(squares.value());
+   * // => true
    */
   function lodash(value) {
-    // exit early if already wrapped, even if wrapped by a different `lodash` constructor
-    if (value && typeof value == 'object' && value.__wrapped__) {
-      return value;
-    }
-    // allow invoking `lodash` without the `new` operator
-    if (!(this instanceof lodash)) {
-      return new lodash(value);
+    if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {
+      if (value instanceof LodashWrapper) {
+        return value;
+      }
+      if (hasOwnProperty.call(value, '__chain__') && hasOwnProperty.call(value, '__wrapped__')) {
+        return wrapperClone(value);
+      }
     }
+    return new LodashWrapper(value);
+  }
+
+  /**
+   * The function whose prototype all chaining wrappers inherit from.
+   *
+   * @private
+   */
+  function baseLodash() {
+    // No operation performed.
+  }
+
+  /**
+   * The base constructor for creating `lodash` wrapper objects.
+   *
+   * @private
+   * @param {*} value The value to wrap.
+   * @param {boolean} [chainAll] Enable chaining for all wrapper methods.
+   * @param {Array} [actions=[]] Actions to peform to resolve the unwrapped value.
+   */
+  function LodashWrapper(value, chainAll, actions) {
     this.__wrapped__ = value;
+    this.__actions__ = actions || [];
+    this.__chain__ = !!chainAll;
   }
 
   /**
-   * By default, the template delimiters used by Lo-Dash are similar to those in
-   * embedded Ruby (ERB). Change the following template settings to use alternative
-   * delimiters.
+   * An object environment feature flags.
    *
    * @static
    * @memberOf _
    * @type Object
    */
-  lodash.templateSettings = {
+  var support = lodash.support = {};
+
+  (function(x) {
+    var Ctor = function() { this.x = x; },
+        object = { '0': x, 'length': x },
+        props = [];
+
+    Ctor.prototype = { 'valueOf': x, 'y': x };
+    for (var key in new Ctor) { props.push(key); }
 
     /**
-     * Used to detect `data` property values to be HTML-escaped.
+     * Detect if the `toStringTag` of `arguments` objects is resolvable
+     * (all but Firefox < 4, IE < 9).
      *
-     * @static
-     * @memberOf _.templateSettings
-     * @type RegExp
+     * @memberOf _.support
+     * @type boolean
      */
-    'escape': /<%-([\s\S]+?)%>/g,
+    support.argsTag = objToString.call(arguments) == argsTag;
 
     /**
-     * Used to detect code to be evaluated.
+     * Detect if `name` or `message` properties of `Error.prototype` are
+     * enumerable by default (IE < 9, Safari < 5.1).
      *
-     * @static
-     * @memberOf _.templateSettings
-     * @type RegExp
+     * @memberOf _.support
+     * @type boolean
      */
-    'evaluate': /<%([\s\S]+?)%>/g,
+    support.enumErrorProps = propertyIsEnumerable.call(errorProto, 'message') ||
+      propertyIsEnumerable.call(errorProto, 'name');
 
     /**
-     * Used to detect `data` property values to inject.
+     * Detect if `prototype` properties are enumerable by default.
+     *
+     * Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1
+     * (if the prototype or a property on the prototype has been set)
+     * incorrectly set the `[[Enumerable]]` value of a function's `prototype`
+     * property to `true`.
      *
-     * @static
-     * @memberOf _.templateSettings
-     * @type RegExp
+     * @memberOf _.support
+     * @type boolean
      */
-    'interpolate': reInterpolate,
+    support.enumPrototypes = propertyIsEnumerable.call(Ctor, 'prototype');
 
     /**
-     * Used to reference the data object in the template text.
+     * Detect if properties shadowing those on `Object.prototype` are non-enumerable.
      *
-     * @static
-     * @memberOf _.templateSettings
-     * @type String
+     * In IE < 9 an object's own properties, shadowing non-enumerable ones,
+     * are made non-enumerable as well (a.k.a the JScript `[[DontEnum]]` bug).
+     *
+     * @memberOf _.support
+     * @type boolean
      */
-    'variable': ''
-  };
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * The template used to create iterator functions.
-   *
-   * @private
-   * @param {Obect} data The data object used to populate the text.
-   * @returns {String} Returns the interpolated text.
-   */
-  var iteratorTemplate = template(
-    // conditional strict mode
-    "<% if (obj.useStrict) { %>'use strict';\n<% } %>" +
-
-    // the `iteratee` may be reassigned by the `top` snippet
-    'var index, iteratee = <%= firstArg %>, ' +
-    // assign the `result` variable an initial value
-    'result = <%= firstArg %>;\n' +
-    // exit early if the first argument is falsey
-    'if (!<%= firstArg %>) return result;\n' +
-    // add code before the iteration branches
-    '<%= top %>;\n' +
-
-    // array-like iteration:
-    '<% if (arrayLoop) { %>' +
-    'var length = iteratee.length; index = -1;\n' +
-    "if (typeof length == 'number') {" +
-
-    // add support for accessing string characters by index if needed
-    '  <% if (noCharByIndex) { %>\n' +
-    '  if (isString(iteratee)) {\n' +
-    "    iteratee = iteratee.split('')\n" +
-    '  }' +
-    '  <% } %>\n' +
-
-    // iterate over the array-like value
-    '  while (++index < length) {\n' +
-    '    <%= arrayLoop %>\n' +
-    '  }\n' +
-    '}\n' +
-    'else {' +
-
-    // object iteration:
-    // add support for iterating over `arguments` objects if needed
-    '  <%  } else if (nonEnumArgs) { %>\n' +
-    '  var length = iteratee.length; index = -1;\n' +
-    '  if (length && isArguments(iteratee)) {\n' +
-    '    while (++index < length) {\n' +
-    "      index += '';\n" +
-    '      <%= objectLoop %>\n' +
-    '    }\n' +
-    '  } else {' +
-    '  <% } %>' +
-
-    // Firefox < 3.6, Opera > 9.50 - Opera < 11.60, and Safari < 5.1
-    // (if the prototype or a property on the prototype has been set)
-    // incorrectly sets a function's `prototype` property [[Enumerable]]
-    // value to `true`. Because of this Lo-Dash standardizes on skipping
-    // the the `prototype` property of functions regardless of its
-    // [[Enumerable]] value.
-    '  <% if (!hasDontEnumBug) { %>\n' +
-    "  var skipProto = typeof iteratee == 'function' && \n" +
-    "    propertyIsEnumerable.call(iteratee, 'prototype');\n" +
-    '  <% } %>' +
-
-    // iterate own properties using `Object.keys` if it's fast
-    '  <% if (isKeysFast && useHas) { %>\n' +
-    '  var ownIndex = -1,\n' +
-    '      ownProps = objectTypes[typeof iteratee] ? nativeKeys(iteratee) : [],\n' +
-    '      length = ownProps.length;\n\n' +
-    '  while (++ownIndex < length) {\n' +
-    '    index = ownProps[ownIndex];\n' +
-    "    <% if (!hasDontEnumBug) { %>if (!(skipProto && index == 'prototype')) {\n  <% } %>" +
-    '    <%= objectLoop %>\n' +
-    '    <% if (!hasDontEnumBug) { %>}\n<% } %>' +
-    '  }' +
-
-    // else using a for-in loop
-    '  <% } else { %>\n' +
-    '  for (index in iteratee) {<%' +
-    '    if (!hasDontEnumBug || useHas) { %>\n    if (<%' +
-    "      if (!hasDontEnumBug) { %>!(skipProto && index == 'prototype')<% }" +
-    '      if (!hasDontEnumBug && useHas) { %> && <% }' +
-    '      if (useHas) { %>hasOwnProperty.call(iteratee, index)<% }' +
-    '    %>) {' +
-    '    <% } %>\n' +
-    '    <%= objectLoop %>;' +
-    '    <% if (!hasDontEnumBug || useHas) { %>\n    }<% } %>\n' +
-    '  }' +
-    '  <% } %>' +
-
-    // Because IE < 9 can't set the `[[Enumerable]]` attribute of an
-    // existing property and the `constructor` property of a prototype
-    // defaults to non-enumerable, Lo-Dash skips the `constructor`
-    // property when it infers it's iterating over a `prototype` object.
-    '  <% if (hasDontEnumBug) { %>\n\n' +
-    '  var ctor = iteratee.constructor;\n' +
-    '    <% for (var k = 0; k < 7; k++) { %>\n' +
-    "  index = '<%= shadowed[k] %>';\n" +
-    '  if (<%' +
-    "      if (shadowed[k] == 'constructor') {" +
-    '        %>!(ctor && ctor.prototype === iteratee) && <%' +
-    '      } %>hasOwnProperty.call(iteratee, index)) {\n' +
-    '    <%= objectLoop %>\n' +
-    '  }' +
-    '    <% } %>' +
-    '  <% } %>' +
-    '  <% if (arrayLoop || nonEnumArgs) { %>\n}<% } %>\n' +
-
-    // add code to the bottom of the iteration function
-    '<%= bottom %>;\n' +
-    // finally, return the `result`
-    'return result'
-  );
+    support.nonEnumShadows = !/valueOf/.test(props);
 
-  /** Reusable iterator options for `assign` and `defaults` */
-  var assignIteratorOptions = {
-    'args': 'object, source, guard',
-    'top':
-      "for (var argsIndex = 1, argsLength = typeof guard == 'number' ? 2 : arguments.length; argsIndex < argsLength; argsIndex++) {\n" +
-      '  if ((iteratee = arguments[argsIndex])) {',
-    'objectLoop': 'result[index] = iteratee[index]',
-    'bottom': '  }\n}'
-  };
+    /**
+     * Detect if own properties are iterated after inherited properties (IE < 9).
+     *
+     * @memberOf _.support
+     * @type boolean
+     */
+    support.ownLast = props[0] != 'x';
 
-  /**
-   * Reusable iterator options shared by `each`, `forIn`, and `forOwn`.
-   */
-  var eachIteratorOptions = {
-    'args': 'collection, callback, thisArg',
-    'top': "callback = callback && typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg)",
-    'arrayLoop': 'if (callback(iteratee[index], index, collection) === false) return result',
-    'objectLoop': 'if (callback(iteratee[index], index, collection) === false) return result'
-  };
+    /**
+     * Detect if `Array#shift` and `Array#splice` augment array-like objects
+     * correctly.
+     *
+     * Firefox < 10, compatibility modes of IE 8, and IE < 9 have buggy Array
+     * `shift()` and `splice()` functions that fail to remove the last element,
+     * `value[0]`, of array-like objects even though the "length" property is
+     * set to `0`. The `shift()` method is buggy in compatibility modes of IE 8,
+     * while `splice()` is buggy regardless of mode in IE < 9.
+     *
+     * @memberOf _.support
+     * @type boolean
+     */
+    support.spliceObjects = (splice.call(object, 0, 1), !object[0]);
 
-  /** Reusable iterator options for `forIn` and `forOwn` */
-  var forOwnIteratorOptions = {
-    'arrayLoop': null
-  };
+    /**
+     * Detect lack of support for accessing string characters by index.
+     *
+     * IE < 8 can't access characters by index. IE 8 can only access characters
+     * by index on string literals, not string objects.
+     *
+     * @memberOf _.support
+     * @type boolean
+     */
+    support.unindexedChars = ('x'[0] + Object('x')[0]) != 'xx';
+  }(1, 0));
 
-  /*--------------------------------------------------------------------------*/
+  /*------------------------------------------------------------------------*/
 
   /**
-   * Creates a function optimized to search large arrays for a given `value`,
-   * starting at `fromIndex`, using strict equality for comparisons, i.e. `===`.
+   * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.
    *
    * @private
-   * @param {Array} array The array to search.
-   * @param {Mixed} value The value to search for.
-   * @param {Number} [fromIndex=0] The index to search from.
-   * @param {Number} [largeSize=30] The length at which an array is considered large.
-   * @returns {Boolean} Returns `true` if `value` is found, else `false`.
+   * @param {*} value The value to wrap.
    */
-  function cachedContains(array, fromIndex, largeSize) {
-    fromIndex || (fromIndex = 0);
-
-    var length = array.length,
-        isLarge = (length - fromIndex) >= (largeSize || largeArraySize);
-
-    if (isLarge) {
-      var cache = {},
-          index = fromIndex - 1;
-
-      while (++index < length) {
-        // manually coerce `value` to a string because `hasOwnProperty`, in some
-        // older versions of Firefox, coerces objects incorrectly
-        var key = array[index] + '';
-        (hasOwnProperty.call(cache, key) ? cache[key] : (cache[key] = [])).push(array[index]);
-      }
-    }
-    return function(value) {
-      if (isLarge) {
-        var key = value + '';
-        return hasOwnProperty.call(cache, key) && indexOf(cache[key], value) > -1;
-      }
-      return indexOf(array, value, fromIndex) > -1;
-    }
+  function LazyWrapper(value) {
+    this.__wrapped__ = value;
+    this.__actions__ = null;
+    this.__dir__ = 1;
+    this.__dropCount__ = 0;
+    this.__filtered__ = false;
+    this.__iteratees__ = null;
+    this.__takeCount__ = POSITIVE_INFINITY;
+    this.__views__ = null;
   }
 
   /**
-   * Used by `_.max` and `_.min` as the default `callback` when a given
-   * `collection` is a string value.
+   * Creates a clone of the lazy wrapper object.
    *
    * @private
-   * @param {String} value The character to inspect.
-   * @returns {Number} Returns the code unit of given character.
+   * @name clone
+   * @memberOf LazyWrapper
+   * @returns {Object} Returns the cloned `LazyWrapper` object.
    */
-  function charAtCallback(value) {
-    return value.charCodeAt(0);
+  function lazyClone() {
+    var actions = this.__actions__,
+        iteratees = this.__iteratees__,
+        views = this.__views__,
+        result = new LazyWrapper(this.__wrapped__);
+
+    result.__actions__ = actions ? arrayCopy(actions) : null;
+    result.__dir__ = this.__dir__;
+    result.__filtered__ = this.__filtered__;
+    result.__iteratees__ = iteratees ? arrayCopy(iteratees) : null;
+    result.__takeCount__ = this.__takeCount__;
+    result.__views__ = views ? arrayCopy(views) : null;
+    return result;
   }
 
   /**
-   * Used by `sortBy` to compare transformed `collection` values, stable sorting
-   * them in ascending order.
+   * Reverses the direction of lazy iteration.
    *
    * @private
-   * @param {Object} a The object to compare to `b`.
-   * @param {Object} b The object to compare to `a`.
-   * @returns {Number} Returns the sort order indicator of `1` or `-1`.
+   * @name reverse
+   * @memberOf LazyWrapper
+   * @returns {Object} Returns the new reversed `LazyWrapper` object.
    */
-  function compareAscending(a, b) {
-    var ai = a.index,
-        bi = b.index;
-
-    a = a.criteria;
-    b = b.criteria;
-
-    // ensure a stable sort in V8 and other engines
-    // http://code.google.com/p/v8/issues/detail?id=90
-    if (a !== b) {
-      if (a > b || typeof a == 'undefined') {
-        return 1;
-      }
-      if (a < b || typeof b == 'undefined') {
-        return -1;
-      }
+  function lazyReverse() {
+    if (this.__filtered__) {
+      var result = new LazyWrapper(this);
+      result.__dir__ = -1;
+      result.__filtered__ = true;
+    } else {
+      result = this.clone();
+      result.__dir__ *= -1;
     }
-    return ai < bi ? -1 : 1;
+    return result;
   }
 
   /**
-   * Creates a function that, when called, invokes `func` with the `this`
-   * binding of `thisArg` and prepends any `partailArgs` to the arguments passed
-   * to the bound function.
+   * Extracts the unwrapped value from its lazy wrapper.
    *
    * @private
-   * @param {Function|String} func The function to bind or the method name.
-   * @param {Mixed} [thisArg] The `this` binding of `func`.
-   * @param {Array} partialArgs An array of arguments to be partially applied.
-   * @returns {Function} Returns the new bound function.
+   * @name value
+   * @memberOf LazyWrapper
+   * @returns {*} Returns the unwrapped value.
    */
-  function createBound(func, thisArg, partialArgs) {
-    var isFunc = isFunction(func),
-        isPartial = !partialArgs,
-        key = thisArg;
+  function lazyValue() {
+    var array = this.__wrapped__.value();
+    if (!isArray(array)) {
+      return baseWrapperValue(array, this.__actions__);
+    }
+    var dir = this.__dir__,
+        isRight = dir < 0,
+        view = getView(0, array.length, this.__views__),
+        start = view.start,
+        end = view.end,
+        length = end - start,
+        index = isRight ? end : (start - 1),
+        takeCount = nativeMin(length, this.__takeCount__),
+        iteratees = this.__iteratees__,
+        iterLength = iteratees ? iteratees.length : 0,
+        resIndex = 0,
+        result = [];
 
-    // juggle arguments
-    if (isPartial) {
-      partialArgs = thisArg;
-    }
-    if (!isFunc) {
-      thisArg = func;
-    }
+    outer:
+    while (length-- && resIndex < takeCount) {
+      index += dir;
 
-    function bound() {
-      // `Function#bind` spec
-      // http://es5.github.com/#x15.3.4.5
-      var args = arguments,
-          thisBinding = isPartial ? this : thisArg;
+      var iterIndex = -1,
+          value = array[index];
 
-      if (!isFunc) {
-        func = thisArg[key];
-      }
-      if (partialArgs.length) {
-        args = args.length
-          ? partialArgs.concat(slice(args))
-          : partialArgs;
-      }
-      if (this instanceof bound) {
-        // ensure `new bound` is an instance of `bound` and `func`
-        noop.prototype = func.prototype;
-        thisBinding = new noop;
-        noop.prototype = null;
-
-        // mimic the constructor's `return` behavior
-        // http://es5.github.com/#x13.2.2
-        var result = func.apply(thisBinding, args);
-        return isObject(result) ? result : thisBinding;
+      while (++iterIndex < iterLength) {
+        var data = iteratees[iterIndex],
+            iteratee = data.iteratee,
+            type = data.type;
+
+        if (type == LAZY_DROP_WHILE_FLAG) {
+          if (data.done && (isRight ? (index > data.index) : (index < data.index))) {
+            data.count = 0;
+            data.done = false;
+          }
+          data.index = index;
+          if (!data.done) {
+            var limit = data.limit;
+            if (!(data.done = limit > -1 ? (data.count++ >= limit) : !iteratee(value))) {
+              continue outer;
+            }
+          }
+        } else {
+          var computed = iteratee(value);
+          if (type == LAZY_MAP_FLAG) {
+            value = computed;
+          } else if (!computed) {
+            if (type == LAZY_FILTER_FLAG) {
+              continue outer;
+            } else {
+              break outer;
+            }
+          }
+        }
       }
-      return func.apply(thisBinding, args);
+      result[resIndex++] = value;
     }
-    return bound;
+    return result;
   }
 
+  /*------------------------------------------------------------------------*/
+
   /**
-   * Produces an iteration callback bound to an optional `thisArg`. If `func` is
-   * a property name, the callback will return the property value for a given element.
+   *
+   * Creates a cache object to store unique values.
    *
    * @private
-   * @param {Function|String} [func=identity|property] The function called per
-   * iteration or property name to query.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @param {Object} [accumulating] Used to indicate that the callback should
-   *  accept an `accumulator` argument.
-   * @returns {Function} Returns a callback function.
+   * @param {Array} [values] The values to cache.
    */
-  function createCallback(func, thisArg, accumulating) {
-    if (!func) {
-      return identity;
-    }
-    if (typeof func != 'function') {
-      return function(object) {
-        return object[func];
-      };
-    }
-    if (typeof thisArg != 'undefined') {
-      if (accumulating) {
-        return function(accumulator, value, index, object) {
-          return func.call(thisArg, accumulator, value, index, object);
-        };
-      }
-      return function(value, index, object) {
-        return func.call(thisArg, value, index, object);
-      };
+  function SetCache(values) {
+    var length = values ? values.length : 0;
+
+    this.data = { 'hash': nativeCreate(null), 'set': new Set };
+    while (length--) {
+      this.push(values[length]);
     }
-    return func;
   }
 
   /**
-   * Creates compiled iteration functions.
+   * Checks if `value` is in `cache` mimicking the return signature of
+   * `_.indexOf` by returning `0` if the value is found, else `-1`.
    *
    * @private
-   * @param {Object} [options1, options2, ...] The compile options object(s).
-   *  useHas - A boolean to specify using `hasOwnProperty` checks in the object loop.
-   *  args - A string of comma separated arguments the iteration function will accept.
-   *  top - A string of code to execute before the iteration branches.
-   *  arrayLoop - A string of code to execute in the array loop.
-   *  objectLoop - A string of code to execute in the object loop.
-   *  bottom - A string of code to execute after the iteration branches.
-   *
-   * @returns {Function} Returns the compiled function.
+   * @param {Object} cache The cache to search.
+   * @param {*} value The value to search for.
+   * @returns {number} Returns `0` if `value` is found, else `-1`.
    */
-  function createIterator() {
-    var data = {
-      'arrayLoop': '',
-      'bottom': '',
-      'hasDontEnumBug': hasDontEnumBug,
-      'isKeysFast': isKeysFast,
-      'objectLoop': '',
-      'nonEnumArgs': nonEnumArgs,
-      'noCharByIndex': noCharByIndex,
-      'shadowed': shadowed,
-      'top': '',
-      'useHas': true
-    };
-
-    // merge options into a template data object
-    for (var object, index = 0; object = arguments[index]; index++) {
-      for (var key in object) {
-        data[key] = object[key];
-      }
-    }
-    var args = data.args;
-    data.firstArg = /^[^,]+/.exec(args)[0];
-
-    // create the function factory
-    var factory = Function(
-        'createCallback, hasOwnProperty, isArguments, isString, objectTypes, ' +
-        'nativeKeys, propertyIsEnumerable',
-      'return function(' + args + ') {\n' + iteratorTemplate(data) + '\n}'
-    );
-    // return the compiled function
-    return factory(
-      createCallback, hasOwnProperty, isArguments, isString, objectTypes,
-      nativeKeys, propertyIsEnumerable
-    );
+  function cacheIndexOf(cache, value) {
+    var data = cache.data,
+        result = (typeof value == 'string' || isObject(value)) ? data.set.has(value) : data.hash[value];
+
+    return result ? 0 : -1;
   }
 
   /**
-   * A function compiled to iterate `arguments` objects, arrays, objects, and
-   * strings consistenly across environments, executing the `callback` for each
-   * element in the `collection`. The `callback` is bound to `thisArg` and invoked
-   * with three arguments; (value, index|key, collection). Callbacks may exit
-   * iteration early by explicitly returning `false`.
+   * Adds `value` to the cache.
    *
    * @private
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Array|Object|String} Returns `collection`.
+   * @name push
+   * @memberOf SetCache
+   * @param {*} value The value to cache.
    */
-  var each = createIterator(eachIteratorOptions);
+  function cachePush(value) {
+    var data = this.data;
+    if (typeof value == 'string' || isObject(value)) {
+      data.set.add(value);
+    } else {
+      data.hash[value] = true;
+    }
+  }
+
+  /*------------------------------------------------------------------------*/
 
   /**
-   * Used by `template` to escape characters for inclusion in compiled
-   * string literals.
+   * Copies the values of `source` to `array`.
    *
    * @private
-   * @param {String} match The matched character to escape.
-   * @returns {String} Returns the escaped character.
+   * @param {Array} source The array to copy values from.
+   * @param {Array} [array=[]] The array to copy values to.
+   * @returns {Array} Returns `array`.
    */
-  function escapeStringChar(match) {
-    return '\\' + stringEscapes[match];
+  function arrayCopy(source, array) {
+    var index = -1,
+        length = source.length;
+
+    array || (array = Array(length));
+    while (++index < length) {
+      array[index] = source[index];
+    }
+    return array;
   }
 
   /**
-   * Used by `escape` to convert characters to HTML entities.
+   * A specialized version of `_.forEach` for arrays without support for callback
+   * shorthands and `this` binding.
    *
    * @private
-   * @param {String} match The matched character to escape.
-   * @returns {String} Returns the escaped character.
+   * @param {Array} array The array to iterate over.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @returns {Array} Returns `array`.
    */
-  function escapeHtmlChar(match) {
-    return htmlEscapes[match];
+  function arrayEach(array, iteratee) {
+    var index = -1,
+        length = array.length;
+
+    while (++index < length) {
+      if (iteratee(array[index], index, array) === false) {
+        break;
+      }
+    }
+    return array;
   }
 
   /**
-   * Checks if `value` is a DOM node in IE < 9.
+   * A specialized version of `_.every` for arrays without support for callback
+   * shorthands and `this` binding.
    *
    * @private
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is a DOM node, else `false`.
+   * @param {Array} array The array to iterate over.
+   * @param {Function} predicate The function invoked per iteration.
+   * @returns {boolean} Returns `true` if all elements pass the predicate check,
+   *  else `false`.
    */
-  function isNode(value) {
-    // IE < 9 presents DOM nodes as `Object` objects except they have `toString`
-    // methods that are `typeof` "string" and still can coerce nodes to strings
-    return typeof value.toString != 'function' && typeof (value + '') == 'string';
+  function arrayEvery(array, predicate) {
+    var index = -1,
+        length = array.length;
+
+    while (++index < length) {
+      if (!predicate(array[index], index, array)) {
+        return false;
+      }
+    }
+    return true;
   }
 
   /**
-   * A no-operation function.
+   * A specialized version of `_.filter` for arrays without support for callback
+   * shorthands and `this` binding.
    *
    * @private
+   * @param {Array} array The array to iterate over.
+   * @param {Function} predicate The function invoked per iteration.
+   * @returns {Array} Returns the new filtered array.
    */
-  function noop() {
-    // no operation performed
+  function arrayFilter(array, predicate) {
+    var index = -1,
+        length = array.length,
+        resIndex = -1,
+        result = [];
+
+    while (++index < length) {
+      var value = array[index];
+      if (predicate(value, index, array)) {
+        result[++resIndex] = value;
+      }
+    }
+    return result;
   }
 
   /**
-   * Slices the `collection` from the `start` index up to, but not including,
-   * the `end` index.
-   *
-   * Note: This function is used, instead of `Array#slice`, to support node lists
-   * in IE < 9 and to ensure dense arrays are returned.
+   * A specialized version of `_.map` for arrays without support for callback
+   * shorthands and `this` binding.
    *
    * @private
-   * @param {Array|Object|String} collection The collection to slice.
-   * @param {Number} start The start index.
-   * @param {Number} end The end index.
-   * @returns {Array} Returns the new array.
+   * @param {Array} array The array to iterate over.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @returns {Array} Returns the new mapped array.
    */
-  function slice(array, start, end) {
-    start || (start = 0);
-    if (typeof end == 'undefined') {
-      end = array ? array.length : 0;
-    }
+  function arrayMap(array, iteratee) {
     var index = -1,
-        length = end - start || 0,
-        result = Array(length < 0 ? 0 : length);
+        length = array.length,
+        result = Array(length);
 
     while (++index < length) {
-      result[index] = array[start + index];
+      result[index] = iteratee(array[index], index, array);
     }
     return result;
   }
 
   /**
-   * Used by `unescape` to convert HTML entities to characters.
+   * A specialized version of `_.reduce` for arrays without support for callback
+   * shorthands and `this` binding.
    *
    * @private
-   * @param {String} match The matched character to unescape.
-   * @returns {String} Returns the unescaped character.
+   * @param {Array} array The array to iterate over.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @param {*} [accumulator] The initial value.
+   * @param {boolean} [initFromArray] Specify using the first element of `array`
+   *  as the initial value.
+   * @returns {*} Returns the accumulated value.
    */
-  function unescapeHtmlChar(match) {
-    return htmlUnescapes[match];
-  }
+  function arrayReduce(array, iteratee, accumulator, initFromArray) {
+    var index = -1,
+        length = array.length;
 
-  /*--------------------------------------------------------------------------*/
+    if (initFromArray && length) {
+      accumulator = array[++index];
+    }
+    while (++index < length) {
+      accumulator = iteratee(accumulator, array[index], index, array);
+    }
+    return accumulator;
+  }
 
   /**
-   * Assigns own enumerable properties of source object(s) to the `destination`
-   * object. Subsequent sources will overwrite propery assignments of previous
-   * sources.
-   *
-   * @static
-   * @memberOf _
-   * @alias extend
-   * @category Objects
-   * @param {Object} object The destination object.
-   * @param {Object} [source1, source2, ...] The source objects.
-   * @returns {Object} Returns the destination object.
-   * @example
+   * A specialized version of `_.some` for arrays without support for callback
+   * shorthands and `this` binding.
    *
-   * _.assign({ 'name': 'moe' }, { 'age': 40 });
-   * // => { 'name': 'moe', 'age': 40 }
+   * @private
+   * @param {Array} array The array to iterate over.
+   * @param {Function} predicate The function invoked per iteration.
+   * @returns {boolean} Returns `true` if any element passes the predicate check,
+   *  else `false`.
    */
-  var assign = createIterator(assignIteratorOptions);
+  function arraySome(array, predicate) {
+    var index = -1,
+        length = array.length;
 
-  /**
-   * Checks if `value` is an `arguments` object.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is an `arguments` object, else `false`.
-   * @example
-   *
-   * (function() { return _.isArguments(arguments); })(1, 2, 3);
-   * // => true
-   *
-   * _.isArguments([1, 2, 3]);
-   * // => false
-   */
-  function isArguments(value) {
-    return toString.call(value) == argsClass;
-  }
-  // fallback for browsers that can't detect `arguments` objects by [[Class]]
-  if (noArgsClass) {
-    isArguments = function(value) {
-      return value ? hasOwnProperty.call(value, 'callee') : false;
-    };
+    while (++index < length) {
+      if (predicate(array[index], index, array)) {
+        return true;
+      }
+    }
+    return false;
   }
 
   /**
-   * Iterates over `object`'s own and inherited enumerable properties, executing
-   * the `callback` for each property. The `callback` is bound to `thisArg` and
-   * invoked with three arguments; (value, key, object). Callbacks may exit iteration
-   * early by explicitly returning `false`.
+   * A specialized version of `_.assign` for customizing assigned values without
+   * support for argument juggling, multiple sources, and `this` binding `customizer`
+   * functions.
    *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
+   * @private
+   * @param {Object} object The destination object.
+   * @param {Object} source The source object.
+   * @param {Function} customizer The function to customize assigned values.
    * @returns {Object} Returns `object`.
-   * @example
-   *
-   * function Dog(name) {
-   *   this.name = name;
-   * }
-   *
-   * Dog.prototype.bark = function() {
-   *   alert('Woof, woof!');
-   * };
-   *
-   * _.forIn(new Dog('Dagny'), function(value, key) {
-   *   alert(key);
-   * });
-   * // => alerts 'name' and 'bark' (order is not guaranteed)
    */
-  var forIn = createIterator(eachIteratorOptions, forOwnIteratorOptions, {
-    'useHas': false
-  });
+  function assignWith(object, source, customizer) {
+    var index = -1,
+        props = keys(source),
+        length = props.length;
+
+    while (++index < length) {
+      var key = props[index],
+          value = object[key],
+          result = customizer(value, source[key], key, object, source);
+
+      if ((result === result ? (result !== value) : (value === value)) ||
+          (value === undefined && !(key in object))) {
+        object[key] = result;
+      }
+    }
+    return object;
+  }
 
   /**
-   * Iterates over an object's own enumerable properties, executing the `callback`
-   * for each property. The `callback` is bound to `thisArg` and invoked with three
-   * arguments; (value, key, object). Callbacks may exit iteration early by explicitly
-   * returning `false`.
+   * The base implementation of `_.assign` without support for argument juggling,
+   * multiple sources, and `customizer` functions.
    *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
+   * @private
+   * @param {Object} object The destination object.
+   * @param {Object} source The source object.
    * @returns {Object} Returns `object`.
-   * @example
-   *
-   * _.forOwn({ '0': 'zero', '1': 'one', 'length': 2 }, function(num, key) {
-   *   alert(key);
-   * });
-   * // => alerts '0', '1', and 'length' (order is not guaranteed)
    */
-  var forOwn = createIterator(eachIteratorOptions, forOwnIteratorOptions);
+  function baseAssign(object, source) {
+    return source == null
+      ? object
+      : baseCopy(source, keys(source), object);
+  }
 
   /**
-   * A fallback implementation of `isPlainObject` that checks if a given `value`
-   * is an object created by the `Object` constructor, assuming objects created
-   * by the `Object` constructor have no inherited enumerable properties and that
-   * there are no `Object.prototype` extensions.
+   * Copies properties of `source` to `object`.
    *
    * @private
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if `value` is a plain object, else `false`.
+   * @param {Object} source The object to copy properties from.
+   * @param {Array} props The property names to copy.
+   * @param {Object} [object={}] The object to copy properties to.
+   * @returns {Object} Returns `object`.
    */
-  function shimIsPlainObject(value) {
-    // avoid non-objects and false positives for `arguments` objects
-    var result = false;
-    if (!(value && typeof value == 'object') || isArguments(value)) {
-      return result;
-    }
-    // check that the constructor is `Object` (i.e. `Object instanceof Object`)
-    var ctor = value.constructor;
-    if ((!isFunction(ctor) && (!noNodeClass || !isNode(value))) || ctor instanceof ctor) {
-      // IE < 9 iterates inherited properties before own properties. If the first
-      // iterated property is an object's own property then there are no inherited
-      // enumerable properties.
-      if (iteratesOwnLast) {
-        forIn(value, function(value, key, object) {
-          result = !hasOwnProperty.call(object, key);
-          return false;
-        });
-        return result === false;
-      }
-      // In most environments an object's own properties are iterated before
-      // its inherited properties. If the last iterated property is an object's
-      // own property then there are no inherited enumerable properties.
-      forIn(value, function(value, key) {
-        result = key;
-      });
-      return result === false || hasOwnProperty.call(value, result);
+  function baseCopy(source, props, object) {
+    object || (object = {});
+
+    var index = -1,
+        length = props.length;
+
+    while (++index < length) {
+      var key = props[index];
+      object[key] = source[key];
     }
-    return result;
+    return object;
   }
 
   /**
-   * A fallback implementation of `Object.keys` that produces an array of the
-   * given object's own enumerable property names.
+   * The base implementation of `_.callback` which supports specifying the
+   * number of arguments to provide to `func`.
    *
    * @private
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns a new array of property names.
+   * @param {*} [func=_.identity] The value to convert to a callback.
+   * @param {*} [thisArg] The `this` binding of `func`.
+   * @param {number} [argCount] The number of arguments to provide to `func`.
+   * @returns {Function} Returns the callback.
    */
-  function shimKeys(object) {
-    var result = [];
-    forOwn(object, function(value, key) {
-      result.push(key);
-    });
-    return result;
+  function baseCallback(func, thisArg, argCount) {
+    var type = typeof func;
+    if (type == 'function') {
+      return thisArg === undefined
+        ? func
+        : bindCallback(func, thisArg, argCount);
+    }
+    if (func == null) {
+      return identity;
+    }
+    if (type == 'object') {
+      return baseMatches(func);
+    }
+    return thisArg === undefined
+      ? property(func)
+      : baseMatchesProperty(func, thisArg);
   }
 
   /**
-   * Used to convert characters to HTML entities:
+   * The base implementation of `_.clone` without support for argument juggling
+   * and `this` binding `customizer` functions.
    *
-   * Though the `>` character is escaped for symmetry, characters like `>` and `/`
-   * don't require escaping in HTML and have no special meaning unless they're part
-   * of a tag or an unquoted attribute value.
-   * http://mathiasbynens.be/notes/ambiguous-ampersands (under "semi-related fun fact")
+   * @private
+   * @param {*} value The value to clone.
+   * @param {boolean} [isDeep] Specify a deep clone.
+   * @param {Function} [customizer] The function to customize cloning values.
+   * @param {string} [key] The key of `value`.
+   * @param {Object} [object] The object `value` belongs to.
+   * @param {Array} [stackA=[]] Tracks traversed source objects.
+   * @param {Array} [stackB=[]] Associates clones with source counterparts.
+   * @returns {*} Returns the cloned value.
    */
-  var htmlEscapes = {
-    '&': '&amp;',
-    '<': '&lt;',
-    '>': '&gt;',
-    '"': '&quot;',
-    "'": '&#x27;'
-  };
-
-  /** Used to convert HTML entities to characters */
-  var htmlUnescapes = invert(htmlEscapes);
-
-  /*--------------------------------------------------------------------------*/
-
-  /**
-   * Creates a clone of `value`. If `deep` is `true`, nested objects will also
-   * be cloned, otherwise they will be assigned by reference.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to clone.
-   * @param {Boolean} deep A flag to indicate a deep clone.
-   * @param- {Object} [guard] Internally used to allow this method to work with
-   *  others like `_.map` without using their callback `index` argument for `deep`.
-   * @param- {Array} [stackA=[]] Internally used to track traversed source objects.
-   * @param- {Array} [stackB=[]] Internally used to associate clones with their
-   *  source counterparts.
-   * @returns {Mixed} Returns the cloned `value`.
-   * @example
-   *
-   * var stooges = [
-   *   { 'name': 'moe', 'age': 40 },
-   *   { 'name': 'larry', 'age': 50 },
-   *   { 'name': 'curly', 'age': 60 }
-   * ];
-   *
-   * var shallow = _.clone(stooges);
-   * shallow[0] === stooges[0];
-   * // => true
-   *
-   * var deep = _.clone(stooges, true);
-   * deep[0] === stooges[0];
-   * // => false
-   */
-  function clone(value, deep, guard, stackA, stackB) {
-    if (value == null) {
-      return value;
-    }
-    if (guard) {
-      deep = false;
+  function baseClone(value, isDeep, customizer, key, object, stackA, stackB) {
+    var result;
+    if (customizer) {
+      result = object ? customizer(value, key, object) : customizer(value);
     }
-    // inspect [[Class]]
-    var isObj = isObject(value);
-    if (isObj) {
-      var className = toString.call(value);
-      if (!cloneableClasses[className] || (noNodeClass && isNode(value))) {
-        return value;
-      }
-      var isArr = isArray(value);
+    if (result !== undefined) {
+      return result;
     }
-    // shallow clone
-    if (!isObj || !deep) {
-      return isObj
-        ? (isArr ? slice(value) : assign({}, value))
-        : value;
+    if (!isObject(value)) {
+      return value;
     }
-    var ctor = ctorByClass[className];
-    switch (className) {
-      case boolClass:
-      case dateClass:
-        return new ctor(+value);
-
-      case numberClass:
-      case stringClass:
-        return new ctor(value);
+    var isArr = isArray(value);
+    if (isArr) {
+      result = initCloneArray(value);
+      if (!isDeep) {
+        return arrayCopy(value, result);
+      }
+    } else {
+      var tag = objToString.call(value),
+          isFunc = tag == funcTag;
 
-      case regexpClass:
-        return ctor(value.source, reFlags.exec(value));
+      if (tag == objectTag || tag == argsTag || (isFunc && !object)) {
+        if (isHostObject(value)) {
+          return object ? value : {};
+        }
+        result = initCloneObject(isFunc ? {} : value);
+        if (!isDeep) {
+          return baseAssign(result, value);
+        }
+      } else {
+        return cloneableTags[tag]
+          ? initCloneByTag(value, tag, isDeep)
+          : (object ? value : {});
+      }
     }
-    // check for circular references and return corresponding clone
+    // Check for circular references and return corresponding clone.
     stackA || (stackA = []);
     stackB || (stackB = []);
 
@@ -7321,53774 +8828,32169 @@ var JXON = new (function () {
         return stackB[length];
       }
     }
-    // init cloned object
-    var result = isArr ? ctor(value.length) : {};
-
-    // add the source value to the stack of traversed objects
-    // and associate it with its clone
+    // Add the source value to the stack of traversed objects and associate it with its clone.
     stackA.push(value);
     stackB.push(result);
 
-    // recursively populate clone (susceptible to call stack limits)
-    (isArr ? forEach : forOwn)(value, function(objValue, key) {
-      result[key] = clone(objValue, deep, null, stackA, stackB);
+    // Recursively populate clone (susceptible to call stack limits).
+    (isArr ? arrayEach : baseForOwn)(value, function(subValue, key) {
+      result[key] = baseClone(subValue, isDeep, customizer, key, value, stackA, stackB);
     });
+    return result;
+  }
 
-    // add array properties assigned by `RegExp#exec`
-    if (isArr) {
-      if (hasOwnProperty.call(value, 'index')) {
-        result.index = value.index;
+  /**
+   * The base implementation of `_.create` without support for assigning
+   * properties to the created object.
+   *
+   * @private
+   * @param {Object} prototype The object to inherit from.
+   * @returns {Object} Returns the new object.
+   */
+  var baseCreate = (function() {
+    function object() {}
+    return function(prototype) {
+      if (isObject(prototype)) {
+        object.prototype = prototype;
+        var result = new object;
+        object.prototype = null;
       }
-      if (hasOwnProperty.call(value, 'input')) {
-        result.input = value.input;
+      return result || {};
+    };
+  }());
+
+  /**
+   * The base implementation of `_.difference` which accepts a single array
+   * of values to exclude.
+   *
+   * @private
+   * @param {Array} array The array to inspect.
+   * @param {Array} values The values to exclude.
+   * @returns {Array} Returns the new array of filtered values.
+   */
+  function baseDifference(array, values) {
+    var length = array ? array.length : 0,
+        result = [];
+
+    if (!length) {
+      return result;
+    }
+    var index = -1,
+        indexOf = getIndexOf(),
+        isCommon = indexOf == baseIndexOf,
+        cache = (isCommon && values.length >= 200) ? createCache(values) : null,
+        valuesLength = values.length;
+
+    if (cache) {
+      indexOf = cacheIndexOf;
+      isCommon = false;
+      values = cache;
+    }
+    outer:
+    while (++index < length) {
+      var value = array[index];
+
+      if (isCommon && value === value) {
+        var valuesIndex = valuesLength;
+        while (valuesIndex--) {
+          if (values[valuesIndex] === value) {
+            continue outer;
+          }
+        }
+        result.push(value);
+      }
+      else if (indexOf(values, value, 0) < 0) {
+        result.push(value);
       }
     }
     return result;
   }
 
   /**
-   * Creates a deep clone of `value`. Functions and DOM nodes are **not** cloned.
-   * The enumerable properties of `arguments` objects and objects created by
-   * constructors other than `Object` are cloned to plain `Object` objects.
+   * The base implementation of `_.forEach` without support for callback
+   * shorthands and `this` binding.
    *
-   * Note: This function is loosely based on the structured clone algorithm.
-   * See http://www.w3.org/TR/html5/common-dom-interfaces.html#internal-structured-cloning-algorithm.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to deep clone.
-   * @returns {Mixed} Returns the deep cloned `value`.
-   * @example
-   *
-   * var stooges = [
-   *   { 'name': 'moe', 'age': 40 },
-   *   { 'name': 'larry', 'age': 50 },
-   *   { 'name': 'curly', 'age': 60 }
-   * ];
-   *
-   * var deep = _.cloneDeep(stooges);
-   * deep[0] === stooges[0];
-   * // => false
+   * @private
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @returns {Array|Object|string} Returns `collection`.
    */
-  function cloneDeep(value) {
-    return clone(value, true);
-  }
+  var baseEach = createBaseEach(baseForOwn);
 
   /**
-   * Assigns own enumerable properties of source object(s) to the `destination`
-   * object for all `destination` properties that resolve to `null`/`undefined`.
-   * Once a property is set, additional defaults of the same property will be
-   * ignored.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The destination object.
-   * @param {Object} [default1, default2, ...] The default objects.
-   * @returns {Object} Returns the destination object.
-   * @example
+   * The base implementation of `_.every` without support for callback
+   * shorthands and `this` binding.
    *
-   * var iceCream = { 'flavor': 'chocolate' };
-   * _.defaults(iceCream, { 'flavor': 'vanilla', 'sprinkles': 'rainbow' });
-   * // => { 'flavor': 'chocolate', 'sprinkles': 'rainbow' }
+   * @private
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function} predicate The function invoked per iteration.
+   * @returns {boolean} Returns `true` if all elements pass the predicate check,
+   *  else `false`
    */
-  var defaults = createIterator(assignIteratorOptions, {
-    'objectLoop': 'if (result[index] == null) ' + assignIteratorOptions.objectLoop
-  });
+  function baseEvery(collection, predicate) {
+    var result = true;
+    baseEach(collection, function(value, index, collection) {
+      result = !!predicate(value, index, collection);
+      return result;
+    });
+    return result;
+  }
 
   /**
-   * Creates a sorted array of all enumerable properties, own and inherited,
-   * of `object` that have function values.
-   *
-   * @static
-   * @memberOf _
-   * @alias methods
-   * @category Objects
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns a new array of property names that have function values.
-   * @example
+   * The base implementation of `_.filter` without support for callback
+   * shorthands and `this` binding.
    *
-   * _.functions(_);
-   * // => ['all', 'any', 'bind', 'bindAll', 'clone', 'compact', 'compose', ...]
+   * @private
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function} predicate The function invoked per iteration.
+   * @returns {Array} Returns the new filtered array.
    */
-  function functions(object) {
+  function baseFilter(collection, predicate) {
     var result = [];
-    forIn(object, function(value, key) {
-      if (isFunction(value)) {
-        result.push(key);
+    baseEach(collection, function(value, index, collection) {
+      if (predicate(value, index, collection)) {
+        result.push(value);
       }
     });
-    return result.sort();
+    return result;
   }
 
   /**
-   * Checks if the specified object `property` exists and is a direct property,
-   * instead of an inherited property.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to check.
-   * @param {String} property The property to check for.
-   * @returns {Boolean} Returns `true` if key is a direct property, else `false`.
-   * @example
+   * The base implementation of `_.find`, `_.findLast`, `_.findKey`, and `_.findLastKey`,
+   * without support for callback shorthands and `this` binding, which iterates
+   * over `collection` using the provided `eachFunc`.
    *
-   * _.has({ 'a': 1, 'b': 2, 'c': 3 }, 'b');
-   * // => true
+   * @private
+   * @param {Array|Object|string} collection The collection to search.
+   * @param {Function} predicate The function invoked per iteration.
+   * @param {Function} eachFunc The function to iterate over `collection`.
+   * @param {boolean} [retKey] Specify returning the key of the found element
+   *  instead of the element itself.
+   * @returns {*} Returns the found element or its key, else `undefined`.
    */
-  function has(object, property) {
-    return object ? hasOwnProperty.call(object, property) : false;
+  function baseFind(collection, predicate, eachFunc, retKey) {
+    var result;
+    eachFunc(collection, function(value, key, collection) {
+      if (predicate(value, key, collection)) {
+        result = retKey ? key : value;
+        return false;
+      }
+    });
+    return result;
   }
 
   /**
-   * Creates an object composed of the inverted keys and values of the given `object`.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to invert.
-   * @returns {Object} Returns the created inverted object.
-   * @example
+   * The base implementation of `_.flatten` with added support for restricting
+   * flattening and specifying the start index.
    *
-   *  _.invert({ 'first': 'Moe', 'second': 'Larry', 'third': 'Curly' });
-   * // => { 'Moe': 'first', 'Larry': 'second', 'Curly': 'third' } (order is not guaranteed)
+   * @private
+   * @param {Array} array The array to flatten.
+   * @param {boolean} [isDeep] Specify a deep flatten.
+   * @param {boolean} [isStrict] Restrict flattening to arrays-like objects.
+   * @returns {Array} Returns the new flattened array.
    */
-  function invert(object) {
-    var result = {};
-    forOwn(object, function(value, key) {
-      result[value] = key;
-    });
+  function baseFlatten(array, isDeep, isStrict) {
+    var index = -1,
+        length = array.length,
+        resIndex = -1,
+        result = [];
+
+    while (++index < length) {
+      var value = array[index];
+      if (isObjectLike(value) && isArrayLike(value) &&
+          (isStrict || isArray(value) || isArguments(value))) {
+        if (isDeep) {
+          // Recursively flatten arrays (susceptible to call stack limits).
+          value = baseFlatten(value, isDeep, isStrict);
+        }
+        var valIndex = -1,
+            valLength = value.length;
+
+        while (++valIndex < valLength) {
+          result[++resIndex] = value[valIndex];
+        }
+      } else if (!isStrict) {
+        result[++resIndex] = value;
+      }
+    }
     return result;
   }
 
   /**
-   * Checks if `value` is an array.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is an array, else `false`.
-   * @example
-   *
-   * (function() { return _.isArray(arguments); })();
-   * // => false
+   * The base implementation of `baseForIn` and `baseForOwn` which iterates
+   * over `object` properties returned by `keysFunc` invoking `iteratee` for
+   * each property. Iteratee functions may exit iteration early by explicitly
+   * returning `false`.
    *
-   * _.isArray([1, 2, 3]);
-   * // => true
+   * @private
+   * @param {Object} object The object to iterate over.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @param {Function} keysFunc The function to get the keys of `object`.
+   * @returns {Object} Returns `object`.
    */
-  var isArray = nativeIsArray || function(value) {
-    // `instanceof` may cause a memory leak in IE 7 if `value` is a host object
-    // http://ajaxian.com/archives/working-aroung-the-instanceof-memory-leak
-    return (argsAreObjects && value instanceof Array) || toString.call(value) == arrayClass;
-  };
+  var baseFor = createBaseFor();
 
   /**
-   * Checks if `value` is a boolean (`true` or `false`) value.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is a boolean value, else `false`.
-   * @example
+   * The base implementation of `_.forIn` without support for callback
+   * shorthands and `this` binding.
    *
-   * _.isBoolean(null);
-   * // => false
+   * @private
+   * @param {Object} object The object to iterate over.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @returns {Object} Returns `object`.
    */
-  function isBoolean(value) {
-    return value === true || value === false || toString.call(value) == boolClass;
+  function baseForIn(object, iteratee) {
+    return baseFor(object, iteratee, keysIn);
   }
 
   /**
-   * Checks if `value` is a date.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is a date, else `false`.
-   * @example
+   * The base implementation of `_.forOwn` without support for callback
+   * shorthands and `this` binding.
    *
-   * _.isDate(new Date);
-   * // => true
+   * @private
+   * @param {Object} object The object to iterate over.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @returns {Object} Returns `object`.
    */
-  function isDate(value) {
-    return value instanceof Date || toString.call(value) == dateClass;
+  function baseForOwn(object, iteratee) {
+    return baseFor(object, iteratee, keys);
   }
 
   /**
-   * Checks if `value` is a DOM element.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is a DOM element, else `false`.
-   * @example
+   * The base implementation of `_.functions` which creates an array of
+   * `object` function property names filtered from those provided.
    *
-   * _.isElement(document.body);
-   * // => true
+   * @private
+   * @param {Object} object The object to inspect.
+   * @param {Array} props The property names to filter.
+   * @returns {Array} Returns the new array of filtered property names.
    */
-  function isElement(value) {
-    return value ? value.nodeType === 1 : false;
+  function baseFunctions(object, props) {
+    var index = -1,
+        length = props.length,
+        resIndex = -1,
+        result = [];
+
+    while (++index < length) {
+      var key = props[index];
+      if (isFunction(object[key])) {
+        result[++resIndex] = key;
+      }
+    }
+    return result;
   }
 
   /**
-   * Checks if `value` is empty. Arrays, strings, or `arguments` objects with a
-   * length of `0` and objects with no own enumerable properties are considered
-   * "empty".
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Array|Object|String} value The value to inspect.
-   * @returns {Boolean} Returns `true` if the `value` is empty, else `false`.
-   * @example
-   *
-   * _.isEmpty([1, 2, 3]);
-   * // => false
-   *
-   * _.isEmpty({});
-   * // => true
+   * The base implementation of `get` without support for string paths
+   * and default values.
    *
-   * _.isEmpty('');
-   * // => true
+   * @private
+   * @param {Object} object The object to query.
+   * @param {Array} path The path of the property to get.
+   * @param {string} [pathKey] The key representation of path.
+   * @returns {*} Returns the resolved value.
    */
-  function isEmpty(value) {
-    var result = true;
-    if (!value) {
-      return result;
+  function baseGet(object, path, pathKey) {
+    if (object == null) {
+      return;
     }
-    var className = toString.call(value),
-        length = value.length;
+    object = toObject(object);
+    if (pathKey !== undefined && pathKey in object) {
+      path = [pathKey];
+    }
+    var index = 0,
+        length = path.length;
 
-    if ((className == arrayClass || className == stringClass ||
-        className == argsClass || (noArgsClass && isArguments(value))) ||
-        (className == objectClass && typeof length == 'number' && isFunction(value.splice))) {
-      return !length;
+    while (object != null && index < length) {
+      object = toObject(object)[path[index++]];
     }
-    forOwn(value, function() {
-      return (result = false);
-    });
-    return result;
+    return (index && index == length) ? object : undefined;
   }
 
   /**
-   * Performs a deep comparison between two values to determine if they are
-   * equivalent to each other.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} a The value to compare.
-   * @param {Mixed} b The other value to compare.
-   * @param- {Object} [stackA=[]] Internally used track traversed `a` objects.
-   * @param- {Object} [stackB=[]] Internally used track traversed `b` objects.
-   * @returns {Boolean} Returns `true` if the values are equvalent, else `false`.
-   * @example
-   *
-   * var moe = { 'name': 'moe', 'luckyNumbers': [13, 27, 34] };
-   * var clone = { 'name': 'moe', 'luckyNumbers': [13, 27, 34] };
+   * The base implementation of `_.isEqual` without support for `this` binding
+   * `customizer` functions.
    *
-   * moe == clone;
-   * // => false
-   *
-   * _.isEqual(moe, clone);
-   * // => true
+   * @private
+   * @param {*} value The value to compare.
+   * @param {*} other The other value to compare.
+   * @param {Function} [customizer] The function to customize comparing values.
+   * @param {boolean} [isLoose] Specify performing partial comparisons.
+   * @param {Array} [stackA] Tracks traversed `value` objects.
+   * @param {Array} [stackB] Tracks traversed `other` objects.
+   * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
    */
-  function isEqual(a, b, stackA, stackB) {
-    // exit early for identical values
-    if (a === b) {
-      // treat `+0` vs. `-0` as not equal
-      return a !== 0 || (1 / a == 1 / b);
+  function baseIsEqual(value, other, customizer, isLoose, stackA, stackB) {
+    if (value === other) {
+      return true;
     }
-    // a strict comparison is necessary because `null == undefined`
-    if (a == null || b == null) {
-      return a === b;
+    if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {
+      return value !== value && other !== other;
     }
-    // compare [[Class]] names
-    var className = toString.call(a),
-        otherName = toString.call(b);
+    return baseIsEqualDeep(value, other, baseIsEqual, customizer, isLoose, stackA, stackB);
+  }
 
-    if (className == argsClass) {
-      className = objectClass;
+  /**
+   * A specialized version of `baseIsEqual` for arrays and objects which performs
+   * deep comparisons and tracks traversed objects enabling objects with circular
+   * references to be compared.
+   *
+   * @private
+   * @param {Object} object The object to compare.
+   * @param {Object} other The other object to compare.
+   * @param {Function} equalFunc The function to determine equivalents of values.
+   * @param {Function} [customizer] The function to customize comparing objects.
+   * @param {boolean} [isLoose] Specify performing partial comparisons.
+   * @param {Array} [stackA=[]] Tracks traversed `value` objects.
+   * @param {Array} [stackB=[]] Tracks traversed `other` objects.
+   * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
+   */
+  function baseIsEqualDeep(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
+    var objIsArr = isArray(object),
+        othIsArr = isArray(other),
+        objTag = arrayTag,
+        othTag = arrayTag;
+
+    if (!objIsArr) {
+      objTag = objToString.call(object);
+      if (objTag == argsTag) {
+        objTag = objectTag;
+      } else if (objTag != objectTag) {
+        objIsArr = isTypedArray(object);
+      }
     }
-    if (otherName == argsClass) {
-      otherName = objectClass;
+    if (!othIsArr) {
+      othTag = objToString.call(other);
+      if (othTag == argsTag) {
+        othTag = objectTag;
+      } else if (othTag != objectTag) {
+        othIsArr = isTypedArray(other);
+      }
     }
-    if (className != otherName) {
-      return false;
+    var objIsObj = objTag == objectTag && !isHostObject(object),
+        othIsObj = othTag == objectTag && !isHostObject(other),
+        isSameTag = objTag == othTag;
+
+    if (isSameTag && !(objIsArr || objIsObj)) {
+      return equalByTag(object, other, objTag);
     }
-    switch (className) {
-      case boolClass:
-      case dateClass:
-        // coerce dates and booleans to numbers, dates to milliseconds and booleans
-        // to `1` or `0`, treating invalid dates coerced to `NaN` as not equal
-        return +a == +b;
-
-      case numberClass:
-        // treat `NaN` vs. `NaN` as equal
-        return a != +a
-          ? b != +b
-          // but treat `+0` vs. `-0` as not equal
-          : (a == 0 ? (1 / a == 1 / b) : a == +b);
-
-      case regexpClass:
-      case stringClass:
-        // coerce regexes to strings (http://es5.github.com/#x15.10.6.4)
-        // treat string primitives and their corresponding object instances as equal
-        return a == b + '';
-    }
-    var isArr = className == arrayClass;
-    if (!isArr) {
-      // unwrap any `lodash` wrapped values
-      if (a.__wrapped__ || b.__wrapped__) {
-        return isEqual(a.__wrapped__ || a, b.__wrapped__ || b);
-      }
-      // exit for functions and DOM nodes
-      if (className != objectClass || (noNodeClass && (isNode(a) || isNode(b)))) {
-        return false;
-      }
-      // in older versions of Opera, `arguments` objects have `Array` constructors
-      var ctorA = !argsAreObjects && isArguments(a) ? Object : a.constructor,
-          ctorB = !argsAreObjects && isArguments(b) ? Object : b.constructor;
-
-      // non `Object` object instances with different constructors are not equal
-      if (ctorA != ctorB && !(
-            isFunction(ctorA) && ctorA instanceof ctorA &&
-            isFunction(ctorB) && ctorB instanceof ctorB
-          )) {
-        return false;
+    if (!isLoose) {
+      var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),
+          othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');
+
+      if (objIsWrapped || othIsWrapped) {
+        return equalFunc(objIsWrapped ? object.value() : object, othIsWrapped ? other.value() : other, customizer, isLoose, stackA, stackB);
       }
     }
-    // assume cyclic structures are equal
-    // the algorithm for detecting cyclic structures is adapted from ES 5.1
-    // section 15.12.3, abstract operation `JO` (http://es5.github.com/#x15.12.3)
+    if (!isSameTag) {
+      return false;
+    }
+    // Assume cyclic values are equal.
+    // For more information on detecting circular references see https://es5.github.io/#JO.
     stackA || (stackA = []);
     stackB || (stackB = []);
 
     var length = stackA.length;
     while (length--) {
-      if (stackA[length] == a) {
-        return stackB[length] == b;
+      if (stackA[length] == object) {
+        return stackB[length] == other;
       }
     }
-    var index = -1,
-        result = true,
-        size = 0;
+    // Add `object` and `other` to the stack of traversed objects.
+    stackA.push(object);
+    stackB.push(other);
 
-    // add `a` and `b` to the stack of traversed objects
-    stackA.push(a);
-    stackB.push(b);
+    var result = (objIsArr ? equalArrays : equalObjects)(object, other, equalFunc, customizer, isLoose, stackA, stackB);
 
-    // recursively compare objects and arrays (susceptible to call stack limits)
-    if (isArr) {
-      // compare lengths to determine if a deep comparison is necessary
-      size = a.length;
-      result = size == b.length;
+    stackA.pop();
+    stackB.pop();
 
-      if (result) {
-        // deep compare the contents, ignoring non-numeric properties
-        while (size--) {
-          if (!(result = isEqual(a[size], b[size], stackA, stackB))) {
-            break;
-          }
-        }
-      }
-      return result;
+    return result;
+  }
+
+  /**
+   * The base implementation of `_.isMatch` without support for callback
+   * shorthands and `this` binding.
+   *
+   * @private
+   * @param {Object} object The object to inspect.
+   * @param {Array} matchData The propery names, values, and compare flags to match.
+   * @param {Function} [customizer] The function to customize comparing objects.
+   * @returns {boolean} Returns `true` if `object` is a match, else `false`.
+   */
+  function baseIsMatch(object, matchData, customizer) {
+    var index = matchData.length,
+        length = index,
+        noCustomizer = !customizer;
+
+    if (object == null) {
+      return !length;
     }
-    // deep compare objects using `forIn`, instead of `forOwn`, to avoid `Object.keys`
-    // which, in this case, is more costly
-    forIn(a, function(value, key, a) {
-      if (hasOwnProperty.call(a, key)) {
-        // count the number of properties.
-        size++;
-        // deep compare each property value.
-        return (result = hasOwnProperty.call(b, key) && isEqual(value, b[key], stackA, stackB));
+    object = toObject(object);
+    while (index--) {
+      var data = matchData[index];
+      if ((noCustomizer && data[2])
+            ? data[1] !== object[data[0]]
+            : !(data[0] in object)
+          ) {
+        return false;
       }
-    });
+    }
+    while (++index < length) {
+      data = matchData[index];
+      var key = data[0],
+          objValue = object[key],
+          srcValue = data[1];
 
-    if (result) {
-      // ensure both objects have the same number of properties
-      forIn(b, function(value, key, b) {
-        if (hasOwnProperty.call(b, key)) {
-          // `size` will be `-1` if `b` has more properties than `a`
-          return (result = --size > -1);
+      if (noCustomizer && data[2]) {
+        if (objValue === undefined && !(key in object)) {
+          return false;
         }
-      });
+      } else {
+        var result = customizer ? customizer(objValue, srcValue, key) : undefined;
+        if (!(result === undefined ? baseIsEqual(srcValue, objValue, customizer, true) : result)) {
+          return false;
+        }
+      }
     }
-    return result;
+    return true;
   }
 
   /**
-   * Checks if `value` is, or can be coerced to, a finite number.
-   *
-   * Note: This is not the same as native `isFinite`, which will return true for
-   * booleans and empty strings. See http://es5.github.com/#x15.1.2.5.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is a finite number, else `false`.
-   * @example
+   * The base implementation of `_.map` without support for callback shorthands
+   * and `this` binding.
    *
-   * _.isFinite(-101);
-   * // => true
-   *
-   * _.isFinite('10');
-   * // => true
-   *
-   * _.isFinite(true);
-   * // => false
-   *
-   * _.isFinite('');
-   * // => false
-   *
-   * _.isFinite(Infinity);
-   * // => false
+   * @private
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @returns {Array} Returns the new mapped array.
    */
-  function isFinite(value) {
-    return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value));
+  function baseMap(collection, iteratee) {
+    var index = -1,
+        result = isArrayLike(collection) ? Array(collection.length) : [];
+
+    baseEach(collection, function(value, key, collection) {
+      result[++index] = iteratee(value, key, collection);
+    });
+    return result;
   }
 
   /**
-   * Checks if `value` is a function.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is a function, else `false`.
-   * @example
+   * The base implementation of `_.matches` which does not clone `source`.
    *
-   * _.isFunction(_);
-   * // => true
+   * @private
+   * @param {Object} source The object of property values to match.
+   * @returns {Function} Returns the new function.
    */
-  function isFunction(value) {
-    return typeof value == 'function';
-  }
-  // fallback for older versions of Chrome and Safari
-  if (isFunction(/x/)) {
-    isFunction = function(value) {
-      return value instanceof Function || toString.call(value) == funcClass;
+  function baseMatches(source) {
+    var matchData = getMatchData(source);
+    if (matchData.length == 1 && matchData[0][2]) {
+      var key = matchData[0][0],
+          value = matchData[0][1];
+
+      return function(object) {
+        if (object == null) {
+          return false;
+        }
+        object = toObject(object);
+        return object[key] === value && (value !== undefined || (key in object));
+      };
+    }
+    return function(object) {
+      return baseIsMatch(object, matchData);
     };
   }
 
   /**
-   * Checks if `value` is the language type of Object.
-   * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is an object, else `false`.
-   * @example
-   *
-   * _.isObject({});
-   * // => true
-   *
-   * _.isObject([1, 2, 3]);
-   * // => true
+   * The base implementation of `_.matchesProperty` which does not clone `srcValue`.
    *
-   * _.isObject(1);
-   * // => false
+   * @private
+   * @param {string} path The path of the property to get.
+   * @param {*} srcValue The value to compare.
+   * @returns {Function} Returns the new function.
    */
-  function isObject(value) {
-    // check if the value is the ECMAScript language type of Object
-    // http://es5.github.com/#x8
-    // and avoid a V8 bug
-    // http://code.google.com/p/v8/issues/detail?id=2291
-    return value ? objectTypes[typeof value] : false;
+  function baseMatchesProperty(path, srcValue) {
+    var isArr = isArray(path),
+        isCommon = isKey(path) && isStrictComparable(srcValue),
+        pathKey = (path + '');
+
+    path = toPath(path);
+    return function(object) {
+      if (object == null) {
+        return false;
+      }
+      var key = pathKey;
+      object = toObject(object);
+      if ((isArr || !isCommon) && !(key in object)) {
+        object = path.length == 1 ? object : baseGet(object, baseSlice(path, 0, -1));
+        if (object == null) {
+          return false;
+        }
+        key = last(path);
+        object = toObject(object);
+      }
+      return object[key] === srcValue
+        ? (srcValue !== undefined || (key in object))
+        : baseIsEqual(srcValue, object[key], undefined, true);
+    };
   }
 
   /**
-   * Checks if `value` is `NaN`.
-   *
-   * Note: This is not the same as native `isNaN`, which will return `true` for
-   * `undefined` and other values. See http://es5.github.com/#x15.1.2.4.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is `NaN`, else `false`.
-   * @example
+   * The base implementation of `_.merge` without support for argument juggling,
+   * multiple sources, and `this` binding `customizer` functions.
    *
-   * _.isNaN(NaN);
-   * // => true
-   *
-   * _.isNaN(new Number(NaN));
-   * // => true
-   *
-   * isNaN(undefined);
-   * // => true
-   *
-   * _.isNaN(undefined);
-   * // => false
+   * @private
+   * @param {Object} object The destination object.
+   * @param {Object} source The source object.
+   * @param {Function} [customizer] The function to customize merging properties.
+   * @param {Array} [stackA=[]] Tracks traversed source objects.
+   * @param {Array} [stackB=[]] Associates values with source counterparts.
+   * @returns {Object} Returns `object`.
    */
-  function isNaN(value) {
-    // `NaN` as a primitive is the only value that is not equal to itself
-    // (perform the [[Class]] check first to avoid errors with some host objects in IE)
-    return isNumber(value) && value != +value
+  function baseMerge(object, source, customizer, stackA, stackB) {
+    if (!isObject(object)) {
+      return object;
+    }
+    var isSrcArr = isArrayLike(source) && (isArray(source) || isTypedArray(source)),
+        props = isSrcArr ? null : keys(source);
+
+    arrayEach(props || source, function(srcValue, key) {
+      if (props) {
+        key = srcValue;
+        srcValue = source[key];
+      }
+      if (isObjectLike(srcValue)) {
+        stackA || (stackA = []);
+        stackB || (stackB = []);
+        baseMergeDeep(object, source, key, baseMerge, customizer, stackA, stackB);
+      }
+      else {
+        var value = object[key],
+            result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
+            isCommon = result === undefined;
+
+        if (isCommon) {
+          result = srcValue;
+        }
+        if ((result !== undefined || (isSrcArr && !(key in object))) &&
+            (isCommon || (result === result ? (result !== value) : (value === value)))) {
+          object[key] = result;
+        }
+      }
+    });
+    return object;
   }
 
   /**
-   * Checks if `value` is `null`.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is `null`, else `false`.
-   * @example
-   *
-   * _.isNull(null);
-   * // => true
+   * A specialized version of `baseMerge` for arrays and objects which performs
+   * deep merges and tracks traversed objects enabling objects with circular
+   * references to be merged.
    *
-   * _.isNull(undefined);
-   * // => false
+   * @private
+   * @param {Object} object The destination object.
+   * @param {Object} source The source object.
+   * @param {string} key The key of the value to merge.
+   * @param {Function} mergeFunc The function to merge values.
+   * @param {Function} [customizer] The function to customize merging properties.
+   * @param {Array} [stackA=[]] Tracks traversed source objects.
+   * @param {Array} [stackB=[]] Associates values with source counterparts.
+   * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
    */
-  function isNull(value) {
-    return value === null;
+  function baseMergeDeep(object, source, key, mergeFunc, customizer, stackA, stackB) {
+    var length = stackA.length,
+        srcValue = source[key];
+
+    while (length--) {
+      if (stackA[length] == srcValue) {
+        object[key] = stackB[length];
+        return;
+      }
+    }
+    var value = object[key],
+        result = customizer ? customizer(value, srcValue, key, object, source) : undefined,
+        isCommon = result === undefined;
+
+    if (isCommon) {
+      result = srcValue;
+      if (isArrayLike(srcValue) && (isArray(srcValue) || isTypedArray(srcValue))) {
+        result = isArray(value)
+          ? value
+          : (isArrayLike(value) ? arrayCopy(value) : []);
+      }
+      else if (isPlainObject(srcValue) || isArguments(srcValue)) {
+        result = isArguments(value)
+          ? toPlainObject(value)
+          : (isPlainObject(value) ? value : {});
+      }
+      else {
+        isCommon = false;
+      }
+    }
+    // Add the source value to the stack of traversed objects and associate
+    // it with its merged value.
+    stackA.push(srcValue);
+    stackB.push(result);
+
+    if (isCommon) {
+      // Recursively merge objects and arrays (susceptible to call stack limits).
+      object[key] = mergeFunc(result, srcValue, customizer, stackA, stackB);
+    } else if (result === result ? (result !== value) : (value === value)) {
+      object[key] = result;
+    }
   }
 
   /**
-   * Checks if `value` is a number.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is a number, else `false`.
-   * @example
+   * The base implementation of `_.property` without support for deep paths.
    *
-   * _.isNumber(8.4 * 5);
-   * // => true
+   * @private
+   * @param {string} key The key of the property to get.
+   * @returns {Function} Returns the new function.
    */
-  function isNumber(value) {
-    return typeof value == 'number' || toString.call(value) == numberClass;
+  function baseProperty(key) {
+    return function(object) {
+      return object == null ? undefined : toObject(object)[key];
+    };
   }
 
   /**
-   * Checks if a given `value` is an object created by the `Object` constructor.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if `value` is a plain object, else `false`.
-   * @example
+   * A specialized version of `baseProperty` which supports deep paths.
    *
-   * function Stooge(name, age) {
-   *   this.name = name;
-   *   this.age = age;
-   * }
-   *
-   * _.isPlainObject(new Stooge('moe', 40));
-   * // => false
-   *
-   * _.isPlainObject([1, 2, 3]);
-   * // => false
-   *
-   * _.isPlainObject({ 'name': 'moe', 'age': 40 });
-   * // => true
+   * @private
+   * @param {Array|string} path The path of the property to get.
+   * @returns {Function} Returns the new function.
    */
-  var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) {
-    if (!(value && typeof value == 'object')) {
-      return false;
-    }
-    var valueOf = value.valueOf,
-        objProto = typeof valueOf == 'function' && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto);
-
-    return objProto
-      ? value == objProto || (getPrototypeOf(value) == objProto && !isArguments(value))
-      : shimIsPlainObject(value);
-  };
+  function basePropertyDeep(path) {
+    var pathKey = (path + '');
+    path = toPath(path);
+    return function(object) {
+      return baseGet(object, path, pathKey);
+    };
+  }
 
   /**
-   * Checks if `value` is a regular expression.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is a regular expression, else `false`.
-   * @example
+   * The base implementation of `_.reduce` and `_.reduceRight` without support
+   * for callback shorthands and `this` binding, which iterates over `collection`
+   * using the provided `eachFunc`.
    *
-   * _.isRegExp(/moe/);
-   * // => true
+   * @private
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @param {*} accumulator The initial value.
+   * @param {boolean} initFromCollection Specify using the first or last element
+   *  of `collection` as the initial value.
+   * @param {Function} eachFunc The function to iterate over `collection`.
+   * @returns {*} Returns the accumulated value.
    */
-  function isRegExp(value) {
-    return value instanceof RegExp || toString.call(value) == regexpClass;
+  function baseReduce(collection, iteratee, accumulator, initFromCollection, eachFunc) {
+    eachFunc(collection, function(value, index, collection) {
+      accumulator = initFromCollection
+        ? (initFromCollection = false, value)
+        : iteratee(accumulator, value, index, collection);
+    });
+    return accumulator;
   }
 
   /**
-   * Checks if `value` is a string.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is a string, else `false`.
-   * @example
+   * The base implementation of `setData` without support for hot loop detection.
    *
-   * _.isString('moe');
-   * // => true
+   * @private
+   * @param {Function} func The function to associate metadata with.
+   * @param {*} data The metadata.
+   * @returns {Function} Returns `func`.
    */
-  function isString(value) {
-    return typeof value == 'string' || toString.call(value) == stringClass;
-  }
+  var baseSetData = !metaMap ? identity : function(func, data) {
+    metaMap.set(func, data);
+    return func;
+  };
 
   /**
-   * Checks if `value` is `undefined`.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Mixed} value The value to check.
-   * @returns {Boolean} Returns `true` if the `value` is `undefined`, else `false`.
-   * @example
+   * The base implementation of `_.slice` without an iteratee call guard.
    *
-   * _.isUndefined(void 0);
-   * // => true
+   * @private
+   * @param {Array} array The array to slice.
+   * @param {number} [start=0] The start position.
+   * @param {number} [end=array.length] The end position.
+   * @returns {Array} Returns the slice of `array`.
    */
-  function isUndefined(value) {
-    return typeof value == 'undefined';
+  function baseSlice(array, start, end) {
+    var index = -1,
+        length = array.length;
+
+    start = start == null ? 0 : (+start || 0);
+    if (start < 0) {
+      start = -start > length ? 0 : (length + start);
+    }
+    end = (end === undefined || end > length) ? length : (+end || 0);
+    if (end < 0) {
+      end += length;
+    }
+    length = start > end ? 0 : ((end - start) >>> 0);
+    start >>>= 0;
+
+    var result = Array(length);
+    while (++index < length) {
+      result[index] = array[index + start];
+    }
+    return result;
   }
 
   /**
-   * Creates an array composed of the own enumerable property names of `object`.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns a new array of property names.
-   * @example
+   * The base implementation of `_.some` without support for callback shorthands
+   * and `this` binding.
    *
-   * _.keys({ 'one': 1, 'two': 2, 'three': 3 });
-   * // => ['one', 'two', 'three'] (order is not guaranteed)
+   * @private
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function} predicate The function invoked per iteration.
+   * @returns {boolean} Returns `true` if any element passes the predicate check,
+   *  else `false`.
    */
-  var keys = !nativeKeys ? shimKeys : function(object) {
-    // avoid iterating over the `prototype` property
-    return typeof object == 'function' && propertyIsEnumerable.call(object, 'prototype')
-      ? shimKeys(object)
-      : (isObject(object) ? nativeKeys(object) : []);
-  };
+  function baseSome(collection, predicate) {
+    var result;
+
+    baseEach(collection, function(value, index, collection) {
+      result = predicate(value, index, collection);
+      return !result;
+    });
+    return !!result;
+  }
 
   /**
-   * Merges enumerable properties of the source object(s) into the `destination`
-   * object. Subsequent sources will overwrite propery assignments of previous
-   * sources.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The destination object.
-   * @param {Object} [source1, source2, ...] The source objects.
-   * @param- {Object} [indicator] Internally used to indicate that the `stack`
-   *  argument is an array of traversed objects instead of another source object.
-   * @param- {Array} [stackA=[]] Internally used to track traversed source objects.
-   * @param- {Array} [stackB=[]] Internally used to associate values with their
-   *  source counterparts.
-   * @returns {Object} Returns the destination object.
-   * @example
-   *
-   * var stooges = [
-   *   { 'name': 'moe' },
-   *   { 'name': 'larry' }
-   * ];
+   * The base implementation of `_.uniq` without support for callback shorthands
+   * and `this` binding.
    *
-   * var ages = [
-   *   { 'age': 40 },
-   *   { 'age': 50 }
-   * ];
-   *
-   * _.merge(stooges, ages);
-   * // => [{ 'name': 'moe', 'age': 40 }, { 'name': 'larry', 'age': 50 }]
+   * @private
+   * @param {Array} array The array to inspect.
+   * @param {Function} [iteratee] The function invoked per iteration.
+   * @returns {Array} Returns the new duplicate-value-free array.
    */
-  function merge(object, source, indicator) {
-    var args = arguments,
-        index = 0,
-        length = 2,
-        stackA = args[3],
-        stackB = args[4];
-
-    if (indicator !== indicatorObject) {
-      stackA = [];
-      stackB = [];
-
-      // work with `_.reduce` by only using its callback `accumulator` and `value` arguments
-      if (typeof indicator != 'number') {
-        length = args.length;
-      }
+  function baseUniq(array, iteratee) {
+    var index = -1,
+        indexOf = getIndexOf(),
+        length = array.length,
+        isCommon = indexOf == baseIndexOf,
+        isLarge = isCommon && length >= 200,
+        seen = isLarge ? createCache() : null,
+        result = [];
+
+    if (seen) {
+      indexOf = cacheIndexOf;
+      isCommon = false;
+    } else {
+      isLarge = false;
+      seen = iteratee ? [] : result;
     }
+    outer:
     while (++index < length) {
-      forOwn(args[index], function(source, key) {
-        var found, isArr, value;
-        if (source && ((isArr = isArray(source)) || isPlainObject(source))) {
-          // avoid merging previously merged cyclic sources
-          var stackLength = stackA.length;
-          while (stackLength--) {
-            found = stackA[stackLength] == source;
-            if (found) {
-              break;
-            }
-          }
-          if (found) {
-            object[key] = stackB[stackLength];
-          }
-          else {
-            // add `source` and associated `value` to the stack of traversed objects
-            stackA.push(source);
-            stackB.push(value = (value = object[key], isArr)
-              ? (isArray(value) ? value : [])
-              : (isPlainObject(value) ? value : {})
-            );
-            // recursively merge objects and arrays (susceptible to call stack limits)
-            object[key] = merge(value, source, indicatorObject, stackA, stackB);
+      var value = array[index],
+          computed = iteratee ? iteratee(value, index, array) : value;
+
+      if (isCommon && value === value) {
+        var seenIndex = seen.length;
+        while (seenIndex--) {
+          if (seen[seenIndex] === computed) {
+            continue outer;
           }
-        } else if (source != null) {
-          object[key] = source;
         }
-      });
+        if (iteratee) {
+          seen.push(computed);
+        }
+        result.push(value);
+      }
+      else if (indexOf(seen, computed, 0) < 0) {
+        if (iteratee || isLarge) {
+          seen.push(computed);
+        }
+        result.push(value);
+      }
     }
-    return object;
+    return result;
   }
 
   /**
-   * Creates a shallow clone of `object` excluding the specified properties.
-   * Property names may be specified as individual arguments or as arrays of
-   * property names. If `callback` is passed, it will be executed for each property
-   * in the `object`, omitting the properties `callback` returns truthy for. The
-   * `callback` is bound to `thisArg` and invoked with three arguments; (value, key, object).
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The source object.
-   * @param {Function|String} callback|[prop1, prop2, ...] The properties to omit
-   *  or the function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns an object without the omitted properties.
-   * @example
+   * The base implementation of `_.values` and `_.valuesIn` which creates an
+   * array of `object` property values corresponding to the property names
+   * of `props`.
    *
-   * _.omit({ 'name': 'moe', 'age': 40, 'userid': 'moe1' }, 'userid');
-   * // => { 'name': 'moe', 'age': 40 }
-   *
-   * _.omit({ 'name': 'moe', '_hint': 'knucklehead', '_seed': '96c4eb' }, function(value, key) {
-   *   return key.charAt(0) == '_';
-   * });
-   * // => { 'name': 'moe' }
+   * @private
+   * @param {Object} object The object to query.
+   * @param {Array} props The property names to get values for.
+   * @returns {Object} Returns the array of property values.
    */
-  function omit(object, callback, thisArg) {
-    var isFunc = typeof callback == 'function',
-        result = {};
+  function baseValues(object, props) {
+    var index = -1,
+        length = props.length,
+        result = Array(length);
 
-    if (isFunc) {
-      callback = createCallback(callback, thisArg);
-    } else {
-      var props = concat.apply(arrayRef, arguments);
+    while (++index < length) {
+      result[index] = object[props[index]];
     }
-    forIn(object, function(value, key, object) {
-      if (isFunc
-            ? !callback(value, key, object)
-            : indexOf(props, key, 1) < 0
-          ) {
-        result[key] = value;
-      }
-    });
     return result;
   }
 
   /**
-   * Creates a two dimensional array of the given object's key-value pairs,
-   * i.e. `[[key1, value1], [key2, value2]]`.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns new array of key-value pairs.
-   * @example
+   * The base implementation of `wrapperValue` which returns the result of
+   * performing a sequence of actions on the unwrapped `value`, where each
+   * successive action is supplied the return value of the previous.
    *
-   * _.pairs({ 'moe': 30, 'larry': 40, 'curly': 50 });
-   * // => [['moe', 30], ['larry', 40], ['curly', 50]] (order is not guaranteed)
+   * @private
+   * @param {*} value The unwrapped value.
+   * @param {Array} actions Actions to peform to resolve the unwrapped value.
+   * @returns {*} Returns the resolved value.
    */
-  function pairs(object) {
-    var result = [];
-    forOwn(object, function(value, key) {
-      result.push([key, value]);
-    });
+  function baseWrapperValue(value, actions) {
+    var result = value;
+    if (result instanceof LazyWrapper) {
+      result = result.value();
+    }
+    var index = -1,
+        length = actions.length;
+
+    while (++index < length) {
+      var args = [result],
+          action = actions[index];
+
+      push.apply(args, action.args);
+      result = action.func.apply(action.thisArg, args);
+    }
     return result;
   }
 
   /**
-   * Creates a shallow clone of `object` composed of the specified properties.
-   * Property names may be specified as individual arguments or as arrays of
-   * property names. If `callback` is passed, it will be executed for each property
-   * in the `object`, picking the properties `callback` returns truthy for. The
-   * `callback` is bound to `thisArg` and invoked with three arguments; (value, key, object).
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The source object.
-   * @param {Function|String} callback|[prop1, prop2, ...] The properties to pick
-   *  or the function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns an object composed of the picked properties.
-   * @example
+   * Performs a binary search of `array` to determine the index at which `value`
+   * should be inserted into `array` in order to maintain its sort order.
    *
-   * _.pick({ 'name': 'moe', 'age': 40, 'userid': 'moe1' }, 'name', 'age');
-   * // => { 'name': 'moe', 'age': 40 }
-   *
-   * _.pick({ 'name': 'moe', '_hint': 'knucklehead', '_seed': '96c4eb' }, function(value, key) {
-   *   return key.charAt(0) != '_';
-   * });
-   * // => { 'name': 'moe' }
+   * @private
+   * @param {Array} array The sorted array to inspect.
+   * @param {*} value The value to evaluate.
+   * @param {boolean} [retHighest] Specify returning the highest qualified index.
+   * @returns {number} Returns the index at which `value` should be inserted
+   *  into `array`.
    */
-  function pick(object, callback, thisArg) {
-    var result = {};
-    if (typeof callback != 'function') {
-      var index = 0,
-          props = concat.apply(arrayRef, arguments),
-          length = props.length;
+  function binaryIndex(array, value, retHighest) {
+    var low = 0,
+        high = array ? array.length : low;
 
-      while (++index < length) {
-        var key = props[index];
-        if (key in object) {
-          result[key] = object[key];
+    if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {
+      while (low < high) {
+        var mid = (low + high) >>> 1,
+            computed = array[mid];
+
+        if ((retHighest ? (computed <= value) : (computed < value)) && computed !== null) {
+          low = mid + 1;
+        } else {
+          high = mid;
         }
       }
-    } else {
-      callback = createCallback(callback, thisArg);
-      forIn(object, function(value, key, object) {
-        if (callback(value, key, object)) {
-          result[key] = value;
-        }
-      });
+      return high;
     }
-    return result;
+    return binaryIndexBy(array, value, identity, retHighest);
   }
 
   /**
-   * Creates an array composed of the own enumerable property values of `object`.
-   *
-   * @static
-   * @memberOf _
-   * @category Objects
-   * @param {Object} object The object to inspect.
-   * @returns {Array} Returns a new array of property values.
-   * @example
+   * This function is like `binaryIndex` except that it invokes `iteratee` for
+   * `value` and each element of `array` to compute their sort ranking. The
+   * iteratee is invoked with one argument; (value).
    *
-   * _.values({ 'one': 1, 'two': 2, 'three': 3 });
-   * // => [1, 2, 3]
+   * @private
+   * @param {Array} array The sorted array to inspect.
+   * @param {*} value The value to evaluate.
+   * @param {Function} iteratee The function invoked per iteration.
+   * @param {boolean} [retHighest] Specify returning the highest qualified index.
+   * @returns {number} Returns the index at which `value` should be inserted
+   *  into `array`.
    */
-  function values(object) {
-    var result = [];
-    forOwn(object, function(value) {
-      result.push(value);
-    });
-    return result;
-  }
+  function binaryIndexBy(array, value, iteratee, retHighest) {
+    value = iteratee(value);
 
-  /*--------------------------------------------------------------------------*/
+    var low = 0,
+        high = array ? array.length : 0,
+        valIsNaN = value !== value,
+        valIsNull = value === null,
+        valIsUndef = value === undefined;
+
+    while (low < high) {
+      var mid = floor((low + high) / 2),
+          computed = iteratee(array[mid]),
+          isDef = computed !== undefined,
+          isReflexive = computed === computed;
+
+      if (valIsNaN) {
+        var setLow = isReflexive || retHighest;
+      } else if (valIsNull) {
+        setLow = isReflexive && isDef && (retHighest || computed != null);
+      } else if (valIsUndef) {
+        setLow = isReflexive && (retHighest || isDef);
+      } else if (computed == null) {
+        setLow = false;
+      } else {
+        setLow = retHighest ? (computed <= value) : (computed < value);
+      }
+      if (setLow) {
+        low = mid + 1;
+      } else {
+        high = mid;
+      }
+    }
+    return nativeMin(high, MAX_ARRAY_INDEX);
+  }
 
   /**
-   * Checks if a given `target` element is present in a `collection` using strict
-   * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used
-   * as the offset from the end of the collection.
-   *
-   * @static
-   * @memberOf _
-   * @alias include
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Mixed} target The value to check for.
-   * @param {Number} [fromIndex=0] The index to search from.
-   * @returns {Boolean} Returns `true` if the `target` element is found, else `false`.
-   * @example
-   *
-   * _.contains([1, 2, 3], 1);
-   * // => true
+   * A specialized version of `baseCallback` which only supports `this` binding
+   * and specifying the number of arguments to provide to `func`.
    *
-   * _.contains([1, 2, 3], 1, 2);
-   * // => false
+   * @private
+   * @param {Function} func The function to bind.
+   * @param {*} thisArg The `this` binding of `func`.
+   * @param {number} [argCount] The number of arguments to provide to `func`.
+   * @returns {Function} Returns the callback.
+   */
+  function bindCallback(func, thisArg, argCount) {
+    if (typeof func != 'function') {
+      return identity;
+    }
+    if (thisArg === undefined) {
+      return func;
+    }
+    switch (argCount) {
+      case 1: return function(value) {
+        return func.call(thisArg, value);
+      };
+      case 3: return function(value, index, collection) {
+        return func.call(thisArg, value, index, collection);
+      };
+      case 4: return function(accumulator, value, index, collection) {
+        return func.call(thisArg, accumulator, value, index, collection);
+      };
+      case 5: return function(value, other, key, object, source) {
+        return func.call(thisArg, value, other, key, object, source);
+      };
+    }
+    return function() {
+      return func.apply(thisArg, arguments);
+    };
+  }
+
+  /**
+   * Creates a clone of the given array buffer.
    *
-   * _.contains({ 'name': 'moe', 'age': 40 }, 'moe');
-   * // => true
+   * @private
+   * @param {ArrayBuffer} buffer The array buffer to clone.
+   * @returns {ArrayBuffer} Returns the cloned array buffer.
+   */
+  function bufferClone(buffer) {
+    return bufferSlice.call(buffer, 0);
+  }
+  if (!bufferSlice) {
+    // PhantomJS has `ArrayBuffer` and `Uint8Array` but not `Float64Array`.
+    bufferClone = !(ArrayBuffer && Uint8Array) ? constant(null) : function(buffer) {
+      var byteLength = buffer.byteLength,
+          floatLength = Float64Array ? floor(byteLength / FLOAT64_BYTES_PER_ELEMENT) : 0,
+          offset = floatLength * FLOAT64_BYTES_PER_ELEMENT,
+          result = new ArrayBuffer(byteLength);
+
+      if (floatLength) {
+        var view = new Float64Array(result, 0, floatLength);
+        view.set(new Float64Array(buffer, 0, floatLength));
+      }
+      if (byteLength != offset) {
+        view = new Uint8Array(result, offset);
+        view.set(new Uint8Array(buffer, offset));
+      }
+      return result;
+    };
+  }
+
+  /**
+   * Creates an array that is the composition of partially applied arguments,
+   * placeholders, and provided arguments into a single array of arguments.
    *
-   * _.contains('curly', 'ur');
-   * // => true
+   * @private
+   * @param {Array|Object} args The provided arguments.
+   * @param {Array} partials The arguments to prepend to those provided.
+   * @param {Array} holders The `partials` placeholder indexes.
+   * @returns {Array} Returns the new array of composed arguments.
    */
-  function contains(collection, target, fromIndex) {
-    var index = -1,
-        length = collection ? collection.length : 0,
-        result = false;
-
-    fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex) || 0;
-    if (typeof length == 'number') {
-      result = (isString(collection)
-        ? collection.indexOf(target, fromIndex)
-        : indexOf(collection, target, fromIndex)
-      ) > -1;
-    } else {
-      each(collection, function(value) {
-        if (++index >= fromIndex) {
-          return !(result = value === target);
-        }
-      });
+  function composeArgs(args, partials, holders) {
+    var holdersLength = holders.length,
+        argsIndex = -1,
+        argsLength = nativeMax(args.length - holdersLength, 0),
+        leftIndex = -1,
+        leftLength = partials.length,
+        result = Array(argsLength + leftLength);
+
+    while (++leftIndex < leftLength) {
+      result[leftIndex] = partials[leftIndex];
+    }
+    while (++argsIndex < holdersLength) {
+      result[holders[argsIndex]] = args[argsIndex];
+    }
+    while (argsLength--) {
+      result[leftIndex++] = args[argsIndex++];
     }
     return result;
   }
 
   /**
-   * Creates an object composed of keys returned from running each element of
-   * `collection` through a `callback`. The corresponding value of each key is
-   * the number of times the key was returned by `callback`. The `callback` is
-   * bound to `thisArg` and invoked with three arguments; (value, index|key, collection).
-   * The `callback` argument may also be the name of a property to count by (e.g. 'length').
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function|String} callback|property The function called per iteration
-   *  or property name to count by.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns the composed aggregate object.
-   * @example
-   *
-   * _.countBy([4.3, 6.1, 6.4], function(num) { return Math.floor(num); });
-   * // => { '4': 1, '6': 2 }
-   *
-   * _.countBy([4.3, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
-   * // => { '4': 1, '6': 2 }
+   * This function is like `composeArgs` except that the arguments composition
+   * is tailored for `_.partialRight`.
    *
-   * _.countBy(['one', 'two', 'three'], 'length');
-   * // => { '3': 2, '5': 1 }
+   * @private
+   * @param {Array|Object} args The provided arguments.
+   * @param {Array} partials The arguments to append to those provided.
+   * @param {Array} holders The `partials` placeholder indexes.
+   * @returns {Array} Returns the new array of composed arguments.
    */
-  function countBy(collection, callback, thisArg) {
-    var result = {};
-    callback = createCallback(callback, thisArg);
+  function composeArgsRight(args, partials, holders) {
+    var holdersIndex = -1,
+        holdersLength = holders.length,
+        argsIndex = -1,
+        argsLength = nativeMax(args.length - holdersLength, 0),
+        rightIndex = -1,
+        rightLength = partials.length,
+        result = Array(argsLength + rightLength);
 
-    forEach(collection, function(value, key, collection) {
-      key = callback(value, key, collection);
-      (hasOwnProperty.call(result, key) ? result[key]++ : result[key] = 1);
-    });
+    while (++argsIndex < argsLength) {
+      result[argsIndex] = args[argsIndex];
+    }
+    var offset = argsIndex;
+    while (++rightIndex < rightLength) {
+      result[offset + rightIndex] = partials[rightIndex];
+    }
+    while (++holdersIndex < holdersLength) {
+      result[offset + holders[holdersIndex]] = args[argsIndex++];
+    }
     return result;
   }
 
   /**
-   * Checks if the `callback` returns a truthy value for **all** elements of a
-   * `collection`. The `callback` is bound to `thisArg` and invoked with three
-   * arguments; (value, index|key, collection).
+   * Creates a function that aggregates a collection, creating an accumulator
+   * object composed from the results of running each element in the collection
+   * through an iteratee.
    *
-   * @static
-   * @memberOf _
-   * @alias all
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Boolean} Returns `true` if all elements pass the callback check,
-   *  else `false`.
-   * @example
+   * **Note:** This function is used to create `_.countBy`, `_.groupBy`, `_.indexBy`,
+   * and `_.partition`.
    *
-   * _.every([true, 1, null, 'yes'], Boolean);
-   * // => false
+   * @private
+   * @param {Function} setter The function to set keys and values of the accumulator object.
+   * @param {Function} [initializer] The function to initialize the accumulator object.
+   * @returns {Function} Returns the new aggregator function.
    */
-  function every(collection, callback, thisArg) {
-    var result = true;
-    callback = createCallback(callback, thisArg);
+  function createAggregator(setter, initializer) {
+    return function(collection, iteratee, thisArg) {
+      var result = initializer ? initializer() : {};
+      iteratee = getCallback(iteratee, thisArg, 3);
 
-    if (isArray(collection)) {
-      var index = -1,
-          length = collection.length;
+      if (isArray(collection)) {
+        var index = -1,
+            length = collection.length;
 
-      while (++index < length) {
-        if (!(result = !!callback(collection[index], index, collection))) {
-          break;
+        while (++index < length) {
+          var value = collection[index];
+          setter(result, value, iteratee(value, index, collection), collection);
         }
+      } else {
+        baseEach(collection, function(value, key, collection) {
+          setter(result, value, iteratee(value, key, collection), collection);
+        });
       }
-    } else {
-      each(collection, function(value, index, collection) {
-        return (result = !!callback(value, index, collection));
-      });
-    }
-    return result;
+      return result;
+    };
   }
 
   /**
-   * Examines each element in a `collection`, returning an array of all elements
-   * the `callback` returns truthy for. The `callback` is bound to `thisArg` and
-   * invoked with three arguments; (value, index|key, collection).
+   * Creates a function that assigns properties of source object(s) to a given
+   * destination object.
    *
-   * @static
-   * @memberOf _
-   * @alias select
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a new array of elements that passed the callback check.
-   * @example
+   * **Note:** This function is used to create `_.assign`, `_.defaults`, and `_.merge`.
    *
-   * var evens = _.filter([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
-   * // => [2, 4, 6]
+   * @private
+   * @param {Function} assigner The function to assign values.
+   * @returns {Function} Returns the new assigner function.
    */
-  function filter(collection, callback, thisArg) {
-    var result = [];
-    callback = createCallback(callback, thisArg);
-
-    if (isArray(collection)) {
+  function createAssigner(assigner) {
+    return restParam(function(object, sources) {
       var index = -1,
-          length = collection.length;
-
+          length = object == null ? 0 : sources.length,
+          customizer = length > 2 ? sources[length - 2] : undefined,
+          guard = length > 2 ? sources[2] : undefined,
+          thisArg = length > 1 ? sources[length - 1] : undefined;
+
+      if (typeof customizer == 'function') {
+        customizer = bindCallback(customizer, thisArg, 5);
+        length -= 2;
+      } else {
+        customizer = typeof thisArg == 'function' ? thisArg : undefined;
+        length -= (customizer ? 1 : 0);
+      }
+      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
+        customizer = length < 3 ? undefined : customizer;
+        length = 1;
+      }
       while (++index < length) {
-        var value = collection[index];
-        if (callback(value, index, collection)) {
-          result.push(value);
+        var source = sources[index];
+        if (source) {
+          assigner(object, source, customizer);
         }
       }
-    } else {
-      each(collection, function(value, index, collection) {
-        if (callback(value, index, collection)) {
-          result.push(value);
-        }
-      });
-    }
-    return result;
+      return object;
+    });
   }
 
   /**
-   * Examines each element in a `collection`, returning the first one the `callback`
-   * returns truthy for. The function returns as soon as it finds an acceptable
-   * element, and does not iterate over the entire `collection`. The `callback` is
-   * bound to `thisArg` and invoked with three arguments; (value, index|key, collection).
-   *
-   * @static
-   * @memberOf _
-   * @alias detect
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Mixed} Returns the element that passed the callback check,
-   *  else `undefined`.
-   * @example
+   * Creates a `baseEach` or `baseEachRight` function.
    *
-   * var even = _.find([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
-   * // => 2
+   * @private
+   * @param {Function} eachFunc The function to iterate over a collection.
+   * @param {boolean} [fromRight] Specify iterating from right to left.
+   * @returns {Function} Returns the new base function.
    */
-  function find(collection, callback, thisArg) {
-    var result;
-    callback = createCallback(callback, thisArg);
+  function createBaseEach(eachFunc, fromRight) {
+    return function(collection, iteratee) {
+      var length = collection ? getLength(collection) : 0;
+      if (!isLength(length)) {
+        return eachFunc(collection, iteratee);
+      }
+      var index = fromRight ? length : -1,
+          iterable = toObject(collection);
 
-    forEach(collection, function(value, index, collection) {
-      if (callback(value, index, collection)) {
-        result = value;
-        return false;
+      while ((fromRight ? index-- : ++index < length)) {
+        if (iteratee(iterable[index], index, iterable) === false) {
+          break;
+        }
       }
-    });
-    return result;
+      return collection;
+    };
   }
 
   /**
-   * Iterates over a `collection`, executing the `callback` for each element in
-   * the `collection`. The `callback` is bound to `thisArg` and invoked with three
-   * arguments; (value, index|key, collection). Callbacks may exit iteration early
-   * by explicitly returning `false`.
-   *
-   * @static
-   * @memberOf _
-   * @alias each
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Array|Object|String} Returns `collection`.
-   * @example
+   * Creates a base function for `_.forIn` or `_.forInRight`.
    *
-   * _([1, 2, 3]).forEach(alert).join(',');
-   * // => alerts each number and returns '1,2,3'
-   *
-   * _.forEach({ 'one': 1, 'two': 2, 'three': 3 }, alert);
-   * // => alerts each number value (order is not guaranteed)
+   * @private
+   * @param {boolean} [fromRight] Specify iterating from right to left.
+   * @returns {Function} Returns the new base function.
    */
-  function forEach(collection, callback, thisArg) {
-    if (callback && typeof thisArg == 'undefined' && isArray(collection)) {
-      var index = -1,
-          length = collection.length;
-
-      while (++index < length) {
-        if (callback(collection[index], index, collection) === false) {
+  function createBaseFor(fromRight) {
+    return function(object, iteratee, keysFunc) {
+      var iterable = toObject(object),
+          props = keysFunc(object),
+          length = props.length,
+          index = fromRight ? length : -1;
+
+      while ((fromRight ? index-- : ++index < length)) {
+        var key = props[index];
+        if (iteratee(iterable[key], key, iterable) === false) {
           break;
         }
       }
-    } else {
-      each(collection, callback, thisArg);
-    }
-    return collection;
+      return object;
+    };
   }
 
   /**
-   * Creates an object composed of keys returned from running each element of
-   * `collection` through a `callback`. The corresponding value of each key is an
-   * array of elements passed to `callback` that returned the key. The `callback`
-   * is bound to `thisArg` and invoked with three arguments; (value, index|key, collection).
-   * The `callback` argument may also be the name of a property to group by (e.g. 'length').
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function|String} callback|property The function called per iteration
-   *  or property name to group by.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Object} Returns the composed aggregate object.
-   * @example
-   *
-   * _.groupBy([4.2, 6.1, 6.4], function(num) { return Math.floor(num); });
-   * // => { '4': [4.2], '6': [6.1, 6.4] }
+   * Creates a function that wraps `func` and invokes it with the `this`
+   * binding of `thisArg`.
    *
-   * _.groupBy([4.2, 6.1, 6.4], function(num) { return this.floor(num); }, Math);
-   * // => { '4': [4.2], '6': [6.1, 6.4] }
-   *
-   * _.groupBy(['one', 'two', 'three'], 'length');
-   * // => { '3': ['one', 'two'], '5': ['three'] }
+   * @private
+   * @param {Function} func The function to bind.
+   * @param {*} [thisArg] The `this` binding of `func`.
+   * @returns {Function} Returns the new bound function.
    */
-  function groupBy(collection, callback, thisArg) {
-    var result = {};
-    callback = createCallback(callback, thisArg);
+  function createBindWrapper(func, thisArg) {
+    var Ctor = createCtorWrapper(func);
 
-    forEach(collection, function(value, key, collection) {
-      key = callback(value, key, collection);
-      (hasOwnProperty.call(result, key) ? result[key] : result[key] = []).push(value);
-    });
-    return result;
+    function wrapper() {
+      var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
+      return fn.apply(thisArg, arguments);
+    }
+    return wrapper;
   }
 
   /**
-   * Invokes the method named by `methodName` on each element in the `collection`,
-   * returning an array of the results of each invoked method. Additional arguments
-   * will be passed to each invoked method. If `methodName` is a function it will
-   * be invoked for, and `this` bound to, each element in the `collection`.
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function|String} methodName The name of the method to invoke or
-   *  the function invoked per iteration.
-   * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the method with.
-   * @returns {Array} Returns a new array of the results of each invoked method.
-   * @example
+   * Creates a `Set` cache object to optimize linear searches of large arrays.
    *
-   * _.invoke([[5, 1, 7], [3, 2, 1]], 'sort');
-   * // => [[1, 5, 7], [1, 2, 3]]
+   * @private
+   * @param {Array} [values] The values to cache.
+   * @returns {null|Object} Returns the new cache object if `Set` is supported, else `null`.
+   */
+  var createCache = !(nativeCreate && Set) ? constant(null) : function(values) {
+    return new SetCache(values);
+  };
+
+  /**
+   * Creates a function that produces an instance of `Ctor` regardless of
+   * whether it was invoked as part of a `new` expression or by `call` or `apply`.
    *
-   * _.invoke([123, 456], String.prototype.split, '');
-   * // => [['1', '2', '3'], ['4', '5', '6']]
+   * @private
+   * @param {Function} Ctor The constructor to wrap.
+   * @returns {Function} Returns the new wrapped function.
    */
-  function invoke(collection, methodName) {
-    var args = slice(arguments, 2),
-        isFunc = typeof methodName == 'function',
-        result = [];
+  function createCtorWrapper(Ctor) {
+    return function() {
+      // Use a `switch` statement to work with class constructors.
+      // See https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-function-objects-call-thisargument-argumentslist
+      // for more details.
+      var args = arguments;
+      switch (args.length) {
+        case 0: return new Ctor;
+        case 1: return new Ctor(args[0]);
+        case 2: return new Ctor(args[0], args[1]);
+        case 3: return new Ctor(args[0], args[1], args[2]);
+        case 4: return new Ctor(args[0], args[1], args[2], args[3]);
+        case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);
+      }
+      var thisBinding = baseCreate(Ctor.prototype),
+          result = Ctor.apply(thisBinding, args);
 
-    forEach(collection, function(value) {
-      result.push((isFunc ? methodName : value[methodName]).apply(value, args));
-    });
-    return result;
+      // Mimic the constructor's `return` behavior.
+      // See https://es5.github.io/#x13.2.2 for more details.
+      return isObject(result) ? result : thisBinding;
+    };
   }
 
   /**
-   * Creates an array of values by running each element in the `collection`
-   * through a `callback`. The `callback` is bound to `thisArg` and invoked with
-   * three arguments; (value, index|key, collection).
-   *
-   * @static
-   * @memberOf _
-   * @alias collect
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a new array of the results of each `callback` execution.
-   * @example
+   * Creates a `_.find` or `_.findLast` function.
    *
-   * _.map([1, 2, 3], function(num) { return num * 3; });
-   * // => [3, 6, 9]
-   *
-   * _.map({ 'one': 1, 'two': 2, 'three': 3 }, function(num) { return num * 3; });
-   * // => [3, 6, 9] (order is not guaranteed)
+   * @private
+   * @param {Function} eachFunc The function to iterate over a collection.
+   * @param {boolean} [fromRight] Specify iterating from right to left.
+   * @returns {Function} Returns the new find function.
    */
-  function map(collection, callback, thisArg) {
-    var index = -1,
-        length = collection ? collection.length : 0,
-        result = Array(typeof length == 'number' ? length : 0);
-
-    callback = createCallback(callback, thisArg);
-    if (isArray(collection)) {
-      while (++index < length) {
-        result[index] = callback(collection[index], index, collection);
+  function createFind(eachFunc, fromRight) {
+    return function(collection, predicate, thisArg) {
+      predicate = getCallback(predicate, thisArg, 3);
+      if (isArray(collection)) {
+        var index = baseFindIndex(collection, predicate, fromRight);
+        return index > -1 ? collection[index] : undefined;
       }
-    } else {
-      each(collection, function(value, key, collection) {
-        result[++index] = callback(value, key, collection);
-      });
-    }
-    return result;
+      return baseFind(collection, predicate, eachFunc);
+    };
   }
 
   /**
-   * Retrieves the maximum value of an `array`. If `callback` is passed,
-   * it will be executed for each value in the `array` to generate the
-   * criterion by which the value is ranked. The `callback` is bound to
-   * `thisArg` and invoked with three arguments; (value, index, collection).
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Mixed} Returns the maximum value.
-   * @example
-   *
-   * var stooges = [
-   *   { 'name': 'moe', 'age': 40 },
-   *   { 'name': 'larry', 'age': 50 },
-   *   { 'name': 'curly', 'age': 60 }
-   * ];
+   * Creates a function for `_.forEach` or `_.forEachRight`.
    *
-   * _.max(stooges, function(stooge) { return stooge.age; });
-   * // => { 'name': 'curly', 'age': 60 };
+   * @private
+   * @param {Function} arrayFunc The function to iterate over an array.
+   * @param {Function} eachFunc The function to iterate over a collection.
+   * @returns {Function} Returns the new each function.
    */
-  function max(collection, callback, thisArg) {
-    var computed = -Infinity,
-        index = -1,
-        length = collection ? collection.length : 0,
-        result = computed;
-
-    if (callback || !isArray(collection)) {
-      callback = !callback && isString(collection)
-        ? charAtCallback
-        : createCallback(callback, thisArg);
-
-      each(collection, function(value, index, collection) {
-        var current = callback(value, index, collection);
-        if (current > computed) {
-          computed = current;
-          result = value;
-        }
-      });
-    } else {
-      while (++index < length) {
-        if (collection[index] > result) {
-          result = collection[index];
-        }
-      }
-    }
-    return result;
+  function createForEach(arrayFunc, eachFunc) {
+    return function(collection, iteratee, thisArg) {
+      return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
+        ? arrayFunc(collection, iteratee)
+        : eachFunc(collection, bindCallback(iteratee, thisArg, 3));
+    };
   }
 
   /**
-   * Retrieves the minimum value of an `array`. If `callback` is passed,
-   * it will be executed for each value in the `array` to generate the
-   * criterion by which the value is ranked. The `callback` is bound to `thisArg`
-   * and invoked with three arguments; (value, index, collection).
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Mixed} Returns the minimum value.
-   * @example
+   * Creates a function for `_.forOwn` or `_.forOwnRight`.
    *
-   * _.min([10, 5, 100, 2, 1000]);
-   * // => 2
+   * @private
+   * @param {Function} objectFunc The function to iterate over an object.
+   * @returns {Function} Returns the new each function.
    */
-  function min(collection, callback, thisArg) {
-    var computed = Infinity,
-        index = -1,
-        length = collection ? collection.length : 0,
-        result = computed;
-
-    if (callback || !isArray(collection)) {
-      callback = !callback && isString(collection)
-        ? charAtCallback
-        : createCallback(callback, thisArg);
-
-      each(collection, function(value, index, collection) {
-        var current = callback(value, index, collection);
-        if (current < computed) {
-          computed = current;
-          result = value;
-        }
-      });
-    } else {
-      while (++index < length) {
-        if (collection[index] < result) {
-          result = collection[index];
-        }
+  function createForOwn(objectFunc) {
+    return function(object, iteratee, thisArg) {
+      if (typeof iteratee != 'function' || thisArg !== undefined) {
+        iteratee = bindCallback(iteratee, thisArg, 3);
       }
-    }
-    return result;
+      return objectFunc(object, iteratee);
+    };
   }
 
   /**
-   * Retrieves the value of a specified property from all elements in
-   * the `collection`.
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {String} property The property to pluck.
-   * @returns {Array} Returns a new array of property values.
-   * @example
-   *
-   * var stooges = [
-   *   { 'name': 'moe', 'age': 40 },
-   *   { 'name': 'larry', 'age': 50 },
-   *   { 'name': 'curly', 'age': 60 }
-   * ];
+   * Creates a function for `_.reduce` or `_.reduceRight`.
    *
-   * _.pluck(stooges, 'name');
-   * // => ['moe', 'larry', 'curly']
+   * @private
+   * @param {Function} arrayFunc The function to iterate over an array.
+   * @param {Function} eachFunc The function to iterate over a collection.
+   * @returns {Function} Returns the new each function.
    */
-  function pluck(collection, property) {
-    return map(collection, property + '');
+  function createReduce(arrayFunc, eachFunc) {
+    return function(collection, iteratee, accumulator, thisArg) {
+      var initFromArray = arguments.length < 3;
+      return (typeof iteratee == 'function' && thisArg === undefined && isArray(collection))
+        ? arrayFunc(collection, iteratee, accumulator, initFromArray)
+        : baseReduce(collection, getCallback(iteratee, thisArg, 4), accumulator, initFromArray, eachFunc);
+    };
   }
 
   /**
-   * Boils down a `collection` to a single value. The initial state of the
-   * reduction is `accumulator` and each successive step of it should be returned
-   * by the `callback`. The `callback` is bound to `thisArg` and invoked with 4
-   * arguments; for arrays they are (accumulator, value, index|key, collection).
-   *
-   * @static
-   * @memberOf _
-   * @alias foldl, inject
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [accumulator] Initial value of the accumulator.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Mixed} Returns the accumulated value.
-   * @example
+   * Creates a function that wraps `func` and invokes it with optional `this`
+   * binding of, partial application, and currying.
    *
-   * var sum = _.reduce([1, 2, 3], function(memo, num) { return memo + num; });
-   * // => 6
+   * @private
+   * @param {Function|string} func The function or method name to reference.
+   * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+   * @param {*} [thisArg] The `this` binding of `func`.
+   * @param {Array} [partials] The arguments to prepend to those provided to the new function.
+   * @param {Array} [holders] The `partials` placeholder indexes.
+   * @param {Array} [partialsRight] The arguments to append to those provided to the new function.
+   * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.
+   * @param {Array} [argPos] The argument positions of the new function.
+   * @param {number} [ary] The arity cap of `func`.
+   * @param {number} [arity] The arity of `func`.
+   * @returns {Function} Returns the new wrapped function.
    */
-  function reduce(collection, callback, accumulator, thisArg) {
-    var noaccum = arguments.length < 3;
-    callback = createCallback(callback, thisArg, indicatorObject);
+  function createHybridWrapper(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {
+    var isAry = bitmask & ARY_FLAG,
+        isBind = bitmask & BIND_FLAG,
+        isBindKey = bitmask & BIND_KEY_FLAG,
+        isCurry = bitmask & CURRY_FLAG,
+        isCurryBound = bitmask & CURRY_BOUND_FLAG,
+        isCurryRight = bitmask & CURRY_RIGHT_FLAG,
+        Ctor = isBindKey ? null : createCtorWrapper(func);
+
+    function wrapper() {
+      // Avoid `arguments` object use disqualifying optimizations by
+      // converting it to an array before providing it to other functions.
+      var length = arguments.length,
+          index = length,
+          args = Array(length);
+
+      while (index--) {
+        args[index] = arguments[index];
+      }
+      if (partials) {
+        args = composeArgs(args, partials, holders);
+      }
+      if (partialsRight) {
+        args = composeArgsRight(args, partialsRight, holdersRight);
+      }
+      if (isCurry || isCurryRight) {
+        var placeholder = wrapper.placeholder,
+            argsHolders = replaceHolders(args, placeholder);
+
+        length -= argsHolders.length;
+        if (length < arity) {
+          var newArgPos = argPos ? arrayCopy(argPos) : null,
+              newArity = nativeMax(arity - length, 0),
+              newsHolders = isCurry ? argsHolders : null,
+              newHoldersRight = isCurry ? null : argsHolders,
+              newPartials = isCurry ? args : null,
+              newPartialsRight = isCurry ? null : args;
+
+          bitmask |= (isCurry ? PARTIAL_FLAG : PARTIAL_RIGHT_FLAG);
+          bitmask &= ~(isCurry ? PARTIAL_RIGHT_FLAG : PARTIAL_FLAG);
+
+          if (!isCurryBound) {
+            bitmask &= ~(BIND_FLAG | BIND_KEY_FLAG);
+          }
+          var newData = [func, bitmask, thisArg, newPartials, newsHolders, newPartialsRight, newHoldersRight, newArgPos, ary, newArity],
+              result = createHybridWrapper.apply(undefined, newData);
 
-    if (isArray(collection)) {
-      var index = -1,
-          length = collection.length;
+          if (isLaziable(func)) {
+            setData(result, newData);
+          }
+          result.placeholder = placeholder;
+          return result;
+        }
+      }
+      var thisBinding = isBind ? thisArg : this,
+          fn = isBindKey ? thisBinding[func] : func;
 
-      if (noaccum) {
-        accumulator = collection[++index];
+      if (argPos) {
+        args = reorder(args, argPos);
       }
-      while (++index < length) {
-        accumulator = callback(accumulator, collection[index], index, collection);
+      if (isAry && ary < args.length) {
+        args.length = ary;
       }
-    } else {
-      each(collection, function(value, index, collection) {
-        accumulator = noaccum
-          ? (noaccum = false, value)
-          : callback(accumulator, value, index, collection)
-      });
+      if (this && this !== root && this instanceof wrapper) {
+        fn = Ctor || createCtorWrapper(func);
+      }
+      return fn.apply(thisBinding, args);
     }
-    return accumulator;
+    return wrapper;
   }
 
   /**
-   * The right-associative version of `_.reduce`.
-   *
-   * @static
-   * @memberOf _
-   * @alias foldr
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [accumulator] Initial value of the accumulator.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Mixed} Returns the accumulated value.
-   * @example
+   * Creates a function that wraps `func` and invokes it with the optional `this`
+   * binding of `thisArg` and the `partials` prepended to those provided to
+   * the wrapper.
    *
-   * var list = [[0, 1], [2, 3], [4, 5]];
-   * var flat = _.reduceRight(list, function(a, b) { return a.concat(b); }, []);
-   * // => [4, 5, 2, 3, 0, 1]
+   * @private
+   * @param {Function} func The function to partially apply arguments to.
+   * @param {number} bitmask The bitmask of flags. See `createWrapper` for more details.
+   * @param {*} thisArg The `this` binding of `func`.
+   * @param {Array} partials The arguments to prepend to those provided to the new function.
+   * @returns {Function} Returns the new bound function.
    */
-  function reduceRight(collection, callback, accumulator, thisArg) {
-    var iteratee = collection,
-        length = collection ? collection.length : 0,
-        noaccum = arguments.length < 3;
-
-    if (typeof length != 'number') {
-      var props = keys(collection);
-      length = props.length;
-    } else if (noCharByIndex && isString(collection)) {
-      iteratee = collection.split('');
-    }
-    callback = createCallback(callback, thisArg, indicatorObject);
-    forEach(collection, function(value, index, collection) {
-      index = props ? props[--length] : --length;
-      accumulator = noaccum
-        ? (noaccum = false, iteratee[index])
-        : callback(accumulator, iteratee[index], index, collection);
-    });
-    return accumulator;
+  function createPartialWrapper(func, bitmask, thisArg, partials) {
+    var isBind = bitmask & BIND_FLAG,
+        Ctor = createCtorWrapper(func);
+
+    function wrapper() {
+      // Avoid `arguments` object use disqualifying optimizations by
+      // converting it to an array before providing it `func`.
+      var argsIndex = -1,
+          argsLength = arguments.length,
+          leftIndex = -1,
+          leftLength = partials.length,
+          args = Array(argsLength + leftLength);
+
+      while (++leftIndex < leftLength) {
+        args[leftIndex] = partials[leftIndex];
+      }
+      while (argsLength--) {
+        args[leftIndex++] = arguments[++argsIndex];
+      }
+      var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;
+      return fn.apply(isBind ? thisArg : this, args);
+    }
+    return wrapper;
   }
 
   /**
-   * The opposite of `_.filter`, this method returns the values of a
-   * `collection` that `callback` does **not** return truthy for.
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a new array of elements that did **not** pass the
-   *  callback check.
-   * @example
+   * Creates a function that either curries or invokes `func` with optional
+   * `this` binding and partially applied arguments.
    *
-   * var odds = _.reject([1, 2, 3, 4, 5, 6], function(num) { return num % 2 == 0; });
-   * // => [1, 3, 5]
+   * @private
+   * @param {Function|string} func The function or method name to reference.
+   * @param {number} bitmask The bitmask of flags.
+   *  The bitmask may be composed of the following flags:
+   *     1 - `_.bind`
+   *     2 - `_.bindKey`
+   *     4 - `_.curry` or `_.curryRight` of a bound function
+   *     8 - `_.curry`
+   *    16 - `_.curryRight`
+   *    32 - `_.partial`
+   *    64 - `_.partialRight`
+   *   128 - `_.rearg`
+   *   256 - `_.ary`
+   * @param {*} [thisArg] The `this` binding of `func`.
+   * @param {Array} [partials] The arguments to be partially applied.
+   * @param {Array} [holders] The `partials` placeholder indexes.
+   * @param {Array} [argPos] The argument positions of the new function.
+   * @param {number} [ary] The arity cap of `func`.
+   * @param {number} [arity] The arity of `func`.
+   * @returns {Function} Returns the new wrapped function.
    */
-  function reject(collection, callback, thisArg) {
-    callback = createCallback(callback, thisArg);
-    return filter(collection, function(value, index, collection) {
-      return !callback(value, index, collection);
-    });
+  function createWrapper(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {
+    var isBindKey = bitmask & BIND_KEY_FLAG;
+    if (!isBindKey && typeof func != 'function') {
+      throw new TypeError(FUNC_ERROR_TEXT);
+    }
+    var length = partials ? partials.length : 0;
+    if (!length) {
+      bitmask &= ~(PARTIAL_FLAG | PARTIAL_RIGHT_FLAG);
+      partials = holders = null;
+    }
+    length -= (holders ? holders.length : 0);
+    if (bitmask & PARTIAL_RIGHT_FLAG) {
+      var partialsRight = partials,
+          holdersRight = holders;
+
+      partials = holders = null;
+    }
+    var data = isBindKey ? null : getData(func),
+        newData = [func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity];
+
+    if (data) {
+      mergeData(newData, data);
+      bitmask = newData[1];
+      arity = newData[9];
+    }
+    newData[9] = arity == null
+      ? (isBindKey ? 0 : func.length)
+      : (nativeMax(arity - length, 0) || 0);
+
+    if (bitmask == BIND_FLAG) {
+      var result = createBindWrapper(newData[0], newData[2]);
+    } else if ((bitmask == PARTIAL_FLAG || bitmask == (BIND_FLAG | PARTIAL_FLAG)) && !newData[4].length) {
+      result = createPartialWrapper.apply(undefined, newData);
+    } else {
+      result = createHybridWrapper.apply(undefined, newData);
+    }
+    var setter = data ? baseSetData : setData;
+    return setter(result, newData);
   }
 
   /**
-   * Creates an array of shuffled `array` values, using a version of the
-   * Fisher-Yates shuffle. See http://en.wikipedia.org/wiki/Fisher-Yates_shuffle.
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to shuffle.
-   * @returns {Array} Returns a new shuffled collection.
-   * @example
+   * A specialized version of `baseIsEqualDeep` for arrays with support for
+   * partial deep comparisons.
    *
-   * _.shuffle([1, 2, 3, 4, 5, 6]);
-   * // => [4, 1, 6, 3, 5, 2]
+   * @private
+   * @param {Array} array The array to compare.
+   * @param {Array} other The other array to compare.
+   * @param {Function} equalFunc The function to determine equivalents of values.
+   * @param {Function} [customizer] The function to customize comparing arrays.
+   * @param {boolean} [isLoose] Specify performing partial comparisons.
+   * @param {Array} [stackA] Tracks traversed `value` objects.
+   * @param {Array} [stackB] Tracks traversed `other` objects.
+   * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.
    */
-  function shuffle(collection) {
+  function equalArrays(array, other, equalFunc, customizer, isLoose, stackA, stackB) {
     var index = -1,
-        result = Array(collection ? collection.length : 0);
+        arrLength = array.length,
+        othLength = other.length;
 
-    forEach(collection, function(value) {
-      var rand = floor(nativeRandom() * (++index + 1));
-      result[index] = result[rand];
-      result[rand] = value;
-    });
-    return result;
+    if (arrLength != othLength && !(isLoose && othLength > arrLength)) {
+      return false;
+    }
+    // Ignore non-index properties.
+    while (++index < arrLength) {
+      var arrValue = array[index],
+          othValue = other[index],
+          result = customizer ? customizer(isLoose ? othValue : arrValue, isLoose ? arrValue : othValue, index) : undefined;
+
+      if (result !== undefined) {
+        if (result) {
+          continue;
+        }
+        return false;
+      }
+      // Recursively compare arrays (susceptible to call stack limits).
+      if (isLoose) {
+        if (!arraySome(other, function(othValue) {
+              return arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB);
+            })) {
+          return false;
+        }
+      } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, customizer, isLoose, stackA, stackB))) {
+        return false;
+      }
+    }
+    return true;
   }
 
   /**
-   * Gets the size of the `collection` by returning `collection.length` for arrays
-   * and array-like objects or the number of own enumerable properties for objects.
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to inspect.
-   * @returns {Number} Returns `collection.length` or number of own enumerable properties.
-   * @example
-   *
-   * _.size([1, 2]);
-   * // => 2
+   * A specialized version of `baseIsEqualDeep` for comparing objects of
+   * the same `toStringTag`.
    *
-   * _.size({ 'one': 1, 'two': 2, 'three': 3 });
-   * // => 3
+   * **Note:** This function only supports comparing values with tags of
+   * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
    *
-   * _.size('curly');
-   * // => 5
+   * @private
+   * @param {Object} value The object to compare.
+   * @param {Object} other The other object to compare.
+   * @param {string} tag The `toStringTag` of the objects to compare.
+   * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
    */
-  function size(collection) {
-    var length = collection ? collection.length : 0;
-    return typeof length == 'number' ? length : keys(collection).length;
+  function equalByTag(object, other, tag) {
+    switch (tag) {
+      case boolTag:
+      case dateTag:
+        // Coerce dates and booleans to numbers, dates to milliseconds and booleans
+        // to `1` or `0` treating invalid dates coerced to `NaN` as not equal.
+        return +object == +other;
+
+      case errorTag:
+        return object.name == other.name && object.message == other.message;
+
+      case numberTag:
+        // Treat `NaN` vs. `NaN` as equal.
+        return (object != +object)
+          ? other != +other
+          : object == +other;
+
+      case regexpTag:
+      case stringTag:
+        // Coerce regexes to strings and treat strings primitives and string
+        // objects as equal. See https://es5.github.io/#x15.10.6.4 for more details.
+        return object == (other + '');
+    }
+    return false;
   }
 
   /**
-   * Checks if the `callback` returns a truthy value for **any** element of a
-   * `collection`. The function returns as soon as it finds passing value, and
-   * does not iterate over the entire `collection`. The `callback` is bound to
-   * `thisArg` and invoked with three arguments; (value, index|key, collection).
-   *
-   * @static
-   * @memberOf _
-   * @alias any
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Boolean} Returns `true` if any element passes the callback check,
-   *  else `false`.
-   * @example
+   * A specialized version of `baseIsEqualDeep` for objects with support for
+   * partial deep comparisons.
    *
-   * _.some([null, 0, 'yes', false], Boolean);
-   * // => true
+   * @private
+   * @param {Object} object The object to compare.
+   * @param {Object} other The other object to compare.
+   * @param {Function} equalFunc The function to determine equivalents of values.
+   * @param {Function} [customizer] The function to customize comparing values.
+   * @param {boolean} [isLoose] Specify performing partial comparisons.
+   * @param {Array} [stackA] Tracks traversed `value` objects.
+   * @param {Array} [stackB] Tracks traversed `other` objects.
+   * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.
    */
-  function some(collection, callback, thisArg) {
-    var result;
-    callback = createCallback(callback, thisArg);
+  function equalObjects(object, other, equalFunc, customizer, isLoose, stackA, stackB) {
+    var objProps = keys(object),
+        objLength = objProps.length,
+        othProps = keys(other),
+        othLength = othProps.length;
 
-    if (isArray(collection)) {
-      var index = -1,
-          length = collection.length;
+    if (objLength != othLength && !isLoose) {
+      return false;
+    }
+    var index = objLength;
+    while (index--) {
+      var key = objProps[index];
+      if (!(isLoose ? key in other : hasOwnProperty.call(other, key))) {
+        return false;
+      }
+    }
+    var skipCtor = isLoose;
+    while (++index < objLength) {
+      key = objProps[index];
+      var objValue = object[key],
+          othValue = other[key],
+          result = customizer ? customizer(isLoose ? othValue : objValue, isLoose? objValue : othValue, key) : undefined;
 
-      while (++index < length) {
-        if ((result = callback(collection[index], index, collection))) {
-          break;
-        }
+      // Recursively compare objects (susceptible to call stack limits).
+      if (!(result === undefined ? equalFunc(objValue, othValue, customizer, isLoose, stackA, stackB) : result)) {
+        return false;
       }
-    } else {
-      each(collection, function(value, index, collection) {
-        return !(result = callback(value, index, collection));
-      });
+      skipCtor || (skipCtor = key == 'constructor');
     }
-    return !!result;
+    if (!skipCtor) {
+      var objCtor = object.constructor,
+          othCtor = other.constructor;
+
+      // Non `Object` object instances with different constructors are not equal.
+      if (objCtor != othCtor &&
+          ('constructor' in object && 'constructor' in other) &&
+          !(typeof objCtor == 'function' && objCtor instanceof objCtor &&
+            typeof othCtor == 'function' && othCtor instanceof othCtor)) {
+        return false;
+      }
+    }
+    return true;
   }
 
   /**
-   * Creates an array, stable sorted in ascending order by the results of
-   * running each element of `collection` through a `callback`. The `callback`
-   * is bound to `thisArg` and invoked with three arguments; (value, index|key, collection).
-   * The `callback` argument may also be the name of a property to sort by (e.g. 'length').
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Function|String} callback|property The function called per iteration
-   *  or property name to sort by.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a new array of sorted elements.
-   * @example
-   *
-   * _.sortBy([1, 2, 3], function(num) { return Math.sin(num); });
-   * // => [3, 1, 2]
+   * Gets the appropriate "callback" function. If the `_.callback` method is
+   * customized this function returns the custom method, otherwise it returns
+   * the `baseCallback` function. If arguments are provided the chosen function
+   * is invoked with them and its result is returned.
    *
-   * _.sortBy([1, 2, 3], function(num) { return this.sin(num); }, Math);
-   * // => [3, 1, 2]
+   * @private
+   * @returns {Function} Returns the chosen function or its result.
+   */
+  function getCallback(func, thisArg, argCount) {
+    var result = lodash.callback || callback;
+    result = result === callback ? baseCallback : result;
+    return argCount ? result(func, thisArg, argCount) : result;
+  }
+
+  /**
+   * Gets metadata for `func`.
    *
-   * _.sortBy(['larry', 'brendan', 'moe'], 'length');
-   * // => ['moe', 'larry', 'brendan']
+   * @private
+   * @param {Function} func The function to query.
+   * @returns {*} Returns the metadata for `func`.
    */
-  function sortBy(collection, callback, thisArg) {
-    var result = [];
-    callback = createCallback(callback, thisArg);
+  var getData = !metaMap ? noop : function(func) {
+    return metaMap.get(func);
+  };
 
-    forEach(collection, function(value, index, collection) {
-      result.push({
-        'criteria': callback(value, index, collection),
-        'index': index,
-        'value': value
-      });
-    });
+  /**
+   * Gets the name of `func`.
+   *
+   * @private
+   * @param {Function} func The function to query.
+   * @returns {string} Returns the function name.
+   */
+  function getFuncName(func) {
+    var result = func.name,
+        array = realNames[result],
+        length = array ? array.length : 0;
 
-    var length = result.length;
-    result.sort(compareAscending);
     while (length--) {
-      result[length] = result[length].value;
+      var data = array[length],
+          otherFunc = data.func;
+      if (otherFunc == null || otherFunc == func) {
+        return data.name;
+      }
     }
     return result;
   }
 
   /**
-   * Converts the `collection` to an array.
-   *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to convert.
-   * @returns {Array} Returns the new converted array.
-   * @example
+   * Gets the appropriate "indexOf" function. If the `_.indexOf` method is
+   * customized this function returns the custom method, otherwise it returns
+   * the `baseIndexOf` function. If arguments are provided the chosen function
+   * is invoked with them and its result is returned.
    *
-   * (function() { return _.toArray(arguments).slice(1); })(1, 2, 3, 4);
-   * // => [2, 3, 4]
+   * @private
+   * @returns {Function|number} Returns the chosen function or its result.
    */
-  function toArray(collection) {
-    var length = collection ? collection.length : 0;
-    if (typeof length == 'number') {
-      return noCharByIndex && isString(collection)
-        ? collection.split('')
-        : slice(collection);
-    }
-    return values(collection);
+  function getIndexOf(collection, target, fromIndex) {
+    var result = lodash.indexOf || indexOf;
+    result = result === indexOf ? baseIndexOf : result;
+    return collection ? result(collection, target, fromIndex) : result;
   }
 
   /**
-   * Examines each element in a `collection`, returning an array of all elements
-   * that contain the given `properties`.
+   * Gets the "length" property value of `object`.
    *
-   * @static
-   * @memberOf _
-   * @category Collections
-   * @param {Array|Object|String} collection The collection to iterate over.
-   * @param {Object} properties The object of property values to filter by.
-   * @returns {Array} Returns a new array of elements that contain the given `properties`.
-   * @example
+   * **Note:** This function is used to avoid a [JIT bug](https://bugs.webkit.org/show_bug.cgi?id=142792)
+   * that affects Safari on at least iOS 8.1-8.3 ARM64.
    *
-   * var stooges = [
-   *   { 'name': 'moe', 'age': 40 },
-   *   { 'name': 'larry', 'age': 50 },
-   *   { 'name': 'curly', 'age': 60 }
-   * ];
+   * @private
+   * @param {Object} object The object to query.
+   * @returns {*} Returns the "length" value.
+   */
+  var getLength = baseProperty('length');
+
+  /**
+   * Gets the propery names, values, and compare flags of `object`.
    *
-   * _.where(stooges, { 'age': 40 });
-   * // => [{ 'name': 'moe', 'age': 40 }]
+   * @private
+   * @param {Object} object The object to query.
+   * @returns {Array} Returns the match data of `object`.
    */
-  function where(collection, properties) {
-    var props = keys(properties);
-    return filter(collection, function(object) {
-      var length = props.length;
-      while (length--) {
-        var result = object[props[length]] === properties[props[length]];
-        if (!result) {
-          break;
-        }
-      }
-      return !!result;
-    });
-  }
+  function getMatchData(object) {
+    var result = pairs(object),
+        length = result.length;
 
-  /*--------------------------------------------------------------------------*/
+    while (length--) {
+      result[length][2] = isStrictComparable(result[length][1]);
+    }
+    return result;
+  }
 
   /**
-   * Creates an array with all falsey values of `array` removed. The values
-   * `false`, `null`, `0`, `""`, `undefined` and `NaN` are all falsey.
+   * Gets the native function at `key` of `object`.
    *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to compact.
-   * @returns {Array} Returns a new filtered array.
-   * @example
+   * @private
+   * @param {Object} object The object to query.
+   * @param {string} key The key of the method to get.
+   * @returns {*} Returns the function if it's native, else `undefined`.
+   */
+  function getNative(object, key) {
+    var value = object == null ? undefined : object[key];
+    return isNative(value) ? value : undefined;
+  }
+
+  /**
+   * Gets the view, applying any `transforms` to the `start` and `end` positions.
    *
-   * _.compact([0, 1, false, 2, '', 3]);
-   * // => [1, 2, 3]
+   * @private
+   * @param {number} start The start of the view.
+   * @param {number} end The end of the view.
+   * @param {Array} [transforms] The transformations to apply to the view.
+   * @returns {Object} Returns an object containing the `start` and `end`
+   *  positions of the view.
    */
-  function compact(array) {
+  function getView(start, end, transforms) {
     var index = -1,
-        length = array ? array.length : 0,
-        result = [];
+        length = transforms ? transforms.length : 0;
 
     while (++index < length) {
-      var value = array[index];
-      if (value) {
-        result.push(value);
+      var data = transforms[index],
+          size = data.size;
+
+      switch (data.type) {
+        case 'drop':      start += size; break;
+        case 'dropRight': end -= size; break;
+        case 'take':      end = nativeMin(end, start + size); break;
+        case 'takeRight': start = nativeMax(start, end - size); break;
       }
     }
-    return result;
+    return { 'start': start, 'end': end };
   }
 
   /**
-   * Creates an array of `array` elements not present in the other arrays
-   * using strict equality for comparisons, i.e. `===`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to process.
-   * @param {Array} [array1, array2, ...] Arrays to check.
-   * @returns {Array} Returns a new array of `array` elements not present in the
-   *  other arrays.
-   * @example
+   * Initializes an array clone.
    *
-   * _.difference([1, 2, 3, 4, 5], [5, 2, 10]);
-   * // => [1, 3, 4]
+   * @private
+   * @param {Array} array The array to clone.
+   * @returns {Array} Returns the initialized clone.
    */
-  function difference(array) {
-    var index = -1,
-        length = array ? array.length : 0,
-        flattened = concat.apply(arrayRef, arguments),
-        contains = cachedContains(flattened, length),
-        result = [];
+  function initCloneArray(array) {
+    var length = array.length,
+        result = new array.constructor(length);
 
-    while (++index < length) {
-      var value = array[index];
-      if (!contains(value)) {
-        result.push(value);
-      }
+    // Add array properties assigned by `RegExp#exec`.
+    if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {
+      result.index = array.index;
+      result.input = array.input;
     }
     return result;
   }
 
   /**
-   * Gets the first element of the `array`. Pass `n` to return the first `n`
-   * elements of the `array`.
-   *
-   * @static
-   * @memberOf _
-   * @alias head, take
-   * @category Arrays
-   * @param {Array} array The array to query.
-   * @param {Number} [n] The number of elements to return.
-   * @param- {Object} [guard] Internally used to allow this method to work with
-   *  others like `_.map` without using their callback `index` argument for `n`.
-   * @returns {Mixed} Returns the first element, or an array of the first `n`
-   *  elements, of `array`.
-   * @example
+   * Initializes an object clone.
    *
-   * _.first([5, 4, 3, 2, 1]);
-   * // => 5
+   * @private
+   * @param {Object} object The object to clone.
+   * @returns {Object} Returns the initialized clone.
    */
-  function first(array, n, guard) {
-    if (array) {
-      var length = array.length;
-      return (n == null || guard)
-        ? array[0]
-        : slice(array, 0, nativeMin(nativeMax(0, n), length));
+  function initCloneObject(object) {
+    var Ctor = object.constructor;
+    if (!(typeof Ctor == 'function' && Ctor instanceof Ctor)) {
+      Ctor = Object;
     }
+    return new Ctor;
   }
 
   /**
-   * Flattens a nested array (the nesting can be to any depth). If `shallow` is
-   * truthy, `array` will only be flattened a single level.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to compact.
-   * @param {Boolean} shallow A flag to indicate only flattening a single level.
-   * @returns {Array} Returns a new flattened array.
-   * @example
+   * Initializes an object clone based on its `toStringTag`.
    *
-   * _.flatten([1, [2], [3, [[4]]]]);
-   * // => [1, 2, 3, 4];
+   * **Note:** This function only supports cloning values with tags of
+   * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.
    *
-   * _.flatten([1, [2], [3, [[4]]]], true);
-   * // => [1, 2, 3, [[4]]];
+   * @private
+   * @param {Object} object The object to clone.
+   * @param {string} tag The `toStringTag` of the object to clone.
+   * @param {boolean} [isDeep] Specify a deep clone.
+   * @returns {Object} Returns the initialized clone.
    */
-  function flatten(array, shallow) {
-    var index = -1,
-        length = array ? array.length : 0,
-        result = [];
-
-    while (++index < length) {
-      var value = array[index];
-
-      // recursively flatten arrays (susceptible to call stack limits)
-      if (isArray(value)) {
-        push.apply(result, shallow ? value : flatten(value));
-      } else {
-        result.push(value);
-      }
+  function initCloneByTag(object, tag, isDeep) {
+    var Ctor = object.constructor;
+    switch (tag) {
+      case arrayBufferTag:
+        return bufferClone(object);
+
+      case boolTag:
+      case dateTag:
+        return new Ctor(+object);
+
+      case float32Tag: case float64Tag:
+      case int8Tag: case int16Tag: case int32Tag:
+      case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:
+        // Safari 5 mobile incorrectly has `Object` as the constructor of typed arrays.
+        if (Ctor instanceof Ctor) {
+          Ctor = ctorByTag[tag];
+        }
+        var buffer = object.buffer;
+        return new Ctor(isDeep ? bufferClone(buffer) : buffer, object.byteOffset, object.length);
+
+      case numberTag:
+      case stringTag:
+        return new Ctor(object);
+
+      case regexpTag:
+        var result = new Ctor(object.source, reFlags.exec(object));
+        result.lastIndex = object.lastIndex;
     }
     return result;
   }
 
   /**
-   * Gets the index at which the first occurrence of `value` is found using
-   * strict equality for comparisons, i.e. `===`. If the `array` is already
-   * sorted, passing `true` for `fromIndex` will run a faster binary search.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to search.
-   * @param {Mixed} value The value to search for.
-   * @param {Boolean|Number} [fromIndex=0] The index to search from or `true` to
-   *  perform a binary search on a sorted `array`.
-   * @returns {Number} Returns the index of the matched value or `-1`.
-   * @example
-   *
-   * _.indexOf([1, 2, 3, 1, 2, 3], 2);
-   * // => 1
+   * Checks if `value` is array-like.
    *
-   * _.indexOf([1, 2, 3, 1, 2, 3], 2, 3);
-   * // => 4
+   * @private
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is array-like, else `false`.
+   */
+  function isArrayLike(value) {
+    return value != null && isLength(getLength(value));
+  }
+
+  /**
+   * Checks if `value` is a valid array-like index.
    *
-   * _.indexOf([1, 1, 2, 2, 3, 3], 2, true);
-   * // => 2
+   * @private
+   * @param {*} value The value to check.
+   * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.
+   * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
    */
-  function indexOf(array, value, fromIndex) {
-    var index = -1,
-        length = array ? array.length : 0;
+  function isIndex(value, length) {
+    value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
+    length = length == null ? MAX_SAFE_INTEGER : length;
+    return value > -1 && value % 1 == 0 && value < length;
+  }
 
-    if (typeof fromIndex == 'number') {
-      index = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0) - 1;
-    } else if (fromIndex) {
-      index = sortedIndex(array, value);
-      return array[index] === value ? index : -1;
+  /**
+   * Checks if the provided arguments are from an iteratee call.
+   *
+   * @private
+   * @param {*} value The potential iteratee value argument.
+   * @param {*} index The potential iteratee index or key argument.
+   * @param {*} object The potential iteratee object argument.
+   * @returns {boolean} Returns `true` if the arguments are from an iteratee call, else `false`.
+   */
+  function isIterateeCall(value, index, object) {
+    if (!isObject(object)) {
+      return false;
     }
-    while (++index < length) {
-      if (array[index] === value) {
-        return index;
-      }
+    var type = typeof index;
+    if (type == 'number'
+        ? (isArrayLike(object) && isIndex(index, object.length))
+        : (type == 'string' && index in object)) {
+      var other = object[index];
+      return value === value ? (value === other) : (other !== other);
     }
-    return -1;
+    return false;
   }
 
   /**
-   * Gets all but the last element of `array`. Pass `n` to exclude the last `n`
-   * elements from the result.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to query.
-   * @param {Number} [n=1] The number of elements to exclude.
-   * @param- {Object} [guard] Internally used to allow this method to work with
-   *  others like `_.map` without using their callback `index` argument for `n`.
-   * @returns {Array} Returns all but the last element, or `n` elements, of `array`.
-   * @example
+   * Checks if `value` is a property name and not a property path.
    *
-   * _.initial([3, 2, 1]);
-   * // => [3, 2]
+   * @private
+   * @param {*} value The value to check.
+   * @param {Object} [object] The object to query keys on.
+   * @returns {boolean} Returns `true` if `value` is a property name, else `false`.
    */
-  function initial(array, n, guard) {
-    if (!array) {
-      return [];
+  function isKey(value, object) {
+    var type = typeof value;
+    if ((type == 'string' && reIsPlainProp.test(value)) || type == 'number') {
+      return true;
+    }
+    if (isArray(value)) {
+      return false;
     }
-    var length = array.length;
-    n = n == null || guard ? 1 : n || 0;
-    return slice(array, 0, nativeMin(nativeMax(0, length - n), length));
+    var result = !reIsDeepProp.test(value);
+    return result || (object != null && value in toObject(object));
   }
 
   /**
-   * Computes the intersection of all the passed-in arrays using strict equality
-   * for comparisons, i.e. `===`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} [array1, array2, ...] Arrays to process.
-   * @returns {Array} Returns a new array of unique elements that are present
-   *  in **all** of the arrays.
-   * @example
+   * Checks if `func` has a lazy counterpart.
    *
-   * _.intersection([1, 2, 3], [101, 2, 1, 10], [2, 1]);
-   * // => [1, 2]
+   * @private
+   * @param {Function} func The function to check.
+   * @returns {boolean} Returns `true` if `func` has a lazy counterpart, else `false`.
    */
-  function intersection(array) {
-    var args = arguments,
-        argsLength = args.length,
-        cache = { '0': {} },
-        index = -1,
-        length = array ? array.length : 0,
-        isLarge = length >= 100,
-        result = [],
-        seen = result;
-
-    outer:
-    while (++index < length) {
-      var value = array[index];
-      if (isLarge) {
-        var key = value + '';
-        var inited = hasOwnProperty.call(cache[0], key)
-          ? !(seen = cache[0][key])
-          : (seen = cache[0][key] = []);
-      }
-      if (inited || indexOf(seen, value) < 0) {
-        if (isLarge) {
-          seen.push(value);
-        }
-        var argsIndex = argsLength;
-        while (--argsIndex) {
-          if (!(cache[argsIndex] || (cache[argsIndex] = cachedContains(args[argsIndex], 0, 100)))(value)) {
-            continue outer;
-          }
-        }
-        result.push(value);
-      }
+  function isLaziable(func) {
+    var funcName = getFuncName(func);
+    if (!(funcName in LazyWrapper.prototype)) {
+      return false;
     }
-    return result;
+    var other = lodash[funcName];
+    if (func === other) {
+      return true;
+    }
+    var data = getData(other);
+    return !!data && func === data[0];
   }
 
   /**
-   * Gets the last element of the `array`. Pass `n` to return the last `n`
-   * elements of the `array`.
+   * Checks if `value` is a valid array-like length.
    *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to query.
-   * @param {Number} [n] The number of elements to return.
-   * @param- {Object} [guard] Internally used to allow this method to work with
-   *  others like `_.map` without using their callback `index` argument for `n`.
-   * @returns {Mixed} Returns the last element, or an array of the last `n`
-   *  elements, of `array`.
-   * @example
+   * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).
    *
-   * _.last([3, 2, 1]);
-   * // => 1
+   * @private
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.
    */
-  function last(array, n, guard) {
-    if (array) {
-      var length = array.length;
-      return (n == null || guard) ? array[length - 1] : slice(array, nativeMax(0, length - n));
-    }
+  function isLength(value) {
+    return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
   }
 
   /**
-   * Gets the index at which the last occurrence of `value` is found using strict
-   * equality for comparisons, i.e. `===`. If `fromIndex` is negative, it is used
-   * as the offset from the end of the collection.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to search.
-   * @param {Mixed} value The value to search for.
-   * @param {Number} [fromIndex=array.length-1] The index to search from.
-   * @returns {Number} Returns the index of the matched value or `-1`.
-   * @example
-   *
-   * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2);
-   * // => 4
+   * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.
    *
-   * _.lastIndexOf([1, 2, 3, 1, 2, 3], 2, 3);
-   * // => 1
+   * @private
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` if suitable for strict
+   *  equality comparisons, else `false`.
    */
-  function lastIndexOf(array, value, fromIndex) {
-    var index = array ? array.length : 0;
-    if (typeof fromIndex == 'number') {
-      index = (fromIndex < 0 ? nativeMax(0, index + fromIndex) : nativeMin(fromIndex, index - 1)) + 1;
+  function isStrictComparable(value) {
+    return value === value && !isObject(value);
+  }
+
+  /**
+   * Merges the function metadata of `source` into `data`.
+   *
+   * Merging metadata reduces the number of wrappers required to invoke a function.
+   * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`
+   * may be applied regardless of execution order. Methods like `_.ary` and `_.rearg`
+   * augment function arguments, making the order in which they are executed important,
+   * preventing the merging of metadata. However, we make an exception for a safe
+   * common case where curried functions have `_.ary` and or `_.rearg` applied.
+   *
+   * @private
+   * @param {Array} data The destination metadata.
+   * @param {Array} source The source metadata.
+   * @returns {Array} Returns `data`.
+   */
+  function mergeData(data, source) {
+    var bitmask = data[1],
+        srcBitmask = source[1],
+        newBitmask = bitmask | srcBitmask,
+        isCommon = newBitmask < ARY_FLAG;
+
+    var isCombo =
+      (srcBitmask == ARY_FLAG && bitmask == CURRY_FLAG) ||
+      (srcBitmask == ARY_FLAG && bitmask == REARG_FLAG && data[7].length <= source[8]) ||
+      (srcBitmask == (ARY_FLAG | REARG_FLAG) && bitmask == CURRY_FLAG);
+
+    // Exit early if metadata can't be merged.
+    if (!(isCommon || isCombo)) {
+      return data;
+    }
+    // Use source `thisArg` if available.
+    if (srcBitmask & BIND_FLAG) {
+      data[2] = source[2];
+      // Set when currying a bound function.
+      newBitmask |= (bitmask & BIND_FLAG) ? 0 : CURRY_BOUND_FLAG;
+    }
+    // Compose partial arguments.
+    var value = source[3];
+    if (value) {
+      var partials = data[3];
+      data[3] = partials ? composeArgs(partials, value, source[4]) : arrayCopy(value);
+      data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : arrayCopy(source[4]);
     }
-    while (index--) {
-      if (array[index] === value) {
-        return index;
-      }
+    // Compose partial right arguments.
+    value = source[5];
+    if (value) {
+      partials = data[5];
+      data[5] = partials ? composeArgsRight(partials, value, source[6]) : arrayCopy(value);
+      data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : arrayCopy(source[6]);
     }
-    return -1;
+    // Use source `argPos` if available.
+    value = source[7];
+    if (value) {
+      data[7] = arrayCopy(value);
+    }
+    // Use source `ary` if it's smaller.
+    if (srcBitmask & ARY_FLAG) {
+      data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);
+    }
+    // Use source `arity` if one is not provided.
+    if (data[9] == null) {
+      data[9] = source[9];
+    }
+    // Use source `func` and merge bitmasks.
+    data[0] = source[0];
+    data[1] = newBitmask;
+
+    return data;
   }
 
   /**
-   * Creates an object composed from arrays of `keys` and `values`. Pass either
-   * a single two dimensional array, i.e. `[[key1, value1], [key2, value2]]`, or
-   * two arrays, one of `keys` and one of corresponding `values`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} keys The array of keys.
-   * @param {Array} [values=[]] The array of values.
-   * @returns {Object} Returns an object composed of the given keys and
-   *  corresponding values.
-   * @example
+   * A specialized version of `_.pick` which picks `object` properties specified
+   * by `props`.
    *
-   * _.object(['moe', 'larry', 'curly'], [30, 40, 50]);
-   * // => { 'moe': 30, 'larry': 40, 'curly': 50 }
+   * @private
+   * @param {Object} object The source object.
+   * @param {string[]} props The property names to pick.
+   * @returns {Object} Returns the new object.
    */
-  function object(keys, values) {
+  function pickByArray(object, props) {
+    object = toObject(object);
+
     var index = -1,
-        length = keys ? keys.length : 0,
+        length = props.length,
         result = {};
 
     while (++index < length) {
-      var key = keys[index];
-      if (values) {
-        result[key] = values[index];
-      } else {
-        result[key[0]] = key[1];
+      var key = props[index];
+      if (key in object) {
+        result[key] = object[key];
       }
     }
     return result;
   }
 
   /**
-   * Creates an array of numbers (positive and/or negative) progressing from
-   * `start` up to but not including `stop`. This method is a port of Python's
-   * `range()` function. See http://docs.python.org/library/functions.html#range.
+   * A specialized version of `_.pick` which picks `object` properties `predicate`
+   * returns truthy for.
    *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Number} [start=0] The start of the range.
-   * @param {Number} end The end of the range.
-   * @param {Number} [step=1] The value to increment or descrement by.
-   * @returns {Array} Returns a new range array.
-   * @example
+   * @private
+   * @param {Object} object The source object.
+   * @param {Function} predicate The function invoked per iteration.
+   * @returns {Object} Returns the new object.
+   */
+  function pickByCallback(object, predicate) {
+    var result = {};
+    baseForIn(object, function(value, key, object) {
+      if (predicate(value, key, object)) {
+        result[key] = value;
+      }
+    });
+    return result;
+  }
+
+  /**
+   * Reorder `array` according to the specified indexes where the element at
+   * the first index is assigned as the first element, the element at
+   * the second index is assigned as the second element, and so on.
    *
-   * _.range(10);
-   * // => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+   * @private
+   * @param {Array} array The array to reorder.
+   * @param {Array} indexes The arranged array indexes.
+   * @returns {Array} Returns `array`.
+   */
+  function reorder(array, indexes) {
+    var arrLength = array.length,
+        length = nativeMin(indexes.length, arrLength),
+        oldArray = arrayCopy(array);
+
+    while (length--) {
+      var index = indexes[length];
+      array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;
+    }
+    return array;
+  }
+
+  /**
+   * Sets metadata for `func`.
    *
-   * _.range(1, 11);
-   * // => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
+   * **Note:** If this function becomes hot, i.e. is invoked a lot in a short
+   * period of time, it will trip its breaker and transition to an identity function
+   * to avoid garbage collection pauses in V8. See [V8 issue 2070](https://code.google.com/p/v8/issues/detail?id=2070)
+   * for more details.
    *
-   * _.range(0, 30, 5);
-   * // => [0, 5, 10, 15, 20, 25]
+   * @private
+   * @param {Function} func The function to associate metadata with.
+   * @param {*} data The metadata.
+   * @returns {Function} Returns `func`.
+   */
+  var setData = (function() {
+    var count = 0,
+        lastCalled = 0;
+
+    return function(key, value) {
+      var stamp = now(),
+          remaining = HOT_SPAN - (stamp - lastCalled);
+
+      lastCalled = stamp;
+      if (remaining > 0) {
+        if (++count >= HOT_COUNT) {
+          return key;
+        }
+      } else {
+        count = 0;
+      }
+      return baseSetData(key, value);
+    };
+  }());
+
+  /**
+   * A fallback implementation of `_.isPlainObject` which checks if `value`
+   * is an object created by the `Object` constructor or has a `[[Prototype]]`
+   * of `null`.
    *
-   * _.range(0, -10, -1);
-   * // => [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
+   * @private
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
+   */
+  function shimIsPlainObject(value) {
+    var Ctor,
+        support = lodash.support;
+
+    // Exit early for non `Object` objects.
+    if (!(isObjectLike(value) && objToString.call(value) == objectTag && !isHostObject(value)) ||
+        (!hasOwnProperty.call(value, 'constructor') &&
+          (Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor))) ||
+        (!support.argsTag && isArguments(value))) {
+      return false;
+    }
+    // IE < 9 iterates inherited properties before own properties. If the first
+    // iterated property is an object's own property then there are no inherited
+    // enumerable properties.
+    var result;
+    if (support.ownLast) {
+      baseForIn(value, function(subValue, key, object) {
+        result = hasOwnProperty.call(object, key);
+        return false;
+      });
+      return result !== false;
+    }
+    // In most environments an object's own properties are iterated before
+    // its inherited properties. If the last iterated property is an object's
+    // own property then there are no inherited enumerable properties.
+    baseForIn(value, function(subValue, key) {
+      result = key;
+    });
+    return result === undefined || hasOwnProperty.call(value, result);
+  }
+
+  /**
+   * A fallback implementation of `Object.keys` which creates an array of the
+   * own enumerable property names of `object`.
    *
-   * _.range(0);
-   * // => []
+   * @private
+   * @param {Object} object The object to query.
+   * @returns {Array} Returns the array of property names.
    */
-  function range(start, end, step) {
-    start = +start || 0;
-    step = +step || 1;
+  function shimKeys(object) {
+    var props = keysIn(object),
+        propsLength = props.length,
+        length = propsLength && object.length;
+
+    var allowIndexes = !!length && isLength(length) &&
+      (isArray(object) || isArguments(object) || isString(object));
 
-    if (end == null) {
-      end = start;
-      start = 0;
-    }
-    // use `Array(length)` so V8 will avoid the slower "dictionary" mode
-    // http://youtu.be/XAqIpGU8ZZk#t=17m25s
     var index = -1,
-        length = nativeMax(0, ceil((end - start) / step)),
-        result = Array(length);
+        result = [];
 
-    while (++index < length) {
-      result[index] = start;
-      start += step;
+    while (++index < propsLength) {
+      var key = props[index];
+      if ((allowIndexes && isIndex(key, length)) || hasOwnProperty.call(object, key)) {
+        result.push(key);
+      }
     }
     return result;
   }
 
   /**
-   * The opposite of `_.initial`, this method gets all but the first value of
-   * `array`. Pass `n` to exclude the first `n` values from the result.
-   *
-   * @static
-   * @memberOf _
-   * @alias drop, tail
-   * @category Arrays
-   * @param {Array} array The array to query.
-   * @param {Number} [n=1] The number of elements to exclude.
-   * @param- {Object} [guard] Internally used to allow this method to work with
-   *  others like `_.map` without using their callback `index` argument for `n`.
-   * @returns {Array} Returns all but the first element, or `n` elements, of `array`.
-   * @example
+   * Converts `value` to an object if it's not one.
    *
-   * _.rest([3, 2, 1]);
-   * // => [2, 1]
+   * @private
+   * @param {*} value The value to process.
+   * @returns {Object} Returns the object.
    */
-  function rest(array, n, guard) {
-    return slice(array, (n == null || guard) ? 1 : nativeMax(0, n));
+  function toObject(value) {
+    if (lodash.support.unindexedChars && isString(value)) {
+      var index = -1,
+          length = value.length,
+          result = Object(value);
+
+      while (++index < length) {
+        result[index] = value.charAt(index);
+      }
+      return result;
+    }
+    return isObject(value) ? value : Object(value);
   }
 
   /**
-   * Uses a binary search to determine the smallest index at which the `value`
-   * should be inserted into `array` in order to maintain the sort order of the
-   * sorted `array`. If `callback` is passed, it will be executed for `value` and
-   * each element in `array` to compute their sort ranking. The `callback` is
-   * bound to `thisArg` and invoked with one argument; (value). The `callback`
-   * argument may also be the name of a property to order by.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to iterate over.
-   * @param {Mixed} value The value to evaluate.
-   * @param {Function|String} [callback=identity|property] The function called
-   *  per iteration or property name to order by.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Number} Returns the index at which the value should be inserted
-   *  into `array`.
-   * @example
-   *
-   * _.sortedIndex([20, 30, 50], 40);
-   * // => 2
-   *
-   * _.sortedIndex([{ 'x': 20 }, { 'x': 30 }, { 'x': 50 }], { 'x': 40 }, 'x');
-   * // => 2
-   *
-   * var dict = {
-   *   'wordToNumber': { 'twenty': 20, 'thirty': 30, 'fourty': 40, 'fifty': 50 }
-   * };
-   *
-   * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
-   *   return dict.wordToNumber[word];
-   * });
-   * // => 2
+   * Converts `value` to property path array if it's not one.
    *
-   * _.sortedIndex(['twenty', 'thirty', 'fifty'], 'fourty', function(word) {
-   *   return this.wordToNumber[word];
-   * }, dict);
-   * // => 2
+   * @private
+   * @param {*} value The value to process.
+   * @returns {Array} Returns the property path array.
    */
-  function sortedIndex(array, value, callback, thisArg) {
-    var low = 0,
-        high = array ? array.length : low;
-
-    // explicitly reference `identity` for better inlining in Firefox
-    callback = callback ? createCallback(callback, thisArg) : identity;
-    value = callback(value);
-
-    while (low < high) {
-      var mid = (low + high) >>> 1;
-      callback(array[mid]) < value
-        ? low = mid + 1
-        : high = mid;
+  function toPath(value) {
+    if (isArray(value)) {
+      return value;
     }
-    return low;
+    var result = [];
+    baseToString(value).replace(rePropName, function(match, number, quote, string) {
+      result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));
+    });
+    return result;
   }
 
   /**
-   * Computes the union of the passed-in arrays using strict equality for
-   * comparisons, i.e. `===`.
-   *
-   * @static
-   * @memberOf _
-   * @category Arrays
-   * @param {Array} [array1, array2, ...] Arrays to process.
-   * @returns {Array} Returns a new array of unique values, in order, that are
-   *  present in one or more of the arrays.
-   * @example
+   * Creates a clone of `wrapper`.
    *
-   * _.union([1, 2, 3], [101, 2, 1, 10], [2, 1]);
-   * // => [1, 2, 3, 101, 10]
+   * @private
+   * @param {Object} wrapper The wrapper to clone.
+   * @returns {Object} Returns the cloned wrapper.
    */
-  function union() {
-    return uniq(concat.apply(arrayRef, arguments));
+  function wrapperClone(wrapper) {
+    return wrapper instanceof LazyWrapper
+      ? wrapper.clone()
+      : new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__, arrayCopy(wrapper.__actions__));
   }
 
+  /*------------------------------------------------------------------------*/
+
   /**
-   * Creates a duplicate-value-free version of the `array` using strict equality
-   * for comparisons, i.e. `===`. If the `array` is already sorted, passing `true`
-   * for `isSorted` will run a faster algorithm. If `callback` is passed, each
-   * element of `array` is passed through a callback` before uniqueness is computed.
-   * The `callback` is bound to `thisArg` and invoked with three arguments; (value, index, array).
+   * Creates an array of elements split into groups the length of `size`.
+   * If `collection` can't be split evenly, the final chunk will be the remaining
+   * elements.
    *
    * @static
    * @memberOf _
-   * @alias unique
-   * @category Arrays
+   * @category Array
    * @param {Array} array The array to process.
-   * @param {Boolean} [isSorted=false] A flag to indicate that the `array` is already sorted.
-   * @param {Function} [callback=identity] The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a duplicate-value-free array.
+   * @param {number} [size=1] The length of each chunk.
+   * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+   * @returns {Array} Returns the new array containing chunks.
    * @example
    *
-   * _.uniq([1, 2, 1, 3, 1]);
-   * // => [1, 2, 3]
-   *
-   * _.uniq([1, 1, 2, 2, 3], true);
-   * // => [1, 2, 3]
-   *
-   * _.uniq([1, 2, 1.5, 3, 2.5], function(num) { return Math.floor(num); });
-   * // => [1, 2, 3]
+   * _.chunk(['a', 'b', 'c', 'd'], 2);
+   * // => [['a', 'b'], ['c', 'd']]
    *
-   * _.uniq([1, 2, 1.5, 3, 2.5], function(num) { return this.floor(num); }, Math);
-   * // => [1, 2, 3]
+   * _.chunk(['a', 'b', 'c', 'd'], 3);
+   * // => [['a', 'b', 'c'], ['d']]
    */
-  function uniq(array, isSorted, callback, thisArg) {
-    var index = -1,
-        length = array ? array.length : 0,
-        result = [],
-        seen = result;
-
-    // juggle arguments
-    if (typeof isSorted == 'function') {
-      thisArg = callback;
-      callback = isSorted;
-      isSorted = false;
-    }
-    // init value cache for large arrays
-    var isLarge = !isSorted && length >= 75;
-    if (isLarge) {
-      var cache = {};
-    }
-    if (callback) {
-      seen = [];
-      callback = createCallback(callback, thisArg);
+  function chunk(array, size, guard) {
+    if (guard ? isIterateeCall(array, size, guard) : size == null) {
+      size = 1;
+    } else {
+      size = nativeMax(+size || 1, 1);
     }
-    while (++index < length) {
-      var value = array[index],
-          computed = callback ? callback(value, index, array) : value;
+    var index = 0,
+        length = array ? array.length : 0,
+        resIndex = -1,
+        result = Array(ceil(length / size));
 
-      if (isLarge) {
-        var key = computed + '';
-        var inited = hasOwnProperty.call(cache, key)
-          ? !(seen = cache[key])
-          : (seen = cache[key] = []);
-      }
-      if (isSorted
-            ? !index || seen[seen.length - 1] !== computed
-            : inited || indexOf(seen, computed) < 0
-          ) {
-        if (callback || isLarge) {
-          seen.push(computed);
-        }
-        result.push(value);
-      }
+    while (index < length) {
+      result[++resIndex] = baseSlice(array, index, (index += size));
     }
     return result;
   }
 
   /**
-   * Creates an array with all occurrences of the passed values removed using
-   * strict equality for comparisons, i.e. `===`.
+   * Creates an array with all falsey values removed. The values `false`, `null`,
+   * `0`, `""`, `undefined`, and `NaN` are falsey.
    *
    * @static
    * @memberOf _
-   * @category Arrays
-   * @param {Array} array The array to filter.
-   * @param {Mixed} [value1, value2, ...] Values to remove.
-   * @returns {Array} Returns a new filtered array.
+   * @category Array
+   * @param {Array} array The array to compact.
+   * @returns {Array} Returns the new array of filtered values.
    * @example
    *
-   * _.without([1, 2, 1, 0, 3, 1, 4], 0, 1);
-   * // => [2, 3, 4]
+   * _.compact([0, 1, false, 2, '', 3]);
+   * // => [1, 2, 3]
    */
-  function without(array) {
+  function compact(array) {
     var index = -1,
         length = array ? array.length : 0,
-        contains = cachedContains(arguments, 1, 20),
+        resIndex = -1,
         result = [];
 
     while (++index < length) {
       var value = array[index];
-      if (!contains(value)) {
-        result.push(value);
+      if (value) {
+        result[++resIndex] = value;
       }
     }
     return result;
   }
 
   /**
-   * Groups the elements of each array at their corresponding indexes. Useful for
-   * separate data sources that are coordinated through matching array indexes.
-   * For a matrix of nested arrays, `_.zip.apply(...)` can transpose the matrix
-   * in a similar fashion.
+   * Creates an array of unique `array` values not included in the other
+   * provided arrays using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+   * for equality comparisons.
    *
    * @static
    * @memberOf _
-   * @category Arrays
-   * @param {Array} [array1, array2, ...] Arrays to process.
-   * @returns {Array} Returns a new array of grouped elements.
+   * @category Array
+   * @param {Array} array The array to inspect.
+   * @param {...Array} [values] The arrays of values to exclude.
+   * @returns {Array} Returns the new array of filtered values.
    * @example
    *
-   * _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]);
-   * // => [['moe', 30, true], ['larry', 40, false], ['curly', 50, false]]
+   * _.difference([1, 2, 3], [4, 2]);
+   * // => [1, 3]
    */
-  function zip(array) {
-    var index = -1,
-        length = array ? max(pluck(arguments, 'length')) : 0,
-        result = Array(length);
-
-    while (++index < length) {
-      result[index] = pluck(arguments, index);
-    }
-    return result;
-  }
-
-  /*--------------------------------------------------------------------------*/
+  var difference = restParam(function(array, values) {
+    return isArrayLike(array)
+      ? baseDifference(array, baseFlatten(values, false, true))
+      : [];
+  });
 
   /**
-   * Creates a function that is restricted to executing `func` only after it is
-   * called `n` times. The `func` is executed with the `this` binding of the
-   * created function.
+   * Gets the first element of `array`.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Number} n The number of times the function must be called before
-   * it is executed.
-   * @param {Function} func The function to restrict.
-   * @returns {Function} Returns the new restricted function.
+   * @alias head
+   * @category Array
+   * @param {Array} array The array to query.
+   * @returns {*} Returns the first element of `array`.
    * @example
    *
-   * var renderNotes = _.after(notes.length, render);
-   * _.forEach(notes, function(note) {
-   *   note.asyncSave({ 'success': renderNotes });
-   * });
-   * // `renderNotes` is run once, after all notes have saved
+   * _.first([1, 2, 3]);
+   * // => 1
+   *
+   * _.first([]);
+   * // => undefined
    */
-  function after(n, func) {
-    if (n < 1) {
-      return func();
-    }
-    return function() {
-      if (--n < 1) {
-        return func.apply(this, arguments);
-      }
-    };
+  function first(array) {
+    return array ? array[0] : undefined;
   }
 
   /**
-   * Creates a function that, when called, invokes `func` with the `this`
-   * binding of `thisArg` and prepends any additional `bind` arguments to those
-   * passed to the bound function.
+   * Flattens a nested array. If `isDeep` is `true` the array is recursively
+   * flattened, otherwise it is only flattened a single level.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to bind.
-   * @param {Mixed} [thisArg] The `this` binding of `func`.
-   * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied.
-   * @returns {Function} Returns the new bound function.
+   * @category Array
+   * @param {Array} array The array to flatten.
+   * @param {boolean} [isDeep] Specify a deep flatten.
+   * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+   * @returns {Array} Returns the new flattened array.
    * @example
    *
-   * var func = function(greeting) {
-   *   return greeting + ' ' + this.name;
-   * };
+   * _.flatten([1, [2, 3, [4]]]);
+   * // => [1, 2, 3, [4]]
    *
-   * func = _.bind(func, { 'name': 'moe' }, 'hi');
-   * func();
-   * // => 'hi moe'
+   * // using `isDeep`
+   * _.flatten([1, [2, 3, [4]]], true);
+   * // => [1, 2, 3, 4]
    */
-  function bind(func, thisArg) {
-    // use `Function#bind` if it exists and is fast
-    // (in V8 `Function#bind` is slower except when partially applied)
-    return isBindFast || (nativeBind && arguments.length > 2)
-      ? nativeBind.call.apply(nativeBind, arguments)
-      : createBound(func, thisArg, slice(arguments, 2));
+  function flatten(array, isDeep, guard) {
+    var length = array ? array.length : 0;
+    if (guard && isIterateeCall(array, isDeep, guard)) {
+      isDeep = false;
+    }
+    return length ? baseFlatten(array, isDeep) : [];
   }
 
   /**
-   * Binds methods on `object` to `object`, overwriting the existing method.
-   * If no method names are provided, all the function properties of `object`
-   * will be bound.
+   * Gets the index at which the first occurrence of `value` is found in `array`
+   * using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+   * for equality comparisons. If `fromIndex` is negative, it is used as the offset
+   * from the end of `array`. If `array` is sorted providing `true` for `fromIndex`
+   * performs a faster binary search.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Object} object The object to bind and assign the bound methods to.
-   * @param {String} [methodName1, methodName2, ...] Method names on the object to bind.
-   * @returns {Object} Returns `object`.
+   * @category Array
+   * @param {Array} array The array to search.
+   * @param {*} value The value to search for.
+   * @param {boolean|number} [fromIndex=0] The index to search from or `true`
+   *  to perform a binary search on a sorted array.
+   * @returns {number} Returns the index of the matched value, else `-1`.
    * @example
    *
-   * var buttonView = {
-   *  'label': 'lodash',
-   *  'onClick': function() { alert('clicked: ' + this.label); }
-   * };
+   * _.indexOf([1, 2, 1, 2], 2);
+   * // => 1
+   *
+   * // using `fromIndex`
+   * _.indexOf([1, 2, 1, 2], 2, 2);
+   * // => 3
    *
-   * _.bindAll(buttonView);
-   * jQuery('#lodash_button').on('click', buttonView.onClick);
-   * // => When the button is clicked, `this.label` will have the correct value
+   * // performing a binary search
+   * _.indexOf([1, 1, 2, 2], 2, true);
+   * // => 2
    */
-  function bindAll(object) {
-    var funcs = arguments,
-        index = funcs.length > 1 ? 0 : (funcs = functions(object), -1),
-        length = funcs.length;
+  function indexOf(array, value, fromIndex) {
+    var length = array ? array.length : 0;
+    if (!length) {
+      return -1;
+    }
+    if (typeof fromIndex == 'number') {
+      fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex;
+    } else if (fromIndex) {
+      var index = binaryIndex(array, value),
+          other = array[index];
 
-    while (++index < length) {
-      var key = funcs[index];
-      object[key] = bind(object[key], object);
+      if (value === value ? (value === other) : (other !== other)) {
+        return index;
+      }
+      return -1;
     }
-    return object;
+    return baseIndexOf(array, value, fromIndex || 0);
   }
 
   /**
-   * Creates a function that, when called, invokes the method at `object[key]`
-   * and prepends any additional `bindKey` arguments to those passed to the bound
-   * function. This method differs from `_.bind` by allowing bound functions to
-   * reference methods that will be redefined or don't yet exist.
-   * See http://michaux.ca/articles/lazy-function-definition-pattern.
+   * Creates an array of unique values that are included in all of the provided
+   * arrays using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+   * for equality comparisons.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Object} object The object the method belongs to.
-   * @param {String} key The key of the method.
-   * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied.
-   * @returns {Function} Returns the new bound function.
+   * @category Array
+   * @param {...Array} [arrays] The arrays to inspect.
+   * @returns {Array} Returns the new array of shared values.
    * @example
-   *
-   * var object = {
-   *   'name': 'moe',
-   *   'greet': function(greeting) {
-   *     return greeting + ' ' + this.name;
-   *   }
-   * };
-   *
-   * var func = _.bindKey(object, 'greet', 'hi');
-   * func();
-   * // => 'hi moe'
-   *
-   * object.greet = function(greeting) {
-   *   return greeting + ', ' + this.name + '!';
-   * };
-   *
-   * func();
-   * // => 'hi, moe!'
+   * _.intersection([1, 2], [4, 2], [2, 1]);
+   * // => [2]
    */
-  function bindKey(object, key) {
-    return createBound(object, key, slice(arguments, 2));
-  }
+  var intersection = restParam(function(arrays) {
+    var othLength = arrays.length,
+        othIndex = othLength,
+        caches = Array(length),
+        indexOf = getIndexOf(),
+        isCommon = indexOf == baseIndexOf,
+        result = [];
+
+    while (othIndex--) {
+      var value = arrays[othIndex] = isArrayLike(value = arrays[othIndex]) ? value : [];
+      caches[othIndex] = (isCommon && value.length >= 120) ? createCache(othIndex && value) : null;
+    }
+    var array = arrays[0],
+        index = -1,
+        length = array ? array.length : 0,
+        seen = caches[0];
+
+    outer:
+    while (++index < length) {
+      value = array[index];
+      if ((seen ? cacheIndexOf(seen, value) : indexOf(result, value, 0)) < 0) {
+        var othIndex = othLength;
+        while (--othIndex) {
+          var cache = caches[othIndex];
+          if ((cache ? cacheIndexOf(cache, value) : indexOf(arrays[othIndex], value, 0)) < 0) {
+            continue outer;
+          }
+        }
+        if (seen) {
+          seen.push(value);
+        }
+        result.push(value);
+      }
+    }
+    return result;
+  });
 
   /**
-   * Creates a function that is the composition of the passed functions,
-   * where each function consumes the return value of the function that follows.
-   * In math terms, composing the functions `f()`, `g()`, and `h()` produces `f(g(h()))`.
-   * Each function is executed with the `this` binding of the composed function.
+   * Gets the last element of `array`.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Function} [func1, func2, ...] Functions to compose.
-   * @returns {Function} Returns the new composed function.
+   * @category Array
+   * @param {Array} array The array to query.
+   * @returns {*} Returns the last element of `array`.
    * @example
    *
-   * var greet = function(name) { return 'hi: ' + name; };
-   * var exclaim = function(statement) { return statement + '!'; };
-   * var welcome = _.compose(exclaim, greet);
-   * welcome('moe');
-   * // => 'hi: moe!'
+   * _.last([1, 2, 3]);
+   * // => 3
    */
-  function compose() {
-    var funcs = arguments;
-    return function() {
-      var args = arguments,
-          length = funcs.length;
-
-      while (length--) {
-        args = [funcs[length].apply(this, args)];
-      }
-      return args[0];
-    };
+  function last(array) {
+    var length = array ? array.length : 0;
+    return length ? array[length - 1] : undefined;
   }
 
   /**
-   * Creates a function that will delay the execution of `func` until after
-   * `wait` milliseconds have elapsed since the last time it was invoked. Pass
-   * `true` for `immediate` to cause debounce to invoke `func` on the leading,
-   * instead of the trailing, edge of the `wait` timeout. Subsequent calls to
-   * the debounced function will return the result of the last `func` call.
+   * Creates an array of unique values, in order, from all of the provided arrays
+   * using [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+   * for equality comparisons.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to debounce.
-   * @param {Number} wait The number of milliseconds to delay.
-   * @param {Boolean} immediate A flag to indicate execution is on the leading
-   *  edge of the timeout.
-   * @returns {Function} Returns the new debounced function.
+   * @category Array
+   * @param {...Array} [arrays] The arrays to inspect.
+   * @returns {Array} Returns the new array of combined values.
    * @example
    *
-   * var lazyLayout = _.debounce(calculateLayout, 300);
-   * jQuery(window).on('resize', lazyLayout);
+   * _.union([1, 2], [4, 2], [2, 1]);
+   * // => [1, 2, 4]
    */
-  function debounce(func, wait, immediate) {
-    var args,
-        result,
-        thisArg,
-        timeoutId;
-
-    function delayed() {
-      timeoutId = null;
-      if (!immediate) {
-        result = func.apply(thisArg, args);
-      }
-    }
-    return function() {
-      var isImmediate = immediate && !timeoutId;
-      args = arguments;
-      thisArg = this;
-
-      clearTimeout(timeoutId);
-      timeoutId = setTimeout(delayed, wait);
-
-      if (isImmediate) {
-        result = func.apply(thisArg, args);
-      }
-      return result;
-    };
-  }
+  var union = restParam(function(arrays) {
+    return baseUniq(baseFlatten(arrays, false, true));
+  });
 
   /**
-   * Executes the `func` function after `wait` milliseconds. Additional arguments
-   * will be passed to `func` when it is invoked.
+   * Creates a duplicate-free version of an array, using
+   * [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+   * for equality comparisons, in which only the first occurence of each element
+   * is kept. Providing `true` for `isSorted` performs a faster search algorithm
+   * for sorted arrays. If an iteratee function is provided it is invoked for
+   * each element in the array to generate the criterion by which uniqueness
+   * is computed. The `iteratee` is bound to `thisArg` and invoked with three
+   * arguments: (value, index, array).
+   *
+   * If a property name is provided for `iteratee` the created `_.property`
+   * style callback returns the property value of the given element.
+   *
+   * If a value is also provided for `thisArg` the created `_.matchesProperty`
+   * style callback returns `true` for elements that have a matching property
+   * value, else `false`.
+   *
+   * If an object is provided for `iteratee` the created `_.matches` style
+   * callback returns `true` for elements that have the properties of the given
+   * object, else `false`.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to delay.
-   * @param {Number} wait The number of milliseconds to delay execution.
-   * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the function with.
-   * @returns {Number} Returns the `setTimeout` timeout id.
+   * @alias unique
+   * @category Array
+   * @param {Array} array The array to inspect.
+   * @param {boolean} [isSorted] Specify the array is sorted.
+   * @param {Function|Object|string} [iteratee] The function invoked per iteration.
+   * @param {*} [thisArg] The `this` binding of `iteratee`.
+   * @returns {Array} Returns the new duplicate-value-free array.
    * @example
    *
-   * var log = _.bind(console.log, console);
-   * _.delay(log, 1000, 'logged later');
-   * // => 'logged later' (Appears after one second.)
+   * _.uniq([2, 1, 2]);
+   * // => [2, 1]
+   *
+   * // using `isSorted`
+   * _.uniq([1, 1, 2], true);
+   * // => [1, 2]
+   *
+   * // using an iteratee function
+   * _.uniq([1, 2.5, 1.5, 2], function(n) {
+   *   return this.floor(n);
+   * }, Math);
+   * // => [1, 2.5]
+   *
+   * // using the `_.property` callback shorthand
+   * _.uniq([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');
+   * // => [{ 'x': 1 }, { 'x': 2 }]
    */
-  function delay(func, wait) {
-    var args = slice(arguments, 2);
-    return setTimeout(function() { func.apply(undefined, args); }, wait);
+  function uniq(array, isSorted, iteratee, thisArg) {
+    var length = array ? array.length : 0;
+    if (!length) {
+      return [];
+    }
+    if (isSorted != null && typeof isSorted != 'boolean') {
+      thisArg = iteratee;
+      iteratee = isIterateeCall(array, isSorted, thisArg) ? null : isSorted;
+      isSorted = false;
+    }
+    var callback = getCallback();
+    if (!(iteratee == null && callback === baseCallback)) {
+      iteratee = callback(iteratee, thisArg, 3);
+    }
+    return (isSorted && getIndexOf() == baseIndexOf)
+      ? sortedUniq(array, iteratee)
+      : baseUniq(array, iteratee);
   }
 
   /**
-   * Defers executing the `func` function until the current call stack has cleared.
-   * Additional arguments will be passed to `func` when it is invoked.
+   * Creates an array excluding all provided values using
+   * [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+   * for equality comparisons.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to defer.
-   * @param {Mixed} [arg1, arg2, ...] Arguments to invoke the function with.
-   * @returns {Number} Returns the `setTimeout` timeout id.
+   * @category Array
+   * @param {Array} array The array to filter.
+   * @param {...*} [values] The values to exclude.
+   * @returns {Array} Returns the new array of filtered values.
    * @example
    *
-   * _.defer(function() { alert('deferred'); });
-   * // returns from the function before `alert` is called
+   * _.without([1, 2, 1, 3], 1, 2);
+   * // => [3]
    */
-  function defer(func) {
-    var args = slice(arguments, 1);
-    return setTimeout(function() { func.apply(undefined, args); }, 1);
-  }
+  var without = restParam(function(array, values) {
+    return isArrayLike(array)
+      ? baseDifference(array, values)
+      : [];
+  });
+
+  /*------------------------------------------------------------------------*/
 
   /**
-   * Creates a function that memoizes the result of `func`. If `resolver` is
-   * passed, it will be used to determine the cache key for storing the result
-   * based on the arguments passed to the memoized function. By default, the first
-   * argument passed to the memoized function is used as the cache key. The `func`
-   * is executed with the `this` binding of the memoized function.
+   * Creates a `lodash` object that wraps `value` with explicit method
+   * chaining enabled.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to have its output memoized.
-   * @param {Function} [resolver] A function used to resolve the cache key.
-   * @returns {Function} Returns the new memoizing function.
+   * @category Chain
+   * @param {*} value The value to wrap.
+   * @returns {Object} Returns the new `lodash` wrapper instance.
    * @example
    *
-   * var fibonacci = _.memoize(function(n) {
-   *   return n < 2 ? n : fibonacci(n - 1) + fibonacci(n - 2);
-   * });
+   * var users = [
+   *   { 'user': 'barney',  'age': 36 },
+   *   { 'user': 'fred',    'age': 40 },
+   *   { 'user': 'pebbles', 'age': 1 }
+   * ];
+   *
+   * var youngest = _.chain(users)
+   *   .sortBy('age')
+   *   .map(function(chr) {
+   *     return chr.user + ' is ' + chr.age;
+   *   })
+   *   .first()
+   *   .value();
+   * // => 'pebbles is 1'
    */
-  function memoize(func, resolver) {
-    var cache = {};
-    return function() {
-      var key = resolver ? resolver.apply(this, arguments) : arguments[0];
-      return hasOwnProperty.call(cache, key)
-        ? cache[key]
-        : (cache[key] = func.apply(this, arguments));
-    };
+  function chain(value) {
+    var result = lodash(value);
+    result.__chain__ = true;
+    return result;
   }
 
   /**
-   * Creates a function that is restricted to execute `func` once. Repeat calls to
-   * the function will return the value of the first call. The `func` is executed
-   * with the `this` binding of the created function.
+   * This method invokes `interceptor` and returns `value`. The interceptor is
+   * bound to `thisArg` and invoked with one argument; (value). The purpose of
+   * this method is to "tap into" a method chain in order to perform operations
+   * on intermediate results within the chain.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to restrict.
-   * @returns {Function} Returns the new restricted function.
+   * @category Chain
+   * @param {*} value The value to provide to `interceptor`.
+   * @param {Function} interceptor The function to invoke.
+   * @param {*} [thisArg] The `this` binding of `interceptor`.
+   * @returns {*} Returns `value`.
    * @example
    *
-   * var initialize = _.once(createApplication);
-   * initialize();
-   * initialize();
-   * // Application is only created once.
+   * _([1, 2, 3])
+   *  .tap(function(array) {
+   *    array.pop();
+   *  })
+   *  .reverse()
+   *  .value();
+   * // => [2, 1]
    */
-  function once(func) {
-    var result,
-        ran = false;
-
-    return function() {
-      if (ran) {
-        return result;
-      }
-      ran = true;
-      result = func.apply(this, arguments);
-
-      // clear the `func` variable so the function may be garbage collected
-      func = null;
-      return result;
-    };
+  function tap(value, interceptor, thisArg) {
+    interceptor.call(thisArg, value);
+    return value;
   }
 
   /**
-   * Creates a function that, when called, invokes `func` with any additional
-   * `partial` arguments prepended to those passed to the new function. This
-   * method is similar to `bind`, except it does **not** alter the `this` binding.
+   * This method is like `_.tap` except that it returns the result of `interceptor`.
    *
    * @static
    * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to partially apply arguments to.
-   * @param {Mixed} [arg1, arg2, ...] Arguments to be partially applied.
-   * @returns {Function} Returns the new partially applied function.
+   * @category Chain
+   * @param {*} value The value to provide to `interceptor`.
+   * @param {Function} interceptor The function to invoke.
+   * @param {*} [thisArg] The `this` binding of `interceptor`.
+   * @returns {*} Returns the result of `interceptor`.
    * @example
    *
-   * var greet = function(greeting, name) { return greeting + ': ' + name; };
-   * var hi = _.partial(greet, 'hi');
-   * hi('moe');
-   * // => 'hi: moe'
+   * _('  abc  ')
+   *  .chain()
+   *  .trim()
+   *  .thru(function(value) {
+   *    return [value];
+   *  })
+   *  .value();
+   * // => ['abc']
    */
-  function partial(func) {
-    return createBound(func, slice(arguments, 1));
+  function thru(value, interceptor, thisArg) {
+    return interceptor.call(thisArg, value);
   }
 
   /**
-   * Creates a function that, when executed, will only call the `func`
-   * function at most once per every `wait` milliseconds. If the throttled
-   * function is invoked more than once during the `wait` timeout, `func` will
-   * also be called on the trailing edge of the timeout. Subsequent calls to the
-   * throttled function will return the result of the last `func` call.
+   * Enables explicit method chaining on the wrapper object.
    *
-   * @static
+   * @name chain
    * @memberOf _
-   * @category Functions
-   * @param {Function} func The function to throttle.
-   * @param {Number} wait The number of milliseconds to throttle executions to.
-   * @returns {Function} Returns the new throttled function.
+   * @category Chain
+   * @returns {Object} Returns the new `lodash` wrapper instance.
    * @example
    *
-   * var throttled = _.throttle(updatePosition, 100);
-   * jQuery(window).on('scroll', throttled);
+   * var users = [
+   *   { 'user': 'barney', 'age': 36 },
+   *   { 'user': 'fred',   'age': 40 }
+   * ];
+   *
+   * // without explicit chaining
+   * _(users).first();
+   * // => { 'user': 'barney', 'age': 36 }
+   *
+   * // with explicit chaining
+   * _(users).chain()
+   *   .first()
+   *   .pick('user')
+   *   .value();
+   * // => { 'user': 'barney' }
    */
-  function throttle(func, wait) {
-    var args,
-        result,
-        thisArg,
-        timeoutId,
-        lastCalled = 0;
-
-    function trailingCall() {
-      lastCalled = new Date;
-      timeoutId = null;
-      result = func.apply(thisArg, args);
-    }
-    return function() {
-      var now = new Date,
-          remaining = wait - (now - lastCalled);
-
-      args = arguments;
-      thisArg = this;
-
-      if (remaining <= 0) {
-        clearTimeout(timeoutId);
-        timeoutId = null;
-        lastCalled = now;
-        result = func.apply(thisArg, args);
-      }
-      else if (!timeoutId) {
-        timeoutId = setTimeout(trailingCall, remaining);
-      }
-      return result;
-    };
+  function wrapperChain() {
+    return chain(this);
   }
 
   /**
-   * Creates a function that passes `value` to the `wrapper` function as its
-   * first argument. Additional arguments passed to the function are appended
-   * to those passed to the `wrapper` function. The `wrapper` is executed with
-   * the `this` binding of the created function.
+   * Executes the chained sequence and returns the wrapped result.
    *
-   * @static
+   * @name commit
    * @memberOf _
-   * @category Functions
-   * @param {Mixed} value The value to wrap.
-   * @param {Function} wrapper The wrapper function.
-   * @returns {Function} Returns the new function.
+   * @category Chain
+   * @returns {Object} Returns the new `lodash` wrapper instance.
    * @example
    *
-   * var hello = function(name) { return 'hello ' + name; };
-   * hello = _.wrap(hello, function(func) {
-   *   return 'before, ' + func('moe') + ', after';
-   * });
-   * hello();
-   * // => 'before, hello moe, after'
+   * var array = [1, 2];
+   * var wrapper = _(array).push(3);
+   *
+   * console.log(array);
+   * // => [1, 2]
+   *
+   * wrapper = wrapper.commit();
+   * console.log(array);
+   * // => [1, 2, 3]
+   *
+   * wrapper.last();
+   * // => 3
+   *
+   * console.log(array);
+   * // => [1, 2, 3]
    */
-  function wrap(value, wrapper) {
-    return function() {
-      var args = [value];
-      push.apply(args, arguments);
-      return wrapper.apply(this, args);
-    };
+  function wrapperCommit() {
+    return new LodashWrapper(this.value(), this.__chain__);
   }
 
-  /*--------------------------------------------------------------------------*/
-
   /**
-   * Converts the characters `&`, `<`, `>`, `"`, and `'` in `string` to their
-   * corresponding HTML entities.
+   * Creates a clone of the chained sequence planting `value` as the wrapped value.
    *
-   * @static
+   * @name plant
    * @memberOf _
-   * @category Utilities
-   * @param {String} string The string to escape.
-   * @returns {String} Returns the escaped string.
+   * @category Chain
+   * @returns {Object} Returns the new `lodash` wrapper instance.
    * @example
    *
-   * _.escape('Moe, Larry & Curly');
-   * // => 'Moe, Larry &amp; Curly'
+   * var array = [1, 2];
+   * var wrapper = _(array).map(function(value) {
+   *   return Math.pow(value, 2);
+   * });
+   *
+   * var other = [3, 4];
+   * var otherWrapper = wrapper.plant(other);
+   *
+   * otherWrapper.value();
+   * // => [9, 16]
+   *
+   * wrapper.value();
+   * // => [1, 4]
    */
-  function escape(string) {
-    return string == null ? '' : (string + '').replace(reUnescapedHtml, escapeHtmlChar);
+  function wrapperPlant(value) {
+    var result,
+        parent = this;
+
+    while (parent instanceof baseLodash) {
+      var clone = wrapperClone(parent);
+      if (result) {
+        previous.__wrapped__ = clone;
+      } else {
+        result = clone;
+      }
+      var previous = clone;
+      parent = parent.__wrapped__;
+    }
+    previous.__wrapped__ = value;
+    return result;
   }
 
   /**
-   * This function returns the first argument passed to it.
+   * Reverses the wrapped array so the first element becomes the last, the
+   * second element becomes the second to last, and so on.
    *
-   * @static
+   * **Note:** This method mutates the wrapped array.
+   *
+   * @name reverse
    * @memberOf _
-   * @category Utilities
-   * @param {Mixed} value Any value.
-   * @returns {Mixed} Returns `value`.
+   * @category Chain
+   * @returns {Object} Returns the new reversed `lodash` wrapper instance.
    * @example
    *
-   * var moe = { 'name': 'moe' };
-   * moe === _.identity(moe);
-   * // => true
+   * var array = [1, 2, 3];
+   *
+   * _(array).reverse().value()
+   * // => [3, 2, 1]
+   *
+   * console.log(array);
+   * // => [3, 2, 1]
    */
-  function identity(value) {
-    return value;
+  function wrapperReverse() {
+    var value = this.__wrapped__;
+    if (value instanceof LazyWrapper) {
+      if (this.__actions__.length) {
+        value = new LazyWrapper(this);
+      }
+      return new LodashWrapper(value.reverse(), this.__chain__);
+    }
+    return this.thru(function(value) {
+      return value.reverse();
+    });
   }
 
   /**
-   * Adds functions properties of `object` to the `lodash` function and chainable
-   * wrapper.
+   * Produces the result of coercing the unwrapped value to a string.
    *
-   * @static
+   * @name toString
    * @memberOf _
-   * @category Utilities
-   * @param {Object} object The object of function properties to add to `lodash`.
+   * @category Chain
+   * @returns {string} Returns the coerced string value.
    * @example
    *
-   * _.mixin({
-   *   'capitalize': function(string) {
-   *     return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
-   *   }
-   * });
-   *
-   * _.capitalize('larry');
-   * // => 'Larry'
-   *
-   * _('curly').capitalize();
-   * // => 'Curly'
+   * _([1, 2, 3]).toString();
+   * // => '1,2,3'
    */
-  function mixin(object) {
-    forEach(functions(object), function(methodName) {
-      var func = lodash[methodName] = object[methodName];
-
-      lodash.prototype[methodName] = function() {
-        var args = [this.__wrapped__];
-        push.apply(args, arguments);
-
-        var result = func.apply(lodash, args);
-        return new lodash(result);
-      };
-    });
+  function wrapperToString() {
+    return (this.value() + '');
   }
 
   /**
-   * Reverts the '_' variable to its previous value and returns a reference to
-   * the `lodash` function.
+   * Executes the chained sequence to extract the unwrapped value.
    *
-   * @static
+   * @name value
    * @memberOf _
-   * @category Utilities
-   * @returns {Function} Returns the `lodash` function.
+   * @alias run, toJSON, valueOf
+   * @category Chain
+   * @returns {*} Returns the resolved unwrapped value.
    * @example
    *
-   * var lodash = _.noConflict();
+   * _([1, 2, 3]).value();
+   * // => [1, 2, 3]
    */
-  function noConflict() {
-    window._ = oldDash;
-    return this;
+  function wrapperValue() {
+    return baseWrapperValue(this.__wrapped__, this.__actions__);
   }
 
+  /*------------------------------------------------------------------------*/
+
   /**
-   * Produces a random number between `min` and `max` (inclusive). If only one
-   * argument is passed, a number between `0` and the given number will be returned.
+   * Checks if `predicate` returns truthy for **all** elements of `collection`.
+   * The predicate is bound to `thisArg` and invoked with three arguments:
+   * (value, index|key, collection).
+   *
+   * If a property name is provided for `predicate` the created `_.property`
+   * style callback returns the property value of the given element.
+   *
+   * If a value is also provided for `thisArg` the created `_.matchesProperty`
+   * style callback returns `true` for elements that have a matching property
+   * value, else `false`.
+   *
+   * If an object is provided for `predicate` the created `_.matches` style
+   * callback returns `true` for elements that have the properties of the given
+   * object, else `false`.
    *
    * @static
    * @memberOf _
-   * @category Utilities
-   * @param {Number} [min=0] The minimum possible value.
-   * @param {Number} [max=1] The maximum possible value.
-   * @returns {Number} Returns a random number.
+   * @alias all
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function|Object|string} [predicate=_.identity] The function invoked
+   *  per iteration.
+   * @param {*} [thisArg] The `this` binding of `predicate`.
+   * @returns {boolean} Returns `true` if all elements pass the predicate check,
+   *  else `false`.
    * @example
    *
-   * _.random(0, 5);
-   * // => a number between 1 and 5
+   * _.every([true, 1, null, 'yes'], Boolean);
+   * // => false
+   *
+   * var users = [
+   *   { 'user': 'barney', 'active': false },
+   *   { 'user': 'fred',   'active': false }
+   * ];
+   *
+   * // using the `_.matches` callback shorthand
+   * _.every(users, { 'user': 'barney', 'active': false });
+   * // => false
+   *
+   * // using the `_.matchesProperty` callback shorthand
+   * _.every(users, 'active', false);
+   * // => true
    *
-   * _.random(5);
-   * // => also a number between 1 and 5
+   * // using the `_.property` callback shorthand
+   * _.every(users, 'active');
+   * // => false
    */
-  function random(min, max) {
-    if (min == null && max == null) {
-      max = 1;
+  function every(collection, predicate, thisArg) {
+    var func = isArray(collection) ? arrayEvery : baseEvery;
+    if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
+      predicate = null;
     }
-    min = +min || 0;
-    if (max == null) {
-      max = min;
-      min = 0;
+    if (typeof predicate != 'function' || thisArg !== undefined) {
+      predicate = getCallback(predicate, thisArg, 3);
     }
-    return min + floor(nativeRandom() * ((+max || 0) - min + 1));
+    return func(collection, predicate);
   }
 
   /**
-   * Resolves the value of `property` on `object`. If `property` is a function
-   * it will be invoked and its result returned, else the property value is
-   * returned. If `object` is falsey, then `null` is returned.
+   * Iterates over elements of `collection`, returning an array of all elements
+   * `predicate` returns truthy for. The predicate is bound to `thisArg` and
+   * invoked with three arguments: (value, index|key, collection).
+   *
+   * If a property name is provided for `predicate` the created `_.property`
+   * style callback returns the property value of the given element.
+   *
+   * If a value is also provided for `thisArg` the created `_.matchesProperty`
+   * style callback returns `true` for elements that have a matching property
+   * value, else `false`.
+   *
+   * If an object is provided for `predicate` the created `_.matches` style
+   * callback returns `true` for elements that have the properties of the given
+   * object, else `false`.
    *
    * @static
    * @memberOf _
-   * @category Utilities
-   * @param {Object} object The object to inspect.
-   * @param {String} property The property to get the value of.
-   * @returns {Mixed} Returns the resolved value.
+   * @alias select
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function|Object|string} [predicate=_.identity] The function invoked
+   *  per iteration.
+   * @param {*} [thisArg] The `this` binding of `predicate`.
+   * @returns {Array} Returns the new filtered array.
    * @example
    *
-   * var object = {
-   *   'cheese': 'crumpets',
-   *   'stuff': function() {
-   *     return 'nonsense';
-   *   }
-   * };
+   * _.filter([4, 5, 6], function(n) {
+   *   return n % 2 == 0;
+   * });
+   * // => [4, 6]
+   *
+   * var users = [
+   *   { 'user': 'barney', 'age': 36, 'active': true },
+   *   { 'user': 'fred',   'age': 40, 'active': false }
+   * ];
+   *
+   * // using the `_.matches` callback shorthand
+   * _.pluck(_.filter(users, { 'age': 36, 'active': true }), 'user');
+   * // => ['barney']
    *
-   * _.result(object, 'cheese');
-   * // => 'crumpets'
+   * // using the `_.matchesProperty` callback shorthand
+   * _.pluck(_.filter(users, 'active', false), 'user');
+   * // => ['fred']
    *
-   * _.result(object, 'stuff');
-   * // => 'nonsense'
+   * // using the `_.property` callback shorthand
+   * _.pluck(_.filter(users, 'active'), 'user');
+   * // => ['barney']
    */
-  function result(object, property) {
-    // based on Backbone's private `getValue` function
-    // https://github.com/documentcloud/backbone/blob/0.9.2/backbone.js#L1419-1424
-    var value = object ? object[property] : null;
-    return isFunction(value) ? object[property]() : value;
+  function filter(collection, predicate, thisArg) {
+    var func = isArray(collection) ? arrayFilter : baseFilter;
+    predicate = getCallback(predicate, thisArg, 3);
+    return func(collection, predicate);
   }
 
   /**
-   * A micro-templating method that handles arbitrary delimiters, preserves
-   * whitespace, and correctly escapes quotes within interpolated code.
+   * Iterates over elements of `collection`, returning the first element
+   * `predicate` returns truthy for. The predicate is bound to `thisArg` and
+   * invoked with three arguments: (value, index|key, collection).
    *
-   * Note: In the development build `_.template` utilizes sourceURLs for easier
-   * debugging. See http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl
+   * If a property name is provided for `predicate` the created `_.property`
+   * style callback returns the property value of the given element.
    *
-   * Note: Lo-Dash may be used in Chrome extensions by either creating a `lodash csp`
-   * build and avoiding `_.template` use, or loading Lo-Dash in a sandboxed page.
-   * See http://developer.chrome.com/trunk/extensions/sandboxingEval.html
+   * If a value is also provided for `thisArg` the created `_.matchesProperty`
+   * style callback returns `true` for elements that have a matching property
+   * value, else `false`.
+   *
+   * If an object is provided for `predicate` the created `_.matches` style
+   * callback returns `true` for elements that have the properties of the given
+   * object, else `false`.
    *
    * @static
    * @memberOf _
-   * @category Utilities
-   * @param {String} text The template text.
-   * @param {Obect} data The data object used to populate the text.
-   * @param {Object} options The options object.
-   *  escape - The "escape" delimiter regexp.
-   *  evaluate - The "evaluate" delimiter regexp.
-   *  interpolate - The "interpolate" delimiter regexp.
-   *  sourceURL - The sourceURL of the template's compiled source.
-   *  variable - The data object variable name.
-   *
-   * @returns {Function|String} Returns a compiled function when no `data` object
-   *  is given, else it returns the interpolated text.
+   * @alias detect
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to search.
+   * @param {Function|Object|string} [predicate=_.identity] The function invoked
+   *  per iteration.
+   * @param {*} [thisArg] The `this` binding of `predicate`.
+   * @returns {*} Returns the matched element, else `undefined`.
    * @example
    *
-   * // using a compiled template
-   * var compiled = _.template('hello <%= name %>');
-   * compiled({ 'name': 'moe' });
-   * // => 'hello moe'
-   *
-   * var list = '<% _.forEach(people, function(name) { %><li><%= name %></li><% }); %>';
-   * _.template(list, { 'people': ['moe', 'larry', 'curly'] });
-   * // => '<li>moe</li><li>larry</li><li>curly</li>'
+   * var users = [
+   *   { 'user': 'barney',  'age': 36, 'active': true },
+   *   { 'user': 'fred',    'age': 40, 'active': false },
+   *   { 'user': 'pebbles', 'age': 1,  'active': true }
+   * ];
    *
-   * // using the "escape" delimiter to escape HTML in data property values
-   * _.template('<b><%- value %></b>', { 'value': '<script>' });
-   * // => '<b>&lt;script&gt;</b>'
+   * _.result(_.find(users, function(chr) {
+   *   return chr.age < 40;
+   * }), 'user');
+   * // => 'barney'
    *
-   * // using the ES6 delimiter as an alternative to the default "interpolate" delimiter
-   * _.template('hello ${ name }', { 'name': 'curly' });
-   * // => 'hello curly'
+   * // using the `_.matches` callback shorthand
+   * _.result(_.find(users, { 'age': 1, 'active': true }), 'user');
+   * // => 'pebbles'
    *
-   * // using the internal `print` function in "evaluate" delimiters
-   * _.template('<% print("hello " + epithet); %>!', { 'epithet': 'stooge' });
-   * // => 'hello stooge!'
+   * // using the `_.matchesProperty` callback shorthand
+   * _.result(_.find(users, 'active', false), 'user');
+   * // => 'fred'
    *
-   * // using custom template delimiters
-   * _.templateSettings = {
-   *   'interpolate': /{{([\s\S]+?)}}/g
-   * };
+   * // using the `_.property` callback shorthand
+   * _.result(_.find(users, 'active'), 'user');
+   * // => 'barney'
+   */
+  var find = createFind(baseEach);
+
+  /**
+   * Iterates over elements of `collection` invoking `iteratee` for each element.
+   * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+   * (value, index|key, collection). Iteratee functions may exit iteration early
+   * by explicitly returning `false`.
    *
-   * _.template('hello {{ name }}!', { 'name': 'mustache' });
-   * // => 'hello mustache!'
+   * **Note:** As with other "Collections" methods, objects with a "length" property
+   * are iterated like arrays. To avoid this behavior `_.forIn` or `_.forOwn`
+   * may be used for object iteration.
    *
-   * // using the `sourceURL` option to specify a custom sourceURL for the template
-   * var compiled = _.template('hello <%= name %>', null, { 'sourceURL': '/basic/greeting.jst' });
-   * compiled(data);
-   * // => find the source of "greeting.jst" under the Sources tab or Resources panel of the web inspector
+   * @static
+   * @memberOf _
+   * @alias each
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+   * @param {*} [thisArg] The `this` binding of `iteratee`.
+   * @returns {Array|Object|string} Returns `collection`.
+   * @example
    *
-   * // using the `variable` option to ensure a with-statement isn't used in the compiled template
-   * var compiled = _.template('hello <%= data.name %>!', null, { 'variable': 'data' });
-   * compiled.source;
-   * // => function(data) {
-   *   var __t, __p = '', __e = _.escape;
-   *   __p += 'hello ' + ((__t = ( data.name )) == null ? '' : __t) + '!';
-   *   return __p;
-   * }
+   * _([1, 2]).forEach(function(n) {
+   *   console.log(n);
+   * }).value();
+   * // => logs each value from left to right and returns the array
    *
-   * // using the `source` property to inline compiled templates for meaningful
-   * // line numbers in error messages and a stack trace
-   * fs.writeFileSync(path.join(cwd, 'jst.js'), '\
-   *   var JST = {\
-   *     "main": ' + _.template(mainText).source + '\
-   *   };\
-   * ');
+   * _.forEach({ 'a': 1, 'b': 2 }, function(n, key) {
+   *   console.log(n, key);
+   * });
+   * // => logs each value-key pair and returns the object (iteration order is not guaranteed)
    */
-  function template(text, data, options) {
-    // based on John Resig's `tmpl` implementation
-    // http://ejohn.org/blog/javascript-micro-templating/
-    // and Laura Doktorova's doT.js
-    // https://github.com/olado/doT
-    text || (text = '');
-    options || (options = {});
-
-    var isEvaluating,
-        result,
-        settings = lodash.templateSettings,
-        index = 0,
-        interpolate = options.interpolate || settings.interpolate || reNoMatch,
-        source = "__p += '",
-        variable = options.variable || settings.variable,
-        hasVariable = variable;
-
-    // compile regexp to match each delimiter
-    var reDelimiters = RegExp(
-      (options.escape || settings.escape || reNoMatch).source + '|' +
-      interpolate.source + '|' +
-      (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +
-      (options.evaluate || settings.evaluate || reNoMatch).source + '|$'
-    , 'g');
-
-    text.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {
-      interpolateValue || (interpolateValue = esTemplateValue);
-
-      // escape characters that cannot be included in string literals
-      source += text.slice(index, offset).replace(reUnescapedString, escapeStringChar);
-
-      // replace delimiters with snippets
-      if (escapeValue) {
-        source += "' +\n__e(" + escapeValue + ") +\n'";
-      }
-      if (evaluateValue) {
-        source += "';\n" + evaluateValue + ";\n__p += '";
-      }
-      if (interpolateValue) {
-        source += "' +\n((__t = (" + interpolateValue + ")) == null ? '' : __t) +\n'";
-      }
-      isEvaluating || (isEvaluating = evaluateValue || reComplexDelimiter.test(escapeValue || interpolateValue));
-      index = offset + match.length;
-
-      // the JS engine embedded in Adobe products requires returning the `match`
-      // string in order to produce the correct `offset` value
-      return match;
-    });
-
-    source += "';\n";
-
-    // if `variable` is not specified and the template contains "evaluate"
-    // delimiters, wrap a with-statement around the generated code to add the
-    // data object to the top of the scope chain
-    if (!hasVariable) {
-      variable = 'obj';
-      if (isEvaluating) {
-        source = 'with (' + variable + ') {\n' + source + '\n}\n';
-      }
-      else {
-        // avoid a with-statement by prepending data object references to property names
-        var reDoubleVariable = RegExp('(\\(\\s*)' + variable + '\\.' + variable + '\\b', 'g');
-        source = source
-          .replace(reInsertVariable, '$&' + variable + '.')
-          .replace(reDoubleVariable, '$1__d');
-      }
-    }
-
-    // cleanup code by stripping empty strings
-    source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)
-      .replace(reEmptyStringMiddle, '$1')
-      .replace(reEmptyStringTrailing, '$1;');
-
-    // frame code as the function body
-    source = 'function(' + variable + ') {\n' +
-      (hasVariable ? '' : variable + ' || (' + variable + ' = {});\n') +
-      "var __t, __p = '', __e = _.escape" +
-      (isEvaluating
-        ? ', __j = Array.prototype.join;\n' +
-          "function print() { __p += __j.call(arguments, '') }\n"
-        : (hasVariable ? '' : ', __d = ' + variable + '.' + variable + ' || ' + variable) + ';\n'
-      ) +
-      source +
-      'return __p\n}';
-
-    // use a sourceURL for easier debugging
-    // http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl
-    var sourceURL = useSourceURL
-      ? '\n//@ sourceURL=' + (options.sourceURL || '/lodash/template/source[' + (templateCounter++) + ']')
-      : '';
-
-    try {
-      result = Function('_', 'return ' + source + sourceURL)(lodash);
-    } catch(e) {
-      e.source = source;
-      throw e;
-    }
-
-    if (data) {
-      return result(data);
-    }
-    // provide the compiled function's source via its `toString` method, in
-    // supported environments, or the `source` property as a convenience for
-    // inlining compiled templates during the build process
-    result.source = source;
-    return result;
-  }
+  var forEach = createForEach(arrayEach, baseEach);
 
   /**
-   * Executes the `callback` function `n` times, returning an array of the results
-   * of each `callback` execution. The `callback` is bound to `thisArg` and invoked
-   * with one argument; (index).
+   * Creates an object composed of keys generated from the results of running
+   * each element of `collection` through `iteratee`. The corresponding value
+   * of each key is an array of the elements responsible for generating the key.
+   * The `iteratee` is bound to `thisArg` and invoked with three arguments:
+   * (value, index|key, collection).
+   *
+   * If a property name is provided for `iteratee` the created `_.property`
+   * style callback returns the property value of the given element.
+   *
+   * If a value is also provided for `thisArg` the created `_.matchesProperty`
+   * style callback returns `true` for elements that have a matching property
+   * value, else `false`.
+   *
+   * If an object is provided for `iteratee` the created `_.matches` style
+   * callback returns `true` for elements that have the properties of the given
+   * object, else `false`.
    *
    * @static
    * @memberOf _
-   * @category Utilities
-   * @param {Number} n The number of times to execute the callback.
-   * @param {Function} callback The function called per iteration.
-   * @param {Mixed} [thisArg] The `this` binding of `callback`.
-   * @returns {Array} Returns a new array of the results of each `callback` execution.
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+   *  per iteration.
+   * @param {*} [thisArg] The `this` binding of `iteratee`.
+   * @returns {Object} Returns the composed aggregate object.
    * @example
    *
-   * var diceRolls = _.times(3, _.partial(_.random, 1, 6));
-   * // => [3, 6, 4]
+   * _.groupBy([4.2, 6.1, 6.4], function(n) {
+   *   return Math.floor(n);
+   * });
+   * // => { '4': [4.2], '6': [6.1, 6.4] }
    *
-   * _.times(3, function(n) { mage.castSpell(n); });
-   * // => calls `mage.castSpell(n)` three times, passing `n` of `0`, `1`, and `2` respectively
+   * _.groupBy([4.2, 6.1, 6.4], function(n) {
+   *   return this.floor(n);
+   * }, Math);
+   * // => { '4': [4.2], '6': [6.1, 6.4] }
    *
-   * _.times(3, function(n) { this.cast(n); }, mage);
-   * // => also calls `mage.castSpell(n)` three times
+   * // using the `_.property` callback shorthand
+   * _.groupBy(['one', 'two', 'three'], 'length');
+   * // => { '3': ['one', 'two'], '5': ['three'] }
    */
-  function times(n, callback, thisArg) {
-    n = +n || 0;
-    var index = -1,
-        result = Array(n);
-
-    while (++index < n) {
-      result[index] = callback.call(thisArg, index);
+  var groupBy = createAggregator(function(result, value, key) {
+    if (hasOwnProperty.call(result, key)) {
+      result[key].push(value);
+    } else {
+      result[key] = [value];
     }
-    return result;
-  }
+  });
 
   /**
-   * The opposite of `_.escape`, this method converts the HTML entities
-   * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#x27;` in `string` to their
-   * corresponding characters.
+   * Checks if `value` is in `collection` using
+   * [`SameValueZero`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero)
+   * for equality comparisons. If `fromIndex` is negative, it is used as the offset
+   * from the end of `collection`.
    *
    * @static
    * @memberOf _
-   * @category Utilities
-   * @param {String} string The string to unescape.
-   * @returns {String} Returns the unescaped string.
+   * @alias contains, include
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to search.
+   * @param {*} target The value to search for.
+   * @param {number} [fromIndex=0] The index to search from.
+   * @param- {Object} [guard] Enables use as a callback for functions like `_.reduce`.
+   * @returns {boolean} Returns `true` if a matching element is found, else `false`.
    * @example
    *
-   * _.unescape('Moe, Larry &amp; Curly');
-   * // => 'Moe, Larry & Curly'
+   * _.includes([1, 2, 3], 1);
+   * // => true
+   *
+   * _.includes([1, 2, 3], 1, 2);
+   * // => false
+   *
+   * _.includes({ 'user': 'fred', 'age': 40 }, 'fred');
+   * // => true
+   *
+   * _.includes('pebbles', 'eb');
+   * // => true
    */
-  function unescape(string) {
-    return string == null ? '' : (string + '').replace(reEscapedHtml, unescapeHtmlChar);
+  function includes(collection, target, fromIndex, guard) {
+    var length = collection ? getLength(collection) : 0;
+    if (!isLength(length)) {
+      collection = values(collection);
+      length = collection.length;
+    }
+    if (!length) {
+      return false;
+    }
+    if (typeof fromIndex != 'number' || (guard && isIterateeCall(target, fromIndex, guard))) {
+      fromIndex = 0;
+    } else {
+      fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : (fromIndex || 0);
+    }
+    return (typeof collection == 'string' || !isArray(collection) && isString(collection))
+      ? (fromIndex < length && collection.indexOf(target, fromIndex) > -1)
+      : (getIndexOf(collection, target, fromIndex) > -1);
   }
 
   /**
-   * Generates a unique ID. If `prefix` is passed, the ID will be appended to it.
+   * Creates an array of values by running each element in `collection` through
+   * `iteratee`. The `iteratee` is bound to `thisArg` and invoked with three
+   * arguments: (value, index|key, collection).
+   *
+   * If a property name is provided for `iteratee` the created `_.property`
+   * style callback returns the property value of the given element.
+   *
+   * If a value is also provided for `thisArg` the created `_.matchesProperty`
+   * style callback returns `true` for elements that have a matching property
+   * value, else `false`.
+   *
+   * If an object is provided for `iteratee` the created `_.matches` style
+   * callback returns `true` for elements that have the properties of the given
+   * object, else `false`.
+   *
+   * Many lodash methods are guarded to work as iteratees for methods like
+   * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.
+   *
+   * The guarded methods are:
+   * `ary`, `callback`, `chunk`, `clone`, `create`, `curry`, `curryRight`,
+   * `drop`, `dropRight`, `every`, `fill`, `flatten`, `invert`, `max`, `min`,
+   * `parseInt`, `slice`, `sortBy`, `take`, `takeRight`, `template`, `trim`,
+   * `trimLeft`, `trimRight`, `trunc`, `random`, `range`, `sample`, `some`,
+   * `sum`, `uniq`, and `words`
    *
    * @static
    * @memberOf _
-   * @category Utilities
-   * @param {String} [prefix] The value to prefix the ID with.
-   * @returns {String} Returns the unique ID.
+   * @alias collect
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function|Object|string} [iteratee=_.identity] The function invoked
+   *  per iteration.
+   * @param {*} [thisArg] The `this` binding of `iteratee`.
+   * @returns {Array} Returns the new mapped array.
    * @example
    *
-   * _.uniqueId('contact_');
-   * // => 'contact_104'
+   * function timesThree(n) {
+   *   return n * 3;
+   * }
+   *
+   * _.map([1, 2], timesThree);
+   * // => [3, 6]
+   *
+   * _.map({ 'a': 1, 'b': 2 }, timesThree);
+   * // => [3, 6] (iteration order is not guaranteed)
+   *
+   * var users = [
+   *   { 'user': 'barney' },
+   *   { 'user': 'fred' }
+   * ];
    *
-   * _.uniqueId();
-   * // => '105'
+   * // using the `_.property` callback shorthand
+   * _.map(users, 'user');
+   * // => ['barney', 'fred']
    */
-  function uniqueId(prefix) {
-    return (prefix == null ? '' : prefix + '') + (++idCounter);
+  function map(collection, iteratee, thisArg) {
+    var func = isArray(collection) ? arrayMap : baseMap;
+    iteratee = getCallback(iteratee, thisArg, 3);
+    return func(collection, iteratee);
   }
 
-  /*--------------------------------------------------------------------------*/
-
   /**
-   * Invokes `interceptor` with the `value` as the first argument, and then
-   * returns `value`. The purpose of this method is to "tap into" a method chain,
-   * in order to perform operations on intermediate results within the chain.
+   * Gets the property value of `path` from all elements in `collection`.
    *
    * @static
    * @memberOf _
-   * @category Chaining
-   * @param {Mixed} value The value to pass to `interceptor`.
-   * @param {Function} interceptor The function to invoke.
-   * @returns {Mixed} Returns `value`.
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Array|string} path The path of the property to pluck.
+   * @returns {Array} Returns the property values.
    * @example
    *
-   * _.chain([1, 2, 3, 200])
-   *  .filter(function(num) { return num % 2 == 0; })
-   *  .tap(alert)
-   *  .map(function(num) { return num * num; })
-   *  .value();
-   * // => // [2, 200] (alerted)
-   * // => [4, 40000]
+   * var users = [
+   *   { 'user': 'barney', 'age': 36 },
+   *   { 'user': 'fred',   'age': 40 }
+   * ];
+   *
+   * _.pluck(users, 'user');
+   * // => ['barney', 'fred']
+   *
+   * var userIndex = _.indexBy(users, 'user');
+   * _.pluck(userIndex, 'age');
+   * // => [36, 40] (iteration order is not guaranteed)
    */
-  function tap(value, interceptor) {
-    interceptor(value);
-    return value;
+  function pluck(collection, path) {
+    return map(collection, property(path));
   }
 
   /**
-   * Produces the `toString` result of the wrapped value.
+   * Reduces `collection` to a value which is the accumulated result of running
+   * each element in `collection` through `iteratee`, where each successive
+   * invocation is supplied the return value of the previous. If `accumulator`
+   * is not provided the first element of `collection` is used as the initial
+   * value. The `iteratee` is bound to `thisArg` and invoked with four arguments:
+   * (accumulator, value, index|key, collection).
    *
-   * @name toString
+   * Many lodash methods are guarded to work as iteratees for methods like
+   * `_.reduce`, `_.reduceRight`, and `_.transform`.
+   *
+   * The guarded methods are:
+   * `assign`, `defaults`, `includes`, `merge`, `sortByAll`, and `sortByOrder`
+   *
+   * @static
    * @memberOf _
-   * @category Chaining
-   * @returns {String} Returns the string result.
+   * @alias foldl, inject
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+   * @param {*} [accumulator] The initial value.
+   * @param {*} [thisArg] The `this` binding of `iteratee`.
+   * @returns {*} Returns the accumulated value.
    * @example
    *
-   * _([1, 2, 3]).toString();
-   * // => '1,2,3'
+   * _.reduce([1, 2], function(total, n) {
+   *   return total + n;
+   * });
+   * // => 3
+   *
+   * _.reduce({ 'a': 1, 'b': 2 }, function(result, n, key) {
+   *   result[key] = n * 3;
+   *   return result;
+   * }, {});
+   * // => { 'a': 3, 'b': 6 } (iteration order is not guaranteed)
    */
-  function wrapperToString() {
-    return this.__wrapped__ + '';
-  }
+  var reduce = createReduce(arrayReduce, baseEach);
 
   /**
-   * Extracts the wrapped value.
+   * The opposite of `_.filter`; this method returns the elements of `collection`
+   * that `predicate` does **not** return truthy for.
    *
-   * @name valueOf
+   * @static
    * @memberOf _
-   * @alias value
-   * @category Chaining
-   * @returns {Mixed} Returns the wrapped value.
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function|Object|string} [predicate=_.identity] The function invoked
+   *  per iteration.
+   * @param {*} [thisArg] The `this` binding of `predicate`.
+   * @returns {Array} Returns the new filtered array.
    * @example
    *
-   * _([1, 2, 3]).valueOf();
-   * // => [1, 2, 3]
+   * _.reject([1, 2, 3, 4], function(n) {
+   *   return n % 2 == 0;
+   * });
+   * // => [1, 3]
+   *
+   * var users = [
+   *   { 'user': 'barney', 'age': 36, 'active': false },
+   *   { 'user': 'fred',   'age': 40, 'active': true }
+   * ];
+   *
+   * // using the `_.matches` callback shorthand
+   * _.pluck(_.reject(users, { 'age': 40, 'active': true }), 'user');
+   * // => ['barney']
+   *
+   * // using the `_.matchesProperty` callback shorthand
+   * _.pluck(_.reject(users, 'active', false), 'user');
+   * // => ['fred']
+   *
+   * // using the `_.property` callback shorthand
+   * _.pluck(_.reject(users, 'active'), 'user');
+   * // => ['barney']
    */
-  function wrapperValueOf() {
-    return this.__wrapped__;
+  function reject(collection, predicate, thisArg) {
+    var func = isArray(collection) ? arrayFilter : baseFilter;
+    predicate = getCallback(predicate, thisArg, 3);
+    return func(collection, function(value, index, collection) {
+      return !predicate(value, index, collection);
+    });
   }
 
-  /*--------------------------------------------------------------------------*/
-
-  // add functions that return wrapped values when chaining
-  lodash.after = after;
-  lodash.assign = assign;
-  lodash.bind = bind;
-  lodash.bindAll = bindAll;
-  lodash.bindKey = bindKey;
-  lodash.compact = compact;
-  lodash.compose = compose;
-  lodash.countBy = countBy;
-  lodash.debounce = debounce;
-  lodash.defaults = defaults;
-  lodash.defer = defer;
-  lodash.delay = delay;
-  lodash.difference = difference;
-  lodash.filter = filter;
-  lodash.flatten = flatten;
-  lodash.forEach = forEach;
-  lodash.forIn = forIn;
-  lodash.forOwn = forOwn;
-  lodash.functions = functions;
-  lodash.groupBy = groupBy;
-  lodash.initial = initial;
-  lodash.intersection = intersection;
-  lodash.invert = invert;
-  lodash.invoke = invoke;
-  lodash.keys = keys;
-  lodash.map = map;
-  lodash.max = max;
-  lodash.memoize = memoize;
-  lodash.merge = merge;
-  lodash.min = min;
-  lodash.object = object;
-  lodash.omit = omit;
-  lodash.once = once;
-  lodash.pairs = pairs;
-  lodash.partial = partial;
-  lodash.pick = pick;
-  lodash.pluck = pluck;
-  lodash.range = range;
-  lodash.reject = reject;
-  lodash.rest = rest;
-  lodash.shuffle = shuffle;
-  lodash.sortBy = sortBy;
-  lodash.tap = tap;
-  lodash.throttle = throttle;
-  lodash.times = times;
-  lodash.toArray = toArray;
-  lodash.union = union;
-  lodash.uniq = uniq;
-  lodash.values = values;
-  lodash.where = where;
-  lodash.without = without;
-  lodash.wrap = wrap;
-  lodash.zip = zip;
-
-  // add aliases
-  lodash.collect = map;
-  lodash.drop = rest;
-  lodash.each = forEach;
-  lodash.extend = assign;
-  lodash.methods = functions;
-  lodash.select = filter;
-  lodash.tail = rest;
-  lodash.unique = uniq;
-
-  // add functions to `lodash.prototype`
-  mixin(lodash);
-
-  /*--------------------------------------------------------------------------*/
-
-  // add functions that return unwrapped values when chaining
-  lodash.clone = clone;
-  lodash.cloneDeep = cloneDeep;
-  lodash.contains = contains;
-  lodash.escape = escape;
-  lodash.every = every;
-  lodash.find = find;
-  lodash.has = has;
-  lodash.identity = identity;
-  lodash.indexOf = indexOf;
-  lodash.isArguments = isArguments;
-  lodash.isArray = isArray;
-  lodash.isBoolean = isBoolean;
-  lodash.isDate = isDate;
-  lodash.isElement = isElement;
-  lodash.isEmpty = isEmpty;
-  lodash.isEqual = isEqual;
-  lodash.isFinite = isFinite;
-  lodash.isFunction = isFunction;
-  lodash.isNaN = isNaN;
-  lodash.isNull = isNull;
-  lodash.isNumber = isNumber;
-  lodash.isObject = isObject;
-  lodash.isPlainObject = isPlainObject;
-  lodash.isRegExp = isRegExp;
-  lodash.isString = isString;
-  lodash.isUndefined = isUndefined;
-  lodash.lastIndexOf = lastIndexOf;
-  lodash.mixin = mixin;
-  lodash.noConflict = noConflict;
-  lodash.random = random;
-  lodash.reduce = reduce;
-  lodash.reduceRight = reduceRight;
-  lodash.result = result;
-  lodash.size = size;
-  lodash.some = some;
-  lodash.sortedIndex = sortedIndex;
-  lodash.template = template;
-  lodash.unescape = unescape;
-  lodash.uniqueId = uniqueId;
-
-  // add aliases
-  lodash.all = every;
-  lodash.any = some;
-  lodash.detect = find;
-  lodash.foldl = reduce;
-  lodash.foldr = reduceRight;
-  lodash.include = contains;
-  lodash.inject = reduce;
-
-  forOwn(lodash, function(func, methodName) {
-    if (!lodash.prototype[methodName]) {
-      lodash.prototype[methodName] = function() {
-        var args = [this.__wrapped__];
-        push.apply(args, arguments);
-        return func.apply(lodash, args);
-      };
+  /**
+   * Checks if `predicate` returns truthy for **any** element of `collection`.
+   * The function returns as soon as it finds a passing value and does not iterate
+   * over the entire collection. The predicate is bound to `thisArg` and invoked
+   * with three arguments: (value, index|key, collection).
+   *
+   * If a property name is provided for `predicate` the created `_.property`
+   * style callback returns the property value of the given element.
+   *
+   * If a value is also provided for `thisArg` the created `_.matchesProperty`
+   * style callback returns `true` for elements that have a matching property
+   * value, else `false`.
+   *
+   * If an object is provided for `predicate` the created `_.matches` style
+   * callback returns `true` for elements that have the properties of the given
+   * object, else `false`.
+   *
+   * @static
+   * @memberOf _
+   * @alias any
+   * @category Collection
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function|Object|string} [predicate=_.identity] The function invoked
+   *  per iteration.
+   * @param {*} [thisArg] The `this` binding of `predicate`.
+   * @returns {boolean} Returns `true` if any element passes the predicate check,
+   *  else `false`.
+   * @example
+   *
+   * _.some([null, 0, 'yes', false], Boolean);
+   * // => true
+   *
+   * var users = [
+   *   { 'user': 'barney', 'active': true },
+   *   { 'user': 'fred',   'active': false }
+   * ];
+   *
+   * // using the `_.matches` callback shorthand
+   * _.some(users, { 'user': 'barney', 'active': false });
+   * // => false
+   *
+   * // using the `_.matchesProperty` callback shorthand
+   * _.some(users, 'active', false);
+   * // => true
+   *
+   * // using the `_.property` callback shorthand
+   * _.some(users, 'active');
+   * // => true
+   */
+  function some(collection, predicate, thisArg) {
+    var func = isArray(collection) ? arraySome : baseSome;
+    if (thisArg && isIterateeCall(collection, predicate, thisArg)) {
+      predicate = null;
     }
-  });
+    if (typeof predicate != 'function' || thisArg !== undefined) {
+      predicate = getCallback(predicate, thisArg, 3);
+    }
+    return func(collection, predicate);
+  }
 
-  /*--------------------------------------------------------------------------*/
+  /*------------------------------------------------------------------------*/
 
-  // add functions capable of returning wrapped and unwrapped values when chaining
-  lodash.first = first;
-  lodash.last = last;
+  /**
+   * Gets the number of milliseconds that have elapsed since the Unix epoch
+   * (1 January 1970 00:00:00 UTC).
+   *
+   * @static
+   * @memberOf _
+   * @category Date
+   * @example
+   *
+   * _.defer(function(stamp) {
+   *   console.log(_.now() - stamp);
+   * }, _.now());
+   * // => logs the number of milliseconds it took for the deferred function to be invoked
+   */
+  var now = nativeNow || function() {
+    return new Date().getTime();
+  };
 
-  // add aliases
-  lodash.take = first;
-  lodash.head = first;
+  /*------------------------------------------------------------------------*/
 
-  forOwn(lodash, function(func, methodName) {
-    if (!lodash.prototype[methodName]) {
-      lodash.prototype[methodName]= function(n, guard) {
-        var result = func(this.__wrapped__, n, guard);
-        return (n == null || guard) ? result : new lodash(result);
-      };
+  /**
+   * Creates a function that invokes `func` with the `this` binding of `thisArg`
+   * and prepends any additional `_.bind` arguments to those provided to the
+   * bound function.
+   *
+   * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,
+   * may be used as a placeholder for partially applied arguments.
+   *
+   * **Note:** Unlike native `Function#bind` this method does not set the "length"
+   * property of bound functions.
+   *
+   * @static
+   * @memberOf _
+   * @category Function
+   * @param {Function} func The function to bind.
+   * @param {*} thisArg The `this` binding of `func`.
+   * @param {...*} [partials] The arguments to be partially applied.
+   * @returns {Function} Returns the new bound function.
+   * @example
+   *
+   * var greet = function(greeting, punctuation) {
+   *   return greeting + ' ' + this.user + punctuation;
+   * };
+   *
+   * var object = { 'user': 'fred' };
+   *
+   * var bound = _.bind(greet, object, 'hi');
+   * bound('!');
+   * // => 'hi fred!'
+   *
+   * // using placeholders
+   * var bound = _.bind(greet, object, _, '!');
+   * bound('hi');
+   * // => 'hi fred!'
+   */
+  var bind = restParam(function(func, thisArg, partials) {
+    var bitmask = BIND_FLAG;
+    if (partials.length) {
+      var holders = replaceHolders(partials, bind.placeholder);
+      bitmask |= PARTIAL_FLAG;
     }
+    return createWrapper(func, bitmask, thisArg, partials, holders);
   });
 
-  /*--------------------------------------------------------------------------*/
-
   /**
-   * The semantic version number.
+   * Creates a debounced function that delays invoking `func` until after `wait`
+   * milliseconds have elapsed since the last time the debounced function was
+   * invoked. The debounced function comes with a `cancel` method to cancel
+   * delayed invocations. Provide an options object to indicate that `func`
+   * should be invoked on the leading and/or trailing edge of the `wait` timeout.
+   * Subsequent calls to the debounced function return the result of the last
+   * `func` invocation.
+   *
+   * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
+   * on the trailing edge of the timeout only if the the debounced function is
+   * invoked more than once during the `wait` timeout.
+   *
+   * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+   * for details over the differences between `_.debounce` and `_.throttle`.
    *
    * @static
    * @memberOf _
-   * @type String
+   * @category Function
+   * @param {Function} func The function to debounce.
+   * @param {number} [wait=0] The number of milliseconds to delay.
+   * @param {Object} [options] The options object.
+   * @param {boolean} [options.leading=false] Specify invoking on the leading
+   *  edge of the timeout.
+   * @param {number} [options.maxWait] The maximum time `func` is allowed to be
+   *  delayed before it is invoked.
+   * @param {boolean} [options.trailing=true] Specify invoking on the trailing
+   *  edge of the timeout.
+   * @returns {Function} Returns the new debounced function.
+   * @example
+   *
+   * // avoid costly calculations while the window size is in flux
+   * jQuery(window).on('resize', _.debounce(calculateLayout, 150));
+   *
+   * // invoke `sendMail` when the click event is fired, debouncing subsequent calls
+   * jQuery('#postbox').on('click', _.debounce(sendMail, 300, {
+   *   'leading': true,
+   *   'trailing': false
+   * }));
+   *
+   * // ensure `batchLog` is invoked once after 1 second of debounced calls
+   * var source = new EventSource('/stream');
+   * jQuery(source).on('message', _.debounce(batchLog, 250, {
+   *   'maxWait': 1000
+   * }));
+   *
+   * // cancel a debounced call
+   * var todoChanges = _.debounce(batchLog, 1000);
+   * Object.observe(models.todo, todoChanges);
+   *
+   * Object.observe(models, function(changes) {
+   *   if (_.find(changes, { 'user': 'todo', 'type': 'delete'})) {
+   *     todoChanges.cancel();
+   *   }
+   * }, ['delete']);
+   *
+   * // ...at some point `models.todo` is changed
+   * models.todo.completed = true;
+   *
+   * // ...before 1 second has passed `models.todo` is deleted
+   * // which cancels the debounced `todoChanges` call
+   * delete models.todo;
    */
-  lodash.VERSION = '1.0.0-rc.3';
+  function debounce(func, wait, options) {
+    var args,
+        maxTimeoutId,
+        result,
+        stamp,
+        thisArg,
+        timeoutId,
+        trailingCall,
+        lastCalled = 0,
+        maxWait = false,
+        trailing = true;
 
-  // add "Chaining" functions to the wrapper
-  lodash.prototype.toString = wrapperToString;
-  lodash.prototype.value = wrapperValueOf;
-  lodash.prototype.valueOf = wrapperValueOf;
+    if (typeof func != 'function') {
+      throw new TypeError(FUNC_ERROR_TEXT);
+    }
+    wait = wait < 0 ? 0 : (+wait || 0);
+    if (options === true) {
+      var leading = true;
+      trailing = false;
+    } else if (isObject(options)) {
+      leading = options.leading;
+      maxWait = 'maxWait' in options && nativeMax(+options.maxWait || 0, wait);
+      trailing = 'trailing' in options ? options.trailing : trailing;
+    }
 
-  // add `Array` functions that return unwrapped values
-  each(['join', 'pop', 'shift'], function(methodName) {
-    var func = arrayRef[methodName];
-    lodash.prototype[methodName] = function() {
-      return func.apply(this.__wrapped__, arguments);
-    };
-  });
+    function cancel() {
+      if (timeoutId) {
+        clearTimeout(timeoutId);
+      }
+      if (maxTimeoutId) {
+        clearTimeout(maxTimeoutId);
+      }
+      maxTimeoutId = timeoutId = trailingCall = undefined;
+    }
 
-  // add `Array` functions that return the wrapped value
-  each(['push', 'reverse', 'sort', 'unshift'], function(methodName) {
-    var func = arrayRef[methodName];
-    lodash.prototype[methodName] = function() {
-      func.apply(this.__wrapped__, arguments);
-      return this;
-    };
-  });
+    function delayed() {
+      var remaining = wait - (now() - stamp);
+      if (remaining <= 0 || remaining > wait) {
+        if (maxTimeoutId) {
+          clearTimeout(maxTimeoutId);
+        }
+        var isCalled = trailingCall;
+        maxTimeoutId = timeoutId = trailingCall = undefined;
+        if (isCalled) {
+          lastCalled = now();
+          result = func.apply(thisArg, args);
+          if (!timeoutId && !maxTimeoutId) {
+            args = thisArg = null;
+          }
+        }
+      } else {
+        timeoutId = setTimeout(delayed, remaining);
+      }
+    }
 
-  // add `Array` functions that return new wrapped values
-  each(['concat', 'slice', 'splice'], function(methodName) {
-    var func = arrayRef[methodName];
-    lodash.prototype[methodName] = function() {
-      var result = func.apply(this.__wrapped__, arguments);
-      return new lodash(result);
-    };
-  });
+    function maxDelayed() {
+      if (timeoutId) {
+        clearTimeout(timeoutId);
+      }
+      maxTimeoutId = timeoutId = trailingCall = undefined;
+      if (trailing || (maxWait !== wait)) {
+        lastCalled = now();
+        result = func.apply(thisArg, args);
+        if (!timeoutId && !maxTimeoutId) {
+          args = thisArg = null;
+        }
+      }
+    }
 
-  // avoid array-like object bugs with `Array#shift` and `Array#splice`
-  // in Firefox < 10 and IE < 9
-  if (hasObjectSpliceBug) {
-    each(['pop', 'shift', 'splice'], function(methodName) {
-      var func = arrayRef[methodName],
-          isSplice = methodName == 'splice';
+    function debounced() {
+      args = arguments;
+      stamp = now();
+      thisArg = this;
+      trailingCall = trailing && (timeoutId || !leading);
 
-      lodash.prototype[methodName] = function() {
-        var value = this.__wrapped__,
-            result = func.apply(value, arguments);
+      if (maxWait === false) {
+        var leadingCall = leading && !timeoutId;
+      } else {
+        if (!maxTimeoutId && !leading) {
+          lastCalled = stamp;
+        }
+        var remaining = maxWait - (stamp - lastCalled),
+            isCalled = remaining <= 0 || remaining > maxWait;
 
-        if (value.length === 0) {
-          delete value[0];
+        if (isCalled) {
+          if (maxTimeoutId) {
+            maxTimeoutId = clearTimeout(maxTimeoutId);
+          }
+          lastCalled = stamp;
+          result = func.apply(thisArg, args);
         }
-        return isSplice ? new lodash(result) : result;
-      };
-    });
+        else if (!maxTimeoutId) {
+          maxTimeoutId = setTimeout(maxDelayed, remaining);
+        }
+      }
+      if (isCalled && timeoutId) {
+        timeoutId = clearTimeout(timeoutId);
+      }
+      else if (!timeoutId && wait !== maxWait) {
+        timeoutId = setTimeout(delayed, wait);
+      }
+      if (leadingCall) {
+        isCalled = true;
+        result = func.apply(thisArg, args);
+      }
+      if (isCalled && !timeoutId && !maxTimeoutId) {
+        args = thisArg = null;
+      }
+      return result;
+    }
+    debounced.cancel = cancel;
+    return debounced;
   }
 
-  // add pseudo private property to be used and removed during the build process
-  lodash._each = each;
-  lodash._iteratorTemplate = iteratorTemplate;
-
-  /*--------------------------------------------------------------------------*/
+  /**
+   * Creates a function that invokes `func` with the `this` binding of the
+   * created function and arguments from `start` and beyond provided as an array.
+   *
+   * **Note:** This method is based on the [rest parameter](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters).
+   *
+   * @static
+   * @memberOf _
+   * @category Function
+   * @param {Function} func The function to apply a rest parameter to.
+   * @param {number} [start=func.length-1] The start position of the rest parameter.
+   * @returns {Function} Returns the new function.
+   * @example
+   *
+   * var say = _.restParam(function(what, names) {
+   *   return what + ' ' + _.initial(names).join(', ') +
+   *     (_.size(names) > 1 ? ', & ' : '') + _.last(names);
+   * });
+   *
+   * say('hello', 'fred', 'barney', 'pebbles');
+   * // => 'hello fred, barney, & pebbles'
+   */
+  function restParam(func, start) {
+    if (typeof func != 'function') {
+      throw new TypeError(FUNC_ERROR_TEXT);
+    }
+    start = nativeMax(start === undefined ? (func.length - 1) : (+start || 0), 0);
+    return function() {
+      var args = arguments,
+          index = -1,
+          length = nativeMax(args.length - start, 0),
+          rest = Array(length);
 
-  // expose Lo-Dash
-  // some AMD build optimizers, like r.js, check for specific condition patterns like the following:
-  if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {
-    // Expose Lo-Dash to the global object even when an AMD loader is present in
-    // case Lo-Dash was injected by a third-party script and not intended to be
-    // loaded as a module. The global assignment can be reverted in the Lo-Dash
-    // module via its `noConflict()` method.
-    window._ = lodash;
-
-    // define as an anonymous module so, through path mapping, it can be
-    // referenced as the "underscore" module
-    define(function() {
-      return lodash;
-    });
+      while (++index < length) {
+        rest[index] = args[start + index];
+      }
+      switch (start) {
+        case 0: return func.call(this, rest);
+        case 1: return func.call(this, args[0], rest);
+        case 2: return func.call(this, args[0], args[1], rest);
+      }
+      var otherArgs = Array(start + 1);
+      index = -1;
+      while (++index < start) {
+        otherArgs[index] = args[index];
+      }
+      otherArgs[start] = rest;
+      return func.apply(this, otherArgs);
+    };
   }
-  // check for `exports` after `define` in case a build optimizer adds an `exports` object
-  else if (freeExports) {
-    // in Node.js or RingoJS v0.8.0+
-    if (typeof module == 'object' && module && module.exports == freeExports) {
-      (module.exports = lodash)._ = lodash;
+
+  /**
+   * Creates a throttled function that only invokes `func` at most once per
+   * every `wait` milliseconds. The throttled function comes with a `cancel`
+   * method to cancel delayed invocations. Provide an options object to indicate
+   * that `func` should be invoked on the leading and/or trailing edge of the
+   * `wait` timeout. Subsequent calls to the throttled function return the
+   * result of the last `func` call.
+   *
+   * **Note:** If `leading` and `trailing` options are `true`, `func` is invoked
+   * on the trailing edge of the timeout only if the the throttled function is
+   * invoked more than once during the `wait` timeout.
+   *
+   * See [David Corbacho's article](http://drupalmotion.com/article/debounce-and-throttle-visual-explanation)
+   * for details over the differences between `_.throttle` and `_.debounce`.
+   *
+   * @static
+   * @memberOf _
+   * @category Function
+   * @param {Function} func The function to throttle.
+   * @param {number} [wait=0] The number of milliseconds to throttle invocations to.
+   * @param {Object} [options] The options object.
+   * @param {boolean} [options.leading=true] Specify invoking on the leading
+   *  edge of the timeout.
+   * @param {boolean} [options.trailing=true] Specify invoking on the trailing
+   *  edge of the timeout.
+   * @returns {Function} Returns the new throttled function.
+   * @example
+   *
+   * // avoid excessively updating the position while scrolling
+   * jQuery(window).on('scroll', _.throttle(updatePosition, 100));
+   *
+   * // invoke `renewToken` when the click event is fired, but not more than once every 5 minutes
+   * jQuery('.interactive').on('click', _.throttle(renewToken, 300000, {
+   *   'trailing': false
+   * }));
+   *
+   * // cancel a trailing throttled call
+   * jQuery(window).on('popstate', throttled.cancel);
+   */
+  function throttle(func, wait, options) {
+    var leading = true,
+        trailing = true;
+
+    if (typeof func != 'function') {
+      throw new TypeError(FUNC_ERROR_TEXT);
     }
-    // in Narwhal or RingoJS v0.7.0-
-    else {
-      freeExports._ = lodash;
+    if (options === false) {
+      leading = false;
+    } else if (isObject(options)) {
+      leading = 'leading' in options ? !!options.leading : leading;
+      trailing = 'trailing' in options ? !!options.trailing : trailing;
     }
+    debounceOptions.leading = leading;
+    debounceOptions.maxWait = +wait;
+    debounceOptions.trailing = trailing;
+    return debounce(func, wait, debounceOptions);
   }
-  else {
-    // in a browser or Rhino
-    window._ = lodash;
-  }
-}(this));
-(function(e){if("function"==typeof bootstrap)bootstrap("osmauth",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeOsmAuth=e}else"undefined"!=typeof window?window.osmAuth=e():global.osmAuth=e()})(function(){var define,ses,bootstrap,module,exports;
-return (function(e,t,n){function r(n,i){if(!t[n]){if(!e[n]){var s=typeof require=="function"&&require;if(!i&&s)return s(n,!0);throw new Error("Cannot find module '"+n+"'")}var o=t[n]={exports:{}};e[n][0](function(t){var i=e[n][1][t];return r(i?i:t)},o,o.exports)}return t[n].exports}for(var i=0;i<n.length;i++)r(n[i]);return r})({1:[function(require,module,exports){
-var ohauth = require('ohauth'),
-    store = require('store');
 
-// # osm-auth
-//
-// This code is only compatible with IE10+ because the [XDomainRequest](http://bit.ly/LfO7xo)
-// object, IE<10's idea of [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing),
-// does not support custom headers, which this uses everywhere.
-module.exports = function(keys, o) {
+  /*------------------------------------------------------------------------*/
 
-    var oauth = {};
+  /**
+   * Creates a clone of `value`. If `isDeep` is `true` nested objects are cloned,
+   * otherwise they are assigned by reference. If `customizer` is provided it is
+   * invoked to produce the cloned values. If `customizer` returns `undefined`
+   * cloning is handled by the method instead. The `customizer` is bound to
+   * `thisArg` and invoked with two argument; (value [, index|key, object]).
+   *
+   * **Note:** This method is loosely based on the
+   * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
+   * The enumerable properties of `arguments` objects and objects created by
+   * constructors other than `Object` are cloned to plain `Object` objects. An
+   * empty object is returned for uncloneable values such as functions, DOM nodes,
+   * Maps, Sets, and WeakMaps.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to clone.
+   * @param {boolean} [isDeep] Specify a deep clone.
+   * @param {Function} [customizer] The function to customize cloning values.
+   * @param {*} [thisArg] The `this` binding of `customizer`.
+   * @returns {*} Returns the cloned value.
+   * @example
+   *
+   * var users = [
+   *   { 'user': 'barney' },
+   *   { 'user': 'fred' }
+   * ];
+   *
+   * var shallow = _.clone(users);
+   * shallow[0] === users[0];
+   * // => true
+   *
+   * var deep = _.clone(users, true);
+   * deep[0] === users[0];
+   * // => false
+   *
+   * // using a customizer callback
+   * var el = _.clone(document.body, function(value) {
+   *   if (_.isElement(value)) {
+   *     return value.cloneNode(false);
+   *   }
+   * });
+   *
+   * el === document.body
+   * // => false
+   * el.nodeName
+   * // => BODY
+   * el.childNodes.length;
+   * // => 0
+   */
+  function clone(value, isDeep, customizer, thisArg) {
+    if (isDeep && typeof isDeep != 'boolean' && isIterateeCall(value, isDeep, customizer)) {
+      isDeep = false;
+    }
+    else if (typeof isDeep == 'function') {
+      thisArg = customizer;
+      customizer = isDeep;
+      isDeep = false;
+    }
+    return typeof customizer == 'function'
+      ? baseClone(value, isDeep, bindCallback(customizer, thisArg, 1))
+      : baseClone(value, isDeep);
+  }
 
-    // keys is for keys. for example,
-    //
-    //     { "http://www.openstreetmap.org/": {
-    //         oauth_secret: '9WfJnwQxDvvYagx1Ut0tZBsOZ0ZCzAvOje3u1TV0',
-    //         oauth_consumer_key: "WLwXbm6XFMG7WrVnE8enIF6GzyefYIN6oUJSxG65"
-    //     } }
-    o = o || {};
-    o.url = o.url || 'http://www.openstreetmap.org';
-
-    // Optional loading and loading-done functions for nice UI feedback.
-    // by default, no-ops
-    o.loading = o.loading || function() {};
-    o.done = o.done || function() {};
+  /**
+   * Creates a deep clone of `value`. If `customizer` is provided it is invoked
+   * to produce the cloned values. If `customizer` returns `undefined` cloning
+   * is handled by the method instead. The `customizer` is bound to `thisArg`
+   * and invoked with two argument; (value [, index|key, object]).
+   *
+   * **Note:** This method is loosely based on the
+   * [structured clone algorithm](http://www.w3.org/TR/html5/infrastructure.html#internal-structured-cloning-algorithm).
+   * The enumerable properties of `arguments` objects and objects created by
+   * constructors other than `Object` are cloned to plain `Object` objects. An
+   * empty object is returned for uncloneable values such as functions, DOM nodes,
+   * Maps, Sets, and WeakMaps.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to deep clone.
+   * @param {Function} [customizer] The function to customize cloning values.
+   * @param {*} [thisArg] The `this` binding of `customizer`.
+   * @returns {*} Returns the deep cloned value.
+   * @example
+   *
+   * var users = [
+   *   { 'user': 'barney' },
+   *   { 'user': 'fred' }
+   * ];
+   *
+   * var deep = _.cloneDeep(users);
+   * deep[0] === users[0];
+   * // => false
+   *
+   * // using a customizer callback
+   * var el = _.cloneDeep(document.body, function(value) {
+   *   if (_.isElement(value)) {
+   *     return value.cloneNode(true);
+   *   }
+   * });
+   *
+   * el === document.body
+   * // => false
+   * el.nodeName
+   * // => BODY
+   * el.childNodes.length;
+   * // => 20
+   */
+  function cloneDeep(value, customizer, thisArg) {
+    return typeof customizer == 'function'
+      ? baseClone(value, true, bindCallback(customizer, thisArg, 1))
+      : baseClone(value, true);
+  }
 
-    // authenticated users will also have a request token secret, but it's
-    // not used in transactions with the server
-    oauth.authenticated = function() {
-        return !!(token('oauth_token') && token('oauth_token_secret'));
+  /**
+   * Checks if `value` is classified as an `arguments` object.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+   * @example
+   *
+   * _.isArguments(function() { return arguments; }());
+   * // => true
+   *
+   * _.isArguments([1, 2, 3]);
+   * // => false
+   */
+  function isArguments(value) {
+    return isObjectLike(value) && isArrayLike(value) && objToString.call(value) == argsTag;
+  }
+  // Fallback for environments without a `toStringTag` for `arguments` objects.
+  if (!support.argsTag) {
+    isArguments = function(value) {
+      return isObjectLike(value) && isArrayLike(value) &&
+        hasOwnProperty.call(value, 'callee') && !propertyIsEnumerable.call(value, 'callee');
     };
+  }
 
-    oauth.logout = function() {
-        token('oauth_token', '');
-        token('oauth_token_secret', '');
-        token('oauth_request_token_secret', '');
-        return oauth;
-    };
+  /**
+   * Checks if `value` is classified as an `Array` object.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+   * @example
+   *
+   * _.isArray([1, 2, 3]);
+   * // => true
+   *
+   * _.isArray(function() { return arguments; }());
+   * // => false
+   */
+  var isArray = nativeIsArray || function(value) {
+    return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;
+  };
 
-    // TODO: detect lack of click event
-    oauth.authenticate = function(callback) {
-        if (oauth.authenticated()) return callback();
+  /**
+   * Checks if `value` is empty. A value is considered empty unless it is an
+   * `arguments` object, array, string, or jQuery-like collection with a length
+   * greater than `0` or an object with own enumerable properties.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {Array|Object|string} value The value to inspect.
+   * @returns {boolean} Returns `true` if `value` is empty, else `false`.
+   * @example
+   *
+   * _.isEmpty(null);
+   * // => true
+   *
+   * _.isEmpty(true);
+   * // => true
+   *
+   * _.isEmpty(1);
+   * // => true
+   *
+   * _.isEmpty([1, 2, 3]);
+   * // => false
+   *
+   * _.isEmpty({ 'a': 1 });
+   * // => false
+   */
+  function isEmpty(value) {
+    if (value == null) {
+      return true;
+    }
+    if (isArrayLike(value) && (isArray(value) || isString(value) || isArguments(value) ||
+        (isObjectLike(value) && isFunction(value.splice)))) {
+      return !value.length;
+    }
+    return !keys(value).length;
+  }
 
-        oauth.logout();
+  /**
+   * Performs a deep comparison between two values to determine if they are
+   * equivalent. If `customizer` is provided it is invoked to compare values.
+   * If `customizer` returns `undefined` comparisons are handled by the method
+   * instead. The `customizer` is bound to `thisArg` and invoked with three
+   * arguments: (value, other [, index|key]).
+   *
+   * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+   * numbers, `Object` objects, regexes, and strings. Objects are compared by
+   * their own, not inherited, enumerable properties. Functions and DOM nodes
+   * are **not** supported. Provide a customizer function to extend support
+   * for comparing other values.
+   *
+   * @static
+   * @memberOf _
+   * @alias eq
+   * @category Lang
+   * @param {*} value The value to compare.
+   * @param {*} other The other value to compare.
+   * @param {Function} [customizer] The function to customize value comparisons.
+   * @param {*} [thisArg] The `this` binding of `customizer`.
+   * @returns {boolean} Returns `true` if the values are equivalent, else `false`.
+   * @example
+   *
+   * var object = { 'user': 'fred' };
+   * var other = { 'user': 'fred' };
+   *
+   * object == other;
+   * // => false
+   *
+   * _.isEqual(object, other);
+   * // => true
+   *
+   * // using a customizer callback
+   * var array = ['hello', 'goodbye'];
+   * var other = ['hi', 'goodbye'];
+   *
+   * _.isEqual(array, other, function(value, other) {
+   *   if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {
+   *     return true;
+   *   }
+   * });
+   * // => true
+   */
+  function isEqual(value, other, customizer, thisArg) {
+    customizer = typeof customizer == 'function' ? bindCallback(customizer, thisArg, 3) : undefined;
+    var result = customizer ? customizer(value, other) : undefined;
+    return  result === undefined ? baseIsEqual(value, other, customizer) : !!result;
+  }
 
-        // ## Getting a request token
-        var params = timenonce(getAuth(o)),
-            url = o.url + '/oauth/request_token';
+  /**
+   * Checks if `value` is classified as a `Function` object.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+   * @example
+   *
+   * _.isFunction(_);
+   * // => true
+   *
+   * _.isFunction(/abc/);
+   * // => false
+   */
+  var isFunction = !(baseIsFunction(/x/) || (Uint8Array && !baseIsFunction(Uint8Array))) ? baseIsFunction : function(value) {
+    // The use of `Object#toString` avoids issues with the `typeof` operator
+    // in older versions of Chrome and Safari which return 'function' for regexes
+    // and Safari 8 equivalents which return 'object' for typed array constructors.
+    return objToString.call(value) == funcTag;
+  };
 
-        params.oauth_signature = ohauth.signature(
-            keys[o.url].oauth_secret, '',
-            ohauth.baseString('POST', url, params));
+  /**
+   * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.
+   * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is an object, else `false`.
+   * @example
+   *
+   * _.isObject({});
+   * // => true
+   *
+   * _.isObject([1, 2, 3]);
+   * // => true
+   *
+   * _.isObject(1);
+   * // => false
+   */
+  function isObject(value) {
+    // Avoid a V8 JIT bug in Chrome 19-20.
+    // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.
+    var type = typeof value;
+    return !!value && (type == 'object' || type == 'function');
+  }
 
-        // Create a 600x550 popup window in the center of the screen
-        var w = 600, h = 550,
-            settings = [
-                ['width', w], ['height', h],
-                ['left', screen.width / 2 - w / 2],
-                ['top', screen.height / 2 - h / 2]].map(function(x) {
-                    return x.join('=');
-                }).join(','),
-            popup = window.open('about:blank', 'oauth_window', settings);
+  /**
+   * Checks if `value` is a native function.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is a native function, else `false`.
+   * @example
+   *
+   * _.isNative(Array.prototype.push);
+   * // => true
+   *
+   * _.isNative(_);
+   * // => false
+   */
+  function isNative(value) {
+    if (value == null) {
+      return false;
+    }
+    if (objToString.call(value) == funcTag) {
+      return reIsNative.test(fnToString.call(value));
+    }
+    return isObjectLike(value) && (isHostObject(value) ? reIsNative : reIsHostCtor).test(value);
+  }
 
-        // Request a request token. When this is complete, the popup
-        // window is redirected to OSM's authorization page.
-        ohauth.xhr('POST', url, params, null, {}, reqTokenDone);
-        o.loading();
+  /**
+   * Checks if `value` is a plain object, that is, an object created by the
+   * `Object` constructor or one with a `[[Prototype]]` of `null`.
+   *
+   * **Note:** This method assumes objects created by the `Object` constructor
+   * have no inherited enumerable properties.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
+   * @example
+   *
+   * function Foo() {
+   *   this.a = 1;
+   * }
+   *
+   * _.isPlainObject(new Foo);
+   * // => false
+   *
+   * _.isPlainObject([1, 2, 3]);
+   * // => false
+   *
+   * _.isPlainObject({ 'x': 0, 'y': 0 });
+   * // => true
+   *
+   * _.isPlainObject(Object.create(null));
+   * // => true
+   */
+  var isPlainObject = !getPrototypeOf ? shimIsPlainObject : function(value) {
+    if (!(value && objToString.call(value) == objectTag) || (!lodash.support.argsTag && isArguments(value))) {
+      return false;
+    }
+    var valueOf = getNative(value, 'valueOf'),
+        objProto = valueOf && (objProto = getPrototypeOf(valueOf)) && getPrototypeOf(objProto);
 
-        function reqTokenDone(err, xhr) {
-            o.done();
-            if (err) return callback(err);
-            var resp = ohauth.stringQs(xhr.response);
-            token('oauth_request_token_secret', resp.oauth_token_secret);
-            popup.location = o.url + '/oauth/authorize?' + ohauth.qsString({
-                oauth_token: resp.oauth_token,
-                oauth_callback: location.href.replace('index.html', '')
-                    .replace(/#.+/, '') + 'land.html'
-            });
-        }
+    return objProto
+      ? (value == objProto || getPrototypeOf(value) == objProto)
+      : shimIsPlainObject(value);
+  };
 
-        // Called by a function in `land.html`, in the popup window. The
-        // window closes itself.
-        window.authComplete = function(token) {
-            var oauth_token = ohauth.stringQs(token.split('?')[1]);
-            get_access_token(oauth_token.oauth_token);
-            delete window.authComplete;
-        };
+  /**
+   * Checks if `value` is classified as a `String` primitive or object.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+   * @example
+   *
+   * _.isString('abc');
+   * // => true
+   *
+   * _.isString(1);
+   * // => false
+   */
+  function isString(value) {
+    return typeof value == 'string' || (isObjectLike(value) && objToString.call(value) == stringTag);
+  }
 
-        // ## Getting an request token
-        //
-        // At this point we have an `oauth_token`, brought in from a function
-        // call on the `landing.html` popup.
-        function get_access_token(oauth_token) {
-            var url = o.url + '/oauth/access_token',
-                params = timenonce(getAuth(o)),
-                request_token_secret = token('oauth_request_token_secret');
-            params.oauth_token = oauth_token;
-            params.oauth_signature = ohauth.signature(
-                keys[o.url].oauth_secret,
-                request_token_secret,
-                ohauth.baseString('POST', url, params));
+  /**
+   * Checks if `value` is classified as a typed array.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to check.
+   * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.
+   * @example
+   *
+   * _.isTypedArray(new Uint8Array);
+   * // => true
+   *
+   * _.isTypedArray([]);
+   * // => false
+   */
+  function isTypedArray(value) {
+    return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[objToString.call(value)];
+  }
 
-            // ## Getting an access token
-            //
-            // The final token required for authentication. At this point
-            // we have a `request token secret`
-            ohauth.xhr('POST', url, params, null, {}, accessTokenDone);
-            o.loading();
-        }
+  /**
+   * Converts `value` to a plain object flattening inherited enumerable
+   * properties of `value` to own properties of the plain object.
+   *
+   * @static
+   * @memberOf _
+   * @category Lang
+   * @param {*} value The value to convert.
+   * @returns {Object} Returns the converted plain object.
+   * @example
+   *
+   * function Foo() {
+   *   this.b = 2;
+   * }
+   *
+   * Foo.prototype.c = 3;
+   *
+   * _.assign({ 'a': 1 }, new Foo);
+   * // => { 'a': 1, 'b': 2 }
+   *
+   * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));
+   * // => { 'a': 1, 'b': 2, 'c': 3 }
+   */
+  function toPlainObject(value) {
+    return baseCopy(value, keysIn(value));
+  }
 
-        function accessTokenDone(err, xhr) {
-            o.done();
-            if (err) return callback(err);
-            var access_token = ohauth.stringQs(xhr.response);
-            token('oauth_token', access_token.oauth_token);
-            token('oauth_token_secret', access_token.oauth_token_secret);
-            callback(null, oauth);
-        }
-    };
+  /*------------------------------------------------------------------------*/
 
-    // # xhr
-    //
-    // A single XMLHttpRequest wrapper that does authenticated calls if the
-    // user has logged in.
-    oauth.xhr = function(options, callback) {
-        if (!oauth.authenticated()) {
-            if (o.auto) return oauth.authenticate(run);
-            else return callback('not authenticated', null);
-        } else return run();
-
-        function run() {
-            var params = timenonce(getAuth(o)),
-                url = o.url + options.path,
-                oauth_token_secret = token('oauth_token_secret');
-
-            params.oauth_token = token('oauth_token');
-            params.oauth_signature = ohauth.signature(
-                keys[o.url].oauth_secret,
-                oauth_token_secret,
-                ohauth.baseString(options.method, url, params));
-
-            ohauth.xhr(options.method,
-                url, params, options.content, options.options, done);
-        }
-
-        function done(err, xhr) {
-            if (err) return callback(err);
-            else if (xhr.responseXML) return callback(err, xhr.responseXML);
-            else return callback(err, xhr.response);
-        }
-    };
-
-    // Reset the base URL that this OAuth connection points to
-    oauth.url = function(_) {
-        if (!arguments.length) return o.url;
-        o.url = _;
-        return oauth;
-    };
-
-    // pre-authorize this object, if we can just get a token and token_secret
-    // from the start
-    oauth.preauth = function(_) {
-        var c = _[o.url];
-        if (!c) return;
-        if (c.oauth_token) token('oauth_token', c.oauth_token);
-        if (c.oauth_token_secret) token('oauth_token_secret', c.oauth_token_secret);
-        return oauth;
-    };
+  /**
+   * Assigns own enumerable properties of source object(s) to the destination
+   * object. Subsequent sources overwrite property assignments of previous sources.
+   * If `customizer` is provided it is invoked to produce the assigned values.
+   * The `customizer` is bound to `thisArg` and invoked with five arguments:
+   * (objectValue, sourceValue, key, object, source).
+   *
+   * **Note:** This method mutates `object` and is based on
+   * [`Object.assign`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign).
+   *
+   * @static
+   * @memberOf _
+   * @alias extend
+   * @category Object
+   * @param {Object} object The destination object.
+   * @param {...Object} [sources] The source objects.
+   * @param {Function} [customizer] The function to customize assigned values.
+   * @param {*} [thisArg] The `this` binding of `customizer`.
+   * @returns {Object} Returns `object`.
+   * @example
+   *
+   * _.assign({ 'user': 'barney' }, { 'age': 40 }, { 'user': 'fred' });
+   * // => { 'user': 'fred', 'age': 40 }
+   *
+   * // using a customizer callback
+   * var defaults = _.partialRight(_.assign, function(value, other) {
+   *   return _.isUndefined(value) ? other : value;
+   * });
+   *
+   * defaults({ 'user': 'barney' }, { 'age': 36 }, { 'user': 'fred' });
+   * // => { 'user': 'barney', 'age': 36 }
+   */
+  var assign = createAssigner(function(object, source, customizer) {
+    return customizer
+      ? assignWith(object, source, customizer)
+      : baseAssign(object, source);
+  });
 
-    // Reset the base URL that this OAuth connection points to
-    oauth.keys = function(_) {
-        if (!arguments.length) return keys;
-        keys = _;
-        return oauth.preauth(keys);
-    };
+  /**
+   * Iterates over own enumerable properties of an object invoking `iteratee`
+   * for each property. The `iteratee` is bound to `thisArg` and invoked with
+   * three arguments: (value, key, object). Iteratee functions may exit iteration
+   * early by explicitly returning `false`.
+   *
+   * @static
+   * @memberOf _
+   * @category Object
+   * @param {Object} object The object to iterate over.
+   * @param {Function} [iteratee=_.identity] The function invoked per iteration.
+   * @param {*} [thisArg] The `this` binding of `iteratee`.
+   * @returns {Object} Returns `object`.
+   * @example
+   *
+   * function Foo() {
+   *   this.a = 1;
+   *   this.b = 2;
+   * }
+   *
+   * Foo.prototype.c = 3;
+   *
+   * _.forOwn(new Foo, function(value, key) {
+   *   console.log(key);
+   * });
+   * // => logs 'a' and 'b' (iteration order is not guaranteed)
+   */
+  var forOwn = createForOwn(baseForOwn);
 
-    // 'stamp' an authentication object from `getAuth()`
-    // with a [nonce](http://en.wikipedia.org/wiki/Cryptographic_nonce)
-    // and timestamp
-    function timenonce(o) {
-        o.oauth_timestamp = ohauth.timestamp();
-        o.oauth_nonce = ohauth.nonce();
-        return o;
+  /**
+   * Creates an array of the own enumerable property names of `object`.
+   *
+   * **Note:** Non-object values are coerced to objects. See the
+   * [ES spec](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.keys)
+   * for more details.
+   *
+   * @static
+   * @memberOf _
+   * @category Object
+   * @param {Object} object The object to query.
+   * @returns {Array} Returns the array of property names.
+   * @example
+   *
+   * function Foo() {
+   *   this.a = 1;
+   *   this.b = 2;
+   * }
+   *
+   * Foo.prototype.c = 3;
+   *
+   * _.keys(new Foo);
+   * // => ['a', 'b'] (iteration order is not guaranteed)
+   *
+   * _.keys('hi');
+   * // => ['0', '1']
+   */
+  var keys = !nativeKeys ? shimKeys : function(object) {
+    var Ctor = object == null ? null : object.constructor;
+    if ((typeof Ctor == 'function' && Ctor.prototype === object) ||
+        (typeof object == 'function' ? lodash.support.enumPrototypes : isArrayLike(object))) {
+      return shimKeys(object);
     }
+    return isObject(object) ? nativeKeys(object) : [];
+  };
 
-    // get/set tokens. These are prefixed with the base URL so that `osm-auth`
-    // can be used with multiple APIs and the keys in `localStorage`
-    // will not clash
-    function token(x, y) {
-        if (arguments.length === 1) return store.get(o.url + x);
-        else if (arguments.length === 2) return store.set(o.url + x, y);
+  /**
+   * Creates an array of the own and inherited enumerable property names of `object`.
+   *
+   * **Note:** Non-object values are coerced to objects.
+   *
+   * @static
+   * @memberOf _
+   * @category Object
+   * @param {Object} object The object to query.
+   * @returns {Array} Returns the array of property names.
+   * @example
+   *
+   * function Foo() {
+   *   this.a = 1;
+   *   this.b = 2;
+   * }
+   *
+   * Foo.prototype.c = 3;
+   *
+   * _.keysIn(new Foo);
+   * // => ['a', 'b', 'c'] (iteration order is not guaranteed)
+   */
+  function keysIn(object) {
+    if (object == null) {
+      return [];
     }
-
-    // Get an authentication object. If you just add and remove properties
-    // from a single object, you'll need to use `delete` to make sure that
-    // it doesn't contain undesired properties for authentication
-    function getAuth(o) {
-        return {
-            oauth_consumer_key: keys[o.url].oauth_consumer_key,
-            oauth_signature_method: "HMAC-SHA1"
-        };
+    if (!isObject(object)) {
+      object = Object(object);
     }
+    var length = object.length,
+        support = lodash.support;
 
-    // potentially pre-authorize
-    oauth.keys(keys);
+    length = (length && isLength(length) &&
+      (isArray(object) || isArguments(object) || isString(object)) && length) || 0;
 
-    return oauth;
-};
+    var Ctor = object.constructor,
+        index = -1,
+        proto = (isFunction(Ctor) && Ctor.prototype) || objectProto,
+        isProto = proto === object,
+        result = Array(length),
+        skipIndexes = length > 0,
+        skipErrorProps = support.enumErrorProps && (object === errorProto || object instanceof Error),
+        skipProto = support.enumPrototypes && isFunction(object);
 
-},{"ohauth":2,"store":3}],3:[function(require,module,exports){
-/* Copyright (c) 2010-2012 Marcus Westin
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
+    while (++index < length) {
+      result[index] = (index + '');
+    }
+    // lodash skips the `constructor` property when it infers it is iterating
+    // over a `prototype` object because IE < 9 can't set the `[[Enumerable]]`
+    // attribute of an existing property and the `constructor` property of a
+    // prototype defaults to non-enumerable.
+    for (var key in object) {
+      if (!(skipProto && key == 'prototype') &&
+          !(skipErrorProps && (key == 'message' || key == 'name')) &&
+          !(skipIndexes && isIndex(key, length)) &&
+          !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {
+        result.push(key);
+      }
+    }
+    if (support.nonEnumShadows && object !== objectProto) {
+      var tag = object === stringProto ? stringTag : (object === errorProto ? errorTag : objToString.call(object)),
+          nonEnums = nonEnumProps[tag] || nonEnumProps[objectTag];
 
-;(function(){
-       var store = {},
-               win = window,
-               doc = win.document,
-               localStorageName = 'localStorage',
-               namespace = '__storejs__',
-               storage
+      if (tag == objectTag) {
+        proto = objectProto;
+      }
+      length = shadowProps.length;
+      while (length--) {
+        key = shadowProps[length];
+        var nonEnum = nonEnums[key];
+        if (!(isProto && nonEnum) &&
+            (nonEnum ? hasOwnProperty.call(object, key) : object[key] !== proto[key])) {
+          result.push(key);
+        }
+      }
+    }
+    return result;
+  }
 
-       store.disabled = false
-       store.set = function(key, value) {}
-       store.get = function(key) {}
-       store.remove = function(key) {}
-       store.clear = function() {}
-       store.transact = function(key, defaultVal, transactionFn) {
-               var val = store.get(key)
-               if (transactionFn == null) {
-                       transactionFn = defaultVal
-                       defaultVal = null
-               }
-               if (typeof val == 'undefined') { val = defaultVal || {} }
-               transactionFn(val)
-               store.set(key, val)
-       }
-       store.getAll = function() {}
+  /**
+   * Recursively merges own enumerable properties of the source object(s), that
+   * don't resolve to `undefined` into the destination object. Subsequent sources
+   * overwrite property assignments of previous sources. If `customizer` is
+   * provided it is invoked to produce the merged values of the destination and
+   * source properties. If `customizer` returns `undefined` merging is handled
+   * by the method instead. The `customizer` is bound to `thisArg` and invoked
+   * with five arguments: (objectValue, sourceValue, key, object, source).
+   *
+   * @static
+   * @memberOf _
+   * @category Object
+   * @param {Object} object The destination object.
+   * @param {...Object} [sources] The source objects.
+   * @param {Function} [customizer] The function to customize assigned values.
+   * @param {*} [thisArg] The `this` binding of `customizer`.
+   * @returns {Object} Returns `object`.
+   * @example
+   *
+   * var users = {
+   *   'data': [{ 'user': 'barney' }, { 'user': 'fred' }]
+   * };
+   *
+   * var ages = {
+   *   'data': [{ 'age': 36 }, { 'age': 40 }]
+   * };
+   *
+   * _.merge(users, ages);
+   * // => { 'data': [{ 'user': 'barney', 'age': 36 }, { 'user': 'fred', 'age': 40 }] }
+   *
+   * // using a customizer callback
+   * var object = {
+   *   'fruits': ['apple'],
+   *   'vegetables': ['beet']
+   * };
+   *
+   * var other = {
+   *   'fruits': ['banana'],
+   *   'vegetables': ['carrot']
+   * };
+   *
+   * _.merge(object, other, function(a, b) {
+   *   if (_.isArray(a)) {
+   *     return a.concat(b);
+   *   }
+   * });
+   * // => { 'fruits': ['apple', 'banana'], 'vegetables': ['beet', 'carrot'] }
+   */
+  var merge = createAssigner(baseMerge);
 
-       store.serialize = function(value) {
-               return JSON.stringify(value)
-       }
-       store.deserialize = function(value) {
-               if (typeof value != 'string') { return undefined }
-               try { return JSON.parse(value) }
-               catch(e) { return value || undefined }
-       }
+  /**
+   * The opposite of `_.pick`; this method creates an object composed of the
+   * own and inherited enumerable properties of `object` that are not omitted.
+   *
+   * @static
+   * @memberOf _
+   * @category Object
+   * @param {Object} object The source object.
+   * @param {Function|...(string|string[])} [predicate] The function invoked per
+   *  iteration or property names to omit, specified as individual property
+   *  names or arrays of property names.
+   * @param {*} [thisArg] The `this` binding of `predicate`.
+   * @returns {Object} Returns the new object.
+   * @example
+   *
+   * var object = { 'user': 'fred', 'age': 40 };
+   *
+   * _.omit(object, 'age');
+   * // => { 'user': 'fred' }
+   *
+   * _.omit(object, _.isNumber);
+   * // => { 'user': 'fred' }
+   */
+  var omit = restParam(function(object, props) {
+    if (object == null) {
+      return {};
+    }
+    if (typeof props[0] != 'function') {
+      var props = arrayMap(baseFlatten(props), String);
+      return pickByArray(object, baseDifference(keysIn(object), props));
+    }
+    var predicate = bindCallback(props[0], props[1], 3);
+    return pickByCallback(object, function(value, key, object) {
+      return !predicate(value, key, object);
+    });
+  });
 
-       // Functions to encapsulate questionable FireFox 3.6.13 behavior
-       // when about.config::dom.storage.enabled === false
-       // See https://github.com/marcuswestin/store.js/issues#issue/13
-       function isLocalStorageNameSupported() {
-               try { return (localStorageName in win && win[localStorageName]) }
-               catch(err) { return false }
-       }
+  /**
+   * Creates a two dimensional array of the key-value pairs for `object`,
+   * e.g. `[[key1, value1], [key2, value2]]`.
+   *
+   * @static
+   * @memberOf _
+   * @category Object
+   * @param {Object} object The object to query.
+   * @returns {Array} Returns the new array of key-value pairs.
+   * @example
+   *
+   * _.pairs({ 'barney': 36, 'fred': 40 });
+   * // => [['barney', 36], ['fred', 40]] (iteration order is not guaranteed)
+   */
+  function pairs(object) {
+    object = toObject(object);
 
-       if (isLocalStorageNameSupported()) {
-               storage = win[localStorageName]
-               store.set = function(key, val) {
-                       if (val === undefined) { return store.remove(key) }
-                       storage.setItem(key, store.serialize(val))
-                       return val
-               }
-               store.get = function(key) { return store.deserialize(storage.getItem(key)) }
-               store.remove = function(key) { storage.removeItem(key) }
-               store.clear = function() { storage.clear() }
-               store.getAll = function() {
-                       var ret = {}
-                       for (var i=0; i<storage.length; ++i) {
-                               var key = storage.key(i)
-                               ret[key] = store.get(key)
-                       }
-                       return ret
-               }
-       } else if (doc.documentElement.addBehavior) {
-               var storageOwner,
-                       storageContainer
-               // Since #userData storage applies only to specific paths, we need to
-               // somehow link our data to a specific path.  We choose /favicon.ico
-               // as a pretty safe option, since all browsers already make a request to
-               // this URL anyway and being a 404 will not hurt us here.  We wrap an
-               // iframe pointing to the favicon in an ActiveXObject(htmlfile) object
-               // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
-               // since the iframe access rules appear to allow direct access and
-               // manipulation of the document element, even for a 404 page.  This
-               // document can be used instead of the current document (which would
-               // have been limited to the current path) to perform #userData storage.
-               try {
-                       storageContainer = new ActiveXObject('htmlfile')
-                       storageContainer.open()
-                       storageContainer.write('<s' + 'cript>document.w=window</s' + 'cript><iframe src="/favicon.ico"></frame>')
-                       storageContainer.close()
-                       storageOwner = storageContainer.w.frames[0].document
-                       storage = storageOwner.createElement('div')
-               } catch(e) {
-                       // somehow ActiveXObject instantiation failed (perhaps some special
-                       // security settings or otherwse), fall back to per-path storage
-                       storage = doc.createElement('div')
-                       storageOwner = doc.body
-               }
-               function withIEStorage(storeFunction) {
-                       return function() {
-                               var args = Array.prototype.slice.call(arguments, 0)
-                               args.unshift(storage)
-                               // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
-                               // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
-                               storageOwner.appendChild(storage)
-                               storage.addBehavior('#default#userData')
-                               storage.load(localStorageName)
-                               var result = storeFunction.apply(store, args)
-                               storageOwner.removeChild(storage)
-                               return result
-                       }
-               }
+    var index = -1,
+        props = keys(object),
+        length = props.length,
+        result = Array(length);
 
-               // In IE7, keys may not contain special chars. See all of https://github.com/marcuswestin/store.js/issues/40
-               var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g")
-               function ieKeyFix(key) {
-                       return key.replace(forbiddenCharsRegex, '___')
-               }
-               store.set = withIEStorage(function(storage, key, val) {
-                       key = ieKeyFix(key)
-                       if (val === undefined) { return store.remove(key) }
-                       storage.setAttribute(key, store.serialize(val))
-                       storage.save(localStorageName)
-                       return val
-               })
-               store.get = withIEStorage(function(storage, key) {
-                       key = ieKeyFix(key)
-                       return store.deserialize(storage.getAttribute(key))
-               })
-               store.remove = withIEStorage(function(storage, key) {
-                       key = ieKeyFix(key)
-                       storage.removeAttribute(key)
-                       storage.save(localStorageName)
-               })
-               store.clear = withIEStorage(function(storage) {
-                       var attributes = storage.XMLDocument.documentElement.attributes
-                       storage.load(localStorageName)
-                       for (var i=0, attr; attr=attributes[i]; i++) {
-                               storage.removeAttribute(attr.name)
-                       }
-                       storage.save(localStorageName)
-               })
-               store.getAll = withIEStorage(function(storage) {
-                       var attributes = storage.XMLDocument.documentElement.attributes
-                       storage.load(localStorageName)
-                       var ret = {}
-                       for (var i=0, attr; attr=attributes[i]; ++i) {
-                               ret[attr] = store.get(attr)
-                       }
-                       return ret
-               })
-       }
+    while (++index < length) {
+      var key = props[index];
+      result[index] = [key, object[key]];
+    }
+    return result;
+  }
 
-       try {
-               store.set(namespace, namespace)
-               if (store.get(namespace) != namespace) { store.disabled = true }
-               store.remove(namespace)
-       } catch(e) {
-               store.disabled = true
-       }
-       store.enabled = !store.disabled
+  /**
+   * Creates an object composed of the picked `object` properties. Property
+   * names may be specified as individual arguments or as arrays of property
+   * names. If `predicate` is provided it is invoked for each property of `object`
+   * picking the properties `predicate` returns truthy for. The predicate is
+   * bound to `thisArg` and invoked with three arguments: (value, key, object).
+   *
+   * @static
+   * @memberOf _
+   * @category Object
+   * @param {Object} object The source object.
+   * @param {Function|...(string|string[])} [predicate] The function invoked per
+   *  iteration or property names to pick, specified as individual property
+   *  names or arrays of property names.
+   * @param {*} [thisArg] The `this` binding of `predicate`.
+   * @returns {Object} Returns the new object.
+   * @example
+   *
+   * var object = { 'user': 'fred', 'age': 40 };
+   *
+   * _.pick(object, 'user');
+   * // => { 'user': 'fred' }
+   *
+   * _.pick(object, _.isString);
+   * // => { 'user': 'fred' }
+   */
+  var pick = restParam(function(object, props) {
+    if (object == null) {
+      return {};
+    }
+    return typeof props[0] == 'function'
+      ? pickByCallback(object, bindCallback(props[0], props[1], 3))
+      : pickByArray(object, baseFlatten(props));
+  });
 
-       if (typeof module != 'undefined' && typeof module != 'function') { module.exports = store }
-       else if (typeof define === 'function' && define.amd) { define(store) }
-       else { this.store = store }
-})();
+  /**
+   * Creates an array of the own enumerable property values of `object`.
+   *
+   * **Note:** Non-object values are coerced to objects.
+   *
+   * @static
+   * @memberOf _
+   * @category Object
+   * @param {Object} object The object to query.
+   * @returns {Array} Returns the array of property values.
+   * @example
+   *
+   * function Foo() {
+   *   this.a = 1;
+   *   this.b = 2;
+   * }
+   *
+   * Foo.prototype.c = 3;
+   *
+   * _.values(new Foo);
+   * // => [1, 2] (iteration order is not guaranteed)
+   *
+   * _.values('hi');
+   * // => ['h', 'i']
+   */
+  function values(object) {
+    return baseValues(object, keys(object));
+  }
 
-},{}],2:[function(require,module,exports){
-var hashes = require('jshashes'),
-    sha1 = new hashes.SHA1();
+  /*------------------------------------------------------------------------*/
 
-var ohauth = {};
+  /**
+   * Escapes the `RegExp` special characters "\", "/", "^", "$", ".", "|", "?",
+   * "*", "+", "(", ")", "[", "]", "{" and "}" in `string`.
+   *
+   * @static
+   * @memberOf _
+   * @category String
+   * @param {string} [string=''] The string to escape.
+   * @returns {string} Returns the escaped string.
+   * @example
+   *
+   * _.escapeRegExp('[lodash](https://lodash.com/)');
+   * // => '\[lodash\]\(https:\/\/lodash\.com\/\)'
+   */
+  function escapeRegExp(string) {
+    string = baseToString(string);
+    return (string && reHasRegExpChars.test(string))
+      ? string.replace(reRegExpChars, '\\$&')
+      : string;
+  }
 
-ohauth.qsString = function(obj) {
-    return Object.keys(obj).sort().map(function(key) {
-        return encodeURIComponent(key) + '=' +
-            encodeURIComponent(obj[key]);
-    }).join('&');
-};
+  /*------------------------------------------------------------------------*/
 
-ohauth.stringQs = function(str) {
-    return str.split('&').reduce(function(obj, pair){
-        var parts = pair.split('=');
-        obj[parts[0]] = (null === parts[1]) ?
-            '' : decodeURIComponent(parts[1]);
-        return obj;
-    }, {});
-};
+  /**
+   * Creates a function that invokes `func` with the `this` binding of `thisArg`
+   * and arguments of the created function. If `func` is a property name the
+   * created callback returns the property value for a given element. If `func`
+   * is an object the created callback returns `true` for elements that contain
+   * the equivalent object properties, otherwise it returns `false`.
+   *
+   * @static
+   * @memberOf _
+   * @alias iteratee
+   * @category Utility
+   * @param {*} [func=_.identity] The value to convert to a callback.
+   * @param {*} [thisArg] The `this` binding of `func`.
+   * @param- {Object} [guard] Enables use as a callback for functions like `_.map`.
+   * @returns {Function} Returns the callback.
+   * @example
+   *
+   * var users = [
+   *   { 'user': 'barney', 'age': 36 },
+   *   { 'user': 'fred',   'age': 40 }
+   * ];
+   *
+   * // wrap to create custom callback shorthands
+   * _.callback = _.wrap(_.callback, function(callback, func, thisArg) {
+   *   var match = /^(.+?)__([gl]t)(.+)$/.exec(func);
+   *   if (!match) {
+   *     return callback(func, thisArg);
+   *   }
+   *   return function(object) {
+   *     return match[2] == 'gt'
+   *       ? object[match[1]] > match[3]
+   *       : object[match[1]] < match[3];
+   *   };
+   * });
+   *
+   * _.filter(users, 'age__gt36');
+   * // => [{ 'user': 'fred', 'age': 40 }]
+   */
+  function callback(func, thisArg, guard) {
+    if (guard && isIterateeCall(func, thisArg, guard)) {
+      thisArg = null;
+    }
+    return isObjectLike(func)
+      ? matches(func)
+      : baseCallback(func, thisArg);
+  }
 
-ohauth.rawxhr = function(method, url, data, headers, callback) {
-    var xhr = new XMLHttpRequest(), twoHundred = /^20\d$/;
-    xhr.onreadystatechange = function() {
-        if (4 == xhr.readyState && 0 !== xhr.status) {
-            if (twoHundred.test(xhr.status)) callback(null, xhr);
-            else return callback(xhr, null);
-        }
+  /**
+   * Creates a function that returns `value`.
+   *
+   * @static
+   * @memberOf _
+   * @category Utility
+   * @param {*} value The value to return from the new function.
+   * @returns {Function} Returns the new function.
+   * @example
+   *
+   * var object = { 'user': 'fred' };
+   * var getter = _.constant(object);
+   *
+   * getter() === object;
+   * // => true
+   */
+  function constant(value) {
+    return function() {
+      return value;
     };
-    xhr.onerror = function(e) { return callback(e, null); };
-    xhr.open(method, url, true);
-    for (var h in headers) xhr.setRequestHeader(h, headers[h]);
-    xhr.send(data);
-};
+  }
 
-ohauth.xhr = function(method, url, auth, data, options, callback) {
-    var headers = (options && options.header) || {
-        'Content-Type': 'application/x-www-form-urlencoded'
-    };
-    headers.Authorization = 'OAuth ' + ohauth.authHeader(auth);
-    ohauth.rawxhr(method, url, data, headers, callback);
-};
+  /**
+   * This method returns the first argument provided to it.
+   *
+   * @static
+   * @memberOf _
+   * @category Utility
+   * @param {*} value Any value.
+   * @returns {*} Returns `value`.
+   * @example
+   *
+   * var object = { 'user': 'fred' };
+   *
+   * _.identity(object) === object;
+   * // => true
+   */
+  function identity(value) {
+    return value;
+  }
 
-ohauth.nonce = function() {
-    for (var o = ''; o.length < 6;) {
-        o += '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'[Math.floor(Math.random() * 61)];
+  /**
+   * Creates a function that performs a deep comparison between a given object
+   * and `source`, returning `true` if the given object has equivalent property
+   * values, else `false`.
+   *
+   * **Note:** This method supports comparing arrays, booleans, `Date` objects,
+   * numbers, `Object` objects, regexes, and strings. Objects are compared by
+   * their own, not inherited, enumerable properties. For comparing a single
+   * own or inherited property value see `_.matchesProperty`.
+   *
+   * @static
+   * @memberOf _
+   * @category Utility
+   * @param {Object} source The object of property values to match.
+   * @returns {Function} Returns the new function.
+   * @example
+   *
+   * var users = [
+   *   { 'user': 'barney', 'age': 36, 'active': true },
+   *   { 'user': 'fred',   'age': 40, 'active': false }
+   * ];
+   *
+   * _.filter(users, _.matches({ 'age': 40, 'active': false }));
+   * // => [{ 'user': 'fred', 'age': 40, 'active': false }]
+   */
+  function matches(source) {
+    return baseMatches(baseClone(source, true));
+  }
+
+  /**
+   * Adds all own enumerable function properties of a source object to the
+   * destination object. If `object` is a function then methods are added to
+   * its prototype as well.
+   *
+   * **Note:** Use `_.runInContext` to create a pristine `lodash` function to
+   * avoid conflicts caused by modifying the original.
+   *
+   * @static
+   * @memberOf _
+   * @category Utility
+   * @param {Function|Object} [object=lodash] The destination object.
+   * @param {Object} source The object of functions to add.
+   * @param {Object} [options] The options object.
+   * @param {boolean} [options.chain=true] Specify whether the functions added
+   *  are chainable.
+   * @returns {Function|Object} Returns `object`.
+   * @example
+   *
+   * function vowels(string) {
+   *   return _.filter(string, function(v) {
+   *     return /[aeiou]/i.test(v);
+   *   });
+   * }
+   *
+   * _.mixin({ 'vowels': vowels });
+   * _.vowels('fred');
+   * // => ['e']
+   *
+   * _('fred').vowels().value();
+   * // => ['e']
+   *
+   * _.mixin({ 'vowels': vowels }, { 'chain': false });
+   * _('fred').vowels();
+   * // => ['e']
+   */
+  function mixin(object, source, options) {
+    if (options == null) {
+      var isObj = isObject(source),
+          props = isObj ? keys(source) : null,
+          methodNames = (props && props.length) ? baseFunctions(source, props) : null;
+
+      if (!(methodNames ? methodNames.length : isObj)) {
+        methodNames = false;
+        options = source;
+        source = object;
+        object = this;
+      }
     }
-    return o;
-};
+    if (!methodNames) {
+      methodNames = baseFunctions(source, keys(source));
+    }
+    var chain = true,
+        index = -1,
+        isFunc = isFunction(object),
+        length = methodNames.length;
 
-ohauth.authHeader = function(obj) {
-    return Object.keys(obj).sort().map(function(key) {
-        return encodeURIComponent(key) + '="' + encodeURIComponent(obj[key]) + '"';
-    }).join(', ');
-};
+    if (options === false) {
+      chain = false;
+    } else if (isObject(options) && 'chain' in options) {
+      chain = options.chain;
+    }
+    while (++index < length) {
+      var methodName = methodNames[index],
+          func = source[methodName];
+
+      object[methodName] = func;
+      if (isFunc) {
+        object.prototype[methodName] = (function(func) {
+          return function() {
+            var chainAll = this.__chain__;
+            if (chain || chainAll) {
+              var result = object(this.__wrapped__),
+                  actions = result.__actions__ = arrayCopy(this.__actions__);
+
+              actions.push({ 'func': func, 'args': arguments, 'thisArg': object });
+              result.__chain__ = chainAll;
+              return result;
+            }
+            var args = [this.value()];
+            push.apply(args, arguments);
+            return func.apply(object, args);
+          };
+        }(func));
+      }
+    }
+    return object;
+  }
 
-ohauth.timestamp = function() { return ~~((+new Date()) / 1000); };
+  /**
+   * A no-operation function that returns `undefined` regardless of the
+   * arguments it receives.
+   *
+   * @static
+   * @memberOf _
+   * @category Utility
+   * @example
+   *
+   * var object = { 'user': 'fred' };
+   *
+   * _.noop(object) === undefined;
+   * // => true
+   */
+  function noop() {
+    // No operation performed.
+  }
 
-ohauth.percentEncode = function(s) {
-    return encodeURIComponent(s)
-        .replace(/\!/g, '%21').replace(/\'/g, '%27')
-        .replace(/\*/g, '%2A').replace(/\(/g, '%28').replace(/\)/g, '%29');
-};
+  /**
+   * Creates a function that returns the property value at `path` on a
+   * given object.
+   *
+   * @static
+   * @memberOf _
+   * @category Utility
+   * @param {Array|string} path The path of the property to get.
+   * @returns {Function} Returns the new function.
+   * @example
+   *
+   * var objects = [
+   *   { 'a': { 'b': { 'c': 2 } } },
+   *   { 'a': { 'b': { 'c': 1 } } }
+   * ];
+   *
+   * _.map(objects, _.property('a.b.c'));
+   * // => [2, 1]
+   *
+   * _.pluck(_.sortBy(objects, _.property(['a', 'b', 'c'])), 'a.b.c');
+   * // => [1, 2]
+   */
+  function property(path) {
+    return isKey(path) ? baseProperty(path) : basePropertyDeep(path);
+  }
 
-ohauth.baseString = function(method, url, params) {
-    if (params.oauth_signature) delete params.oauth_signature;
-    return [
-        method,
-        ohauth.percentEncode(url),
-        ohauth.percentEncode(ohauth.qsString(params))].join('&');
-};
+  /*------------------------------------------------------------------------*/
 
-ohauth.signature = function(oauth_secret, token_secret, baseString) {
-    return sha1.b64_hmac(
-        ohauth.percentEncode(oauth_secret) + '&' +
-        ohauth.percentEncode(token_secret),
-        baseString);
-};
+  // Ensure wrappers are instances of `baseLodash`.
+  lodash.prototype = baseLodash.prototype;
 
-module.exports = ohauth;
+  LodashWrapper.prototype = baseCreate(baseLodash.prototype);
+  LodashWrapper.prototype.constructor = LodashWrapper;
 
-},{"jshashes":4}],4:[function(require,module,exports){
-(function(global){/**\r
- * jsHashes - A fast and independent hashing library pure JavaScript implemented for both server and client side\r
- * \r
- * @class Hashes\r
- * @author Tomas Aparicio <tomas@rijndael-project.com>\r
- * @license New BSD (see LICENSE file)\r
- * @version 1.0.1 - 17/02/2013\r
- *\r
- * Algorithms specification:\r
- *\r
- * MD5 <http://www.ietf.org/rfc/rfc1321.txt>\r
- * RIPEMD-160 <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>\r
- * SHA1 <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>\r
- * SHA256 <http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf>\r
- * SHA512 <http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf>\r
- * HMAC <http://www.ietf.org/rfc/rfc2104.txt>\r
- *\r
- */\r
-(function(){\r
-  var Hashes;\r
-  \r
-  // private helper methods\r
-  function utf8Encode(input) {\r
-    var output = '', i = -1, x, y;\r
-    while (++i < input.length) {\r
-      /* Decode utf-16 surrogate pairs */\r
-      x = input.charCodeAt(i);\r
-      y = i + 1 < input.length ? input.charCodeAt(i + 1) : 0;\r
-      if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) {\r
-          x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);\r
-          i += 1;\r
-      }\r
-      /* Encode output as utf-8 */\r
-      if (x <= 0x7F) {\r
-          output += String.fromCharCode(x);\r
-      } else if (x <= 0x7FF) {\r
-          output += String.fromCharCode(0xC0 | ((x >>> 6 ) & 0x1F),\r
-                      0x80 | ( x & 0x3F));\r
-      } else if (x <= 0xFFFF) {\r
-          output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F),\r
-                      0x80 | ((x >>> 6 ) & 0x3F),\r
-                      0x80 | ( x & 0x3F));\r
-      } else if (x <= 0x1FFFFF) {\r
-          output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07),\r
-                      0x80 | ((x >>> 12) & 0x3F),\r
-                      0x80 | ((x >>> 6 ) & 0x3F),\r
-                      0x80 | ( x & 0x3F));\r
-      }\r
-    }\r
-    return output;\r
-  }\r
-  \r
-  function utf8Decode(str_data) {\r
-    var i, ac, c1, c2, c3, arr = [];\r
-    i = ac = c1 = c2 = c3 = 0;\r
-    str_data += '';\r
-\r
-    while (i < str_data.length) {\r
-        c1 = str_data.charCodeAt(i);\r
-        ac += 1;\r
-        if (c1 < 128) {\r
-            arr[ac] = String.fromCharCode(c1);\r
-            i+=1;\r
-        } else if (c1 > 191 && c1 < 224) {\r
-            c2 = str_data.charCodeAt(i + 1);\r
-            arr[ac] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r
-            i += 2;\r
-        } else {\r
-            c2 = str_data.charCodeAt(i + 1);\r
-            c3 = str_data.charCodeAt(i + 2);\r
-            arr[ac] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r
-            i += 3;\r
-        }\r
-    }\r
-    return arr.join('');\r
-  }\r
-\r
-  /**\r
-   * Add integers, wrapping at 2^32. This uses 16-bit operations internally\r
-   * to work around bugs in some JS interpreters.\r
-   */\r
-  function safe_add(x, y) {\r
-    var lsw = (x & 0xFFFF) + (y & 0xFFFF),\r
-        msw = (x >> 16) + (y >> 16) + (lsw >> 16);\r
-    return (msw << 16) | (lsw & 0xFFFF);\r
-  }\r
-\r
-  /**\r
-   * Bitwise rotate a 32-bit number to the left.\r
-   */\r
-  function bit_rol(num, cnt) {\r
-    return (num << cnt) | (num >>> (32 - cnt));\r
-  }\r
-\r
-  /**\r
-   * Convert a raw string to a hex string\r
-   */\r
-  function rstr2hex(input, hexcase) {\r
-    var hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef',\r
-        output = '', x, i = 0;\r
-    for (; i < input.length; i+=1) {\r
-      x = input.charCodeAt(i);\r
-      output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F);\r
-    }\r
-    return output;\r
-  }\r
-\r
-  /**\r
-   * Encode a string as utf-16\r
-   */\r
-  function str2rstr_utf16le(input) {\r
-    var i = 0, output = '';\r
-    for (; i < input.length; i+=1) {\r
-      output += String.fromCharCode( input.charCodeAt(i) & 0xFF, (input.charCodeAt(i) >>> 8) & 0xFF);\r
-    }\r
-    return output;\r
-  }\r
-\r
-  function str2rstr_utf16be(input) {\r
-    var i = 0, output = '';\r
-    for (; i < input.length; i+=1) {\r
-      output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF, input.charCodeAt(i) & 0xFF);\r
-    }\r
-    return output;\r
-  }\r
-\r
-  /**\r
-   * Convert an array of big-endian words to a string\r
-   */\r
-  function binb2rstr(input) {\r
-    var i = 0, output = '';\r
-    for (;i < input.length * 32; i += 8) {\r
-        output += String.fromCharCode((input[i>>5] >>> (24 - i % 32)) & 0xFF);\r
-    }\r
-    return output;\r
-  }\r
-\r
-  /**\r
-   * Convert an array of little-endian words to a string\r
-   */\r
-  function binl2rstr(input) {\r
-    var i = 0, output = '';\r
-    for (;i < input.length * 32; i += 8) {\r
-      output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF);\r
-    }\r
-    return output;\r
-  }\r
-\r
-  /**\r
-   * Convert a raw string to an array of little-endian words\r
-   * Characters >255 have their high-byte silently ignored.\r
-   */\r
-  function rstr2binl(input) {\r
-    var i, output = Array(input.length >> 2);\r
-    for (i = 0; i < output.length; i+=1) {\r
-      output[i] = 0;\r
-    }\r
-    for (i = 0; i < input.length * 8; i += 8) {\r
-      output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (i%32);\r
-    }\r
-    return output;\r
-  }\r
-  \r
-  /**\r
-   * Convert a raw string to an array of big-endian words \r
-   * Characters >255 have their high-byte silently ignored.\r
-   */\r
-   function rstr2binb(input) {\r
-      var i, output = Array(input.length >> 2);\r
-      for (i = 0; i < output.length; i+=1) {\r
-            output[i] = 0;\r
-        }\r
-      for (i = 0; i < input.length * 8; i += 8) {\r
-            output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32);\r
-        }\r
-      return output;\r
-   }\r
-\r
-  /**\r
-   * Convert a raw string to an arbitrary string encoding\r
-   */\r
-  function rstr2any(input, encoding) {\r
-    var divisor = encoding.length,\r
-        remainders = Array(),\r
-        i, q, x, quotient, dividend, output, full_length;\r
-  \r
-    /* Convert to an array of 16-bit big-endian values, forming the dividend */\r
-    dividend = Array(Math.ceil(input.length / 2));\r
-    for (i = 0; i < dividend.length; i+=1) {\r
-      dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);\r
-    }\r
-  \r
-    /**\r
-     * Repeatedly perform a long division. The binary array forms the dividend,\r
-     * the length of the encoding is the divisor. Once computed, the quotient\r
-     * forms the dividend for the next step. We stop when the dividend is zerHashes.\r
-     * All remainders are stored for later use.\r
-     */\r
-    while(dividend.length > 0) {\r
-      quotient = Array();\r
-      x = 0;\r
-      for (i = 0; i < dividend.length; i+=1) {\r
-        x = (x << 16) + dividend[i];\r
-        q = Math.floor(x / divisor);\r
-        x -= q * divisor;\r
-        if (quotient.length > 0 || q > 0) {\r
-          quotient[quotient.length] = q;\r
-        }\r
-      }\r
-      remainders[remainders.length] = x;\r
-      dividend = quotient;\r
-    }\r
-  \r
-    /* Convert the remainders to the output string */\r
-    output = '';\r
-    for (i = remainders.length - 1; i >= 0; i--) {\r
-      output += encoding.charAt(remainders[i]);\r
-    }\r
-  \r
-    /* Append leading zero equivalents */\r
-    full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2)));\r
-    for (i = output.length; i < full_length; i+=1) {\r
-      output = encoding[0] + output;\r
-    }\r
-    return output;\r
-  }\r
-\r
-  /**\r
-   * Convert a raw string to a base-64 string\r
-   */\r
-  function rstr2b64(input, b64pad) {\r
-    var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\r
-        output = '',\r
-        len = input.length, i, j, triplet;\r
-    b64pad= b64pad || '=';\r
-    for (i = 0; i < len; i += 3) {\r
-      triplet = (input.charCodeAt(i) << 16)\r
-            | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)\r
-            | (i + 2 < len ? input.charCodeAt(i+2)      : 0);\r
-      for (j = 0; j < 4; j++) {\r
-        if (i * 8 + j * 6 > input.length * 8) { \r
-          output += b64pad; \r
-        } else { \r
-          output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F); \r
-        }\r
-       }\r
-    }\r
-    return output;\r
-  }\r
-\r
-  Hashes = {\r
-  /**\r
-   * @member Hashes\r
-   * @class Base64\r
-   * @constructor\r
-   */\r
-  Base64 : function () {\r
-    // private properties\r
-    var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\r
-        pad = '=', // default pad according with the RFC standard\r
-        url = false, // URL encoding support @todo\r
-        utf8 = true; // by default enable UTF-8 support encoding\r
-\r
-    // public method for encoding\r
-    this.encode = function (input) {\r
-      var i, j, triplet,\r
-          output = '', \r
-          len = input.length;\r
-\r
-      pad = pad || '=';\r
-      input = (utf8) ? utf8Encode(input) : input;\r
-\r
-      for (i = 0; i < len; i += 3) {\r
-        triplet = (input.charCodeAt(i) << 16)\r
-              | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)\r
-              | (i + 2 < len ? input.charCodeAt(i+2) : 0);\r
-        for (j = 0; j < 4; j++) {\r
-          if (i * 8 + j * 6 > input.length * 8) {\r
-              output += pad;\r
-          } else {\r
-              output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F);\r
-          }\r
-        }\r
-      }\r
-      return output;    \r
-    };\r
-\r
-    // public method for decoding\r
-    this.decode = function (input) {\r
-      // var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r
-      var i, o1, o2, o3, h1, h2, h3, h4, bits, ac,\r
-        dec = '',\r
-        arr = [];\r
-      if (!input) { return input; }\r
-\r
-      i = ac = 0;\r
-      input = input.replace(new RegExp('\\'+pad,'gi'),''); // use '='\r
-      //input += '';\r
-\r
-      do { // unpack four hexets into three octets using index points in b64\r
-        h1 = tab.indexOf(input.charAt(i+=1));\r
-        h2 = tab.indexOf(input.charAt(i+=1));\r
-        h3 = tab.indexOf(input.charAt(i+=1));\r
-        h4 = tab.indexOf(input.charAt(i+=1));\r
-\r
-        bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;\r
-\r
-        o1 = bits >> 16 & 0xff;\r
-        o2 = bits >> 8 & 0xff;\r
-        o3 = bits & 0xff;\r
-        ac += 1;\r
-\r
-        if (h3 === 64) {\r
-          arr[ac] = String.fromCharCode(o1);\r
-        } else if (h4 === 64) {\r
-          arr[ac] = String.fromCharCode(o1, o2);\r
-        } else {\r
-          arr[ac] = String.fromCharCode(o1, o2, o3);\r
-        }\r
-      } while (i < input.length);\r
-\r
-      dec = arr.join('');\r
-      dec = (utf8) ? utf8Decode(dec) : dec;\r
-\r
-      return dec;\r
-    };\r
-\r
-    // set custom pad string\r
-    this.setPad = function (str) {\r
-        pad = str || pad;\r
-        return this;\r
-    };\r
-    // set custom tab string characters\r
-    this.setTab = function (str) {\r
-        tab = str || tab;\r
-        return this;\r
-    };\r
-    this.setUTF8 = function (bool) {\r
-        if (typeof bool === 'boolean') {\r
-          utf8 = bool;\r
-        }\r
-        return this;\r
-    };\r
-  },\r
-\r
-  /**\r
-   * CRC-32 calculation\r
-   * @member Hashes\r
-   * @method CRC32\r
-   * @static\r
-   * @param {String} str Input String\r
-   * @return {String}\r
-   */\r
-  CRC32 : function (str) {\r
-    var crc = 0, x = 0, y = 0, table, i;\r
-    str = utf8Encode(str);\r
-        \r
-    table = '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 ' +\r
-            '79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 ' +\r
-            '84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F ' +\r
-            '63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD ' +\r
-            'A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC ' +\r
-            '51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 ' +\r
-            'B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 ' +\r
-            '06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 ' +\r
-            'E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 ' +\r
-            '12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 ' +\r
-            'D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 ' +\r
-            '33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 ' +\r
-            'CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 ' +\r
-            '9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E ' +\r
-            '7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D ' +\r
-            '806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 ' +\r
-            '60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA ' +\r
-            'AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 ' + \r
-            '5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 ' +\r
-            'B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 ' +\r
-            '05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 ' +\r
-            'F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA ' +\r
-            '11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 ' +\r
-            'D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F ' +\r
-            '30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E ' +\r
-            'C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D';\r
-\r
-    crc = crc ^ (-1);\r
-    for (i = 0, iTop = str.length; i < iTop; i+=1 ) {\r
-        y = ( crc ^ str.charCodeAt( i ) ) & 0xFF;\r
-        x = '0x' + table.substr( y * 9, 8 );\r
-        crc = ( crc >>> 8 ) ^ x;\r
-    }\r
-    return crc ^ (-1);\r
-  },\r
-  /**\r
-   * @member Hashes\r
-   * @class MD5\r
-   * @constructor\r
-   * @param {Object} [config]\r
-   * \r
-   * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\r
-   * Digest Algorithm, as defined in RFC 1321.\r
-   * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\r
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\r
-   * See <http://pajhome.org.uk/crypt/md5> for more infHashes.\r
-   */\r
-  MD5 : function (options) {  \r
-    /**\r
-     * Private config properties. You may need to tweak these to be compatible with\r
-     * the server-side, but the defaults work in most cases.\r
-     * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}\r
-     */\r
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase\r
-        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance\r
-        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding\r
-\r
-    // privileged (public) methods \r
-    this.hex = function (s) { \r
-      return rstr2hex(rstr(s, utf8), hexcase);\r
-    };\r
-    this.b64 = function (s) { \r
-      return rstr2b64(rstr(s), b64pad);\r
-    };\r
-    this.any = function(s, e) { \r
-      return rstr2any(rstr(s, utf8), e); \r
-    };\r
-    this.hex_hmac = function (k, d) { \r
-      return rstr2hex(rstr_hmac(k, d), hexcase); \r
-    };\r
-    this.b64_hmac = function (k, d) { \r
-      return rstr2b64(rstr_hmac(k,d), b64pad); \r
-    };\r
-    this.any_hmac = function (k, d, e) { \r
-      return rstr2any(rstr_hmac(k, d), e); \r
-    };\r
-    /**\r
-     * Perform a simple self-test to see if the VM is working\r
-     * @return {String} Hexadecimal hash sample\r
-     */\r
-    this.vm_test = function () {\r
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';\r
-    };\r
-    /** \r
-     * Enable/disable uppercase hexadecimal returned string \r
-     * @param {Boolean} \r
-     * @return {Object} this\r
-     */ \r
-    this.setUpperCase = function (a) {\r
-      if (typeof a === 'boolean' ) {\r
-        hexcase = a;\r
-      }\r
-      return this;\r
-    };\r
-    /** \r
-     * Defines a base64 pad string \r
-     * @param {String} Pad\r
-     * @return {Object} this\r
-     */ \r
-    this.setPad = function (a) {\r
-      b64pad = a || b64pad;\r
-      return this;\r
-    };\r
-    /** \r
-     * Defines a base64 pad string \r
-     * @param {Boolean} \r
-     * @return {Object} [this]\r
-     */ \r
-    this.setUTF8 = function (a) {\r
-      if (typeof a === 'boolean') { \r
-        utf8 = a;\r
-      }\r
-      return this;\r
-    };\r
-\r
-    // private methods\r
-\r
-    /**\r
-     * Calculate the MD5 of a raw string\r
-     */\r
-    function rstr(s) {\r
-      s = (utf8) ? utf8Encode(s): s;\r
-      return binl2rstr(binl(rstr2binl(s), s.length * 8));\r
-    }\r
-    \r
-    /**\r
-     * Calculate the HMAC-MD5, of a key and some data (raw strings)\r
-     */\r
-    function rstr_hmac(key, data) {\r
-      var bkey, ipad, hash, i;\r
-\r
-      key = (utf8) ? utf8Encode(key) : key;\r
-      data = (utf8) ? utf8Encode(data) : data;\r
-      bkey = rstr2binl(key);\r
-      if (bkey.length > 16) { \r
-        bkey = binl(bkey, key.length * 8); \r
-      }\r
-\r
-      ipad = Array(16), opad = Array(16); \r
-      for (i = 0; i < 16; i+=1) {\r
-          ipad[i] = bkey[i] ^ 0x36363636;\r
-          opad[i] = bkey[i] ^ 0x5C5C5C5C;\r
-      }\r
-      hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);\r
-      return binl2rstr(binl(opad.concat(hash), 512 + 128));\r
-    }\r
-\r
-    /**\r
-     * Calculate the MD5 of an array of little-endian words, and a bit length.\r
-     */\r
-    function binl(x, len) {\r
-      var i, olda, oldb, oldc, oldd,\r
-          a =  1732584193,\r
-          b = -271733879,\r
-          c = -1732584194,\r
-          d =  271733878;\r
-        \r
-      /* append padding */\r
-      x[len >> 5] |= 0x80 << ((len) % 32);\r
-      x[(((len + 64) >>> 9) << 4) + 14] = len;\r
-\r
-      for (i = 0; i < x.length; i += 16) {\r
-        olda = a;\r
-        oldb = b;\r
-        oldc = c;\r
-        oldd = d;\r
-\r
-        a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);\r
-        d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);\r
-        c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);\r
-        b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);\r
-        a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);\r
-        d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);\r
-        c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);\r
-        b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);\r
-        a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);\r
-        d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);\r
-        c = md5_ff(c, d, a, b, x[i+10], 17, -42063);\r
-        b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);\r
-        a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);\r
-        d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);\r
-        c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);\r
-        b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);\r
-\r
-        a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);\r
-        d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);\r
-        c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);\r
-        b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);\r
-        a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);\r
-        d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);\r
-        c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);\r
-        b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);\r
-        a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);\r
-        d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);\r
-        c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);\r
-        b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);\r
-        a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);\r
-        d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);\r
-        c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);\r
-        b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);\r
-\r
-        a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);\r
-        d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);\r
-        c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);\r
-        b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);\r
-        a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);\r
-        d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);\r
-        c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);\r
-        b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);\r
-        a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);\r
-        d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);\r
-        c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);\r
-        b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);\r
-        a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);\r
-        d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);\r
-        c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);\r
-        b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);\r
-\r
-        a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);\r
-        d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);\r
-        c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);\r
-        b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);\r
-        a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);\r
-        d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);\r
-        c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);\r
-        b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);\r
-        a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);\r
-        d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);\r
-        c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);\r
-        b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);\r
-        a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);\r
-        d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);\r
-        c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);\r
-        b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);\r
-\r
-        a = safe_add(a, olda);\r
-        b = safe_add(b, oldb);\r
-        c = safe_add(c, oldc);\r
-        d = safe_add(d, oldd);\r
-      }\r
-      return Array(a, b, c, d);\r
-    }\r
-\r
-    /**\r
-     * These functions implement the four basic operations the algorithm uses.\r
-     */\r
-    function md5_cmn(q, a, b, x, s, t) {\r
-      return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);\r
-    }\r
-    function md5_ff(a, b, c, d, x, s, t) {\r
-      return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);\r
-    }\r
-    function md5_gg(a, b, c, d, x, s, t) {\r
-      return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);\r
-    }\r
-    function md5_hh(a, b, c, d, x, s, t) {\r
-      return md5_cmn(b ^ c ^ d, a, b, x, s, t);\r
-    }\r
-    function md5_ii(a, b, c, d, x, s, t) {\r
-      return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);\r
-    }\r
-  },\r
-  /**\r
-   * @member Hashes\r
-   * @class Hashes.SHA1\r
-   * @param {Object} [config]\r
-   * @constructor\r
-   * \r
-   * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in FIPS 180-1\r
-   * Version 2.2 Copyright Paul Johnston 2000 - 2009.\r
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\r
-   * See http://pajhome.org.uk/crypt/md5 for details.\r
-   */\r
-  SHA1 : function (options) {\r
-   /**\r
-     * Private config properties. You may need to tweak these to be compatible with\r
-     * the server-side, but the defaults work in most cases.\r
-     * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}\r
-     */\r
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase\r
-        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance\r
-        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding\r
-\r
-    // public methods\r
-    this.hex = function (s) { \r
-       return rstr2hex(rstr(s, utf8), hexcase); \r
-    };\r
-    this.b64 = function (s) { \r
-       return rstr2b64(rstr(s, utf8), b64pad);\r
-    };\r
-    this.any = function (s, e) { \r
-       return rstr2any(rstr(s, utf8), e);\r
-    };\r
-    this.hex_hmac = function (k, d) {\r
-       return rstr2hex(rstr_hmac(k, d));\r
-    };\r
-    this.b64_hmac = function (k, d) { \r
-       return rstr2b64(rstr_hmac(k, d), b64pad); \r
-    };\r
-    this.any_hmac = function (k, d, e) { \r
-       return rstr2any(rstr_hmac(k, d), e);\r
-    };\r
-    /**\r
-     * Perform a simple self-test to see if the VM is working\r
-     * @return {String} Hexadecimal hash sample\r
-     * @public\r
-     */\r
-    this.vm_test = function () {\r
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';\r
-    };\r
-    /** \r
-     * @description Enable/disable uppercase hexadecimal returned string \r
-     * @param {boolean} \r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setUpperCase = function (a) {\r
-       if (typeof a === 'boolean') {\r
-        hexcase = a;\r
-      }\r
-       return this;\r
-    };\r
-    /** \r
-     * @description Defines a base64 pad string \r
-     * @param {string} Pad\r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setPad = function (a) {\r
-      b64pad = a || b64pad;\r
-       return this;\r
-    };\r
-    /** \r
-     * @description Defines a base64 pad string \r
-     * @param {boolean} \r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setUTF8 = function (a) {\r
-       if (typeof a === 'boolean') {\r
-        utf8 = a;\r
-      }\r
-       return this;\r
-    };\r
-\r
-    // private methods\r
-\r
-    /**\r
-        * Calculate the SHA-512 of a raw string\r
-        */\r
-       function rstr(s) {\r
-      s = (utf8) ? utf8Encode(s) : s;\r
-      return binb2rstr(binb(rstr2binb(s), s.length * 8));\r
-       }\r
-\r
-    /**\r
-     * Calculate the HMAC-SHA1 of a key and some data (raw strings)\r
-     */\r
-    function rstr_hmac(key, data) {\r
-      var bkey, ipad, i, hash;\r
-       key = (utf8) ? utf8Encode(key) : key;\r
-       data = (utf8) ? utf8Encode(data) : data;\r
-       bkey = rstr2binb(key);\r
-\r
-       if (bkey.length > 16) {\r
-        bkey = binb(bkey, key.length * 8);\r
-      }\r
-       ipad = Array(16), opad = Array(16);\r
-       for (i = 0; i < 16; i+=1) {\r
-               ipad[i] = bkey[i] ^ 0x36363636;\r
-               opad[i] = bkey[i] ^ 0x5C5C5C5C;\r
-       }\r
-       hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);\r
-       return binb2rstr(binb(opad.concat(hash), 512 + 160));\r
-    }\r
-\r
-    /**\r
-     * Calculate the SHA-1 of an array of big-endian words, and a bit length\r
-     */\r
-    function binb(x, len) {\r
-      var i, j, t, olda, oldb, oldc, oldd, olde,\r
-          w = Array(80),\r
-          a =  1732584193,\r
-          b = -271733879,\r
-          c = -1732584194,\r
-          d =  271733878,\r
-          e = -1009589776;\r
-\r
-      /* append padding */\r
-      x[len >> 5] |= 0x80 << (24 - len % 32);\r
-      x[((len + 64 >> 9) << 4) + 15] = len;\r
-\r
-      for (i = 0; i < x.length; i += 16) {\r
-        olda = a,\r
-        oldb = b;\r
-        oldc = c;\r
-        oldd = d;\r
-        olde = e;\r
-      \r
-       for (j = 0; j < 80; j++)        {\r
-         if (j < 16) { \r
-            w[j] = x[i + j]; \r
-          } else { \r
-            w[j] = bit_rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1); \r
-          }\r
-         t = safe_add(safe_add(bit_rol(a, 5), sha1_ft(j, b, c, d)),\r
-                                          safe_add(safe_add(e, w[j]), sha1_kt(j)));\r
-         e = d;\r
-         d = c;\r
-         c = bit_rol(b, 30);\r
-         b = a;\r
-         a = t;\r
-       }\r
-\r
-       a = safe_add(a, olda);\r
-       b = safe_add(b, oldb);\r
-       c = safe_add(c, oldc);\r
-       d = safe_add(d, oldd);\r
-       e = safe_add(e, olde);\r
-      }\r
-      return Array(a, b, c, d, e);\r
-    }\r
-\r
-    /**\r
-     * Perform the appropriate triplet combination function for the current\r
-     * iteration\r
-     */\r
-    function sha1_ft(t, b, c, d) {\r
-      if (t < 20) { return (b & c) | ((~b) & d); }\r
-      if (t < 40) { return b ^ c ^ d; }\r
-      if (t < 60) { return (b & c) | (b & d) | (c & d); }\r
-      return b ^ c ^ d;\r
-    }\r
-\r
-    /**\r
-     * Determine the appropriate additive constant for the current iteration\r
-     */\r
-    function sha1_kt(t) {\r
-      return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :\r
-                (t < 60) ? -1894007588 : -899497514;\r
-    }\r
-  },\r
-  /**\r
-   * @class Hashes.SHA256\r
-   * @param {config}\r
-   * \r
-   * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined in FIPS 180-2\r
-   * Version 2.2 Copyright Angel Marin, Paul Johnston 2000 - 2009.\r
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\r
-   * See http://pajhome.org.uk/crypt/md5 for details.\r
-   * Also http://anmar.eu.org/projects/jssha2/\r
-   */\r
-  SHA256 : function (options) {\r
-    /**\r
-     * Private properties configuration variables. You may need to tweak these to be compatible with\r
-     * the server-side, but the defaults work in most cases.\r
-     * @see this.setUpperCase() method\r
-     * @see this.setPad() method\r
-     */\r
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase  */\r
-              b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', /* base-64 pad character. Default '=' for strict RFC compliance   */\r
-              utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */\r
-              sha256_K;\r
-\r
-    /* privileged (public) methods */\r
-    this.hex = function (s) { \r
-      return rstr2hex(rstr(s, utf8)); \r
-    };\r
-    this.b64 = function (s) { \r
-      return rstr2b64(rstr(s, utf8), b64pad);\r
-    };\r
-    this.any = function (s, e) { \r
-      return rstr2any(rstr(s, utf8), e); \r
-    };\r
-    this.hex_hmac = function (k, d) { \r
-      return rstr2hex(rstr_hmac(k, d)); \r
-    };\r
-    this.b64_hmac = function (k, d) { \r
-      return rstr2b64(rstr_hmac(k, d), b64pad);\r
-    };\r
-    this.any_hmac = function (k, d, e) { \r
-      return rstr2any(rstr_hmac(k, d), e); \r
-    };\r
-    /**\r
-     * Perform a simple self-test to see if the VM is working\r
-     * @return {String} Hexadecimal hash sample\r
-     * @public\r
-     */\r
-    this.vm_test = function () {\r
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';\r
-    };\r
-    /** \r
-     * Enable/disable uppercase hexadecimal returned string \r
-     * @param {boolean} \r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setUpperCase = function (a) {\r
-      if (typeof a === 'boolean') { \r
-        hexcase = a;\r
-      }\r
-      return this;\r
-    };\r
-    /** \r
-     * @description Defines a base64 pad string \r
-     * @param {string} Pad\r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setPad = function (a) {\r
-      b64pad = a || b64pad;\r
-      return this;\r
-    };\r
-    /** \r
-     * Defines a base64 pad string \r
-     * @param {boolean} \r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setUTF8 = function (a) {\r
-      if (typeof a === 'boolean') {\r
-        utf8 = a;\r
-      }\r
-      return this;\r
-    };\r
-    \r
-    // private methods\r
-\r
-    /**\r
-     * Calculate the SHA-512 of a raw string\r
-     */\r
-    function rstr(s, utf8) {\r
-      s = (utf8) ? utf8Encode(s) : s;\r
-      return binb2rstr(binb(rstr2binb(s), s.length * 8));\r
-    }\r
-\r
-    /**\r
-     * Calculate the HMAC-sha256 of a key and some data (raw strings)\r
-     */\r
-    function rstr_hmac(key, data) {\r
-      key = (utf8) ? utf8Encode(key) : key;\r
-      data = (utf8) ? utf8Encode(data) : data;\r
-      var hash, i = 0,\r
-          bkey = rstr2binb(key), \r
-          ipad = Array(16), \r
-          opad = Array(16);\r
-\r
-      if (bkey.length > 16) { bkey = binb(bkey, key.length * 8); }\r
-      \r
-      for (; i < 16; i+=1) {\r
-        ipad[i] = bkey[i] ^ 0x36363636;\r
-        opad[i] = bkey[i] ^ 0x5C5C5C5C;\r
-      }\r
-      \r
-      hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);\r
-      return binb2rstr(binb(opad.concat(hash), 512 + 256));\r
-    }\r
-    \r
-    /*\r
-     * Main sha256 function, with its support functions\r
-     */\r
-    function sha256_S (X, n) {return ( X >>> n ) | (X << (32 - n));}\r
-    function sha256_R (X, n) {return ( X >>> n );}\r
-    function sha256_Ch(x, y, z) {return ((x & y) ^ ((~x) & z));}\r
-    function sha256_Maj(x, y, z) {return ((x & y) ^ (x & z) ^ (y & z));}\r
-    function sha256_Sigma0256(x) {return (sha256_S(x, 2) ^ sha256_S(x, 13) ^ sha256_S(x, 22));}\r
-    function sha256_Sigma1256(x) {return (sha256_S(x, 6) ^ sha256_S(x, 11) ^ sha256_S(x, 25));}\r
-    function sha256_Gamma0256(x) {return (sha256_S(x, 7) ^ sha256_S(x, 18) ^ sha256_R(x, 3));}\r
-    function sha256_Gamma1256(x) {return (sha256_S(x, 17) ^ sha256_S(x, 19) ^ sha256_R(x, 10));}\r
-    function sha256_Sigma0512(x) {return (sha256_S(x, 28) ^ sha256_S(x, 34) ^ sha256_S(x, 39));}\r
-    function sha256_Sigma1512(x) {return (sha256_S(x, 14) ^ sha256_S(x, 18) ^ sha256_S(x, 41));}\r
-    function sha256_Gamma0512(x) {return (sha256_S(x, 1)  ^ sha256_S(x, 8) ^ sha256_R(x, 7));}\r
-    function sha256_Gamma1512(x) {return (sha256_S(x, 19) ^ sha256_S(x, 61) ^ sha256_R(x, 6));}\r
-    \r
-    sha256_K = new Array\r
-    (\r
-      1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993,\r
-      -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987,\r
-      1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522,\r
-      264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986,\r
-      -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585,\r
-      113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291,\r
-      1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885,\r
-      -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344,\r
-      430227734, 506948616, 659060556, 883997877, 958139571, 1322822218,\r
-      1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872,\r
-      -1866530822, -1538233109, -1090935817, -965641998\r
-    );\r
-    \r
-    function binb(m, l) {\r
-      var HASH = new Array(1779033703, -1150833019, 1013904242, -1521486534,\r
-                 1359893119, -1694144372, 528734635, 1541459225);\r
-      var W = new Array(64);\r
-      var a, b, c, d, e, f, g, h;\r
-      var i, j, T1, T2;\r
-    \r
-      /* append padding */\r
-      m[l >> 5] |= 0x80 << (24 - l % 32);\r
-      m[((l + 64 >> 9) << 4) + 15] = l;\r
-    \r
-      for (i = 0; i < m.length; i += 16)\r
-      {\r
-      a = HASH[0];\r
-      b = HASH[1];\r
-      c = HASH[2];\r
-      d = HASH[3];\r
-      e = HASH[4];\r
-      f = HASH[5];\r
-      g = HASH[6];\r
-      h = HASH[7];\r
-    \r
-      for (j = 0; j < 64; j++)\r
-      {\r
-        if (j < 16) { \r
-          W[j] = m[j + i];\r
-        } else { \r
-          W[j] = safe_add(safe_add(safe_add(sha256_Gamma1256(W[j - 2]), W[j - 7]),\r
-                          sha256_Gamma0256(W[j - 15])), W[j - 16]);\r
-        }\r
-    \r
-        T1 = safe_add(safe_add(safe_add(safe_add(h, sha256_Sigma1256(e)), sha256_Ch(e, f, g)),\r
-                                  sha256_K[j]), W[j]);\r
-        T2 = safe_add(sha256_Sigma0256(a), sha256_Maj(a, b, c));\r
-        h = g;\r
-        g = f;\r
-        f = e;\r
-        e = safe_add(d, T1);\r
-        d = c;\r
-        c = b;\r
-        b = a;\r
-        a = safe_add(T1, T2);\r
-      }\r
-    \r
-      HASH[0] = safe_add(a, HASH[0]);\r
-      HASH[1] = safe_add(b, HASH[1]);\r
-      HASH[2] = safe_add(c, HASH[2]);\r
-      HASH[3] = safe_add(d, HASH[3]);\r
-      HASH[4] = safe_add(e, HASH[4]);\r
-      HASH[5] = safe_add(f, HASH[5]);\r
-      HASH[6] = safe_add(g, HASH[6]);\r
-      HASH[7] = safe_add(h, HASH[7]);\r
-      }\r
-      return HASH;\r
-    }\r
-\r
-  },\r
-\r
-  /**\r
-   * @class Hashes.SHA512\r
-   * @param {config}\r
-   * \r
-   * A JavaScript implementation of the Secure Hash Algorithm, SHA-512, as defined in FIPS 180-2\r
-   * Version 2.2 Copyright Anonymous Contributor, Paul Johnston 2000 - 2009.\r
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\r
-   * See http://pajhome.org.uk/crypt/md5 for details. \r
-   */\r
-  SHA512 : function (options) {\r
-    /**\r
-     * Private properties configuration variables. You may need to tweak these to be compatible with\r
-     * the server-side, but the defaults work in most cases.\r
-     * @see this.setUpperCase() method\r
-     * @see this.setPad() method\r
-     */\r
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false , /* hexadecimal output case format. false - lowercase; true - uppercase  */\r
-        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=',  /* base-64 pad character. Default '=' for strict RFC compliance   */\r
-        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */\r
-        sha512_k;\r
-\r
-    /* privileged (public) methods */\r
-    this.hex = function (s) { \r
-      return rstr2hex(rstr(s)); \r
-    };\r
-    this.b64 = function (s) { \r
-      return rstr2b64(rstr(s), b64pad);  \r
-    };\r
-    this.any = function (s, e) { \r
-      return rstr2any(rstr(s), e);\r
-    };\r
-    this.hex_hmac = function (k, d) {\r
-      return rstr2hex(rstr_hmac(k, d));\r
-    };\r
-    this.b64_hmac = function (k, d) { \r
-      return rstr2b64(rstr_hmac(k, d), b64pad);\r
-    };\r
-    this.any_hmac = function (k, d, e) { \r
-      return rstr2any(rstr_hmac(k, d), e);\r
-    };\r
-    /**\r
-     * Perform a simple self-test to see if the VM is working\r
-     * @return {String} Hexadecimal hash sample\r
-     * @public\r
-     */\r
-    this.vm_test = function () {\r
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';\r
-    };\r
-    /** \r
-     * @description Enable/disable uppercase hexadecimal returned string \r
-     * @param {boolean} \r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setUpperCase = function (a) {\r
-      if (typeof a === 'boolean') {\r
-        hexcase = a;\r
-      }\r
-      return this;\r
-    };\r
-    /** \r
-     * @description Defines a base64 pad string \r
-     * @param {string} Pad\r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setPad = function (a) {\r
-      b64pad = a || b64pad;\r
-      return this;\r
-    };\r
-    /** \r
-     * @description Defines a base64 pad string \r
-     * @param {boolean} \r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setUTF8 = function (a) {\r
-      if (typeof a === 'boolean') {\r
-        utf8 = a;\r
-      }\r
-      return this;\r
-    };\r
-\r
-    /* private methods */\r
-    \r
-    /**\r
-     * Calculate the SHA-512 of a raw string\r
-     */\r
-    function rstr(s) {\r
-      s = (utf8) ? utf8Encode(s) : s;\r
-      return binb2rstr(binb(rstr2binb(s), s.length * 8));\r
-    }\r
-    /*\r
-     * Calculate the HMAC-SHA-512 of a key and some data (raw strings)\r
-     */\r
-    function rstr_hmac(key, data) {\r
-      key = (utf8) ? utf8Encode(key) : key;\r
-      data = (utf8) ? utf8Encode(data) : data;\r
-      \r
-      var hash, i = 0, \r
-          bkey = rstr2binb(key),\r
-          ipad = Array(32), opad = Array(32);\r
-\r
-      if (bkey.length > 32) { bkey = binb(bkey, key.length * 8); }\r
-      \r
-      for (; i < 32; i+=1) {\r
-        ipad[i] = bkey[i] ^ 0x36363636;\r
-        opad[i] = bkey[i] ^ 0x5C5C5C5C;\r
-      }\r
-      \r
-      hash = binb(ipad.concat(rstr2binb(data)), 1024 + data.length * 8);\r
-      return binb2rstr(binb(opad.concat(hash), 1024 + 512));\r
-    }\r
-            \r
-    /**\r
-     * Calculate the SHA-512 of an array of big-endian dwords, and a bit length\r
-     */\r
-    function binb(x, len) {\r
-      var j, i, \r
-          W = new Array(80);\r
-          hash = new Array(16),\r
-          //Initial hash values\r
-          H = new Array(\r
-            new int64(0x6a09e667, -205731576),\r
-            new int64(-1150833019, -2067093701),\r
-            new int64(0x3c6ef372, -23791573),\r
-            new int64(-1521486534, 0x5f1d36f1),\r
-            new int64(0x510e527f, -1377402159),\r
-            new int64(-1694144372, 0x2b3e6c1f),\r
-            new int64(0x1f83d9ab, -79577749),\r
-            new int64(0x5be0cd19, 0x137e2179)\r
-          ),\r
-          T1 = new int64(0, 0),\r
-          T2 = new int64(0, 0),\r
-          a = new int64(0,0),\r
-          b = new int64(0,0),\r
-          c = new int64(0,0),\r
-          d = new int64(0,0),\r
-          e = new int64(0,0),\r
-          f = new int64(0,0),\r
-          g = new int64(0,0),\r
-          h = new int64(0,0),\r
-          //Temporary variables not specified by the document\r
-          s0 = new int64(0, 0),\r
-          s1 = new int64(0, 0),\r
-          Ch = new int64(0, 0),\r
-          Maj = new int64(0, 0),\r
-          r1 = new int64(0, 0),\r
-          r2 = new int64(0, 0),\r
-          r3 = new int64(0, 0);\r
-\r
-      if (sha512_k === undefined) {\r
-          //SHA512 constants\r
-          sha512_k = new Array(\r
-            new int64(0x428a2f98, -685199838), new int64(0x71374491, 0x23ef65cd),\r
-            new int64(-1245643825, -330482897), new int64(-373957723, -2121671748),\r
-            new int64(0x3956c25b, -213338824), new int64(0x59f111f1, -1241133031),\r
-            new int64(-1841331548, -1357295717), new int64(-1424204075, -630357736),\r
-            new int64(-670586216, -1560083902), new int64(0x12835b01, 0x45706fbe),\r
-            new int64(0x243185be, 0x4ee4b28c), new int64(0x550c7dc3, -704662302),\r
-            new int64(0x72be5d74, -226784913), new int64(-2132889090, 0x3b1696b1),\r
-            new int64(-1680079193, 0x25c71235), new int64(-1046744716, -815192428),\r
-            new int64(-459576895, -1628353838), new int64(-272742522, 0x384f25e3),\r
-            new int64(0xfc19dc6, -1953704523), new int64(0x240ca1cc, 0x77ac9c65),\r
-            new int64(0x2de92c6f, 0x592b0275), new int64(0x4a7484aa, 0x6ea6e483),\r
-            new int64(0x5cb0a9dc, -1119749164), new int64(0x76f988da, -2096016459),\r
-            new int64(-1740746414, -295247957), new int64(-1473132947, 0x2db43210),\r
-            new int64(-1341970488, -1728372417), new int64(-1084653625, -1091629340),\r
-            new int64(-958395405, 0x3da88fc2), new int64(-710438585, -1828018395),\r
-            new int64(0x6ca6351, -536640913), new int64(0x14292967, 0xa0e6e70),\r
-            new int64(0x27b70a85, 0x46d22ffc), new int64(0x2e1b2138, 0x5c26c926),\r
-            new int64(0x4d2c6dfc, 0x5ac42aed), new int64(0x53380d13, -1651133473),\r
-            new int64(0x650a7354, -1951439906), new int64(0x766a0abb, 0x3c77b2a8),\r
-            new int64(-2117940946, 0x47edaee6), new int64(-1838011259, 0x1482353b),\r
-            new int64(-1564481375, 0x4cf10364), new int64(-1474664885, -1136513023),\r
-            new int64(-1035236496, -789014639), new int64(-949202525, 0x654be30),\r
-            new int64(-778901479, -688958952), new int64(-694614492, 0x5565a910),\r
-            new int64(-200395387, 0x5771202a), new int64(0x106aa070, 0x32bbd1b8),\r
-            new int64(0x19a4c116, -1194143544), new int64(0x1e376c08, 0x5141ab53),\r
-            new int64(0x2748774c, -544281703), new int64(0x34b0bcb5, -509917016),\r
-            new int64(0x391c0cb3, -976659869), new int64(0x4ed8aa4a, -482243893),\r
-            new int64(0x5b9cca4f, 0x7763e373), new int64(0x682e6ff3, -692930397),\r
-            new int64(0x748f82ee, 0x5defb2fc), new int64(0x78a5636f, 0x43172f60),\r
-            new int64(-2067236844, -1578062990), new int64(-1933114872, 0x1a6439ec),\r
-            new int64(-1866530822, 0x23631e28), new int64(-1538233109, -561857047),\r
-            new int64(-1090935817, -1295615723), new int64(-965641998, -479046869),\r
-            new int64(-903397682, -366583396), new int64(-779700025, 0x21c0c207),\r
-            new int64(-354779690, -840897762), new int64(-176337025, -294727304),\r
-            new int64(0x6f067aa, 0x72176fba), new int64(0xa637dc5, -1563912026),\r
-            new int64(0x113f9804, -1090974290), new int64(0x1b710b35, 0x131c471b),\r
-            new int64(0x28db77f5, 0x23047d84), new int64(0x32caab7b, 0x40c72493),\r
-            new int64(0x3c9ebe0a, 0x15c9bebc), new int64(0x431d67c4, -1676669620),\r
-            new int64(0x4cc5d4be, -885112138), new int64(0x597f299c, -60457430),\r
-            new int64(0x5fcb6fab, 0x3ad6faec), new int64(0x6c44198c, 0x4a475817)\r
-          );\r
-      }\r
-  \r
-      for (i=0; i<80; i+=1) {\r
-        W[i] = new int64(0, 0);\r
-      }\r
-    \r
-      // append padding to the source string. The format is described in the FIPS.\r
-      x[len >> 5] |= 0x80 << (24 - (len & 0x1f));\r
-      x[((len + 128 >> 10)<< 5) + 31] = len;\r
-    \r
-      for (i = 0; i<x.length; i+=32) { //32 dwords is the block size\r
-        int64copy(a, H[0]);\r
-        int64copy(b, H[1]);\r
-        int64copy(c, H[2]);\r
-        int64copy(d, H[3]);\r
-        int64copy(e, H[4]);\r
-        int64copy(f, H[5]);\r
-        int64copy(g, H[6]);\r
-        int64copy(h, H[7]);\r
-      \r
-        for (j=0; j<16; j++) {\r
-          W[j].h = x[i + 2*j];\r
-          W[j].l = x[i + 2*j + 1];\r
-        }\r
-      \r
-        for (j=16; j<80; j++) {\r
-          //sigma1\r
-          int64rrot(r1, W[j-2], 19);\r
-          int64revrrot(r2, W[j-2], 29);\r
-          int64shr(r3, W[j-2], 6);\r
-          s1.l = r1.l ^ r2.l ^ r3.l;\r
-          s1.h = r1.h ^ r2.h ^ r3.h;\r
-          //sigma0\r
-          int64rrot(r1, W[j-15], 1);\r
-          int64rrot(r2, W[j-15], 8);\r
-          int64shr(r3, W[j-15], 7);\r
-          s0.l = r1.l ^ r2.l ^ r3.l;\r
-          s0.h = r1.h ^ r2.h ^ r3.h;\r
-      \r
-          int64add4(W[j], s1, W[j-7], s0, W[j-16]);\r
-        }\r
-      \r
-        for (j = 0; j < 80; j++) {\r
-          //Ch\r
-          Ch.l = (e.l & f.l) ^ (~e.l & g.l);\r
-          Ch.h = (e.h & f.h) ^ (~e.h & g.h);\r
-      \r
-          //Sigma1\r
-          int64rrot(r1, e, 14);\r
-          int64rrot(r2, e, 18);\r
-          int64revrrot(r3, e, 9);\r
-          s1.l = r1.l ^ r2.l ^ r3.l;\r
-          s1.h = r1.h ^ r2.h ^ r3.h;\r
-      \r
-          //Sigma0\r
-          int64rrot(r1, a, 28);\r
-          int64revrrot(r2, a, 2);\r
-          int64revrrot(r3, a, 7);\r
-          s0.l = r1.l ^ r2.l ^ r3.l;\r
-          s0.h = r1.h ^ r2.h ^ r3.h;\r
-      \r
-          //Maj\r
-          Maj.l = (a.l & b.l) ^ (a.l & c.l) ^ (b.l & c.l);\r
-          Maj.h = (a.h & b.h) ^ (a.h & c.h) ^ (b.h & c.h);\r
-      \r
-          int64add5(T1, h, s1, Ch, sha512_k[j], W[j]);\r
-          int64add(T2, s0, Maj);\r
-      \r
-          int64copy(h, g);\r
-          int64copy(g, f);\r
-          int64copy(f, e);\r
-          int64add(e, d, T1);\r
-          int64copy(d, c);\r
-          int64copy(c, b);\r
-          int64copy(b, a);\r
-          int64add(a, T1, T2);\r
-        }\r
-        int64add(H[0], H[0], a);\r
-        int64add(H[1], H[1], b);\r
-        int64add(H[2], H[2], c);\r
-        int64add(H[3], H[3], d);\r
-        int64add(H[4], H[4], e);\r
-        int64add(H[5], H[5], f);\r
-        int64add(H[6], H[6], g);\r
-        int64add(H[7], H[7], h);\r
-      }\r
-    \r
-      //represent the hash as an array of 32-bit dwords\r
-      for (i=0; i<8; i+=1) {\r
-        hash[2*i] = H[i].h;\r
-        hash[2*i + 1] = H[i].l;\r
-      }\r
-      return hash;\r
-    }\r
-    \r
-    //A constructor for 64-bit numbers\r
-    function int64(h, l) {\r
-      this.h = h;\r
-      this.l = l;\r
-      //this.toString = int64toString;\r
-    }\r
-    \r
-    //Copies src into dst, assuming both are 64-bit numbers\r
-    function int64copy(dst, src) {\r
-      dst.h = src.h;\r
-      dst.l = src.l;\r
-    }\r
-    \r
-    //Right-rotates a 64-bit number by shift\r
-    //Won't handle cases of shift>=32\r
-    //The function revrrot() is for that\r
-    function int64rrot(dst, x, shift) {\r
-      dst.l = (x.l >>> shift) | (x.h << (32-shift));\r
-      dst.h = (x.h >>> shift) | (x.l << (32-shift));\r
-    }\r
-    \r
-    //Reverses the dwords of the source and then rotates right by shift.\r
-    //This is equivalent to rotation by 32+shift\r
-    function int64revrrot(dst, x, shift) {\r
-      dst.l = (x.h >>> shift) | (x.l << (32-shift));\r
-      dst.h = (x.l >>> shift) | (x.h << (32-shift));\r
-    }\r
-    \r
-    //Bitwise-shifts right a 64-bit number by shift\r
-    //Won't handle shift>=32, but it's never needed in SHA512\r
-    function int64shr(dst, x, shift) {\r
-      dst.l = (x.l >>> shift) | (x.h << (32-shift));\r
-      dst.h = (x.h >>> shift);\r
-    }\r
-    \r
-    //Adds two 64-bit numbers\r
-    //Like the original implementation, does not rely on 32-bit operations\r
-    function int64add(dst, x, y) {\r
-       var w0 = (x.l & 0xffff) + (y.l & 0xffff);\r
-       var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16);\r
-       var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16);\r
-       var w3 = (x.h >>> 16) + (y.h >>> 16) + (w2 >>> 16);\r
-       dst.l = (w0 & 0xffff) | (w1 << 16);\r
-       dst.h = (w2 & 0xffff) | (w3 << 16);\r
-    }\r
-    \r
-    //Same, except with 4 addends. Works faster than adding them one by one.\r
-    function int64add4(dst, a, b, c, d) {\r
-       var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff);\r
-       var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (w0 >>> 16);\r
-       var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (w1 >>> 16);\r
-       var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (w2 >>> 16);\r
-       dst.l = (w0 & 0xffff) | (w1 << 16);\r
-       dst.h = (w2 & 0xffff) | (w3 << 16);\r
-    }\r
-    \r
-    //Same, except with 5 addends\r
-    function int64add5(dst, a, b, c, d, e) {\r
-      var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff) + (e.l & 0xffff),\r
-          w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (e.l >>> 16) + (w0 >>> 16),\r
-          w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (e.h & 0xffff) + (w1 >>> 16),\r
-          w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (e.h >>> 16) + (w2 >>> 16);\r
-       dst.l = (w0 & 0xffff) | (w1 << 16);\r
-       dst.h = (w2 & 0xffff) | (w3 << 16);\r
-    }\r
-  },\r
-  /**\r
-   * @class Hashes.RMD160\r
-   * @constructor\r
-   * @param {Object} [config]\r
-   * \r
-   * A JavaScript implementation of the RIPEMD-160 Algorithm\r
-   * Version 2.2 Copyright Jeremy Lin, Paul Johnston 2000 - 2009.\r
-   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\r
-   * See http://pajhome.org.uk/crypt/md5 for details.\r
-   * Also http://www.ocf.berkeley.edu/~jjlin/jsotp/\r
-   */\r
-  RMD160 : function (options) {\r
-    /**\r
-     * Private properties configuration variables. You may need to tweak these to be compatible with\r
-     * the server-side, but the defaults work in most cases.\r
-     * @see this.setUpperCase() method\r
-     * @see this.setPad() method\r
-     */\r
-    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false,   /* hexadecimal output case format. false - lowercase; true - uppercase  */\r
-        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=',  /* base-64 pad character. Default '=' for strict RFC compliance   */\r
-        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */\r
-        rmd160_r1 = [\r
-           0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\r
-           7,  4, 13,  1, 10,  6, 15,  3, 12,  0,  9,  5,  2, 14, 11,  8,\r
-           3, 10, 14,  4,  9, 15,  8,  1,  2,  7,  0,  6, 13, 11,  5, 12,\r
-           1,  9, 11, 10,  0,  8, 12,  4, 13,  3,  7, 15, 14,  5,  6,  2,\r
-           4,  0,  5,  9,  7, 12,  2, 10, 14,  1,  3,  8, 11,  6, 15, 13\r
-        ],\r
-        rmd160_r2 = [\r
-           5, 14,  7,  0,  9,  2, 11,  4, 13,  6, 15,  8,  1, 10,  3, 12,\r
-           6, 11,  3,  7,  0, 13,  5, 10, 14, 15,  8, 12,  4,  9,  1,  2,\r
-          15,  5,  1,  3,  7, 14,  6,  9, 11,  8, 12,  2, 10,  0,  4, 13,\r
-           8,  6,  4,  1,  3, 11, 15,  0,  5, 12,  2, 13,  9,  7, 10, 14,\r
-          12, 15, 10,  4,  1,  5,  8,  7,  6,  2, 13, 14,  0,  3,  9, 11\r
-        ],\r
-        rmd160_s1 = [\r
-          11, 14, 15, 12,  5,  8,  7,  9, 11, 13, 14, 15,  6,  7,  9,  8,\r
-           7,  6,  8, 13, 11,  9,  7, 15,  7, 12, 15,  9, 11,  7, 13, 12,\r
-          11, 13,  6,  7, 14,  9, 13, 15, 14,  8, 13,  6,  5, 12,  7,  5,\r
-          11, 12, 14, 15, 14, 15,  9,  8,  9, 14,  5,  6,  8,  6,  5, 12,\r
-           9, 15,  5, 11,  6,  8, 13, 12,  5, 12, 13, 14, 11,  8,  5,  6\r
-        ],\r
-        rmd160_s2 = [\r
-           8,  9,  9, 11, 13, 15, 15,  5,  7,  7,  8, 11, 14, 14, 12,  6,\r
-           9, 13, 15,  7, 12,  8,  9, 11,  7,  7, 12,  7,  6, 15, 13, 11,\r
-           9,  7, 15, 11,  8,  6,  6, 14, 12, 13,  5, 14, 13, 13,  7,  5,\r
-          15,  5,  8, 11, 14, 14,  6, 14,  6,  9, 12,  9, 12,  5, 15,  8,\r
-           8,  5, 12,  9, 12,  5, 14,  6,  8, 13,  6,  5, 15, 13, 11, 11\r
-        ];\r
-\r
-    /* privileged (public) methods */\r
-    this.hex = function (s) {\r
-      return rstr2hex(rstr(s, utf8)); \r
-    };\r
-    this.b64 = function (s) {\r
-      return rstr2b64(rstr(s, utf8), b64pad);\r
-    };\r
-    this.any = function (s, e) { \r
-      return rstr2any(rstr(s, utf8), e);\r
-    };\r
-    this.hex_hmac = function (k, d) { \r
-      return rstr2hex(rstr_hmac(k, d));\r
-    };\r
-    this.b64_hmac = function (k, d) { \r
-      return rstr2b64(rstr_hmac(k, d), b64pad);\r
-    };\r
-    this.any_hmac = function (k, d, e) { \r
-      return rstr2any(rstr_hmac(k, d), e); \r
-    };\r
-    /**\r
-     * Perform a simple self-test to see if the VM is working\r
-     * @return {String} Hexadecimal hash sample\r
-     * @public\r
-     */\r
-    this.vm_test = function () {\r
-      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';\r
-    };\r
-    /** \r
-     * @description Enable/disable uppercase hexadecimal returned string \r
-     * @param {boolean} \r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setUpperCase = function (a) {\r
-      if (typeof a === 'boolean' ) { hexcase = a; }\r
-      return this;\r
-    };\r
-    /** \r
-     * @description Defines a base64 pad string \r
-     * @param {string} Pad\r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setPad = function (a) {\r
-      if (typeof a !== 'undefined' ) { b64pad = a; }\r
-      return this;\r
-    };\r
-    /** \r
-     * @description Defines a base64 pad string \r
-     * @param {boolean} \r
-     * @return {Object} this\r
-     * @public\r
-     */ \r
-    this.setUTF8 = function (a) {\r
-      if (typeof a === 'boolean') { utf8 = a; }\r
-      return this;\r
-    };\r
-\r
-    /* private methods */\r
-\r
-    /**\r
-     * Calculate the rmd160 of a raw string\r
-     */\r
-    function rstr(s) {\r
-      s = (utf8) ? utf8Encode(s) : s;\r
-      return binl2rstr(binl(rstr2binl(s), s.length * 8));\r
-    }\r
-\r
-    /**\r
-     * Calculate the HMAC-rmd160 of a key and some data (raw strings)\r
-     */\r
-    function rstr_hmac(key, data) {\r
-      key = (utf8) ? utf8Encode(key) : key;\r
-      data = (utf8) ? utf8Encode(data) : data;\r
-      var i, hash,\r
-          bkey = rstr2binl(key),\r
-          ipad = Array(16), opad = Array(16);\r
-\r
-      if (bkey.length > 16) { \r
-        bkey = binl(bkey, key.length * 8); \r
-      }\r
-      \r
-      for (i = 0; i < 16; i+=1) {\r
-        ipad[i] = bkey[i] ^ 0x36363636;\r
-        opad[i] = bkey[i] ^ 0x5C5C5C5C;\r
-      }\r
-      hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);\r
-      return binl2rstr(binl(opad.concat(hash), 512 + 160));\r
-    }\r
-\r
-    /**\r
-     * Convert an array of little-endian words to a string\r
-     */\r
-    function binl2rstr(input) {\r
-      var output = '', i = 0;\r
-      for (; i < input.length * 32; i += 8) {\r
-        output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF);\r
-      }\r
-      return output;\r
-    }\r
-\r
-    /**\r
-     * Calculate the RIPE-MD160 of an array of little-endian words, and a bit length.\r
-     */\r
-    function binl(x, len) {\r
-      var T, j, i,\r
-          h0 = 0x67452301,\r
-          h1 = 0xefcdab89,\r
-          h2 = 0x98badcfe,\r
-          h3 = 0x10325476,\r
-          h4 = 0xc3d2e1f0,\r
-          A1 = h0, B1 = h1, C1 = h2, D1 = h3, E1 = h4,\r
-          A2 = h0, B2 = h1, C2 = h2, D2 = h3, E2 = h4;\r
-\r
-      /* append padding */\r
-      x[len >> 5] |= 0x80 << (len % 32);\r
-      x[(((len + 64) >>> 9) << 4) + 14] = len;\r
-\r
-      for (i = 0; i < x.length; i += 16) {\r
-        for (j = 0; j <= 79; ++j) {\r
-          T = safe_add(A1, rmd160_f(j, B1, C1, D1));\r
-          T = safe_add(T, x[i + rmd160_r1[j]]);\r
-          T = safe_add(T, rmd160_K1(j));\r
-          T = safe_add(bit_rol(T, rmd160_s1[j]), E1);\r
-          A1 = E1; E1 = D1; D1 = bit_rol(C1, 10); C1 = B1; B1 = T;\r
-          T = safe_add(A2, rmd160_f(79-j, B2, C2, D2));\r
-          T = safe_add(T, x[i + rmd160_r2[j]]);\r
-          T = safe_add(T, rmd160_K2(j));\r
-          T = safe_add(bit_rol(T, rmd160_s2[j]), E2);\r
-          A2 = E2; E2 = D2; D2 = bit_rol(C2, 10); C2 = B2; B2 = T;\r
-        }\r
-\r
-        T = safe_add(h1, safe_add(C1, D2));\r
-        h1 = safe_add(h2, safe_add(D1, E2));\r
-        h2 = safe_add(h3, safe_add(E1, A2));\r
-        h3 = safe_add(h4, safe_add(A1, B2));\r
-        h4 = safe_add(h0, safe_add(B1, C2));\r
-        h0 = T;\r
-      }\r
-      return [h0, h1, h2, h3, h4];\r
-    }\r
-\r
-    // specific algorithm methods \r
-    function rmd160_f(j, x, y, z) {\r
-      return ( 0 <= j && j <= 15) ? (x ^ y ^ z) :\r
-         (16 <= j && j <= 31) ? (x & y) | (~x & z) :\r
-         (32 <= j && j <= 47) ? (x | ~y) ^ z :\r
-         (48 <= j && j <= 63) ? (x & z) | (y & ~z) :\r
-         (64 <= j && j <= 79) ? x ^ (y | ~z) :\r
-         'rmd160_f: j out of range';\r
-    }\r
-\r
-    function rmd160_K1(j) {\r
-      return ( 0 <= j && j <= 15) ? 0x00000000 :\r
-         (16 <= j && j <= 31) ? 0x5a827999 :\r
-         (32 <= j && j <= 47) ? 0x6ed9eba1 :\r
-         (48 <= j && j <= 63) ? 0x8f1bbcdc :\r
-         (64 <= j && j <= 79) ? 0xa953fd4e :\r
-         'rmd160_K1: j out of range';\r
-    }\r
-\r
-    function rmd160_K2(j){\r
-      return ( 0 <= j && j <= 15) ? 0x50a28be6 :\r
-         (16 <= j && j <= 31) ? 0x5c4dd124 :\r
-         (32 <= j && j <= 47) ? 0x6d703ef3 :\r
-         (48 <= j && j <= 63) ? 0x7a6d76e9 :\r
-         (64 <= j && j <= 79) ? 0x00000000 :\r
-         'rmd160_K2: j out of range';\r
-    }\r
-  }\r
-};\r
-\r
-  // expose Hashes Object\r
-  (function( window, undefined ) {\r
-    var freeExports = false;\r
-    if (typeof exports === 'object' ) {\r
-      freeExports = exports;\r
-      if (exports && typeof global === 'object' && global && global === global.global ) { window = global; }\r
-    }\r
-\r
-    if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\r
-      // define as an anonymous module, so, through path mapping, it can be aliased\r
-      define(function () { return Hashes; });\r
-    }\r
-    else if ( freeExports ) {\r
-      // in Node.js or RingoJS v0.8.0+\r
-      if ( typeof module === 'object' && module && module.exports === freeExports ) {\r
-        module.exports = Hashes;\r
-      }\r
-      // in Narwhal or RingoJS v0.7.0-\r
-      else {\r
-        freeExports.Hashes = Hashes;\r
-      }\r
-    }\r
-    else {\r
-      // in a browser or Rhino\r
-      window.Hashes = Hashes;\r
-    }\r
-  }( this ));\r
-}()); // IIFE
-})(window)
-},{}]},{},[1])(1)
-});
-;/******************************************************************************
-       rtree.js - General-Purpose Non-Recursive Javascript R-Tree Library
-       Version 0.6.2, December 5st 2009
-
-@license Copyright (c) 2009 Jon-Carlos Rivera
-
-  Permission is hereby granted, free of charge, to any person obtaining
-  a copy of this software and associated documentation files (the
-  "Software"), to deal in the Software without restriction, including
-  without limitation the rights to use, copy, modify, merge, publish,
-  distribute, sublicense, and/or sell copies of the Software, and to
-  permit persons to whom the Software is furnished to do so, subject to
-  the following conditions:
-
-  The above copyright notice and this permission notice shall be
-  included in all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-  WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-       Jon-Carlos Rivera - imbcmdth@hotmail.com
-******************************************************************************/
+  LazyWrapper.prototype = baseCreate(baseLodash.prototype);
+  LazyWrapper.prototype.constructor = LazyWrapper;
 
-/**
- * RTree - A simple r-tree structure for great results.
- * @constructor
- */
-var RTree = function(width){
-       // Variables to control tree-dimensions
-       var _Min_Width = 3;  // Minimum width of any node before a merge
-       var _Max_Width = 6;  // Maximum width of any node before a split
-       if(!isNaN(width)){ _Min_Width = Math.floor(width/2.0); _Max_Width = width;}
-       // Start with an empty root-tree
-       var _T = {x:0, y:0, w:0, h:0, id:"root", nodes:[] };
-
-       var isArray = function(o) {
-               return Object.prototype.toString.call(o) === '[object Array]';
-       };
+  // Add functions to the `Set` cache.
+  SetCache.prototype.push = cachePush;
 
-       /**@function
-        * @description Function to generate unique strings for element IDs
-        * @param {String} n                    The prefix to use for the IDs generated.
-        * @return {String}                             A guarenteed unique ID.
-        */
-    var _name_to_id = (function() {
-        // hide our idCache inside this closure
-        var idCache = {};
-
-        // return the api: our function that returns a unique string with incrementing number appended to given idPrefix
-        return function(idPrefix) {
-            var idVal = 0;
-            if(idPrefix in idCache) {
-                idVal = idCache[idPrefix]++;
-            } else {
-                idCache[idPrefix] = 0;
-            }
-            return idPrefix + "_" + idVal;
-        }
-    })();
+  // Add functions that return wrapped values when chaining.
+  lodash.assign = assign;
+  lodash.bind = bind;
+  lodash.callback = callback;
+  lodash.chain = chain;
+  lodash.chunk = chunk;
+  lodash.compact = compact;
+  lodash.constant = constant;
+  lodash.debounce = debounce;
+  lodash.difference = difference;
+  lodash.filter = filter;
+  lodash.flatten = flatten;
+  lodash.forEach = forEach;
+  lodash.forOwn = forOwn;
+  lodash.groupBy = groupBy;
+  lodash.intersection = intersection;
+  lodash.keys = keys;
+  lodash.keysIn = keysIn;
+  lodash.map = map;
+  lodash.matches = matches;
+  lodash.merge = merge;
+  lodash.mixin = mixin;
+  lodash.omit = omit;
+  lodash.pairs = pairs;
+  lodash.pick = pick;
+  lodash.pluck = pluck;
+  lodash.property = property;
+  lodash.reject = reject;
+  lodash.restParam = restParam;
+  lodash.tap = tap;
+  lodash.throttle = throttle;
+  lodash.thru = thru;
+  lodash.toPlainObject = toPlainObject;
+  lodash.union = union;
+  lodash.uniq = uniq;
+  lodash.values = values;
+  lodash.without = without;
 
-       // This is my special addition to the world of r-trees
-       // every other (simple) method I found produced crap trees
-       // this skews insertions to prefering squarer and emptier nodes
-       RTree.Rectangle.squarified_ratio = function(l, w, fill) {
-         // Area of new enlarged rectangle
-         var lperi = (l + w) / 2.0; // Average size of a side of the new rectangle
-         var larea = l * w; // Area of new rectangle
-         // return the ratio of the perimeter to the area - the closer to 1 we are,
-         // the more "square" a rectangle is. conversly, when approaching zero the
-         // more elongated a rectangle is
-         var lgeo = larea / (lperi*lperi);
-         return(larea * fill / lgeo);
-       };
+  // Add aliases.
+  lodash.collect = map;
+  lodash.each = forEach;
+  lodash.extend = assign;
+  lodash.iteratee = callback;
+  lodash.select = filter;
+  lodash.unique = uniq;
 
-       /**find the best specific node(s) for object to be deleted from
-        * [ leaf node parent ] = _remove_subtree(rectangle, object, root)
-        * @private
-        */
-       var _remove_subtree = function(rect, obj, root) {
-               var hit_stack = []; // Contains the elements that overlap
-               var count_stack = []; // Contains the elements that overlap
-               var ret_array = [];
-               var current_depth = 1;
-
-               if(!rect || !RTree.Rectangle.overlap_rectangle(rect, root))
-                return ret_array;
-
-               var ret_obj = {x:rect.x, y:rect.y, w:rect.w, h:rect.h, target:obj};
-
-               count_stack.push(root.nodes.length);
-               hit_stack.push(root);
-
-               do {
-                       var tree = hit_stack.pop();
-                       var i = count_stack.pop()-1;
-
-                 if("target" in ret_obj) { // We are searching for a target
-                               while(i >= 0)   {
-                                       var ltree = tree.nodes[i];
-                                       if(RTree.Rectangle.overlap_rectangle(ret_obj, ltree)) {
-                                               if( (ret_obj.target && "leaf" in ltree && ltree.leaf === ret_obj.target)
-                                                       ||(!ret_obj.target && ("leaf" in ltree || RTree.Rectangle.contains_rectangle(ltree, ret_obj)))) { // A Match !!
-                                               // Yup we found a match...
-                                               // we can cancel search and start walking up the list
-                                               if("nodes" in ltree) {// If we are deleting a node not a leaf...
-                                                       ret_array = _search_subtree(ltree, true, [], ltree);
-                                                       tree.nodes.splice(i, 1);
-                                               } else {
-                                                               ret_array = tree.nodes.splice(i, 1);
-                                                       }
-                                                       // Resize MBR down...
-                                                       RTree.Rectangle.make_MBR(tree.nodes, tree);
-                                                       delete ret_obj.target;
-                                                       if(tree.nodes.length < _Min_Width) { // Underflow
-                                                               ret_obj.nodes = _search_subtree(tree, true, [], tree);
-                                                       }
-                                                       break;
-                                       }/*     else if("load" in ltree) { // A load
-                                       }*/     else if("nodes" in ltree) { // Not a Leaf
-                                               current_depth += 1;
-                                               count_stack.push(i);
-                                               hit_stack.push(tree);
-                                               tree = ltree;
-                                               i = ltree.nodes.length;
-                                       }
-                                 }
-                                       i -= 1;
-                               }
-                       } else if("nodes" in ret_obj) { // We are unsplitting
-                               tree.nodes.splice(i+1, 1); // Remove unsplit node
-                               // ret_obj.nodes contains a list of elements removed from the tree so far
-                               if(tree.nodes.length > 0)
-                                       RTree.Rectangle.make_MBR(tree.nodes, tree);
-                               for(var t = 0;t<ret_obj.nodes.length;t++)
-                                       _insert_subtree(ret_obj.nodes[t], tree);
-                               ret_obj.nodes.length = 0;
-                               if(hit_stack.length == 0 && tree.nodes.length <= 1) { // Underflow..on root!
-                                       ret_obj.nodes = _search_subtree(tree, true, ret_obj.nodes, tree);
-                                       tree.nodes.length = 0;
-                                       hit_stack.push(tree);
-                                       count_stack.push(1);
-                               } else if(hit_stack.length > 0 && tree.nodes.length < _Min_Width) { // Underflow..AGAIN!
-                                       ret_obj.nodes = _search_subtree(tree, true, ret_obj.nodes, tree);
-                                       tree.nodes.length = 0;
-                               }else {
-                                       delete ret_obj.nodes; // Just start resizing
-                               }
-                       } else { // we are just resizing
-                               RTree.Rectangle.make_MBR(tree.nodes, tree);
-                       }
-                       current_depth -= 1;
-               }while(hit_stack.length > 0);
+  // Add functions to `lodash.prototype`.
+  mixin(lodash, lodash);
 
-               return(ret_array);
-       };
+  /*------------------------------------------------------------------------*/
 
-       /**choose the best damn node for rectangle to be inserted into
-        * [ leaf node parent ] = _choose_leaf_subtree(rectangle, root to start search at)
-        * @private
-        */
-       var _choose_leaf_subtree = function(rect, root) {
-               var best_choice_index = -1;
-               var best_choice_stack = [];
-               var best_choice_area;
-
-               var load_callback = function(local_tree, local_node){
-                       return(function(data) {
-                               local_tree._attach_data(local_node, data);
-                       });
-               };
+  // Add functions that return unwrapped values when chaining.
+  lodash.clone = clone;
+  lodash.cloneDeep = cloneDeep;
+  lodash.escapeRegExp = escapeRegExp;
+  lodash.every = every;
+  lodash.find = find;
+  lodash.first = first;
+  lodash.identity = identity;
+  lodash.includes = includes;
+  lodash.indexOf = indexOf;
+  lodash.isArguments = isArguments;
+  lodash.isArray = isArray;
+  lodash.isEmpty = isEmpty;
+  lodash.isEqual = isEqual;
+  lodash.isFunction = isFunction;
+  lodash.isNative = isNative;
+  lodash.isObject = isObject;
+  lodash.isPlainObject = isPlainObject;
+  lodash.isString = isString;
+  lodash.isTypedArray = isTypedArray;
+  lodash.last = last;
+  lodash.noop = noop;
+  lodash.now = now;
+  lodash.reduce = reduce;
+  lodash.some = some;
 
-               best_choice_stack.push(root);
-               var nodes = root.nodes;
+  // Add aliases.
+  lodash.all = every;
+  lodash.any = some;
+  lodash.contains = includes;
+  lodash.eq = isEqual;
+  lodash.detect = find;
+  lodash.foldl = reduce;
+  lodash.head = first;
+  lodash.include = includes;
+  lodash.inject = reduce;
 
-               do {
-                       if(best_choice_index != -1)     {
-                               best_choice_stack.push(nodes[best_choice_index]);
-                               nodes = nodes[best_choice_index].nodes;
-                               best_choice_index = -1;
-                       }
+  mixin(lodash, (function() {
+    var source = {};
+    baseForOwn(lodash, function(func, methodName) {
+      if (!lodash.prototype[methodName]) {
+        source[methodName] = func;
+      }
+    });
+    return source;
+  }()), false);
 
-                       for(var i = nodes.length-1; i >= 0; i--) {
-                               var ltree = nodes[i];
-                               if("leaf" in ltree) {
-                                       // Bail out of everything and start inserting
-                                       best_choice_index = -1;
-                                       break;
-                         } /*else if(ltree.load) {
-                               throw( "Can't insert into partially loaded tree ... yet!");
-                               //jQuery.getJSON(ltree.load, load_callback(this, ltree));
-                               //delete ltree.load;
-                       }*/
-                         // Area of new enlarged rectangle
-                         var old_lratio = RTree.Rectangle.squarified_ratio(ltree.w, ltree.h, ltree.nodes.length+1);
-
-                         // Enlarge rectangle to fit new rectangle
-                         var nw = Math.max(ltree.x+ltree.w, rect.x+rect.w) - Math.min(ltree.x, rect.x);
-                         var nh = Math.max(ltree.y+ltree.h, rect.y+rect.h) - Math.min(ltree.y, rect.y);
-
-                         // Area of new enlarged rectangle
-                         var lratio = RTree.Rectangle.squarified_ratio(nw, nh, ltree.nodes.length+2);
-
-                         if(best_choice_index < 0 || Math.abs(lratio - old_lratio) < best_choice_area) {
-                               best_choice_area = Math.abs(lratio - old_lratio); best_choice_index = i;
-                         }
-                       }
-               }while(best_choice_index != -1);
+  /*------------------------------------------------------------------------*/
 
-               return(best_choice_stack);
-       };
+  lodash.prototype.sample = function(n) {
+    if (!this.__chain__ && n == null) {
+      return sample(this.value());
+    }
+    return this.thru(function(value) {
+      return sample(value, n);
+    });
+  };
 
-       /**split a set of nodes into two roughly equally-filled nodes
-        * [ an array of two new arrays of nodes ] = linear_split(array of nodes)
-        * @private
-        */
-       var _linear_split = function(nodes) {
-               var n = _pick_linear(nodes);
-               while(nodes.length > 0) {
-                       _pick_next(nodes, n[0], n[1]);
-               }
-               return(n);
-       };
+  /*------------------------------------------------------------------------*/
 
-       /**insert the best source rectangle into the best fitting parent node: a or b
-        * [] = pick_next(array of source nodes, target node array a, target node array b)
-        * @private
-        */
-       var _pick_next = function(nodes, a, b) {
-         // Area of new enlarged rectangle
-               var area_a = RTree.Rectangle.squarified_ratio(a.w, a.h, a.nodes.length+1);
-               var area_b = RTree.Rectangle.squarified_ratio(b.w, b.h, b.nodes.length+1);
-               var high_area_delta;
-               var high_area_node;
-               var lowest_growth_group;
-
-               for(var i = nodes.length-1; i>=0;i--) {
-                       var l = nodes[i];
-                       var new_area_a = {};
-                       new_area_a.x = Math.min(a.x, l.x); new_area_a.y = Math.min(a.y, l.y);
-                       new_area_a.w = Math.max(a.x+a.w, l.x+l.w) - new_area_a.x;       new_area_a.h = Math.max(a.y+a.h, l.y+l.h) - new_area_a.y;
-                       var change_new_area_a = Math.abs(RTree.Rectangle.squarified_ratio(new_area_a.w, new_area_a.h, a.nodes.length+2) - area_a);
-
-                       var new_area_b = {};
-                       new_area_b.x = Math.min(b.x, l.x); new_area_b.y = Math.min(b.y, l.y);
-                       new_area_b.w = Math.max(b.x+b.w, l.x+l.w) - new_area_b.x;       new_area_b.h = Math.max(b.y+b.h, l.y+l.h) - new_area_b.y;
-                       var change_new_area_b = Math.abs(RTree.Rectangle.squarified_ratio(new_area_b.w, new_area_b.h, b.nodes.length+2) - area_b);
-
-                       if( !high_area_node || !high_area_delta || Math.abs( change_new_area_b - change_new_area_a ) < high_area_delta ) {
-                               high_area_node = i;
-                               high_area_delta = Math.abs(change_new_area_b-change_new_area_a);
-                               lowest_growth_group = change_new_area_b < change_new_area_a ? b : a;
-                       }
-               }
-               var temp_node = nodes.splice(high_area_node, 1)[0];
-               if(a.nodes.length + nodes.length + 1 <= _Min_Width)     {
-                       a.nodes.push(temp_node);
-                       RTree.Rectangle.expand_rectangle(a, temp_node);
-               }       else if(b.nodes.length + nodes.length + 1 <= _Min_Width) {
-                       b.nodes.push(temp_node);
-                       RTree.Rectangle.expand_rectangle(b, temp_node);
-               }
-               else {
-                       lowest_growth_group.nodes.push(temp_node);
-                       RTree.Rectangle.expand_rectangle(lowest_growth_group, temp_node);
-               }
-       };
+  /**
+   * The semantic version number.
+   *
+   * @static
+   * @memberOf _
+   * @type string
+   */
+  lodash.VERSION = VERSION;
+
+  // Assign default placeholders.
+  bind.placeholder = lodash;
+
+  // Add `LazyWrapper` methods that accept an `iteratee` value.
+  arrayEach(['dropWhile', 'filter', 'map', 'takeWhile'], function(methodName, type) {
+    var isFilter = type != LAZY_MAP_FLAG,
+        isDropWhile = type == LAZY_DROP_WHILE_FLAG;
+
+    LazyWrapper.prototype[methodName] = function(iteratee, thisArg) {
+      var filtered = this.__filtered__,
+          result = (filtered && isDropWhile) ? new LazyWrapper(this) : this.clone(),
+          iteratees = result.__iteratees__ || (result.__iteratees__ = []);
+
+      iteratees.push({
+        'done': false,
+        'count': 0,
+        'index': 0,
+        'iteratee': getCallback(iteratee, thisArg, 1),
+        'limit': -1,
+        'type': type
+      });
 
-       /**pick the "best" two starter nodes to use as seeds using the "linear" criteria
-        * [ an array of two new arrays of nodes ] = pick_linear(array of source nodes)
-        * @private
-        */
-       var _pick_linear = function(nodes) {
-               var lowest_high_x = nodes.length-1;
-               var highest_low_x = 0;
-               var lowest_high_y = nodes.length-1;
-               var highest_low_y = 0;
-        var t1, t2;
-
-               for(var i = nodes.length-2; i>=0;i--)   {
-                       var l = nodes[i];
-                       if(l.x > nodes[highest_low_x].x ) highest_low_x = i;
-                       else if(l.x+l.w < nodes[lowest_high_x].x+nodes[lowest_high_x].w) lowest_high_x = i;
-                       if(l.y > nodes[highest_low_y].y ) highest_low_y = i;
-                       else if(l.y+l.h < nodes[lowest_high_y].y+nodes[lowest_high_y].h) lowest_high_y = i;
-               }
-               var dx = Math.abs((nodes[lowest_high_x].x+nodes[lowest_high_x].w) - nodes[highest_low_x].x);
-               var dy = Math.abs((nodes[lowest_high_y].y+nodes[lowest_high_y].h) - nodes[highest_low_y].y);
-               if( dx > dy )   {
-                       if(lowest_high_x > highest_low_x)       {
-                               t1 = nodes.splice(lowest_high_x, 1)[0];
-                               t2 = nodes.splice(highest_low_x, 1)[0];
-                       }       else {
-                               t2 = nodes.splice(highest_low_x, 1)[0];
-                               t1 = nodes.splice(lowest_high_x, 1)[0];
-                       }
-               }       else {
-                       if(lowest_high_y > highest_low_y)       {
-                               t1 = nodes.splice(lowest_high_y, 1)[0];
-                               t2 = nodes.splice(highest_low_y, 1)[0];
-                       }       else {
-                               t2 = nodes.splice(highest_low_y, 1)[0];
-                               t1 = nodes.splice(lowest_high_y, 1)[0];
-                       }
-               }
-               return([{x:t1.x, y:t1.y, w:t1.w, h:t1.h, nodes:[t1]},
-                             {x:t2.x, y:t2.y, w:t2.w, h:t2.h, nodes:[t2]} ]);
-       };
+      result.__filtered__ = filtered || isFilter;
+      return result;
+    };
+  });
 
-       var _attach_data = function(node, more_tree){
-               node.nodes = more_tree.nodes;
-               node.x = more_tree.x; node.y = more_tree.y;
-               node.w = more_tree.w; node.h = more_tree.h;
-               return(node);
-       };
+  // Add `LazyWrapper` methods for `_.drop` and `_.take` variants.
+  arrayEach(['drop', 'take'], function(methodName, index) {
+    var whileName = methodName + 'While';
 
-       /**non-recursive internal search function
-        * [ nodes | objects ] = _search_subtree(rectangle, [return node data], [array to fill], root to begin search at)
-        * @private
-        */
-       var _search_subtree = function(rect, return_node, return_array, root) {
-               var hit_stack = []; // Contains the elements that overlap
+    LazyWrapper.prototype[methodName] = function(n) {
+      var filtered = this.__filtered__,
+          result = (filtered && !index) ? this.dropWhile() : this.clone();
 
-               if(!RTree.Rectangle.overlap_rectangle(rect, root))
-                return(return_array);
+      n = n == null ? 1 : nativeMax(floor(n) || 0, 0);
+      if (filtered) {
+        if (index) {
+          result.__takeCount__ = nativeMin(result.__takeCount__, n);
+        } else {
+          last(result.__iteratees__).limit = n;
+        }
+      } else {
+        var views = result.__views__ || (result.__views__ = []);
+        views.push({ 'size': n, 'type': methodName + (result.__dir__ < 0 ? 'Right' : '') });
+      }
+      return result;
+    };
 
-               var load_callback = function(local_tree, local_node){
-                       return(function(data) {
-                               local_tree._attach_data(local_node, data);
-                       });
-               };
-
-               hit_stack.push(root.nodes);
-
-               do {
-                       var nodes = hit_stack.pop();
-
-                       for(var i = nodes.length-1; i >= 0; i--) {
-                               var ltree = nodes[i];
-                         if(RTree.Rectangle.overlap_rectangle(rect, ltree)) {
-                               if("nodes" in ltree) { // Not a Leaf
-                                       hit_stack.push(ltree.nodes);
-                               } else if("leaf" in ltree) { // A Leaf !!
-                                       if(!return_node)
-                                               return_array.push(ltree.leaf);
-                                       else
-                                               return_array.push(ltree);
-                               }/*     else if("load" in ltree) { // We need to fetch a URL for some more tree data
-                                       jQuery.getJSON(ltree.load, load_callback(this, ltree));
-                                       delete ltree.load;
-                               //      i++; // Replay this entry
-                               }*/
-                               }
-                       }
-               }while(hit_stack.length > 0);
+    LazyWrapper.prototype[methodName + 'Right'] = function(n) {
+      return this.reverse()[methodName](n).reverse();
+    };
 
-               return(return_array);
-       };
+    LazyWrapper.prototype[methodName + 'RightWhile'] = function(predicate, thisArg) {
+      return this.reverse()[whileName](predicate, thisArg).reverse();
+    };
+  });
 
-       /**non-recursive internal insert function
-        * [] = _insert_subtree(rectangle, object to insert, root to begin insertion at)
-        * @private
-        */
-       var _insert_subtree = function(node, root) {
-               var bc; // Best Current node
-               // Initial insertion is special because we resize the Tree and we don't
-               // care about any overflow (seriously, how can the first object overflow?)
-               if(root.nodes.length == 0) {
-                       root.x = node.x; root.y = node.y;
-                       root.w = node.w; root.h = node.h;
-                       root.nodes.push(node);
-                       return;
-               }
+  // Add `LazyWrapper` methods for `_.first` and `_.last`.
+  arrayEach(['first', 'last'], function(methodName, index) {
+    var takeName = 'take' + (index ? 'Right' : '');
 
-               // Find the best fitting leaf node
-               // choose_leaf returns an array of all tree levels (including root)
-               // that were traversed while trying to find the leaf
-               var tree_stack = _choose_leaf_subtree(node, root);
-               var ret_obj = node;//{x:rect.x,y:rect.y,w:rect.w,h:rect.h, leaf:obj};
-
-               // Walk back up the tree resizing and inserting as needed
-               do {
-                       //handle the case of an empty node (from a split)
-                       if(bc && "nodes" in bc && bc.nodes.length == 0) {
-                               var pbc = bc; // Past bc
-                               bc = tree_stack.pop();
-                               for(var t=0;t<bc.nodes.length;t++)
-                                       if(bc.nodes[t] === pbc || bc.nodes[t].nodes.length == 0) {
-                                               bc.nodes.splice(t, 1);
-                                               break;
-                               }
-                       } else {
-                               bc = tree_stack.pop();
-                       }
+    LazyWrapper.prototype[methodName] = function() {
+      return this[takeName](1).value()[0];
+    };
+  });
 
-                       // If there is data attached to this ret_obj
-                       if("leaf" in ret_obj || "nodes" in ret_obj || isArray(ret_obj)) {
-                               // Do Insert
-                               if(isArray(ret_obj)) {
-                                       for(var ai = 0; ai < ret_obj.length; ai++) {
-                                               RTree.Rectangle.expand_rectangle(bc, ret_obj[ai]);
-                                       }
-                                       bc.nodes = bc.nodes.concat(ret_obj);
-                               } else {
-                                       RTree.Rectangle.expand_rectangle(bc, ret_obj);
-                                       bc.nodes.push(ret_obj); // Do Insert
-                               }
+  // Add `LazyWrapper` methods for `_.initial` and `_.rest`.
+  arrayEach(['initial', 'rest'], function(methodName, index) {
+    var dropName = 'drop' + (index ? '' : 'Right');
 
-                               if(bc.nodes.length <= _Max_Width)       { // Start Resizeing Up the Tree
-                                       ret_obj = {x:bc.x,y:bc.y,w:bc.w,h:bc.h};
-                               }       else { // Otherwise Split this Node
-                                       // linear_split() returns an array containing two new nodes
-                                       // formed from the split of the previous node's overflow
-                                       var a = _linear_split(bc.nodes);
-                                       ret_obj = a;//[1];
-
-                                       if(tree_stack.length < 1)       { // If are splitting the root..
-                                               bc.nodes.push(a[0]);
-                                               tree_stack.push(bc);     // Reconsider the root element
-                                               ret_obj = a[1];
-                                       } /*else {
-                                               delete bc;
-                                       }*/
-                               }
-                       }       else { // Otherwise Do Resize
-                               //Just keep applying the new bounding rectangle to the parents..
-                               RTree.Rectangle.expand_rectangle(bc, ret_obj);
-                               ret_obj = {x:bc.x,y:bc.y,w:bc.w,h:bc.h};
-                       }
-               } while(tree_stack.length > 0);
-       };
+    LazyWrapper.prototype[methodName] = function() {
+      return this[dropName](1);
+    };
+  });
 
-       /**quick 'n' dirty function for plugins or manually drawing the tree
-        * [ tree ] = RTree.get_tree(): returns the raw tree data. useful for adding
-        * @public
-        * !! DEPRECATED !!
-        */
-       this.get_tree = function() {
-               return _T;
-       };
+  // Add `LazyWrapper` methods for `_.pluck` and `_.where`.
+  arrayEach(['pluck', 'where'], function(methodName, index) {
+    var operationName = index ? 'filter' : 'map',
+        createCallback = index ? baseMatches : property;
 
-       /**quick 'n' dirty function for plugins or manually loading the tree
-        * [ tree ] = RTree.set_tree(sub-tree, where to attach): returns the raw tree data. useful for adding
-        * @public
-        * !! DEPRECATED !!
-        */
-       this.set_tree = function(new_tree, where) {
-               if(!where)
-                       where = _T;
-               return(_attach_data(where, new_tree));
-       };
+    LazyWrapper.prototype[methodName] = function(value) {
+      return this[operationName](createCallback(value));
+    };
+  });
 
-       /**non-recursive search function
-        * [ nodes | objects ] = RTree.search(rectangle, [return node data], [array to fill])
-        * @public
-        */
-       this.search = function(rect, return_node, return_array) {
-               if(arguments.length < 1)
-                       throw "Wrong number of arguments. RT.Search requires at least a bounding rectangle."
-
-               switch(arguments.length) {
-                       case 1:
-                               arguments[1] = false;// Add an "return node" flag - may be removed in future
-                       case 2:
-                               arguments[2] = []; // Add an empty array to contain results
-                       case 3:
-                               arguments[3] = _T; // Add root node to end of argument list
-                       default:
-                               arguments.length = 4;
-               }
-               return(_search_subtree.apply(this, arguments));
-       };
+  LazyWrapper.prototype.compact = function() {
+    return this.filter(identity);
+  };
 
-       /**partially-recursive toJSON function
-        * [ string ] = RTree.toJSON([rectangle], [tree])
-        * @public
-        */
-       this.toJSON = function(rect, tree) {
-               var hit_stack = []; // Contains the elements that overlap
-               var count_stack = []; // Contains the elements that overlap
-               var return_stack = {}; // Contains the elements that overlap
-               var max_depth = 3;  // This triggers recursion and tree-splitting
-               var current_depth = 1;
-               var return_string = "";
-
-               if(rect && !RTree.Rectangle.overlap_rectangle(rect, _T))
-                return "";
-
-               if(!tree)       {
-                       count_stack.push(_T.nodes.length);
-                       hit_stack.push(_T.nodes);
-                       return_string += "var main_tree = {x:"+_T.x.toFixed()+",y:"+_T.y.toFixed()+",w:"+_T.w.toFixed()+",h:"+_T.h.toFixed()+",nodes:[";
-               }       else {
-                       max_depth += 4;
-                       count_stack.push(tree.nodes.length);
-                       hit_stack.push(tree.nodes);
-                       return_string += "var main_tree = {x:"+tree.x.toFixed()+",y:"+tree.y.toFixed()+",w:"+tree.w.toFixed()+",h:"+tree.h.toFixed()+",nodes:[";
-               }
+  LazyWrapper.prototype.reject = function(predicate, thisArg) {
+    predicate = getCallback(predicate, thisArg, 1);
+    return this.filter(function(value) {
+      return !predicate(value);
+    });
+  };
 
-               do {
-                       var nodes = hit_stack.pop();
-                       var i = count_stack.pop()-1;
-
-                       if(i >= 0 && i < nodes.length-1)
-                               return_string += ",";
-
-                       while(i >= 0)   {
-                               var ltree = nodes[i];
-                         if(!rect || RTree.Rectangle.overlap_rectangle(rect, ltree)) {
-                               if(ltree.nodes) { // Not a Leaf
-                                       if(current_depth >= max_depth) {
-                                               var len = return_stack.length;
-                                               var nam = _name_to_id("saved_subtree");
-                                               return_string += "{x:"+ltree.x.toFixed()+",y:"+ltree.y.toFixed()+",w:"+ltree.w.toFixed()+",h:"+ltree.h.toFixed()+",load:'"+nam+".js'}";
-                                               return_stack[nam] = this.toJSON(rect, ltree);
-                                                       if(i > 0)
-                                                               return_string += ","
-                                       }       else {
-                                               return_string += "{x:"+ltree.x.toFixed()+",y:"+ltree.y.toFixed()+",w:"+ltree.w.toFixed()+",h:"+ltree.h.toFixed()+",nodes:[";
-                                               current_depth += 1;
-                                               count_stack.push(i);
-                                               hit_stack.push(nodes);
-                                               nodes = ltree.nodes;
-                                               i = ltree.nodes.length;
-                                       }
-                               }       else if(ltree.leaf) { // A Leaf !!
-                                       var data = ltree.leaf.toJSON ? ltree.leaf.toJSON() : JSON.stringify(ltree.leaf);
-                                       return_string += "{x:"+ltree.x.toFixed()+",y:"+ltree.y.toFixed()+",w:"+ltree.w.toFixed()+",h:"+ltree.h.toFixed()+",leaf:" + data + "}";
-                                               if(i > 0)
-                                                       return_string += ","
-                               }       else if(ltree.load) { // A load
-                                       return_string += "{x:"+ltree.x.toFixed()+",y:"+ltree.y.toFixed()+",w:"+ltree.w.toFixed()+",h:"+ltree.h.toFixed()+",load:'" + ltree.load + "'}";
-                                               if(i > 0)
-                                                       return_string += ","
-                               }
-                               }
-                               i -= 1;
-                       }
-                       if(i < 0)       {
-                                       return_string += "]}"; current_depth -= 1;
-                       }
-               }while(hit_stack.length > 0);
+  LazyWrapper.prototype.slice = function(start, end) {
+    start = start == null ? 0 : (+start || 0);
 
-               return_string+=";";
+    var result = this;
+    if (start < 0) {
+      result = this.takeRight(-start);
+    } else if (start) {
+      result = this.drop(start);
+    }
+    if (end !== undefined) {
+      end = (+end || 0);
+      result = end < 0 ? result.dropRight(-end) : result.take(end - start);
+    }
+    return result;
+  };
 
-               for(var my_key in return_stack) {
-                       return_string += "\nvar " + my_key + " = function(){" + return_stack[my_key] + " return(main_tree);};";
-               }
-               return(return_string);
-       };
+  LazyWrapper.prototype.toArray = function() {
+    return this.drop(0);
+  };
 
-       /**non-recursive function that deletes a specific
-        * [ number ] = RTree.remove(rectangle, obj)
-        */
-       this.remove = function(rect, obj) {
-               if(arguments.length < 1)
-                       throw "Wrong number of arguments. RT.remove requires at least a bounding rectangle."
-
-               switch(arguments.length) {
-                       case 1:
-                               arguments[1] = false; // obj == false for conditionals
-                       case 2:
-                               arguments[2] = _T; // Add root node to end of argument list
-                       default:
-                               arguments.length = 3;
-               }
-               if(arguments[1] === false) { // Do area-wide delete
-                       var numberdeleted = 0;
-                       var ret_array = [];
-                       do {
-                               numberdeleted=ret_array.length;
-                               ret_array = ret_array.concat(_remove_subtree.apply(this, arguments));
-                       }while( numberdeleted !=  ret_array.length);
-                       return ret_array;
-               }
-               else { // Delete a specific item
-                       return(_remove_subtree.apply(this, arguments));
-               }
-       };
+  // Add `LazyWrapper` methods to `lodash.prototype`.
+  baseForOwn(LazyWrapper.prototype, function(func, methodName) {
+    var lodashFunc = lodash[methodName];
+    if (!lodashFunc) {
+      return;
+    }
+    var checkIteratee = /^(?:filter|map|reject)|While$/.test(methodName),
+        retUnwrapped = /^(?:first|last)$/.test(methodName);
 
-       /**non-recursive insert function
-        * [] = RTree.insert(rectangle, object to insert)
-        */
-       this.insert = function(rect, obj) {
-/*             if(arguments.length < 2)
-                       throw "Wrong number of arguments. RT.Insert requires at least a bounding rectangle and an object."*/
+    lodash.prototype[methodName] = function() {
+      var args = arguments,
+          chainAll = this.__chain__,
+          value = this.__wrapped__,
+          isHybrid = !!this.__actions__.length,
+          isLazy = value instanceof LazyWrapper,
+          iteratee = args[0],
+          useLazy = isLazy || isArray(value);
+
+      if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {
+        // avoid lazy use if the iteratee has a "length" value other than `1`
+        isLazy = useLazy = false;
+      }
+      var onlyLazy = isLazy && !isHybrid;
+      if (retUnwrapped && !chainAll) {
+        return onlyLazy
+          ? func.call(value)
+          : lodashFunc.call(lodash, this.value());
+      }
+      var interceptor = function(value) {
+        var otherArgs = [value];
+        push.apply(otherArgs, args);
+        return lodashFunc.apply(lodash, otherArgs);
+      };
+      if (useLazy) {
+        var wrapper = onlyLazy ? value : new LazyWrapper(this),
+            result = func.apply(wrapper, args);
 
-               return(_insert_subtree({x:rect.x,y:rect.y,w:rect.w,h:rect.h,leaf:obj}, _T));
-       };
+        if (!retUnwrapped && (isHybrid || result.__actions__)) {
+          var actions = result.__actions__ || (result.__actions__ = []);
+          actions.push({ 'func': thru, 'args': [interceptor], 'thisArg': lodash });
+        }
+        return new LodashWrapper(result, chainAll);
+      }
+      return this.thru(interceptor);
+    };
+  });
 
-       /**non-recursive delete function
-        * [deleted object] = RTree.remove(rectangle, [object to delete])
-        */
+  // Add `Array` and `String` methods to `lodash.prototype`.
+  arrayEach(['concat', 'join', 'pop', 'push', 'replace', 'shift', 'sort', 'splice', 'split', 'unshift'], function(methodName) {
+    var protoFunc = (/^(?:replace|split)$/.test(methodName) ? stringProto : arrayProto)[methodName],
+        chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',
+        fixObjects = !support.spliceObjects && /^(?:pop|shift|splice)$/.test(methodName),
+        retUnwrapped = /^(?:join|pop|replace|shift)$/.test(methodName);
+
+    // Avoid array-like object bugs with `Array#shift` and `Array#splice` in
+    // IE < 9, Firefox < 10, and RingoJS.
+    var func = !fixObjects ? protoFunc : function() {
+      var result = protoFunc.apply(this, arguments);
+      if (this.length === 0) {
+        delete this[0];
+      }
+      return result;
+    };
 
-//End of RTree
-};
+    lodash.prototype[methodName] = function() {
+      var args = arguments;
+      if (retUnwrapped && !this.__chain__) {
+        return func.apply(this.value(), args);
+      }
+      return this[chainName](function(value) {
+        return func.apply(value, args);
+      });
+    };
+  });
 
-/**Rectangle - Generic rectangle object - Not yet used */
+  // Map minified function names to their real names.
+  baseForOwn(LazyWrapper.prototype, function(func, methodName) {
+    var lodashFunc = lodash[methodName];
+    if (lodashFunc) {
+      var key = lodashFunc.name,
+          names = realNames[key] || (realNames[key] = []);
 
-RTree.Rectangle = function(ix, iy, iw, ih) { // new Rectangle(bounds) or new Rectangle(x, y, w, h)
-    var x, x2, y, y2, w, h;
+      names.push({ 'name': methodName, 'func': lodashFunc });
+    }
+  });
 
-    if(ix.x) {
-               x = ix.x; y = ix.y;
-                       if(ix.w !== 0 && !ix.w && ix.x2){
-                               w = ix.x2-ix.x; h = ix.y2-ix.y;
-                       }       else {
-                               w = ix.w;       h = ix.h;
-                       }
-               x2 = x + w; y2 = y + h; // For extra fastitude
-       } else {
-               x = ix; y = iy; w = iw; h = ih;
-               x2 = x + w; y2 = y + h; // For extra fastitude
-       }
+  realNames[createHybridWrapper(null, BIND_KEY_FLAG).name] = [{ 'name': 'wrapper', 'func': null }];
 
-       this.x1 = this.x = x;
-       this.y1 = this.y = y;
-       this.x2 = x2;
-       this.y2 = y2;
-       this.w = w;
-       this.h = h;
+  // Add functions to the lazy wrapper.
+  LazyWrapper.prototype.clone = lazyClone;
+  LazyWrapper.prototype.reverse = lazyReverse;
+  LazyWrapper.prototype.value = lazyValue;
 
-       this.toJSON = function() {
-               return('{"x":'+x.toString()+', "y":'+y.toString()+', "w":'+w.toString()+', "h":'+h.toString()+'}');
-       };
+  // Add chaining functions to the `lodash` wrapper.
+  lodash.prototype.chain = wrapperChain;
+  lodash.prototype.commit = wrapperCommit;
+  lodash.prototype.plant = wrapperPlant;
+  lodash.prototype.reverse = wrapperReverse;
+  lodash.prototype.toString = wrapperToString;
+  lodash.prototype.run = lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;
 
-       this.overlap = function(a) {
-               return(this.x() < a.x2() && this.x2() > a.x() && this.y() < a.y2() && this.y2() > a.y());
-       };
+  // Add function aliases to the `lodash` wrapper.
+  lodash.prototype.collect = lodash.prototype.map;
+  lodash.prototype.head = lodash.prototype.first;
+  lodash.prototype.select = lodash.prototype.filter;
+  lodash.prototype.tail = lodash.prototype.rest;
 
-       this.expand = function(a) {
-               var nx = Math.min(this.x(), a.x());
-               var ny = Math.min(this.y(), a.y());
-               w = Math.max(this.x2(), a.x2()) - nx;
-               h = Math.max(this.y2(), a.y2()) - ny;
-               x = nx; y = ny;
-               return(this);
-       };
+  /*--------------------------------------------------------------------------*/
 
-       this.setRect = function(ix, iy, iw, ih) {
-        var x, x2, y, y2, w, h;
-               if(ix.x) {
-                       x = ix.x; y = ix.y;
-                       if(ix.w !== 0 && !ix.w && ix.x2) {
-                               w = ix.x2-ix.x; h = ix.y2-ix.y;
-                       }       else {
-                               w = ix.w;       h = ix.h;
-                       }
-                       x2 = x + w; y2 = y + h; // For extra fastitude
-               } else {
-                       x = ix; y = iy; w = iw; h = ih;
-                       x2 = x + w; y2 = y + h; // For extra fastitude
-               }
-       };
-//End of RTree.Rectangle
-};
+  if (freeExports && freeModule) {
+    // Export for Node.js or RingoJS.
+    if (moduleExports) {
+      (freeModule.exports = lodash)._ = lodash;
+    }
+  }
+  else {
+    // Export for a browser or Rhino.
+    root._ = lodash;
+  }
+}.call(this));
+(function(e){if("function"==typeof bootstrap)bootstrap("osmauth",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeOsmAuth=e}else"undefined"!=typeof window?window.osmAuth=e():global.osmAuth=e()})(function(){var define,ses,bootstrap,module,exports;
+return (function(e,t,n){function i(n,s){if(!t[n]){if(!e[n]){var o=typeof require=="function"&&require;if(!s&&o)return o(n,!0);if(r)return r(n,!0);throw new Error("Cannot find module '"+n+"'")}var u=t[n]={exports:{}};e[n][0].call(u.exports,function(t){var r=e[n][1][t];return i(r?r:t)},u,u.exports)}return t[n].exports}var r=typeof require=="function"&&require;for(var s=0;s<n.length;s++)i(n[s]);return i})({1:[function(require,module,exports){
+'use strict';
 
+var ohauth = require('ohauth'),
+    xtend = require('xtend'),
+    store = require('store');
 
-/**returns true if rectangle 1 overlaps rectangle 2
- * [ boolean ] = overlap_rectangle(rectangle a, rectangle b)
- * @static function
- */
-RTree.Rectangle.overlap_rectangle = function(a, b) {
-       return(a.x < (b.x+b.w) && (a.x+a.w) > b.x && a.y < (b.y+b.h) && (a.y+a.h) > b.y);
-};
+// # osm-auth
+//
+// This code is only compatible with IE10+ because the [XDomainRequest](http://bit.ly/LfO7xo)
+// object, IE<10's idea of [CORS](http://en.wikipedia.org/wiki/Cross-origin_resource_sharing),
+// does not support custom headers, which this uses everywhere.
+module.exports = function(o) {
 
-/**returns true if rectangle a is contained in rectangle b
- * [ boolean ] = contains_rectangle(rectangle a, rectangle b)
- * @static function
- */
-RTree.Rectangle.contains_rectangle = function(a, b) {
-       return((a.x+a.w) <= (b.x+b.w) && a.x >= b.x && (a.y+a.h) <= (b.y+b.h) && a.y >= b.y);
-};
+    var oauth = {};
 
-/**expands rectangle A to include rectangle B, rectangle B is untouched
- * [ rectangle a ] = expand_rectangle(rectangle a, rectangle b)
- * @static function
- */
-RTree.Rectangle.expand_rectangle = function(a, b)      {
-       var nx = Math.min(a.x, b.x);
-       var ny = Math.min(a.y, b.y);
-       a.w = Math.max(a.x+a.w, b.x+b.w) - nx;
-       a.h = Math.max(a.y+a.h, b.y+b.h) - ny;
-       a.x = nx; a.y = ny;
-       return(a);
-};
+    // authenticated users will also have a request token secret, but it's
+    // not used in transactions with the server
+    oauth.authenticated = function() {
+        return !!(token('oauth_token') && token('oauth_token_secret'));
+    };
 
-/**generates a minimally bounding rectangle for all rectangles in
- * array "nodes". If rect is set, it is modified into the MBR. Otherwise,
- * a new rectangle is generated and returned.
- * [ rectangle a ] = make_MBR(rectangle array nodes, rectangle rect)
- * @static function
- */
-RTree.Rectangle.make_MBR = function(nodes, rect) {
-       if(nodes.length < 1)
-               return({x:0, y:0, w:0, h:0});
-               //throw "make_MBR: nodes must contain at least one rectangle!";
-       if(!rect)
-               rect = {x:nodes[0].x, y:nodes[0].y, w:nodes[0].w, h:nodes[0].h};
-       else
-               rect.x = nodes[0].x; rect.y = nodes[0].y; rect.w = nodes[0].w; rect.h = nodes[0].h;
-
-       for(var i = nodes.length-1; i>0; i--)
-               RTree.Rectangle.expand_rectangle(rect, nodes[i]);
-
-       return(rect);
-};
-toGeoJSON = (function() {
-    var removeSpace = (/\s*/g), trimSpace = (/^\s*|\s*$/g), splitSpace = (/\s+/);
-    function okhash(x) {
-        if (!x || !x.length) return 0;
-        for (var i = 0, h = 0; i < x.length; i++) {
-            h = ((h << 5) - h) + x.charCodeAt(i) | 0;
-        } return h;
-    }
-    function get(x, y) { return x.getElementsByTagName(y); }
-    function attr(x, y) { return x.getAttribute(y); }
-    function attrf(x, y) { return parseFloat(attr(x, y)); }
-    function get1(x, y) { var n = get(x, y); return n.length ? n[0] : null; }
-    function numarray(x) {
-        for (var j = 0, o = []; j < x.length; j++) o[j] = parseFloat(x[j]);
-        return o;
-    }
-    function nodeVal(x) { return x && x.firstChild && x.firstChild.nodeValue; }
-    function coord1(v) { return numarray(v.replace(removeSpace, '').split(',')); }
-    function coord(v) {
-        var coords = v.replace(trimSpace, '').split(splitSpace), o = [];
-        for (var i = 0; i < coords.length; i++) o.push(coord1(coords[i]));
-        return o;
-    }
-    function fc() { return { type: 'FeatureCollection', features: [] }; }
-    var t = {
-        kml: function(doc, o) {
-            o = o || {};
-            var gj = fc(), styleIndex = {},
-                geotypes = ['Polygon', 'LineString', 'Point'],
-                placemarks = get(doc, 'Placemark'), styles = get(doc, 'Style');
+    oauth.logout = function() {
+        token('oauth_token', '');
+        token('oauth_token_secret', '');
+        token('oauth_request_token_secret', '');
+        return oauth;
+    };
 
-            if (o.styles) for (var k = 0; k < styles.length; k++) {
-                styleIndex['#' + styles[k].id] = okhash(styles[k].innerHTML).toString(16);
-            }
-            for (var j = 0; j < placemarks.length; j++) {
-                gj.features = gj.features.concat(getPlacemark(placemarks[j]));
-            }
-            function getGeometry(root) {
-                var geomNode, geomNodes, i, j, k, geoms = [];
-                if (get1(root, 'MultiGeometry')) return getGeometry(get1(root, 'MultiGeometry'));
-                for (i = 0; i < geotypes.length; i++) {
-                    geomNodes = get(root, geotypes[i]);
-                    if (geomNodes) {
-                        for (j = 0; j < geomNodes.length; j++) {
-                            geomNode = geomNodes[j];
-                            if (geotypes[i] == 'Point') {
-                                geoms.push({ type: 'Point',
-                                    coordinates: coord1(nodeVal(get1(geomNode, 'coordinates')))
-                                });
-                            } else if (geotypes[i] == 'LineString') {
-                                geoms.push({ type: 'LineString',
-                                    coordinates: coord(nodeVal(get1(geomNode, 'coordinates')))
-                                });
-                            } else if (geotypes[i] == 'Polygon') {
-                                var rings = get(geomNode, 'LinearRing'), coords = [];
-                                for (k = 0; k < rings.length; k++) {
-                                    coords.push(coord(nodeVal(get1(rings[k], 'coordinates'))));
-                                }
-                                geoms.push({ type: 'Polygon', coordinates: coords });
-                            }
-                        }
-                    }
-                }
-                return geoms;
-            }
-            function getPlacemark(root) {
-                var geoms = getGeometry(root), i, properties = {},
-                    name = nodeVal(get1(root, 'name')),
-                    styleUrl = nodeVal(get1(root, 'styleUrl')),
-                    description = nodeVal(get1(root, 'description')),
-                    extendedData = get1(root, 'ExtendedData');
+    // TODO: detect lack of click event
+    oauth.authenticate = function(callback) {
+        if (oauth.authenticated()) return callback();
 
-                if (!geoms.length) return false;
-                if (name) properties.name = name;
-                if (styleUrl && styleIndex[styleUrl]) {
-                    properties.styleUrl = styleUrl;
-                    properties.styleHash = styleIndex[styleUrl];
-                }
-                if (description) properties.description = description;
-                if (extendedData) {
-                    var datas = get(extendedData, 'Data'),
-                        simpleDatas = get(extendedData, 'SimpleData');
+        oauth.logout();
 
-                    for (i = 0; i < datas.length; i++) {
-                        properties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value'));
-                    }
-                    for (i = 0; i < simpleDatas.length; i++) {
-                        properties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]);
-                    }
+        // ## Getting a request token
+        var params = timenonce(getAuth(o)),
+            url = o.url + '/oauth/request_token',
+            timer;
+
+        params.oauth_signature = ohauth.signature(
+            o.oauth_secret, '',
+            ohauth.baseString('POST', url, params));
+
+        if (!o.singlepage) {
+            // Create a 600x550 popup window in the center of the screen
+            var w = 600, h = 550,
+                settings = [
+                    ['width', w], ['height', h],
+                    ['left', screen.width / 2 - w / 2],
+                    ['top', screen.height / 2 - h / 2]].map(function(x) {
+                        return x.join('=');
+                    }).join(','),
+                popup = window.open('about:blank', 'oauth_window', settings);
+
+
+            timer = setInterval(function() {
+                if (popup.closed) {
+                    o.done();
+                    clearInterval(timer);
+                    callback('not authenticated', null);
                 }
-                return [{ type: 'Feature', geometry: (geoms.length === 1) ? geoms[0] : {
-                    type: 'GeometryCollection',
-                    geometries: geoms }, properties: properties }];
+            }, 100);
+        }
+
+        // Request a request token. When this is complete, the popup
+        // window is redirected to OSM's authorization page.
+        ohauth.xhr('POST', url, params, null, {}, reqTokenDone);
+        o.loading();
+
+        function reqTokenDone(err, xhr) {
+            o.done();
+            if (err) {
+                if (timer) clearInterval(timer);
+                return callback(err);
             }
-            return gj;
-        },
-        gpx: function(doc, o) {
-            var i, j, tracks = get(doc, 'trk'), track, pt, gj = fc();
-            for (i = 0; i < tracks.length; i++) {
-                track = tracks[i];
-                var name = nodeVal(get1(track, 'name'));
-                var pts = get(track, 'trkpt'), line = [];
-                for (j = 0; j < pts.length; j++) {
-                    line.push([attrf(pts[j], 'lon'), attrf(pts[j], 'lat')]);
-                }
-                gj.features.push({
-                    type: 'Feature',
-                    properties: {
-                        name: name || ''
-                    },
-                    geometry: { type: 'LineString', coordinates: line }
-                });
+            var resp = ohauth.stringQs(xhr.response);
+            token('oauth_request_token_secret', resp.oauth_token_secret);
+            var authorize_url = o.url + '/oauth/authorize?' + ohauth.qsString({
+                oauth_token: resp.oauth_token,
+                oauth_callback: location.href.replace('index.html', '')
+                    .replace(/#.*/, '') + o.landing
+            });
+
+            if (o.singlepage) {
+                location.href = authorize_url;
+            } else {
+                popup.location = authorize_url;
             }
-            return gj;
         }
-    };
-    return t;
-})();
-
-if (typeof module !== 'undefined') module.exports = toGeoJSON;
-/**
- * marked - a markdown parser
- * Copyright (c) 2011-2013, Christopher Jeffrey. (MIT Licensed)
- * https://github.com/chjj/marked
- */
 
-;(function() {
+        // Called by a function in a landing page, in the popup window. The
+        // window closes itself.
+        window.authComplete = function(token) {
+            if (timer) clearInterval(timer);
+            var oauth_token = ohauth.stringQs(token.split('?')[1]);
+            get_access_token(oauth_token.oauth_token);
+            delete window.authComplete;
+        };
 
-/**
- * Block-Level Grammar
- */
+        // ## Getting an request token
+        //
+        // At this point we have an `oauth_token`, brought in from a function
+        // call on a landing page popup.
+        function get_access_token(oauth_token) {
+            var url = o.url + '/oauth/access_token',
+                params = timenonce(getAuth(o)),
+                request_token_secret = token('oauth_request_token_secret');
+            params.oauth_token = oauth_token;
+            params.oauth_signature = ohauth.signature(
+                o.oauth_secret,
+                request_token_secret,
+                ohauth.baseString('POST', url, params));
 
-var block = {
-  newline: /^\n+/,
-  code: /^( {4}[^\n]+\n*)+/,
-  fences: noop,
-  hr: /^( *[-*_]){3,} *(?:\n+|$)/,
-  heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
-  nptable: noop,
-  lheading: /^([^\n]+)\n *(=|-){3,} *\n*/,
-  blockquote: /^( *>[^\n]+(\n[^\n]+)*\n*)+/,
-  list: /^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
-  html: /^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,
-  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,
-  table: noop,
-  paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,
-  text: /^[^\n]+/
-};
+            // ## Getting an access token
+            //
+            // The final token required for authentication. At this point
+            // we have a `request token secret`
+            ohauth.xhr('POST', url, params, null, {}, accessTokenDone);
+            o.loading();
+        }
 
-block.bullet = /(?:[*+-]|\d+\.)/;
-block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;
-block.item = replace(block.item, 'gm')
-  (/bull/g, block.bullet)
-  ();
+        function accessTokenDone(err, xhr) {
+            o.done();
+            if (timer) clearInterval(timer);
+            if (err) return callback(err);
+            var access_token = ohauth.stringQs(xhr.response);
+            token('oauth_token', access_token.oauth_token);
+            token('oauth_token_secret', access_token.oauth_token_secret);
+            callback(null, oauth);
+        }
+    };
 
-block.list = replace(block.list)
-  (/bull/g, block.bullet)
-  ('hr', /\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)
-  ();
+    oauth.bootstrapToken = function(oauth_token, callback) {
+        // ## Getting an request token
+        // At this point we have an `oauth_token`, brought in from a function
+        // call on a landing page popup.
+        function get_access_token(oauth_token) {
+            var url = o.url + '/oauth/access_token',
+                params = timenonce(getAuth(o)),
+                request_token_secret = token('oauth_request_token_secret');
+            params.oauth_token = oauth_token;
+            params.oauth_signature = ohauth.signature(
+                o.oauth_secret,
+                request_token_secret,
+                ohauth.baseString('POST', url, params));
 
-block._tag = '(?!(?:'
-  + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'
-  + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'
-  + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b';
+            // ## Getting an access token
+            // The final token required for authentication. At this point
+            // we have a `request token secret`
+            ohauth.xhr('POST', url, params, null, {}, accessTokenDone);
+            o.loading();
+        }
 
-block.html = replace(block.html)
-  ('comment', /<!--[\s\S]*?-->/)
-  ('closed', /<(tag)[\s\S]+?<\/\1>/)
-  ('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)
-  (/tag/g, block._tag)
-  ();
+        function accessTokenDone(err, xhr) {
+            o.done();
+            if (err) return callback(err);
+            var access_token = ohauth.stringQs(xhr.response);
+            token('oauth_token', access_token.oauth_token);
+            token('oauth_token_secret', access_token.oauth_token_secret);
+            callback(null, oauth);
+        }
 
-block.paragraph = replace(block.paragraph)
-  ('hr', block.hr)
-  ('heading', block.heading)
-  ('lheading', block.lheading)
-  ('blockquote', block.blockquote)
-  ('tag', '<' + block._tag)
-  ('def', block.def)
-  ();
+        get_access_token(oauth_token);
+    };
 
-/**
- * Normal Block Grammar
- */
+    // # xhr
+    //
+    // A single XMLHttpRequest wrapper that does authenticated calls if the
+    // user has logged in.
+    oauth.xhr = function(options, callback) {
+        if (!oauth.authenticated()) {
+            if (o.auto) return oauth.authenticate(run);
+            else return callback('not authenticated', null);
+        } else return run();
 
-block.normal = merge({}, block);
+        function run() {
+            var params = timenonce(getAuth(o)),
+                url = o.url + options.path,
+                oauth_token_secret = token('oauth_token_secret');
 
-/**
- * GFM Block Grammar
- */
+            // https://tools.ietf.org/html/rfc5849#section-3.4.1.3.1
+            if ((!options.options || !options.options.header ||
+                options.options.header['Content-Type'] === 'application/x-www-form-urlencoded') &&
+                options.content) {
+                params = xtend(params, ohauth.stringQs(options.content));
+            }
 
-block.gfm = merge({}, block.normal, {
-  fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,
-  paragraph: /^/
-});
+            params.oauth_token = token('oauth_token');
+            params.oauth_signature = ohauth.signature(
+                o.oauth_secret,
+                oauth_token_secret,
+                ohauth.baseString(options.method, url, params));
 
-block.gfm.paragraph = replace(block.paragraph)
-  ('(?!', '(?!' + block.gfm.fences.source.replace('\\1', '\\2') + '|')
-  ();
+            ohauth.xhr(options.method,
+                url, params, options.content, options.options, done);
+        }
 
-/**
- * GFM + Tables Block Grammar
- */
+        function done(err, xhr) {
+            if (err) return callback(err);
+            else if (xhr.responseXML) return callback(err, xhr.responseXML);
+            else return callback(err, xhr.response);
+        }
+    };
 
-block.tables = merge({}, block.gfm, {
-  nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
-  table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
-});
+    // pre-authorize this object, if we can just get a token and token_secret
+    // from the start
+    oauth.preauth = function(c) {
+        if (!c) return;
+        if (c.oauth_token) token('oauth_token', c.oauth_token);
+        if (c.oauth_token_secret) token('oauth_token_secret', c.oauth_token_secret);
+        return oauth;
+    };
 
-/**
- * Block Lexer
- */
+    oauth.options = function(_) {
+        if (!arguments.length) return o;
 
-function Lexer(options) {
-  this.tokens = [];
-  this.tokens.links = {};
-  this.options = options || marked.defaults;
-  this.rules = block.normal;
+        o = _;
 
-  if (this.options.gfm) {
-    if (this.options.tables) {
-      this.rules = block.tables;
-    } else {
-      this.rules = block.gfm;
-    }
-  }
-}
+        o.url = o.url || 'http://www.openstreetmap.org';
+        o.landing = o.landing || 'land.html';
 
-/**
- * Expose Block Rules
- */
+        o.singlepage = o.singlepage || false;
 
-Lexer.rules = block;
+        // Optional loading and loading-done functions for nice UI feedback.
+        // by default, no-ops
+        o.loading = o.loading || function() {};
+        o.done = o.done || function() {};
 
-/**
- * Static Lex Method
- */
+        return oauth.preauth(o);
+    };
 
-Lexer.lex = function(src, options) {
-  var lexer = new Lexer(options);
-  return lexer.lex(src);
-};
-
-/**
- * Preprocessing
- */
-
-Lexer.prototype.lex = function(src) {
-  src = src
-    .replace(/\r\n|\r/g, '\n')
-    .replace(/\t/g, '    ')
-    .replace(/\u00a0/g, ' ')
-    .replace(/\u2424/g, '\n');
-
-  return this.token(src, true);
-};
-
-/**
- * Lexing
- */
-
-Lexer.prototype.token = function(src, top) {
-  var src = src.replace(/^ +$/gm, '')
-    , next
-    , loose
-    , cap
-    , bull
-    , b
-    , item
-    , space
-    , i
-    , l;
-
-  while (src) {
-    // newline
-    if (cap = this.rules.newline.exec(src)) {
-      src = src.substring(cap[0].length);
-      if (cap[0].length > 1) {
-        this.tokens.push({
-          type: 'space'
-        });
-      }
+    // 'stamp' an authentication object from `getAuth()`
+    // with a [nonce](http://en.wikipedia.org/wiki/Cryptographic_nonce)
+    // and timestamp
+    function timenonce(o) {
+        o.oauth_timestamp = ohauth.timestamp();
+        o.oauth_nonce = ohauth.nonce();
+        return o;
     }
 
-    // code
-    if (cap = this.rules.code.exec(src)) {
-      src = src.substring(cap[0].length);
-      cap = cap[0].replace(/^ {4}/gm, '');
-      this.tokens.push({
-        type: 'code',
-        text: !this.options.pedantic
-          ? cap.replace(/\n+$/, '')
-          : cap
-      });
-      continue;
-    }
+    // get/set tokens. These are prefixed with the base URL so that `osm-auth`
+    // can be used with multiple APIs and the keys in `localStorage`
+    // will not clash
+    var token;
 
-    // fences (gfm)
-    if (cap = this.rules.fences.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'code',
-        lang: cap[2],
-        text: cap[3]
-      });
-      continue;
+    if (store.enabled) {
+        token = function (x, y) {
+            if (arguments.length === 1) return store.get(o.url + x);
+            else if (arguments.length === 2) return store.set(o.url + x, y);
+        };
+    } else {
+        var storage = {};
+        token = function (x, y) {
+            if (arguments.length === 1) return storage[o.url + x];
+            else if (arguments.length === 2) return storage[o.url + x] = y;
+        };
     }
 
-    // heading
-    if (cap = this.rules.heading.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'heading',
-        depth: cap[1].length,
-        text: cap[2]
-      });
-      continue;
+    // Get an authentication object. If you just add and remove properties
+    // from a single object, you'll need to use `delete` to make sure that
+    // it doesn't contain undesired properties for authentication
+    function getAuth(o) {
+        return {
+            oauth_consumer_key: o.oauth_consumer_key,
+            oauth_signature_method: "HMAC-SHA1"
+        };
     }
 
-    // table no leading pipe (gfm)
-    if (top && (cap = this.rules.nptable.exec(src))) {
-      src = src.substring(cap[0].length);
-
-      item = {
-        type: 'table',
-        header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
-        align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
-        cells: cap[3].replace(/\n$/, '').split('\n')
-      };
+    // potentially pre-authorize
+    oauth.options(o);
 
-      for (i = 0; i < item.align.length; i++) {
-        if (/^ *-+: *$/.test(item.align[i])) {
-          item.align[i] = 'right';
-        } else if (/^ *:-+: *$/.test(item.align[i])) {
-          item.align[i] = 'center';
-        } else if (/^ *:-+ *$/.test(item.align[i])) {
-          item.align[i] = 'left';
-        } else {
-          item.align[i] = null;
-        }
-      }
+    return oauth;
+};
 
-      for (i = 0; i < item.cells.length; i++) {
-        item.cells[i] = item.cells[i].split(/ *\| */);
-      }
+},{"ohauth":2,"store":3,"xtend":4}],3:[function(require,module,exports){
+(function(global){;(function(win){
+       var store = {},
+               doc = win.document,
+               localStorageName = 'localStorage',
+               storage
 
-      this.tokens.push(item);
+       store.disabled = false
+       store.set = function(key, value) {}
+       store.get = function(key) {}
+       store.remove = function(key) {}
+       store.clear = function() {}
+       store.transact = function(key, defaultVal, transactionFn) {
+               var val = store.get(key)
+               if (transactionFn == null) {
+                       transactionFn = defaultVal
+                       defaultVal = null
+               }
+               if (typeof val == 'undefined') { val = defaultVal || {} }
+               transactionFn(val)
+               store.set(key, val)
+       }
+       store.getAll = function() {}
+       store.forEach = function() {}
 
-      continue;
-    }
+       store.serialize = function(value) {
+               return JSON.stringify(value)
+       }
+       store.deserialize = function(value) {
+               if (typeof value != 'string') { return undefined }
+               try { return JSON.parse(value) }
+               catch(e) { return value || undefined }
+       }
 
-    // lheading
-    if (cap = this.rules.lheading.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'heading',
-        depth: cap[2] === '=' ? 1 : 2,
-        text: cap[1]
-      });
-      continue;
-    }
+       // Functions to encapsulate questionable FireFox 3.6.13 behavior
+       // when about.config::dom.storage.enabled === false
+       // See https://github.com/marcuswestin/store.js/issues#issue/13
+       function isLocalStorageNameSupported() {
+               try { return (localStorageName in win && win[localStorageName]) }
+               catch(err) { return false }
+       }
 
-    // hr
-    if (cap = this.rules.hr.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'hr'
-      });
-      continue;
-    }
+       if (isLocalStorageNameSupported()) {
+               storage = win[localStorageName]
+               store.set = function(key, val) {
+                       if (val === undefined) { return store.remove(key) }
+                       storage.setItem(key, store.serialize(val))
+                       return val
+               }
+               store.get = function(key) { return store.deserialize(storage.getItem(key)) }
+               store.remove = function(key) { storage.removeItem(key) }
+               store.clear = function() { storage.clear() }
+               store.getAll = function() {
+                       var ret = {}
+                       store.forEach(function(key, val) {
+                               ret[key] = val
+                       })
+                       return ret
+               }
+               store.forEach = function(callback) {
+                       for (var i=0; i<storage.length; i++) {
+                               var key = storage.key(i)
+                               callback(key, store.get(key))
+                       }
+               }
+       } else if (doc.documentElement.addBehavior) {
+               var storageOwner,
+                       storageContainer
+               // Since #userData storage applies only to specific paths, we need to
+               // somehow link our data to a specific path.  We choose /favicon.ico
+               // as a pretty safe option, since all browsers already make a request to
+               // this URL anyway and being a 404 will not hurt us here.  We wrap an
+               // iframe pointing to the favicon in an ActiveXObject(htmlfile) object
+               // (see: http://msdn.microsoft.com/en-us/library/aa752574(v=VS.85).aspx)
+               // since the iframe access rules appear to allow direct access and
+               // manipulation of the document element, even for a 404 page.  This
+               // document can be used instead of the current document (which would
+               // have been limited to the current path) to perform #userData storage.
+               try {
+                       storageContainer = new ActiveXObject('htmlfile')
+                       storageContainer.open()
+                       storageContainer.write('<s' + 'cript>document.w=window</s' + 'cript><iframe src="/favicon.ico"></iframe>')
+                       storageContainer.close()
+                       storageOwner = storageContainer.w.frames[0].document
+                       storage = storageOwner.createElement('div')
+               } catch(e) {
+                       // somehow ActiveXObject instantiation failed (perhaps some special
+                       // security settings or otherwse), fall back to per-path storage
+                       storage = doc.createElement('div')
+                       storageOwner = doc.body
+               }
+               function withIEStorage(storeFunction) {
+                       return function() {
+                               var args = Array.prototype.slice.call(arguments, 0)
+                               args.unshift(storage)
+                               // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
+                               // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
+                               storageOwner.appendChild(storage)
+                               storage.addBehavior('#default#userData')
+                               storage.load(localStorageName)
+                               var result = storeFunction.apply(store, args)
+                               storageOwner.removeChild(storage)
+                               return result
+                       }
+               }
 
-    // blockquote
-    if (cap = this.rules.blockquote.exec(src)) {
-      src = src.substring(cap[0].length);
+               // In IE7, keys may not contain special chars. See all of https://github.com/marcuswestin/store.js/issues/40
+               var forbiddenCharsRegex = new RegExp("[!\"#$%&'()*+,/\\\\:;<=>?@[\\]^`{|}~]", "g")
+               function ieKeyFix(key) {
+                       return key.replace(forbiddenCharsRegex, '___')
+               }
+               store.set = withIEStorage(function(storage, key, val) {
+                       key = ieKeyFix(key)
+                       if (val === undefined) { return store.remove(key) }
+                       storage.setAttribute(key, store.serialize(val))
+                       storage.save(localStorageName)
+                       return val
+               })
+               store.get = withIEStorage(function(storage, key) {
+                       key = ieKeyFix(key)
+                       return store.deserialize(storage.getAttribute(key))
+               })
+               store.remove = withIEStorage(function(storage, key) {
+                       key = ieKeyFix(key)
+                       storage.removeAttribute(key)
+                       storage.save(localStorageName)
+               })
+               store.clear = withIEStorage(function(storage) {
+                       var attributes = storage.XMLDocument.documentElement.attributes
+                       storage.load(localStorageName)
+                       for (var i=0, attr; attr=attributes[i]; i++) {
+                               storage.removeAttribute(attr.name)
+                       }
+                       storage.save(localStorageName)
+               })
+               store.getAll = function(storage) {
+                       var ret = {}
+                       store.forEach(function(key, val) {
+                               ret[key] = val
+                       })
+                       return ret
+               }
+               store.forEach = withIEStorage(function(storage, callback) {
+                       var attributes = storage.XMLDocument.documentElement.attributes
+                       for (var i=0, attr; attr=attributes[i]; ++i) {
+                               callback(attr.name, store.deserialize(storage.getAttribute(attr.name)))
+                       }
+               })
+       }
 
-      this.tokens.push({
-        type: 'blockquote_start'
-      });
+       try {
+               var testKey = '__storejs__'
+               store.set(testKey, testKey)
+               if (store.get(testKey) != testKey) { store.disabled = true }
+               store.remove(testKey)
+       } catch(e) {
+               store.disabled = true
+       }
+       store.enabled = !store.disabled
 
-      cap = cap[0].replace(/^ *> ?/gm, '');
+       if (typeof module != 'undefined' && module.exports) { module.exports = store }
+       else if (typeof define === 'function' && define.amd) { define(store) }
+       else { win.store = store }
 
-      // Pass `top` to keep the current
-      // "toplevel" state. This is exactly
-      // how markdown.pl works.
-      this.token(cap, top);
+})(this.window || global);
 
-      this.tokens.push({
-        type: 'blockquote_end'
-      });
+})(window)
+},{}],5:[function(require,module,exports){
+module.exports = hasKeys
 
-      continue;
-    }
+function hasKeys(source) {
+    return source !== null &&
+        (typeof source === "object" ||
+        typeof source === "function")
+}
 
-    // list
-    if (cap = this.rules.list.exec(src)) {
-      src = src.substring(cap[0].length);
-      bull = cap[2];
+},{}],4:[function(require,module,exports){
+var Keys = require("object-keys")
+var hasKeys = require("./has-keys")
 
-      this.tokens.push({
-        type: 'list_start',
-        ordered: bull.length > 1
-      });
+module.exports = extend
 
-      // Get each top-level item.
-      cap = cap[0].match(this.rules.item);
+function extend() {
+    var target = {}
 
-      next = false;
-      l = cap.length;
-      i = 0;
+    for (var i = 0; i < arguments.length; i++) {
+        var source = arguments[i]
 
-      for (; i < l; i++) {
-        item = cap[i];
+        if (!hasKeys(source)) {
+            continue
+        }
 
-        // Remove the list item's bullet
-        // so it is seen as the next token.
-        space = item.length;
-        item = item.replace(/^ *([*+-]|\d+\.) +/, '');
+        var keys = Keys(source)
 
-        // Outdent whatever the
-        // list item contains. Hacky.
-        if (~item.indexOf('\n ')) {
-          space -= item.length;
-          item = !this.options.pedantic
-            ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
-            : item.replace(/^ {1,4}/gm, '');
+        for (var j = 0; j < keys.length; j++) {
+            var name = keys[j]
+            target[name] = source[name]
         }
+    }
 
-        // Determine whether the next list item belongs here.
-        // Backpedal if it does not belong in this list.
-        if (this.options.smartLists && i !== l - 1) {
-          b = block.bullet.exec(cap[i+1])[0];
-          if (bull !== b && !(bull.length > 1 && b.length > 1)) {
-            src = cap.slice(i + 1).join('\n') + src;
-            i = l - 1;
-          }
-        }
+    return target
+}
 
-        // Determine whether item is loose or not.
-        // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
-        // for discount behavior.
-        loose = next || /\n\n(?!\s*$)/.test(item);
-        if (i !== l - 1) {
-          next = item[item.length-1] === '\n';
-          if (!loose) loose = next;
+},{"./has-keys":5,"object-keys":6}],7:[function(require,module,exports){
+(function(global){/**
+ * jsHashes - A fast and independent hashing library pure JavaScript implemented (ES3 compliant) for both server and client side
+ *
+ * @class Hashes
+ * @author Tomas Aparicio <tomas@rijndael-project.com>
+ * @license New BSD (see LICENSE file)
+ * @version 1.0.4
+ *
+ * Algorithms specification:
+ *
+ * MD5 <http://www.ietf.org/rfc/rfc1321.txt>
+ * RIPEMD-160 <http://homes.esat.kuleuven.be/~bosselae/ripemd160.html>
+ * SHA1   <http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf>
+ * SHA256 <http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf>
+ * SHA512 <http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf>
+ * HMAC <http://www.ietf.org/rfc/rfc2104.txt>
+ *
+ */
+(function(){
+  var Hashes;
+
+  // private helper methods
+  function utf8Encode(str) {
+    var  x, y, output = '', i = -1, l;
+
+    if (str && str.length) {
+      l = str.length;
+      while ((i+=1) < l) {
+        /* Decode utf-16 surrogate pairs */
+        x = str.charCodeAt(i);
+        y = i + 1 < l ? str.charCodeAt(i + 1) : 0;
+        if (0xD800 <= x && x <= 0xDBFF && 0xDC00 <= y && y <= 0xDFFF) {
+            x = 0x10000 + ((x & 0x03FF) << 10) + (y & 0x03FF);
+            i += 1;
+        }
+        /* Encode output as utf-8 */
+        if (x <= 0x7F) {
+            output += String.fromCharCode(x);
+        } else if (x <= 0x7FF) {
+            output += String.fromCharCode(0xC0 | ((x >>> 6 ) & 0x1F),
+                        0x80 | ( x & 0x3F));
+        } else if (x <= 0xFFFF) {
+            output += String.fromCharCode(0xE0 | ((x >>> 12) & 0x0F),
+                        0x80 | ((x >>> 6 ) & 0x3F),
+                        0x80 | ( x & 0x3F));
+        } else if (x <= 0x1FFFFF) {
+            output += String.fromCharCode(0xF0 | ((x >>> 18) & 0x07),
+                        0x80 | ((x >>> 12) & 0x3F),
+                        0x80 | ((x >>> 6 ) & 0x3F),
+                        0x80 | ( x & 0x3F));
         }
+      }
+    }
+    return output;
+  }
 
-        this.tokens.push({
-          type: loose
-            ? 'loose_item_start'
-            : 'list_item_start'
-        });
+  function utf8Decode(str) {
+    var i, ac, c1, c2, c3, arr = [], l;
+    i = ac = c1 = c2 = c3 = 0;
 
-        // Recurse.
-        this.token(item, false);
+    if (str && str.length) {
+      l = str.length;
+      str += '';
 
-        this.tokens.push({
-          type: 'list_item_end'
-        });
+      while (i < l) {
+          c1 = str.charCodeAt(i);
+          ac += 1;
+          if (c1 < 128) {
+              arr[ac] = String.fromCharCode(c1);
+              i+=1;
+          } else if (c1 > 191 && c1 < 224) {
+              c2 = str.charCodeAt(i + 1);
+              arr[ac] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
+              i += 2;
+          } else {
+              c2 = str.charCodeAt(i + 1);
+              c3 = str.charCodeAt(i + 2);
+              arr[ac] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
+              i += 3;
+          }
       }
+    }
+    return arr.join('');
+  }
 
-      this.tokens.push({
-        type: 'list_end'
-      });
+  /**
+   * Add integers, wrapping at 2^32. This uses 16-bit operations internally
+   * to work around bugs in some JS interpreters.
+   */
+  function safe_add(x, y) {
+    var lsw = (x & 0xFFFF) + (y & 0xFFFF),
+        msw = (x >> 16) + (y >> 16) + (lsw >> 16);
+    return (msw << 16) | (lsw & 0xFFFF);
+  }
 
-      continue;
+  /**
+   * Bitwise rotate a 32-bit number to the left.
+   */
+  function bit_rol(num, cnt) {
+    return (num << cnt) | (num >>> (32 - cnt));
+  }
+
+  /**
+   * Convert a raw string to a hex string
+   */
+  function rstr2hex(input, hexcase) {
+    var hex_tab = hexcase ? '0123456789ABCDEF' : '0123456789abcdef',
+        output = '', x, i = 0, l = input.length;
+    for (; i < l; i+=1) {
+      x = input.charCodeAt(i);
+      output += hex_tab.charAt((x >>> 4) & 0x0F) + hex_tab.charAt(x & 0x0F);
     }
+    return output;
+  }
 
-    // html
-    if (cap = this.rules.html.exec(src)) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: this.options.sanitize
-          ? 'paragraph'
-          : 'html',
-        pre: cap[1] === 'pre' || cap[1] === 'script',
-        text: cap[0]
-      });
-      continue;
+  /**
+   * Encode a string as utf-16
+   */
+  function str2rstr_utf16le(input) {
+    var i, l = input.length, output = '';
+    for (i = 0; i < l; i+=1) {
+      output += String.fromCharCode( input.charCodeAt(i) & 0xFF, (input.charCodeAt(i) >>> 8) & 0xFF);
     }
+    return output;
+  }
 
-    // def
-    if (top && (cap = this.rules.def.exec(src))) {
-      src = src.substring(cap[0].length);
-      this.tokens.links[cap[1].toLowerCase()] = {
-        href: cap[2],
-        title: cap[3]
-      };
-      continue;
+  function str2rstr_utf16be(input) {
+    var i, l = input.length, output = '';
+    for (i = 0; i < l; i+=1) {
+      output += String.fromCharCode((input.charCodeAt(i) >>> 8) & 0xFF, input.charCodeAt(i) & 0xFF);
     }
+    return output;
+  }
 
-    // table (gfm)
-    if (top && (cap = this.rules.table.exec(src))) {
-      src = src.substring(cap[0].length);
+  /**
+   * Convert an array of big-endian words to a string
+   */
+  function binb2rstr(input) {
+    var i, l = input.length * 32, output = '';
+    for (i = 0; i < l; i += 8) {
+        output += String.fromCharCode((input[i>>5] >>> (24 - i % 32)) & 0xFF);
+    }
+    return output;
+  }
 
-      item = {
-        type: 'table',
-        header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
-        align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
-        cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n')
-      };
+  /**
+   * Convert an array of little-endian words to a string
+   */
+  function binl2rstr(input) {
+    var i, l = input.length * 32, output = '';
+    for (i = 0;i < l; i += 8) {
+      output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF);
+    }
+    return output;
+  }
 
-      for (i = 0; i < item.align.length; i++) {
-        if (/^ *-+: *$/.test(item.align[i])) {
-          item.align[i] = 'right';
-        } else if (/^ *:-+: *$/.test(item.align[i])) {
-          item.align[i] = 'center';
-        } else if (/^ *:-+ *$/.test(item.align[i])) {
-          item.align[i] = 'left';
-        } else {
-          item.align[i] = null;
-        }
-      }
+  /**
+   * Convert a raw string to an array of little-endian words
+   * Characters >255 have their high-byte silently ignored.
+   */
+  function rstr2binl(input) {
+    var i, l = input.length * 8, output = Array(input.length >> 2), lo = output.length;
+    for (i = 0; i < lo; i+=1) {
+      output[i] = 0;
+    }
+    for (i = 0; i < l; i += 8) {
+      output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (i%32);
+    }
+    return output;
+  }
 
-      for (i = 0; i < item.cells.length; i++) {
-        item.cells[i] = item.cells[i]
-          .replace(/^ *\| *| *\| *$/g, '')
-          .split(/ *\| */);
-      }
+  /**
+   * Convert a raw string to an array of big-endian words
+   * Characters >255 have their high-byte silently ignored.
+   */
+   function rstr2binb(input) {
+      var i, l = input.length * 8, output = Array(input.length >> 2), lo = output.length;
+      for (i = 0; i < lo; i+=1) {
+            output[i] = 0;
+        }
+      for (i = 0; i < l; i += 8) {
+            output[i>>5] |= (input.charCodeAt(i / 8) & 0xFF) << (24 - i % 32);
+        }
+      return output;
+   }
 
-      this.tokens.push(item);
+  /**
+   * Convert a raw string to an arbitrary string encoding
+   */
+  function rstr2any(input, encoding) {
+    var divisor = encoding.length,
+        remainders = Array(),
+        i, q, x, ld, quotient, dividend, output, full_length;
 
-      continue;
+    /* Convert to an array of 16-bit big-endian values, forming the dividend */
+    dividend = Array(Math.ceil(input.length / 2));
+    ld = dividend.length;
+    for (i = 0; i < ld; i+=1) {
+      dividend[i] = (input.charCodeAt(i * 2) << 8) | input.charCodeAt(i * 2 + 1);
     }
 
-    // top-level paragraph
-    if (top && (cap = this.rules.paragraph.exec(src))) {
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'paragraph',
-        text: cap[1][cap[1].length-1] === '\n'
-          ? cap[1].slice(0, -1)
-          : cap[1]
-      });
-      continue;
+    /**
+     * Repeatedly perform a long division. The binary array forms the dividend,
+     * the length of the encoding is the divisor. Once computed, the quotient
+     * forms the dividend for the next step. We stop when the dividend is zerHashes.
+     * All remainders are stored for later use.
+     */
+    while(dividend.length > 0) {
+      quotient = Array();
+      x = 0;
+      for (i = 0; i < dividend.length; i+=1) {
+        x = (x << 16) + dividend[i];
+        q = Math.floor(x / divisor);
+        x -= q * divisor;
+        if (quotient.length > 0 || q > 0) {
+          quotient[quotient.length] = q;
+        }
+      }
+      remainders[remainders.length] = x;
+      dividend = quotient;
     }
 
-    // text
-    if (cap = this.rules.text.exec(src)) {
-      // Top-level should never reach here.
-      src = src.substring(cap[0].length);
-      this.tokens.push({
-        type: 'text',
-        text: cap[0]
-      });
-      continue;
+    /* Convert the remainders to the output string */
+    output = '';
+    for (i = remainders.length - 1; i >= 0; i--) {
+      output += encoding.charAt(remainders[i]);
     }
 
-    if (src) {
-      throw new
-        Error('Infinite loop on byte: ' + src.charCodeAt(0));
+    /* Append leading zero equivalents */
+    full_length = Math.ceil(input.length * 8 / (Math.log(encoding.length) / Math.log(2)));
+    for (i = output.length; i < full_length; i+=1) {
+      output = encoding[0] + output;
     }
+    return output;
   }
 
-  return this.tokens;
-};
+  /**
+   * Convert a raw string to a base-64 string
+   */
+  function rstr2b64(input, b64pad) {
+    var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+        output = '',
+        len = input.length, i, j, triplet;
+    b64pad= b64pad || '=';
+    for (i = 0; i < len; i += 3) {
+      triplet = (input.charCodeAt(i) << 16)
+            | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)
+            | (i + 2 < len ? input.charCodeAt(i+2)      : 0);
+      for (j = 0; j < 4; j+=1) {
+        if (i * 8 + j * 6 > input.length * 8) {
+          output += b64pad;
+        } else {
+          output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F);
+        }
+       }
+    }
+    return output;
+  }
 
-/**
- * Inline-Level Grammar
- */
+  Hashes = {
+  /**
+   * @property {String} version
+   * @readonly
+   */
+  VERSION : '1.0.3',
+  /**
+   * @member Hashes
+   * @class Base64
+   * @constructor
+   */
+  Base64 : function () {
+    // private properties
+    var tab = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
+        pad = '=', // default pad according with the RFC standard
+        url = false, // URL encoding support @todo
+        utf8 = true; // by default enable UTF-8 support encoding
+
+    // public method for encoding
+    this.encode = function (input) {
+      var i, j, triplet,
+          output = '',
+          len = input.length;
+
+      pad = pad || '=';
+      input = (utf8) ? utf8Encode(input) : input;
+
+      for (i = 0; i < len; i += 3) {
+        triplet = (input.charCodeAt(i) << 16)
+              | (i + 1 < len ? input.charCodeAt(i+1) << 8 : 0)
+              | (i + 2 < len ? input.charCodeAt(i+2) : 0);
+        for (j = 0; j < 4; j+=1) {
+          if (i * 8 + j * 6 > len * 8) {
+              output += pad;
+          } else {
+              output += tab.charAt((triplet >>> 6*(3-j)) & 0x3F);
+          }
+        }
+      }
+      return output;
+    };
+
+    // public method for decoding
+    this.decode = function (input) {
+      // var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+      var i, o1, o2, o3, h1, h2, h3, h4, bits, ac,
+        dec = '',
+        arr = [];
+      if (!input) { return input; }
+
+      i = ac = 0;
+      input = input.replace(new RegExp('\\'+pad,'gi'),''); // use '='
+      //input += '';
+
+      do { // unpack four hexets into three octets using index points in b64
+        h1 = tab.indexOf(input.charAt(i+=1));
+        h2 = tab.indexOf(input.charAt(i+=1));
+        h3 = tab.indexOf(input.charAt(i+=1));
+        h4 = tab.indexOf(input.charAt(i+=1));
+
+        bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;
+
+        o1 = bits >> 16 & 0xff;
+        o2 = bits >> 8 & 0xff;
+        o3 = bits & 0xff;
+        ac += 1;
+
+        if (h3 === 64) {
+          arr[ac] = String.fromCharCode(o1);
+        } else if (h4 === 64) {
+          arr[ac] = String.fromCharCode(o1, o2);
+        } else {
+          arr[ac] = String.fromCharCode(o1, o2, o3);
+        }
+      } while (i < input.length);
 
-var inline = {
-  escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
-  autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
-  url: noop,
-  tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
-  link: /^!?\[(inside)\]\(href\)/,
-  reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
-  nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
-  strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
-  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
-  code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
-  br: /^ {2,}\n(?!\s*$)/,
-  del: noop,
-  text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
-};
+      dec = arr.join('');
+      dec = (utf8) ? utf8Decode(dec) : dec;
 
-inline._inside = /(?:\[[^\]]*\]|[^\]]|\](?=[^\[]*\]))*/;
-inline._href = /\s*<?([^\s]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
+      return dec;
+    };
 
-inline.link = replace(inline.link)
-  ('inside', inline._inside)
-  ('href', inline._href)
-  ();
+    // set custom pad string
+    this.setPad = function (str) {
+        pad = str || pad;
+        return this;
+    };
+    // set custom tab string characters
+    this.setTab = function (str) {
+        tab = str || tab;
+        return this;
+    };
+    this.setUTF8 = function (bool) {
+        if (typeof bool === 'boolean') {
+          utf8 = bool;
+        }
+        return this;
+    };
+  },
 
-inline.reflink = replace(inline.reflink)
-  ('inside', inline._inside)
-  ();
+  /**
+   * CRC-32 calculation
+   * @member Hashes
+   * @method CRC32
+   * @static
+   * @param {String} str Input String
+   * @return {String}
+   */
+  CRC32 : function (str) {
+    var crc = 0, x = 0, y = 0, table, i, iTop;
+    str = utf8Encode(str);
+
+    table = [
+        '00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 ',
+        '79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 ',
+        '84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F ',
+        '63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD ',
+        'A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC ',
+        '51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 ',
+        'B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 ',
+        '06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 ',
+        'E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 ',
+        '12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 ',
+        'D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 ',
+        '33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 ',
+        'CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 ',
+        '9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E ',
+        '7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D ',
+        '806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 ',
+        '60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA ',
+        'AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 ',
+        '5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 ',
+        'B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 ',
+        '05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 ',
+        'F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA ',
+        '11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 ',
+        'D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F ',
+        '30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E ',
+        'C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D'
+    ].join('');
+
+    crc = crc ^ (-1);
+    for (i = 0, iTop = str.length; i < iTop; i+=1 ) {
+        y = ( crc ^ str.charCodeAt( i ) ) & 0xFF;
+        x = '0x' + table.substr( y * 9, 8 );
+        crc = ( crc >>> 8 ) ^ x;
+    }
+    // always return a positive number (that's what >>> 0 does)
+    return (crc ^ (-1)) >>> 0;
+  },
+  /**
+   * @member Hashes
+   * @class MD5
+   * @constructor
+   * @param {Object} [config]
+   *
+   * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
+   * Digest Algorithm, as defined in RFC 1321.
+   * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
+   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+   * See <http://pajhome.org.uk/crypt/md5> for more infHashes.
+   */
+  MD5 : function (options) {
+    /**
+     * Private config properties. You may need to tweak these to be compatible with
+     * the server-side, but the defaults work in most cases.
+     * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
+     */
+    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
+        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
+        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
 
-/**
- * Normal Inline Grammar
- */
+    // privileged (public) methods
+    this.hex = function (s) {
+      return rstr2hex(rstr(s, utf8), hexcase);
+    };
+    this.b64 = function (s) {
+      return rstr2b64(rstr(s), b64pad);
+    };
+    this.any = function(s, e) {
+      return rstr2any(rstr(s, utf8), e);
+    };
+    this.hex_hmac = function (k, d) {
+      return rstr2hex(rstr_hmac(k, d), hexcase);
+    };
+    this.b64_hmac = function (k, d) {
+      return rstr2b64(rstr_hmac(k,d), b64pad);
+    };
+    this.any_hmac = function (k, d, e) {
+      return rstr2any(rstr_hmac(k, d), e);
+    };
+    /**
+     * Perform a simple self-test to see if the VM is working
+     * @return {String} Hexadecimal hash sample
+     */
+    this.vm_test = function () {
+      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+    };
+    /**
+     * Enable/disable uppercase hexadecimal returned string
+     * @param {Boolean}
+     * @return {Object} this
+     */
+    this.setUpperCase = function (a) {
+      if (typeof a === 'boolean' ) {
+        hexcase = a;
+      }
+      return this;
+    };
+    /**
+     * Defines a base64 pad string
+     * @param {String} Pad
+     * @return {Object} this
+     */
+    this.setPad = function (a) {
+      b64pad = a || b64pad;
+      return this;
+    };
+    /**
+     * Defines a base64 pad string
+     * @param {Boolean}
+     * @return {Object} [this]
+     */
+    this.setUTF8 = function (a) {
+      if (typeof a === 'boolean') {
+        utf8 = a;
+      }
+      return this;
+    };
 
-inline.normal = merge({}, inline);
+    // private methods
 
-/**
- * Pedantic Inline Grammar
- */
+    /**
+     * Calculate the MD5 of a raw string
+     */
+    function rstr(s) {
+      s = (utf8) ? utf8Encode(s): s;
+      return binl2rstr(binl(rstr2binl(s), s.length * 8));
+    }
 
-inline.pedantic = merge({}, inline.normal, {
-  strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
-  em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
-});
+    /**
+     * Calculate the HMAC-MD5, of a key and some data (raw strings)
+     */
+    function rstr_hmac(key, data) {
+      var bkey, ipad, opad, hash, i;
+
+      key = (utf8) ? utf8Encode(key) : key;
+      data = (utf8) ? utf8Encode(data) : data;
+      bkey = rstr2binl(key);
+      if (bkey.length > 16) {
+        bkey = binl(bkey, key.length * 8);
+      }
 
-/**
- * GFM Inline Grammar
- */
+      ipad = Array(16), opad = Array(16);
+      for (i = 0; i < 16; i+=1) {
+          ipad[i] = bkey[i] ^ 0x36363636;
+          opad[i] = bkey[i] ^ 0x5C5C5C5C;
+      }
+      hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
+      return binl2rstr(binl(opad.concat(hash), 512 + 128));
+    }
 
-inline.gfm = merge({}, inline.normal, {
-  escape: replace(inline.escape)('])', '~|])')(),
-  url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
-  del: /^~~(?=\S)([\s\S]*?\S)~~/,
-  text: replace(inline.text)
-    (']|', '~]|')
-    ('|', '|https?://|')
-    ()
-});
+    /**
+     * Calculate the MD5 of an array of little-endian words, and a bit length.
+     */
+    function binl(x, len) {
+      var i, olda, oldb, oldc, oldd,
+          a =  1732584193,
+          b = -271733879,
+          c = -1732584194,
+          d =  271733878;
+
+      /* append padding */
+      x[len >> 5] |= 0x80 << ((len) % 32);
+      x[(((len + 64) >>> 9) << 4) + 14] = len;
+
+      for (i = 0; i < x.length; i += 16) {
+        olda = a;
+        oldb = b;
+        oldc = c;
+        oldd = d;
+
+        a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
+        d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
+        c = md5_ff(c, d, a, b, x[i+ 2], 17,  606105819);
+        b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
+        a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
+        d = md5_ff(d, a, b, c, x[i+ 5], 12,  1200080426);
+        c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
+        b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
+        a = md5_ff(a, b, c, d, x[i+ 8], 7 ,  1770035416);
+        d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
+        c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
+        b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
+        a = md5_ff(a, b, c, d, x[i+12], 7 ,  1804603682);
+        d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
+        c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
+        b = md5_ff(b, c, d, a, x[i+15], 22,  1236535329);
+
+        a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
+        d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
+        c = md5_gg(c, d, a, b, x[i+11], 14,  643717713);
+        b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
+        a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
+        d = md5_gg(d, a, b, c, x[i+10], 9 ,  38016083);
+        c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
+        b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
+        a = md5_gg(a, b, c, d, x[i+ 9], 5 ,  568446438);
+        d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
+        c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
+        b = md5_gg(b, c, d, a, x[i+ 8], 20,  1163531501);
+        a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
+        d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
+        c = md5_gg(c, d, a, b, x[i+ 7], 14,  1735328473);
+        b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
+
+        a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
+        d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
+        c = md5_hh(c, d, a, b, x[i+11], 16,  1839030562);
+        b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
+        a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
+        d = md5_hh(d, a, b, c, x[i+ 4], 11,  1272893353);
+        c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
+        b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
+        a = md5_hh(a, b, c, d, x[i+13], 4 ,  681279174);
+        d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
+        c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
+        b = md5_hh(b, c, d, a, x[i+ 6], 23,  76029189);
+        a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
+        d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
+        c = md5_hh(c, d, a, b, x[i+15], 16,  530742520);
+        b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
+
+        a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
+        d = md5_ii(d, a, b, c, x[i+ 7], 10,  1126891415);
+        c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
+        b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
+        a = md5_ii(a, b, c, d, x[i+12], 6 ,  1700485571);
+        d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
+        c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
+        b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
+        a = md5_ii(a, b, c, d, x[i+ 8], 6 ,  1873313359);
+        d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
+        c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
+        b = md5_ii(b, c, d, a, x[i+13], 21,  1309151649);
+        a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
+        d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
+        c = md5_ii(c, d, a, b, x[i+ 2], 15,  718787259);
+        b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
+
+        a = safe_add(a, olda);
+        b = safe_add(b, oldb);
+        c = safe_add(c, oldc);
+        d = safe_add(d, oldd);
+      }
+      return Array(a, b, c, d);
+    }
 
-/**
- * GFM + Line Breaks Inline Grammar
- */
+    /**
+     * These functions implement the four basic operations the algorithm uses.
+     */
+    function md5_cmn(q, a, b, x, s, t) {
+      return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
+    }
+    function md5_ff(a, b, c, d, x, s, t) {
+      return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
+    }
+    function md5_gg(a, b, c, d, x, s, t) {
+      return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
+    }
+    function md5_hh(a, b, c, d, x, s, t) {
+      return md5_cmn(b ^ c ^ d, a, b, x, s, t);
+    }
+    function md5_ii(a, b, c, d, x, s, t) {
+      return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
+    }
+  },
+  /**
+   * @member Hashes
+   * @class Hashes.SHA1
+   * @param {Object} [config]
+   * @constructor
+   *
+   * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined in FIPS 180-1
+   * Version 2.2 Copyright Paul Johnston 2000 - 2009.
+   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+   * See http://pajhome.org.uk/crypt/md5 for details.
+   */
+  SHA1 : function (options) {
+   /**
+     * Private config properties. You may need to tweak these to be compatible with
+     * the server-side, but the defaults work in most cases.
+     * See {@link Hashes.MD5#method-setUpperCase} and {@link Hashes.SHA1#method-setUpperCase}
+     */
+    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase
+        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', // base-64 pad character. Defaults to '=' for strict RFC compliance
+        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true; // enable/disable utf8 encoding
 
-inline.breaks = merge({}, inline.gfm, {
-  br: replace(inline.br)('{2,}', '*')(),
-  text: replace(inline.gfm.text)('{2,}', '*')()
-});
+    // public methods
+    this.hex = function (s) {
+       return rstr2hex(rstr(s, utf8), hexcase);
+    };
+    this.b64 = function (s) {
+       return rstr2b64(rstr(s, utf8), b64pad);
+    };
+    this.any = function (s, e) {
+       return rstr2any(rstr(s, utf8), e);
+    };
+    this.hex_hmac = function (k, d) {
+       return rstr2hex(rstr_hmac(k, d));
+    };
+    this.b64_hmac = function (k, d) {
+       return rstr2b64(rstr_hmac(k, d), b64pad);
+    };
+    this.any_hmac = function (k, d, e) {
+       return rstr2any(rstr_hmac(k, d), e);
+    };
+    /**
+     * Perform a simple self-test to see if the VM is working
+     * @return {String} Hexadecimal hash sample
+     * @public
+     */
+    this.vm_test = function () {
+      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+    };
+    /**
+     * @description Enable/disable uppercase hexadecimal returned string
+     * @param {boolean}
+     * @return {Object} this
+     * @public
+     */
+    this.setUpperCase = function (a) {
+       if (typeof a === 'boolean') {
+        hexcase = a;
+      }
+       return this;
+    };
+    /**
+     * @description Defines a base64 pad string
+     * @param {string} Pad
+     * @return {Object} this
+     * @public
+     */
+    this.setPad = function (a) {
+      b64pad = a || b64pad;
+       return this;
+    };
+    /**
+     * @description Defines a base64 pad string
+     * @param {boolean}
+     * @return {Object} this
+     * @public
+     */
+    this.setUTF8 = function (a) {
+       if (typeof a === 'boolean') {
+        utf8 = a;
+      }
+       return this;
+    };
 
-/**
- * Inline Lexer & Compiler
- */
+    // private methods
 
-function InlineLexer(links, options) {
-  this.options = options || marked.defaults;
-  this.links = links;
-  this.rules = inline.normal;
+    /**
+        * Calculate the SHA-512 of a raw string
+        */
+       function rstr(s) {
+      s = (utf8) ? utf8Encode(s) : s;
+      return binb2rstr(binb(rstr2binb(s), s.length * 8));
+       }
 
-  if (!this.links) {
-    throw new
-      Error('Tokens array requires a `links` property.');
-  }
+    /**
+     * Calculate the HMAC-SHA1 of a key and some data (raw strings)
+     */
+    function rstr_hmac(key, data) {
+       var bkey, ipad, opad, i, hash;
+       key = (utf8) ? utf8Encode(key) : key;
+       data = (utf8) ? utf8Encode(data) : data;
+       bkey = rstr2binb(key);
+
+       if (bkey.length > 16) {
+        bkey = binb(bkey, key.length * 8);
+      }
+       ipad = Array(16), opad = Array(16);
+       for (i = 0; i < 16; i+=1) {
+               ipad[i] = bkey[i] ^ 0x36363636;
+               opad[i] = bkey[i] ^ 0x5C5C5C5C;
+       }
+       hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
+       return binb2rstr(binb(opad.concat(hash), 512 + 160));
+    }
 
-  if (this.options.gfm) {
-    if (this.options.breaks) {
-      this.rules = inline.breaks;
-    } else {
-      this.rules = inline.gfm;
+    /**
+     * Calculate the SHA-1 of an array of big-endian words, and a bit length
+     */
+    function binb(x, len) {
+      var i, j, t, olda, oldb, oldc, oldd, olde,
+          w = Array(80),
+          a =  1732584193,
+          b = -271733879,
+          c = -1732584194,
+          d =  271733878,
+          e = -1009589776;
+
+      /* append padding */
+      x[len >> 5] |= 0x80 << (24 - len % 32);
+      x[((len + 64 >> 9) << 4) + 15] = len;
+
+      for (i = 0; i < x.length; i += 16) {
+        olda = a,
+        oldb = b;
+        oldc = c;
+        oldd = d;
+        olde = e;
+
+       for (j = 0; j < 80; j+=1)       {
+         if (j < 16) {
+            w[j] = x[i + j];
+          } else {
+            w[j] = bit_rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
+          }
+         t = safe_add(safe_add(bit_rol(a, 5), sha1_ft(j, b, c, d)),
+                                          safe_add(safe_add(e, w[j]), sha1_kt(j)));
+         e = d;
+         d = c;
+         c = bit_rol(b, 30);
+         b = a;
+         a = t;
+       }
+
+       a = safe_add(a, olda);
+       b = safe_add(b, oldb);
+       c = safe_add(c, oldc);
+       d = safe_add(d, oldd);
+       e = safe_add(e, olde);
+      }
+      return Array(a, b, c, d, e);
     }
-  } else if (this.options.pedantic) {
-    this.rules = inline.pedantic;
-  }
-}
 
-/**
- * Expose Inline Rules
- */
+    /**
+     * Perform the appropriate triplet combination function for the current
+     * iteration
+     */
+    function sha1_ft(t, b, c, d) {
+      if (t < 20) { return (b & c) | ((~b) & d); }
+      if (t < 40) { return b ^ c ^ d; }
+      if (t < 60) { return (b & c) | (b & d) | (c & d); }
+      return b ^ c ^ d;
+    }
 
-InlineLexer.rules = inline;
+    /**
+     * Determine the appropriate additive constant for the current iteration
+     */
+    function sha1_kt(t) {
+      return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :
+                (t < 60) ? -1894007588 : -899497514;
+    }
+  },
+  /**
+   * @class Hashes.SHA256
+   * @param {config}
+   *
+   * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined in FIPS 180-2
+   * Version 2.2 Copyright Angel Marin, Paul Johnston 2000 - 2009.
+   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+   * See http://pajhome.org.uk/crypt/md5 for details.
+   * Also http://anmar.eu.org/projects/jssha2/
+   */
+  SHA256 : function (options) {
+    /**
+     * Private properties configuration variables. You may need to tweak these to be compatible with
+     * the server-side, but the defaults work in most cases.
+     * @see this.setUpperCase() method
+     * @see this.setPad() method
+     */
+    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false, // hexadecimal output case format. false - lowercase; true - uppercase  */
+              b64pad = (options && typeof options.pad === 'string') ? options.pda : '=', /* base-64 pad character. Default '=' for strict RFC compliance   */
+              utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */
+              sha256_K;
 
-/**
- * Static Lexing/Compiling Method
- */
+    /* privileged (public) methods */
+    this.hex = function (s) {
+      return rstr2hex(rstr(s, utf8));
+    };
+    this.b64 = function (s) {
+      return rstr2b64(rstr(s, utf8), b64pad);
+    };
+    this.any = function (s, e) {
+      return rstr2any(rstr(s, utf8), e);
+    };
+    this.hex_hmac = function (k, d) {
+      return rstr2hex(rstr_hmac(k, d));
+    };
+    this.b64_hmac = function (k, d) {
+      return rstr2b64(rstr_hmac(k, d), b64pad);
+    };
+    this.any_hmac = function (k, d, e) {
+      return rstr2any(rstr_hmac(k, d), e);
+    };
+    /**
+     * Perform a simple self-test to see if the VM is working
+     * @return {String} Hexadecimal hash sample
+     * @public
+     */
+    this.vm_test = function () {
+      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+    };
+    /**
+     * Enable/disable uppercase hexadecimal returned string
+     * @param {boolean}
+     * @return {Object} this
+     * @public
+     */
+    this.setUpperCase = function (a) {
+      if (typeof a === 'boolean') {
+        hexcase = a;
+      }
+      return this;
+    };
+    /**
+     * @description Defines a base64 pad string
+     * @param {string} Pad
+     * @return {Object} this
+     * @public
+     */
+    this.setPad = function (a) {
+      b64pad = a || b64pad;
+      return this;
+    };
+    /**
+     * Defines a base64 pad string
+     * @param {boolean}
+     * @return {Object} this
+     * @public
+     */
+    this.setUTF8 = function (a) {
+      if (typeof a === 'boolean') {
+        utf8 = a;
+      }
+      return this;
+    };
 
-InlineLexer.output = function(src, links, options) {
-  var inline = new InlineLexer(links, options);
-  return inline.output(src);
-};
+    // private methods
 
-/**
- * Lexing/Compiling
- */
+    /**
+     * Calculate the SHA-512 of a raw string
+     */
+    function rstr(s, utf8) {
+      s = (utf8) ? utf8Encode(s) : s;
+      return binb2rstr(binb(rstr2binb(s), s.length * 8));
+    }
 
-InlineLexer.prototype.output = function(src) {
-  var out = ''
-    , link
-    , text
-    , href
-    , cap;
+    /**
+     * Calculate the HMAC-sha256 of a key and some data (raw strings)
+     */
+    function rstr_hmac(key, data) {
+      key = (utf8) ? utf8Encode(key) : key;
+      data = (utf8) ? utf8Encode(data) : data;
+      var hash, i = 0,
+          bkey = rstr2binb(key),
+          ipad = Array(16),
+          opad = Array(16);
+
+      if (bkey.length > 16) { bkey = binb(bkey, key.length * 8); }
+
+      for (; i < 16; i+=1) {
+        ipad[i] = bkey[i] ^ 0x36363636;
+        opad[i] = bkey[i] ^ 0x5C5C5C5C;
+      }
 
-  while (src) {
-    // escape
-    if (cap = this.rules.escape.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += cap[1];
-      continue;
+      hash = binb(ipad.concat(rstr2binb(data)), 512 + data.length * 8);
+      return binb2rstr(binb(opad.concat(hash), 512 + 256));
     }
 
-    // autolink
-    if (cap = this.rules.autolink.exec(src)) {
-      src = src.substring(cap[0].length);
-      if (cap[2] === '@') {
-        text = cap[1][6] === ':'
-          ? this.mangle(cap[1].substring(7))
-          : this.mangle(cap[1]);
-        href = this.mangle('mailto:') + text;
-      } else {
-        text = escape(cap[1]);
-        href = text;
+    /*
+     * Main sha256 function, with its support functions
+     */
+    function sha256_S (X, n) {return ( X >>> n ) | (X << (32 - n));}
+    function sha256_R (X, n) {return ( X >>> n );}
+    function sha256_Ch(x, y, z) {return ((x & y) ^ ((~x) & z));}
+    function sha256_Maj(x, y, z) {return ((x & y) ^ (x & z) ^ (y & z));}
+    function sha256_Sigma0256(x) {return (sha256_S(x, 2) ^ sha256_S(x, 13) ^ sha256_S(x, 22));}
+    function sha256_Sigma1256(x) {return (sha256_S(x, 6) ^ sha256_S(x, 11) ^ sha256_S(x, 25));}
+    function sha256_Gamma0256(x) {return (sha256_S(x, 7) ^ sha256_S(x, 18) ^ sha256_R(x, 3));}
+    function sha256_Gamma1256(x) {return (sha256_S(x, 17) ^ sha256_S(x, 19) ^ sha256_R(x, 10));}
+    function sha256_Sigma0512(x) {return (sha256_S(x, 28) ^ sha256_S(x, 34) ^ sha256_S(x, 39));}
+    function sha256_Sigma1512(x) {return (sha256_S(x, 14) ^ sha256_S(x, 18) ^ sha256_S(x, 41));}
+    function sha256_Gamma0512(x) {return (sha256_S(x, 1)  ^ sha256_S(x, 8) ^ sha256_R(x, 7));}
+    function sha256_Gamma1512(x) {return (sha256_S(x, 19) ^ sha256_S(x, 61) ^ sha256_R(x, 6));}
+
+    sha256_K = [
+      1116352408, 1899447441, -1245643825, -373957723, 961987163, 1508970993,
+      -1841331548, -1424204075, -670586216, 310598401, 607225278, 1426881987,
+      1925078388, -2132889090, -1680079193, -1046744716, -459576895, -272742522,
+      264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986,
+      -1740746414, -1473132947, -1341970488, -1084653625, -958395405, -710438585,
+      113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291,
+      1695183700, 1986661051, -2117940946, -1838011259, -1564481375, -1474664885,
+      -1035236496, -949202525, -778901479, -694614492, -200395387, 275423344,
+      430227734, 506948616, 659060556, 883997877, 958139571, 1322822218,
+      1537002063, 1747873779, 1955562222, 2024104815, -2067236844, -1933114872,
+      -1866530822, -1538233109, -1090935817, -965641998
+    ];
+
+    function binb(m, l) {
+      var HASH = [1779033703, -1150833019, 1013904242, -1521486534,
+                 1359893119, -1694144372, 528734635, 1541459225];
+      var W = new Array(64);
+      var a, b, c, d, e, f, g, h;
+      var i, j, T1, T2;
+
+      /* append padding */
+      m[l >> 5] |= 0x80 << (24 - l % 32);
+      m[((l + 64 >> 9) << 4) + 15] = l;
+
+      for (i = 0; i < m.length; i += 16)
+      {
+      a = HASH[0];
+      b = HASH[1];
+      c = HASH[2];
+      d = HASH[3];
+      e = HASH[4];
+      f = HASH[5];
+      g = HASH[6];
+      h = HASH[7];
+
+      for (j = 0; j < 64; j+=1)
+      {
+        if (j < 16) {
+          W[j] = m[j + i];
+        } else {
+          W[j] = safe_add(safe_add(safe_add(sha256_Gamma1256(W[j - 2]), W[j - 7]),
+                          sha256_Gamma0256(W[j - 15])), W[j - 16]);
+        }
+
+        T1 = safe_add(safe_add(safe_add(safe_add(h, sha256_Sigma1256(e)), sha256_Ch(e, f, g)),
+                                  sha256_K[j]), W[j]);
+        T2 = safe_add(sha256_Sigma0256(a), sha256_Maj(a, b, c));
+        h = g;
+        g = f;
+        f = e;
+        e = safe_add(d, T1);
+        d = c;
+        c = b;
+        b = a;
+        a = safe_add(T1, T2);
       }
-      out += '<a href="'
-        + href
-        + '">'
-        + text
-        + '</a>';
-      continue;
-    }
 
-    // url (gfm)
-    if (cap = this.rules.url.exec(src)) {
-      src = src.substring(cap[0].length);
-      text = escape(cap[1]);
-      href = text;
-      out += '<a href="'
-        + href
-        + '">'
-        + text
-        + '</a>';
-      continue;
+      HASH[0] = safe_add(a, HASH[0]);
+      HASH[1] = safe_add(b, HASH[1]);
+      HASH[2] = safe_add(c, HASH[2]);
+      HASH[3] = safe_add(d, HASH[3]);
+      HASH[4] = safe_add(e, HASH[4]);
+      HASH[5] = safe_add(f, HASH[5]);
+      HASH[6] = safe_add(g, HASH[6]);
+      HASH[7] = safe_add(h, HASH[7]);
+      }
+      return HASH;
     }
 
-    // tag
-    if (cap = this.rules.tag.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += this.options.sanitize
-        ? escape(cap[0])
-        : cap[0];
-      continue;
-    }
+  },
 
-    // link
-    if (cap = this.rules.link.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += this.outputLink(cap, {
-        href: cap[2],
-        title: cap[3]
-      });
-      continue;
-    }
+  /**
+   * @class Hashes.SHA512
+   * @param {config}
+   *
+   * A JavaScript implementation of the Secure Hash Algorithm, SHA-512, as defined in FIPS 180-2
+   * Version 2.2 Copyright Anonymous Contributor, Paul Johnston 2000 - 2009.
+   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+   * See http://pajhome.org.uk/crypt/md5 for details.
+   */
+  SHA512 : function (options) {
+    /**
+     * Private properties configuration variables. You may need to tweak these to be compatible with
+     * the server-side, but the defaults work in most cases.
+     * @see this.setUpperCase() method
+     * @see this.setPad() method
+     */
+    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false , /* hexadecimal output case format. false - lowercase; true - uppercase  */
+        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=',  /* base-64 pad character. Default '=' for strict RFC compliance   */
+        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */
+        sha512_k;
 
-    // reflink, nolink
-    if ((cap = this.rules.reflink.exec(src))
-        || (cap = this.rules.nolink.exec(src))) {
-      src = src.substring(cap[0].length);
-      link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
-      link = this.links[link.toLowerCase()];
-      if (!link || !link.href) {
-        out += cap[0][0];
-        src = cap[0].substring(1) + src;
-        continue;
+    /* privileged (public) methods */
+    this.hex = function (s) {
+      return rstr2hex(rstr(s));
+    };
+    this.b64 = function (s) {
+      return rstr2b64(rstr(s), b64pad);
+    };
+    this.any = function (s, e) {
+      return rstr2any(rstr(s), e);
+    };
+    this.hex_hmac = function (k, d) {
+      return rstr2hex(rstr_hmac(k, d));
+    };
+    this.b64_hmac = function (k, d) {
+      return rstr2b64(rstr_hmac(k, d), b64pad);
+    };
+    this.any_hmac = function (k, d, e) {
+      return rstr2any(rstr_hmac(k, d), e);
+    };
+    /**
+     * Perform a simple self-test to see if the VM is working
+     * @return {String} Hexadecimal hash sample
+     * @public
+     */
+    this.vm_test = function () {
+      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+    };
+    /**
+     * @description Enable/disable uppercase hexadecimal returned string
+     * @param {boolean}
+     * @return {Object} this
+     * @public
+     */
+    this.setUpperCase = function (a) {
+      if (typeof a === 'boolean') {
+        hexcase = a;
       }
-      out += this.outputLink(cap, link);
-      continue;
+      return this;
+    };
+    /**
+     * @description Defines a base64 pad string
+     * @param {string} Pad
+     * @return {Object} this
+     * @public
+     */
+    this.setPad = function (a) {
+      b64pad = a || b64pad;
+      return this;
+    };
+    /**
+     * @description Defines a base64 pad string
+     * @param {boolean}
+     * @return {Object} this
+     * @public
+     */
+    this.setUTF8 = function (a) {
+      if (typeof a === 'boolean') {
+        utf8 = a;
+      }
+      return this;
+    };
+
+    /* private methods */
+
+    /**
+     * Calculate the SHA-512 of a raw string
+     */
+    function rstr(s) {
+      s = (utf8) ? utf8Encode(s) : s;
+      return binb2rstr(binb(rstr2binb(s), s.length * 8));
     }
+    /*
+     * Calculate the HMAC-SHA-512 of a key and some data (raw strings)
+     */
+    function rstr_hmac(key, data) {
+      key = (utf8) ? utf8Encode(key) : key;
+      data = (utf8) ? utf8Encode(data) : data;
 
-    // strong
-    if (cap = this.rules.strong.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<strong>'
-        + this.output(cap[2] || cap[1])
-        + '</strong>';
-      continue;
+      var hash, i = 0,
+          bkey = rstr2binb(key),
+          ipad = Array(32), opad = Array(32);
+
+      if (bkey.length > 32) { bkey = binb(bkey, key.length * 8); }
+
+      for (; i < 32; i+=1) {
+        ipad[i] = bkey[i] ^ 0x36363636;
+        opad[i] = bkey[i] ^ 0x5C5C5C5C;
+      }
+
+      hash = binb(ipad.concat(rstr2binb(data)), 1024 + data.length * 8);
+      return binb2rstr(binb(opad.concat(hash), 1024 + 512));
     }
 
-    // em
-    if (cap = this.rules.em.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<em>'
-        + this.output(cap[2] || cap[1])
-        + '</em>';
-      continue;
+    /**
+     * Calculate the SHA-512 of an array of big-endian dwords, and a bit length
+     */
+    function binb(x, len) {
+      var j, i, l,
+          W = new Array(80),
+          hash = new Array(16),
+          //Initial hash values
+          H = [
+            new int64(0x6a09e667, -205731576),
+            new int64(-1150833019, -2067093701),
+            new int64(0x3c6ef372, -23791573),
+            new int64(-1521486534, 0x5f1d36f1),
+            new int64(0x510e527f, -1377402159),
+            new int64(-1694144372, 0x2b3e6c1f),
+            new int64(0x1f83d9ab, -79577749),
+            new int64(0x5be0cd19, 0x137e2179)
+          ],
+          T1 = new int64(0, 0),
+          T2 = new int64(0, 0),
+          a = new int64(0,0),
+          b = new int64(0,0),
+          c = new int64(0,0),
+          d = new int64(0,0),
+          e = new int64(0,0),
+          f = new int64(0,0),
+          g = new int64(0,0),
+          h = new int64(0,0),
+          //Temporary variables not specified by the document
+          s0 = new int64(0, 0),
+          s1 = new int64(0, 0),
+          Ch = new int64(0, 0),
+          Maj = new int64(0, 0),
+          r1 = new int64(0, 0),
+          r2 = new int64(0, 0),
+          r3 = new int64(0, 0);
+
+      if (sha512_k === undefined) {
+          //SHA512 constants
+          sha512_k = [
+            new int64(0x428a2f98, -685199838), new int64(0x71374491, 0x23ef65cd),
+            new int64(-1245643825, -330482897), new int64(-373957723, -2121671748),
+            new int64(0x3956c25b, -213338824), new int64(0x59f111f1, -1241133031),
+            new int64(-1841331548, -1357295717), new int64(-1424204075, -630357736),
+            new int64(-670586216, -1560083902), new int64(0x12835b01, 0x45706fbe),
+            new int64(0x243185be, 0x4ee4b28c), new int64(0x550c7dc3, -704662302),
+            new int64(0x72be5d74, -226784913), new int64(-2132889090, 0x3b1696b1),
+            new int64(-1680079193, 0x25c71235), new int64(-1046744716, -815192428),
+            new int64(-459576895, -1628353838), new int64(-272742522, 0x384f25e3),
+            new int64(0xfc19dc6, -1953704523), new int64(0x240ca1cc, 0x77ac9c65),
+            new int64(0x2de92c6f, 0x592b0275), new int64(0x4a7484aa, 0x6ea6e483),
+            new int64(0x5cb0a9dc, -1119749164), new int64(0x76f988da, -2096016459),
+            new int64(-1740746414, -295247957), new int64(-1473132947, 0x2db43210),
+            new int64(-1341970488, -1728372417), new int64(-1084653625, -1091629340),
+            new int64(-958395405, 0x3da88fc2), new int64(-710438585, -1828018395),
+            new int64(0x6ca6351, -536640913), new int64(0x14292967, 0xa0e6e70),
+            new int64(0x27b70a85, 0x46d22ffc), new int64(0x2e1b2138, 0x5c26c926),
+            new int64(0x4d2c6dfc, 0x5ac42aed), new int64(0x53380d13, -1651133473),
+            new int64(0x650a7354, -1951439906), new int64(0x766a0abb, 0x3c77b2a8),
+            new int64(-2117940946, 0x47edaee6), new int64(-1838011259, 0x1482353b),
+            new int64(-1564481375, 0x4cf10364), new int64(-1474664885, -1136513023),
+            new int64(-1035236496, -789014639), new int64(-949202525, 0x654be30),
+            new int64(-778901479, -688958952), new int64(-694614492, 0x5565a910),
+            new int64(-200395387, 0x5771202a), new int64(0x106aa070, 0x32bbd1b8),
+            new int64(0x19a4c116, -1194143544), new int64(0x1e376c08, 0x5141ab53),
+            new int64(0x2748774c, -544281703), new int64(0x34b0bcb5, -509917016),
+            new int64(0x391c0cb3, -976659869), new int64(0x4ed8aa4a, -482243893),
+            new int64(0x5b9cca4f, 0x7763e373), new int64(0x682e6ff3, -692930397),
+            new int64(0x748f82ee, 0x5defb2fc), new int64(0x78a5636f, 0x43172f60),
+            new int64(-2067236844, -1578062990), new int64(-1933114872, 0x1a6439ec),
+            new int64(-1866530822, 0x23631e28), new int64(-1538233109, -561857047),
+            new int64(-1090935817, -1295615723), new int64(-965641998, -479046869),
+            new int64(-903397682, -366583396), new int64(-779700025, 0x21c0c207),
+            new int64(-354779690, -840897762), new int64(-176337025, -294727304),
+            new int64(0x6f067aa, 0x72176fba), new int64(0xa637dc5, -1563912026),
+            new int64(0x113f9804, -1090974290), new int64(0x1b710b35, 0x131c471b),
+            new int64(0x28db77f5, 0x23047d84), new int64(0x32caab7b, 0x40c72493),
+            new int64(0x3c9ebe0a, 0x15c9bebc), new int64(0x431d67c4, -1676669620),
+            new int64(0x4cc5d4be, -885112138), new int64(0x597f299c, -60457430),
+            new int64(0x5fcb6fab, 0x3ad6faec), new int64(0x6c44198c, 0x4a475817)
+          ];
+      }
+
+      for (i=0; i<80; i+=1) {
+        W[i] = new int64(0, 0);
+      }
+
+      // append padding to the source string. The format is described in the FIPS.
+      x[len >> 5] |= 0x80 << (24 - (len & 0x1f));
+      x[((len + 128 >> 10)<< 5) + 31] = len;
+      l = x.length;
+      for (i = 0; i<l; i+=32) { //32 dwords is the block size
+        int64copy(a, H[0]);
+        int64copy(b, H[1]);
+        int64copy(c, H[2]);
+        int64copy(d, H[3]);
+        int64copy(e, H[4]);
+        int64copy(f, H[5]);
+        int64copy(g, H[6]);
+        int64copy(h, H[7]);
+
+        for (j=0; j<16; j+=1) {
+          W[j].h = x[i + 2*j];
+          W[j].l = x[i + 2*j + 1];
+        }
+
+        for (j=16; j<80; j+=1) {
+          //sigma1
+          int64rrot(r1, W[j-2], 19);
+          int64revrrot(r2, W[j-2], 29);
+          int64shr(r3, W[j-2], 6);
+          s1.l = r1.l ^ r2.l ^ r3.l;
+          s1.h = r1.h ^ r2.h ^ r3.h;
+          //sigma0
+          int64rrot(r1, W[j-15], 1);
+          int64rrot(r2, W[j-15], 8);
+          int64shr(r3, W[j-15], 7);
+          s0.l = r1.l ^ r2.l ^ r3.l;
+          s0.h = r1.h ^ r2.h ^ r3.h;
+
+          int64add4(W[j], s1, W[j-7], s0, W[j-16]);
+        }
+
+        for (j = 0; j < 80; j+=1) {
+          //Ch
+          Ch.l = (e.l & f.l) ^ (~e.l & g.l);
+          Ch.h = (e.h & f.h) ^ (~e.h & g.h);
+
+          //Sigma1
+          int64rrot(r1, e, 14);
+          int64rrot(r2, e, 18);
+          int64revrrot(r3, e, 9);
+          s1.l = r1.l ^ r2.l ^ r3.l;
+          s1.h = r1.h ^ r2.h ^ r3.h;
+
+          //Sigma0
+          int64rrot(r1, a, 28);
+          int64revrrot(r2, a, 2);
+          int64revrrot(r3, a, 7);
+          s0.l = r1.l ^ r2.l ^ r3.l;
+          s0.h = r1.h ^ r2.h ^ r3.h;
+
+          //Maj
+          Maj.l = (a.l & b.l) ^ (a.l & c.l) ^ (b.l & c.l);
+          Maj.h = (a.h & b.h) ^ (a.h & c.h) ^ (b.h & c.h);
+
+          int64add5(T1, h, s1, Ch, sha512_k[j], W[j]);
+          int64add(T2, s0, Maj);
+
+          int64copy(h, g);
+          int64copy(g, f);
+          int64copy(f, e);
+          int64add(e, d, T1);
+          int64copy(d, c);
+          int64copy(c, b);
+          int64copy(b, a);
+          int64add(a, T1, T2);
+        }
+        int64add(H[0], H[0], a);
+        int64add(H[1], H[1], b);
+        int64add(H[2], H[2], c);
+        int64add(H[3], H[3], d);
+        int64add(H[4], H[4], e);
+        int64add(H[5], H[5], f);
+        int64add(H[6], H[6], g);
+        int64add(H[7], H[7], h);
+      }
+
+      //represent the hash as an array of 32-bit dwords
+      for (i=0; i<8; i+=1) {
+        hash[2*i] = H[i].h;
+        hash[2*i + 1] = H[i].l;
+      }
+      return hash;
     }
 
-    // code
-    if (cap = this.rules.code.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<code>'
-        + escape(cap[2], true)
-        + '</code>';
-      continue;
+    //A constructor for 64-bit numbers
+    function int64(h, l) {
+      this.h = h;
+      this.l = l;
+      //this.toString = int64toString;
     }
 
-    // br
-    if (cap = this.rules.br.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<br>';
-      continue;
+    //Copies src into dst, assuming both are 64-bit numbers
+    function int64copy(dst, src) {
+      dst.h = src.h;
+      dst.l = src.l;
     }
 
-    // del (gfm)
-    if (cap = this.rules.del.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += '<del>'
-        + this.output(cap[1])
-        + '</del>';
-      continue;
+    //Right-rotates a 64-bit number by shift
+    //Won't handle cases of shift>=32
+    //The function revrrot() is for that
+    function int64rrot(dst, x, shift) {
+      dst.l = (x.l >>> shift) | (x.h << (32-shift));
+      dst.h = (x.h >>> shift) | (x.l << (32-shift));
     }
 
-    // text
-    if (cap = this.rules.text.exec(src)) {
-      src = src.substring(cap[0].length);
-      out += escape(cap[0]);
-      continue;
+    //Reverses the dwords of the source and then rotates right by shift.
+    //This is equivalent to rotation by 32+shift
+    function int64revrrot(dst, x, shift) {
+      dst.l = (x.h >>> shift) | (x.l << (32-shift));
+      dst.h = (x.l >>> shift) | (x.h << (32-shift));
     }
 
-    if (src) {
-      throw new
-        Error('Infinite loop on byte: ' + src.charCodeAt(0));
+    //Bitwise-shifts right a 64-bit number by shift
+    //Won't handle shift>=32, but it's never needed in SHA512
+    function int64shr(dst, x, shift) {
+      dst.l = (x.l >>> shift) | (x.h << (32-shift));
+      dst.h = (x.h >>> shift);
     }
-  }
 
-  return out;
-};
+    //Adds two 64-bit numbers
+    //Like the original implementation, does not rely on 32-bit operations
+    function int64add(dst, x, y) {
+       var w0 = (x.l & 0xffff) + (y.l & 0xffff);
+       var w1 = (x.l >>> 16) + (y.l >>> 16) + (w0 >>> 16);
+       var w2 = (x.h & 0xffff) + (y.h & 0xffff) + (w1 >>> 16);
+       var w3 = (x.h >>> 16) + (y.h >>> 16) + (w2 >>> 16);
+       dst.l = (w0 & 0xffff) | (w1 << 16);
+       dst.h = (w2 & 0xffff) | (w3 << 16);
+    }
 
-/**
- * Compile Link
- */
+    //Same, except with 4 addends. Works faster than adding them one by one.
+    function int64add4(dst, a, b, c, d) {
+       var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff);
+       var w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (w0 >>> 16);
+       var w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (w1 >>> 16);
+       var w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (w2 >>> 16);
+       dst.l = (w0 & 0xffff) | (w1 << 16);
+       dst.h = (w2 & 0xffff) | (w3 << 16);
+    }
 
-InlineLexer.prototype.outputLink = function(cap, link) {
-  if (cap[0][0] !== '!') {
-    return '<a href="'
-      + escape(link.href)
-      + '"'
-      + (link.title
-      ? ' title="'
-      + escape(link.title)
-      + '"'
-      : '')
-      + '>'
-      + this.output(cap[1])
-      + '</a>';
-  } else {
-    return '<img src="'
-      + escape(link.href)
-      + '" alt="'
-      + escape(cap[1])
-      + '"'
-      + (link.title
-      ? ' title="'
-      + escape(link.title)
-      + '"'
-      : '')
-      + '>';
-  }
-};
+    //Same, except with 5 addends
+    function int64add5(dst, a, b, c, d, e) {
+      var w0 = (a.l & 0xffff) + (b.l & 0xffff) + (c.l & 0xffff) + (d.l & 0xffff) + (e.l & 0xffff),
+          w1 = (a.l >>> 16) + (b.l >>> 16) + (c.l >>> 16) + (d.l >>> 16) + (e.l >>> 16) + (w0 >>> 16),
+          w2 = (a.h & 0xffff) + (b.h & 0xffff) + (c.h & 0xffff) + (d.h & 0xffff) + (e.h & 0xffff) + (w1 >>> 16),
+          w3 = (a.h >>> 16) + (b.h >>> 16) + (c.h >>> 16) + (d.h >>> 16) + (e.h >>> 16) + (w2 >>> 16);
+       dst.l = (w0 & 0xffff) | (w1 << 16);
+       dst.h = (w2 & 0xffff) | (w3 << 16);
+    }
+  },
+  /**
+   * @class Hashes.RMD160
+   * @constructor
+   * @param {Object} [config]
+   *
+   * A JavaScript implementation of the RIPEMD-160 Algorithm
+   * Version 2.2 Copyright Jeremy Lin, Paul Johnston 2000 - 2009.
+   * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
+   * See http://pajhome.org.uk/crypt/md5 for details.
+   * Also http://www.ocf.berkeley.edu/~jjlin/jsotp/
+   */
+  RMD160 : function (options) {
+    /**
+     * Private properties configuration variables. You may need to tweak these to be compatible with
+     * the server-side, but the defaults work in most cases.
+     * @see this.setUpperCase() method
+     * @see this.setPad() method
+     */
+    var hexcase = (options && typeof options.uppercase === 'boolean') ? options.uppercase : false,   /* hexadecimal output case format. false - lowercase; true - uppercase  */
+        b64pad = (options && typeof options.pad === 'string') ? options.pda : '=',  /* base-64 pad character. Default '=' for strict RFC compliance   */
+        utf8 = (options && typeof options.utf8 === 'boolean') ? options.utf8 : true, /* enable/disable utf8 encoding */
+        rmd160_r1 = [
+           0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,
+           7,  4, 13,  1, 10,  6, 15,  3, 12,  0,  9,  5,  2, 14, 11,  8,
+           3, 10, 14,  4,  9, 15,  8,  1,  2,  7,  0,  6, 13, 11,  5, 12,
+           1,  9, 11, 10,  0,  8, 12,  4, 13,  3,  7, 15, 14,  5,  6,  2,
+           4,  0,  5,  9,  7, 12,  2, 10, 14,  1,  3,  8, 11,  6, 15, 13
+        ],
+        rmd160_r2 = [
+           5, 14,  7,  0,  9,  2, 11,  4, 13,  6, 15,  8,  1, 10,  3, 12,
+           6, 11,  3,  7,  0, 13,  5, 10, 14, 15,  8, 12,  4,  9,  1,  2,
+          15,  5,  1,  3,  7, 14,  6,  9, 11,  8, 12,  2, 10,  0,  4, 13,
+           8,  6,  4,  1,  3, 11, 15,  0,  5, 12,  2, 13,  9,  7, 10, 14,
+          12, 15, 10,  4,  1,  5,  8,  7,  6,  2, 13, 14,  0,  3,  9, 11
+        ],
+        rmd160_s1 = [
+          11, 14, 15, 12,  5,  8,  7,  9, 11, 13, 14, 15,  6,  7,  9,  8,
+           7,  6,  8, 13, 11,  9,  7, 15,  7, 12, 15,  9, 11,  7, 13, 12,
+          11, 13,  6,  7, 14,  9, 13, 15, 14,  8, 13,  6,  5, 12,  7,  5,
+          11, 12, 14, 15, 14, 15,  9,  8,  9, 14,  5,  6,  8,  6,  5, 12,
+           9, 15,  5, 11,  6,  8, 13, 12,  5, 12, 13, 14, 11,  8,  5,  6
+        ],
+        rmd160_s2 = [
+           8,  9,  9, 11, 13, 15, 15,  5,  7,  7,  8, 11, 14, 14, 12,  6,
+           9, 13, 15,  7, 12,  8,  9, 11,  7,  7, 12,  7,  6, 15, 13, 11,
+           9,  7, 15, 11,  8,  6,  6, 14, 12, 13,  5, 14, 13, 13,  7,  5,
+          15,  5,  8, 11, 14, 14,  6, 14,  6,  9, 12,  9, 12,  5, 15,  8,
+           8,  5, 12,  9, 12,  5, 14,  6,  8, 13,  6,  5, 15, 13, 11, 11
+        ];
 
-/**
- * Smartypants Transformations
- */
+    /* privileged (public) methods */
+    this.hex = function (s) {
+      return rstr2hex(rstr(s, utf8));
+    };
+    this.b64 = function (s) {
+      return rstr2b64(rstr(s, utf8), b64pad);
+    };
+    this.any = function (s, e) {
+      return rstr2any(rstr(s, utf8), e);
+    };
+    this.hex_hmac = function (k, d) {
+      return rstr2hex(rstr_hmac(k, d));
+    };
+    this.b64_hmac = function (k, d) {
+      return rstr2b64(rstr_hmac(k, d), b64pad);
+    };
+    this.any_hmac = function (k, d, e) {
+      return rstr2any(rstr_hmac(k, d), e);
+    };
+    /**
+     * Perform a simple self-test to see if the VM is working
+     * @return {String} Hexadecimal hash sample
+     * @public
+     */
+    this.vm_test = function () {
+      return hex('abc').toLowerCase() === '900150983cd24fb0d6963f7d28e17f72';
+    };
+    /**
+     * @description Enable/disable uppercase hexadecimal returned string
+     * @param {boolean}
+     * @return {Object} this
+     * @public
+     */
+    this.setUpperCase = function (a) {
+      if (typeof a === 'boolean' ) { hexcase = a; }
+      return this;
+    };
+    /**
+     * @description Defines a base64 pad string
+     * @param {string} Pad
+     * @return {Object} this
+     * @public
+     */
+    this.setPad = function (a) {
+      if (typeof a !== 'undefined' ) { b64pad = a; }
+      return this;
+    };
+    /**
+     * @description Defines a base64 pad string
+     * @param {boolean}
+     * @return {Object} this
+     * @public
+     */
+    this.setUTF8 = function (a) {
+      if (typeof a === 'boolean') { utf8 = a; }
+      return this;
+    };
 
-InlineLexer.prototype.smartypants = function(text) {
-  if (!this.options.smartypants) return text;
-  return text
-    .replace(/--/g, '—')
-    .replace(/'([^']*)'/g, '‘$1’')
-    .replace(/"([^"]*)"/g, '“$1”')
-    .replace(/\.{3}/g, '…');
-};
+    /* private methods */
 
-/**
- * Mangle Links
- */
+    /**
+     * Calculate the rmd160 of a raw string
+     */
+    function rstr(s) {
+      s = (utf8) ? utf8Encode(s) : s;
+      return binl2rstr(binl(rstr2binl(s), s.length * 8));
+    }
 
-InlineLexer.prototype.mangle = function(text) {
-  var out = ''
-    , l = text.length
-    , i = 0
-    , ch;
+    /**
+     * Calculate the HMAC-rmd160 of a key and some data (raw strings)
+     */
+    function rstr_hmac(key, data) {
+      key = (utf8) ? utf8Encode(key) : key;
+      data = (utf8) ? utf8Encode(data) : data;
+      var i, hash,
+          bkey = rstr2binl(key),
+          ipad = Array(16), opad = Array(16);
+
+      if (bkey.length > 16) {
+        bkey = binl(bkey, key.length * 8);
+      }
 
-  for (; i < l; i++) {
-    ch = text.charCodeAt(i);
-    if (Math.random() > 0.5) {
-      ch = 'x' + ch.toString(16);
+      for (i = 0; i < 16; i+=1) {
+        ipad[i] = bkey[i] ^ 0x36363636;
+        opad[i] = bkey[i] ^ 0x5C5C5C5C;
+      }
+      hash = binl(ipad.concat(rstr2binl(data)), 512 + data.length * 8);
+      return binl2rstr(binl(opad.concat(hash), 512 + 160));
     }
-    out += '&#' + ch + ';';
-  }
 
-  return out;
-};
+    /**
+     * Convert an array of little-endian words to a string
+     */
+    function binl2rstr(input) {
+      var i, output = '', l = input.length * 32;
+      for (i = 0; i < l; i += 8) {
+        output += String.fromCharCode((input[i>>5] >>> (i % 32)) & 0xFF);
+      }
+      return output;
+    }
 
-/**
- * Parsing & Compiling
- */
+    /**
+     * Calculate the RIPE-MD160 of an array of little-endian words, and a bit length.
+     */
+    function binl(x, len) {
+      var T, j, i, l,
+          h0 = 0x67452301,
+          h1 = 0xefcdab89,
+          h2 = 0x98badcfe,
+          h3 = 0x10325476,
+          h4 = 0xc3d2e1f0,
+          A1, B1, C1, D1, E1,
+          A2, B2, C2, D2, E2;
+
+      /* append padding */
+      x[len >> 5] |= 0x80 << (len % 32);
+      x[(((len + 64) >>> 9) << 4) + 14] = len;
+      l = x.length;
+
+      for (i = 0; i < l; i+=16) {
+        A1 = A2 = h0; B1 = B2 = h1; C1 = C2 = h2; D1 = D2 = h3; E1 = E2 = h4;
+        for (j = 0; j <= 79; j+=1) {
+          T = safe_add(A1, rmd160_f(j, B1, C1, D1));
+          T = safe_add(T, x[i + rmd160_r1[j]]);
+          T = safe_add(T, rmd160_K1(j));
+          T = safe_add(bit_rol(T, rmd160_s1[j]), E1);
+          A1 = E1; E1 = D1; D1 = bit_rol(C1, 10); C1 = B1; B1 = T;
+          T = safe_add(A2, rmd160_f(79-j, B2, C2, D2));
+          T = safe_add(T, x[i + rmd160_r2[j]]);
+          T = safe_add(T, rmd160_K2(j));
+          T = safe_add(bit_rol(T, rmd160_s2[j]), E2);
+          A2 = E2; E2 = D2; D2 = bit_rol(C2, 10); C2 = B2; B2 = T;
+        }
+
+        T = safe_add(h1, safe_add(C1, D2));
+        h1 = safe_add(h2, safe_add(D1, E2));
+        h2 = safe_add(h3, safe_add(E1, A2));
+        h3 = safe_add(h4, safe_add(A1, B2));
+        h4 = safe_add(h0, safe_add(B1, C2));
+        h0 = T;
+      }
+      return [h0, h1, h2, h3, h4];
+    }
 
-function Parser(options) {
-  this.tokens = [];
-  this.token = null;
-  this.options = options || marked.defaults;
-}
+    // specific algorithm methods
+    function rmd160_f(j, x, y, z) {
+      return ( 0 <= j && j <= 15) ? (x ^ y ^ z) :
+         (16 <= j && j <= 31) ? (x & y) | (~x & z) :
+         (32 <= j && j <= 47) ? (x | ~y) ^ z :
+         (48 <= j && j <= 63) ? (x & z) | (y & ~z) :
+         (64 <= j && j <= 79) ? x ^ (y | ~z) :
+         'rmd160_f: j out of range';
+    }
 
-/**
- * Static Parse Method
- */
+    function rmd160_K1(j) {
+      return ( 0 <= j && j <= 15) ? 0x00000000 :
+         (16 <= j && j <= 31) ? 0x5a827999 :
+         (32 <= j && j <= 47) ? 0x6ed9eba1 :
+         (48 <= j && j <= 63) ? 0x8f1bbcdc :
+         (64 <= j && j <= 79) ? 0xa953fd4e :
+         'rmd160_K1: j out of range';
+    }
 
-Parser.parse = function(src, options) {
-  var parser = new Parser(options);
-  return parser.parse(src);
+    function rmd160_K2(j){
+      return ( 0 <= j && j <= 15) ? 0x50a28be6 :
+         (16 <= j && j <= 31) ? 0x5c4dd124 :
+         (32 <= j && j <= 47) ? 0x6d703ef3 :
+         (48 <= j && j <= 63) ? 0x7a6d76e9 :
+         (64 <= j && j <= 79) ? 0x00000000 :
+         'rmd160_K2: j out of range';
+    }
+  }
 };
 
-/**
- * Parse Loop
- */
+  // exposes Hashes
+  (function( window, undefined ) {
+    var freeExports = false;
+    if (typeof exports === 'object' ) {
+      freeExports = exports;
+      if (exports && typeof global === 'object' && global && global === global.global ) { window = global; }
+    }
 
-Parser.prototype.parse = function(src) {
-  this.inline = new InlineLexer(src.links, this.options);
-  this.tokens = src.reverse();
+    if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
+      // define as an anonymous module, so, through path mapping, it can be aliased
+      define(function () { return Hashes; });
+    }
+    else if ( freeExports ) {
+      // in Node.js or RingoJS v0.8.0+
+      if ( typeof module === 'object' && module && module.exports === freeExports ) {
+        module.exports = Hashes;
+      }
+      // in Narwhal or RingoJS v0.7.0-
+      else {
+        freeExports.Hashes = Hashes;
+      }
+    }
+    else {
+      // in a browser or Rhino
+      window.Hashes = Hashes;
+    }
+  }( this ));
+}()); // IIFE
 
-  var out = '';
-  while (this.next()) {
-    out += this.tok();
-  }
+})(window)
+},{}],2:[function(require,module,exports){
+'use strict';
 
-  return out;
+var hashes = require('jshashes'),
+    xtend = require('xtend'),
+    sha1 = new hashes.SHA1();
+
+var ohauth = {};
+
+ohauth.qsString = function(obj) {
+    return Object.keys(obj).sort().map(function(key) {
+        return ohauth.percentEncode(key) + '=' +
+            ohauth.percentEncode(obj[key]);
+    }).join('&');
 };
 
-/**
- * Next Token
- */
+ohauth.stringQs = function(str) {
+    return str.split('&').reduce(function(obj, pair){
+        var parts = pair.split('=');
+        obj[decodeURIComponent(parts[0])] = (null === parts[1]) ?
+            '' : decodeURIComponent(parts[1]);
+        return obj;
+    }, {});
+};
 
-Parser.prototype.next = function() {
-  return this.token = this.tokens.pop();
+ohauth.rawxhr = function(method, url, data, headers, callback) {
+    var xhr = new XMLHttpRequest(),
+        twoHundred = /^20\d$/;
+    xhr.onreadystatechange = function() {
+        if (4 == xhr.readyState && 0 !== xhr.status) {
+            if (twoHundred.test(xhr.status)) callback(null, xhr);
+            else return callback(xhr, null);
+        }
+    };
+    xhr.onerror = function(e) { return callback(e, null); };
+    xhr.open(method, url, true);
+    for (var h in headers) xhr.setRequestHeader(h, headers[h]);
+    xhr.send(data);
 };
 
-/**
- * Preview Next Token
- */
+ohauth.xhr = function(method, url, auth, data, options, callback) {
+    var headers = (options && options.header) || {
+        'Content-Type': 'application/x-www-form-urlencoded'
+    };
+    headers.Authorization = 'OAuth ' + ohauth.authHeader(auth);
+    ohauth.rawxhr(method, url, data, headers, callback);
+};
 
-Parser.prototype.peek = function() {
-  return this.tokens[this.tokens.length-1] || 0;
+ohauth.nonce = function() {
+    for (var o = ''; o.length < 6;) {
+        o += '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'[Math.floor(Math.random() * 61)];
+    }
+    return o;
 };
 
-/**
- * Parse Text Tokens
- */
+ohauth.authHeader = function(obj) {
+    return Object.keys(obj).sort().map(function(key) {
+        return encodeURIComponent(key) + '="' + encodeURIComponent(obj[key]) + '"';
+    }).join(', ');
+};
 
-Parser.prototype.parseText = function() {
-  var body = this.token.text;
+ohauth.timestamp = function() { return ~~((+new Date()) / 1000); };
 
-  while (this.peek().type === 'text') {
-    body += '\n' + this.next().text;
-  }
+ohauth.percentEncode = function(s) {
+    return encodeURIComponent(s)
+        .replace(/\!/g, '%21').replace(/\'/g, '%27')
+        .replace(/\*/g, '%2A').replace(/\(/g, '%28').replace(/\)/g, '%29');
+};
 
-  return this.inline.output(body);
+ohauth.baseString = function(method, url, params) {
+    if (params.oauth_signature) delete params.oauth_signature;
+    return [
+        method,
+        ohauth.percentEncode(url),
+        ohauth.percentEncode(ohauth.qsString(params))].join('&');
+};
+
+ohauth.signature = function(oauth_secret, token_secret, baseString) {
+    return sha1.b64_hmac(
+        ohauth.percentEncode(oauth_secret) + '&' +
+        ohauth.percentEncode(token_secret),
+        baseString);
 };
 
 /**
- * Parse Current Token
+ * Takes an options object for configuration (consumer_key,
+ * consumer_secret, version, signature_method, token) and returns a
+ * function that generates the Authorization header for given data.
+ *
+ * The returned function takes these parameters:
+ * - method: GET/POST/...
+ * - uri: full URI with protocol, port, path and query string
+ * - extra_params: any extra parameters (that are passed in the POST data),
+ *   can be an object or a from-urlencoded string.
+ *
+ * Returned function returns full OAuth header with "OAuth" string in it.
  */
 
-Parser.prototype.tok = function() {
-  switch (this.token.type) {
-    case 'space': {
-      return '';
-    }
-    case 'hr': {
-      return '<hr>\n';
-    }
-    case 'heading': {
-      return '<h'
-        + this.token.depth
-        + '>'
-        + this.inline.output(this.token.text)
-        + '</h'
-        + this.token.depth
-        + '>\n';
-    }
-    case 'code': {
-      if (this.options.highlight) {
-        var code = this.options.highlight(this.token.text, this.token.lang);
-        if (code != null && code !== this.token.text) {
-          this.token.escaped = true;
-          this.token.text = code;
+ohauth.headerGenerator = function(options) {
+    options = options || {};
+    var consumer_key = options.consumer_key || '',
+        consumer_secret = options.consumer_secret || '',
+        signature_method = options.signature_method || 'HMAC-SHA1',
+        version = options.version || '1.0',
+        token = options.token || '';
+
+    return function(method, uri, extra_params) {
+        method = method.toUpperCase();
+        if (typeof extra_params === 'string' && extra_params.length > 0) {
+            extra_params = ohauth.stringQs(extra_params);
         }
-      }
 
-      if (!this.token.escaped) {
-        this.token.text = escape(this.token.text, true);
-      }
+        var uri_parts = uri.split('?', 2),
+        base_uri = uri_parts[0];
 
-      return '<pre><code'
-        + (this.token.lang
-        ? ' class="'
-        + this.options.langPrefix
-        + this.token.lang
-        + '"'
-        : '')
-        + '>'
-        + this.token.text
-        + '</code></pre>\n';
-    }
-    case 'table': {
-      var body = ''
-        , heading
-        , i
-        , row
-        , cell
-        , j;
+        var query_params = uri_parts.length === 2 ?
+            ohauth.stringQs(uri_parts[1]) : {};
 
-      // header
-      body += '<thead>\n<tr>\n';
-      for (i = 0; i < this.token.header.length; i++) {
-        heading = this.inline.output(this.token.header[i]);
-        body += this.token.align[i]
-          ? '<th align="' + this.token.align[i] + '">' + heading + '</th>\n'
-          : '<th>' + heading + '</th>\n';
-      }
-      body += '</tr>\n</thead>\n';
+        var oauth_params = {
+            oauth_consumer_key: consumer_key,
+            oauth_signature_method: signature_method,
+            oauth_version: version,
+            oauth_timestamp: ohauth.timestamp(),
+            oauth_nonce: ohauth.nonce()
+        };
 
-      // body
-      body += '<tbody>\n'
-      for (i = 0; i < this.token.cells.length; i++) {
-        row = this.token.cells[i];
-        body += '<tr>\n';
-        for (j = 0; j < row.length; j++) {
-          cell = this.inline.output(row[j]);
-          body += this.token.align[j]
-            ? '<td align="' + this.token.align[j] + '">' + cell + '</td>\n'
-            : '<td>' + cell + '</td>\n';
-        }
-        body += '</tr>\n';
-      }
-      body += '</tbody>\n';
+        if (token) oauth_params.oauth_token = token;
 
-      return '<table>\n'
-        + body
-        + '</table>\n';
-    }
-    case 'blockquote_start': {
-      var body = '';
+        var all_params = xtend({}, oauth_params, query_params, extra_params),
+            base_str = ohauth.baseString(method, base_uri, all_params);
 
-      while (this.next().type !== 'blockquote_end') {
-        body += this.tok();
-      }
+        oauth_params.oauth_signature = ohauth.signature(consumer_secret, token, base_str);
 
-      return '<blockquote>\n'
-        + body
-        + '</blockquote>\n';
-    }
-    case 'list_start': {
-      var type = this.token.ordered ? 'ol' : 'ul'
-        , body = '';
+        return 'OAuth ' + ohauth.authHeader(oauth_params);
+    };
+};
 
-      while (this.next().type !== 'list_end') {
-        body += this.tok();
-      }
+module.exports = ohauth;
 
-      return '<'
-        + type
-        + '>\n'
-        + body
-        + '</'
-        + type
-        + '>\n';
-    }
-    case 'list_item_start': {
-      var body = '';
+},{"jshashes":7,"xtend":4}],6:[function(require,module,exports){
+module.exports = Object.keys || require('./shim');
 
-      while (this.next().type !== 'list_item_end') {
-        body += this.token.type === 'text'
-          ? this.parseText()
-          : this.tok();
-      }
 
-      return '<li>'
-        + body
-        + '</li>\n';
-    }
-    case 'loose_item_start': {
-      var body = '';
+},{"./shim":8}],8:[function(require,module,exports){
+(function () {
+       "use strict";
+
+       // modified from https://github.com/kriskowal/es5-shim
+       var has = Object.prototype.hasOwnProperty,
+               is = require('is'),
+               forEach = require('foreach'),
+               hasDontEnumBug = !({'toString': null}).propertyIsEnumerable('toString'),
+               dontEnums = [
+                       "toString",
+                       "toLocaleString",
+                       "valueOf",
+                       "hasOwnProperty",
+                       "isPrototypeOf",
+                       "propertyIsEnumerable",
+                       "constructor"
+               ],
+               keysShim;
+
+       keysShim = function keys(object) {
+               if (!is.object(object) && !is.array(object)) {
+                       throw new TypeError("Object.keys called on a non-object");
+               }
 
-      while (this.next().type !== 'list_item_end') {
-        body += this.tok();
-      }
+               var name, theKeys = [];
+               for (name in object) {
+                       if (has.call(object, name)) {
+                               theKeys.push(name);
+                       }
+               }
 
-      return '<li>'
-        + body
-        + '</li>\n';
-    }
-    case 'html': {
-      return !this.token.pre && !this.options.pedantic
-        ? this.inline.output(this.token.text)
-        : this.token.text;
-    }
-    case 'paragraph': {
-      return '<p>'
-        + this.inline.output(this.token.text)
-        + '</p>\n';
-    }
-    case 'text': {
-      return '<p>'
-        + this.parseText()
-        + '</p>\n';
-    }
-  }
+               if (hasDontEnumBug) {
+                       forEach(dontEnums, function (dontEnum) {
+                               if (has.call(object, dontEnum)) {
+                                       theKeys.push(dontEnum);
+                               }
+                       });
+               }
+               return theKeys;
+       };
+
+       module.exports = keysShim;
+}());
+
+
+},{"is":9,"foreach":10}],9:[function(require,module,exports){
+
+/**!
+ * is
+ * the definitive JavaScript type testing library
+ *
+ * @copyright 2013 Enrico Marino
+ * @license MIT
+ */
+
+var objProto = Object.prototype;
+var owns = objProto.hasOwnProperty;
+var toString = objProto.toString;
+var isActualNaN = function (value) {
+  return value !== value;
+};
+var NON_HOST_TYPES = {
+  "boolean": 1,
+  "number": 1,
+  "string": 1,
+  "undefined": 1
 };
 
 /**
- * Helpers
+ * Expose `is`
  */
 
-function escape(html, encode) {
-  return html
-    .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;')
-    .replace(/</g, '&lt;')
-    .replace(/>/g, '&gt;')
-    .replace(/"/g, '&quot;')
-    .replace(/'/g, '&#39;');
-}
+var is = module.exports = {};
 
-function replace(regex, opt) {
-  regex = regex.source;
-  opt = opt || '';
-  return function self(name, val) {
-    if (!name) return new RegExp(regex, opt);
-    val = val.source || val;
-    val = val.replace(/(^|[^\[])\^/g, '$1');
-    regex = regex.replace(name, val);
-    return self;
-  };
-}
+/**
+ * Test general.
+ */
 
-function noop() {}
-noop.exec = noop;
+/**
+ * is.type
+ * Test if `value` is a type of `type`.
+ *
+ * @param {Mixed} value value to test
+ * @param {String} type type
+ * @return {Boolean} true if `value` is a type of `type`, false otherwise
+ * @api public
+ */
 
-function merge(obj) {
-  var i = 1
-    , target
-    , key;
+is.a =
+is.type = function (value, type) {
+  return typeof value === type;
+};
 
-  for (; i < arguments.length; i++) {
-    target = arguments[i];
-    for (key in target) {
-      if (Object.prototype.hasOwnProperty.call(target, key)) {
-        obj[key] = target[key];
-      }
-    }
-  }
+/**
+ * is.defined
+ * Test if `value` is defined.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if 'value' is defined, false otherwise
+ * @api public
+ */
 
-  return obj;
-}
+is.defined = function (value) {
+  return value !== undefined;
+};
 
 /**
- * Marked
+ * is.empty
+ * Test if `value` is empty.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is empty, false otherwise
+ * @api public
  */
 
-function marked(src, opt, callback) {
-  if (callback || typeof opt === 'function') {
-    if (!callback) {
-      callback = opt;
-      opt = null;
-    }
+is.empty = function (value) {
+  var type = toString.call(value);
+  var key;
 
-    if (opt) opt = merge({}, marked.defaults, opt);
+  if ('[object Array]' === type || '[object Arguments]' === type) {
+    return value.length === 0;
+  }
 
-    var tokens = Lexer.lex(tokens, opt)
-      , highlight = opt.highlight
-      , pending = 0
-      , l = tokens.length
-      , i = 0;
+  if ('[object Object]' === type) {
+    for (key in value) if (owns.call(value, key)) return false;
+    return true;
+  }
 
-    if (!highlight || highlight.length < 3) {
-      return callback(null, Parser.parse(tokens, opt));
-    }
+  if ('[object String]' === type) {
+    return '' === value;
+  }
 
-    var done = function() {
-      delete opt.highlight;
-      var out = Parser.parse(tokens, opt);
-      opt.highlight = highlight;
-      return callback(null, out);
-    };
+  return false;
+};
 
-    for (; i < l; i++) {
-      (function(token) {
-        if (token.type !== 'code') return;
-        pending++;
-        return highlight(token.text, token.lang, function(err, code) {
-          if (code == null || code === token.text) {
-            return --pending || done();
-          }
-          token.text = code;
-          token.escaped = true;
-          --pending || done();
-        });
-      })(tokens[i]);
-    }
+/**
+ * is.equal
+ * Test if `value` is equal to `other`.
+ *
+ * @param {Mixed} value value to test
+ * @param {Mixed} other value to compare with
+ * @return {Boolean} true if `value` is equal to `other`, false otherwise
+ */
 
-    return;
+is.equal = function (value, other) {
+  var type = toString.call(value)
+  var key;
+
+  if (type !== toString.call(other)) {
+    return false;
   }
-  try {
-    if (opt) opt = merge({}, marked.defaults, opt);
-    return Parser.parse(Lexer.lex(src, opt), opt);
-  } catch (e) {
-    e.message += '\nPlease report this to https://github.com/chjj/marked.';
-    if ((opt || marked.defaults).silent) {
-      return '<p>An error occured:</p><pre>'
-        + escape(e.message + '', true)
-        + '</pre>';
+
+  if ('[object Object]' === type) {
+    for (key in value) {
+      if (!is.equal(value[key], other[key])) {
+        return false;
+      }
     }
-    throw e;
+    return true;
   }
-}
+
+  if ('[object Array]' === type) {
+    key = value.length;
+    if (key !== other.length) {
+      return false;
+    }
+    while (--key) {
+      if (!is.equal(value[key], other[key])) {
+        return false;
+      }
+    }
+    return true;
+  }
+
+  if ('[object Function]' === type) {
+    return value.prototype === other.prototype;
+  }
+
+  if ('[object Date]' === type) {
+    return value.getTime() === other.getTime();
+  }
+
+  return value === other;
+};
 
 /**
- * Options
+ * is.hosted
+ * Test if `value` is hosted by `host`.
+ *
+ * @param {Mixed} value to test
+ * @param {Mixed} host host to test with
+ * @return {Boolean} true if `value` is hosted by `host`, false otherwise
+ * @api public
  */
 
-marked.options =
-marked.setOptions = function(opt) {
-  merge(marked.defaults, opt);
-  return marked;
+is.hosted = function (value, host) {
+  var type = typeof host[value];
+  return type === 'object' ? !!host[value] : !NON_HOST_TYPES[type];
 };
 
-marked.defaults = {
-  gfm: true,
-  tables: true,
-  breaks: false,
-  pedantic: false,
-  sanitize: false,
-  smartLists: false,
-  silent: false,
-  highlight: null,
-  langPrefix: 'lang-'
+/**
+ * is.instance
+ * Test if `value` is an instance of `constructor`.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an instance of `constructor`
+ * @api public
+ */
+
+is.instance = is['instanceof'] = function (value, constructor) {
+  return value instanceof constructor;
 };
 
 /**
- * Expose
+ * is.null
+ * Test if `value` is null.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is null, false otherwise
+ * @api public
  */
 
-marked.Parser = Parser;
-marked.parser = Parser.parse;
+is['null'] = function (value) {
+  return value === null;
+};
 
-marked.Lexer = Lexer;
-marked.lexer = Lexer.lex;
+/**
+ * is.undefined
+ * Test if `value` is undefined.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is undefined, false otherwise
+ * @api public
+ */
 
-marked.InlineLexer = InlineLexer;
-marked.inlineLexer = InlineLexer.output;
+is.undefined = function (value) {
+  return value === undefined;
+};
 
-marked.parse = marked;
+/**
+ * Test arguments.
+ */
 
-if (typeof exports === 'object') {
-  module.exports = marked;
-} else if (typeof define === 'function' && define.amd) {
-  define(function() { return marked; });
-} else {
-  this.marked = marked;
-}
+/**
+ * is.arguments
+ * Test if `value` is an arguments object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an arguments object, false otherwise
+ * @api public
+ */
 
-}).call(function() {
-  return this || (typeof window !== 'undefined' ? window : global);
-}());
-(function () {
-'use strict';
-window.iD = function () {
-    locale
-        .current('en')
-        .current(iD.detect().locale);
+is.arguments = function (value) {
+  var isStandardArguments = '[object Arguments]' === toString.call(value);
+  var isOldArguments = !is.array(value) && is.arraylike(value) && is.object(value) && is.fn(value.callee);
+  return isStandardArguments || isOldArguments;
+};
 
-    var context = {},
-        storage;
+/**
+ * Test array.
+ */
 
-    // https://github.com/systemed/iD/issues/772
-    // http://mathiasbynens.be/notes/localstorage-pattern#comment-9
-    try { storage = localStorage; } catch (e) {}
-    storage = storage || {};
+/**
+ * is.array
+ * Test if 'value' is an array.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an array, false otherwise
+ * @api public
+ */
 
-    context.storage = function(k, v) {
-        if (arguments.length === 1) return storage[k];
-        else if (v === null) delete storage[k];
-        else storage[k] = v;
-    };
+is.array = function (value) {
+  return '[object Array]' === toString.call(value);
+};
 
-    var history = iD.History(context),
-        dispatch = d3.dispatch('enter', 'exit'),
-        mode,
-        container,
-        ui = iD.ui(context),
-        map = iD.Map(context);
+/**
+ * is.arguments.empty
+ * Test if `value` is an empty arguments object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an empty arguments object, false otherwise
+ * @api public
+ */
+is.arguments.empty = function (value) {
+  return is.arguments(value) && value.length === 0;
+};
 
-    // the connection requires .storage() to be available on calling.
-    var connection = iD.Connection(context)
-        .keys(iD.data.keys);
+/**
+ * is.array.empty
+ * Test if `value` is an empty array.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an empty array, false otherwise
+ * @api public
+ */
+is.array.empty = function (value) {
+  return is.array(value) && value.length === 0;
+};
 
-    connection.on('load.context', function loadContext(err, result) {
-        history.merge(result);
-    });
+/**
+ * is.arraylike
+ * Test if `value` is an arraylike object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an arguments object, false otherwise
+ * @api public
+ */
 
-    /* Straight accessors. Avoid using these if you can. */
-    context.ui = function() { return ui; };
-    context.connection = function() { return connection; };
-    context.history = function() { return history; };
-    context.map = function() { return map; };
+is.arraylike = function (value) {
+  return !!value && !is.boolean(value)
+    && owns.call(value, 'length')
+    && isFinite(value.length)
+    && is.number(value.length)
+    && value.length >= 0;
+};
 
-    /* History */
-    context.graph = history.graph;
-    context.perform = history.perform;
-    context.replace = history.replace;
-    context.pop = history.pop;
-    context.undo = history.undo;
-    context.redo = history.redo;
-    context.changes = history.changes;
-    context.intersects = history.intersects;
+/**
+ * Test boolean.
+ */
 
-    /* Graph */
-    context.entity = function(id) {
-        return history.graph().entity(id);
-    };
+/**
+ * is.boolean
+ * Test if `value` is a boolean.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a boolean, false otherwise
+ * @api public
+ */
 
-    context.geometry = function(id) {
-        return context.entity(id).geometry(history.graph());
-    };
+is.boolean = function (value) {
+  return '[object Boolean]' === toString.call(value);
+};
 
-    /* Modes */
-    context.enter = function(newMode) {
-        if (mode) {
-            mode.exit();
-            dispatch.exit(mode);
-        }
+/**
+ * is.false
+ * Test if `value` is false.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is false, false otherwise
+ * @api public
+ */
 
-        mode = newMode;
-        mode.enter();
-        dispatch.enter(mode);
-    };
+is['false'] = function (value) {
+  return is.boolean(value) && (value === false || value.valueOf() === false);
+};
 
-    context.mode = function() {
-        return mode;
-    };
+/**
+ * is.true
+ * Test if `value` is true.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is true, false otherwise
+ * @api public
+ */
 
-    context.selection = function() {
-        if (mode.id === 'select') {
-            return mode.selection();
-        } else {
-            return [];
-        }
-    };
+is['true'] = function (value) {
+  return is.boolean(value) && (value === true || value.valueOf() === true);
+};
 
-    /* Behaviors */
-    context.install = function(behavior) {
-        context.surface().call(behavior);
-    };
+/**
+ * Test date.
+ */
 
-    context.uninstall = function(behavior) {
-        context.surface().call(behavior.off);
-    };
+/**
+ * is.date
+ * Test if `value` is a date.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a date, false otherwise
+ * @api public
+ */
 
-    /* Map */
-    context.layers = function() { return map.layers; };
-    context.background = function() { return map.layers[0]; };
-    context.surface = function() { return map.surface; };
-    context.projection = map.projection;
-    context.tail = map.tail;
-    context.redraw = map.redraw;
-    context.pan = map.pan;
-    context.zoomIn = map.zoomIn;
-    context.zoomOut = map.zoomOut;
+is.date = function (value) {
+  return '[object Date]' === toString.call(value);
+};
 
-    /* Background */
-    var backgroundSources = iD.data.imagery.map(function(source) {
-        if (source.sourcetag === 'Bing') {
-            return iD.BackgroundSource.Bing(source, context.background().dispatch);
-        } else {
-            return iD.BackgroundSource.template(source);
-        }
-    });
-    backgroundSources.push(iD.BackgroundSource.Custom);
+/**
+ * Test element.
+ */
 
-    context.backgroundSources = function() {
-        return backgroundSources;
-    };
+/**
+ * is.element
+ * Test if `value` is an html element.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an HTML Element, false otherwise
+ * @api public
+ */
 
-    /* Presets */
-    var presets = iD.presets(context)
-        .load(iD.data.presets);
+is.element = function (value) {
+  return value !== undefined
+    && typeof HTMLElement !== 'undefined'
+    && value instanceof HTMLElement
+    && value.nodeType === 1;
+};
 
-    context.presets = function() {
-        return presets;
-    };
+/**
+ * Test error.
+ */
 
-    context.container = function(_) {
-        if (!arguments.length) return container;
-        container = _;
-        container.classed('id-container', true);
-        return context;
-    };
+/**
+ * is.error
+ * Test if `value` is an error object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an error object, false otherwise
+ * @api public
+ */
 
-    var q = iD.util.stringQs(location.hash.substring(1)), detected = false;
-    if (q.layer) {
-        context.layers()[0]
-           .source(_.find(backgroundSources, function(l) {
-               if (l.data.sourcetag === q.layer) {
-                   detected = true;
-                   return true;
-               }
-           }));
-    }
+is.error = function (value) {
+  return '[object Error]' === toString.call(value);
+};
 
-    if (!detected) {
-        context.background()
-            .source(_.find(backgroundSources, function(l) {
-                return l.data.name === 'Bing aerial imagery';
-            }));
-    }
+/**
+ * Test function.
+ */
 
-    var embed = false;
-    context.embed = function(_) {
-        if (!arguments.length) return embed;
-        embed = _;
-        return context;
-    };
+/**
+ * is.fn / is.function (deprecated)
+ * Test if `value` is a function.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a function, false otherwise
+ * @api public
+ */
 
-    var imagePath = 'img/';
-    context.imagePath = function(_) {
-        if (!arguments.length) return imagePath;
-        if (/\.(png|gif|svg)$/.test(_)) return imagePath + _;
-        imagePath = _;
-        return context;
-    };
+is.fn = is['function'] = function (value) {
+  var isAlert = typeof window !== 'undefined' && value === window.alert;
+  return isAlert || '[object Function]' === toString.call(value);
+};
 
-    return d3.rebind(context, dispatch, 'on');
+/**
+ * Test number.
+ */
+
+/**
+ * is.number
+ * Test if `value` is a number.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a number, false otherwise
+ * @api public
+ */
+
+is.number = function (value) {
+  return '[object Number]' === toString.call(value);
 };
 
-iD.version = '0.0.0-beta1';
+/**
+ * is.infinite
+ * Test if `value` is positive or negative infinity.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is positive or negative Infinity, false otherwise
+ * @api public
+ */
+is.infinite = function (value) {
+  return value === Infinity || value === -Infinity;
+};
 
-iD.detect = function() {
-    var browser = {};
+/**
+ * is.decimal
+ * Test if `value` is a decimal number.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a decimal number, false otherwise
+ * @api public
+ */
 
-    var ua = navigator.userAgent,
-        msie = new RegExp("MSIE ([0-9]{1,}[\\.0-9]{0,})");
+is.decimal = function (value) {
+  return is.number(value) && !isActualNaN(value) && value % 1 !== 0;
+};
 
-    if (msie.exec(ua) !== null) {
-        var rv = parseFloat(RegExp.$1);
-        browser.support = !(rv && rv < 9);
-    } else {
-        browser.support = true;
+/**
+ * is.divisibleBy
+ * Test if `value` is divisible by `n`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} n dividend
+ * @return {Boolean} true if `value` is divisible by `n`, false otherwise
+ * @api public
+ */
+
+is.divisibleBy = function (value, n) {
+  var isDividendInfinite = is.infinite(value);
+  var isDivisorInfinite = is.infinite(n);
+  var isNonZeroNumber = is.number(value) && !isActualNaN(value) && is.number(n) && !isActualNaN(n) && n !== 0;
+  return isDividendInfinite || isDivisorInfinite || (isNonZeroNumber && value % n === 0);
+};
+
+/**
+ * is.int
+ * Test if `value` is an integer.
+ *
+ * @param value to test
+ * @return {Boolean} true if `value` is an integer, false otherwise
+ * @api public
+ */
+
+is.int = function (value) {
+  return is.number(value) && !isActualNaN(value) && value % 1 === 0;
+};
+
+/**
+ * is.maximum
+ * Test if `value` is greater than 'others' values.
+ *
+ * @param {Number} value value to test
+ * @param {Array} others values to compare with
+ * @return {Boolean} true if `value` is greater than `others` values
+ * @api public
+ */
+
+is.maximum = function (value, others) {
+  if (isActualNaN(value)) {
+    throw new TypeError('NaN is not a valid value');
+  } else if (!is.arraylike(others)) {
+    throw new TypeError('second argument must be array-like');
+  }
+  var len = others.length;
+
+  while (--len >= 0) {
+    if (value < others[len]) {
+      return false;
     }
+  }
 
-    // Added due to incomplete svg style support. See #715
-    browser.opera = ua.indexOf('Opera') >= 0;
+  return true;
+};
 
-    browser.locale = navigator.language || navigator.userLanguage;
+/**
+ * is.minimum
+ * Test if `value` is less than `others` values.
+ *
+ * @param {Number} value value to test
+ * @param {Array} others values to compare with
+ * @return {Boolean} true if `value` is less than `others` values
+ * @api public
+ */
 
-    browser.filedrop = (window.FileReader && 'ondrop' in window);
+is.minimum = function (value, others) {
+  if (isActualNaN(value)) {
+    throw new TypeError('NaN is not a valid value');
+  } else if (!is.arraylike(others)) {
+    throw new TypeError('second argument must be array-like');
+  }
+  var len = others.length;
 
-    function nav(x) {
-        return navigator.userAgent.indexOf(x) !== -1;
+  while (--len >= 0) {
+    if (value > others[len]) {
+      return false;
     }
+  }
+
+  return true;
+};
 
-    if (nav('Win')) browser.os = 'win';
-    else if (nav('Mac')) browser.os = 'mac';
-    else if (nav('X11')) browser.os = 'linux';
-    else if (nav('Linux')) browser.os = 'linux';
-    else browser.os = 'win';
+/**
+ * is.nan
+ * Test if `value` is not a number.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is not a number, false otherwise
+ * @api public
+ */
 
-    return browser;
+is.nan = function (value) {
+  return !is.number(value) || value !== value;
 };
-iD.Connection = function(context) {
 
-    var event = d3.dispatch('auth', 'loading', 'load', 'loaded'),
-        url = 'http://www.openstreetmap.org',
-        connection = {},
-        user = {},
-        keys,
-        inflight = {},
-        loadedTiles = {},
-        loadingModal,
-        oauth = osmAuth({
-            url: url,
-            loading: authLoading,
-            done: authDone
-        }),
-        ndStr = 'nd',
-        tagStr = 'tag',
-        memberStr = 'member',
-        nodeStr = 'node',
-        wayStr = 'way',
-        relationStr = 'relation',
-        off;
+/**
+ * is.even
+ * Test if `value` is an even number.
+ *
+ * @param {Number} value value to test
+ * @return {Boolean} true if `value` is an even number, false otherwise
+ * @api public
+ */
 
-    connection.changesetUrl = function(changesetId) {
-        return url + '/browse/changeset/' + changesetId;
-    };
+is.even = function (value) {
+  return is.infinite(value) || (is.number(value) && value === value && value % 2 === 0);
+};
 
-    connection.loadFromURL = function(url, callback) {
-        function done(dom) {
-            return callback(null, parse(dom));
-        }
-        return d3.xml(url).get().on('load', done);
-    };
+/**
+ * is.odd
+ * Test if `value` is an odd number.
+ *
+ * @param {Number} value value to test
+ * @return {Boolean} true if `value` is an odd number, false otherwise
+ * @api public
+ */
 
-    function authLoading() {
-        loadingModal = iD.ui.Loading(context)
-            .message(t('loading_auth'));
+is.odd = function (value) {
+  return is.infinite(value) || (is.number(value) && value === value && value % 2 !== 0);
+};
 
-        context.container()
-            .call(loadingModal);
-    }
+/**
+ * is.ge
+ * Test if `value` is greater than or equal to `other`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} other value to compare with
+ * @return {Boolean}
+ * @api public
+ */
 
-    function authDone() {
-        if (loadingModal) loadingModal.close();
-    }
+is.ge = function (value, other) {
+  if (isActualNaN(value) || isActualNaN(other)) {
+    throw new TypeError('NaN is not a valid value');
+  }
+  return !is.infinite(value) && !is.infinite(other) && value >= other;
+};
 
-    function getNodes(obj) {
-        var elems = obj.getElementsByTagName(ndStr),
-            nodes = new Array(elems.length);
-        for (var i = 0, l = elems.length; i < l; i++) {
-            nodes[i] = 'n' + elems[i].attributes.ref.nodeValue;
-        }
-        return nodes;
-    }
+/**
+ * is.gt
+ * Test if `value` is greater than `other`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} other value to compare with
+ * @return {Boolean}
+ * @api public
+ */
 
-    function getTags(obj) {
-        var elems = obj.getElementsByTagName(tagStr),
-            tags = {};
-        for (var i = 0, l = elems.length; i < l; i++) {
-            var attrs = elems[i].attributes;
-            tags[attrs.k.nodeValue] = attrs.v.nodeValue;
-        }
-        return tags;
-    }
+is.gt = function (value, other) {
+  if (isActualNaN(value) || isActualNaN(other)) {
+    throw new TypeError('NaN is not a valid value');
+  }
+  return !is.infinite(value) && !is.infinite(other) && value > other;
+};
 
-    function getMembers(obj) {
-        var elems = obj.getElementsByTagName(memberStr),
-            members = new Array(elems.length);
-        for (var i = 0, l = elems.length; i < l; i++) {
-            var attrs = elems[i].attributes;
-            members[i] = {
-                id: attrs.type.nodeValue[0] + attrs.ref.nodeValue,
-                type: attrs.type.nodeValue,
-                role: attrs.role.nodeValue
-            };
-        }
-        return members;
-    }
+/**
+ * is.le
+ * Test if `value` is less than or equal to `other`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} other value to compare with
+ * @return {Boolean} if 'value' is less than or equal to 'other'
+ * @api public
+ */
 
-    var parsers = {
-        node: function nodeData(obj) {
-            var attrs = obj.attributes;
-            return new iD.Node({
-                id: iD.Entity.id.fromOSM(nodeStr, attrs.id.nodeValue),
-                loc: [parseFloat(attrs.lon.nodeValue), parseFloat(attrs.lat.nodeValue)],
-                version: attrs.version.nodeValue,
-                changeset: attrs.changeset.nodeValue,
-                user: attrs.user && attrs.user.nodeValue,
-                uid: attrs.uid && attrs.uid.nodeValue,
-                visible: attrs.visible.nodeValue,
-                timestamp: attrs.timestamp.nodeValue,
-                tags: getTags(obj)
-            });
-        },
+is.le = function (value, other) {
+  if (isActualNaN(value) || isActualNaN(other)) {
+    throw new TypeError('NaN is not a valid value');
+  }
+  return !is.infinite(value) && !is.infinite(other) && value <= other;
+};
 
-        way: function wayData(obj) {
-            var attrs = obj.attributes;
-            return new iD.Way({
-                id: iD.Entity.id.fromOSM(wayStr, attrs.id.nodeValue),
-                version: attrs.version.nodeValue,
-                changeset: attrs.changeset.nodeValue,
-                user: attrs.user && attrs.user.nodeValue,
-                uid: attrs.uid && attrs.uid.nodeValue,
-                visible: attrs.visible.nodeValue,
-                timestamp: attrs.timestamp.nodeValue,
-                tags: getTags(obj),
-                nodes: getNodes(obj)
-            });
-        },
+/**
+ * is.lt
+ * Test if `value` is less than `other`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} other value to compare with
+ * @return {Boolean} if `value` is less than `other`
+ * @api public
+ */
 
-        relation: function relationData(obj) {
-            var attrs = obj.attributes;
-            return new iD.Relation({
-                id: iD.Entity.id.fromOSM(relationStr, attrs.id.nodeValue),
-                version: attrs.version.nodeValue,
-                changeset: attrs.changeset.nodeValue,
-                user: attrs.user && attrs.user.nodeValue,
-                uid: attrs.uid && attrs.uid.nodeValue,
-                visible: attrs.visible.nodeValue,
-                timestamp: attrs.timestamp.nodeValue,
-                tags: getTags(obj),
-                members: getMembers(obj)
-            });
-        }
-    };
+is.lt = function (value, other) {
+  if (isActualNaN(value) || isActualNaN(other)) {
+    throw new TypeError('NaN is not a valid value');
+  }
+  return !is.infinite(value) && !is.infinite(other) && value < other;
+};
 
-    function parse(dom) {
-        if (!dom || !dom.childNodes) return new Error('Bad request');
+/**
+ * is.within
+ * Test if `value` is within `start` and `finish`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} start lower bound
+ * @param {Number} finish upper bound
+ * @return {Boolean} true if 'value' is is within 'start' and 'finish'
+ * @api public
+ */
+is.within = function (value, start, finish) {
+  if (isActualNaN(value) || isActualNaN(start) || isActualNaN(finish)) {
+    throw new TypeError('NaN is not a valid value');
+  } else if (!is.number(value) || !is.number(start) || !is.number(finish)) {
+    throw new TypeError('all arguments must be numbers');
+  }
+  var isAnyInfinite = is.infinite(value) || is.infinite(start) || is.infinite(finish);
+  return isAnyInfinite || (value >= start && value <= finish);
+};
 
-        var root = dom.childNodes[0],
-            children = root.childNodes,
-            entities = {};
+/**
+ * Test object.
+ */
 
-        var i, o, l;
-        for (i = 0, l = children.length; i < l; i++) {
-            var child = children[i],
-                parser = parsers[child.nodeName];
-            if (parser) {
-                o = parser(child);
-                entities[o.id] = o;
+/**
+ * is.object
+ * Test if `value` is an object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an object, false otherwise
+ * @api public
+ */
+
+is.object = function (value) {
+  return value && '[object Object]' === toString.call(value);
+};
+
+/**
+ * is.hash
+ * Test if `value` is a hash - a plain object literal.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a hash, false otherwise
+ * @api public
+ */
+
+is.hash = function (value) {
+  return is.object(value) && value.constructor === Object && !value.nodeType && !value.setInterval;
+};
+
+/**
+ * Test regexp.
+ */
+
+/**
+ * is.regexp
+ * Test if `value` is a regular expression.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a regexp, false otherwise
+ * @api public
+ */
+
+is.regexp = function (value) {
+  return '[object RegExp]' === toString.call(value);
+};
+
+/**
+ * Test string.
+ */
+
+/**
+ * is.string
+ * Test if `value` is a string.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if 'value' is a string, false otherwise
+ * @api public
+ */
+
+is.string = function (value) {
+  return '[object String]' === toString.call(value);
+};
+
+
+},{}],10:[function(require,module,exports){
+
+var hasOwn = Object.prototype.hasOwnProperty;
+var toString = Object.prototype.toString;
+
+module.exports = function forEach (obj, fn, ctx) {
+    if (toString.call(fn) !== '[object Function]') {
+        throw new TypeError('iterator must be a function');
+    }
+    var l = obj.length;
+    if (l === +l) {
+        for (var i = 0; i < l; i++) {
+            fn.call(ctx, obj[i], i, obj);
+        }
+    } else {
+        for (var k in obj) {
+            if (hasOwn.call(obj, k)) {
+                fn.call(ctx, obj[k], k, obj);
             }
         }
+    }
+};
 
-        return entities;
+
+},{}]},{},[1])(1)
+});
+;
+/*
+ (c) 2013, Vladimir Agafonkin
+ RBush, a JavaScript library for high-performance 2D spatial indexing of points and rectangles.
+ https://github.com/mourner/rbush
+*/
+
+(function () { 'use strict';
+
+function rbush(maxEntries, format) {
+
+    // jshint newcap: false, validthis: true
+    if (!(this instanceof rbush)) return new rbush(maxEntries, format);
+
+    // max entries in a node is 9 by default; min node fill is 40% for best performance
+    this._maxEntries = Math.max(4, maxEntries || 9);
+    this._minEntries = Math.max(2, Math.ceil(this._maxEntries * 0.4));
+
+    if (format) {
+        this._initFormat(format);
     }
 
-    connection.authenticated = function() {
-        return oauth.authenticated();
-    };
+    this.clear();
+}
 
-    // Generate Changeset XML. Returns a string.
-    connection.changesetJXON = function(tags) {
-        return {
-            osm: {
-                changeset: {
-                    tag: _.map(tags, function(value, key) {
-                        return { '@k': key, '@v': value };
-                    }),
-                    '@version': 0.3,
-                    '@generator': 'iD'
+rbush.prototype = {
+
+    all: function () {
+        return this._all(this.data, []);
+    },
+
+    search: function (bbox) {
+
+        var node = this.data,
+            result = [],
+            toBBox = this.toBBox;
+
+        if (!intersects(bbox, node.bbox)) return result;
+
+        var nodesToSearch = [],
+            i, len, child, childBBox;
+
+        while (node) {
+            for (i = 0, len = node.children.length; i < len; i++) {
+
+                child = node.children[i];
+                childBBox = node.leaf ? toBBox(child) : child.bbox;
+
+                if (intersects(bbox, childBBox)) {
+                    if (node.leaf) result.push(child);
+                    else if (contains(bbox, childBBox)) this._all(child, result);
+                    else nodesToSearch.push(child);
                 }
             }
-        };
-    };
+            node = nodesToSearch.pop();
+        }
 
-    // Generate [osmChange](http://wiki.openstreetmap.org/wiki/OsmChange)
-    // XML. Returns a string.
-    connection.osmChangeJXON = function(userid, changeset_id, changes) {
-        function nest(x, order) {
-            var groups = {};
-            for (var i = 0; i < x.length; i++) {
-                var tagName = Object.keys(x[i])[0];
-                if (!groups[tagName]) groups[tagName] = [];
-                groups[tagName].push(x[i][tagName]);
+        return result;
+    },
+
+    load: function (data) {
+        if (!(data && data.length)) return this;
+
+        if (data.length < this._minEntries) {
+            for (var i = 0, len = data.length; i < len; i++) {
+                this.insert(data[i]);
             }
-            var ordered = {};
-            order.forEach(function(o) {
-                if (groups[o]) ordered[o] = groups[o];
-            });
-            return ordered;
+            return this;
         }
 
-        function rep(entity) {
-            return entity.asJXON(changeset_id);
-        }
+        // recursively build the tree with the given data from stratch using OMT algorithm
+        var node = this._build(data.slice(), 0, data.length - 1, 0);
 
-        return {
-            osmChange: {
-                '@version': 0.3,
-                '@generator': 'iD',
-                'create': nest(changes.created.map(rep), ['node', 'way', 'relation']),
-                'modify': nest(changes.modified.map(rep), ['node', 'way', 'relation']),
-                'delete': _.extend(nest(changes.deleted.map(rep), ['relation', 'way', 'node']), {'@if-unused': true})
-            }
-        };
-    };
+        if (!this.data.children.length) {
+            // save as is if tree is empty
+            this.data = node;
 
-    connection.putChangeset = function(changes, comment, imagery_used, callback) {
-        oauth.xhr({
-                method: 'PUT',
-                path: '/api/0.6/changeset/create',
-                options: { header: { 'Content-Type': 'text/xml' } },
-                content: JXON.stringify(connection.changesetJXON({
-                    imagery_used: imagery_used.join(';'),
-                    comment: comment,
-                    created_by: 'iD ' + iD.version
-                }))
-            }, function(err, changeset_id) {
-                if (err) return callback(err);
-                oauth.xhr({
-                    method: 'POST',
-                    path: '/api/0.6/changeset/' + changeset_id + '/upload',
-                    options: { header: { 'Content-Type': 'text/xml' } },
-                    content: JXON.stringify(connection.osmChangeJXON(user.id, changeset_id, changes))
-                }, function(err) {
-                    if (err) return callback(err);
-                    oauth.xhr({
-                        method: 'PUT',
-                        path: '/api/0.6/changeset/' + changeset_id + '/close'
-                    }, function(err) {
-                        callback(err, changeset_id);
-                    });
-                });
-            });
-    };
+        } else if (this.data.height === node.height) {
+            // split root if trees have the same height
+            this._splitRoot(this.data, node);
 
-    connection.userDetails = function(callback) {
-        function done(err, user_details) {
-            if (err) return callback(err);
-            var u = user_details.getElementsByTagName('user')[0],
-                img = u.getElementsByTagName('img'),
-                image_url = '';
-            if (img && img[0].getAttribute('href')) {
-                image_url = img[0].getAttribute('href');
+        } else {
+            if (this.data.height < node.height) {
+                // swap trees if inserted one is bigger
+                var tmpNode = this.data;
+                this.data = node;
+                node = tmpNode;
             }
-            callback(undefined, connection.user({
-                display_name: u.attributes.display_name.nodeValue,
-                image_url: image_url,
-                id: u.attributes.id.nodeValue
-            }).user());
-        }
-        oauth.xhr({ method: 'GET', path: '/api/0.6/user/details' }, done);
-    };
 
-    connection.status = function(callback) {
-        function done(err, capabilities) {
-            if (err) return callback(err);
-            var apiStatus = capabilities.getElementsByTagName('status');
-            callback(undefined, apiStatus[0].getAttribute('api'));
+            // insert the small tree into the large tree at appropriate level
+            this._insert(node, this.data.height - node.height - 1, true);
         }
-        oauth.xhr({ method: 'GET', path: '/api/capabilities' }, done);
-    };
 
-    function abortRequest(i) { i.abort(); }
-
-    connection.loadTiles = function(projection, dimensions) {
+        return this;
+    },
 
-        if (off) return;
+    insert: function (item) {
+        if (item) this._insert(item, this.data.height - 1);
+        return this;
+    },
 
-        var scaleExtent = [16, 16],
-            s = projection.scale() * 2 * Math.PI,
-            tiles = d3.geo.tile()
-                .scaleExtent(scaleExtent)
-                .scale(s)
-                .size(dimensions)
-                .translate(projection.translate())(),
-            z = Math.max(Math.log(s) / Math.log(2) - 8, 0),
-            rz = Math.max(scaleExtent[0], Math.min(scaleExtent[1], Math.floor(z))),
-            ts = 256 * Math.pow(2, z - rz),
-            tile_origin = [
-                s / 2 - projection.translate()[0],
-                s / 2 - projection.translate()[1]];
+    clear: function () {
+        this.data = {
+            children: [],
+            height: 1,
+            bbox: empty(),
+            leaf: true
+        };
+        return this;
+    },
 
-        function bboxUrl(tile) {
-            var x = (tile[0] * ts) - tile_origin[0];
-            var y = (tile[1] * ts) - tile_origin[1];
-            var b = [
-                projection.invert([x, y]),
-                projection.invert([x + ts, y + ts])];
+    remove: function (item) {
+        if (!item) return this;
 
-            return url + '/api/0.6/map?bbox=' + [b[0][0], b[1][1], b[1][0], b[0][1]];
-        }
+        var node = this.data,
+            bbox = this.toBBox(item),
+            path = [],
+            indexes = [],
+            i, parent, index, goingUp;
 
-        _.filter(inflight, function(v, i) {
-            var wanted = _.find(tiles, function(tile) {
-                return i === tile.toString();
-            });
-            if (!wanted) delete inflight[i];
-            return !wanted;
-        }).map(abortRequest);
+        // depth-first iterative tree traversal
+        while (node || path.length) {
 
-        tiles.forEach(function(tile) {
-            var id = tile.toString();
+            if (!node) { // go up
+                node = path.pop();
+                parent = path[path.length - 1];
+                i = indexes.pop();
+                goingUp = true;
+            }
 
-            if (loadedTiles[id] || inflight[id]) return;
+            if (node.leaf) { // check current node
+                index = node.children.indexOf(item);
 
-            if (_.isEmpty(inflight)) {
-                event.loading();
+                if (index !== -1) {
+                    // item found, remove the item and condense tree upwards
+                    node.children.splice(index, 1);
+                    path.push(node);
+                    this._condense(path);
+                    return this;
+                }
             }
 
-            inflight[id] = connection.loadFromURL(bboxUrl(tile), function(err, parsed) {
-                loadedTiles[id] = true;
-                delete inflight[id];
+            if (!goingUp && !node.leaf && contains(node.bbox, bbox)) { // go down
+                path.push(node);
+                indexes.push(i);
+                i = 0;
+                parent = node;
+                node = node.children[0];
 
-                event.load(err, parsed);
+            } else if (parent) { // go right
+                i++;
+                node = parent.children[i];
+                goingUp = false;
 
-                if (_.isEmpty(inflight)) {
-                    event.loaded();
-                }
-            });
-        });
-    };
+            } else node = null; // nothing found
+        }
 
-    connection.userUrl = function(username) {
-        return url + "/user/" + username;
-    };
+        return this;
+    },
 
-    connection.url = function(_) {
-        if (!arguments.length) return url;
-        url = _;
-        oauth.url(_);
-        event.auth();
-        connection.flush();
-        return connection;
-    };
+    toBBox: function (item) { return item; },
 
-    connection.toggle = function(_) {
-        off = !_;
-        return connection;
-    };
+    compareMinX: function (a, b) { return a[0] - b[0]; },
+    compareMinY: function (a, b) { return a[1] - b[1]; },
 
-    connection.user = function(_) {
-        if (!arguments.length) return user;
-        user = _;
-        return connection;
-    };
+    toJSON: function () { return this.data; },
 
-    connection.flush = function() {
-        _.forEach(inflight, abortRequest);
-        loadedTiles = {};
-        inflight = {};
-        return connection;
-    };
+    fromJSON: function (data) {
+        this.data = data;
+        return this;
+    },
 
-    connection.loadedTiles = function(_) {
-        if (!arguments.length) return loadedTiles;
-        loadedTiles = _;
-        return connection;
-    };
+    _all: function (node, result) {
+        var nodesToSearch = [];
+        while (node) {
+            if (node.leaf) result.push.apply(result, node.children);
+            else nodesToSearch.push.apply(nodesToSearch, node.children);
 
-    connection.logout = function() {
-        oauth.logout();
-        event.auth();
-        return connection;
-    };
+            node = nodesToSearch.pop();
+        }
+        return result;
+    },
 
-    connection.keys = function(_) {
-        if (!arguments.length) return keys;
-        keys = _;
-        oauth.keys(keys);
-        return connection;
-    };
+    _build: function (items, left, right, level, height) {
 
-    connection.authenticate = function(callback) {
-        function done(err, res) {
-            event.auth();
-            if (callback) callback(err, res);
+        var N = right - left + 1,
+            M = this._maxEntries,
+            node;
+
+        if (N <= M) {
+            node = {
+                children: items.slice(left, right + 1),
+                height: 1,
+                bbox: null,
+                leaf: true
+            };
+            calcBBox(node, this.toBBox);
+            return node;
         }
-        return oauth.authenticate(done);
-    };
 
-    return d3.rebind(connection, event, 'on');
-};
-iD.taginfo = function() {
-    var taginfo = {},
-        endpoint = 'http://taginfo.openstreetmap.org/api/4/',
-        tag_sorts = {
-            point: 'count_nodes',
-            vertex: 'count_nodes',
-            area: 'count_ways',
-            line: 'count_ways'
-        },
-        tag_filters = {
-            point: 'nodes',
-            vertex: 'nodes',
-            area: 'ways',
-            line: 'ways'
+        if (!level) {
+            // target height of the bulk-loaded tree
+            height = Math.ceil(Math.log(N) / Math.log(M));
+
+            // target number of root entries to maximize storage utilization
+            M = Math.ceil(N / Math.pow(M, height - 1));
+        }
+
+        // TODO eliminate recursion?
+
+        node = {
+            children: [],
+            height: height,
+            bbox: null
         };
 
-    var cache = this.cache = {};
+        var N2 = Math.ceil(N / M),
+            N1 = N2 * Math.ceil(Math.sqrt(M)),
+            i, j, right2, childNode;
 
-    function sets(parameters, n, o) {
-        if (parameters.geometry && o[parameters.geometry]) {
-            parameters[n] = o[parameters.geometry];
-        }
-        return parameters;
-    }
+        // split the items into M mostly square tiles
+        for (i = left; i <= right; i += N1) {
 
-    function setFilter(parameters) {
-        return sets(parameters, 'filter', tag_filters);
-    }
+            if (i + N1 <= right) partitionSort(items, i, right, i + N1, this.compareMinX);
+            right2 = Math.min(i + N1 - 1, right);
 
-    function setSort(parameters) {
-        return sets(parameters, 'sortname', tag_sorts);
-    }
+            for (j = i; j <= right2; j += N2) {
 
-    function clean(parameters) {
-        return _.omit(parameters, 'geometry', 'debounce');
-    }
+                if (j + N2 <= right2) partitionSort(items, j, right2, j + N2, this.compareMinY);
 
-    function shorten(parameters) {
-        if (!parameters.query) {
-            delete parameters.query;
-        } else {
-            parameters.query = parameters.query.slice(0, 3);
+                // pack each entry recursively
+                childNode = this._build(items, j, Math.min(j + N2 - 1, right2), level + 1, height - 1);
+                node.children.push(childNode);
+            }
         }
-        return parameters;
-    }
 
-    function popularKeys(parameters) {
-        var pop_field = 'count_all';
-        if (parameters.filter) pop_field = 'count_' + parameters.filter;
-        return function(d) { return parseFloat(d[pop_field]) > 10000; };
-    }
+        calcBBox(node, this.toBBox);
 
-    function popularValues() {
-        return function(d) { return parseFloat(d.fraction) > 0.01; };
-    }
+        return node;
+    },
 
-    function valKey(d) { return { value: d.key }; }
+    _chooseSubtree: function (bbox, node, level, path) {
 
-    function valKeyDescription(d) {
-        return {
-            value: d.value,
-            title: d.description
-        };
-    }
+        var i, len, child, targetNode, area, enlargement, minArea, minEnlargement;
 
-    var debounced = _.debounce(d3.json, 100, true);
+        while (true) {
+            path.push(node);
 
-    function request(url, debounce, callback) {
-        if (cache[url]) {
-            callback(null, cache[url]);
-        } else if (debounce) {
-            debounced(url, done);
-        } else {
-            d3.json(url, done);
+            if (node.leaf || path.length - 1 === level) break;
+
+            minArea = minEnlargement = Infinity;
+
+            for (i = 0, len = node.children.length; i < len; i++) {
+                child = node.children[i];
+                area = bboxArea(child.bbox);
+                enlargement = enlargedArea(bbox, child.bbox) - area;
+
+                // choose entry with the least area enlargement
+                if (enlargement < minEnlargement) {
+                    minEnlargement = enlargement;
+                    minArea = area < minArea ? area : minArea;
+                    targetNode = child;
+
+                } else if (enlargement === minEnlargement) {
+                    // otherwise choose one with the smallest area
+                    if (area < minArea) {
+                        minArea = area;
+                        targetNode = child;
+                    }
+                }
+            }
+
+            node = targetNode;
         }
 
-        function done(err, data) {
-            if (!err) cache[url] = data;
-            callback(err, data);
+        return node;
+    },
+
+    _insert: function (item, level, isNode) {
+
+        var toBBox = this.toBBox,
+            bbox = isNode ? item.bbox : toBBox(item),
+            insertPath = [];
+
+        // find the best node for accommodating the item, saving all nodes along the path too
+        var node = this._chooseSubtree(bbox, this.data, level, insertPath);
+
+        // put the item into the node
+        node.children.push(item);
+        extend(node.bbox, bbox);
+
+        // split on node overflow; propagate upwards if necessary
+        while (level >= 0) {
+            if (insertPath[level].children.length > this._maxEntries) {
+                this._split(insertPath, level);
+                level--;
+            } else break;
         }
-    }
 
-    taginfo.keys = function(parameters, callback) {
-        var debounce = parameters.debounce;
-        parameters = clean(shorten(setSort(setFilter(parameters))));
-        request(endpoint + 'keys/all?' +
-            iD.util.qsString(_.extend({
-                rp: 10,
-                sortname: 'count_all',
-                sortorder: 'desc',
-                page: 1
-            }, parameters)), debounce, function(err, d) {
-                if (err) return callback(err);
-                callback(null, d.data.filter(popularKeys(parameters)).map(valKey));
-            });
-    };
-
-    taginfo.values = function(parameters, callback) {
-        var debounce = parameters.debounce;
-        parameters = clean(shorten(setSort(setFilter(parameters))));
-        request(endpoint + 'key/values?' +
-            iD.util.qsString(_.extend({
-                rp: 20,
-                sortname: 'count_all',
-                sortorder: 'desc',
-                page: 1
-            }, parameters)), debounce, function(err, d) {
-                if (err) return callback(err);
-                callback(null, d.data.filter(popularValues()).map(valKeyDescription), parameters);
-            });
-    };
-
-    taginfo.docs = function(parameters, callback) {
-        var debounce = parameters.debounce;
-        parameters = clean(setSort(parameters));
-        request(endpoint + (parameters.value ? 'tag/wiki_pages?' : 'key/wiki_pages?') +
-            iD.util.qsString(parameters), debounce, callback);
-    };
-
-    taginfo.endpoint = function(_) {
-        if (!arguments.length) return endpoint;
-        endpoint = _;
-        return taginfo;
-    };
-
-    return taginfo;
-};
-iD.wikipedia  = function() {
-    var wiki = {},
-        endpoint = 'http://en.wikipedia.org/w/api.php?';
-
-    wiki.search = function(lang, query, callback) {
-        lang = lang || 'en';
-        d3.jsonp(endpoint.replace('en', lang) +
-            iD.util.qsString({
-                action: 'query',
-                list: 'search',
-                srlimit: '10',
-                srinfo: 'suggestion',
-                format: 'json',
-                callback: '{callback}',
-                srsearch: query
-            }), function(data) {
-                if (!data.query) return
-                callback(query, data.query.search.map(function(d) {
-                    return d.title;
-                }));
-            });
-    };
+        // adjust bboxes along the insertion path
+        this._adjustParentBBoxes(bbox, insertPath, level);
+    },
 
-    wiki.suggestions = function(lang, query, callback) {
-        lang = lang || 'en';
-        d3.jsonp(endpoint.replace('en', lang) +
-            iD.util.qsString({
-                action: 'opensearch',
-                namespace: 0,
-                suggest: '',
-                format: 'json',
-                callback: '{callback}',
-                search: query
-            }), function(d) {
-                callback(d[0], d[1]);
-            });
-    };
+    // split overflowed node into two
+    _split: function (insertPath, level) {
 
-    wiki.translations = function(lang, title, callback) {
-        d3.jsonp(endpoint.replace('en', lang) +
-            iD.util.qsString({
-                action: 'query',
-                prop: 'langlinks',
-                format: 'json',
-                callback: '{callback}',
-                lllimit: 500,
-                titles: title
-            }), function(d) {
-                var list = d.query.pages[Object.keys(d.query.pages)[0]],
-                    translations = {};
-                if (list) {
-                    list.langlinks.forEach(function(d) {
-                        translations[d.lang] = d['*'];
-                    });
-                    callback(translations);
-                }
-            });
-    };
+        var node = insertPath[level],
+            M = node.children.length,
+            m = this._minEntries;
 
-    return wiki;
-};
-iD.util = {};
+        this._chooseSplitAxis(node, m, M);
 
-iD.util.tagText = function(entity) {
-    return d3.entries(entity.tags).map(function(e) {
-        return e.key + '=' + e.value;
-    }).join(', ');
-};
+        var newNode = {
+            children: node.children.splice(this._chooseSplitIndex(node, m, M)),
+            height: node.height
+        };
 
-iD.util.stringQs = function(str) {
-    return str.split('&').reduce(function(obj, pair){
-        var parts = pair.split('=');
-        if (parts.length === 2) {
-            obj[parts[0]] = (null === parts[1]) ? '' : decodeURIComponent(parts[1]);
-        }
-        return obj;
-    }, {});
-};
+        if (node.leaf) newNode.leaf = true;
 
-iD.util.qsString = function(obj, noencode) {
-    return Object.keys(obj).sort().map(function(key) {
-        return encodeURIComponent(key) + '=' + (
-            noencode ? obj[key] : encodeURIComponent(obj[key]));
-    }).join('&');
-};
+        calcBBox(node, this.toBBox);
+        calcBBox(newNode, this.toBBox);
 
-iD.util.prefixDOMProperty = function(property) {
-    var prefixes = ['webkit', 'ms', 'moz', 'o'],
-        i = -1,
-        n = prefixes.length,
-        s = document.body;
+        if (level) insertPath[level - 1].children.push(newNode);
+        else this._splitRoot(node, newNode);
+    },
 
-    if (property in s)
-        return property;
+    _splitRoot: function (node, newNode) {
+        // split root node
+        this.data = {
+            children: [node, newNode],
+            height: node.height + 1
+        };
+        calcBBox(this.data, this.toBBox);
+    },
 
-    property = property.substr(0, 1).toUpperCase() + property.substr(1);
+    _chooseSplitIndex: function (node, m, M) {
 
-    while (++i < n)
-        if (prefixes[i] + property in s)
-            return prefixes[i] + property;
+        var i, bbox1, bbox2, overlap, area, minOverlap, minArea, index;
 
-    return false;
-};
+        minOverlap = minArea = Infinity;
 
-iD.util.prefixCSSProperty = function(property) {
-    var prefixes = ['webkit', 'ms', 'Moz', 'O'],
-        i = -1,
-        n = prefixes.length,
-        s = document.body.style;
+        for (i = m; i <= M - m; i++) {
+            bbox1 = distBBox(node, 0, i, this.toBBox);
+            bbox2 = distBBox(node, i, M, this.toBBox);
 
-    if (property.toLowerCase() in s)
-        return property.toLowerCase();
+            overlap = intersectionArea(bbox1, bbox2);
+            area = bboxArea(bbox1) + bboxArea(bbox2);
 
-    while (++i < n)
-        if (prefixes[i] + property in s)
-            return '-' + prefixes[i].toLowerCase() + '-' + property.toLowerCase();
+            // choose distribution with minimum overlap
+            if (overlap < minOverlap) {
+                minOverlap = overlap;
+                index = i;
 
-    return false;
-};
+                minArea = area < minArea ? area : minArea;
 
-iD.util.getStyle = function(selector) {
-    for (var i = 0; i < document.styleSheets.length; i++) {
-        var rules = document.styleSheets[i].rules || document.styleSheets[i].cssRules;
-        for (var k = 0; k < rules.length; k++) {
-            var selectorText = rules[k].selectorText && rules[k].selectorText.split(', ');
-            if (_.contains(selectorText, selector)) {
-                return rules[k];
+            } else if (overlap === minOverlap) {
+                // otherwise choose distribution with minimum area
+                if (area < minArea) {
+                    minArea = area;
+                    index = i;
+                }
             }
         }
-    }
-};
 
-iD.util.editDistance = function(a, b) {
-    if (a.length === 0) return b.length;
-    if (b.length === 0) return a.length;
-    var matrix = [];
-    for (var i = 0; i <= b.length; i++) { matrix[i] = [i]; }
-    for (var j = 0; j <= a.length; j++) { matrix[0][j] = j; }
-    for (i = 1; i <= b.length; i++) {
-        for (j = 1; j <= a.length; j++) {
-            if (b.charAt(i-1) == a.charAt(j-1)) {
-                matrix[i][j] = matrix[i-1][j-1];
-            } else {
-                matrix[i][j] = Math.min(matrix[i-1][j-1] + 1, // substitution
-                    Math.min(matrix[i][j-1] + 1, // insertion
-                    matrix[i-1][j] + 1)); // deletion
-            }
-        }
-    }
-    return matrix[b.length][a.length];
-};
+        return index;
+    },
 
-// a d3.mouse-alike which
-// 1. Only works on HTML elements, not SVG
-// 2. Does not cause style recalculation
-iD.util.fastMouse = function(container) {
-    var rect = _.clone(container.getBoundingClientRect()),
-        rectLeft = rect.left,
-        rectTop = rect.top,
-        clientLeft = +container.clientLeft,
-        clientTop = +container.clientTop;
-    return function(e) {
-        return [
-            e.clientX - rectLeft - clientLeft,
-            e.clientY - rectTop - clientTop];
-    };
-};
+    // sorts node children by the best axis for split
+    _chooseSplitAxis: function (node, m, M) {
 
-iD.util.getPrototypeOf = Object.getPrototypeOf || function(obj) { return obj.__proto__; };
+        var compareMinX = node.leaf ? this.compareMinX : compareNodeMinX,
+            compareMinY = node.leaf ? this.compareMinY : compareNodeMinY,
+            xMargin = this._allDistMargin(node, m, M, compareMinX),
+            yMargin = this._allDistMargin(node, m, M, compareMinY);
 
-iD.util.asyncMap = function(inputs, func, callback) {
-    var remaining = inputs.length,
-        results = [],
-        errors = [];
+        // if total distributions margin value is minimal for x, sort by minX,
+        // otherwise it's already sorted by minY
+        if (xMargin < yMargin) node.children.sort(compareMinX);
+    },
 
-    inputs.forEach(function(d, i) {
-        func(d, function done(err, data) {
-            errors[i] = err;
-            results[i] = data;
-            remaining --;
-            if (!remaining) callback(errors, results);
-        });
-    });
-};
-iD.geo = {};
+    // total margin of all possible split distributions where each node is at least m full
+    _allDistMargin: function (node, m, M, compare) {
 
-iD.geo.roundCoords = function(c) {
-    return [Math.floor(c[0]), Math.floor(c[1])];
-};
+        node.children.sort(compare);
 
-iD.geo.interp = function(p1, p2, t) {
-    return [p1[0] + (p2[0] - p1[0]) * t,
-            p1[1] + (p2[1] - p1[1]) * t];
-};
+        var toBBox = this.toBBox,
+            leftBBox = distBBox(node, 0, m, toBBox),
+            rightBBox = distBBox(node, M - m, M, toBBox),
+            margin = bboxMargin(leftBBox) + bboxMargin(rightBBox),
+            i, child;
 
-// http://jsperf.com/id-dist-optimization
-iD.geo.dist = function(a, b) {
-    var x = a[0] - b[0], y = a[1] - b[1];
-    return Math.sqrt((x * x) + (y * y));
-};
+        for (i = m; i < M - m; i++) {
+            child = node.children[i];
+            extend(leftBBox, node.leaf ? toBBox(child) : child.bbox);
+            margin += bboxMargin(leftBBox);
+        }
 
-iD.geo.chooseIndex = function(way, point, context) {
-    var dist = iD.geo.dist,
-        graph = context.graph(),
-        nodes = graph.childNodes(way),
-        projNodes = nodes.map(function(n) { return context.projection(n.loc); });
+        for (i = M - m - 1; i >= m; i--) {
+            child = node.children[i];
+            extend(rightBBox, node.leaf ? toBBox(child) : child.bbox);
+            margin += bboxMargin(rightBBox);
+        }
 
-    for (var i = 0, changes = []; i < projNodes.length - 1; i++) {
-        changes[i] =
-            (dist(projNodes[i], point) + dist(point, projNodes[i + 1])) /
-            dist(projNodes[i], projNodes[i + 1]);
-    }
+        return margin;
+    },
 
-    var idx = _.indexOf(changes, _.min(changes)),
-        ratio = dist(projNodes[idx], point) / dist(projNodes[idx], projNodes[idx + 1]),
-        loc = iD.geo.interp(nodes[idx].loc, nodes[idx + 1].loc, ratio);
+    _adjustParentBBoxes: function (bbox, path, level) {
+        // adjust bboxes along the given tree path
+        for (var i = level; i >= 0; i--) {
+            extend(path[i].bbox, bbox);
+        }
+    },
 
-    return {
-        index: idx + 1,
-        loc: loc
-    };
-};
+    _condense: function (path) {
+        // go through the path, removing empty nodes and updating bboxes
+        for (var i = path.length - 1, siblings; i >= 0; i--) {
+            if (path[i].children.length === 0) {
+                if (i > 0) {
+                    siblings = path[i - 1].children;
+                    siblings.splice(siblings.indexOf(path[i]), 1);
 
-// Return whether point is contained in polygon.
-//
-// `point` should be a 2-item array of coordinates.
-// `polygon` should be an array of 2-item arrays of coordinates.
-//
-// From https://github.com/substack/point-in-polygon.
-// ray-casting algorithm based on
-// http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
-//
-iD.geo.pointInPolygon = function(point, polygon) {
-    var x = point[0],
-        y = point[1],
-        inside = false;
+                } else this.clear();
 
-    for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
-        var xi = polygon[i][0], yi = polygon[i][1];
-        var xj = polygon[j][0], yj = polygon[j][1];
+            } else calcBBox(path[i], this.toBBox);
+        }
+    },
 
-        var intersect = ((yi > y) != (yj > y)) &&
-            (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
-        if (intersect) inside = !inside;
-    }
+    _initFormat: function (format) {
+        // data format (minX, minY, maxX, maxY accessors)
 
-    return inside;
-};
+        // uses eval-type function compilation instead of just accepting a toBBox function
+        // because the algorithms are very sensitive to sorting functions performance,
+        // so they should be dead simple and without inner calls
 
-iD.geo.polygonContainsPolygon = function(outer, inner) {
-    return _.every(inner, function(point) {
-        return iD.geo.pointInPolygon(point, outer);
-    });
-};
+        // jshint evil: true
 
-iD.geo.polygonIntersectsPolygon = function(outer, inner) {
-    return _.some(inner, function(point) {
-        return iD.geo.pointInPolygon(point, outer);
-    });
-};
+        var compareArr = ['return a', ' - b', ';'];
 
-iD.geo.pathLength = function(path) {
-    var length = 0,
-        dx, dy;
-    for (var i = 0; i < path.length - 1; i++) {
-        dx = path[i][0] - path[i + 1][0];
-        dy = path[i][1] - path[i + 1][1];
-        length += Math.sqrt(dx * dx + dy * dy);
-    }
-    return length;
-};
+        this.compareMinX = new Function('a', 'b', compareArr.join(format[0]));
+        this.compareMinY = new Function('a', 'b', compareArr.join(format[1]));
 
-iD.geo.metersToCoordinates = function(loc, vector) {
-    return [vector[1] / 111200, vector[0] / 111200 / Math.abs(Math.cos(loc[1]))];
-};
-iD.geo.Extent = function geoExtent(min, max) {
-    if (!(this instanceof iD.geo.Extent)) return new iD.geo.Extent(min, max);
-    if (min instanceof iD.geo.Extent) {
-        return min;
-    } else if (min && min.length === 2 && min[0].length === 2 && min[1].length === 2) {
-        this[0] = min[0];
-        this[1] = min[1];
-    } else {
-        this[0] = min        || [ Infinity,  Infinity];
-        this[1] = max || min || [-Infinity, -Infinity];
+        this.toBBox = new Function('a', 'return [a' + format.join(', a') + '];');
     }
 };
 
-iD.geo.Extent.prototype = [[], []];
-
-_.extend(iD.geo.Extent.prototype, {
-    extend: function(obj) {
-        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
-        return iD.geo.Extent([Math.min(obj[0][0], this[0][0]),
-                              Math.min(obj[0][1], this[0][1])],
-                             [Math.max(obj[1][0], this[1][0]),
-                              Math.max(obj[1][1], this[1][1])]);
-    },
+// calculate node's bbox from bboxes of its children
+function calcBBox(node, toBBox) {
+    node.bbox = distBBox(node, 0, node.children.length, toBBox);
+}
 
-    center: function() {
-        return [(this[0][0] + this[1][0]) / 2,
-                (this[0][1] + this[1][1]) / 2];
-    },
+// min bounding rectangle of node children from k to p-1
+function distBBox(node, k, p, toBBox) {
+    var bbox = empty();
 
-    intersects: function(obj) {
-        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
-        return obj[0][0] <= this[1][0] &&
-               obj[0][1] <= this[1][1] &&
-               obj[1][0] >= this[0][0] &&
-               obj[1][1] >= this[0][1];
+    for (var i = k, child; i < p; i++) {
+        child = node.children[i];
+        extend(bbox, node.leaf ? toBBox(child) : child.bbox);
     }
-});
-iD.actions = {};
-iD.actions.AddEntity = function(way) {
-    return function(graph) {
-        return graph.replace(way);
-    };
-};
-iD.actions.AddMidpoint = function(midpoint, node) {
-    return function(graph) {
-        graph = graph.replace(node.move(midpoint.loc));
 
-        var parents = _.intersection(
-            graph.parentWays(graph.entity(midpoint.edge[0])),
-            graph.parentWays(graph.entity(midpoint.edge[1])));
+    return bbox;
+}
 
-        parents.forEach(function(way) {
-            for (var i = 0; i < way.nodes.length - 1; i++) {
-                if ((way.nodes[i]     === midpoint.edge[0] &&
-                     way.nodes[i + 1] === midpoint.edge[1]) ||
-                    (way.nodes[i]     === midpoint.edge[1] &&
-                     way.nodes[i + 1] === midpoint.edge[0])) {
-                    graph = graph.replace(graph.entity(way.id).addNode(node.id, i + 1));
-                }
-            }
-        });
 
-        return graph;
-    };
-};
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/AddNodeToWayAction.as
-iD.actions.AddVertex = function(wayId, nodeId, index) {
-    return function(graph) {
-        return graph.replace(graph.entity(wayId).addNode(nodeId, index));
-    };
-};
-iD.actions.ChangeTags = function(entityId, tags) {
-    return function(graph) {
-        var entity = graph.entity(entityId);
-        return graph.replace(entity.update({tags: tags}));
-    };
-};
-iD.actions.Circularize = function(wayId, projection, count) {
-    count = count || 12;
+function empty() { return [Infinity, Infinity, -Infinity, -Infinity]; }
 
-    function closestIndex(nodes, loc) {
-        var idx, min = Infinity, dist;
-        for (var i = 0; i < nodes.length; i++) {
-            dist = iD.geo.dist(nodes[i].loc, loc);
-            if (dist < min) {
-                min = dist;
-                idx = i;
-            }
-        }
-        return idx;
-    }
+function extend(a, b) {
+    a[0] = Math.min(a[0], b[0]);
+    a[1] = Math.min(a[1], b[1]);
+    a[2] = Math.max(a[2], b[2]);
+    a[3] = Math.max(a[3], b[3]);
+    return a;
+}
 
-    var action = function(graph) {
-        var way = graph.entity(wayId),
-            nodes = _.uniq(graph.childNodes(way)),
-            points = nodes.map(function(n) { return projection(n.loc); }),
-            centroid = d3.geom.polygon(points).centroid(),
-            radius = d3.median(points, function(p) {
-                return iD.geo.dist(centroid, p);
-            }),
-            ids = [],
-            sign = d3.geom.polygon(points).area() > 0 ? -1 : 1;
-
-        for (var i = 0; i < count; i++) {
-            var node,
-                loc = projection.invert([
-                    centroid[0] + Math.cos(sign * (i / 12) * Math.PI * 2) * radius,
-                    centroid[1] + Math.sin(sign * (i / 12) * Math.PI * 2) * radius]);
+function compareNodeMinX(a, b) { return a.bbox[0] - b.bbox[0]; }
+function compareNodeMinY(a, b) { return a.bbox[1] - b.bbox[1]; }
 
-            if (nodes.length) {
-                var idx = closestIndex(nodes, loc);
-                node = nodes[idx];
-                nodes.splice(idx, 1);
-            } else {
-                node = iD.Node();
-            }
+function bboxArea(a)   { return (a[2] - a[0]) * (a[3] - a[1]); }
+function bboxMargin(a) { return (a[2] - a[0]) + (a[3] - a[1]); }
 
-            ids.push(node.id);
-            graph = graph.replace(node.move(loc));
-        }
+function enlargedArea(a, b) {
+    return (Math.max(b[2], a[2]) - Math.min(b[0], a[0])) *
+           (Math.max(b[3], a[3]) - Math.min(b[1], a[1]));
+}
 
-        ids.push(ids[0]);
-        way = way.update({nodes: ids});
-        graph = graph.replace(way);
+function intersectionArea (a, b) {
+    var minX = Math.max(a[0], b[0]),
+        minY = Math.max(a[1], b[1]),
+        maxX = Math.min(a[2], b[2]),
+        maxY = Math.min(a[3], b[3]);
 
-        for (i = 0; i < nodes.length; i++) {
-            graph.parentWays(nodes[i]).forEach(function(parent) {
-                graph = graph.replace(parent.replaceNode(nodes[i].id,
-                    ids[closestIndex(graph.childNodes(way), nodes[i].loc)]));
-            });
+    return Math.max(0, maxX - minX) *
+           Math.max(0, maxY - minY);
+}
 
-            graph = iD.actions.DeleteNode(nodes[i].id)(graph);
-        }
+function contains(a, b) {
+    return a[0] <= b[0] &&
+           a[1] <= b[1] &&
+           b[2] <= a[2] &&
+           b[3] <= a[3];
+}
 
-        return graph;
-    };
+function intersects (a, b) {
+    return b[0] <= a[2] &&
+           b[1] <= a[3] &&
+           b[2] >= a[0] &&
+           b[3] >= a[1];
+}
 
-    action.disabled = function(graph) {
-        if (!graph.entity(wayId).isClosed())
-            return 'not_closed';
-    };
 
-    return action;
-};
-// Connect the ways at the given nodes.
-//
-// The last node will survive. All other nodes will be replaced with
-// the surviving node in parent ways, and then removed.
-//
-// Tags and relation memberships of of non-surviving nodes are merged
-// to the survivor.
-//
-// This is the inverse of `iD.actions.Disconnect`.
-//
-// Reference:
-//   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeNodesAction.as
-//   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/MergeNodesAction.java
-//
-iD.actions.Connect = function(nodeIds) {
-    return function(graph) {
-        var survivor = graph.entity(_.last(nodeIds));
+function partitionSort(arr, left, right, k, compare) {
+    var pivot;
 
-        for (var i = 0; i < nodeIds.length - 1; i++) {
-            var node = graph.entity(nodeIds[i]);
+    while (true) {
+        pivot = Math.floor((left + right) / 2);
+        pivot = partition(arr, left, right, pivot, compare);
 
-            graph.parentWays(node).forEach(function(parent) {
-                if (!parent.areAdjacent(node.id, survivor.id)) {
-                    graph = graph.replace(parent.replaceNode(node.id, survivor.id));
-                }
-            });
+        if (k === pivot) break;
+        else if (k < pivot) right = pivot - 1;
+        else left = pivot + 1;
+    }
 
-            graph.parentRelations(node).forEach(function(parent) {
-                graph = graph.replace(parent.replaceMember(node, survivor));
-            });
+    partition(arr, left, right, k, compare);
+}
 
-            survivor = survivor.mergeTags(node.tags);
-            graph = iD.actions.DeleteNode(node.id)(graph);
+function partition(arr, left, right, pivot, compare) {
+    var k = left,
+        value = arr[pivot];
+
+    swap(arr, pivot, right);
+
+    for (var i = left; i < right; i++) {
+        if (compare(arr[i], value) < 0) {
+            swap(arr, k, i);
+            k++;
         }
+    }
+    swap(arr, right, k);
 
-        graph = graph.replace(survivor);
+    return k;
+}
 
-        return graph;
-    };
-};
-iD.actions.DeleteMultiple = function(ids) {
-    return function(graph) {
-        var actions = {
-            way: iD.actions.DeleteWay,
-            node: iD.actions.DeleteNode,
-            relation: iD.actions.DeleteRelation
-        };
+function swap(arr, i, j) {
+    var tmp = arr[i];
+    arr[i] = arr[j];
+    arr[j] = tmp;
+}
 
-        ids.forEach(function(id) {
-            var entity = graph.entity(id);
-            if (entity) { // It may have been deleted aready.
-                graph = actions[entity.type](id)(graph);
-            }
-        });
 
-        return graph;
-    };
-};
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteNodeAction.as
-iD.actions.DeleteNode = function(nodeId) {
-    return function(graph) {
-        var node = graph.entity(nodeId);
+// export as AMD/CommonJS module or global variable
+if (typeof define === 'function' && define.amd) define(function() { return rbush; });
+else if (typeof module !== 'undefined') module.exports = rbush;
+else if (typeof self !== 'undefined') self.rbush = rbush;
+else window.rbush = rbush;
 
-        graph.parentWays(node)
-            .forEach(function(parent) {
-                parent = parent.removeNode(nodeId);
-                graph = graph.replace(parent);
+})();(function(e){if("function"==typeof bootstrap)bootstrap("sexagesimal",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeSexagesimal=e}else"undefined"!=typeof window?window.sexagesimal=e():global.sexagesimal=e()})(function(){var define,ses,bootstrap,module,exports;
+return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+module.exports = element;
+module.exports.pair = pair;
+module.exports.format = format;
+module.exports.formatPair = formatPair;
 
-                if (parent.isDegenerate()) {
-                    graph = iD.actions.DeleteWay(parent.id)(graph);
-                }
-            });
+function element(x, dims) {
+    return search(x, dims).val;
+}
 
-        graph.parentRelations(node)
-            .forEach(function(parent) {
-                graph = graph.replace(parent.removeMember(nodeId));
-            });
+function formatPair(x) {
+    return format(x.lat, 'lat') + ' ' + format(x.lon, 'lon');
+}
 
-        return graph.remove(node);
+// Is 0 North or South?
+function format(x, dim) {
+    var dirs = {
+            lat: ['N', 'S'],
+            lon: ['E', 'W']
+        }[dim] || '',
+        dir = dirs[x >= 0 ? 0 : 1],
+        abs = Math.abs(x),
+        whole = Math.floor(abs),
+        fraction = abs - whole,
+        fractionMinutes = fraction * 60,
+        minutes = Math.floor(fractionMinutes),
+        seconds = Math.floor((fractionMinutes - minutes) * 60);
+
+    return whole + '° ' +
+        (minutes ? minutes + "' " : '') +
+        (seconds ? seconds + '" ' : '') + dir;
+}
+
+function search(x, dims, r) {
+    if (!dims) dims = 'NSEW';
+    if (typeof x !== 'string') return { val: null, regex: r };
+    r = r || /[\s\,]*([\-|\—|\―]?[0-9.]+)°? *(?:([0-9.]+)['’′‘] *)?(?:([0-9.]+)(?:''|"|”|″) *)?([NSEW])?/gi;
+    var m = r.exec(x);
+    if (!m) return { val: null, regex: r };
+    else if (m[4] && dims.indexOf(m[4]) === -1) return { val: null, regex: r };
+    else return {
+        val: (((m[1]) ? parseFloat(m[1]) : 0) +
+            ((m[2] ? parseFloat(m[2]) / 60 : 0)) +
+            ((m[3] ? parseFloat(m[3]) / 3600 : 0))) *
+            ((m[4] && m[4] === 'S' || m[4] === 'W') ? -1 : 1),
+        regex: r,
+        raw: m[0],
+        dim: m[4]
     };
-};
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteRelationAction.as
-iD.actions.DeleteRelation = function(relationId) {
-    function deleteEntity(entity, graph) {
-        return !graph.parentWays(entity).length &&
-            !graph.parentRelations(entity).length &&
-            !entity.hasInterestingTags();
-    }
+}
 
-    return function(graph) {
-        var relation = graph.entity(relationId);
+function pair(x, dims) {
+    x = x.trim();
+    var one = search(x, dims);
+    if (one.val === null) return null;
+    var two = search(x, dims, one.regex);
+    if (two.val === null) return null;
+    // null if one/two are not contiguous.
+    if (one.raw + two.raw !== x) return null;
+    if (one.dim) return swapdim(one.val, two.val, one.dim);
+    else return [one.val, two.val];
+}
 
-        graph.parentRelations(relation)
-            .forEach(function(parent) {
-                graph = graph.replace(parent.removeMember(relationId));
-            });
+function swapdim(a, b, dim) {
+    if (dim == 'N' || dim == 'S') return [a, b];
+    if (dim == 'W' || dim == 'E') return [b, a];
+}
 
-        _.uniq(_.pluck(relation.members, 'id')).forEach(function(memberId) {
-            graph = graph.replace(relation.removeMember(memberId));
+},{}]},{},[1])
+(1)
+});
+;toGeoJSON = (function() {
+    'use strict';
 
-            var entity = graph.entity(memberId);
-            if (deleteEntity(entity, graph)) {
-                graph = iD.actions.DeleteMultiple([memberId])(graph);
-            }
-        });
+    var removeSpace = (/\s*/g),
+        trimSpace = (/^\s*|\s*$/g),
+        splitSpace = (/\s+/);
+    // generate a short, numeric hash of a string
+    function okhash(x) {
+        if (!x || !x.length) return 0;
+        for (var i = 0, h = 0; i < x.length; i++) {
+            h = ((h << 5) - h) + x.charCodeAt(i) | 0;
+        } return h;
+    }
+    // all Y children of X
+    function get(x, y) { return x.getElementsByTagName(y); }
+    function attr(x, y) { return x.getAttribute(y); }
+    function attrf(x, y) { return parseFloat(attr(x, y)); }
+    // one Y child of X, if any, otherwise null
+    function get1(x, y) { var n = get(x, y); return n.length ? n[0] : null; }
+    // https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize
+    function norm(el) { if (el.normalize) { el.normalize(); } return el; }
+    // cast array x into numbers
+    function numarray(x) {
+        for (var j = 0, o = []; j < x.length; j++) o[j] = parseFloat(x[j]);
+        return o;
+    }
+    function clean(x) {
+        var o = {};
+        for (var i in x) if (x[i]) o[i] = x[i];
+        return o;
+    }
+    // get the content of a text node, if any
+    function nodeVal(x) { if (x) {norm(x);} return x && x.firstChild && x.firstChild.nodeValue; }
+    // get one coordinate from a coordinate array, if any
+    function coord1(v) { return numarray(v.replace(removeSpace, '').split(',')); }
+    // get all coordinates from a coordinate array as [[],[]]
+    function coord(v) {
+        var coords = v.replace(trimSpace, '').split(splitSpace),
+            o = [];
+        for (var i = 0; i < coords.length; i++) {
+            o.push(coord1(coords[i]));
+        }
+        return o;
+    }
+    function coordPair(x) { return [attrf(x, 'lon'), attrf(x, 'lat')]; }
 
-        return graph.remove(relation);
-    };
-};
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteWayAction.as
-iD.actions.DeleteWay = function(wayId) {
-    function deleteNode(node, graph) {
-        return !graph.parentWays(node).length &&
-            !graph.parentRelations(node).length &&
-            !node.hasInterestingTags();
+    // create a new feature collection parent object
+    function fc() {
+        return {
+            type: 'FeatureCollection',
+            features: []
+        };
     }
 
-    return function(graph) {
-        var way = graph.entity(wayId);
+    var styleSupport = false;
+    if (typeof XMLSerializer !== 'undefined') {
+        var serializer = new XMLSerializer();
+        styleSupport = true;
+    }
+    function xml2str(str) { return serializer.serializeToString(str); }
 
-        graph.parentRelations(way)
-            .forEach(function(parent) {
-                graph = graph.replace(parent.removeMember(wayId));
-            });
+    var t = {
+        kml: function(doc, o) {
+            o = o || {};
 
-        _.uniq(way.nodes).forEach(function(nodeId) {
-            graph = graph.replace(way.removeNode(nodeId));
+            var gj = fc(),
+                // styleindex keeps track of hashed styles in order to match features
+                styleIndex = {},
+                // atomic geospatial types supported by KML - MultiGeometry is
+                // handled separately
+                geotypes = ['Polygon', 'LineString', 'Point', 'Track'],
+                // all root placemarks in the file
+                placemarks = get(doc, 'Placemark'),
+                styles = get(doc, 'Style');
 
-            var node = graph.entity(nodeId);
-            if (deleteNode(node, graph)) {
-                graph = graph.remove(node);
+            if (styleSupport) for (var k = 0; k < styles.length; k++) {
+                styleIndex['#' + attr(styles[k], 'id')] = okhash(xml2str(styles[k])).toString(16);
             }
-        });
-
-        return graph.remove(way);
-    };
-};
-iD.actions.DeprecateTags = function(entityId) {
-    return function(graph) {
-        var entity = graph.entity(entityId),
-            newtags = _.clone(entity.tags),
-            change = false,
-            rule;
-
-        // This handles deprecated tags with a single condition
-        for (var i = 0; i < iD.data.deprecated.length; i++) {
-
-            rule = iD.data.deprecated[i];
-            var match = _.pairs(rule.old)[0],
-                replacements = rule.replace ? _.pairs(rule.replace) : null;
-
-            if (entity.tags[match[0]] && match[1] === '*') {
+            for (var j = 0; j < placemarks.length; j++) {
+                gj.features = gj.features.concat(getPlacemark(placemarks[j]));
+            }
+            function gxCoord(v) { return numarray(v.split(' ')); }
+            function gxCoords(root) {
+                var elems = get(root, 'coord', 'gx'), coords = [];
+                for (var i = 0; i < elems.length; i++) coords.push(gxCoord(nodeVal(elems[i])));
+                return coords;
+            }
+            function getGeometry(root) {
+                var geomNode, geomNodes, i, j, k, geoms = [];
+                if (get1(root, 'MultiGeometry')) return getGeometry(get1(root, 'MultiGeometry'));
+                if (get1(root, 'MultiTrack')) return getGeometry(get1(root, 'MultiTrack'));
+                for (i = 0; i < geotypes.length; i++) {
+                    geomNodes = get(root, geotypes[i]);
+                    if (geomNodes) {
+                        for (j = 0; j < geomNodes.length; j++) {
+                            geomNode = geomNodes[j];
+                            if (geotypes[i] == 'Point') {
+                                geoms.push({
+                                    type: 'Point',
+                                    coordinates: coord1(nodeVal(get1(geomNode, 'coordinates')))
+                                });
+                            } else if (geotypes[i] == 'LineString') {
+                                geoms.push({
+                                    type: 'LineString',
+                                    coordinates: coord(nodeVal(get1(geomNode, 'coordinates')))
+                                });
+                            } else if (geotypes[i] == 'Polygon') {
+                                var rings = get(geomNode, 'LinearRing'),
+                                    coords = [];
+                                for (k = 0; k < rings.length; k++) {
+                                    coords.push(coord(nodeVal(get1(rings[k], 'coordinates'))));
+                                }
+                                geoms.push({
+                                    type: 'Polygon',
+                                    coordinates: coords
+                                });
+                            } else if (geotypes[i] == 'Track') {
+                                geoms.push({
+                                    type: 'LineString',
+                                    coordinates: gxCoords(geomNode)
+                                });
+                            }
+                        }
+                    }
+                }
+                return geoms;
+            }
+            function getPlacemark(root) {
+                var geoms = getGeometry(root), i, properties = {},
+                    name = nodeVal(get1(root, 'name')),
+                    styleUrl = nodeVal(get1(root, 'styleUrl')),
+                    description = nodeVal(get1(root, 'description')),
+                    extendedData = get1(root, 'ExtendedData');
 
-                var value = entity.tags[match[0]];
-                if (replacements && !newtags[replacements[0][0]]) {
-                    newtags[replacements[0][0]] = value;
+                if (!geoms.length) return [];
+                if (name) properties.name = name;
+                if (styleUrl && styleIndex[styleUrl]) {
+                    properties.styleUrl = styleUrl;
+                    properties.styleHash = styleIndex[styleUrl];
                 }
-                delete newtags[match[0]];
-                change = true;
+                if (description) properties.description = description;
+                if (extendedData) {
+                    var datas = get(extendedData, 'Data'),
+                        simpleDatas = get(extendedData, 'SimpleData');
 
-            } else if (entity.tags[match[0]] === match[1]) {
-                newtags = _.assign({}, rule.replace || {}, _.omit(newtags, match[0]));
-                change = true;
+                    for (i = 0; i < datas.length; i++) {
+                        properties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value'));
+                    }
+                    for (i = 0; i < simpleDatas.length; i++) {
+                        properties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]);
+                    }
+                }
+                return [{
+                    type: 'Feature',
+                    geometry: (geoms.length === 1) ? geoms[0] : {
+                        type: 'GeometryCollection',
+                        geometries: geoms
+                    },
+                    properties: properties
+                }];
             }
-        }
-
-        if (change) {
-            return graph.replace(entity.update({tags: newtags}));
-        } else {
-            return graph;
+            return gj;
+        },
+        gpx: function(doc, o) {
+            var i,
+                tracks = get(doc, 'trk'),
+                routes = get(doc, 'rte'),
+                waypoints = get(doc, 'wpt'),
+                // a feature collection
+                gj = fc();
+            for (i = 0; i < tracks.length; i++) {
+                gj.features.push(getLinestring(tracks[i], 'trkpt'));
+            }
+            for (i = 0; i < routes.length; i++) {
+                gj.features.push(getLinestring(routes[i], 'rtept'));
+            }
+            for (i = 0; i < waypoints.length; i++) {
+                gj.features.push(getPoint(waypoints[i]));
+            }
+            function getLinestring(node, pointname) {
+                var j, pts = get(node, pointname), line = [];
+                for (j = 0; j < pts.length; j++) {
+                    line.push(coordPair(pts[j]));
+                }
+                return {
+                    type: 'Feature',
+                    properties: getProperties(node),
+                    geometry: {
+                        type: 'LineString',
+                        coordinates: line
+                    }
+                };
+            }
+            function getPoint(node) {
+                var prop = getProperties(node);
+                prop.ele = nodeVal(get1(node, 'ele'));
+                prop.sym = nodeVal(get1(node, 'sym'));
+                return {
+                    type: 'Feature',
+                    properties: prop,
+                    geometry: {
+                        type: 'Point',
+                        coordinates: coordPair(node)
+                    }
+                };
+            }
+            function getProperties(node) {
+                var meta = ['name', 'desc', 'author', 'copyright', 'link',
+                            'time', 'keywords'],
+                    prop = {},
+                    k;
+                for (k = 0; k < meta.length; k++) {
+                    prop[meta[k]] = nodeVal(get1(node, meta[k]));
+                }
+                return clean(prop);
+            }
+            return gj;
         }
     };
-};
-// Disconect the ways at the given node.
-//
-// Optionally, disconnect only the given ways.
-//
-// For testing convenience, accepts an ID to assign to the (first) new node.
-// Normally, this will be undefined and the way will automatically
-// be assigned a new ID.
-//
-// This is the inverse of `iD.actions.Connect`.
-//
-// Reference:
-//   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/UnjoinNodeAction.as
-//   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/UnGlueAction.java
-//
-iD.actions.Disconnect = function(nodeId, newNodeId) {
-    var wayIds;
+    return t;
+})();
 
-    var action = function(graph) {
-        var node = graph.entity(nodeId),
-            replacements = action.replacements(graph);
+if (typeof module !== 'undefined') module.exports = toGeoJSON;
+/**
+ * marked - a markdown parser
+ * Copyright (c) 2011-2013, Christopher Jeffrey. (MIT Licensed)
+ * https://github.com/chjj/marked
+ */
 
-        replacements.forEach(function(replacement) {
-            var newNode = iD.Node({id: newNodeId, loc: node.loc, tags: node.tags});
-            graph = graph.replace(newNode);
-            graph = graph.replace(replacement.way.updateNode(newNode.id, replacement.index));
-        });
+;(function() {
 
-        return graph;
-    };
+/**
+ * Block-Level Grammar
+ */
 
-    action.replacements = function(graph) {
-        var candidates = [],
-            keeping = false,
-            parents = graph.parentWays(graph.entity(nodeId));
+var block = {
+  newline: /^\n+/,
+  code: /^( {4}[^\n]+\n*)+/,
+  fences: noop,
+  hr: /^( *[-*_]){3,} *(?:\n+|$)/,
+  heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
+  nptable: noop,
+  lheading: /^([^\n]+)\n *(=|-){3,} *\n*/,
+  blockquote: /^( *>[^\n]+(\n[^\n]+)*\n*)+/,
+  list: /^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
+  html: /^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,
+  def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,
+  table: noop,
+  paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,
+  text: /^[^\n]+/
+};
 
-        parents.forEach(function(parent) {
-            if (wayIds && wayIds.indexOf(parent.id) === -1) {
-                keeping = true;
-                return;
-            }
+block.bullet = /(?:[*+-]|\d+\.)/;
+block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;
+block.item = replace(block.item, 'gm')
+  (/bull/g, block.bullet)
+  ();
 
-            parent.nodes.forEach(function(waynode, index) {
-                if (waynode === nodeId) {
-                    candidates.push({way: parent, index: index});
-                }
-            });
-        });
+block.list = replace(block.list)
+  (/bull/g, block.bullet)
+  ('hr', /\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)
+  ();
 
-        return keeping ? candidates : candidates.slice(1);
-    };
+block._tag = '(?!(?:'
+  + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code'
+  + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo'
+  + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b';
 
-    action.disabled = function(graph) {
-        var replacements = action.replacements(graph);
-        if (replacements.length === 0 || (wayIds && wayIds.length !== replacements.length))
-            return 'not_connected';
-    };
+block.html = replace(block.html)
+  ('comment', /<!--[\s\S]*?-->/)
+  ('closed', /<(tag)[\s\S]+?<\/\1>/)
+  ('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)
+  (/tag/g, block._tag)
+  ();
 
-    action.limitWays = function(_) {
-        if (!arguments.length) return wayIds;
-        wayIds = _;
-        return action;
-    };
+block.paragraph = replace(block.paragraph)
+  ('hr', block.hr)
+  ('heading', block.heading)
+  ('lheading', block.lheading)
+  ('blockquote', block.blockquote)
+  ('tag', '<' + block._tag)
+  ('def', block.def)
+  ();
 
-    return action;
-};
-// Join ways at the end node they share.
-//
-// This is the inverse of `iD.actions.Split`.
-//
-// Reference:
-//   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeWaysAction.as
-//   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/CombineWayAction.java
-//
-iD.actions.Join = function(ids) {
-    var idA = ids[0],
-        idB = ids[1];
+/**
+ * Normal Block Grammar
+ */
 
-    function groupEntitiesByGeometry(graph) {
-        var entities = ids.map(function(id) { return graph.entity(id); });
-        return _.extend({line: []}, _.groupBy(entities, function(entity) { return entity.geometry(graph); }));
-    }
+block.normal = merge({}, block);
 
-    var action = function(graph) {
-        var a = graph.entity(idA),
-            b = graph.entity(idB),
-            nodes;
-
-        if (a.first() === b.first()) {
-            // a <-- b ==> c
-            // Expected result:
-            // a <-- b <-- c
-            b = iD.actions.Reverse(idB)(graph).entity(idB);
-            nodes = b.nodes.slice().concat(a.nodes.slice(1));
-
-        } else if (a.first() === b.last()) {
-            // a <-- b <== c
-            // Expected result:
-            // a <-- b <-- c
-            nodes = b.nodes.concat(a.nodes.slice(1));
-
-        } else if (a.last()  === b.first()) {
-            // a --> b ==> c
-            // Expected result:
-            // a --> b --> c
-            nodes = a.nodes.concat(b.nodes.slice(1));
-
-        } else if (a.last()  === b.last()) {
-            // a --> b <== c
-            // Expected result:
-            // a --> b --> c
-            b = iD.actions.Reverse(idB)(graph).entity(idB);
-            nodes = a.nodes.concat(b.nodes.slice().slice(1));
-        }
-
-        graph.parentRelations(b).forEach(function(parent) {
-            graph = graph.replace(parent.replaceMember(b, a));
-        });
+/**
+ * GFM Block Grammar
+ */
 
-        graph = graph.replace(a.mergeTags(b.tags).update({ nodes: nodes }));
-        graph = iD.actions.DeleteWay(idB)(graph);
+block.gfm = merge({}, block.normal, {
+  fences: /^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,
+  paragraph: /^/
+});
 
-        return graph;
-    };
+block.gfm.paragraph = replace(block.paragraph)
+  ('(?!', '(?!' + block.gfm.fences.source.replace('\\1', '\\2') + '|')
+  ();
 
-    action.disabled = function(graph) {
-        var geometries = groupEntitiesByGeometry(graph);
+/**
+ * GFM + Tables Block Grammar
+ */
 
-        if (ids.length !== 2 || ids.length !== geometries.line.length)
-            return 'not_eligible';
+block.tables = merge({}, block.gfm, {
+  nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
+  table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
+});
 
-        var a = graph.entity(idA),
-            b = graph.entity(idB);
+/**
+ * Block Lexer
+ */
 
-        if (a.first() !== b.first() &&
-            a.first() !== b.last()  &&
-            a.last()  !== b.first() &&
-            a.last()  !== b.last())
-            return 'not_adjacent';
-    };
+function Lexer(options) {
+  this.tokens = [];
+  this.tokens.links = {};
+  this.options = options || marked.defaults;
+  this.rules = block.normal;
 
-    return action;
-};
-iD.actions.Merge = function(ids) {
-    function groupEntitiesByGeometry(graph) {
-        var entities = ids.map(function(id) { return graph.entity(id); });
-        return _.extend({point: [], area: [], line: [], relation: []},
-            _.groupBy(entities, function(entity) { return entity.geometry(graph); }));
+  if (this.options.gfm) {
+    if (this.options.tables) {
+      this.rules = block.tables;
+    } else {
+      this.rules = block.gfm;
     }
+  }
+}
 
-    var action = function(graph) {
-        var geometries = groupEntitiesByGeometry(graph),
-            target = geometries.area[0] || geometries.line[0],
-            points = geometries.point;
-
-        points.forEach(function(point) {
-            target = target.mergeTags(point.tags);
+/**
+ * Expose Block Rules
+ */
 
-            graph.parentRelations(point).forEach(function(parent) {
-                graph = graph.replace(parent.replaceMember(point, target));
-            });
+Lexer.rules = block;
 
-            graph = graph.remove(point);
-        });
+/**
+ * Static Lex Method
+ */
 
-        graph = graph.replace(target);
+Lexer.lex = function(src, options) {
+  var lexer = new Lexer(options);
+  return lexer.lex(src);
+};
 
-        return graph;
-    };
+/**
+ * Preprocessing
+ */
 
-    action.disabled = function(graph) {
-        var geometries = groupEntitiesByGeometry(graph);
-        if (geometries.point.length === 0 ||
-            (geometries.area.length + geometries.line.length) !== 1 ||
-            geometries.relation.length !== 0)
-            return 'not_eligible';
-    };
+Lexer.prototype.lex = function(src) {
+  src = src
+    .replace(/\r\n|\r/g, '\n')
+    .replace(/\t/g, '    ')
+    .replace(/\u00a0/g, ' ')
+    .replace(/\u2424/g, '\n');
 
-    return action;
+  return this.token(src, true);
 };
-// https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/command/MoveCommand.java
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MoveNodeAction.as
-iD.actions.Move = function(ids, delta, projection) {
-    function addNodes(ids, nodes, graph) {
-        ids.forEach(function(id) {
-            var entity = graph.entity(id);
-            if (entity.type === 'node') {
-                nodes.push(id);
-            } else if (entity.type === 'way') {
-                nodes.push.apply(nodes, entity.nodes);
-            } else {
-                addNodes(_.pluck(entity.members, 'id'), nodes, graph);
-            }
-        });
-    }
 
-    var action = function(graph) {
-        var nodes = [];
+/**
+ * Lexing
+ */
 
-        addNodes(ids, nodes, graph);
+Lexer.prototype.token = function(src, top) {
+  var src = src.replace(/^ +$/gm, '')
+    , next
+    , loose
+    , cap
+    , bull
+    , b
+    , item
+    , space
+    , i
+    , l;
 
-        _.uniq(nodes).forEach(function(id) {
-            var node = graph.entity(id),
-                start = projection(node.loc),
-                end = projection.invert([start[0] + delta[0], start[1] + delta[1]]);
-            graph = graph.replace(node.move(end));
+  while (src) {
+    // newline
+    if (cap = this.rules.newline.exec(src)) {
+      src = src.substring(cap[0].length);
+      if (cap[0].length > 1) {
+        this.tokens.push({
+          type: 'space'
         });
+      }
+    }
 
-        return graph;
-    };
-
-    action.disabled = function(graph) {
-        function incompleteRelation(id) {
-            var entity = graph.entity(id);
-            return entity.type === 'relation' && !entity.isComplete(graph);
-        }
-
-        if (_.any(ids, incompleteRelation))
-            return 'incomplete_relation';
-    };
+    // code
+    if (cap = this.rules.code.exec(src)) {
+      src = src.substring(cap[0].length);
+      cap = cap[0].replace(/^ {4}/gm, '');
+      this.tokens.push({
+        type: 'code',
+        text: !this.options.pedantic
+          ? cap.replace(/\n+$/, '')
+          : cap
+      });
+      continue;
+    }
 
-    return action;
-};
-// https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/command/MoveCommand.java
-// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MoveNodeAction.as
-iD.actions.MoveNode = function(nodeId, loc) {
-    return function(graph) {
-        return graph.replace(graph.entity(nodeId).move(loc));
-    };
-};
-iD.actions.Noop = function() {
-    return function(graph) {
-        return graph;
-    };
-};
-/*
- * Based on https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/potlatch2/tools/Quadrilateralise.as
- */
+    // fences (gfm)
+    if (cap = this.rules.fences.exec(src)) {
+      src = src.substring(cap[0].length);
+      this.tokens.push({
+        type: 'code',
+        lang: cap[2],
+        text: cap[3]
+      });
+      continue;
+    }
 
-iD.actions.Orthogonalize = function(wayId, projection) {
-    var action = function(graph) {
-        var way = graph.entity(wayId),
-            nodes = graph.childNodes(way),
-            corner = {i: 0, dotp: 1},
-            points, i, j, score, motions;
+    // heading
+    if (cap = this.rules.heading.exec(src)) {
+      src = src.substring(cap[0].length);
+      this.tokens.push({
+        type: 'heading',
+        depth: cap[1].length,
+        text: cap[2]
+      });
+      continue;
+    }
 
-        if (nodes.length === 4) {
-            points = _.uniq(nodes).map(function(n) { return projection(n.loc); });
+    // table no leading pipe (gfm)
+    if (top && (cap = this.rules.nptable.exec(src))) {
+      src = src.substring(cap[0].length);
 
-            for (i = 0; i < 1000; i++) {
-                motions = points.map(calcMotion);
-                points[corner.i] = addPoints(points[corner.i],motions[corner.i]);
-                score = corner.dotp;
-                if (score < 1.0e-8) {
-                    break;
-                }
-            }
+      item = {
+        type: 'table',
+        header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
+        align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
+        cells: cap[3].replace(/\n$/, '').split('\n')
+      };
 
-            graph = graph.replace(graph.entity(nodes[corner.i].id)
-                .move(projection.invert(points[corner.i])));
+      for (i = 0; i < item.align.length; i++) {
+        if (/^ *-+: *$/.test(item.align[i])) {
+          item.align[i] = 'right';
+        } else if (/^ *:-+: *$/.test(item.align[i])) {
+          item.align[i] = 'center';
+        } else if (/^ *:-+ *$/.test(item.align[i])) {
+          item.align[i] = 'left';
         } else {
-            var best;
-            points = nodes.map(function(n) { return projection(n.loc); });
-            score = squareness();
-
-            for (i = 0; i < 1000; i++) {
-                motions = points.map(calcMotion);
-                for (j = 0; j < motions.length; j++) {
-                    points[j] = addPoints(points[j],motions[j]);
-                }
-                var newScore = squareness();
-                if (newScore < score) {
-                    best = _.clone(points);
-                    score = newScore;
-                }
-                if (score < 1.0e-8) {
-                    break;
-                }
-            }
-
-            points = best;
-
-            for (i = 0; i < points.length - 1; i++) {
-                graph = graph.replace(graph.entity(nodes[i].id)
-                    .move(projection.invert(points[i])));
-            }
+          item.align[i] = null;
         }
+      }
 
-        return graph;
-
-        function calcMotion(b, i, array) {
-            var a = array[(i - 1 + array.length) % array.length],
-                c = array[(i + 1) % array.length],
-                p = subtractPoints(a, b),
-                q = subtractPoints(c, b);
+      for (i = 0; i < item.cells.length; i++) {
+        item.cells[i] = item.cells[i].split(/ *\| */);
+      }
 
-            var scale = iD.geo.dist(p, [0, 0]) + iD.geo.dist(q, [0, 0]);
-            p = normalizePoint(p, 1.0);
-            q = normalizePoint(q, 1.0);
+      this.tokens.push(item);
 
-            var dotp = p[0] * q[0] + p[1] * q[1];
+      continue;
+    }
 
-            // nasty hack to deal with almost-straight segments (angle is closer to 180 than to 90/270).
-            if (array.length > 3) {
-                if (dotp < -0.707106781186547) {
-                    dotp += 1.0;
-                }
-            } else if (Math.abs(dotp) < corner.dotp) {
-                corner.i = i;
-                corner.dotp = Math.abs(dotp);
-            }
+    // lheading
+    if (cap = this.rules.lheading.exec(src)) {
+      src = src.substring(cap[0].length);
+      this.tokens.push({
+        type: 'heading',
+        depth: cap[2] === '=' ? 1 : 2,
+        text: cap[1]
+      });
+      continue;
+    }
 
-            return normalizePoint(addPoints(p, q), 0.1 * dotp * scale);
-        }
+    // hr
+    if (cap = this.rules.hr.exec(src)) {
+      src = src.substring(cap[0].length);
+      this.tokens.push({
+        type: 'hr'
+      });
+      continue;
+    }
 
-        function squareness() {
-            var g = 0.0;
-            for (var i = 1; i < points.length - 1; i++) {
-                var score = scoreOfPoints(points[i - 1], points[i], points[i + 1]);
-                g += score;
-            }
-            var startScore = scoreOfPoints(points[points.length - 1], points[0], points[1]);
-            var endScore = scoreOfPoints(points[points.length - 2], points[points.length - 1], points[0]);
-            g += startScore;
-            g += endScore;
-            return g;
-        }
+    // blockquote
+    if (cap = this.rules.blockquote.exec(src)) {
+      src = src.substring(cap[0].length);
 
-        function scoreOfPoints(a, b, c) {
-            var p = subtractPoints(a, b),
-                q = subtractPoints(c, b);
+      this.tokens.push({
+        type: 'blockquote_start'
+      });
 
-            p = normalizePoint(p, 1.0);
-            q = normalizePoint(q, 1.0);
+      cap = cap[0].replace(/^ *> ?/gm, '');
 
-            var dotp = p[0] * q[0] + p[1] * q[1];
-            // score is constructed so that +1, -1 and 0 are all scored 0, any other angle
-            // is scored higher.
-            return 2.0 * Math.min(Math.abs(dotp - 1.0), Math.min(Math.abs(dotp), Math.abs(dotp + 1)));
-        }
+      // Pass `top` to keep the current
+      // "toplevel" state. This is exactly
+      // how markdown.pl works.
+      this.token(cap, top);
 
-        function subtractPoints(a, b) {
-            return [a[0] - b[0], a[1] - b[1]];
-        }
+      this.tokens.push({
+        type: 'blockquote_end'
+      });
 
-        function addPoints(a, b) {
-            return [a[0] + b[0], a[1] + b[1]];
-        }
+      continue;
+    }
 
-        function normalizePoint(point, scale) {
-            var vector = [0, 0];
-            var length = Math.sqrt(point[0] * point[0] + point[1] * point[1]);
-            if (length !== 0) {
-                vector[0] = point[0] / length;
-                vector[1] = point[1] / length;
-            }
-
-            vector[0] *= scale;
-            vector[1] *= scale;
-
-            return vector;
-        }
-    };
-
-    action.disabled = function(graph) {
-        if (!graph.entity(wayId).isClosed())
-            return 'not_closed';
-    };
-
-    return action;
-};
-/*
-  Order the nodes of a way in reverse order and reverse any direction dependent tags
-  other than `oneway`. (We assume that correcting a backwards oneway is the primary
-  reason for reversing a way.)
-
-  The following transforms are performed:
+    // list
+    if (cap = this.rules.list.exec(src)) {
+      src = src.substring(cap[0].length);
+      bull = cap[2];
 
-    Keys:
-          *:right=* ⟺ *:left=*
-        *:forward=* ⟺ *:backward=*
-       direction=up ⟺ direction=down
-         incline=up ⟺ incline=down
-            *=right ⟺ *=left
+      this.tokens.push({
+        type: 'list_start',
+        ordered: bull.length > 1
+      });
 
-    Relation members:
-       role=forward ⟺ role=backward
+      // Get each top-level item.
+      cap = cap[0].match(this.rules.item);
 
-   In addition, numeric-valued `incline` tags are negated.
+      next = false;
+      l = cap.length;
+      i = 0;
 
-   The JOSM implementation was used as a guide, but transformations that were of unclear benefit
-   or adjusted tags that don't seem to be used in practice were omitted.
+      for (; i < l; i++) {
+        item = cap[i];
 
-   References:
-      http://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right
-      http://wiki.openstreetmap.org/wiki/Key:direction#Steps
-      http://wiki.openstreetmap.org/wiki/Key:incline
-      http://wiki.openstreetmap.org/wiki/Route#Members
-      http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java
- */
-iD.actions.Reverse = function(wayId) {
-    var replacements = [
-        [/:right$/, ':left'], [/:left$/, ':right'],
-        [/:forward$/, ':backward'], [/:backward$/, ':forward']
-    ], numeric = /^([+\-]?)(?=[\d.])/;
+        // Remove the list item's bullet
+        // so it is seen as the next token.
+        space = item.length;
+        item = item.replace(/^ *([*+-]|\d+\.) +/, '');
 
-    function reverseKey(key) {
-        for (var i = 0; i < replacements.length; ++i) {
-            var replacement = replacements[i];
-            if (replacement[0].test(key)) {
-                return key.replace(replacement[0], replacement[1]);
-            }
+        // Outdent whatever the
+        // list item contains. Hacky.
+        if (~item.indexOf('\n ')) {
+          space -= item.length;
+          item = !this.options.pedantic
+            ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')
+            : item.replace(/^ {1,4}/gm, '');
         }
-        return key;
-    }
 
-    function reverseValue(key, value) {
-        if (key === "incline" && numeric.test(value)) {
-            return value.replace(numeric, function(_, sign) { return sign === '-' ? '' : '-'; });
-        } else if (key === "incline" || key === "direction") {
-            return {up: 'down', down: 'up'}[value] || value;
-        } else {
-            return {left: 'right', right: 'left'}[value] || value;
+        // Determine whether the next list item belongs here.
+        // Backpedal if it does not belong in this list.
+        if (this.options.smartLists && i !== l - 1) {
+          b = block.bullet.exec(cap[i+1])[0];
+          if (bull !== b && !(bull.length > 1 && b.length > 1)) {
+            src = cap.slice(i + 1).join('\n') + src;
+            i = l - 1;
+          }
         }
-    }
-
-    return function(graph) {
-        var way = graph.entity(wayId),
-            nodes = way.nodes.slice().reverse(),
-            tags = {}, key, role;
 
-        for (key in way.tags) {
-            tags[reverseKey(key)] = reverseValue(key, way.tags[key]);
+        // Determine whether item is loose or not.
+        // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/
+        // for discount behavior.
+        loose = next || /\n\n(?!\s*$)/.test(item);
+        if (i !== l - 1) {
+          next = item[item.length-1] === '\n';
+          if (!loose) loose = next;
         }
 
-        graph.parentRelations(way).forEach(function(relation) {
-            relation.members.forEach(function(member, index) {
-                if (member.id === way.id && (role = {forward: 'backward', backward: 'forward'}[member.role])) {
-                    relation = relation.updateMember({role: role}, index);
-                    graph = graph.replace(relation);
-                }
-            });
+        this.tokens.push({
+          type: loose
+            ? 'loose_item_start'
+            : 'list_item_start'
         });
 
-        return graph.replace(way.update({nodes: nodes, tags: tags}));
-    };
-};
-iD.actions.RotateWay = function(wayId, pivot, angle, projection) {
-    return function(graph) {
-        return graph.update(function(graph) {
-            var way = graph.entity(wayId);
-
-            _.unique(way.nodes).forEach(function(id) {
-
-                var node = graph.entity(id),
-                    point = projection(node.loc),
-                    radial = [0,0];
+        // Recurse.
+        this.token(item, false);
 
-                radial[0] = point[0] - pivot[0];
-                radial[1] = point[1] - pivot[1];
+        this.tokens.push({
+          type: 'list_item_end'
+        });
+      }
 
-                point = [
-                    radial[0] * Math.cos(angle) - radial[1] * Math.sin(angle) + pivot[0],
-                    radial[0] * Math.sin(angle) + radial[1] * Math.cos(angle) + pivot[1]
-                ];
+      this.tokens.push({
+        type: 'list_end'
+      });
 
-                graph = graph.replace(node.move(projection.invert(point)));
+      continue;
+    }
 
-            });
+    // html
+    if (cap = this.rules.html.exec(src)) {
+      src = src.substring(cap[0].length);
+      this.tokens.push({
+        type: this.options.sanitize
+          ? 'paragraph'
+          : 'html',
+        pre: cap[1] === 'pre' || cap[1] === 'script',
+        text: cap[0]
+      });
+      continue;
+    }
 
-        });
-    };
-};
-// Split a way at the given node.
-//
-// Optionally, split only the given ways, if multiple ways share
-// the given node.
-//
-// This is the inverse of `iD.actions.Join`.
-//
-// For testing convenience, accepts an ID to assign to the new way.
-// Normally, this will be undefined and the way will automatically
-// be assigned a new ID.
-//
-// Reference:
-//   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/SplitWayAction.as
-//
-iD.actions.Split = function(nodeId, newWayIds) {
-    var wayIds;
+    // def
+    if (top && (cap = this.rules.def.exec(src))) {
+      src = src.substring(cap[0].length);
+      this.tokens.links[cap[1].toLowerCase()] = {
+        href: cap[2],
+        title: cap[3]
+      };
+      continue;
+    }
 
-    function split(graph, wayA, newWayId) {
-        var wayB = iD.Way({id: newWayId, tags: wayA.tags}),
-            nodesA,
-            nodesB,
-            isArea = wayA.isArea();
+    // table (gfm)
+    if (top && (cap = this.rules.table.exec(src))) {
+      src = src.substring(cap[0].length);
 
-        if (wayA.isClosed()) {
-            var nodes = wayA.nodes.slice(0, -1),
-                idxA = _.indexOf(nodes, nodeId),
-                idxB = idxA + Math.floor(nodes.length / 2);
+      item = {
+        type: 'table',
+        header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
+        align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
+        cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n')
+      };
 
-            if (idxB >= nodes.length) {
-                idxB %= nodes.length;
-                nodesA = nodes.slice(idxA).concat(nodes.slice(0, idxB + 1));
-                nodesB = nodes.slice(idxB, idxA + 1);
-            } else {
-                nodesA = nodes.slice(idxA, idxB + 1);
-                nodesB = nodes.slice(idxB).concat(nodes.slice(0, idxA + 1));
-            }
+      for (i = 0; i < item.align.length; i++) {
+        if (/^ *-+: *$/.test(item.align[i])) {
+          item.align[i] = 'right';
+        } else if (/^ *:-+: *$/.test(item.align[i])) {
+          item.align[i] = 'center';
+        } else if (/^ *:-+ *$/.test(item.align[i])) {
+          item.align[i] = 'left';
         } else {
-            var idx = _.indexOf(wayA.nodes, nodeId, 1);
-            nodesA = wayA.nodes.slice(0, idx + 1);
-            nodesB = wayA.nodes.slice(idx);
+          item.align[i] = null;
         }
+      }
 
-        wayA = wayA.update({nodes: nodesA});
-        wayB = wayB.update({nodes: nodesB});
-
-        graph = graph.replace(wayA);
-        graph = graph.replace(wayB);
-
-        graph.parentRelations(wayA).forEach(function(relation) {
-            if (relation.isRestriction()) {
-                var via = relation.memberByRole('via');
-                if (via && wayB.contains(via.id)) {
-                    relation = relation.updateMember({id: wayB.id}, relation.memberById(wayA.id).index);
-                    graph = graph.replace(relation);
-                }
-            } else {
-                var role = relation.memberById(wayA.id).role,
-                    last = wayB.last(),
-                    i = relation.memberById(wayA.id).index,
-                    j;
-
-                for (j = 0; j < relation.members.length; j++) {
-                    var entity = graph.entity(relation.members[j].id);
-                    if (entity && entity.type === 'way' && entity.contains(last)) {
-                        break;
-                    }
-                }
-
-                relation = relation.addMember({id: wayB.id, type: 'way', role: role}, i <= j ? i + 1 : i);
-                graph = graph.replace(relation);
-            }
-        });
-
-        if (isArea) {
-            var multipolygon = iD.Relation({
-                tags: _.extend({}, wayA.tags, {type: 'multipolygon'}),
-                members: [
-                    {id: wayA.id, role: 'outer', type: 'way'},
-                    {id: wayB.id, role: 'outer', type: 'way'}
-                ]});
+      for (i = 0; i < item.cells.length; i++) {
+        item.cells[i] = item.cells[i]
+          .replace(/^ *\| *| *\| *$/g, '')
+          .split(/ *\| */);
+      }
 
-            graph = graph.replace(multipolygon);
-            graph = graph.replace(wayA.update({tags: {}}));
-            graph = graph.replace(wayB.update({tags: {}}));
-        }
+      this.tokens.push(item);
 
-        return graph;
+      continue;
     }
 
-    var action = function(graph) {
-        var candidates = action.ways(graph);
-        for (var i = 0; i < candidates.length; i++) {
-            graph = split(graph, candidates[i], newWayIds && newWayIds[i]);
-        }
-        return graph;
-    };
-
-    action.ways = function(graph) {
-        var node = graph.entity(nodeId),
-            parents = graph.parentWays(node);
-
-        return parents.filter(function(parent) {
-            if (wayIds && wayIds.indexOf(parent.id) === -1)
-                return false;
-
-            if (parent.isClosed()) {
-                return true;
-            }
-
-            for (var i = 1; i < parent.nodes.length - 1; i++) {
-                if (parent.nodes[i] === nodeId) {
-                    return true;
-                }
-            }
-
-            return false;
-        });
-    };
+    // top-level paragraph
+    if (top && (cap = this.rules.paragraph.exec(src))) {
+      src = src.substring(cap[0].length);
+      this.tokens.push({
+        type: 'paragraph',
+        text: cap[1][cap[1].length-1] === '\n'
+          ? cap[1].slice(0, -1)
+          : cap[1]
+      });
+      continue;
+    }
 
-    action.disabled = function(graph) {
-        var candidates = action.ways(graph);
-        if (candidates.length === 0 || (wayIds && wayIds.length !== candidates.length))
-            return 'not_eligible';
-    };
+    // text
+    if (cap = this.rules.text.exec(src)) {
+      // Top-level should never reach here.
+      src = src.substring(cap[0].length);
+      this.tokens.push({
+        type: 'text',
+        text: cap[0]
+      });
+      continue;
+    }
 
-    action.limitWays = function(_) {
-        if (!arguments.length) return wayIds;
-        wayIds = _;
-        return action;
-    };
+    if (src) {
+      throw new
+        Error('Infinite loop on byte: ' + src.charCodeAt(0));
+    }
+  }
 
-    return action;
+  return this.tokens;
 };
-iD.behavior = {};
-iD.behavior.accept = function() {
-    var event = d3.dispatch('accept'),
-        keybinding = d3.keybinding('accept');
 
-    function accept(selection) {
-        keybinding.on('↩', function() {
-            event.accept();
-        })(selection);
-    }
+/**
+ * Inline-Level Grammar
+ */
 
-    return d3.rebind(accept, event, "on");
+var inline = {
+  escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
+  autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
+  url: noop,
+  tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
+  link: /^!?\[(inside)\]\(href\)/,
+  reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
+  nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
+  strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
+  em: /^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
+  code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
+  br: /^ {2,}\n(?!\s*$)/,
+  del: noop,
+  text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
 };
-iD.behavior.AddWay = function(context) {
-    var event = d3.dispatch('start', 'startFromWay', 'startFromNode'),
-        draw = iD.behavior.Draw(context);
-
-    var addWay = function(surface) {
-        draw.on('click', event.start)
-            .on('clickWay', event.startFromWay)
-            .on('clickNode', event.startFromNode)
-            .on('cancel', addWay.cancel)
-            .on('finish', addWay.cancel);
 
-        context.map()
-            .minzoom(16)
-            .dblclickEnable(false);
+inline._inside = /(?:\[[^\]]*\]|[^\]]|\](?=[^\[]*\]))*/;
+inline._href = /\s*<?([^\s]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/;
 
-        surface.call(draw);
-    };
+inline.link = replace(inline.link)
+  ('inside', inline._inside)
+  ('href', inline._href)
+  ();
 
-    addWay.off = function(surface) {
-        context.map()
-            .minzoom(0)
-            .tail(false);
+inline.reflink = replace(inline.reflink)
+  ('inside', inline._inside)
+  ();
 
-        surface.call(draw.off);
-    };
+/**
+ * Normal Inline Grammar
+ */
 
-    addWay.cancel = function() {
+inline.normal = merge({}, inline);
 
-        window.setTimeout(function() {
-            context.map().dblclickEnable(true);
-        }, 1000);
+/**
+ * Pedantic Inline Grammar
+ */
 
-        context.enter(iD.modes.Browse(context));
-    };
+inline.pedantic = merge({}, inline.normal, {
+  strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
+  em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
+});
 
-    return d3.rebind(addWay, event, 'on');
-};
-/*
-    `iD.behavior.drag` is like `d3.behavior.drag`, with the following differences:
+/**
+ * GFM Inline Grammar
+ */
 
-    * The `origin` function is expected to return an [x, y] tuple rather than an
-      {x, y} object.
-    * The events are `start`, `move`, and `end`.
-      (https://github.com/mbostock/d3/issues/563)
-    * The `start` event is not dispatched until the first cursor movement occurs.
-      (https://github.com/mbostock/d3/pull/368)
-    * The `move` event has a `point` and `delta` [x, y] tuple properties rather
-      than `x`, `y`, `dx`, and `dy` properties.
-    * The `end` event is not dispatched if no movement occurs.
-    * An `off` function is available that unbinds the drag's internal event handlers.
-    * Delegation is supported via the `delegate` function.
+inline.gfm = merge({}, inline.normal, {
+  escape: replace(inline.escape)('])', '~|])')(),
+  url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
+  del: /^~~(?=\S)([\s\S]*?\S)~~/,
+  text: replace(inline.text)
+    (']|', '~]|')
+    ('|', '|https?://|')
+    ()
+});
 
+/**
+ * GFM + Line Breaks Inline Grammar
  */
-iD.behavior.drag = function() {
-    function d3_eventCancel() {
-      d3.event.stopPropagation();
-      d3.event.preventDefault();
-    }
-
-    var event = d3.dispatch("start", "move", "end"),
-        origin = null,
-        selector = '',
-        filter = null,
-        event_, target, surface;
 
-    event.of = function(thiz, argumentz) {
-      return function(e1) {
-        try {
-          var e0 = e1.sourceEvent = d3.event;
-          e1.target = drag;
-          d3.event = e1;
-          event[e1.type].apply(thiz, argumentz);
-        } finally {
-          d3.event = e0;
-        }
-      };
-    };
+inline.breaks = merge({}, inline.gfm, {
+  br: replace(inline.br)('{2,}', '*')(),
+  text: replace(inline.gfm.text)('{2,}', '*')()
+});
 
-    function mousedown() {
-        target = this,
-        event_ = event.of(target, arguments);
-        var eventTarget = d3.event.target,
-            touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null,
-            offset,
-            origin_ = point(),
-            moved = 0;
+/**
+ * Inline Lexer & Compiler
+ */
 
-        var w = d3.select(window)
-            .on(touchId !== null ? "touchmove.drag-" + touchId : "mousemove.drag", dragmove)
-            .on(touchId !== null ? "touchend.drag-" + touchId : "mouseup.drag", dragend, true);
+function InlineLexer(links, options) {
+  this.options = options || marked.defaults;
+  this.links = links;
+  this.rules = inline.normal;
 
-        if (origin) {
-            offset = origin.apply(target, arguments);
-            offset = [offset[0] - origin_[0], offset[1] - origin_[1]];
-        } else {
-            offset = [0, 0];
-        }
+  if (!this.links) {
+    throw new
+      Error('Tokens array requires a `links` property.');
+  }
 
-        if (touchId === null) d3_eventCancel();
+  if (this.options.gfm) {
+    if (this.options.breaks) {
+      this.rules = inline.breaks;
+    } else {
+      this.rules = inline.gfm;
+    }
+  } else if (this.options.pedantic) {
+    this.rules = inline.pedantic;
+  }
+}
 
-        function point() {
-            var p = target.parentNode || surface;
-            return touchId !== null ? d3.touches(p).filter(function(p) {
-                return p.identifier === touchId;
-            })[0] : d3.mouse(p);
-        }
+/**
+ * Expose Inline Rules
+ */
 
-        function dragmove() {
+InlineLexer.rules = inline;
 
-            var p = point(),
-                dx = p[0] - origin_[0],
-                dy = p[1] - origin_[1];
+/**
+ * Static Lexing/Compiling Method
+ */
 
-            if (!moved) {
-                event_({
-                    type: "start"
-                });
-            }
+InlineLexer.output = function(src, links, options) {
+  var inline = new InlineLexer(links, options);
+  return inline.output(src);
+};
 
-            moved |= dx | dy;
-            origin_ = p;
-            d3_eventCancel();
+/**
+ * Lexing/Compiling
+ */
 
-            event_({
-                type: "move",
-                point: [p[0] + offset[0],  p[1] + offset[1]],
-                delta: [dx, dy]
-            });
-        }
+InlineLexer.prototype.output = function(src) {
+  var out = ''
+    , link
+    , text
+    , href
+    , cap;
 
-        function dragend() {
-            if (moved) {
-                event_({
-                    type: "end"
-                });
-
-                d3_eventCancel();
-                if (d3.event.target === eventTarget) w.on("click.drag", click, true);
-            }
-
-            w.on(touchId !== null ? "touchmove.drag-" + touchId : "mousemove.drag", null)
-                .on(touchId !== null ? "touchend.drag-" + touchId : "mouseup.drag", null);
-        }
+  while (src) {
+    // escape
+    if (cap = this.rules.escape.exec(src)) {
+      src = src.substring(cap[0].length);
+      out += cap[1];
+      continue;
+    }
 
-        function click() {
-            d3_eventCancel();
-            w.on("click.drag", null);
-        }
+    // autolink
+    if (cap = this.rules.autolink.exec(src)) {
+      src = src.substring(cap[0].length);
+      if (cap[2] === '@') {
+        text = cap[1][6] === ':'
+          ? this.mangle(cap[1].substring(7))
+          : this.mangle(cap[1]);
+        href = this.mangle('mailto:') + text;
+      } else {
+        text = escape(cap[1]);
+        href = text;
+      }
+      out += '<a href="'
+        + href
+        + '">'
+        + text
+        + '</a>';
+      continue;
     }
 
-    var lastPos = [[0, 0], [0, 0]],
-        lastTimes = [0, 0];
+    // url (gfm)
+    if (cap = this.rules.url.exec(src)) {
+      src = src.substring(cap[0].length);
+      text = escape(cap[1]);
+      href = text;
+      out += '<a href="'
+        + href
+        + '">'
+        + text
+        + '</a>';
+      continue;
+    }
 
-    function move() {
-        lastPos.push([d3.event.clientX, d3.event.clientY]);
-        lastTimes.push((new Date()).getTime());
-        lastTimes.shift();
-        lastPos.shift();
+    // tag
+    if (cap = this.rules.tag.exec(src)) {
+      src = src.substring(cap[0].length);
+      out += this.options.sanitize
+        ? escape(cap[0])
+        : cap[0];
+      continue;
     }
 
-    function drag(selection) {
-        var matchesSelector = iD.util.prefixDOMProperty('matchesSelector'),
-            delegate = mousedown;
+    // link
+    if (cap = this.rules.link.exec(src)) {
+      src = src.substring(cap[0].length);
+      out += this.outputLink(cap, {
+        href: cap[2],
+        title: cap[3]
+      });
+      continue;
+    }
 
-        if (selector) {
-            delegate = function() {
+    // reflink, nolink
+    if ((cap = this.rules.reflink.exec(src))
+        || (cap = this.rules.nolink.exec(src))) {
+      src = src.substring(cap[0].length);
+      link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
+      link = this.links[link.toLowerCase()];
+      if (!link || !link.href) {
+        out += cap[0][0];
+        src = cap[0].substring(1) + src;
+        continue;
+      }
+      out += this.outputLink(cap, link);
+      continue;
+    }
 
-                var velocity = Math.sqrt(
-                        Math.pow(lastPos[0][0] - d3.event.clientX, 2),
-                        Math.pow(lastPos[0][1] - d3.event.clientY, 2)) /
-                    ((new Date()).getTime() - lastTimes[0]);
+    // strong
+    if (cap = this.rules.strong.exec(src)) {
+      src = src.substring(cap[0].length);
+      out += '<strong>'
+        + this.output(cap[2] || cap[1])
+        + '</strong>';
+      continue;
+    }
 
-                if (velocity > 0.05) return;
+    // em
+    if (cap = this.rules.em.exec(src)) {
+      src = src.substring(cap[0].length);
+      out += '<em>'
+        + this.output(cap[2] || cap[1])
+        + '</em>';
+      continue;
+    }
 
-                var root = this,
-                    target = d3.event.target;
-                for (; target && target !== root; target = target.parentNode) {
-                    if (target[matchesSelector](selector) &&
-                            (!filter || filter(target.__data__))) {
-                        return mousedown.call(target, target.__data__);
-                    }
-                }
-            };
-        }
+    // code
+    if (cap = this.rules.code.exec(src)) {
+      src = src.substring(cap[0].length);
+      out += '<code>'
+        + escape(cap[2], true)
+        + '</code>';
+      continue;
+    }
 
-        selection
-            .on("mousemove.drag" + selector, move)
-            .on("mousedown.drag" + selector, delegate)
-            .on("touchstart.drag" + selector, delegate);
+    // br
+    if (cap = this.rules.br.exec(src)) {
+      src = src.substring(cap[0].length);
+      out += '<br>';
+      continue;
     }
 
-    drag.off = function(selection) {
-        selection
-            .on("mousemove.drag" + selector, null)
-            .on("mousedown.drag" + selector, null)
-            .on("touchstart.drag" + selector, null);
-    };
+    // del (gfm)
+    if (cap = this.rules.del.exec(src)) {
+      src = src.substring(cap[0].length);
+      out += '<del>'
+        + this.output(cap[1])
+        + '</del>';
+      continue;
+    }
 
-    drag.delegate = function(_) {
-        if (!arguments.length) return selector;
-        selector = _;
-        return drag;
-    };
+    // text
+    if (cap = this.rules.text.exec(src)) {
+      src = src.substring(cap[0].length);
+      out += escape(cap[0]);
+      continue;
+    }
 
-    drag.filter = function(_) {
-        if (!arguments.length) return origin;
-        filter = _;
-        return drag;
-    };
+    if (src) {
+      throw new
+        Error('Infinite loop on byte: ' + src.charCodeAt(0));
+    }
+  }
 
-    drag.origin = function (_) {
-        if (!arguments.length) return origin;
-        origin = _;
-        return drag;
-    };
+  return out;
+};
 
-    drag.cancel = function() {
-        d3.select(window)
-            .on("mousemove.drag", null)
-            .on("mouseup.drag", null);
-        return drag;
-    };
+/**
+ * Compile Link
+ */
 
-    drag.target = function() {
-        if (!arguments.length) return target;
-        target = arguments[0];
-        event_ = event.of(target, Array.prototype.slice.call(arguments, 1));
-        return drag;
-    };
+InlineLexer.prototype.outputLink = function(cap, link) {
+  if (cap[0][0] !== '!') {
+    return '<a href="'
+      + escape(link.href)
+      + '"'
+      + (link.title
+      ? ' title="'
+      + escape(link.title)
+      + '"'
+      : '')
+      + '>'
+      + this.output(cap[1])
+      + '</a>';
+  } else {
+    return '<img src="'
+      + escape(link.href)
+      + '" alt="'
+      + escape(cap[1])
+      + '"'
+      + (link.title
+      ? ' title="'
+      + escape(link.title)
+      + '"'
+      : '')
+      + '>';
+  }
+};
 
-    drag.surface = function() {
-        if (!arguments.length) return surface;
-        surface = arguments[0];
-        return drag;
-    };
+/**
+ * Smartypants Transformations
+ */
 
-    return d3.rebind(drag, event, "on");
+InlineLexer.prototype.smartypants = function(text) {
+  if (!this.options.smartypants) return text;
+  return text
+    .replace(/--/g, '—')
+    .replace(/'([^']*)'/g, '‘$1’')
+    .replace(/"([^"]*)"/g, '“$1”')
+    .replace(/\.{3}/g, '…');
 };
-iD.behavior.Draw = function(context) {
-    var event = d3.dispatch('move', 'click', 'clickWay',
-        'clickNode', 'undo', 'cancel', 'finish'),
-        keybinding = d3.keybinding('draw'),
-        hover = iD.behavior.Hover().altDisables(true),
-        closeTolerance = 4,
-        tolerance = 12;
 
-    function datum() {
-        if (d3.event.altKey) return {};
-        else return d3.event.target.__data__ || {};
-    }
+/**
+ * Mangle Links
+ */
 
-    function mousedown() {
+InlineLexer.prototype.mangle = function(text) {
+  var out = ''
+    , l = text.length
+    , i = 0
+    , ch;
 
-        function point() {
-            var p = element.node().parentNode;
-            return touchId !== null ? d3.touches(p).filter(function(p) {
-                return p.identifier === touchId;
-            })[0] : d3.mouse(p);
-        }
+  for (; i < l; i++) {
+    ch = text.charCodeAt(i);
+    if (Math.random() > 0.5) {
+      ch = 'x' + ch.toString(16);
+    }
+    out += '&#' + ch + ';';
+  }
 
-        var eventTarget = d3.event.target,
-            element = d3.select(this),
-            touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null,
-            time = +new Date(),
-            pos = point();
+  return out;
+};
 
-        element.on('mousemove.draw', null);
+/**
+ * Parsing & Compiling
+ */
 
-        d3.select(window).on('mouseup.draw', function() {
-            element.on('mousemove.draw', mousemove);
-            if (iD.geo.dist(pos, point()) < closeTolerance ||
-                (iD.geo.dist(pos, point()) < tolerance &&
-                (+new Date() - time) < 500)) {
+function Parser(options) {
+  this.tokens = [];
+  this.token = null;
+  this.options = options || marked.defaults;
+}
 
-                // Prevent a quick second click
-                d3.select(window).on('click.draw-block', function() {
-                    d3.event.stopPropagation();
-                }, true);
+/**
+ * Static Parse Method
+ */
 
-                context.map().dblclickEnable(false);
+Parser.parse = function(src, options) {
+  var parser = new Parser(options);
+  return parser.parse(src);
+};
 
-                window.setTimeout(function() {
-                    context.map().dblclickEnable(true);
-                    d3.select(window).on('click.draw-block', null);
-                }, 500);
+/**
+ * Parse Loop
+ */
 
-                click();
-            }
-        });
-    }
+Parser.prototype.parse = function(src) {
+  this.inline = new InlineLexer(src.links, this.options);
+  this.tokens = src.reverse();
 
-    function mousemove() {
-        event.move(datum());
-    }
+  var out = '';
+  while (this.next()) {
+    out += this.tok();
+  }
 
-    function click() {
-        var d = datum();
-        if (d.type === 'way') {
-            var choice = iD.geo.chooseIndex(d, d3.mouse(context.surface().node()), context),
-                edge = [d.nodes[choice.index - 1], d.nodes[choice.index]];
-            event.clickWay(choice.loc, edge);
+  return out;
+};
 
-        } else if (d.type === 'node') {
-            event.clickNode(d);
+/**
+ * Next Token
+ */
 
-        } else {
-            event.click(context.map().mouseCoordinates());
-        }
-    }
+Parser.prototype.next = function() {
+  return this.token = this.tokens.pop();
+};
 
-    function backspace() {
-        d3.event.preventDefault();
-        event.undo();
-    }
+/**
+ * Preview Next Token
+ */
 
-    function del() {
-        d3.event.preventDefault();
-        event.cancel();
-    }
+Parser.prototype.peek = function() {
+  return this.tokens[this.tokens.length-1] || 0;
+};
 
-    function ret() {
-        d3.event.preventDefault();
-        event.finish();
-    }
+/**
+ * Parse Text Tokens
+ */
 
-    function draw(selection) {
-        context.install(hover);
+Parser.prototype.parseText = function() {
+  var body = this.token.text;
 
-        keybinding
-            .on('⌫', backspace)
-            .on('⌦', del)
-            .on('⎋', ret)
-            .on('↩', ret);
+  while (this.peek().type === 'text') {
+    body += '\n' + this.next().text;
+  }
 
-        selection
-            .on('mousedown.draw', mousedown)
-            .on('mousemove.draw', mousemove);
+  return this.inline.output(body);
+};
 
-        d3.select(document)
-            .call(keybinding);
+/**
+ * Parse Current Token
+ */
 
-        return draw;
+Parser.prototype.tok = function() {
+  switch (this.token.type) {
+    case 'space': {
+      return '';
+    }
+    case 'hr': {
+      return '<hr>\n';
+    }
+    case 'heading': {
+      return '<h'
+        + this.token.depth
+        + '>'
+        + this.inline.output(this.token.text)
+        + '</h'
+        + this.token.depth
+        + '>\n';
     }
+    case 'code': {
+      if (this.options.highlight) {
+        var code = this.options.highlight(this.token.text, this.token.lang);
+        if (code != null && code !== this.token.text) {
+          this.token.escaped = true;
+          this.token.text = code;
+        }
+      }
 
-    draw.off = function(selection) {
-        context.uninstall(hover);
+      if (!this.token.escaped) {
+        this.token.text = escape(this.token.text, true);
+      }
 
-        selection
-            .on('mousedown.draw', null)
-            .on('mousemove.draw', null);
+      return '<pre><code'
+        + (this.token.lang
+        ? ' class="'
+        + this.options.langPrefix
+        + this.token.lang
+        + '"'
+        : '')
+        + '>'
+        + this.token.text
+        + '</code></pre>\n';
+    }
+    case 'table': {
+      var body = ''
+        , heading
+        , i
+        , row
+        , cell
+        , j;
 
-        d3.select(window)
-            .on('mouseup.draw', null);
+      // header
+      body += '<thead>\n<tr>\n';
+      for (i = 0; i < this.token.header.length; i++) {
+        heading = this.inline.output(this.token.header[i]);
+        body += this.token.align[i]
+          ? '<th align="' + this.token.align[i] + '">' + heading + '</th>\n'
+          : '<th>' + heading + '</th>\n';
+      }
+      body += '</tr>\n</thead>\n';
 
-        d3.select(document)
-            .call(keybinding.off);
-    };
+      // body
+      body += '<tbody>\n'
+      for (i = 0; i < this.token.cells.length; i++) {
+        row = this.token.cells[i];
+        body += '<tr>\n';
+        for (j = 0; j < row.length; j++) {
+          cell = this.inline.output(row[j]);
+          body += this.token.align[j]
+            ? '<td align="' + this.token.align[j] + '">' + cell + '</td>\n'
+            : '<td>' + cell + '</td>\n';
+        }
+        body += '</tr>\n';
+      }
+      body += '</tbody>\n';
 
-    return d3.rebind(draw, event, 'on');
-};
-iD.behavior.DrawWay = function(context, wayId, index, mode, baseGraph) {
-    var way = context.entity(wayId),
-        isArea = way.geometry() === 'area',
-        finished = false,
-        annotation = t((way.isDegenerate() ?
-            'operations.start.annotation.' :
-            'operations.continue.annotation.') + context.geometry(wayId)),
-        draw = iD.behavior.Draw(context);
+      return '<table>\n'
+        + body
+        + '</table>\n';
+    }
+    case 'blockquote_start': {
+      var body = '';
 
-    var startIndex = typeof index === 'undefined' ? way.nodes.length - 1 : 0,
-        start = iD.Node({loc: context.graph().entity(way.nodes[startIndex]).loc}),
-        end = iD.Node({loc: context.map().mouseCoordinates()}),
-        segment = iD.Way({
-            nodes: [start.id, end.id],
-            tags: _.clone(way.tags)
-        });
+      while (this.next().type !== 'blockquote_end') {
+        body += this.tok();
+      }
 
-    var f = context[way.isDegenerate() ? 'replace' : 'perform'];
-    if (isArea) {
-        f(iD.actions.AddEntity(end),
-            iD.actions.AddVertex(wayId, end.id, index));
-    } else {
-        f(iD.actions.AddEntity(start),
-            iD.actions.AddEntity(end),
-            iD.actions.AddEntity(segment));
+      return '<blockquote>\n'
+        + body
+        + '</blockquote>\n';
     }
+    case 'list_start': {
+      var type = this.token.ordered ? 'ol' : 'ul'
+        , body = '';
 
-    function move(datum) {
-        var loc = context.map().mouseCoordinates();
-
-        if (datum.id === end.id || datum.id === segment.id) {
-            context.surface().selectAll('.way, .node')
-                .filter(function(d) {
-                    return d.id === end.id || d.id === segment.id;
-                })
-                .classed('active', true);
-        } else if (datum.type === 'node') {
-            loc = datum.loc;
-        } else if (datum.type === 'way') {
-            loc = iD.geo.chooseIndex(datum, d3.mouse(context.surface().node()), context).loc;
-        }
+      while (this.next().type !== 'list_end') {
+        body += this.tok();
+      }
 
-        context.replace(iD.actions.MoveNode(end.id, loc));
+      return '<'
+        + type
+        + '>\n'
+        + body
+        + '</'
+        + type
+        + '>\n';
     }
+    case 'list_item_start': {
+      var body = '';
 
-    function undone() {
-        finished = true;
-        context.enter(iD.modes.Browse(context));
-    }
+      while (this.next().type !== 'list_item_end') {
+        body += this.token.type === 'text'
+          ? this.parseText()
+          : this.tok();
+      }
 
-    function lineActives(d) {
-        return d.id === segment.id || d.id === start.id || d.id === end.id;
+      return '<li>'
+        + body
+        + '</li>\n';
     }
+    case 'loose_item_start': {
+      var body = '';
 
-    function areaActives(d) {
-        return d.id === wayId || d.id === end.id;
-    }
+      while (this.next().type !== 'list_item_end') {
+        body += this.tok();
+      }
 
-    var drawWay = function(surface) {
-        draw.on('move', move)
-            .on('click', drawWay.add)
-            .on('clickWay', drawWay.addWay)
-            .on('clickNode', drawWay.addNode)
-            .on('undo', context.undo)
-            .on('cancel', drawWay.cancel)
-            .on('finish', drawWay.finish);
+      return '<li>'
+        + body
+        + '</li>\n';
+    }
+    case 'html': {
+      return !this.token.pre && !this.options.pedantic
+        ? this.inline.output(this.token.text)
+        : this.token.text;
+    }
+    case 'paragraph': {
+      return '<p>'
+        + this.inline.output(this.token.text)
+        + '</p>\n';
+    }
+    case 'text': {
+      return '<p>'
+        + this.parseText()
+        + '</p>\n';
+    }
+  }
+};
 
-        context.map()
-            .minzoom(16)
-            .dblclickEnable(false);
+/**
+ * Helpers
+ */
 
-        surface.call(draw)
-          .selectAll('.way, .node')
-            .filter(isArea ? areaActives : lineActives)
-            .classed('active', true);
+function escape(html, encode) {
+  return html
+    .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&amp;')
+    .replace(/</g, '&lt;')
+    .replace(/>/g, '&gt;')
+    .replace(/"/g, '&quot;')
+    .replace(/'/g, '&#39;');
+}
 
-        context.history()
-            .on('undone.draw', undone);
-    };
+function replace(regex, opt) {
+  regex = regex.source;
+  opt = opt || '';
+  return function self(name, val) {
+    if (!name) return new RegExp(regex, opt);
+    val = val.source || val;
+    val = val.replace(/(^|[^\[])\^/g, '$1');
+    regex = regex.replace(name, val);
+    return self;
+  };
+}
 
-    drawWay.off = function(surface) {
-        if (!finished)
-            context.pop();
+function noop() {}
+noop.exec = noop;
 
-        context.map()
-            .minzoom(0)
-            .tail(false);
+function merge(obj) {
+  var i = 1
+    , target
+    , key;
 
-        surface.call(draw.off)
-          .selectAll('.way, .node')
-            .classed('active', false);
+  for (; i < arguments.length; i++) {
+    target = arguments[i];
+    for (key in target) {
+      if (Object.prototype.hasOwnProperty.call(target, key)) {
+        obj[key] = target[key];
+      }
+    }
+  }
 
-        context.history()
-            .on('undone.draw', null);
-    };
+  return obj;
+}
 
-    function ReplaceTemporaryNode(newNode) {
-        return function(graph) {
-            if (isArea) {
-                return graph
-                    .replace(way.removeNode(end.id).addNode(newNode.id, index))
-                    .remove(end);
+/**
+ * Marked
+ */
 
-            } else {
-                return graph
-                    .replace(graph.entity(wayId).addNode(newNode.id, index))
-                    .remove(end)
-                    .remove(segment)
-                    .remove(start);
-            }
-        };
+function marked(src, opt, callback) {
+  if (callback || typeof opt === 'function') {
+    if (!callback) {
+      callback = opt;
+      opt = null;
     }
 
-    // Accept the current position of the temporary node and continue drawing.
-    drawWay.add = function(loc) {
-
-        // prevent duplicate nodes
-        var last = context.entity(way.nodes[way.nodes.length - (isArea ? 2 : 1)]);
-        if (last && last.loc[0] === loc[0] && last.loc[1] === loc[1]) return;
+    if (opt) opt = merge({}, marked.defaults, opt);
 
-        var newNode = iD.Node({loc: loc});
+    var tokens = Lexer.lex(tokens, opt)
+      , highlight = opt.highlight
+      , pending = 0
+      , l = tokens.length
+      , i = 0;
 
-        context.replace(
-            iD.actions.AddEntity(newNode),
-            ReplaceTemporaryNode(newNode),
-            annotation);
+    if (!highlight || highlight.length < 3) {
+      return callback(null, Parser.parse(tokens, opt));
+    }
 
-        finished = true;
-        context.enter(mode);
+    var done = function() {
+      delete opt.highlight;
+      var out = Parser.parse(tokens, opt);
+      opt.highlight = highlight;
+      return callback(null, out);
     };
 
-    // Connect the way to an existing way.
-    drawWay.addWay = function(loc, edge) {
-        var newNode = iD.Node({ loc: loc });
+    for (; i < l; i++) {
+      (function(token) {
+        if (token.type !== 'code') return;
+        pending++;
+        return highlight(token.text, token.lang, function(err, code) {
+          if (code == null || code === token.text) {
+            return --pending || done();
+          }
+          token.text = code;
+          token.escaped = true;
+          --pending || done();
+        });
+      })(tokens[i]);
+    }
 
-        context.perform(
-            iD.actions.AddMidpoint({ loc: loc, edge: edge}, newNode),
-            ReplaceTemporaryNode(newNode),
-            annotation);
+    return;
+  }
+  try {
+    if (opt) opt = merge({}, marked.defaults, opt);
+    return Parser.parse(Lexer.lex(src, opt), opt);
+  } catch (e) {
+    e.message += '\nPlease report this to https://github.com/chjj/marked.';
+    if ((opt || marked.defaults).silent) {
+      return '<p>An error occured:</p><pre>'
+        + escape(e.message + '', true)
+        + '</pre>';
+    }
+    throw e;
+  }
+}
 
-        finished = true;
-        context.enter(mode);
-    };
+/**
+ * Options
+ */
 
-    // Connect the way to an existing node and continue drawing.
-    drawWay.addNode = function(node) {
+marked.options =
+marked.setOptions = function(opt) {
+  merge(marked.defaults, opt);
+  return marked;
+};
 
-        // Avoid creating duplicate segments
-        if (way.areAdjacent(node.id, way.nodes[way.nodes.length - 1])) return;
+marked.defaults = {
+  gfm: true,
+  tables: true,
+  breaks: false,
+  pedantic: false,
+  sanitize: false,
+  smartLists: false,
+  silent: false,
+  highlight: null,
+  langPrefix: 'lang-'
+};
 
-        context.perform(
-            ReplaceTemporaryNode(node),
-            annotation);
+/**
+ * Expose
+ */
 
-        finished = true;
-        context.enter(mode);
-    };
+marked.Parser = Parser;
+marked.parser = Parser.parse;
 
-    // Finish the draw operation, removing the temporary node. If the way has enough
-    // nodes to be valid, it's selected. Otherwise, return to browse mode.
-    drawWay.finish = function() {
-        context.pop();
-        finished = true;
+marked.Lexer = Lexer;
+marked.lexer = Lexer.lex;
 
-        window.setTimeout(function() {
-            context.map().dblclickEnable(true);
-        }, 1000);
+marked.InlineLexer = InlineLexer;
+marked.inlineLexer = InlineLexer.output;
 
-        var way = context.entity(wayId);
-        if (way) {
-            context.enter(iD.modes.Select(context, [way.id]).newFeature(true));
-        } else {
-            context.enter(iD.modes.Browse(context));
+marked.parse = marked;
+
+if (typeof exports === 'object') {
+  module.exports = marked;
+} else if (typeof define === 'function' && define.amd) {
+  define(function() { return marked; });
+} else {
+  this.marked = marked;
+}
+
+}).call(function() {
+  return this || (typeof window !== 'undefined' ? window : global);
+}());
+(function () {
+'use strict';
+window.iD = function () {
+    window.locale.en = iD.data.en;
+    window.locale.current('en');
+
+    var context = {},
+        storage;
+
+    // https://github.com/openstreetmap/iD/issues/772
+    // http://mathiasbynens.be/notes/localstorage-pattern#comment-9
+    try { storage = localStorage; } catch (e) {}  // eslint-disable-line no-empty
+    storage = storage || (function() {
+        var s = {};
+        return {
+            getItem: function(k) { return s[k]; },
+            setItem: function(k, v) { s[k] = v; },
+            removeItem: function(k) { delete s[k]; }
+        };
+    })();
+
+    context.storage = function(k, v) {
+        try {
+            if (arguments.length === 1) return storage.getItem(k);
+            else if (v === null) storage.removeItem(k);
+            else storage.setItem(k, v);
+        } catch(e) {
+            // localstorage quota exceeded
+            /* eslint-disable no-console */
+            if (typeof console !== 'undefined') console.error('localStorage quota exceeded');
+            /* eslint-enable no-console */
         }
     };
 
-    // Cancel the draw operation and return to browse, deleting everything drawn.
-    drawWay.cancel = function() {
-        context.perform(
-            d3.functor(baseGraph),
-            t('operations.cancel_draw.annotation'));
+    /* Accessor for setting minimum zoom for editing features. */
 
-        window.setTimeout(function() {
-            context.map().dblclickEnable(true);
-        }, 1000);
+    var minEditableZoom = 16;
+    context.minEditableZoom = function(_) {
+        if (!arguments.length) return minEditableZoom;
+        minEditableZoom = _;
+        connection.tileZoom(_);
+        return context;
+    };
 
-        finished = true;
-        context.enter(iD.modes.Browse(context));
+    var history = iD.History(context),
+        dispatch = d3.dispatch('enter', 'exit'),
+        mode,
+        container,
+        ui = iD.ui(context),
+        connection = iD.Connection(),
+        locale = iD.detect().locale,
+        localePath;
+
+    if (locale && iD.data.locales.indexOf(locale) === -1) {
+        locale = locale.split('-')[0];
+    }
+
+    context.preauth = function(options) {
+        connection.switch(options);
+        return context;
     };
 
-    return drawWay;
-};
-iD.behavior.Hash = function(context) {
-    var s0 = null, // cached location.hash
-        lat = 90 - 1e-8; // allowable latitude range
+    context.locale = function(loc, path) {
+        locale = loc;
+        localePath = path;
 
-    var parser = function(map, s) {
-        var q = iD.util.stringQs(s);
-        var args = (q.map || '').split("/").map(Number);
-        if (args.length < 3 || args.some(isNaN)) {
-            return true; // replace bogus hash
-        } else if (s !== formatter(map).slice(1)) {
-            map.centerZoom([args[1],
-                Math.min(lat, Math.max(-lat, args[2]))], args[0]);
+        // Also set iD.detect().locale (unless we detected 'en-us' and openstreetmap wants 'en')..
+        if (!(loc.toLowerCase() === 'en' && iD.detect().locale.toLowerCase() === 'en-us')) {
+            iD.detect().locale = loc;
         }
+
+        return context;
     };
 
-    var formatter = function(map) {
-        var center = map.center(),
-            zoom = map.zoom(),
-            precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
-        var q = iD.util.stringQs(location.hash.substring(1));
-        return '#' + iD.util.qsString(_.assign(q, {
-                map: zoom.toFixed(2) +
-                    '/' + center[0].toFixed(precision) +
-                    '/' + center[1].toFixed(precision)
-            }), true);
+    context.loadLocale = function(cb) {
+        if (locale && locale !== 'en' && iD.data.locales.indexOf(locale) !== -1) {
+            localePath = localePath || context.assetPath() + 'locales/' + locale + '.json';
+            d3.json(localePath, function(err, result) {
+                window.locale[locale] = result;
+                window.locale.current(locale);
+                cb();
+            });
+        } else {
+            cb();
+        }
     };
 
-    var move = _.throttle(function() {
-        var s1 = formatter(context.map());
-        if (s0 !== s1) location.replace(s0 = s1); // don't recenter the map!
-    }, 500);
+    /* Straight accessors. Avoid using these if you can. */
+    context.ui = function() { return ui; };
+    context.connection = function() { return connection; };
+    context.history = function() { return history; };
 
-    function hashchange() {
-        if (location.hash === s0) return; // ignore spurious hashchange events
-        if (parser(context.map(), (s0 = location.hash).substring(1))) {
-            move(); // replace bogus hash
-        }
+    /* Connection */
+    function entitiesLoaded(err, result) {
+        if (!err) history.merge(result.data, result.extent);
     }
 
-    // the hash can declare that the map should select a feature, but it can
-    // do so before any features are loaded. thus wait for the feature to
-    // be loaded and then select
-    function willselect(id) {
-        context.map().on('drawn.hash', function() {
-            if (!context.entity(id)) return;
-            selectoff();
+    context.loadTiles = function(projection, dimensions, callback) {
+        function done(err, result) {
+            entitiesLoaded(err, result);
+            if (callback) callback(err, result);
+        }
+        connection.loadTiles(projection, dimensions, done);
+    };
+
+    context.loadEntity = function(id, callback) {
+        function done(err, result) {
+            entitiesLoaded(err, result);
+            if (callback) callback(err, result);
+        }
+        connection.loadEntity(id, done);
+    };
+
+    context.zoomToEntity = function(id, zoomTo) {
+        if (zoomTo !== false) {
+            this.loadEntity(id, function(err, result) {
+                if (err) return;
+                var entity = _.find(result.data, function(e) { return e.id === id; });
+                if (entity) { map.zoomTo(entity); }
+            });
+        }
+
+        map.on('drawn.zoomToEntity', function() {
+            if (!context.hasEntity(id)) return;
+            map.on('drawn.zoomToEntity', null);
+            context.on('enter.zoomToEntity', null);
             context.enter(iD.modes.Select(context, [id]));
         });
 
-        context.on('enter.hash', function() {
-            if (context.mode().id !== 'browse') selectoff();
+        context.on('enter.zoomToEntity', function() {
+            if (mode.id !== 'browse') {
+                map.on('drawn.zoomToEntity', null);
+                context.on('enter.zoomToEntity', null);
+            }
         });
-    }
+    };
 
-    function selectoff() {
-        context.map().on('drawn.hash', null);
-    }
+    /* History */
+    context.graph = history.graph;
+    context.changes = history.changes;
+    context.intersects = history.intersects;
 
-    function hash() {
-        context.map()
-            .on('move.hash', move);
+    var inIntro = false;
 
-        d3.select(window)
-            .on('hashchange.hash', hashchange);
+    context.inIntro = function(_) {
+        if (!arguments.length) return inIntro;
+        inIntro = _;
+        return context;
+    };
 
-        if (location.hash) {
-            var q = iD.util.stringQs(location.hash.substring(1));
-            if (q.id) willselect(q.id);
-            hashchange();
-            if (q.map) hash.hadHash = true;
-        }
+    context.save = function() {
+        if (inIntro || (mode && mode.id === 'save')) return;
+        history.save();
+        if (history.hasChanges()) return t('save.unsaved_changes');
+    };
+
+    context.flush = function() {
+        connection.flush();
+        features.reset();
+        history.reset();
+        return context;
+    };
+
+    // Debounce save, since it's a synchronous localStorage write,
+    // and history changes can happen frequently (e.g. when dragging).
+    var debouncedSave = _.debounce(context.save, 350);
+    function withDebouncedSave(fn) {
+        return function() {
+            var result = fn.apply(history, arguments);
+            debouncedSave();
+            return result;
+        };
     }
 
-    hash.off = function() {
-        context.map()
-            .on('move.hash', null);
+    context.perform = withDebouncedSave(history.perform);
+    context.replace = withDebouncedSave(history.replace);
+    context.pop = withDebouncedSave(history.pop);
+    context.overwrite = withDebouncedSave(history.overwrite);
+    context.undo = withDebouncedSave(history.undo);
+    context.redo = withDebouncedSave(history.redo);
 
-        d3.select(window)
-            .on('hashchange.hash', null);
+    /* Graph */
+    context.hasEntity = function(id) {
+        return history.graph().hasEntity(id);
+    };
 
-        location.hash = "";
+    context.entity = function(id) {
+        return history.graph().entity(id);
     };
 
-    return hash;
-};
-/*
-   The hover behavior adds the `.hover` class on mouseover to all elements to which
-   the identical datum is bound, and removes it on mouseout.
+    context.childNodes = function(way) {
+        return history.graph().childNodes(way);
+    };
 
-   The :hover pseudo-class is insufficient for iD's purposes because a datum's visual
-   representation may consist of several elements scattered throughout the DOM hierarchy.
-   Only one of these elements can have the :hover pseudo-class, but all of them will
-   have the .hover class.
- */
-iD.behavior.Hover = function() {
-    var selection,
-        altDisables;
+    context.geometry = function(id) {
+        return context.entity(id).geometry(history.graph());
+    };
 
-    function keydown() {
-        if (altDisables && d3.event.keyCode === d3.keybinding.modifierCodes.alt) {
-            selection.classed('behavior-hover', false);
+    /* Modes */
+    context.enter = function(newMode) {
+        if (mode) {
+            mode.exit();
+            dispatch.exit(mode);
         }
-    }
 
-    function keyup() {
-        if (altDisables && d3.event.keyCode === d3.keybinding.modifierCodes.alt) {
-            selection.classed('behavior-hover', true);
-        }
-    }
+        mode = newMode;
+        mode.enter();
+        dispatch.enter(mode);
+    };
 
-    var hover = function(__) {
-        selection = __;
+    context.mode = function() {
+        return mode;
+    };
 
-        if (!altDisables || !d3.event || !d3.event.altKey) {
-            selection.classed('behavior-hover', true);
+    context.selectedIDs = function() {
+        if (mode && mode.selectedIDs) {
+            return mode.selectedIDs();
+        } else {
+            return [];
         }
+    };
 
-        function mouseover() {
-            var datum = d3.event.target.__data__;
+    /* Behaviors */
+    context.install = function(behavior) {
+        context.surface().call(behavior);
+    };
 
-            if (datum) {
-                var hovered = [datum.id];
+    context.uninstall = function(behavior) {
+        context.surface().call(behavior.off);
+    };
 
-                if (datum.type === 'relation') {
-                    hovered = hovered.concat(_.pluck(datum.members, 'id'));
-                }
+    /* Copy/Paste */
+    var copyIDs = [], copyGraph;
+    context.copyGraph = function() { return copyGraph; };
+    context.copyIDs = function(_) {
+        if (!arguments.length) return copyIDs;
+        copyIDs = _;
+        copyGraph = history.graph();
+        return context;
+    };
 
-                hovered = d3.set(hovered);
+    /* Projection */
+    context.projection = iD.geo.RawMercator();
 
-                selection.selectAll('*')
-                    .filter(function(d) { return d && hovered.has(d.id); })
-                    .classed('hover', true);
-            }
-        }
+    /* Background */
+    var background = iD.Background(context);
+    context.background = function() { return background; };
 
-        selection.on('mouseover.hover', mouseover);
+    /* Features */
+    var features = iD.Features(context);
+    context.features = function() { return features; };
+    context.hasHiddenConnections = function(id) {
+        var graph = history.graph(),
+            entity = graph.entity(id);
+        return features.hasHiddenConnections(entity, graph);
+    };
 
-        selection.on('mouseout.hover', function() {
-            selection.selectAll('.hover')
-                .classed('hover', false);
-        });
+    /* Map */
+    var map = iD.Map(context);
+    context.map = function() { return map; };
+    context.layers = function() { return map.layers; };
+    context.surface = function() { return map.surface; };
+    context.editable = function() { return map.editable(); };
+    context.mouse = map.mouse;
+    context.extent = map.extent;
+    context.pan = map.pan;
+    context.zoomIn = map.zoomIn;
+    context.zoomOut = map.zoomOut;
+    context.zoomInFurther = map.zoomInFurther;
+    context.zoomOutFurther = map.zoomOutFurther;
 
-        d3.select(document)
-            .on('keydown.hover', keydown)
-            .on('keyup.hover', keyup);
+    context.surfaceRect = function() {
+        // Work around a bug in Firefox.
+        //   http://stackoverflow.com/questions/18153989/
+        //   https://bugzilla.mozilla.org/show_bug.cgi?id=530985
+        return context.surface().node().parentNode.getBoundingClientRect();
     };
 
-    hover.off = function(selection) {
-        selection.classed('behavior-hover', false)
-            .on('mouseover.hover', null)
-            .on('mouseout.hover', null);
+    /* Presets */
+    var presets = iD.presets();
 
-        selection.selectAll('.hover')
-            .classed('hover', false);
+    context.presets = function(_) {
+        if (!arguments.length) return presets;
+        presets.load(_);
+        iD.areaKeys = presets.areaKeys();
+        return context;
+    };
 
-        d3.select(document)
-            .on('keydown.hover', null)
-            .on('keyup.hover', null);
+    context.imagery = function(_) {
+        background.load(_);
+        return context;
     };
 
-    hover.altDisables = function(_) {
-        if (!arguments.length) return altDisables;
-        altDisables = _;
-        return hover;
+    context.container = function(_) {
+        if (!arguments.length) return container;
+        container = _;
+        container.classed('id-container', true);
+        return context;
     };
 
-    return hover;
-};
-iD.behavior.Lasso = function(context) {
+    /* Taginfo */
+    var taginfo;
+    context.taginfo = function(_) {
+        if (!arguments.length) return taginfo;
+        taginfo = _;
+        return context;
+    };
 
-    var behavior = function(selection) {
+    var embed = false;
+    context.embed = function(_) {
+        if (!arguments.length) return embed;
+        embed = _;
+        return context;
+    };
 
-        var mouse = null,
-            lasso;
+    var assetPath = '';
+    context.assetPath = function(_) {
+        if (!arguments.length) return assetPath;
+        assetPath = _;
+        return context;
+    };
 
-        function mousedown() {
-            if (d3.event.shiftKey === true) {
+    var assetMap = {};
+    context.assetMap = function(_) {
+        if (!arguments.length) return assetMap;
+        assetMap = _;
+        return context;
+    };
 
-                mouse = d3.mouse(context.surface().node());
-                lasso = null;
+    context.imagePath = function(_) {
+        var asset = 'img/' + _;
+        return assetMap[asset] || assetPath + asset;
+    };
 
-                selection
-                    .on('mousemove.lasso', mousemove)
-                    .on('mouseup.lasso', mouseup);
+    return d3.rebind(context, dispatch, 'on');
+};
 
-                d3.event.stopPropagation();
-                d3.event.preventDefault();
+iD.version = '1.8.2';
 
-            }
-        }
+(function() {
+    var detected = {};
 
-        function mousemove() {
-            if (!lasso) {
-                lasso = iD.ui.Lasso(context).a(mouse);
-                context.surface().call(lasso);
-            }
+    var ua = navigator.userAgent,
+        m = null;
 
-            lasso.b(d3.mouse(context.surface().node()));
+    m = ua.match(/(edge)\/?\s*(\.?\d+(\.\d+)*)/i);   // Edge
+    if (m !== null) {
+        detected.browser = m[1];
+        detected.version = m[2];
+    }
+    if (!detected.browser) {
+        m = ua.match(/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/i);   // IE11
+        if (m !== null) {
+            detected.browser = 'msie';
+            detected.version = m[1];
         }
-
-        function normalize(a, b) {
-            return [
-                [Math.min(a[0], b[0]), Math.min(a[1], b[1])],
-                [Math.max(a[0], b[0]), Math.max(a[1], b[1])]];
+    }
+    if (!detected.browser) {
+        m = ua.match(/(opr)\/?\s*(\.?\d+(\.\d+)*)/i);   // Opera 15+
+        if (m !== null) {
+            detected.browser = 'Opera';
+            detected.version = m[2];
         }
+    }
+    if (!detected.browser) {
+        m = ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
+        if (m !== null) {
+            detected.browser = m[1];
+            detected.version = m[2];
+            m = ua.match(/version\/([\.\d]+)/i);
+            if (m !== null) detected.version = m[1];
+        }
+    }
+    if (!detected.browser) {
+        detected.browser = navigator.appName;
+        detected.version = navigator.appVersion;
+    }
 
-        function mouseup() {
+    // keep major.minor version only..
+    detected.version = detected.version.split(/\W/).slice(0,2).join('.');
 
-            selection
-                .on('mousemove.lasso', null)
-                .on('mouseup.lasso', null);
+    if (detected.browser.toLowerCase() === 'msie') {
+        detected.ie = true;
+        detected.browser = 'Internet Explorer';
+        detected.support = parseFloat(detected.version) >= 11;
+    } else {
+        detected.ie = false;
+        detected.support = true;
+    }
 
-            if (!lasso) return;
+    // Added due to incomplete svg style support. See #715
+    detected.opera = (detected.browser.toLowerCase() === 'opera' && parseFloat(detected.version) < 15 );
 
-            var extent = iD.geo.Extent(
-                normalize(context.projection.invert(lasso.a()),
-                context.projection.invert(lasso.b())));
+    detected.locale = (navigator.languages && navigator.languages.length)
+        ? navigator.languages[0] : (navigator.language || navigator.userLanguage || 'en-US');
 
-            lasso.close();
+    detected.filedrop = (window.FileReader && 'ondrop' in window);
 
-            var selected = context.intersects(extent).filter(function (entity) {
-                return entity.type === 'node';
-            });
+    function nav(x) {
+        return navigator.userAgent.indexOf(x) !== -1;
+    }
 
-            if (selected.length) {
-                context.enter(iD.modes.Select(context, _.pluck(selected, 'id')));
-            }
-        }
+    if (nav('Win')) {
+        detected.os = 'win';
+        detected.platform = 'Windows';
+    }
+    else if (nav('Mac')) {
+        detected.os = 'mac';
+        detected.platform = 'Macintosh';
+    }
+    else if (nav('X11') || nav('Linux')) {
+        detected.os = 'linux';
+        detected.platform = 'Linux';
+    }
+    else {
+        detected.os = 'win';
+        detected.platform = 'Unknown';
+    }
 
-        selection
-            .on('mousedown.lasso', mousedown);
-    };
+    iD.detect = function() { return detected; };
+})();
+iD.countryCode  = function() {
+    var countryCode = {},
+        endpoint = 'https://nominatim.openstreetmap.org/reverse?';
 
-    behavior.off = function(selection) {
-        selection.on('mousedown.lasso', null);
-    };
+    if (!iD.countryCode.cache) {
+        iD.countryCode.cache = rbush();
+    }
 
-    return behavior;
-};
-iD.behavior.Select = function(context) {
-    function keydown() {
-        if (d3.event && d3.event.shiftKey) {
-            context.surface()
-                .classed('behavior-multiselect', true);
-        }
+    var cache = iD.countryCode.cache;
+
+    countryCode.search = function(location, callback) {
+        var countryCodes = cache.search([location[0], location[1], location[0], location[1]]);
+
+        if (countryCodes.length > 0)
+            return callback(null, countryCodes[0][4]);
+
+        d3.json(endpoint +
+            iD.util.qsString({
+                format: 'json',
+                addressdetails: 1,
+                lat: location[1],
+                lon: location[0]
+            }), function(err, result) {
+                if (err)
+                    return callback(err);
+                else if (result && result.error)
+                    return callback(result.error);
+
+                var extent = iD.geo.Extent(location).padByMeters(1000);
+
+                cache.insert([extent[0][0], extent[0][1], extent[1][0], extent[1][1], result.address.country_code]);
+
+                callback(null, result.address.country_code);
+            });
+    };
+
+    return countryCode;
+};
+iD.taginfo = function() {
+    var taginfo = {},
+        endpoint = 'https://taginfo.openstreetmap.org/api/4/',
+        tag_sorts = {
+            point: 'count_nodes',
+            vertex: 'count_nodes',
+            area: 'count_ways',
+            line: 'count_ways'
+        },
+        tag_filters = {
+            point: 'nodes',
+            vertex: 'nodes',
+            area: 'ways',
+            line: 'ways'
+        };
+
+    if (!iD.taginfo.cache) {
+        iD.taginfo.cache = {};
     }
 
-    function keyup() {
-        if (!d3.event || !d3.event.shiftKey) {
-            context.surface()
-                .classed('behavior-multiselect', false);
+    var cache = iD.taginfo.cache;
+
+    function sets(parameters, n, o) {
+        if (parameters.geometry && o[parameters.geometry]) {
+            parameters[n] = o[parameters.geometry];
         }
+        return parameters;
     }
 
-    function click() {
-        var datum = d3.event.target.__data__;
-        var lasso = d3.select('#surface .lasso').node();
-        if (!(datum instanceof iD.Entity)) {
-            if (!d3.event.shiftKey && !lasso)
-                context.enter(iD.modes.Browse(context));
+    function setFilter(parameters) {
+        return sets(parameters, 'filter', tag_filters);
+    }
 
-        } else if (!d3.event.shiftKey && !lasso) {
-            // Avoid re-entering Select mode with same entity.
-            if (context.selection().length !== 1 || context.selection()[0] !== datum.id) {
-                context.enter(iD.modes.Select(context, [datum.id]));
-            } else {
-                context.mode().reselect();
-            }
-        } else if (context.selection().indexOf(datum.id) >= 0) {
-            var selection = _.without(context.selection(), datum.id);
-            context.enter(selection.length ?
-                iD.modes.Select(context, selection) :
-                iD.modes.Browse(context));
+    function setSort(parameters) {
+        return sets(parameters, 'sortname', tag_sorts);
+    }
+
+    function clean(parameters) {
+        return _.omit(parameters, 'geometry', 'debounce');
+    }
+
+    function popularKeys(parameters) {
+        var pop_field = 'count_all';
+        if (parameters.filter) pop_field = 'count_' + parameters.filter;
+        return function(d) { return parseFloat(d[pop_field]) > 5000 || d.in_wiki; };
+    }
+
+    function popularValues() {
+        return function(d) { return parseFloat(d.fraction) > 0.01 || d.in_wiki; };
+    }
+
+    function valKey(d) { return { value: d.key }; }
+
+    function valKeyDescription(d) {
+        return {
+            value: d.value,
+            title: d.description
+        };
+    }
+
+    var debounced = _.debounce(d3.json, 100, true);
 
+    function request(url, debounce, callback) {
+        if (cache[url]) {
+            callback(null, cache[url]);
+        } else if (debounce) {
+            debounced(url, done);
         } else {
-            context.enter(iD.modes.Select(context, context.selection().concat([datum.id])));
+            d3.json(url, done);
         }
-    }
 
-    var behavior = function(selection) {
-        d3.select(window)
-            .on('keydown.select', keydown)
-            .on('keyup.select', keyup);
+        function done(err, data) {
+            if (!err) cache[url] = data;
+            callback(err, data);
+        }
+    }
 
-        selection.on('click.select', click);
+    taginfo.keys = function(parameters, callback) {
+        var debounce = parameters.debounce;
+        parameters = clean(setSort(parameters));
+        request(endpoint + 'keys/all?' +
+            iD.util.qsString(_.extend({
+                rp: 10,
+                sortname: 'count_all',
+                sortorder: 'desc',
+                page: 1
+            }, parameters)), debounce, function(err, d) {
+                if (err) return callback(err);
+                callback(null, d.data.filter(popularKeys(parameters)).map(valKey));
+            });
+    };
 
-        keydown();
+    taginfo.values = function(parameters, callback) {
+        var debounce = parameters.debounce;
+        parameters = clean(setSort(setFilter(parameters)));
+        request(endpoint + 'key/values?' +
+            iD.util.qsString(_.extend({
+                rp: 25,
+                sortname: 'count_all',
+                sortorder: 'desc',
+                page: 1
+            }, parameters)), debounce, function(err, d) {
+                if (err) return callback(err);
+                callback(null, d.data.filter(popularValues()).map(valKeyDescription), parameters);
+            });
     };
 
-    behavior.off = function(selection) {
-        d3.select(window)
-            .on('keydown.select', null)
-            .on('keyup.select', null);
+    taginfo.docs = function(parameters, callback) {
+        var debounce = parameters.debounce;
+        parameters = clean(setSort(parameters));
 
-        selection.on('click.select', null);
+        var path = 'key/wiki_pages?';
+        if (parameters.value) path = 'tag/wiki_pages?';
+        else if (parameters.rtype) path = 'relation/wiki_pages?';
 
-        keyup();
+        request(endpoint + path + iD.util.qsString(parameters), debounce, function(err, d) {
+            if (err) return callback(err);
+            callback(null, d.data);
+        });
     };
 
-    return behavior;
-};
-iD.modes = {};
-iD.modes.AddArea = function(context) {
-    var mode = {
-        id: 'add-area',
-        button: 'area',
-        title: t('modes.add_area.title'),
-        description: t('modes.add_area.description'),
-        key: '3'
+    taginfo.endpoint = function(_) {
+        if (!arguments.length) return endpoint;
+        endpoint = _;
+        return taginfo;
     };
 
-    var behavior = iD.behavior.AddWay(context)
-            .on('start', start)
-            .on('startFromWay', startFromWay)
-            .on('startFromNode', startFromNode),
-        defaultTags = {area: 'yes'};
+    return taginfo;
+};
+iD.wikipedia  = function() {
+    var wiki = {},
+        endpoint = 'https://en.wikipedia.org/w/api.php?';
 
-    function start(loc) {
-        var graph = context.graph(),
-            node = iD.Node({loc: loc}),
-            way = iD.Way({tags: defaultTags});
+    wiki.search = function(lang, query, callback) {
+        lang = lang || 'en';
+        d3.jsonp(endpoint.replace('en', lang) +
+            iD.util.qsString({
+                action: 'query',
+                list: 'search',
+                srlimit: '10',
+                srinfo: 'suggestion',
+                format: 'json',
+                callback: '{callback}',
+                srsearch: query
+            }), function(data) {
+                if (!data.query) return;
+                callback(query, data.query.search.map(function(d) {
+                    return d.title;
+                }));
+            });
+    };
 
-        context.perform(
-            iD.actions.AddEntity(node),
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddVertex(way.id, node.id));
+    wiki.suggestions = function(lang, query, callback) {
+        lang = lang || 'en';
+        d3.jsonp(endpoint.replace('en', lang) +
+            iD.util.qsString({
+                action: 'opensearch',
+                namespace: 0,
+                suggest: '',
+                format: 'json',
+                callback: '{callback}',
+                search: query
+            }), function(d) {
+                callback(d[0], d[1]);
+            });
+    };
 
-        context.enter(iD.modes.DrawArea(context, way.id, graph));
-    }
+    wiki.translations = function(lang, title, callback) {
+        d3.jsonp(endpoint.replace('en', lang) +
+            iD.util.qsString({
+                action: 'query',
+                prop: 'langlinks',
+                format: 'json',
+                callback: '{callback}',
+                lllimit: 500,
+                titles: title
+            }), function(d) {
+                var list = d.query.pages[Object.keys(d.query.pages)[0]],
+                    translations = {};
+                if (list && list.langlinks) {
+                    list.langlinks.forEach(function(d) {
+                        translations[d.lang] = d['*'];
+                    });
+                    callback(translations);
+                }
+            });
+    };
 
-    function startFromWay(loc, edge) {
-        var graph = context.graph(),
-            node = iD.Node({loc: loc}),
-            way = iD.Way({tags: defaultTags});
+    return wiki;
+};
+iD.util = {};
 
-        context.perform(
-            iD.actions.AddEntity(node),
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddMidpoint({ loc: loc, edge: edge }, node));
+iD.util.tagText = function(entity) {
+    return d3.entries(entity.tags).map(function(e) {
+        return e.key + '=' + e.value;
+    }).join(', ');
+};
 
-        context.enter(iD.modes.DrawArea(context, way.id, graph));
-    }
+iD.util.entitySelector = function(ids) {
+    return ids.length ? '.' + ids.join(',.') : 'nothing';
+};
 
-    function startFromNode(node) {
-        var graph = context.graph(),
-            way = iD.Way({tags: defaultTags});
+iD.util.entityOrMemberSelector = function(ids, graph) {
+    var s = iD.util.entitySelector(ids);
 
-        context.perform(
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddVertex(way.id, node.id));
+    ids.forEach(function(id) {
+        var entity = graph.hasEntity(id);
+        if (entity && entity.type === 'relation') {
+            entity.members.forEach(function(member) {
+                s += ',.' + member.id;
+            });
+        }
+    });
 
-        context.enter(iD.modes.DrawArea(context, way.id, graph));
-    }
+    return s;
+};
 
-    mode.enter = function() {
-        context.install(behavior);
-        context.tail(t('modes.add_area.tail'));
-    };
+iD.util.displayName = function(entity) {
+    var localeName = 'name:' + iD.detect().locale.toLowerCase().split('-')[0];
+    return entity.tags[localeName] || entity.tags.name || entity.tags.ref;
+};
 
-    mode.exit = function() {
-        context.uninstall(behavior);
-    };
+iD.util.displayType = function(id) {
+    return {
+        n: t('inspector.node'),
+        w: t('inspector.way'),
+        r: t('inspector.relation')
+    }[id.charAt(0)];
+};
 
-    return mode;
+iD.util.stringQs = function(str) {
+    return str.split('&').reduce(function(obj, pair){
+        var parts = pair.split('=');
+        if (parts.length === 2) {
+            obj[parts[0]] = (null === parts[1]) ? '' : decodeURIComponent(parts[1]);
+        }
+        return obj;
+    }, {});
 };
-iD.modes.AddLine = function(context) {
-    var mode = {
-        id: 'add-line',
-        button: 'line',
-        title: t('modes.add_line.title'),
-        description: t('modes.add_line.description'),
-        key: '2'
-    };
 
-    var behavior = iD.behavior.AddWay(context)
-            .on('start', start)
-            .on('startFromWay', startFromWay)
-            .on('startFromNode', startFromNode);
+iD.util.qsString = function(obj, noencode) {
+    function softEncode(s) {
+      // encode everything except special characters used in certain hash parameters:
+      // "/" in map states, ":", ",", {" and "}" in background
+      return encodeURIComponent(s).replace(/(%2F|%3A|%2C|%7B|%7D)/g, decodeURIComponent);
+    }
+    return Object.keys(obj).sort().map(function(key) {
+        return encodeURIComponent(key) + '=' + (
+            noencode ? softEncode(obj[key]) : encodeURIComponent(obj[key]));
+    }).join('&');
+};
 
-    function start(loc) {
-        var graph = context.graph(),
-            node = iD.Node({loc: loc}),
-            way = iD.Way();
+iD.util.prefixDOMProperty = function(property) {
+    var prefixes = ['webkit', 'ms', 'moz', 'o'],
+        i = -1,
+        n = prefixes.length,
+        s = document.body;
 
-        context.perform(
-            iD.actions.AddEntity(node),
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id));
+    if (property in s)
+        return property;
 
-        context.enter(iD.modes.DrawLine(context, way.id, 'forward', graph));
-    }
+    property = property.substr(0, 1).toUpperCase() + property.substr(1);
 
-    function startFromWay(loc, edge) {
-        var graph = context.graph(),
-            node = iD.Node({loc: loc}),
-            way = iD.Way();
+    while (++i < n)
+        if (prefixes[i] + property in s)
+            return prefixes[i] + property;
 
-        context.perform(
-            iD.actions.AddEntity(node),
-            iD.actions.AddEntity(way),
-            iD.actions.AddVertex(way.id, node.id),
-            iD.actions.AddMidpoint({ loc: loc, edge: edge }, node));
+    return false;
+};
 
-        context.enter(iD.modes.DrawLine(context, way.id, 'forward', graph));
-    }
+iD.util.prefixCSSProperty = function(property) {
+    var prefixes = ['webkit', 'ms', 'Moz', 'O'],
+        i = -1,
+        n = prefixes.length,
+        s = document.body.style;
 
-    function startFromNode(node) {
-        var graph = context.graph(),
-            parent = graph.parentWays(node)[0],
-            isLine = parent && parent.geometry(graph) === 'line';
+    if (property.toLowerCase() in s)
+        return property.toLowerCase();
 
-        if (isLine && parent.first() === node.id) {
-            context.enter(iD.modes.DrawLine(context, parent.id, 'backward', graph));
+    while (++i < n)
+        if (prefixes[i] + property in s)
+            return '-' + prefixes[i].toLowerCase() + property.replace(/([A-Z])/g, '-$1').toLowerCase();
 
-        } else if (isLine && parent.last() === node.id) {
-            context.enter(iD.modes.DrawLine(context, parent.id, 'forward', graph));
+    return false;
+};
 
-        } else {
-            var way = iD.Way();
 
-            context.perform(
-                iD.actions.AddEntity(way),
-                iD.actions.AddVertex(way.id, node.id));
+iD.util.setTransform = function(el, x, y, scale) {
+    var prop = iD.util.transformProperty = iD.util.transformProperty || iD.util.prefixCSSProperty('Transform'),
+        translate = iD.detect().opera ?
+            'translate('   + x + 'px,' + y + 'px)' :
+            'translate3d(' + x + 'px,' + y + 'px,0)';
+    return el.style(prop, translate + (scale ? ' scale(' + scale + ')' : ''));
+};
 
-            context.enter(iD.modes.DrawLine(context, way.id, 'forward', graph));
+iD.util.getStyle = function(selector) {
+    for (var i = 0; i < document.styleSheets.length; i++) {
+        var rules = document.styleSheets[i].rules || document.styleSheets[i].cssRules || [];
+        for (var k = 0; k < rules.length; k++) {
+            var selectorText = rules[k].selectorText && rules[k].selectorText.split(', ');
+            if (_.contains(selectorText, selector)) {
+                return rules[k];
+            }
         }
     }
+};
 
-    mode.enter = function() {
-        context.install(behavior);
-        context.tail(t('modes.add_line.tail'));
-    };
+iD.util.editDistance = function(a, b) {
+    if (a.length === 0) return b.length;
+    if (b.length === 0) return a.length;
+    var matrix = [];
+    for (var i = 0; i <= b.length; i++) { matrix[i] = [i]; }
+    for (var j = 0; j <= a.length; j++) { matrix[0][j] = j; }
+    for (i = 1; i <= b.length; i++) {
+        for (j = 1; j <= a.length; j++) {
+            if (b.charAt(i-1) === a.charAt(j-1)) {
+                matrix[i][j] = matrix[i-1][j-1];
+            } else {
+                matrix[i][j] = Math.min(matrix[i-1][j-1] + 1, // substitution
+                    Math.min(matrix[i][j-1] + 1, // insertion
+                    matrix[i-1][j] + 1)); // deletion
+            }
+        }
+    }
+    return matrix[b.length][a.length];
+};
 
-    mode.exit = function() {
-        context.uninstall(behavior);
+// a d3.mouse-alike which
+// 1. Only works on HTML elements, not SVG
+// 2. Does not cause style recalculation
+iD.util.fastMouse = function(container) {
+    var rect = container.getBoundingClientRect(),
+        rectLeft = rect.left,
+        rectTop = rect.top,
+        clientLeft = +container.clientLeft,
+        clientTop = +container.clientTop;
+    return function(e) {
+        return [
+            e.clientX - rectLeft - clientLeft,
+            e.clientY - rectTop - clientTop];
     };
-
-    return mode;
 };
-iD.modes.AddPoint = function(context) {
-    var mode = {
-        id: 'add-point',
-        title: t('modes.add_point.title'),
-        description: t('modes.add_point.description'),
-        key: '1'
-    };
 
-    var behavior = iD.behavior.Draw(context)
-        .on('click', add)
-        .on('clickWay', addWay)
-        .on('clickNode', addNode)
-        .on('cancel', cancel)
-        .on('finish', cancel);
+/* eslint-disable no-proto */
+iD.util.getPrototypeOf = Object.getPrototypeOf || function(obj) { return obj.__proto__; };
+/* eslint-enable no-proto */
 
-    function add(loc) {
-        var node = iD.Node({loc: loc});
+iD.util.asyncMap = function(inputs, func, callback) {
+    var remaining = inputs.length,
+        results = [],
+        errors = [];
 
-        context.perform(
-            iD.actions.AddEntity(node),
-            t('operations.add.annotation.point'));
+    inputs.forEach(function(d, i) {
+        func(d, function done(err, data) {
+            errors[i] = err;
+            results[i] = data;
+            remaining--;
+            if (!remaining) callback(errors, results);
+        });
+    });
+};
 
-        context.enter(iD.modes.Select(context, [node.id]).newFeature(true));
-    }
+// wraps an index to an interval [0..length-1]
+iD.util.wrap = function(index, length) {
+    if (index < 0)
+        index += Math.ceil(-index/length)*length;
+    return index % length;
+};
+// A per-domain session mutex backed by a cookie and dead man's
+// switch. If the session crashes, the mutex will auto-release
+// after 5 seconds.
 
-    function addWay(loc, edge) {
-        add(loc);
-    }
+iD.util.SessionMutex = function(name) {
+    var mutex = {},
+        intervalID;
 
-    function addNode(node) {
-        add(node.loc);
+    function renew() {
+        var expires = new Date();
+        expires.setSeconds(expires.getSeconds() + 5);
+        document.cookie = name + '=1; expires=' + expires.toUTCString();
     }
 
-    function cancel() {
-        context.enter(iD.modes.Browse(context));
-    }
+    mutex.lock = function() {
+        if (intervalID) return true;
+        var cookie = document.cookie.replace(new RegExp('(?:(?:^|.*;)\\s*' + name + '\\s*\\=\\s*([^;]*).*$)|^.*$'), '$1');
+        if (cookie) return false;
+        renew();
+        intervalID = window.setInterval(renew, 4000);
+        return true;
+    };
 
-    mode.enter = function() {
-        context.install(behavior);
-        context.tail(t('modes.add_point.tail'));
+    mutex.unlock = function() {
+        if (!intervalID) return;
+        document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:00 GMT';
+        clearInterval(intervalID);
+        intervalID = null;
     };
 
-    mode.exit = function() {
-        context.uninstall(behavior);
-        context.tail(false);
+    mutex.locked = function() {
+        return !!intervalID;
     };
 
-    return mode;
+    return mutex;
 };
-iD.modes.Browse = function(context) {
-    var mode = {
-        button: 'browse',
-        id: 'browse',
-        title: t('modes.browse.title'),
-        description: t('modes.browse.description'),
-        key: '1'
+iD.util.SuggestNames = function(preset, suggestions) {
+    preset = preset.id.split('/', 2);
+    var k = preset[0],
+        v = preset[1];
+
+    return function(value, callback) {
+        var result = [];
+        if (value && value.length > 2) {
+            if (suggestions[k] && suggestions[k][v]) {
+                for (var sugg in suggestions[k][v]) {
+                    var dist = iD.util.editDistance(value, sugg.substring(0, value.length));
+                    if (dist < 3) {
+                        result.push({
+                            title: sugg,
+                            value: sugg,
+                            dist: dist
+                        });
+                    }
+                }
+            }
+            result.sort(function(a, b) {
+                return a.dist - b.dist;
+            });
+        }
+        result = result.slice(0,3);
+        callback(result);
     };
+};
+iD.geo = {};
 
-    var behaviors = [
-        iD.behavior.Hover(),
-        iD.behavior.Select(context),
-        iD.behavior.Lasso(context),
-        iD.modes.DragNode(context).behavior];
+iD.geo.roundCoords = function(c) {
+    return [Math.floor(c[0]), Math.floor(c[1])];
+};
 
-    mode.enter = function() {
-        behaviors.forEach(function(behavior) {
-            context.install(behavior);
-        });
-    };
+iD.geo.interp = function(p1, p2, t) {
+    return [p1[0] + (p2[0] - p1[0]) * t,
+            p1[1] + (p2[1] - p1[1]) * t];
+};
 
-    mode.exit = function() {
-        behaviors.forEach(function(behavior) {
-            context.uninstall(behavior);
-        });
-    };
+// 2D cross product of OA and OB vectors, i.e. z-component of their 3D cross product.
+// Returns a positive value, if OAB makes a counter-clockwise turn,
+// negative for clockwise turn, and zero if the points are collinear.
+iD.geo.cross = function(o, a, b) {
+    return (a[0] - o[0]) * (b[1] - o[1]) - (a[1] - o[1]) * (b[0] - o[0]);
+};
 
-    return mode;
+// http://jsperf.com/id-dist-optimization
+iD.geo.euclideanDistance = function(a, b) {
+    var x = a[0] - b[0], y = a[1] - b[1];
+    return Math.sqrt((x * x) + (y * y));
 };
-iD.modes.DragNode = function(context) {
-    var mode = {
-        id: 'drag-node',
-        button: 'browse'
-    };
 
-    var nudgeInterval,
-        activeIDs,
-        wasMidpoint,
-        cancelled,
-        hover = iD.behavior.Hover().altDisables(true);
+// using WGS84 polar radius (6356752.314245179 m)
+// const = 2 * PI * r / 360
+iD.geo.latToMeters = function(dLat) {
+    return dLat * 110946.257617;
+};
 
-    function edge(point, size) {
-        var pad = [30, 100, 30, 100];
-        if (point[0] > size[0] - pad[0]) return [-10, 0];
-        else if (point[0] < pad[2]) return [10, 0];
-        else if (point[1] > size[1] - pad[1]) return [0, -10];
-        else if (point[1] < pad[3]) return [0, 10];
-        return null;
-    }
+// using WGS84 equatorial radius (6378137.0 m)
+// const = 2 * PI * r / 360
+iD.geo.lonToMeters = function(dLon, atLat) {
+    return Math.abs(atLat) >= 90 ? 0 :
+        dLon * 111319.490793 * Math.abs(Math.cos(atLat * (Math.PI/180)));
+};
 
-    function startNudge(nudge) {
-        if (nudgeInterval) window.clearInterval(nudgeInterval);
-        nudgeInterval = window.setInterval(function() {
-            context.pan(nudge);
-        }, 50);
-    }
+// using WGS84 polar radius (6356752.314245179 m)
+// const = 2 * PI * r / 360
+iD.geo.metersToLat = function(m) {
+    return m / 110946.257617;
+};
 
-    function stopNudge() {
-        if (nudgeInterval) window.clearInterval(nudgeInterval);
-        nudgeInterval = null;
-    }
+// using WGS84 equatorial radius (6378137.0 m)
+// const = 2 * PI * r / 360
+iD.geo.metersToLon = function(m, atLat) {
+    return Math.abs(atLat) >= 90 ? 0 :
+        m / 111319.490793 / Math.abs(Math.cos(atLat * (Math.PI/180)));
+};
 
-    function moveAnnotation(entity) {
-        return t('operations.move.annotation.' + entity.geometry(context.graph()));
-    }
+// Equirectangular approximation of spherical distances on Earth
+iD.geo.sphericalDistance = function(a, b) {
+    var x = iD.geo.lonToMeters(a[0] - b[0], (a[1] + b[1]) / 2),
+        y = iD.geo.latToMeters(a[1] - b[1]);
+    return Math.sqrt((x * x) + (y * y));
+};
 
-    function connectAnnotation(datum) {
-        return t('operations.connect.annotation.' + datum.geometry(context.graph()));
-    }
+iD.geo.edgeEqual = function(a, b) {
+    return (a[0] === b[0] && a[1] === b[1]) ||
+        (a[0] === b[1] && a[1] === b[0]);
+};
 
-    function origin(entity) {
-        return context.projection(entity.loc);
+// Return the counterclockwise angle in the range (-pi, pi)
+// between the positive X axis and the line intersecting a and b.
+iD.geo.angle = function(a, b, projection) {
+    a = projection(a.loc);
+    b = projection(b.loc);
+    return Math.atan2(b[1] - a[1], b[0] - a[0]);
+};
+
+// Choose the edge with the minimal distance from `point` to its orthogonal
+// projection onto that edge, if such a projection exists, or the distance to
+// the closest vertex on that edge. Returns an object with the `index` of the
+// chosen edge, the chosen `loc` on that edge, and the `distance` to to it.
+iD.geo.chooseEdge = function(nodes, point, projection) {
+    var dist = iD.geo.euclideanDistance,
+        points = nodes.map(function(n) { return projection(n.loc); }),
+        min = Infinity,
+        idx, loc;
+
+    function dot(p, q) {
+        return p[0] * q[0] + p[1] * q[1];
     }
 
-    function start(entity) {
-        cancelled = d3.event.sourceEvent.shiftKey;
-        if (cancelled) return behavior.cancel();
-
-        wasMidpoint = entity.type === 'midpoint';
-        if (wasMidpoint) {
-            var midpoint = entity;
-            entity = iD.Node();
-            context.perform(iD.actions.AddMidpoint(midpoint, entity));
-
-             var vertex = context.surface()
-                .selectAll('.vertex')
-                .filter(function(d) { return d.id === entity.id; });
-             behavior.target(vertex.node(), entity);
+    for (var i = 0; i < points.length - 1; i++) {
+        var o = points[i],
+            s = [points[i + 1][0] - o[0],
+                 points[i + 1][1] - o[1]],
+            v = [point[0] - o[0],
+                 point[1] - o[1]],
+            proj = dot(v, s) / dot(s, s),
+            p;
 
+        if (proj < 0) {
+            p = o;
+        } else if (proj > 1) {
+            p = points[i + 1];
         } else {
-            context.perform(
-                iD.actions.Noop());
+            p = [o[0] + proj * s[0], o[1] + proj * s[1]];
         }
 
-        activeIDs = _.pluck(context.graph().parentWays(entity), 'id');
-        activeIDs.push(entity.id);
-
-        context.enter(mode);
+        var d = dist(p, point);
+        if (d < min) {
+            min = d;
+            idx = i + 1;
+            loc = projection.invert(p);
+        }
     }
 
-    function datum() {
-        if (d3.event.sourceEvent.altKey) {
-            return {};
-        }
+    return {
+        index: idx,
+        distance: min,
+        loc: loc
+    };
+};
 
-        return d3.event.sourceEvent.target.__data__ || {};
+// Return the intersection point of 2 line segments.
+// From https://github.com/pgkelley4/line-segments-intersect
+// This uses the vector cross product approach described below:
+//  http://stackoverflow.com/a/565282/786339
+iD.geo.lineIntersection = function(a, b) {
+    function subtractPoints(point1, point2) {
+        return [point1[0] - point2[0], point1[1] - point2[1]];
+    }
+    function crossProduct(point1, point2) {
+        return point1[0] * point2[1] - point1[1] * point2[0];
     }
 
-    function move(entity) {
-        if (cancelled) return;
-        d3.event.sourceEvent.stopPropagation();
-
-        var nudge = edge(d3.event.point, context.map().size());
-        if (nudge) startNudge(nudge);
-        else stopNudge();
+    var p = [a[0][0], a[0][1]],
+        p2 = [a[1][0], a[1][1]],
+        q = [b[0][0], b[0][1]],
+        q2 = [b[1][0], b[1][1]],
+        r = subtractPoints(p2, p),
+        s = subtractPoints(q2, q),
+        uNumerator = crossProduct(subtractPoints(q, p), r),
+        denominator = crossProduct(r, s);
 
-        var loc = context.map().mouseCoordinates();
+    if (uNumerator && denominator) {
+        var u = uNumerator / denominator,
+            t = crossProduct(subtractPoints(q, p), s) / denominator;
 
-        var d = datum();
-        if (d.type === 'node' && d.id !== entity.id) {
-            loc = d.loc;
-        } else if (d.type === 'way') {
-            loc = iD.geo.chooseIndex(d, d3.mouse(context.surface().node()), context).loc;
+        if ((t >= 0) && (t <= 1) && (u >= 0) && (u <= 1)) {
+            return iD.geo.interp(p, p2, t);
         }
+    }
 
-        context.replace(
-            iD.actions.MoveNode(entity.id, loc),
-            t('operations.move.annotation.' + entity.geometry(context.graph())));
+    return null;
+};
+
+iD.geo.pathIntersections = function(path1, path2) {
+    var intersections = [];
+    for (var i = 0; i < path1.length - 1; i++) {
+        for (var j = 0; j < path2.length - 1; j++) {
+            var a = [ path1[i], path1[i+1] ],
+                b = [ path2[j], path2[j+1] ],
+                hit = iD.geo.lineIntersection(a, b);
+            if (hit) intersections.push(hit);
+        }
     }
+    return intersections;
+};
 
-    function end(entity) {
-        if (cancelled) return;
+// Return whether point is contained in polygon.
+//
+// `point` should be a 2-item array of coordinates.
+// `polygon` should be an array of 2-item arrays of coordinates.
+//
+// From https://github.com/substack/point-in-polygon.
+// ray-casting algorithm based on
+// http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html
+//
+iD.geo.pointInPolygon = function(point, polygon) {
+    var x = point[0],
+        y = point[1],
+        inside = false;
 
-        var d = datum();
+    for (var i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
+        var xi = polygon[i][0], yi = polygon[i][1];
+        var xj = polygon[j][0], yj = polygon[j][1];
 
-        if (d.type === 'way') {
-            var choice = iD.geo.chooseIndex(d, d3.mouse(context.surface().node()), context);
-            context.replace(
-                iD.actions.AddMidpoint({ loc: choice.loc, edge: [d.nodes[choice.index - 1], d.nodes[choice.index]] }, entity),
-                connectAnnotation(d));
+        var intersect = ((yi > y) !== (yj > y)) &&
+            (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
+        if (intersect) inside = !inside;
+    }
 
-        } else if (d.type === 'node' && d.id !== entity.id) {
-            context.replace(
-                iD.actions.Connect([entity.id, d.id]),
-                connectAnnotation(d));
+    return inside;
+};
 
-        } else if (wasMidpoint) {
-            context.replace(
-                iD.actions.Noop(),
-                t('operations.add.annotation.vertex'));
+iD.geo.polygonContainsPolygon = function(outer, inner) {
+    return _.every(inner, function(point) {
+        return iD.geo.pointInPolygon(point, outer);
+    });
+};
 
-        } else {
-            context.replace(
-                iD.actions.Noop(),
-                moveAnnotation(entity));
+iD.geo.polygonIntersectsPolygon = function(outer, inner, checkSegments) {
+    function testSegments(outer, inner) {
+        for (var i = 0; i < outer.length - 1; i++) {
+            for (var j = 0; j < inner.length - 1; j++) {
+                var a = [ outer[i], outer[i+1] ],
+                    b = [ inner[j], inner[j+1] ];
+                if (iD.geo.lineIntersection(a, b)) return true;
+            }
         }
-
-        context.enter(iD.modes.Browse(context));
+        return false;
     }
 
-    function cancel() {
-        behavior.cancel();
-        context.enter(iD.modes.Browse(context));
+    function testPoints(outer, inner) {
+        return _.some(inner, function(point) {
+            return iD.geo.pointInPolygon(point, outer);
+        });
     }
 
-    var behavior = iD.behavior.drag()
-        .delegate("g.node, g.point, g.midpoint")
-        .surface(context.surface().node())
-        .origin(origin)
-        .on('start', start)
-        .on('move', move)
-        .on('end', end);
-
-    mode.enter = function() {
-        context.install(hover);
+   return testPoints(outer, inner) || (!!checkSegments && testSegments(outer, inner));
+};
 
-        context.history()
-            .on('undone.drag-node', cancel);
+iD.geo.pathLength = function(path) {
+    var length = 0,
+        dx, dy;
+    for (var i = 0; i < path.length - 1; i++) {
+        dx = path[i][0] - path[i + 1][0];
+        dy = path[i][1] - path[i + 1][1];
+        length += Math.sqrt(dx * dx + dy * dy);
+    }
+    return length;
+};
+iD.geo.Extent = function geoExtent(min, max) {
+    if (!(this instanceof iD.geo.Extent)) return new iD.geo.Extent(min, max);
+    if (min instanceof iD.geo.Extent) {
+        return min;
+    } else if (min && min.length === 2 && min[0].length === 2 && min[1].length === 2) {
+        this[0] = min[0];
+        this[1] = min[1];
+    } else {
+        this[0] = min        || [ Infinity,  Infinity];
+        this[1] = max || min || [-Infinity, -Infinity];
+    }
+};
 
-        context.surface()
-            .selectAll('.node, .way')
-            .filter(function(d) { return activeIDs.indexOf(d.id) >= 0; })
-            .classed('active', true);
-    };
+iD.geo.Extent.prototype = new Array(2);
 
-    mode.exit = function() {
-        context.uninstall(hover);
+_.extend(iD.geo.Extent.prototype, {
+    equals: function (obj) {
+        return this[0][0] === obj[0][0] &&
+            this[0][1] === obj[0][1] &&
+            this[1][0] === obj[1][0] &&
+            this[1][1] === obj[1][1];
+    },
 
-        context.history()
-            .on('undone.drag-node', null);
+    extend: function(obj) {
+        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
+        return iD.geo.Extent([Math.min(obj[0][0], this[0][0]),
+                              Math.min(obj[0][1], this[0][1])],
+                             [Math.max(obj[1][0], this[1][0]),
+                              Math.max(obj[1][1], this[1][1])]);
+    },
 
-        context.surface()
-            .selectAll('.active')
-            .classed('active', false);
+    _extend: function(extent) {
+        this[0][0] = Math.min(extent[0][0], this[0][0]);
+        this[0][1] = Math.min(extent[0][1], this[0][1]);
+        this[1][0] = Math.max(extent[1][0], this[1][0]);
+        this[1][1] = Math.max(extent[1][1], this[1][1]);
+    },
 
-        stopNudge();
-    };
+    area: function() {
+        return Math.abs((this[1][0] - this[0][0]) * (this[1][1] - this[0][1]));
+    },
 
-    mode.behavior = behavior;
+    center: function() {
+        return [(this[0][0] + this[1][0]) / 2,
+                (this[0][1] + this[1][1]) / 2];
+    },
 
-    return mode;
-};
-iD.modes.DrawArea = function(context, wayId, baseGraph) {
-    var mode = {
-        button: 'area',
-        id: 'draw-area'
-    };
+    polygon: function() {
+        return [
+            [this[0][0], this[0][1]],
+            [this[0][0], this[1][1]],
+            [this[1][0], this[1][1]],
+            [this[1][0], this[0][1]],
+            [this[0][0], this[0][1]]
+        ];
+    },
 
-    var behavior;
+    contains: function(obj) {
+        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
+        return obj[0][0] >= this[0][0] &&
+               obj[0][1] >= this[0][1] &&
+               obj[1][0] <= this[1][0] &&
+               obj[1][1] <= this[1][1];
+    },
 
-    mode.enter = function() {
-        var way = context.entity(wayId),
-            headId = way.nodes[way.nodes.length - 2],
-            tailId = way.first();
+    intersects: function(obj) {
+        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
+        return obj[0][0] <= this[1][0] &&
+               obj[0][1] <= this[1][1] &&
+               obj[1][0] >= this[0][0] &&
+               obj[1][1] >= this[0][1];
+    },
 
-        behavior = iD.behavior.DrawWay(context, wayId, -1, mode, baseGraph);
+    intersection: function(obj) {
+        if (!this.intersects(obj)) return new iD.geo.Extent();
+        return new iD.geo.Extent([Math.max(obj[0][0], this[0][0]),
+                                  Math.max(obj[0][1], this[0][1])],
+                                 [Math.min(obj[1][0], this[1][0]),
+                                  Math.min(obj[1][1], this[1][1])]);
+    },
 
-        var addNode = behavior.addNode;
+    percentContainedIn: function(obj) {
+        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
+        var a1 = this.intersection(obj).area(),
+            a2 = this.area();
 
-        behavior.addNode = function(node) {
-            if (node.id === headId || node.id === tailId) {
-                behavior.finish();
-            } else {
-                addNode(node);
-            }
-        };
+        if (a1 === Infinity || a2 === Infinity || a1 === 0 || a2 === 0) {
+            return 0;
+        } else {
+            return a1 / a2;
+        }
+    },
 
-        context.install(behavior);
-        context.tail(t('modes.draw_area.tail'));
-    };
+    padByMeters: function(meters) {
+        var dLat = iD.geo.metersToLat(meters),
+            dLon = iD.geo.metersToLon(meters, this.center()[1]);
+        return iD.geo.Extent(
+                [this[0][0] - dLon, this[0][1] - dLat],
+                [this[1][0] + dLon, this[1][1] + dLat]);
+    },
 
-    mode.exit = function() {
-        context.uninstall(behavior);
-    };
+    toParam: function() {
+        return [this[0][0], this[0][1], this[1][0], this[1][1]].join(',');
+    }
 
-    return mode;
+});
+iD.geo.Turn = function(turn) {
+    if (!(this instanceof iD.geo.Turn))
+        return new iD.geo.Turn(turn);
+    _.extend(this, turn);
 };
-iD.modes.DrawLine = function(context, wayId, direction, baseGraph) {
-    var mode = {
-        button: 'line',
-        id: 'draw-line'
-    };
 
-    var behavior;
+iD.geo.Intersection = function(graph, vertexId) {
+    var vertex = graph.entity(vertexId),
+        parentWays = graph.parentWays(vertex),
+        coincident = [],
+        highways = {};
 
-    mode.enter = function() {
-        var way = context.entity(wayId),
-            index = (direction === 'forward') ? undefined : 0,
-            headId = (direction === 'forward') ? way.last() : way.first();
+    function addHighway(way, adjacentNodeId) {
+        if (highways[adjacentNodeId]) {
+            coincident.push(adjacentNodeId);
+        } else {
+            highways[adjacentNodeId] = way;
+        }
+    }
 
-        behavior = iD.behavior.DrawWay(context, wayId, index, mode, baseGraph);
+    // Pre-split ways that would need to be split in
+    // order to add a restriction. The real split will
+    // happen when the restriction is added.
+    parentWays.forEach(function(way) {
+        if (!way.tags.highway || way.isArea() || way.isDegenerate())
+            return;
 
-        var addNode = behavior.addNode;
+        var isFirst = (vertexId === way.first()),
+            isLast = (vertexId === way.last()),
+            isAffix = (isFirst || isLast),
+            isClosingNode = (isFirst && isLast);
 
-        behavior.addNode = function(node) {
-            if (node.id === headId) {
-                behavior.finish();
+        if (isAffix && !isClosingNode) {
+            var index = (isFirst ? 1 : way.nodes.length - 2);
+            addHighway(way, way.nodes[index]);
+
+        } else {
+            var splitIndex, wayA, wayB, indexA, indexB;
+            if (isClosingNode) {
+                splitIndex = Math.ceil(way.nodes.length / 2);  // split at midpoint
+                wayA = iD.Way({id: way.id + '-a', tags: way.tags, nodes: way.nodes.slice(0, splitIndex)});
+                wayB = iD.Way({id: way.id + '-b', tags: way.tags, nodes: way.nodes.slice(splitIndex)});
+                indexA = 1;
+                indexB = way.nodes.length - 2;
             } else {
-                addNode(node);
+                splitIndex = _.indexOf(way.nodes, vertex.id, 1);  // split at vertexid
+                wayA = iD.Way({id: way.id + '-a', tags: way.tags, nodes: way.nodes.slice(0, splitIndex + 1)});
+                wayB = iD.Way({id: way.id + '-b', tags: way.tags, nodes: way.nodes.slice(splitIndex)});
+                indexA = splitIndex - 1;
+                indexB = splitIndex + 1;
             }
-        };
+            graph = graph.replace(wayA).replace(wayB);
+            addHighway(wayA, way.nodes[indexA]);
+            addHighway(wayB, way.nodes[indexB]);
+        }
+    });
 
-        context.install(behavior);
-        context.tail(t('modes.draw_line.tail'));
-    };
+    // remove any ways from this intersection that are coincident
+    // (i.e. any adjacent node used by more than one intersecting way)
+    coincident.forEach(function (n) {
+        delete highways[n];
+    });
 
-    mode.exit = function() {
-        context.uninstall(behavior);
-    };
 
-    return mode;
-};
-iD.modes.Move = function(context, entityIDs) {
-    var mode = {
-        id: 'move',
-        button: 'browse'
+    var intersection = {
+        highways: highways,
+        ways: _.values(highways),
+        graph: graph
     };
 
-    var keybinding = d3.keybinding('move');
+    intersection.adjacentNodeId = function(fromWayId) {
+        return _.find(_.keys(highways), function(k) {
+            return highways[k].id === fromWayId;
+        });
+    };
 
-    mode.enter = function() {
-        var origin,
-            nudgeInterval,
-            annotation = entityIDs.length === 1 ?
-                t('operations.move.annotation.' + context.geometry(entityIDs[0])) :
-                t('operations.move.annotation.multiple');
+    intersection.turns = function(fromNodeId) {
+        var start = highways[fromNodeId];
+        if (!start)
+            return [];
 
-        context.perform(
-            iD.actions.Noop(),
-            annotation);
+        if (start.first() === vertex.id && start.tags.oneway === 'yes')
+            return [];
+        if (start.last() === vertex.id && start.tags.oneway === '-1')
+            return [];
 
-        function edge(point, size) {
-            var pad = [30, 100, 30, 100];
-            if (point[0] > size[0] - pad[0]) return [-10, 0];
-            else if (point[0] < pad[2]) return [10, 0];
-            else if (point[1] > size[1] - pad[1]) return [0, -10];
-            else if (point[1] < pad[3]) return [0, 10];
-            return null;
-        }
+        function withRestriction(turn) {
+            graph.parentRelations(graph.entity(turn.from.way)).forEach(function(relation) {
+                if (relation.tags.type !== 'restriction')
+                    return;
 
-        function startNudge(nudge) {
-            if (nudgeInterval) window.clearInterval(nudgeInterval);
-            nudgeInterval = window.setInterval(function() {
-                context.pan(nudge);
-                context.replace(
-                    iD.actions.Move(entityIDs, [-nudge[0], -nudge[1]], context.projection),
-                    annotation);
-                var c = context.projection(origin);
-                origin = context.projection.invert([c[0] - nudge[0], c[1] - nudge[1]]);
-            }, 50);
-        }
+                var f = relation.memberByRole('from'),
+                    t = relation.memberByRole('to'),
+                    v = relation.memberByRole('via');
+
+                if (f && f.id === turn.from.way &&
+                    v && v.id === turn.via.node &&
+                    t && t.id === turn.to.way) {
+                    turn.restriction = relation.id;
+                } else if (/^only_/.test(relation.tags.restriction) &&
+                    f && f.id === turn.from.way &&
+                    v && v.id === turn.via.node &&
+                    t && t.id !== turn.to.way) {
+                    turn.restriction = relation.id;
+                    turn.indirect_restriction = true;
+                }
+            });
 
-        function stopNudge() {
-            if (nudgeInterval) window.clearInterval(nudgeInterval);
-            nudgeInterval = null;
+            return iD.geo.Turn(turn);
         }
 
-        function point() {
-            return d3.mouse(context.map().surface.node());
-        }
+        var from = {
+                node: fromNodeId,
+                way: start.id.split(/-(a|b)/)[0]
+            },
+            via = { node: vertex.id },
+            turns = [];
 
-        function move() {
-            var p = point();
+        _.each(highways, function(end, adjacentNodeId) {
+            if (end === start)
+                return;
 
-            var delta = origin ?
-                [p[0] - context.projection(origin)[0],
-                p[1] - context.projection(origin)[1]] :
-                [0, 0];
+            // backward
+            if (end.first() !== vertex.id && end.tags.oneway !== 'yes') {
+                turns.push(withRestriction({
+                    from: from,
+                    via: via,
+                    to: {
+                        node: adjacentNodeId,
+                        way: end.id.split(/-(a|b)/)[0]
+                    }
+                }));
+            }
 
-            var nudge = edge(p, context.map().size());
-            if (nudge) startNudge(nudge);
-            else stopNudge();
+            // forward
+            if (end.last() !== vertex.id && end.tags.oneway !== '-1') {
+                turns.push(withRestriction({
+                    from: from,
+                    via: via,
+                    to: {
+                        node: adjacentNodeId,
+                        way: end.id.split(/-(a|b)/)[0]
+                    }
+                }));
+            }
 
-            origin = context.map().mouseCoordinates();
+        });
 
-            context.replace(
-                iD.actions.Move(entityIDs, delta, context.projection),
-                annotation);
+        // U-turn
+        if (start.tags.oneway !== 'yes' && start.tags.oneway !== '-1') {
+            turns.push(withRestriction({
+                from: from,
+                via: via,
+                to: from,
+                u: true
+            }));
         }
 
-        function finish() {
-            d3.event.stopPropagation();
-            context.enter(iD.modes.Select(context, entityIDs));
-            stopNudge();
-        }
+        return turns;
+    };
 
-        function cancel() {
-            context.pop();
-            context.enter(iD.modes.Select(context, entityIDs));
-            stopNudge();
-        }
+    return intersection;
+};
 
-        function undone() {
-            context.enter(iD.modes.Browse(context));
-        }
 
-        context.surface()
-            .on('mousemove.move', move)
-            .on('click.move', finish);
+iD.geo.inferRestriction = function(graph, from, via, to, projection) {
+    var fromWay = graph.entity(from.way),
+        fromNode = graph.entity(from.node),
+        toWay = graph.entity(to.way),
+        toNode = graph.entity(to.node),
+        viaNode = graph.entity(via.node),
+        fromOneWay = (fromWay.tags.oneway === 'yes' && fromWay.last() === via.node) ||
+            (fromWay.tags.oneway === '-1' && fromWay.first() === via.node),
+        toOneWay = (toWay.tags.oneway === 'yes' && toWay.first() === via.node) ||
+            (toWay.tags.oneway === '-1' && toWay.last() === via.node),
+        angle = iD.geo.angle(viaNode, fromNode, projection) -
+                iD.geo.angle(viaNode, toNode, projection);
 
-        context.history()
-            .on('undone.move', undone);
+    angle = angle * 180 / Math.PI;
 
-        keybinding
-            .on('⎋', cancel)
-            .on('↩', finish);
+    while (angle < 0)
+        angle += 360;
 
-        d3.select(document)
-            .call(keybinding);
-    };
+    if (fromNode === toNode)
+        return 'no_u_turn';
+    if ((angle < 23 || angle > 336) && fromOneWay && toOneWay)
+        return 'no_u_turn';
+    if (angle < 158)
+        return 'no_right_turn';
+    if (angle > 202)
+        return 'no_left_turn';
 
-    mode.exit = function() {
-        context.surface()
-            .on('mousemove.move', null)
-            .on('click.move', null);
+    return 'no_straight_on';
+};
+// For fixing up rendering of multipolygons with tags on the outer member.
+// https://github.com/openstreetmap/iD/issues/613
+iD.geo.isSimpleMultipolygonOuterMember = function(entity, graph) {
+    if (entity.type !== 'way')
+        return false;
 
-        context.history()
-            .on('undone.move', null);
+    var parents = graph.parentRelations(entity);
+    if (parents.length !== 1)
+        return false;
 
-        keybinding.off();
-    };
+    var parent = parents[0];
+    if (!parent.isMultipolygon() || Object.keys(parent.tags).length > 1)
+        return false;
 
-    return mode;
-};
-iD.modes.RotateWay = function(context, wayId) {
-    var mode = {
-        id: 'rotate-way',
-        button: 'browse'
-    };
+    var members = parent.members, member;
+    for (var i = 0; i < members.length; i++) {
+        member = members[i];
+        if (member.id === entity.id && member.role && member.role !== 'outer')
+            return false; // Not outer member
+        if (member.id !== entity.id && (!member.role || member.role === 'outer'))
+            return false; // Not a simple multipolygon
+    }
 
-    var keybinding = d3.keybinding('rotate-way');
+    return parent;
+};
 
-    mode.enter = function() {
+iD.geo.simpleMultipolygonOuterMember = function(entity, graph) {
+    if (entity.type !== 'way')
+        return false;
 
-        var annotation = t('operations.rotate.annotation.' + context.geometry(wayId)),
-            way = context.graph().entity(wayId),
-            nodes = _.uniq(context.graph().childNodes(way)),
-            points = nodes.map(function(n) { return context.projection(n.loc); }),
-            pivot = d3.geom.polygon(points).centroid(),
-            angle;
+    var parents = graph.parentRelations(entity);
+    if (parents.length !== 1)
+        return false;
 
-        context.perform(
-            iD.actions.Noop(),
-            annotation);
+    var parent = parents[0];
+    if (!parent.isMultipolygon() || Object.keys(parent.tags).length > 1)
+        return false;
 
-        function point() {
-            return d3.mouse(context.map().surface.node());
+    var members = parent.members, member, outerMember;
+    for (var i = 0; i < members.length; i++) {
+        member = members[i];
+        if (!member.role || member.role === 'outer') {
+            if (outerMember)
+                return false; // Not a simple multipolygon
+            outerMember = member;
         }
+    }
 
-        function rotate() {
+    return outerMember && graph.hasEntity(outerMember.id);
+};
 
-            var mousePoint = point(),
-                newAngle = Math.atan2(mousePoint[1] - pivot[1], mousePoint[0] - pivot[0]);
+// Join `array` into sequences of connecting ways.
+//
+// Segments which share identical start/end nodes will, as much as possible,
+// be connected with each other.
+//
+// The return value is a nested array. Each constituent array contains elements
+// of `array` which have been determined to connect. Each consitituent array
+// also has a `nodes` property whose value is an ordered array of member nodes,
+// with appropriate order reversal and start/end coordinate de-duplication.
+//
+// Members of `array` must have, at minimum, `type` and `id` properties.
+// Thus either an array of `iD.Way`s or a relation member array may be
+// used.
+//
+// If an member has a `tags` property, its tags will be reversed via
+// `iD.actions.Reverse` in the output.
+//
+// Incomplete members (those for which `graph.hasEntity(element.id)` returns
+// false) and non-way members are ignored.
+//
+iD.geo.joinWays = function(array, graph) {
+    var joined = [], member, current, nodes, first, last, i, how, what;
 
-            if (typeof angle === 'undefined') angle = newAngle;
+    array = array.filter(function(member) {
+        return member.type === 'way' && graph.hasEntity(member.id);
+    });
 
-            context.replace(
-                iD.actions.RotateWay(wayId, pivot, newAngle - angle, context.projection),
-                annotation);
+    function resolve(member) {
+        return graph.childNodes(graph.entity(member.id));
+    }
 
-            angle = newAngle;
-        }
+    function reverse(member) {
+        return member.tags ? iD.actions.Reverse(member.id, {reverseOneway: true})(graph).entity(member.id) : member;
+    }
 
-        function finish() {
-            d3.event.stopPropagation();
-            context.enter(iD.modes.Select(context, [wayId]));
-        }
+    while (array.length) {
+        member = array.shift();
+        current = [member];
+        current.nodes = nodes = resolve(member).slice();
+        joined.push(current);
 
-        function cancel() {
-            context.pop();
-            context.enter(iD.modes.Select(context, [wayId]));
-        }
+        while (array.length && _.first(nodes) !== _.last(nodes)) {
+            first = _.first(nodes);
+            last  = _.last(nodes);
 
-        function undone() {
-            context.enter(iD.modes.Browse(context));
-        }
+            for (i = 0; i < array.length; i++) {
+                member = array[i];
+                what = resolve(member);
 
-        context.surface()
-            .on('mousemove.rotate-way', rotate)
-            .on('click.rotate-way', finish);
+                if (last === _.first(what)) {
+                    how  = nodes.push;
+                    what = what.slice(1);
+                    break;
+                } else if (last === _.last(what)) {
+                    how  = nodes.push;
+                    what = what.slice(0, -1).reverse();
+                    member = reverse(member);
+                    break;
+                } else if (first === _.last(what)) {
+                    how  = nodes.unshift;
+                    what = what.slice(0, -1);
+                    break;
+                } else if (first === _.first(what)) {
+                    how  = nodes.unshift;
+                    what = what.slice(1).reverse();
+                    member = reverse(member);
+                    break;
+                } else {
+                    what = how = null;
+                }
+            }
 
-        context.history()
-            .on('undone.rotate-way', undone);
+            if (!what)
+                break; // No more joinable ways.
 
-        keybinding
-            .on('⎋', cancel)
-            .on('↩', finish);
+            how.apply(current, [member]);
+            how.apply(nodes, what);
 
-        d3.select(document)
-            .call(keybinding);
-    };
+            array.splice(i, 1);
+        }
+    }
 
-    mode.exit = function() {
-        context.surface()
-            .on('mousemove.rotate-way', null)
-            .on('click.rotate-way', null);
+    return joined;
+};
+/*
+    Bypasses features of D3's default projection stream pipeline that are unnecessary:
+    * Antimeridian clipping
+    * Spherical rotation
+    * Resampling
+*/
+iD.geo.RawMercator = function () {
+    var project = d3.geo.mercator.raw,
+        k = 512 / Math.PI, // scale
+        x = 0, y = 0, // translate
+        clipExtent = [[0, 0], [0, 0]];
 
-        context.history()
-            .on('undone.rotate-way', null);
+    function projection(point) {
+        point = project(point[0] * Math.PI / 180, point[1] * Math.PI / 180);
+        return [point[0] * k + x, y - point[1] * k];
+    }
 
-        keybinding.off();
+    projection.invert = function(point) {
+        point = project.invert((point[0] - x) / k, (y - point[1]) / k);
+        return point && [point[0] * 180 / Math.PI, point[1] * 180 / Math.PI];
     };
 
-    return mode;
-};
-iD.modes.Select = function(context, selection) {
-    var mode = {
-        id: 'select',
-        button: 'browse'
+    projection.scale = function(_) {
+        if (!arguments.length) return k;
+        k = +_;
+        return projection;
     };
 
-    // Selecting non-multipolygon relations is not supported
-    selection = selection.filter(function(d) {
-        return context.entity(d).geometry(context.graph()) !== 'relation';
-    });
+    projection.translate = function(_) {
+        if (!arguments.length) return [x, y];
+        x = +_[0];
+        y = +_[1];
+        return projection;
+    };
 
-    if (!selection.length) return iD.modes.Browse(context);
+    projection.clipExtent = function(_) {
+        if (!arguments.length) return clipExtent;
+        clipExtent = _;
+        return projection;
+    };
 
-    var keybinding = d3.keybinding('select'),
-        timeout = null,
-        behaviors = [
-            iD.behavior.Hover(),
-            iD.behavior.Select(context),
-            iD.behavior.Lasso(context),
-            iD.modes.DragNode(context).behavior],
-        inspector,
-        radialMenu,
-        newFeature = false;
+    projection.stream = d3.geo.transform({
+        point: function(x, y) {
+            x = projection([x, y]);
+            this.stream.point(x[0], x[1]);
+        }
+    }).stream;
 
-    var wrap = context.container()
-        .select('.inspector-wrap');
+    return projection;
+};
+iD.actions = {};
+iD.actions.AddEntity = function(way) {
+    return function(graph) {
+        return graph.replace(way);
+    };
+};
+iD.actions.AddMember = function(relationId, member, memberIndex) {
+    return function(graph) {
+        var relation = graph.entity(relationId);
 
-    function singular() {
-        if (selection.length === 1) {
-            return context.entity(selection[0]);
+        if (isNaN(memberIndex) && member.type === 'way') {
+            var members = relation.indexedMembers();
+            members.push(member);
+
+            var joined = iD.geo.joinWays(members, graph);
+            for (var i = 0; i < joined.length; i++) {
+                var segment = joined[i];
+                for (var j = 0; j < segment.length && segment.length >= 2; j++) {
+                    if (segment[j] !== member)
+                        continue;
+
+                    if (j === 0) {
+                        memberIndex = segment[j + 1].index;
+                    } else if (j === segment.length - 1) {
+                        memberIndex = segment[j - 1].index + 1;
+                    } else {
+                        memberIndex = Math.min(segment[j - 1].index + 1, segment[j + 1].index + 1);
+                    }
+                }
+            }
         }
-    }
 
-    function positionMenu() {
-        var entity = singular();
+        return graph.replace(relation.addMember(member, memberIndex));
+    };
+};
+iD.actions.AddMidpoint = function(midpoint, node) {
+    return function(graph) {
+        graph = graph.replace(node.move(midpoint.loc));
 
-        if (entity && entity.type === 'node') {
-            radialMenu.center(context.projection(entity.loc));
-        } else {
-            radialMenu.center(d3.mouse(context.surface().node()));
-        }
-    }
+        var parents = _.intersection(
+            graph.parentWays(graph.entity(midpoint.edge[0])),
+            graph.parentWays(graph.entity(midpoint.edge[1])));
 
-    function showMenu() {
-        context.surface()
-            .call(radialMenu.close)
-            .call(radialMenu);
-    }
+        parents.forEach(function(way) {
+            for (var i = 0; i < way.nodes.length - 1; i++) {
+                if (iD.geo.edgeEqual([way.nodes[i], way.nodes[i + 1]], midpoint.edge)) {
+                    graph = graph.replace(graph.entity(way.id).addNode(node.id, i + 1));
+
+                    // Add only one midpoint on doubled-back segments,
+                    // turning them into self-intersections.
+                    return;
+                }
+            }
+        });
 
-    mode.selection = function() {
-        return selection;
+        return graph;
+    };
+};
+// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/AddNodeToWayAction.as
+iD.actions.AddVertex = function(wayId, nodeId, index) {
+    return function(graph) {
+        return graph.replace(graph.entity(wayId).addNode(nodeId, index));
+    };
+};
+iD.actions.ChangeMember = function(relationId, member, memberIndex) {
+    return function(graph) {
+        return graph.replace(graph.entity(relationId).updateMember(member, memberIndex));
     };
+};
+iD.actions.ChangePreset = function(entityId, oldPreset, newPreset) {
+    return function(graph) {
+        var entity = graph.entity(entityId),
+            geometry = entity.geometry(graph),
+            tags = entity.tags;
 
-    mode.reselect = function() {
-        var surfaceNode = context.surface().node();
-        if (surfaceNode.focus) { // FF doesn't support it
-            surfaceNode.focus();
-        }
+        if (oldPreset) tags = oldPreset.removeTags(tags, geometry);
+        if (newPreset) tags = newPreset.applyTags(tags, geometry);
 
-        positionMenu();
-        showMenu();
+        return graph.replace(entity.update({tags: tags}));
     };
-
-    mode.newFeature = function(_) {
-        if (!arguments.length) return newFeature;
-        newFeature = _;
-        return mode;
+};
+iD.actions.ChangeTags = function(entityId, tags) {
+    return function(graph) {
+        var entity = graph.entity(entityId);
+        return graph.replace(entity.update({tags: tags}));
     };
+};
+iD.actions.Circularize = function(wayId, projection, maxAngle) {
+    maxAngle = (maxAngle || 20) * Math.PI / 180;
 
-    mode.enter = function() {
-        behaviors.forEach(function(behavior) {
-            context.install(behavior);
-        });
+    var action = function(graph) {
+        var way = graph.entity(wayId);
 
-        var operations = _.without(d3.values(iD.operations), iD.operations.Delete)
-            .map(function(o) { return o(selection, context); })
-            .filter(function(o) { return o.available(); });
-        operations.unshift(iD.operations.Delete(selection, context));
+        if (!way.isConvex(graph)) {
+            graph = action.makeConvex(graph);
+        }
 
-        keybinding.on('⎋', function() {
-            context.enter(iD.modes.Browse(context));
-        }, true);
+        var nodes = _.uniq(graph.childNodes(way)),
+            keyNodes = nodes.filter(function(n) { return graph.parentWays(n).length !== 1; }),
+            points = nodes.map(function(n) { return projection(n.loc); }),
+            keyPoints = keyNodes.map(function(n) { return projection(n.loc); }),
+            centroid = (points.length === 2) ? iD.geo.interp(points[0], points[1], 0.5) : d3.geom.polygon(points).centroid(),
+            radius = d3.median(points, function(p) { return iD.geo.euclideanDistance(centroid, p); }),
+            sign = d3.geom.polygon(points).area() > 0 ? 1 : -1,
+            ids;
+
+        // we need atleast two key nodes for the algorithm to work
+        if (!keyNodes.length) {
+            keyNodes = [nodes[0]];
+            keyPoints = [points[0]];
+        }
+
+        if (keyNodes.length === 1) {
+            var index = nodes.indexOf(keyNodes[0]),
+                oppositeIndex = Math.floor((index + nodes.length / 2) % nodes.length);
+
+            keyNodes.push(nodes[oppositeIndex]);
+            keyPoints.push(points[oppositeIndex]);
+        }
+
+        // key points and nodes are those connected to the ways,
+        // they are projected onto the circle, inbetween nodes are moved
+        // to constant intervals between key nodes, extra inbetween nodes are
+        // added if necessary.
+        for (var i = 0; i < keyPoints.length; i++) {
+            var nextKeyNodeIndex = (i + 1) % keyNodes.length,
+                startNode = keyNodes[i],
+                endNode = keyNodes[nextKeyNodeIndex],
+                startNodeIndex = nodes.indexOf(startNode),
+                endNodeIndex = nodes.indexOf(endNode),
+                numberNewPoints = -1,
+                indexRange = endNodeIndex - startNodeIndex,
+                distance, totalAngle, eachAngle, startAngle, endAngle,
+                angle, loc, node, j,
+                inBetweenNodes = [];
+
+            if (indexRange < 0) {
+                indexRange += nodes.length;
+            }
+
+            // position this key node
+            distance = iD.geo.euclideanDistance(centroid, keyPoints[i]);
+            if (distance === 0) { distance = 1e-4; }
+            keyPoints[i] = [
+                centroid[0] + (keyPoints[i][0] - centroid[0]) / distance * radius,
+                centroid[1] + (keyPoints[i][1] - centroid[1]) / distance * radius];
+            graph = graph.replace(keyNodes[i].move(projection.invert(keyPoints[i])));
+
+            // figure out the between delta angle we want to match to
+            startAngle = Math.atan2(keyPoints[i][1] - centroid[1], keyPoints[i][0] - centroid[0]);
+            endAngle = Math.atan2(keyPoints[nextKeyNodeIndex][1] - centroid[1], keyPoints[nextKeyNodeIndex][0] - centroid[0]);
+            totalAngle = endAngle - startAngle;
+
+            // detects looping around -pi/pi
+            if (totalAngle * sign > 0) {
+                totalAngle = -sign * (2 * Math.PI - Math.abs(totalAngle));
+            }
+
+            do {
+                numberNewPoints++;
+                eachAngle = totalAngle / (indexRange + numberNewPoints);
+            } while (Math.abs(eachAngle) > maxAngle);
+
+            // move existing points
+            for (j = 1; j < indexRange; j++) {
+                angle = startAngle + j * eachAngle;
+                loc = projection.invert([
+                    centroid[0] + Math.cos(angle)*radius,
+                    centroid[1] + Math.sin(angle)*radius]);
 
-        operations.forEach(function(operation) {
-            operation.keys.forEach(function(key) {
-                keybinding.on(key, function() {
-                    if (!operation.disabled()) {
-                        operation();
+                node = nodes[(j + startNodeIndex) % nodes.length].move(loc);
+                graph = graph.replace(node);
+            }
+
+            // add new inbetween nodes if necessary
+            for (j = 0; j < numberNewPoints; j++) {
+                angle = startAngle + (indexRange + j) * eachAngle;
+                loc = projection.invert([
+                    centroid[0] + Math.cos(angle) * radius,
+                    centroid[1] + Math.sin(angle) * radius]);
+
+                node = iD.Node({loc: loc});
+                graph = graph.replace(node);
+
+                nodes.splice(endNodeIndex + j, 0, node);
+                inBetweenNodes.push(node.id);
+            }
+
+            // Check for other ways that share these keyNodes..
+            // If keyNodes are adjacent in both ways,
+            // we can add inBetween nodes to that shared way too..
+            if (indexRange === 1 && inBetweenNodes.length) {
+                var startIndex1 = way.nodes.lastIndexOf(startNode.id),
+                    endIndex1 = way.nodes.lastIndexOf(endNode.id),
+                    wayDirection1 = (endIndex1 - startIndex1);
+                if (wayDirection1 < -1) { wayDirection1 = 1; }
+
+                /* eslint-disable no-loop-func */
+                _.each(_.without(graph.parentWays(keyNodes[i]), way), function(sharedWay) {
+                    if (sharedWay.areAdjacent(startNode.id, endNode.id)) {
+                        var startIndex2 = sharedWay.nodes.lastIndexOf(startNode.id),
+                            endIndex2 = sharedWay.nodes.lastIndexOf(endNode.id),
+                            wayDirection2 = (endIndex2 - startIndex2),
+                            insertAt = endIndex2;
+                        if (wayDirection2 < -1) { wayDirection2 = 1; }
+
+                        if (wayDirection1 !== wayDirection2) {
+                            inBetweenNodes.reverse();
+                            insertAt = startIndex2;
+                        }
+                        for (j = 0; j < inBetweenNodes.length; j++) {
+                            sharedWay = sharedWay.addNode(inBetweenNodes[j], insertAt + j);
+                        }
+                        graph = graph.replace(sharedWay);
                     }
                 });
-            });
-        });
-
-        var q = iD.util.stringQs(location.hash.substring(1));
-        location.replace('#' + iD.util.qsString(_.assign(q, {
-            id: selection.join(',')
-        }), true));
-
-        if (singular()) {
-            inspector = iD.ui.Inspector(context, singular())
-                .newFeature(newFeature);
+                /* eslint-enable no-loop-func */
+            }
 
-            wrap.call(inspector);
         }
 
-        context.history()
-            .on('undone.select', update)
-            .on('redone.select', update);
+        // update the way to have all the new nodes
+        ids = nodes.map(function(n) { return n.id; });
+        ids.push(ids[0]);
 
-        function update() {
-            context.surface().call(radialMenu.close);
+        way = way.update({nodes: ids});
+        graph = graph.replace(way);
 
-            if (_.any(selection, function(id) { return !context.entity(id); })) {
-                // Exit mode if selected entity gets undone
-                context.enter(iD.modes.Browse(context));
-            }
-        }
+        return graph;
+    };
 
-        context.map().on('move.select', function() {
-            context.surface().call(radialMenu.close);
-        });
-
-        function dblclick() {
-            var target = d3.select(d3.event.target),
-                datum = target.datum();
+    action.makeConvex = function(graph) {
+        var way = graph.entity(wayId),
+            nodes = _.uniq(graph.childNodes(way)),
+            points = nodes.map(function(n) { return projection(n.loc); }),
+            sign = d3.geom.polygon(points).area() > 0 ? 1 : -1,
+            hull = d3.geom.hull(points);
 
-            if (datum instanceof iD.Way && !target.classed('fill')) {
-                var choice = iD.geo.chooseIndex(datum,
-                        d3.mouse(context.surface().node()), context),
-                    node = iD.Node();
+        // D3 convex hulls go counterclockwise..
+        if (sign === -1) {
+            nodes.reverse();
+            points.reverse();
+        }
 
-                var prev = datum.nodes[choice.index - 1],
-                    next = datum.nodes[choice.index];
+        for (var i = 0; i < hull.length - 1; i++) {
+            var startIndex = points.indexOf(hull[i]),
+                endIndex = points.indexOf(hull[i+1]),
+                indexRange = (endIndex - startIndex);
 
-                context.perform(
-                    iD.actions.AddMidpoint({loc: choice.loc, edge: [prev, next]}, node),
-                    t('operations.add.annotation.vertex'));
+            if (indexRange < 0) {
+                indexRange += nodes.length;
+            }
 
-                d3.event.preventDefault();
-                d3.event.stopPropagation();
+            // move interior nodes to the surface of the convex hull..
+            for (var j = 1; j < indexRange; j++) {
+                var point = iD.geo.interp(hull[i], hull[i+1], j / indexRange),
+                    node = nodes[(j + startIndex) % nodes.length].move(projection.invert(point));
+                graph = graph.replace(node);
             }
         }
+        return graph;
+    };
 
-        function selected(entity) {
-            if (!entity) return false;
-            if (selection.indexOf(entity.id) >= 0) return true;
-            return _.any(context.graph().parentRelations(entity), function(parent) {
-                    return selection.indexOf(parent.id) >= 0;
-                });
-        }
+    action.disabled = function(graph) {
+        if (!graph.entity(wayId).isClosed())
+            return 'not_closed';
+    };
 
-        d3.select(document)
-            .call(keybinding);
+    return action;
+};
+// Connect the ways at the given nodes.
+//
+// The last node will survive. All other nodes will be replaced with
+// the surviving node in parent ways, and then removed.
+//
+// Tags and relation memberships of of non-surviving nodes are merged
+// to the survivor.
+//
+// This is the inverse of `iD.actions.Disconnect`.
+//
+// Reference:
+//   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeNodesAction.as
+//   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/MergeNodesAction.java
+//
+iD.actions.Connect = function(nodeIds) {
+    return function(graph) {
+        var survivor = graph.entity(_.last(nodeIds));
 
-        function selectElements() {
-            context.surface()
-                .selectAll("*")
-                .filter(selected)
-                .classed('selected', true);
-        }
+        for (var i = 0; i < nodeIds.length - 1; i++) {
+            var node = graph.entity(nodeIds[i]);
 
-        context.map().on('drawn.select', selectElements);
-        selectElements();
+            /* eslint-disable no-loop-func */
+            graph.parentWays(node).forEach(function(parent) {
+                if (!parent.areAdjacent(node.id, survivor.id)) {
+                    graph = graph.replace(parent.replaceNode(node.id, survivor.id));
+                }
+            });
 
-        radialMenu = iD.ui.RadialMenu(operations);
-        var show = d3.event && !newFeature;
+            graph.parentRelations(node).forEach(function(parent) {
+                graph = graph.replace(parent.replaceMember(node, survivor));
+            });
+            /* eslint-enable no-loop-func */
 
-        if (show) {
-            positionMenu();
+            survivor = survivor.mergeTags(node.tags);
+            graph = iD.actions.DeleteNode(node.id)(graph);
         }
 
-        timeout = window.setTimeout(function() {
-            if (show) {
-                showMenu();
-            }
+        graph = graph.replace(survivor);
 
-            context.surface()
-                .on('dblclick.select', dblclick);
-        }, 200);
+        return graph;
     };
+};
+iD.actions.CopyEntity = function(id, fromGraph, deep) {
+    var newEntities = [];
 
-    mode.exit = function() {
-        if (timeout) window.clearTimeout(timeout);
+    var action = function(graph) {
+        var entity = fromGraph.entity(id);
 
-        if (inspector) wrap.call(inspector.close);
+        newEntities = entity.copy(deep, fromGraph);
 
-        behaviors.forEach(function(behavior) {
-            context.uninstall(behavior);
-        });
+        for (var i = 0; i < newEntities.length; i++) {
+            graph = graph.replace(newEntities[i]);
+        }
 
-        var q = iD.util.stringQs(location.hash.substring(1));
-        location.replace('#' + iD.util.qsString(_.omit(q, 'id'), true));
+        return graph;
+    };
 
-        keybinding.off();
+    action.newEntities = function() {
+        return newEntities;
+    };
 
-        context.history()
-            .on('undone.select', null)
-            .on('redone.select', null);
+    return action;
+};
+iD.actions.DeleteMember = function(relationId, memberIndex) {
+    return function(graph) {
+        var relation = graph.entity(relationId)
+            .removeMember(memberIndex);
 
-        context.surface()
-            .call(radialMenu.close)
-            .on('dblclick.select', null)
-            .selectAll(".selected")
-            .classed('selected', false);
+        graph = graph.replace(relation);
 
-        context.map().on('drawn.select', null);
-    };
+        if (relation.isDegenerate())
+            graph = iD.actions.DeleteRelation(relation.id)(graph);
 
-    return mode;
+        return graph;
+    };
 };
-iD.operations = {};
-iD.operations.Circularize = function(selection, context) {
-    var entityId = selection[0],
-        geometry = context.geometry(entityId),
-        action = iD.actions.Circularize(entityId, context.projection);
-
-    var operation = function() {
-        var annotation = t('operations.circularize.annotation.' + geometry);
-        context.perform(action, annotation);
+iD.actions.DeleteMultiple = function(ids) {
+    var actions = {
+        way: iD.actions.DeleteWay,
+        node: iD.actions.DeleteNode,
+        relation: iD.actions.DeleteRelation
     };
 
-    operation.available = function() {
-        return selection.length === 1 &&
-            context.entity(entityId).type === 'way';
-    };
+    var action = function(graph) {
+        ids.forEach(function(id) {
+            if (graph.hasEntity(id)) { // It may have been deleted aready.
+                graph = actions[graph.entity(id).type](id)(graph);
+            }
+        });
 
-    operation.disabled = function() {
-        return action.disabled(context.graph());
+        return graph;
     };
 
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.circularize.' + disable) :
-            t('operations.circularize.description.' + geometry);
+    action.disabled = function(graph) {
+        for (var i = 0; i < ids.length; i++) {
+            var id = ids[i],
+                disabled = actions[graph.entity(id).type](id).disabled(graph);
+            if (disabled) return disabled;
+        }
     };
 
-    operation.id = "circularize";
-    operation.keys = [t('operations.circularize.key')];
-    operation.title = t('operations.circularize.title');
-
-    return operation;
+    return action;
 };
-iD.operations.Delete = function(selection, context) {
-    var operation = function() {
-        var annotation;
+// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteNodeAction.as
+iD.actions.DeleteNode = function(nodeId) {
+    var action = function(graph) {
+        var node = graph.entity(nodeId);
 
-        if (selection.length === 1) {
-            annotation = t('operations.delete.annotation.' + context.geometry(selection[0]));
-        } else {
-            annotation = t('operations.delete.annotation.multiple', {n: selection.length});
-        }
+        graph.parentWays(node)
+            .forEach(function(parent) {
+                parent = parent.removeNode(nodeId);
+                graph = graph.replace(parent);
 
-        context.perform(
-            iD.actions.DeleteMultiple(selection),
-            annotation);
+                if (parent.isDegenerate()) {
+                    graph = iD.actions.DeleteWay(parent.id)(graph);
+                }
+            });
 
-        context.enter(iD.modes.Browse(context));
-    };
+        graph.parentRelations(node)
+            .forEach(function(parent) {
+                parent = parent.removeMembersWithID(nodeId);
+                graph = graph.replace(parent);
 
-    operation.available = function() {
-        return true;
-    };
+                if (parent.isDegenerate()) {
+                    graph = iD.actions.DeleteRelation(parent.id)(graph);
+                }
+            });
 
-    operation.disabled = function() {
-        return false;
+        return graph.remove(node);
     };
 
-    operation.tooltip = function() {
-        return t('operations.delete.description');
+    action.disabled = function() {
+        return false;
     };
 
-    operation.id = "delete";
-    operation.keys = [iD.ui.cmd('⌫'), iD.ui.cmd('⌦')];
-    operation.title = t('operations.delete.title');
-
-    return operation;
+    return action;
 };
-iD.operations.Disconnect = function(selection, context) {
-    var vertices = _.filter(selection, function vertex(entityId) {
-        return context.geometry(entityId) === 'vertex';
-    });
+// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteRelationAction.as
+iD.actions.DeleteRelation = function(relationId) {
+    function deleteEntity(entity, graph) {
+        return !graph.parentWays(entity).length &&
+            !graph.parentRelations(entity).length &&
+            !entity.hasInterestingTags();
+    }
 
-    var entityId = vertices[0],
-        action = iD.actions.Disconnect(entityId);
+    var action = function(graph) {
+        var relation = graph.entity(relationId);
 
-    if (selection.length > 1) {
-        action.limitWays(_.without(selection, entityId));
-    }
+        graph.parentRelations(relation)
+            .forEach(function(parent) {
+                parent = parent.removeMembersWithID(relationId);
+                graph = graph.replace(parent);
 
-    var operation = function() {
-        context.perform(action, t('operations.disconnect.annotation'));
-    };
+                if (parent.isDegenerate()) {
+                    graph = iD.actions.DeleteRelation(parent.id)(graph);
+                }
+            });
 
-    operation.available = function() {
-        return vertices.length === 1;
-    };
+        _.uniq(_.pluck(relation.members, 'id')).forEach(function(memberId) {
+            graph = graph.replace(relation.removeMembersWithID(memberId));
 
-    operation.disabled = function() {
-        return action.disabled(context.graph());
-    };
+            var entity = graph.entity(memberId);
+            if (deleteEntity(entity, graph)) {
+                graph = iD.actions.DeleteMultiple([memberId])(graph);
+            }
+        });
 
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.disconnect.' + disable) :
-            t('operations.disconnect.description');
+        return graph.remove(relation);
     };
 
-    operation.id = "disconnect";
-    operation.keys = [t('operations.disconnect.key')];
-    operation.title = t('operations.disconnect.title');
+    action.disabled = function(graph) {
+        if (!graph.entity(relationId).isComplete(graph))
+            return 'incomplete_relation';
+    };
 
-    return operation;
+    return action;
 };
-iD.operations.Merge = function(selection, context) {
-    var join = iD.actions.Join(selection),
-        merge = iD.actions.Merge(selection);
+// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/DeleteWayAction.as
+iD.actions.DeleteWay = function(wayId) {
+    function deleteNode(node, graph) {
+        return !graph.parentWays(node).length &&
+            !graph.parentRelations(node).length &&
+            !node.hasInterestingTags();
+    }
 
-    var operation = function() {
-        var annotation = t('operations.merge.annotation', {n: selection.length}),
-            action;
+    var action = function(graph) {
+        var way = graph.entity(wayId);
 
-        if (!join.disabled(context.graph())) {
-            action = join;
-        } else {
-            action = merge;
-        }
+        graph.parentRelations(way)
+            .forEach(function(parent) {
+                parent = parent.removeMembersWithID(wayId);
+                graph = graph.replace(parent);
 
-        var difference = context.perform(action, annotation);
-        context.enter(iD.modes.Select(context, difference.extantIDs()));
-    };
+                if (parent.isDegenerate()) {
+                    graph = iD.actions.DeleteRelation(parent.id)(graph);
+                }
+            });
 
-    operation.available = function() {
-        return selection.length >= 2;
-    };
+        _.uniq(way.nodes).forEach(function(nodeId) {
+            graph = graph.replace(way.removeNode(nodeId));
 
-    operation.disabled = function() {
-        return join.disabled(context.graph()) &&
-            merge.disabled(context.graph());
+            var node = graph.entity(nodeId);
+            if (deleteNode(node, graph)) {
+                graph = graph.remove(node);
+            }
+        });
+
+        return graph.remove(way);
     };
 
-    operation.tooltip = function() {
-        var j = join.disabled(context.graph()),
-            m = merge.disabled(context.graph());
+    action.disabled = function(graph) {
+        var disabled = false;
 
-        if (j && m)
-            return t('operations.merge.' + j);
+        graph.parentRelations(graph.entity(wayId)).forEach(function(parent) {
+            var type = parent.tags.type,
+                role = parent.memberById(wayId).role || 'outer';
+            if (type === 'route' || type === 'boundary' || (type === 'multipolygon' && role === 'outer')) {
+                disabled = 'part_of_relation';
+            }
+        });
 
-        return t('operations.merge.description');
+        return disabled;
     };
 
-    operation.id = "merge";
-    operation.keys = [t('operations.merge.key')];
-    operation.title = t('operations.merge.title');
-
-    return operation;
+    return action;
 };
-iD.operations.Move = function(selection, context) {
-    var operation = function() {
-        context.enter(iD.modes.Move(context, selection));
-    };
+iD.actions.DeprecateTags = function(entityId) {
+    return function(graph) {
+        var entity = graph.entity(entityId),
+            newtags = _.clone(entity.tags),
+            change = false,
+            rule;
 
-    operation.available = function() {
-        return selection.length > 1 ||
-            context.entity(selection[0]).type !== 'node';
-    };
+        // This handles deprecated tags with a single condition
+        for (var i = 0; i < iD.data.deprecated.length; i++) {
 
-    operation.disabled = function() {
-        return iD.actions.Move(selection)
-            .disabled(context.graph());
-    };
+            rule = iD.data.deprecated[i];
+            var match = _.pairs(rule.old)[0],
+                replacements = rule.replace ? _.pairs(rule.replace) : null;
 
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.move.' + disable) :
-            t('operations.move.description');
-    };
+            if (entity.tags[match[0]] && match[1] === '*') {
 
-    operation.id = "move";
-    operation.keys = [t('operations.move.key')];
-    operation.title = t('operations.move.title');
+                var value = entity.tags[match[0]];
+                if (replacements && !newtags[replacements[0][0]]) {
+                    newtags[replacements[0][0]] = value;
+                }
+                delete newtags[match[0]];
+                change = true;
 
-    return operation;
-};
-iD.operations.Orthogonalize = function(selection, context) {
-    var entityId = selection[0],
-        action = iD.actions.Orthogonalize(entityId, context.projection);
+            } else if (entity.tags[match[0]] === match[1]) {
+                newtags = _.assign({}, rule.replace || {}, _.omit(newtags, match[0]));
+                change = true;
+            }
+        }
 
-    var operation = function() {
-        var annotation = t('operations.orthogonalize.annotation.' + context.geometry(entityId));
-        context.perform(action, annotation);
+        if (change) {
+            return graph.replace(entity.update({tags: newtags}));
+        } else {
+            return graph;
+        }
     };
+};
+iD.actions.DiscardTags = function(difference) {
+    return function(graph) {
+        function discardTags(entity) {
+            if (!_.isEmpty(entity.tags)) {
+                var tags = {};
+                _.each(entity.tags, function(v, k) {
+                    if (v) tags[k] = v;
+                });
 
-    operation.available = function() {
-        return selection.length === 1 &&
-            context.entity(entityId).type === 'way' &&
-            _.uniq(context.entity(entityId).nodes).length > 2;
-    };
+                graph = graph.replace(entity.update({
+                    tags: _.omit(tags, iD.data.discarded)
+                }));
+            }
+        }
 
-    operation.disabled = function() {
-        return action.disabled(context.graph());
-    };
+        difference.modified().forEach(discardTags);
+        difference.created().forEach(discardTags);
 
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        return disable ?
-            t('operations.orthogonalize.' + disable) :
-            t('operations.orthogonalize.description');
+        return graph;
     };
-
-    operation.id = "orthogonalize";
-    operation.keys = [t('operations.orthogonalize.key')];
-    operation.title = t('operations.orthogonalize.title');
-    operation.description = t('operations.orthogonalize.description');
-
-    return operation;
 };
-iD.operations.Reverse = function(selection, context) {
-    var entityId = selection[0];
+// Disconect the ways at the given node.
+//
+// Optionally, disconnect only the given ways.
+//
+// For testing convenience, accepts an ID to assign to the (first) new node.
+// Normally, this will be undefined and the way will automatically
+// be assigned a new ID.
+//
+// This is the inverse of `iD.actions.Connect`.
+//
+// Reference:
+//   https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/UnjoinNodeAction.as
+//   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/UnGlueAction.java
+//
+iD.actions.Disconnect = function(nodeId, newNodeId) {
+    var wayIds;
 
-    var operation = function() {
-        context.perform(
-            iD.actions.Reverse(entityId),
-            t('operations.reverse.annotation'));
-    };
+    var action = function(graph) {
+        var node = graph.entity(nodeId),
+            connections = action.connections(graph);
 
-    operation.available = function() {
-        return selection.length === 1 &&
-            context.geometry(entityId) === 'line';
-    };
+        connections.forEach(function(connection) {
+            var way = graph.entity(connection.wayID),
+                newNode = iD.Node({id: newNodeId, loc: node.loc, tags: node.tags});
 
-    operation.disabled = function() {
-        return false;
-    };
+            graph = graph.replace(newNode);
+            if (connection.index === 0 && way.isArea()) {
+                // replace shared node with shared node..
+                graph = graph.replace(way.replaceNode(way.nodes[0], newNode.id));
+            } else {
+                // replace shared node with multiple new nodes..
+                graph = graph.replace(way.updateNode(newNode.id, connection.index));
+            }
+        });
 
-    operation.tooltip = function() {
-        return t('operations.reverse.description');
+        return graph;
     };
 
-    operation.id = "reverse";
-    operation.keys = [t('operations.reverse.key')];
-    operation.title = t('operations.reverse.title');
-
-    return operation;
-};
-iD.operations.Rotate = function(selection, context) {
-    var entityId = selection[0];
+    action.connections = function(graph) {
+        var candidates = [],
+            keeping = false,
+            parentWays = graph.parentWays(graph.entity(nodeId));
 
-    var operation = function() {
-        context.enter(iD.modes.RotateWay(context, entityId));
-    };
+        parentWays.forEach(function(way) {
+            if (wayIds && wayIds.indexOf(way.id) === -1) {
+                keeping = true;
+                return;
+            }
+            if (way.isArea() && (way.nodes[0] === nodeId)) {
+                candidates.push({wayID: way.id, index: 0});
+            } else {
+                way.nodes.forEach(function(waynode, index) {
+                    if (waynode === nodeId) {
+                        candidates.push({wayID: way.id, index: index});
+                    }
+                });
+            }
+        });
 
-    operation.available = function() {
-        return selection.length === 1 &&
-            context.entity(entityId).type === 'way' &&
-            context.entity(entityId).geometry() === 'area';
+        return keeping ? candidates : candidates.slice(1);
     };
 
-    operation.disabled = function() {
-        return false;
+    action.disabled = function(graph) {
+        var connections = action.connections(graph);
+        if (connections.length === 0 || (wayIds && wayIds.length !== connections.length))
+            return 'not_connected';
     };
 
-    operation.tooltip = function() {
-        return t('operations.rotate.description');
+    action.limitWays = function(_) {
+        if (!arguments.length) return wayIds;
+        wayIds = _;
+        return action;
     };
 
-    operation.id = "rotate";
-    operation.keys = [t('operations.rotate.key')];
-    operation.title = t('operations.rotate.title');
-
-    return operation;
+    return action;
 };
-iD.operations.Split = function(selection, context) {
-    var vertices = _.filter(selection, function vertex(entityId) {
-        return context.geometry(entityId) === 'vertex';
-    });
-
-    var entityId = vertices[0],
-        action = iD.actions.Split(entityId);
+// Join ways at the end node they share.
+//
+// This is the inverse of `iD.actions.Split`.
+//
+// Reference:
+//   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MergeWaysAction.as
+//   https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/actions/CombineWayAction.java
+//
+iD.actions.Join = function(ids) {
 
-    if (selection.length > 1) {
-        action.limitWays(_.without(selection, entityId));
+    function groupEntitiesByGeometry(graph) {
+        var entities = ids.map(function(id) { return graph.entity(id); });
+        return _.extend({line: []}, _.groupBy(entities, function(entity) { return entity.geometry(graph); }));
     }
 
-    var operation = function() {
-        var annotation;
+    var action = function(graph) {
+        var ways = ids.map(graph.entity, graph),
+            survivor = ways[0];
 
-        var ways = action.ways(context.graph());
-        if (ways.length === 1) {
-            annotation = t('operations.split.annotation.' + context.geometry(ways[0].id));
-        } else {
-            annotation = t('operations.split.annotation.multiple', {n: ways.length});
+        // Prefer to keep an existing way.
+        for (var i = 0; i < ways.length; i++) {
+            if (!ways[i].isNew()) {
+                survivor = ways[i];
+                break;
+            }
         }
 
-        var difference = context.perform(action, annotation);
-        context.enter(iD.modes.Select(context, difference.extantIDs()));
-    };
+        var joined = iD.geo.joinWays(ways, graph)[0];
 
-    operation.available = function() {
-        return vertices.length === 1;
-    };
+        survivor = survivor.update({nodes: _.pluck(joined.nodes, 'id')});
+        graph = graph.replace(survivor);
 
-    operation.disabled = function() {
-        return action.disabled(context.graph());
-    };
+        joined.forEach(function(way) {
+            if (way.id === survivor.id)
+                return;
 
-    operation.tooltip = function() {
-        var disable = operation.disabled();
-        if (disable) {
-            return t('operations.split.' + disable);
-        }
+            graph.parentRelations(way).forEach(function(parent) {
+                graph = graph.replace(parent.replaceMember(way, survivor));
+            });
 
-        var ways = action.ways(context.graph());
-        if (ways.length === 1) {
-            return t('operations.split.description.' + context.geometry(ways[0].id));
-        } else {
-            return t('operations.split.description.multiple');
-        }
-    };
+            survivor = survivor.mergeTags(way.tags);
 
-    operation.id = "split";
-    operation.keys = [t('operations.split.key')];
-    operation.title = t('operations.split.title');
+            graph = graph.replace(survivor);
+            graph = iD.actions.DeleteWay(way.id)(graph);
+        });
 
-    return operation;
-};
-/*
-    iD.Difference represents the difference between two graphs.
-    It knows how to calculate the set of entities that were
-    created, modified, or deleted, and also contains the logic
-    for recursively extending a difference to the complete set
-    of entities that will require a redraw, taking into account
-    child and parent relationships.
- */
-iD.Difference = function(base, head) {
-    var changes = {}, length = 0;
+        return graph;
+    };
 
-    _.each(head.entities, function(h, id) {
-        var b = base.entities[id];
-        if (h !== b) {
-            changes[id] = {base: b, head: h};
-            length++;
-        }
-    });
+    action.disabled = function(graph) {
+        var geometries = groupEntitiesByGeometry(graph);
+        if (ids.length < 2 || ids.length !== geometries.line.length)
+            return 'not_eligible';
 
-    _.each(base.entities, function(b, id) {
-        var h = head.entities[id];
-        if (!changes[id] && h !== b) {
-            changes[id] = {base: b, head: h};
-            length++;
-        }
-    });
+        var joined = iD.geo.joinWays(ids.map(graph.entity, graph), graph);
+        if (joined.length > 1)
+            return 'not_adjacent';
 
-    function addParents(parents, result) {
-        for (var i = 0; i < parents.length; i++) {
-            var parent = parents[i];
+        var nodeIds = _.pluck(joined[0].nodes, 'id').slice(1, -1),
+            relation,
+            tags = {},
+            conflicting = false;
 
-            if (parent.id in result)
-                continue;
+        joined[0].forEach(function(way) {
+            var parents = graph.parentRelations(way);
+            parents.forEach(function(parent) {
+                if (parent.isRestriction() && parent.members.some(function(m) { return nodeIds.indexOf(m.id) >= 0; }))
+                    relation = parent;
+            });
 
-            result[parent.id] = parent;
-            addParents(head.parentRelations(parent), result);
-        }
-    }
+            for (var k in way.tags) {
+                if (!(k in tags)) {
+                    tags[k] = way.tags[k];
+                } else if (tags[k] && iD.interestingTag(k) && tags[k] !== way.tags[k]) {
+                    conflicting = true;
+                }
+            }
+        });
 
-    var difference = {};
+        if (relation)
+            return 'restriction';
 
-    difference.length = function() {
-        return length;
+        if (conflicting)
+            return 'conflicting_tags';
     };
 
-    difference.changes = function() {
-        return changes;
-    };
+    return action;
+};
+iD.actions.Merge = function(ids) {
+    function groupEntitiesByGeometry(graph) {
+        var entities = ids.map(function(id) { return graph.entity(id); });
+        return _.extend({point: [], area: [], line: [], relation: []},
+            _.groupBy(entities, function(entity) { return entity.geometry(graph); }));
+    }
 
-    difference.extantIDs = function() {
-        var result = [];
-        _.each(changes, function(change, id) {
-            if (change.head) result.push(id);
-        });
-        return result;
-    };
+    var action = function(graph) {
+        var geometries = groupEntitiesByGeometry(graph),
+            target = geometries.area[0] || geometries.line[0],
+            points = geometries.point;
 
-    difference.modified = function() {
-        var result = [];
-        _.each(changes, function(change) {
-            if (change.base && change.head) result.push(change.head);
-        });
-        return result;
-    };
+        points.forEach(function(point) {
+            target = target.mergeTags(point.tags);
 
-    difference.created = function() {
-        var result = [];
-        _.each(changes, function(change) {
-            if (!change.base && change.head) result.push(change.head);
+            graph.parentRelations(point).forEach(function(parent) {
+                graph = graph.replace(parent.replaceMember(point, target));
+            });
+
+            graph = graph.remove(point);
         });
-        return result;
+
+        graph = graph.replace(target);
+
+        return graph;
     };
 
-    difference.deleted = function() {
-        var result = [];
-        _.each(changes, function(change) {
-            if (change.base && !change.head) result.push(change.base);
-        });
-        return result;
+    action.disabled = function(graph) {
+        var geometries = groupEntitiesByGeometry(graph);
+        if (geometries.point.length === 0 ||
+            (geometries.area.length + geometries.line.length) !== 1 ||
+            geometries.relation.length !== 0)
+            return 'not_eligible';
     };
 
-    difference.addParents = function(entities) {
+    return action;
+};
+iD.actions.MergePolygon = function(ids, newRelationId) {
+
+    function groupEntities(graph) {
+        var entities = ids.map(function (id) { return graph.entity(id); });
+        return _.extend({
+                closedWay: [],
+                multipolygon: [],
+                other: []
+            }, _.groupBy(entities, function(entity) {
+                if (entity.type === 'way' && entity.isClosed()) {
+                    return 'closedWay';
+                } else if (entity.type === 'relation' && entity.isMultipolygon()) {
+                    return 'multipolygon';
+                } else {
+                    return 'other';
+                }
+            }));
+    }
 
-        for (var i in entities) {
-            addParents(head.parentWays(entities[i]), entities);
-            addParents(head.parentRelations(entities[i]), entities);
-        }
-        return entities;
-    };
+    var action = function(graph) {
+        var entities = groupEntities(graph);
 
-    difference.complete = function(extent) {
-        var result = {}, id, change;
+        // An array representing all the polygons that are part of the multipolygon.
+        //
+        // Each element is itself an array of objects with an id property, and has a
+        // locs property which is an array of the locations forming the polygon.
+        var polygons = entities.multipolygon.reduce(function(polygons, m) {
+            return polygons.concat(iD.geo.joinWays(m.members, graph));
+        }, []).concat(entities.closedWay.map(function(d) {
+            var member = [{id: d.id}];
+            member.nodes = graph.childNodes(d);
+            return member;
+        }));
 
-        for (id in changes) {
-            change = changes[id];
+        // contained is an array of arrays of boolean values,
+        // where contained[j][k] is true iff the jth way is
+        // contained by the kth way.
+        var contained = polygons.map(function(w, i) {
+            return polygons.map(function(d, n) {
+                if (i === n) return null;
+                return iD.geo.polygonContainsPolygon(
+                    _.pluck(d.nodes, 'loc'),
+                    _.pluck(w.nodes, 'loc'));
+            });
+        });
 
-            var h = change.head,
-                b = change.base,
-                entity = h || b;
+        // Sort all polygons as either outer or inner ways
+        var members = [],
+            outer = true;
 
-            if (extent &&
-                (!h || !h.intersects(extent, head)) &&
-                (!b || !b.intersects(extent, base)))
-                continue;
+        while (polygons.length) {
+            extractUncontained(polygons);
+            polygons = polygons.filter(isContained);
+            contained = contained.filter(isContained).map(filterContained);
+        }
 
-            result[id] = h;
+        function isContained(d, i) {
+            return _.any(contained[i]);
+        }
 
-            if (entity.type === 'way') {
-                var nh = h ? h.nodes : [],
-                    nb = b ? b.nodes : [],
-                    diff, i;
+        function filterContained(d) {
+            return d.filter(isContained);
+        }
 
-                diff = _.difference(nh, nb);
-                for (i = 0; i < diff.length; i++) {
-                    result[diff[i]] = head.entity(diff[i]);
+        function extractUncontained(polygons) {
+            polygons.forEach(function(d, i) {
+                if (!isContained(d, i)) {
+                    d.forEach(function(member) {
+                        members.push({
+                            type: 'way',
+                            id: member.id,
+                            role: outer ? 'outer' : 'inner'
+                        });
+                    });
                 }
+            });
+            outer = !outer;
+        }
 
-                diff = _.difference(nb, nh);
-                for (i = 0; i < diff.length; i++) {
-                    result[diff[i]] = head.entity(diff[i]);
-                }
+        // Move all tags to one relation
+        var relation = entities.multipolygon[0] ||
+            iD.Relation({ id: newRelationId, tags: { type: 'multipolygon' }});
+
+        entities.multipolygon.slice(1).forEach(function(m) {
+            relation = relation.mergeTags(m.tags);
+            graph = graph.remove(m);
+        });
+
+        entities.closedWay.forEach(function(way) {
+            function isThisOuter(m) {
+                return m.id === way.id && m.role !== 'inner';
             }
+            if (members.some(isThisOuter)) {
+                relation = relation.mergeTags(way.tags);
+                graph = graph.replace(way.update({ tags: {} }));
+            }
+        });
 
-            addParents(head.parentWays(entity), result);
-            addParents(head.parentRelations(entity), result);
-        }
+        return graph.replace(relation.update({
+            members: members,
+            tags: _.omit(relation.tags, 'area')
+        }));
+    };
 
-        return result;
+    action.disabled = function(graph) {
+        var entities = groupEntities(graph);
+        if (entities.other.length > 0 ||
+            entities.closedWay.length + entities.multipolygon.length < 2)
+            return 'not_eligible';
+        if (!entities.multipolygon.every(function(r) { return r.isComplete(graph); }))
+            return 'incomplete_relation';
     };
 
-    return difference;
+    return action;
 };
-iD.Entity = function(attrs) {
-    // For prototypal inheritance.
-    if (this instanceof iD.Entity) return;
+iD.actions.MergeRemoteChanges = function(id, localGraph, remoteGraph, formatUser) {
+    var option = 'safe',  // 'safe', 'force_local', 'force_remote'
+        conflicts = [];
 
-    // Create the appropriate subtype.
-    if (attrs && attrs.type) {
-        return iD.Entity[attrs.type].apply(this, arguments);
+    function user(d) {
+        return _.isFunction(formatUser) ? formatUser(d) : d;
     }
 
-    // Initialize a generic Entity (used only in tests).
-    return (new iD.Entity()).initialize(arguments);
-};
 
-iD.Entity.id = function(type) {
-    return iD.Entity.id.fromOSM(type, iD.Entity.id.next[type]--);
-};
+    function mergeLocation(remote, target) {
+        function pointEqual(a, b) {
+            var epsilon = 1e-6;
+            return (Math.abs(a[0] - b[0]) < epsilon) && (Math.abs(a[1] - b[1]) < epsilon);
+        }
 
-iD.Entity.id.next = {node: -1, way: -1, relation: -1};
+        if (option === 'force_local' || pointEqual(target.loc, remote.loc)) {
+            return target;
+        }
+        if (option === 'force_remote') {
+            return target.update({loc: remote.loc});
+        }
 
-iD.Entity.id.fromOSM = function(type, id) {
-    return type[0] + id;
-};
+        conflicts.push(t('merge_remote_changes.conflict.location', { user: user(remote.user) }));
+        return target;
+    }
 
-iD.Entity.id.toOSM = function(id) {
-    return id.slice(1);
-};
 
-// A function suitable for use as the second argument to d3.selection#data().
-iD.Entity.key = function(entity) {
-    return entity.id;
-};
+    function mergeNodes(base, remote, target) {
+        if (option === 'force_local' || _.isEqual(target.nodes, remote.nodes)) {
+            return target;
+        }
+        if (option === 'force_remote') {
+            return target.update({nodes: remote.nodes});
+        }
 
-iD.Entity.prototype = {
-    tags: {},
+        var ccount = conflicts.length,
+            o = base.nodes || [],
+            a = target.nodes || [],
+            b = remote.nodes || [],
+            nodes = [],
+            hunks = Diff3.diff3_merge(a, o, b, true);
 
-    initialize: function(sources) {
-        for (var i = 0; i < sources.length; ++i) {
-            var source = sources[i];
-            for (var prop in source) {
-                if (Object.prototype.hasOwnProperty.call(source, prop)) {
-                    this[prop] = source[prop];
+        for (var i = 0; i < hunks.length; i++) {
+            var hunk = hunks[i];
+            if (hunk.ok) {
+                nodes.push.apply(nodes, hunk.ok);
+            } else {
+                // for all conflicts, we can assume c.a !== c.b
+                // because `diff3_merge` called with `true` option to exclude false conflicts..
+                var c = hunk.conflict;
+                if (_.isEqual(c.o, c.a)) {  // only changed remotely
+                    nodes.push.apply(nodes, c.b);
+                } else if (_.isEqual(c.o, c.b)) {  // only changed locally
+                    nodes.push.apply(nodes, c.a);
+                } else {       // changed both locally and remotely
+                    conflicts.push(t('merge_remote_changes.conflict.nodelist', { user: user(remote.user) }));
+                    break;
                 }
             }
         }
 
-        if (!this.id && this.type) {
-            this.id = iD.Entity.id(this.type);
-        }
+        return (conflicts.length === ccount) ? target.update({nodes: nodes}) : target;
+    }
 
-        if (iD.debug) {
-            Object.freeze(this);
-            Object.freeze(this.tags);
 
-            if (this.loc) Object.freeze(this.loc);
-            if (this.nodes) Object.freeze(this.nodes);
-            if (this.members) Object.freeze(this.members);
+    function mergeChildren(targetWay, children, updates, graph) {
+        function isUsed(node, targetWay) {
+            var parentWays = _.pluck(graph.parentWays(node), 'id');
+            return node.hasInterestingTags() ||
+                _.without(parentWays, targetWay.id).length > 0 ||
+                graph.parentRelations(node).length > 0;
         }
 
-        return this;
-    },
-
-    osmId: function() {
-        return iD.Entity.id.toOSM(this.id);
-    },
-
-    isNew: function() {
-        return this.osmId() < 0;
-    },
+        var ccount = conflicts.length;
 
-    update: function(attrs) {
-        return iD.Entity(this, attrs);
-    },
+        for (var i = 0; i < children.length; i++) {
+            var id = children[i],
+                node = graph.hasEntity(id);
 
-    mergeTags: function(tags) {
-        var merged = _.clone(this.tags), changed = false;
-        for (var k in tags) {
-            var t1 = merged[k],
-                t2 = tags[k];
-            if (!t1) {
-                changed = true;
-                merged[k] = t2;
-            } else if (t1 !== t2) {
-                changed = true;
-                merged[k] = _.union(t1.split(/;\s*/), t2.split(/;\s*/)).join(';');
+            // remove unused childNodes..
+            if (targetWay.nodes.indexOf(id) === -1) {
+                if (node && !isUsed(node, targetWay)) {
+                    updates.removeIds.push(id);
+                }
+                continue;
             }
-        }
-        return changed ? this.update({tags: merged}) : this;
-    },
-
-    intersects: function(extent, resolver) {
-        return this.extent(resolver).intersects(extent);
-    },
 
-    hasInterestingTags: function() {
-        return _.keys(this.tags).some(function(key) {
-            return key != 'attribution' &&
-                key != 'created_by' &&
-                key != 'source' &&
-                key != 'odbl' &&
-                key.indexOf('tiger:') !== 0;
-        });
-    },
+            // restore used childNodes..
+            var local = localGraph.hasEntity(id),
+                remote = remoteGraph.hasEntity(id),
+                target;
 
-    deprecatedTags: function() {
-        var tags = _.pairs(this.tags);
-        var deprecated = {};
+            if (option === 'force_remote' && remote && remote.visible) {
+                updates.replacements.push(remote);
 
-        iD.data.deprecated.forEach(function(d) {
-            var match = _.pairs(d.old)[0];
-            tags.forEach(function(t) {
-                if (t[0] == match[0] &&
-                    (t[1] == match[1] || match[1] == '*')) {
-                    deprecated[t[0]] = t[1];
+            } else if (option === 'force_local' && local) {
+                target = iD.Entity(local);
+                if (remote) {
+                    target = target.update({ version: remote.version });
                 }
-            });
-        });
-
-        return deprecated;
-    }
-};
-iD.Graph = function(other, mutable) {
-    if (!(this instanceof iD.Graph)) return new iD.Graph(other, mutable);
+                updates.replacements.push(target);
 
-    if (other instanceof iD.Graph) {
-        var base = other.base();
-        this.entities = _.assign(Object.create(base.entities), other.entities);
-        this._parentWays = _.assign(Object.create(base.parentWays), other._parentWays);
-        this._parentRels = _.assign(Object.create(base.parentRels), other._parentRels);
-        this.inherited = true;
+            } else if (option === 'safe' && local && remote && local.version !== remote.version) {
+                target = iD.Entity(local, { version: remote.version });
+                if (remote.visible) {
+                    target = mergeLocation(remote, target);
+                } else {
+                    conflicts.push(t('merge_remote_changes.conflict.deleted', { user: user(remote.user) }));
+                }
 
-    } else {
-        if (Array.isArray(other)) {
-            var entities = {};
-            for (var i = 0; i < other.length; i++) {
-                entities[other[i].id] = other[i];
+                if (conflicts.length !== ccount) break;
+                updates.replacements.push(target);
             }
-            other = entities;
         }
-        this.entities = Object.create({});
-        this._parentWays = Object.create({});
-        this._parentRels = Object.create({});
-        this.rebase(other || {});
-    }
-
-    this.transients = {};
-    this._childNodes = {};
-    this.getEntity = _.bind(this.entity, this);
 
-    if (!mutable) {
-        this.freeze();
+        return targetWay;
     }
-};
-
-iD.Graph.prototype = {
-    entity: function(id) {
-        return this.entities[id];
-    },
 
-    transient: function(entity, key, fn) {
-        var id = entity.id,
-            transients = this.transients[id] ||
-            (this.transients[id] = {});
 
-        if (transients[key] !== undefined) {
-            return transients[key];
+    function updateChildren(updates, graph) {
+        for (var i = 0; i < updates.replacements.length; i++) {
+            graph = graph.replace(updates.replacements[i]);
         }
+        if (updates.removeIds.length) {
+            graph = iD.actions.DeleteMultiple(updates.removeIds)(graph);
+        }
+        return graph;
+    }
 
-        transients[key] = fn.call(entity);
-
-        return transients[key];
-    },
-
-    parentWays: function(entity) {
-        return _.map(this._parentWays[entity.id], this.getEntity);
-    },
-
-    isPoi: function(entity) {
-        var parentWays = this._parentWays[entity.id];
-        return !parentWays || parentWays.length === 0;
-    },
 
-    isShared: function(entity) {
-        var parentWays = this._parentWays[entity.id];
-        return parentWays && parentWays.length > 1;
-    },
+    function mergeMembers(remote, target) {
+        if (option === 'force_local' || _.isEqual(target.members, remote.members)) {
+            return target;
+        }
+        if (option === 'force_remote') {
+            return target.update({members: remote.members});
+        }
 
-    parentRelations: function(entity) {
-        return _.map(this._parentRels[entity.id], this.getEntity);
-    },
+        conflicts.push(t('merge_remote_changes.conflict.memberlist', { user: user(remote.user) }));
+        return target;
+    }
 
-    childNodes: function(entity) {
-        if (this._childNodes[entity.id])
-            return this._childNodes[entity.id];
 
-        var nodes = [];
-        for (var i = 0, l = entity.nodes.length; i < l; i++) {
-            nodes[i] = this.entity(entity.nodes[i]);
+    function mergeTags(base, remote, target) {
+        function ignoreKey(k) {
+            return _.contains(iD.data.discarded, k);
         }
 
-        this._childNodes[entity.id] = nodes;
-        return this._childNodes[entity.id];
-    },
+        if (option === 'force_local' || _.isEqual(target.tags, remote.tags)) {
+            return target;
+        }
+        if (option === 'force_remote') {
+            return target.update({tags: remote.tags});
+        }
 
-    base: function() {
-        return {
-            'entities': iD.util.getPrototypeOf(this.entities),
-            'parentWays': iD.util.getPrototypeOf(this._parentWays),
-            'parentRels': iD.util.getPrototypeOf(this._parentRels)
-        };
-    },
+        var ccount = conflicts.length,
+            o = base.tags || {},
+            a = target.tags || {},
+            b = remote.tags || {},
+            keys = _.reject(_.union(_.keys(o), _.keys(a), _.keys(b)), ignoreKey),
+            tags = _.clone(a),
+            changed = false;
 
-    // Unlike other graph methods, rebase mutates in place. This is because it
-    // is used only during the history operation that merges newly downloaded
-    // data into each state. To external consumers, it should appear as if the
-    // graph always contained the newly downloaded data.
-    rebase: function(entities) {
-        var base = this.base(),
-            i, k, child, id, keys;
+        for (var i = 0; i < keys.length; i++) {
+            var k = keys[i];
 
-        // Merging of data only needed if graph is the base graph
-        if (!this.inherited) {
-            for (i in entities) {
-                if (!base.entities[i]) {
-                    base.entities[i] = entities[i];
-                    this._updateCalculated(undefined, entities[i],
-                            base.parentWays, base.parentRels);
-                }
-            }
-        }
+            if (o[k] !== b[k] && a[k] !== b[k]) {    // changed remotely..
+                if (o[k] !== a[k]) {      // changed locally..
+                    conflicts.push(t('merge_remote_changes.conflict.tags',
+                        { tag: k, local: a[k], remote: b[k], user: user(remote.user) }));
 
-        keys = Object.keys(this._parentWays);
-        for (i = 0; i < keys.length; i++) {
-            child = keys[i];
-            if (base.parentWays[child]) {
-                for (k = 0; k < base.parentWays[child].length; k++) {
-                    id = base.parentWays[child][k];
-                    if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentWays[child], id)) {
-                        this._parentWays[child].push(id);
+                } else {                  // unchanged locally, accept remote change..
+                    if (b.hasOwnProperty(k)) {
+                        tags[k] = b[k];
+                    } else {
+                        delete tags[k];
                     }
+                    changed = true;
                 }
             }
         }
 
-        keys = Object.keys(this._parentRels);
-        for (i = 0; i < keys.length; i++) {
-            child = keys[i];
-            if (base.parentRels[child]) {
-                for (k = 0; k < base.parentRels[child].length; k++) {
-                    id = base.parentRels[child][k];
-                    if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentRels[child], id)) {
-                        this._parentRels[child].push(id);
-                    }
+        return (changed && conflicts.length === ccount) ? target.update({tags: tags}) : target;
+    }
+
+
+    //  `graph.base()` is the common ancestor of the two graphs.
+    //  `localGraph` contains user's edits up to saving
+    //  `remoteGraph` contains remote edits to modified nodes
+    //  `graph` must be a descendent of `localGraph` and may include
+    //      some conflict resolution actions performed on it.
+    //
+    //                  --- ... --- `localGraph` -- ... -- `graph`
+    //                 /
+    //  `graph.base()` --- ... --- `remoteGraph`
+    //
+    var action = function(graph) {
+        var updates = { replacements: [], removeIds: [] },
+            base = graph.base().entities[id],
+            local = localGraph.entity(id),
+            remote = remoteGraph.entity(id),
+            target = iD.Entity(local, { version: remote.version });
+
+        // delete/undelete
+        if (!remote.visible) {
+            if (option === 'force_remote') {
+                return iD.actions.DeleteMultiple([id])(graph);
+
+            } else if (option === 'force_local') {
+                if (target.type === 'way') {
+                    target = mergeChildren(target, _.uniq(local.nodes), updates, graph);
+                    graph = updateChildren(updates, graph);
                 }
+                return graph.replace(target);
+
+            } else {
+                conflicts.push(t('merge_remote_changes.conflict.deleted', { user: user(remote.user) }));
+                return graph;  // do nothing
             }
         }
-    },
 
-    // Updates calculated properties (parentWays, parentRels) for the specified change
-    _updateCalculated: function(oldentity, entity, parentWays, parentRels) {
+        // merge
+        if (target.type === 'node') {
+            target = mergeLocation(remote, target);
 
-        parentWays = parentWays || this._parentWays;
-        parentRels = parentRels || this._parentRels;
+        } else if (target.type === 'way') {
+            // pull in any child nodes that may not be present locally..
+            graph.rebase(remoteGraph.childNodes(remote), [graph], false);
+            target = mergeNodes(base, remote, target);
+            target = mergeChildren(target, _.union(local.nodes, remote.nodes), updates, graph);
 
-        var type = entity && entity.type || oldentity && oldentity.type,
-            removed, added, ways, rels, i;
+        } else if (target.type === 'relation') {
+            target = mergeMembers(remote, target);
+        }
 
+        target = mergeTags(base, remote, target);
 
-        if (type === 'way') {
+        if (!conflicts.length) {
+            graph = updateChildren(updates, graph).replace(target);
+        }
 
-            // Update parentWays
-            if (oldentity && entity) {
-                removed = _.difference(oldentity.nodes, entity.nodes);
-                added = _.difference(entity.nodes, oldentity.nodes);
-            } else if (oldentity) {
-                removed = oldentity.nodes;
-                added = [];
-            } else if (entity) {
-                removed = [];
-                added = entity.nodes;
-            }
-            for (i = 0; i < removed.length; i++) {
-                parentWays[removed[i]] = _.without(parentWays[removed[i]], oldentity.id);
-            }
-            for (i = 0; i < added.length; i++) {
-                ways = _.without(parentWays[added[i]], entity.id);
-                ways.push(entity.id);
-                parentWays[added[i]] = ways;
-            }
-        } else if (type === 'node') {
+        return graph;
+    };
 
-        } else if (type === 'relation') {
+    action.withOption = function(opt) {
+        option = opt;
+        return action;
+    };
 
-            // Update parentRels
-            if (oldentity && entity) {
-                removed = _.difference(oldentity.members, entity.members);
-                added = _.difference(entity.members, oldentity);
-            } else if (oldentity) {
-                removed = oldentity.members;
-                added = [];
-            } else if (entity) {
-                removed = [];
-                added = entity.members;
-            }
-            for (i = 0; i < removed.length; i++) {
-                parentRels[removed[i].id] = _.without(parentRels[removed[i].id], oldentity.id);
-            }
-            for (i = 0; i < added.length; i++) {
-                rels = _.without(parentRels[added[i].id], entity.id);
-                rels.push(entity.id);
-                parentRels[added[i].id] = rels;
-            }
-        }
-    },
+    action.conflicts = function() {
+        return conflicts;
+    };
 
-    replace: function(entity) {
-        if (this.entities[entity.id] === entity)
-            return this;
+    return action;
+};
+// https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/command/MoveCommand.java
+// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MoveNodeAction.as
+iD.actions.Move = function(moveIds, tryDelta, projection, cache) {
+    var delta = tryDelta;
 
-        return this.update(function() {
-            this._updateCalculated(this.entities[entity.id], entity);
-            this.entities[entity.id] = entity;
-        });
-    },
+    function vecAdd(a, b) { return [a[0] + b[0], a[1] + b[1]]; }
+    function vecSub(a, b) { return [a[0] - b[0], a[1] - b[1]]; }
 
-    remove: function(entity) {
-        return this.update(function() {
-            this._updateCalculated(entity, undefined);
-            this.entities[entity.id] = undefined;
-        });
-    },
+    function setupCache(graph) {
+        function canMove(nodeId) {
+            var parents = _.pluck(graph.parentWays(graph.entity(nodeId)), 'id');
+            if (parents.length < 3) return true;
 
-    update: function() {
-        var graph = this.frozen ? iD.Graph(this, true) : this;
+            // Don't move a vertex where >2 ways meet, unless all parentWays are moving too..
+            var parentsMoving = _.all(parents, function(id) { return cache.moving[id]; });
+            if (!parentsMoving) delete cache.moving[nodeId];
 
-        for (var i = 0; i < arguments.length; i++) {
-            arguments[i].call(graph, graph);
+            return parentsMoving;
         }
 
-        return this.frozen ? graph.freeze() : this;
-    },
+        function cacheEntities(ids) {
+            _.each(ids, function(id) {
+                if (cache.moving[id]) return;
+                cache.moving[id] = true;
 
-    freeze: function() {
-        this.frozen = true;
+                var entity = graph.hasEntity(id);
+                if (!entity) return;
 
-        if (iD.debug) {
-            Object.freeze(this.entities);
+                if (entity.type === 'node') {
+                    cache.nodes.push(id);
+                    cache.startLoc[id] = entity.loc;
+                } else if (entity.type === 'way') {
+                    cache.ways.push(id);
+                    cacheEntities(entity.nodes);
+                } else {
+                    cacheEntities(_.pluck(entity.members, 'id'));
+                }
+            });
         }
 
-        return this;
-    },
+        function cacheIntersections(ids) {
+            function isEndpoint(way, id) { return !way.isClosed() && !!way.affix(id); }
 
-    hasAllChildren: function(entity) {
-        // we're only checking changed entities, since we assume fetched data
-        // must have all children present
-        var i;
-        if (this.entities.hasOwnProperty(entity.id)) {
-            if (entity.type === 'way') {
-                for (i = 0; i < entity.nodes.length; i++) {
-                    if (!this.entities[entity.nodes[i]]) return false;
-                }
-            } else if (entity.type === 'relation') {
-                for (i = 0; i < entity.members.length; i++) {
-                    if (!this.entities[entity.members[i].id]) return false;
-                }
-            }
-        }
-        return true;
-    },
+            _.each(ids, function(id) {
+                // consider only intersections with 1 moved and 1 unmoved way.
+                _.each(graph.childNodes(graph.entity(id)), function(node) {
+                    var parents = graph.parentWays(node);
+                    if (parents.length !== 2) return;
 
-    // Obliterates any existing entities
-    load: function(entities) {
+                    var moved = graph.entity(id),
+                        unmoved = _.find(parents, function(way) { return !cache.moving[way.id]; });
+                    if (!unmoved) return;
 
-        var base = this.base(),
-            i, entity, prefix;
-        this.entities = Object.create(base.entities);
+                    // exclude ways that are overly connected..
+                    if (_.intersection(moved.nodes, unmoved.nodes).length > 2) return;
 
-        for (i in entities) {
-            entity = entities[i];
-            prefix = i[0];
+                    if (moved.isArea() || unmoved.isArea()) return;
 
-            if (entity === 'undefined') {
-                this.entities[i] = undefined;
-            } else if (prefix == 'n') {
-                this.entities[i] = new iD.Node(entity);
+                    cache.intersection[node.id] = {
+                        nodeId: node.id,
+                        movedId: moved.id,
+                        unmovedId: unmoved.id,
+                        movedIsEP: isEndpoint(moved, node.id),
+                        unmovedIsEP: isEndpoint(unmoved, node.id)
+                    };
+                });
+            });
+        }
 
-            } else if (prefix == 'w') {
-                this.entities[i] = new iD.Way(entity);
 
-            } else if (prefix == 'r') {
-                this.entities[i] = new iD.Relation(entity);
-            }
-            this._updateCalculated(base.entities[i], this.entities[i]);
+        if (!cache) {
+            cache = {};
+        }
+        if (!cache.ok) {
+            cache.moving = {};
+            cache.intersection = {};
+            cache.replacedVertex = {};
+            cache.startLoc = {};
+            cache.nodes = [];
+            cache.ways = [];
+
+            cacheEntities(moveIds);
+            cacheIntersections(cache.ways);
+            cache.nodes = _.filter(cache.nodes, canMove);
+
+            cache.ok = true;
         }
-        return this;
     }
-};
-iD.History = function(context) {
-    var stack, index, tree,
-        imagery_used = 'Bing',
-        dispatch = d3.dispatch('change', 'undone', 'redone'),
-        lock = false;
 
-    function perform(actions) {
-        actions = Array.prototype.slice.call(actions);
 
-        var annotation;
+    // Place a vertex where the moved vertex used to be, to preserve way shape..
+    function replaceMovedVertex(nodeId, wayId, graph, delta) {
+        var way = graph.entity(wayId),
+            moved = graph.entity(nodeId),
+            movedIndex = way.nodes.indexOf(nodeId),
+            len, prevIndex, nextIndex;
+
+        if (way.isClosed()) {
+            len = way.nodes.length - 1;
+            prevIndex = (movedIndex + len - 1) % len;
+            nextIndex = (movedIndex + len + 1) % len;
+        } else {
+            len = way.nodes.length;
+            prevIndex = movedIndex - 1;
+            nextIndex = movedIndex + 1;
+        }
 
-        if (!_.isFunction(_.last(actions))) {
-            annotation = actions.pop();
+        var prev = graph.hasEntity(way.nodes[prevIndex]),
+            next = graph.hasEntity(way.nodes[nextIndex]);
+
+        // Don't add orig vertex at endpoint..
+        if (!prev || !next) return graph;
+
+        var key = wayId + '_' + nodeId,
+            orig = cache.replacedVertex[key];
+        if (!orig) {
+            orig = iD.Node();
+            cache.replacedVertex[key] = orig;
+            cache.startLoc[orig.id] = cache.startLoc[nodeId];
         }
 
-        var graph = stack[index].graph;
-        for (var i = 0; i < actions.length; i++) {
-            graph = actions[i](graph);
+        var start, end;
+        if (delta) {
+            start = projection(cache.startLoc[nodeId]);
+            end = projection.invert(vecAdd(start, delta));
+        } else {
+            end = cache.startLoc[nodeId];
         }
+        orig = orig.move(end);
 
-        return {
-            graph: graph,
-            annotation: annotation,
-            imagery_used: imagery_used
-        };
-    }
+        var angle = Math.abs(iD.geo.angle(orig, prev, projection) -
+                iD.geo.angle(orig, next, projection)) * 180 / Math.PI;
 
-    function change(previous) {
-        var difference = iD.Difference(previous, history.graph());
-        dispatch.change(difference);
-        return difference;
-    }
+        // Don't add orig vertex if it would just make a straight line..
+        if (angle > 175 && angle < 185) return graph;
 
-    // iD uses namespaced keys so multiple installations do not conflict
-    function getKey(n) {
-        return 'iD_' + window.location.origin + '_' + n;
+        // Don't add orig vertex if another point is already nearby (within 10m)
+        if (iD.geo.sphericalDistance(prev.loc, orig.loc) < 10 ||
+            iD.geo.sphericalDistance(orig.loc, next.loc) < 10) return graph;
+
+        // moving forward or backward along way?
+        var p1 = [prev.loc, orig.loc, moved.loc, next.loc].map(projection),
+            p2 = [prev.loc, moved.loc, orig.loc, next.loc].map(projection),
+            d1 = iD.geo.pathLength(p1),
+            d2 = iD.geo.pathLength(p2),
+            insertAt = (d1 < d2) ? movedIndex : nextIndex;
+
+        // moving around closed loop?
+        if (way.isClosed() && insertAt === 0) insertAt = len;
+
+        way = way.addNode(orig.id, insertAt);
+        return graph.replace(orig).replace(way);
     }
 
-    var history = {
-        graph: function() {
-            return stack[index].graph;
-        },
+    // Reorder nodes around intersections that have moved..
+    function unZorroIntersection(intersection, graph) {
+        var vertex = graph.entity(intersection.nodeId),
+            way1 = graph.entity(intersection.movedId),
+            way2 = graph.entity(intersection.unmovedId),
+            isEP1 = intersection.movedIsEP,
+            isEP2 = intersection.unmovedIsEP;
 
-        merge: function(entities) {
+        // don't move the vertex if it is the endpoint of both ways.
+        if (isEP1 && isEP2) return graph;
 
-            var base = stack[0].graph.base(),
-                newentities = Object.keys(entities).filter(function(i) {
-                    return !base.entities[i];
-                });
+        var nodes1 = _.without(graph.childNodes(way1), vertex),
+            nodes2 = _.without(graph.childNodes(way2), vertex);
 
-            for (var i = 0; i < stack.length; i++) {
-                stack[i].graph.rebase(entities);
-            }
+        if (way1.isClosed() && way1.first() === vertex.id) nodes1.push(nodes1[0]);
+        if (way2.isClosed() && way2.first() === vertex.id) nodes2.push(nodes2[0]);
 
-            tree.rebase(newentities);
+        var edge1 = !isEP1 && iD.geo.chooseEdge(nodes1, projection(vertex.loc), projection),
+            edge2 = !isEP2 && iD.geo.chooseEdge(nodes2, projection(vertex.loc), projection),
+            loc;
 
-            dispatch.change();
-        },
+        // snap vertex to nearest edge (or some point between them)..
+        if (!isEP1 && !isEP2) {
+            var epsilon = 1e-4, maxIter = 10;
+            for (var i = 0; i < maxIter; i++) {
+                loc = iD.geo.interp(edge1.loc, edge2.loc, 0.5);
+                edge1 = iD.geo.chooseEdge(nodes1, projection(loc), projection);
+                edge2 = iD.geo.chooseEdge(nodes2, projection(loc), projection);
+                if (Math.abs(edge1.distance - edge2.distance) < epsilon) break;
+            }
+        } else if (!isEP1) {
+            loc = edge1.loc;
+        } else {
+            loc = edge2.loc;
+        }
 
-        perform: function() {
-            var previous = stack[index].graph;
+        graph = graph.replace(vertex.move(loc));
 
-            stack = stack.slice(0, index + 1);
-            stack.push(perform(arguments));
-            index++;
+        // if zorro happened, reorder nodes..
+        if (!isEP1 && edge1.index !== way1.nodes.indexOf(vertex.id)) {
+            way1 = way1.removeNode(vertex.id).addNode(vertex.id, edge1.index);
+            graph = graph.replace(way1);
+        }
+        if (!isEP2 && edge2.index !== way2.nodes.indexOf(vertex.id)) {
+            way2 = way2.removeNode(vertex.id).addNode(vertex.id, edge2.index);
+            graph = graph.replace(way2);
+        }
 
-            return change(previous);
-        },
+        return graph;
+    }
 
-        replace: function() {
-            var previous = stack[index].graph;
 
-            // assert(index == stack.length - 1)
-            stack[index] = perform(arguments);
+    function cleanupIntersections(graph) {
+        _.each(cache.intersection, function(obj) {
+            graph = replaceMovedVertex(obj.nodeId, obj.movedId, graph, delta);
+            graph = replaceMovedVertex(obj.nodeId, obj.unmovedId, graph, null);
+            graph = unZorroIntersection(obj, graph);
+        });
 
-            return change(previous);
-        },
+        return graph;
+    }
 
-        pop: function() {
-            var previous = stack[index].graph;
+    // check if moving way endpoint can cross an unmoved way, if so limit delta..
+    function limitDelta(graph) {
+        _.each(cache.intersection, function(obj) {
+            if (!obj.movedIsEP) return;
 
-            if (index > 0) {
-                index--;
-                stack.pop();
-                return change(previous);
+            var node = graph.entity(obj.nodeId),
+                start = projection(node.loc),
+                end = vecAdd(start, delta),
+                movedNodes = graph.childNodes(graph.entity(obj.movedId)),
+                movedPath = _.map(_.pluck(movedNodes, 'loc'),
+                    function(loc) { return vecAdd(projection(loc), delta); }),
+                unmovedNodes = graph.childNodes(graph.entity(obj.unmovedId)),
+                unmovedPath = _.map(_.pluck(unmovedNodes, 'loc'), projection),
+                hits = iD.geo.pathIntersections(movedPath, unmovedPath);
+
+            for (var i = 0; i < hits.length; i++) {
+                if (_.isEqual(hits[i], end)) continue;
+                var edge = iD.geo.chooseEdge(unmovedNodes, end, projection);
+                delta = vecSub(projection(edge.loc), start);
             }
-        },
+        });
+    }
 
-        undo: function() {
-            var previous = stack[index].graph;
 
-            // Pop to the next annotated state.
-            while (index > 0) {
-                index--;
-                if (stack[index].annotation) break;
-            }
+    var action = function(graph) {
+        if (delta[0] === 0 && delta[1] === 0) return graph;
 
-            dispatch.undone();
-            return change(previous);
-        },
+        setupCache(graph);
 
-        redo: function() {
-            var previous = stack[index].graph;
+        if (!_.isEmpty(cache.intersection)) {
+            limitDelta(graph);
+        }
 
-            while (index < stack.length - 1) {
-                index++;
-                if (stack[index].annotation) break;
-            }
+        _.each(cache.nodes, function(id) {
+            var node = graph.entity(id),
+                start = projection(node.loc),
+                end = vecAdd(start, delta);
+            graph = graph.replace(node.move(projection.invert(end)));
+        });
 
-            dispatch.redone();
-            return change(previous);
-        },
+        if (!_.isEmpty(cache.intersection)) {
+            graph = cleanupIntersections(graph);
+        }
 
-        undoAnnotation: function() {
-            var i = index;
-            while (i >= 0) {
-                if (stack[i].annotation) return stack[i].annotation;
-                i--;
-            }
-        },
+        return graph;
+    };
 
-        redoAnnotation: function() {
-            var i = index + 1;
-            while (i <= stack.length - 1) {
-                if (stack[i].annotation) return stack[i].annotation;
-                i++;
-            }
-        },
+    action.disabled = function(graph) {
+        function incompleteRelation(id) {
+            var entity = graph.entity(id);
+            return entity.type === 'relation' && !entity.isComplete(graph);
+        }
 
-        intersects: function(extent) {
-            return tree.intersects(extent, stack[index].graph);
-        },
+        if (_.any(moveIds, incompleteRelation))
+            return 'incomplete_relation';
+    };
 
-        difference: function() {
-            var base = stack[0].graph,
-                head = stack[index].graph;
-            return iD.Difference(base, head);
-        },
+    action.delta = function() {
+        return delta;
+    };
+
+    return action;
+};
+// https://github.com/openstreetmap/josm/blob/mirror/src/org/openstreetmap/josm/command/MoveCommand.java
+// https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/MoveNodeAction.as
+iD.actions.MoveNode = function(nodeId, loc) {
+    return function(graph) {
+        return graph.replace(graph.entity(nodeId).move(loc));
+    };
+};
+iD.actions.Noop = function() {
+    return function(graph) {
+        return graph;
+    };
+};
+/*
+ * Based on https://github.com/openstreetmap/potlatch2/blob/master/net/systemeD/potlatch2/tools/Quadrilateralise.as
+ */
 
-        changes: function() {
-            var difference = history.difference();
+iD.actions.Orthogonalize = function(wayId, projection) {
+    var threshold = 12, // degrees within right or straight to alter
+        lowerThreshold = Math.cos((90 - threshold) * Math.PI / 180),
+        upperThreshold = Math.cos(threshold * Math.PI / 180);
 
-            function discardTags(entity) {
-                if (_.isEmpty(entity.tags)) {
-                    return entity;
-                } else {
-                    return entity.update({
-                        tags: _.omit(entity.tags, iD.data.discarded)
-                    });
+    var action = function(graph) {
+        var way = graph.entity(wayId),
+            nodes = graph.childNodes(way),
+            points = _.uniq(nodes).map(function(n) { return projection(n.loc); }),
+            corner = {i: 0, dotp: 1},
+            epsilon = 1e-4,
+            i, j, score, motions;
+
+        if (nodes.length === 4) {
+            for (i = 0; i < 1000; i++) {
+                motions = points.map(calcMotion);
+                points[corner.i] = addPoints(points[corner.i],motions[corner.i]);
+                score = corner.dotp;
+                if (score < epsilon) {
+                    break;
                 }
             }
 
-            return {
-                modified: difference.modified().map(discardTags),
-                created: difference.created().map(discardTags),
-                deleted: difference.deleted()
-            };
-        },
+            graph = graph.replace(graph.entity(nodes[corner.i].id)
+                .move(projection.invert(points[corner.i])));
+        } else {
+            var best,
+                originalPoints = _.clone(points);
+            score = Infinity;
 
-        hasChanges: function() {
-            return this.difference().length() > 0;
-        },
+            for (i = 0; i < 1000; i++) {
+                motions = points.map(calcMotion);
+                for (j = 0; j < motions.length; j++) {
+                    points[j] = addPoints(points[j],motions[j]);
+                }
+                var newScore = squareness(points);
+                if (newScore < score) {
+                    best = _.clone(points);
+                    score = newScore;
+                }
+                if (score < epsilon) {
+                    break;
+                }
+            }
 
-        numChanges: function() {
-            return this.difference().length();
-        },
+            points = best;
 
-        imagery_used: function(source) {
-            if (source) imagery_used = source;
-            else return _.without(
-                    _.unique(_.pluck(stack.slice(1, index + 1), 'imagery_used')),
-                    undefined, 'Custom');
-        },
+            for (i = 0; i < points.length; i++) {
+                // only move the points that actually moved
+                if (originalPoints[i][0] !== points[i][0] || originalPoints[i][1] !== points[i][1]) {
+                    graph = graph.replace(graph.entity(nodes[i].id)
+                        .move(projection.invert(points[i])));
+                }
+            }
 
-        reset: function() {
-            stack = [{graph: iD.Graph()}];
-            index = 0;
-            tree = iD.Tree(stack[0].graph);
-            dispatch.change();
-            return history;
-        },
+            // remove empty nodes on straight sections
+            for (i = 0; i < points.length; i++) {
+                var node = nodes[i];
 
-        toJSON: function() {
-            if (stack.length <= 1) return;
+                if (graph.parentWays(node).length > 1 ||
+                    graph.parentRelations(node).length ||
+                    node.hasInterestingTags()) {
 
-            var s = stack.map(function(i) {
-                var x = { entities: i.graph.entities };
-                if (i.imagery_used) x.imagery_used = i.imagery_used;
-                if (i.annotation) x.annotation = i.annotation;
-                return x;
-            });
+                    continue;
+                }
 
-            return JSON.stringify({
-                stack: s,
-                nextIDs: iD.Entity.id.next,
-                index: index
-            }, function includeUndefined(key, value) {
-                if (typeof value === 'undefined') return 'undefined';
-                return value;
-            });
-        },
+                var dotp = normalizedDotProduct(i, points);
+                if (dotp < -1 + epsilon) {
+                    graph = iD.actions.DeleteNode(nodes[i].id)(graph);
+                }
+            }
+        }
 
-        fromJSON: function(json) {
+        return graph;
 
-            var h = JSON.parse(json);
+        function calcMotion(b, i, array) {
+            var a = array[(i - 1 + array.length) % array.length],
+                c = array[(i + 1) % array.length],
+                p = subtractPoints(a, b),
+                q = subtractPoints(c, b),
+                scale, dotp;
 
-            iD.Entity.id.next = h.nextIDs;
-            index = h.index;
-            stack = h.stack.map(function(d) {
-                d.graph = iD.Graph(stack[0].graph).load(d.entities);
-                return d;
-            });
-            stack[0].graph.inherited = false;
-            dispatch.change();
+            scale = 2 * Math.min(iD.geo.euclideanDistance(p, [0, 0]), iD.geo.euclideanDistance(q, [0, 0]));
+            p = normalizePoint(p, 1.0);
+            q = normalizePoint(q, 1.0);
 
-            return history;
-        },
+            dotp = filterDotProduct(p[0] * q[0] + p[1] * q[1]);
 
-        save: function() {
-            if (!lock) return history;
-            context.storage(getKey('lock'), null);
-            context.storage(getKey('saved_history'), this.toJSON() || null);
-            return history;
-        },
+            // nasty hack to deal with almost-straight segments (angle is closer to 180 than to 90/270).
+            if (array.length > 3) {
+                if (dotp < -0.707106781186547) {
+                    dotp += 1.0;
+                }
+            } else if (dotp && Math.abs(dotp) < corner.dotp) {
+                corner.i = i;
+                corner.dotp = Math.abs(dotp);
+            }
 
-        clearSaved: function() {
-            if (!lock) return;
-            context.storage(getKey('saved_history'), null);
-        },
+            return normalizePoint(addPoints(p, q), 0.1 * dotp * scale);
+        }
+    };
 
-        lock: function() {
-            if (context.storage(getKey('lock'))) return false;
-            context.storage(getKey('lock'), true);
-            lock = true;
-            return lock;
-        },
+    function squareness(points) {
+        return points.reduce(function(sum, val, i, array) {
+            var dotp = normalizedDotProduct(i, array);
 
-        // is iD not open in another window and it detects that
-        // there's a history stored in localStorage that's recoverable?
-        restorableChanges: function() {
-            return lock && !!context.storage(getKey('saved_history'));
-        },
+            dotp = filterDotProduct(dotp);
+            return sum + 2.0 * Math.min(Math.abs(dotp - 1.0), Math.min(Math.abs(dotp), Math.abs(dotp + 1)));
+        }, 0);
+    }
 
-        // load history from a version stored in localStorage
-        restore: function() {
-            if (!lock) return;
+    function normalizedDotProduct(i, points) {
+        var a = points[(i - 1 + points.length) % points.length],
+            b = points[i],
+            c = points[(i + 1) % points.length],
+            p = subtractPoints(a, b),
+            q = subtractPoints(c, b);
 
-            var json = context.storage(getKey('saved_history'));
-            if (json) this.fromJSON(json);
+        p = normalizePoint(p, 1.0);
+        q = normalizePoint(q, 1.0);
 
-            context.storage(getKey('saved_history', null));
+        return p[0] * q[0] + p[1] * q[1];
+    }
 
-        },
+    function subtractPoints(a, b) {
+        return [a[0] - b[0], a[1] - b[1]];
+    }
 
-        _getKey: getKey
+    function addPoints(a, b) {
+        return [a[0] + b[0], a[1] + b[1]];
+    }
 
-    };
+    function normalizePoint(point, scale) {
+        var vector = [0, 0];
+        var length = Math.sqrt(point[0] * point[0] + point[1] * point[1]);
+        if (length !== 0) {
+            vector[0] = point[0] / length;
+            vector[1] = point[1] / length;
+        }
 
-    history.reset();
+        vector[0] *= scale;
+        vector[1] *= scale;
 
-    return d3.rebind(history, dispatch, 'on');
-};
-iD.Node = iD.Entity.node = function iD_Node() {
-    if (!(this instanceof iD_Node)) {
-        return (new iD_Node()).initialize(arguments);
-    } else if (arguments.length) {
-        this.initialize(arguments);
+        return vector;
     }
-};
-
-iD.Node.prototype = Object.create(iD.Entity.prototype);
 
-_.extend(iD.Node.prototype, {
-    type: "node",
+    function filterDotProduct(dotp) {
+        if (lowerThreshold > Math.abs(dotp) || Math.abs(dotp) > upperThreshold) {
+            return dotp;
+        }
 
-    extent: function() {
-        return new iD.geo.Extent(this.loc);
-    },
+        return 0;
+    }
 
-    geometry: function(graph) {
-        return graph.isPoi(this) ? 'point' : 'vertex';
-    },
+    action.disabled = function(graph) {
+        var way = graph.entity(wayId),
+            nodes = graph.childNodes(way),
+            points = _.uniq(nodes).map(function(n) { return projection(n.loc); });
 
-    move: function(loc) {
-        return this.update({loc: loc});
-    },
+        if (squareness(points)) {
+            return false;
+        }
 
-    asJXON: function(changeset_id) {
-        var r = {
-            node: {
-                '@id': this.osmId(),
-                '@lon': this.loc[0],
-                '@lat': this.loc[1],
-                '@version': (this.version || 0),
-                tag: _.map(this.tags, function(v, k) {
-                    return { keyAttributes: { k: k, v: v } };
-                })
-            }
-        };
-        if (changeset_id) r.node['@changeset'] = changeset_id;
-        return r;
-    },
+        return 'not_squarish';
+    };
 
-    asGeoJSON: function() {
-        return {
-            type: 'Feature',
-            properties: this.tags,
-            geometry: {
-                type: 'Point',
-                coordinates: this.loc
-            }
-        };
-    }
-});
-iD.Relation = iD.Entity.relation = function iD_Relation() {
-    if (!(this instanceof iD_Relation)) {
-        return (new iD_Relation()).initialize(arguments);
-    } else if (arguments.length) {
-        this.initialize(arguments);
-    }
+    return action;
 };
+// Create a restriction relation for `turn`, which must have the following structure:
+//
+//     {
+//         from: { node: <node ID>, way: <way ID> },
+//         via:  { node: <node ID> },
+//         to:   { node: <node ID>, way: <way ID> },
+//         restriction: <'no_right_turn', 'no_left_turn', etc.>
+//     }
+//
+// This specifies a restriction of type `restriction` when traveling from
+// `from.node` in `from.way` toward `to.node` in `to.way` via `via.node`.
+// (The action does not check that these entities form a valid intersection.)
+//
+// If `restriction` is not provided, it is automatically determined by
+// iD.geo.inferRestriction.
+//
+// If necessary, the `from` and `to` ways are split. In these cases, `from.node`
+// and `to.node` are used to determine which portion of the split ways become
+// members of the restriction.
+//
+// For testing convenience, accepts an ID to assign to the new relation.
+// Normally, this will be undefined and the relation will automatically
+// be assigned a new ID.
+//
+iD.actions.RestrictTurn = function(turn, projection, restrictionId) {
+    return function(graph) {
+        var from = graph.entity(turn.from.way),
+            via  = graph.entity(turn.via.node),
+            to   = graph.entity(turn.to.way);
 
-iD.Relation.prototype = Object.create(iD.Entity.prototype);
-
-_.extend(iD.Relation.prototype, {
-    type: "relation",
-    members: [],
+        function isClosingNode(way, nodeId) {
+            return nodeId === way.first() && nodeId === way.last();
+        }
 
-    extent: function(resolver) {
-        return resolver.transient(this, 'extent', function() {
-            return this.members.reduce(function(extent, member) {
-                member = resolver.entity(member.id);
-                if (member) {
-                    return extent.extend(member.extent(resolver));
-                } else {
-                    return extent;
-                }
-            }, iD.geo.Extent());
-        });
-    },
+        function split(toOrFrom) {
+            var newID = toOrFrom.newID || iD.Way().id;
+            graph = iD.actions.Split(via.id, [newID])
+                .limitWays([toOrFrom.way])(graph);
 
-    geometry: function() {
-        return this.isMultipolygon() ? 'area' : 'relation';
-    },
+            var a = graph.entity(newID),
+                b = graph.entity(toOrFrom.way);
 
-    // Return the first member with the given role. A copy of the member object
-    // is returned, extended with an 'index' property whose value is the member index.
-    memberByRole: function(role) {
-        for (var i = 0; i < this.members.length; i++) {
-            if (this.members[i].role === role) {
-                return _.extend({}, this.members[i], {index: i});
+            if (a.nodes.indexOf(toOrFrom.node) !== -1) {
+                return [a, b];
+            } else {
+                return [b, a];
             }
         }
-    },
 
-    // Return the first member with the given id. A copy of the member object
-    // is returned, extended with an 'index' property whose value is the member index.
-    memberById: function(id) {
-        for (var i = 0; i < this.members.length; i++) {
-            if (this.members[i].id === id) {
-                return _.extend({}, this.members[i], {index: i});
+        if (!from.affix(via.id) || isClosingNode(from, via.id)) {
+            if (turn.from.node === turn.to.node) {
+                // U-turn
+                from = to = split(turn.from)[0];
+            } else if (turn.from.way === turn.to.way) {
+                // Straight-on or circular
+                var s = split(turn.from);
+                from = s[0];
+                to   = s[1];
+            } else {
+                // Other
+                from = split(turn.from)[0];
             }
         }
-    },
 
-    // Return the first member with the given id and role. A copy of the member object
-    // is returned, extended with an 'index' property whose value is the member index.
-    memberByIdAndRole: function(id, role) {
-        for (var i = 0; i < this.members.length; i++) {
-            if (this.members[i].id === id && this.members[i].role === role) {
-                return _.extend({}, this.members[i], {index: i});
-            }
+        if (!to.affix(via.id) || isClosingNode(to, via.id)) {
+            to = split(turn.to)[0];
         }
-    },
 
-    addMember: function(member, index) {
-        var members = this.members.slice();
-        members.splice(index === undefined ? members.length : index, 0, member);
-        return this.update({members: members});
-    },
+        return graph.replace(iD.Relation({
+            id: restrictionId,
+            tags: {
+                type: 'restriction',
+                restriction: turn.restriction ||
+                    iD.geo.inferRestriction(
+                        graph,
+                        turn.from,
+                        turn.via,
+                        turn.to,
+                        projection)
+            },
+            members: [
+                {id: from.id, type: 'way',  role: 'from'},
+                {id: via.id,  type: 'node', role: 'via'},
+                {id: to.id,   type: 'way',  role: 'to'}
+            ]
+        }));
+    };
+};
+/*
+  Order the nodes of a way in reverse order and reverse any direction dependent tags
+  other than `oneway`. (We assume that correcting a backwards oneway is the primary
+  reason for reversing a way.)
 
-    updateMember: function(member, index) {
-        var members = this.members.slice();
-        members.splice(index, 1, _.extend({}, members[index], member));
-        return this.update({members: members});
-    },
+  The following transforms are performed:
 
-    removeMember: function(id) {
-        var members = _.reject(this.members, function(m) { return m.id === id; });
-        return this.update({members: members});
-    },
+    Keys:
+          *:right=* ⟺ *:left=*
+        *:forward=* ⟺ *:backward=*
+       direction=up ⟺ direction=down
+         incline=up ⟺ incline=down
+            *=right ⟺ *=left
 
-    // Wherever a member appears with id `needle.id`, replace it with a member
-    // with id `replacement.id`, type `replacement.type`, and the original role,
-    // unless a member already exists with that id and role. Return an updated
-    // relation.
-    replaceMember: function(needle, replacement) {
-        if (!this.memberById(needle.id))
-            return this;
+    Relation members:
+       role=forward ⟺ role=backward
+         role=north ⟺ role=south
+          role=east ⟺ role=west
 
-        var members = [];
+   In addition, numeric-valued `incline` tags are negated.
 
-        for (var i = 0; i < this.members.length; i++) {
-            var member = this.members[i];
-            if (member.id !== needle.id) {
-                members.push(member);
-            } else if (!this.memberByIdAndRole(replacement.id, member.role)) {
-                members.push({id: replacement.id, type: replacement.type, role: member.role});
-            }
-        }
+   The JOSM implementation was used as a guide, but transformations that were of unclear benefit
+   or adjusted tags that don't seem to be used in practice were omitted.
 
-        return this.update({members: members});
-    },
+   References:
+      http://wiki.openstreetmap.org/wiki/Forward_%26_backward,_left_%26_right
+      http://wiki.openstreetmap.org/wiki/Key:direction#Steps
+      http://wiki.openstreetmap.org/wiki/Key:incline
+      http://wiki.openstreetmap.org/wiki/Route#Members
+      http://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/corrector/ReverseWayTagCorrector.java
+ */
+iD.actions.Reverse = function(wayId, options) {
+    var replacements = [
+            [/:right$/, ':left'], [/:left$/, ':right'],
+            [/:forward$/, ':backward'], [/:backward$/, ':forward']
+        ],
+        numeric = /^([+\-]?)(?=[\d.])/,
+        roleReversals = {
+            forward: 'backward',
+            backward: 'forward',
+            north: 'south',
+            south: 'north',
+            east: 'west',
+            west: 'east'
+        };
 
-    asJXON: function(changeset_id) {
-        var r = {
-            relation: {
-                '@id': this.osmId(),
-                '@version': this.version || 0,
-                member: _.map(this.members, function(member) {
-                    return { keyAttributes: { type: member.type, role: member.role, ref: iD.Entity.id.toOSM(member.id) } };
-                }),
-                tag: _.map(this.tags, function(v, k) {
-                    return { keyAttributes: { k: k, v: v } };
-                })
+    function reverseKey(key) {
+        for (var i = 0; i < replacements.length; ++i) {
+            var replacement = replacements[i];
+            if (replacement[0].test(key)) {
+                return key.replace(replacement[0], replacement[1]);
             }
-        };
-        if (changeset_id) r.relation['@changeset'] = changeset_id;
-        return r;
-    },
+        }
+        return key;
+    }
 
-    asGeoJSON: function(resolver) {
-        if (this.isMultipolygon()) {
-            return {
-                type: 'Feature',
-                properties: this.tags,
-                geometry: {
-                    type: 'MultiPolygon',
-                    coordinates: this.multipolygon(resolver)
-                }
-            };
+    function reverseValue(key, value) {
+        if (key === 'incline' && numeric.test(value)) {
+            return value.replace(numeric, function(_, sign) { return sign === '-' ? '' : '-'; });
+        } else if (key === 'incline' || key === 'direction') {
+            return {up: 'down', down: 'up'}[value] || value;
+        } else if (options && options.reverseOneway && key === 'oneway') {
+            return {yes: '-1', '1': '-1', '-1': 'yes'}[value] || value;
         } else {
-            return {
-                type: 'FeatureCollection',
-                properties: this.tags,
-                features: this.members.map(function(member) {
-                    return _.extend({role: member.role}, resolver.entity(member.id).asGeoJSON(resolver));
-                })
-            };
+            return {left: 'right', right: 'left'}[value] || value;
         }
-    },
+    }
 
-    isMultipolygon: function() {
-        return this.tags.type === 'multipolygon';
-    },
+    return function(graph) {
+        var way = graph.entity(wayId),
+            nodes = way.nodes.slice().reverse(),
+            tags = {}, key, role;
 
-    isComplete: function(resolver) {
-        for (var i = 0; i < this.members.length; i++) {
-            if (!resolver.entity(this.members[i].id)) {
-                return false;
-            }
+        for (key in way.tags) {
+            tags[reverseKey(key)] = reverseValue(key, way.tags[key]);
         }
-        return true;
-    },
-
-    isRestriction: function() {
-        return !!(this.tags.type && this.tags.type.match(/^restriction:?/));
-    },
-
-    // Returns an array [A0, ... An], each Ai being an array of node arrays [Nds0, ... Ndsm],
-    // where Nds0 is an outer ring and subsequent Ndsi's (if any i > 0) being inner rings.
-    //
-    // This corresponds to the structure needed for rendering a multipolygon path using a
-    // `evenodd` fill rule, as well as the structure of a GeoJSON MultiPolygon geometry.
-    //
-    // In the case of invalid geometries, this function will still return a result which
-    // includes the nodes of all way members, but some Nds may be unclosed and some inner
-    // rings not matched with the intended outer ring.
-    //
-    multipolygon: function(resolver) {
-        var members = this.members
-            .filter(function(m) { return m.type === 'way' && resolver.entity(m.id); })
-            .map(function(m) { return { role: m.role || 'outer', id: m.id, nodes: resolver.childNodes(resolver.entity(m.id)) }; });
-
-        function join(ways) {
-            var joined = [], current, first, last, i, how, what;
-
-            while (ways.length) {
-                current = ways.pop().nodes.slice();
-                joined.push(current);
-
-                while (ways.length && _.first(current) !== _.last(current)) {
-                    first = _.first(current);
-                    last  = _.last(current);
-
-                    for (i = 0; i < ways.length; i++) {
-                        what = ways[i].nodes;
-
-                        if (last === _.first(what)) {
-                            how  = current.push;
-                            what = what.slice(1);
-                            break;
-                        } else if (last === _.last(what)) {
-                            how  = current.push;
-                            what = what.slice(0, -1).reverse();
-                            break;
-                        } else if (first == _.last(what)) {
-                            how  = current.unshift;
-                            what = what.slice(0, -1);
-                            break;
-                        } else if (first == _.first(what)) {
-                            how  = current.unshift;
-                            what = what.slice(1).reverse();
-                            break;
-                        } else {
-                            what = how = null;
-                        }
-                    }
 
-                    if (!what)
-                        break; // Invalid geometry (unclosed ring)
-
-                    ways.splice(i, 1);
-                    how.apply(current, what);
+        graph.parentRelations(way).forEach(function(relation) {
+            relation.members.forEach(function(member, index) {
+                if (member.id === way.id && (role = roleReversals[member.role])) {
+                    relation = relation.updateMember({role: role}, index);
+                    graph = graph.replace(relation);
                 }
-            }
+            });
+        });
 
-            return joined.map(function(nodes) { return _.pluck(nodes, 'loc'); });
-        }
+        return graph.replace(way.update({nodes: nodes, tags: tags}));
+    };
+};
+iD.actions.Revert = function(id) {
 
-        function findOuter(inner) {
-            var o, outer;
+    var action = function(graph) {
+        var entity = graph.hasEntity(id),
+            base = graph.base().entities[id];
 
-            for (o = 0; o < outers.length; o++) {
-                outer = outers[o];
-                if (iD.geo.polygonContainsPolygon(outer, inner))
-                    return o;
-            }
+        if (entity && !base) {    // entity will be removed..
+            if (entity.type === 'node') {
+                graph.parentWays(entity)
+                    .forEach(function(parent) {
+                        parent = parent.removeNode(id);
+                        graph = graph.replace(parent);
 
-            for (o = 0; o < outers.length; o++) {
-                outer = outers[o];
-                if (iD.geo.polygonIntersectsPolygon(outer, inner))
-                    return o;
+                        if (parent.isDegenerate()) {
+                            graph = iD.actions.DeleteWay(parent.id)(graph);
+                        }
+                    });
             }
-        }
 
-        var outers = join(members.filter(function(m) { return m.role === 'outer'; })),
-            inners = join(members.filter(function(m) { return m.role === 'inner'; })),
-            result = outers.map(function(o) { return [o]; });
+            graph.parentRelations(entity)
+                .forEach(function(parent) {
+                    parent = parent.removeMembersWithID(id);
+                    graph = graph.replace(parent);
 
-        for (var i = 0; i < inners.length; i++) {
-            var o = findOuter(inners[i]);
-            if (o !== undefined)
-                result[o].push(inners[i]);
-            else
-                result.push([inners[i]]); // Invalid geometry
+                    if (parent.isDegenerate()) {
+                        graph = iD.actions.DeleteRelation(parent.id)(graph);
+                    }
+                });
         }
 
-        return result;
-    }
-});
-iD.Tree = function(graph) {
-
-    var rtree = new RTree(),
-        m = 1000 * 1000 * 100,
-        head = graph,
-        queuedCreated = [],
-        queuedModified = [],
-        x, y, dx, dy, rebased;
+        return graph.revert(id);
+    };
 
-    function extentRectangle(extent) {
-            x = m * extent[0][0],
-            y = m * extent[0][1],
-            dx = m * extent[1][0] - x || 2,
-            dy = m * extent[1][1] - y || 2;
-        return new RTree.Rectangle(~~x, ~~y, ~~dx - 1, ~~dy - 1);
-    }
+    return action;
+};
+iD.actions.RotateWay = function(wayId, pivot, angle, projection) {
+    return function(graph) {
+        return graph.update(function(graph) {
+            var way = graph.entity(wayId);
 
-    function insert(entity) {
-        rtree.insert(extentRectangle(entity.extent(head)), entity.id);
-    }
+            _.unique(way.nodes).forEach(function(id) {
 
-    function remove(entity) {
-        rtree.remove(extentRectangle(entity.extent(graph)), entity.id);
-    }
+                var node = graph.entity(id),
+                    point = projection(node.loc),
+                    radial = [0,0];
 
-    function reinsert(entity) {
-        remove(graph.entities[entity.id]);
-        insert(entity);
-    }
+                radial[0] = point[0] - pivot[0];
+                radial[1] = point[1] - pivot[1];
 
-    var tree = {
+                point = [
+                    radial[0] * Math.cos(angle) - radial[1] * Math.sin(angle) + pivot[0],
+                    radial[0] * Math.sin(angle) + radial[1] * Math.cos(angle) + pivot[1]
+                ];
 
-        rebase: function(entities) {
-            for (var i = 0; i < entities.length; i++) {
-                if (!graph.entities.hasOwnProperty(entities[i])) {
-                    insert(graph.entity(entities[i]), true);
-                }
-            }
-            rebased = true;
-            return tree;
-        },
+                graph = graph.replace(node.move(projection.invert(point)));
 
-        intersects: function(extent, g) {
+            });
 
-            head = g;
+        });
+    };
+};
+// Split a way at the given node.
+//
+// Optionally, split only the given ways, if multiple ways share
+// the given node.
+//
+// This is the inverse of `iD.actions.Join`.
+//
+// For testing convenience, accepts an ID to assign to the new way.
+// Normally, this will be undefined and the way will automatically
+// be assigned a new ID.
+//
+// Reference:
+//   https://github.com/systemed/potlatch2/blob/master/net/systemeD/halcyon/connection/actions/SplitWayAction.as
+//
+iD.actions.Split = function(nodeId, newWayIds) {
+    var wayIds;
 
-            if (graph !== head || rebased) {
-                var diff = iD.Difference(graph, head),
-                    modified = {};
+    // if the way is closed, we need to search for a partner node
+    // to split the way at.
+    //
+    // The following looks for a node that is both far away from
+    // the initial node in terms of way segment length and nearby
+    // in terms of beeline-distance. This assures that areas get
+    // split on the most "natural" points (independent of the number
+    // of nodes).
+    // For example: bone-shaped areas get split across their waist
+    // line, circles across the diameter.
+    function splitArea(nodes, idxA, graph) {
+        var lengths = new Array(nodes.length),
+            length,
+            i,
+            best = 0,
+            idxB;
 
-                diff.modified().forEach(function(d) {
-                    var loc = graph.entities[d.id].loc;
-                    if (!loc || loc[0] !== d.loc[0] || loc[1] !== d.loc[1]) {
-                        modified[d.id] = d;
-                    }
-                });
+        function wrap(index) {
+            return iD.util.wrap(index, nodes.length);
+        }
 
-                var created = diff.created().concat(queuedCreated);
-                modified = d3.values(diff.addParents(modified))
-                    // some parents might be created, not modified
-                    .filter(function(d) { return !!graph.entity(d.id); })
-                    .concat(queuedModified);
-                queuedCreated = [];
-                queuedModified = [];
-
-                modified.forEach(function(d) {
-                    if (head.hasAllChildren(d)) reinsert(d);
-                    else queuedModified.push(d);
-                });
+        function dist(nA, nB) {
+            return iD.geo.sphericalDistance(graph.entity(nA).loc, graph.entity(nB).loc);
+        }
 
-                created.forEach(function(d) {
-                    if (head.hasAllChildren(d)) insert(d);
-                    else queuedCreated.push(d);
-                });
+        // calculate lengths
+        length = 0;
+        for (i = wrap(idxA+1); i !== idxA; i = wrap(i+1)) {
+            length += dist(nodes[i], nodes[wrap(i-1)]);
+            lengths[i] = length;
+        }
 
-                diff.deleted().forEach(remove);
+        length = 0;
+        for (i = wrap(idxA-1); i !== idxA; i = wrap(i-1)) {
+            length += dist(nodes[i], nodes[wrap(i+1)]);
+            if (length < lengths[i])
+                lengths[i] = length;
+        }
 
-                graph = head;
-                rebased = false;
+        // determine best opposite node to split
+        for (i = 0; i < nodes.length; i++) {
+            var cost = lengths[i] / dist(nodes[idxA], nodes[i]);
+            if (cost > best) {
+                idxB = i;
+                best = cost;
             }
-
-            return rtree.search(extentRectangle(extent))
-                .map(function(id) { return graph.entity(id); });
-        },
-
-        graph: function() {
-            return graph;
         }
 
-    };
+        return idxB;
+    }
 
-    return tree;
-};
-iD.Way = iD.Entity.way = function iD_Way() {
-    if (!(this instanceof iD_Way)) {
-        return (new iD_Way()).initialize(arguments);
-    } else if (arguments.length) {
-        this.initialize(arguments);
-    }
-};
+    function split(graph, wayA, newWayId) {
+        var wayB = iD.Way({id: newWayId, tags: wayA.tags}),
+            nodesA,
+            nodesB,
+            isArea = wayA.isArea(),
+            isOuter = iD.geo.isSimpleMultipolygonOuterMember(wayA, graph);
 
-iD.Way.prototype = Object.create(iD.Entity.prototype);
+        if (wayA.isClosed()) {
+            var nodes = wayA.nodes.slice(0, -1),
+                idxA = _.indexOf(nodes, nodeId),
+                idxB = splitArea(nodes, idxA, graph);
 
-_.extend(iD.Way.prototype, {
-    type: "way",
-    nodes: [],
+            if (idxB < idxA) {
+                nodesA = nodes.slice(idxA).concat(nodes.slice(0, idxB + 1));
+                nodesB = nodes.slice(idxB, idxA + 1);
+            } else {
+                nodesA = nodes.slice(idxA, idxB + 1);
+                nodesB = nodes.slice(idxB).concat(nodes.slice(0, idxA + 1));
+            }
+        } else {
+            var idx = _.indexOf(wayA.nodes, nodeId, 1);
+            nodesA = wayA.nodes.slice(0, idx + 1);
+            nodesB = wayA.nodes.slice(idx);
+        }
 
-    extent: function(resolver) {
-        return resolver.transient(this, 'extent', function() {
-            return this.nodes.reduce(function(extent, id) {
-                return extent.extend(resolver.entity(id).extent(resolver));
-            }, iD.geo.Extent());
-        });
-    },
+        wayA = wayA.update({nodes: nodesA});
+        wayB = wayB.update({nodes: nodesB});
 
-    first: function() {
-        return this.nodes[0];
-    },
+        graph = graph.replace(wayA);
+        graph = graph.replace(wayB);
 
-    last: function() {
-        return this.nodes[this.nodes.length - 1];
-    },
+        graph.parentRelations(wayA).forEach(function(relation) {
+            if (relation.isRestriction()) {
+                var via = relation.memberByRole('via');
+                if (via && wayB.contains(via.id)) {
+                    relation = relation.updateMember({id: wayB.id}, relation.memberById(wayA.id).index);
+                    graph = graph.replace(relation);
+                }
+            } else {
+                if (relation === isOuter) {
+                    graph = graph.replace(relation.mergeTags(wayA.tags));
+                    graph = graph.replace(wayA.update({tags: {}}));
+                    graph = graph.replace(wayB.update({tags: {}}));
+                }
 
-    contains: function(node) {
-        return this.nodes.indexOf(node) >= 0;
-    },
+                var member = {
+                    id: wayB.id,
+                    type: 'way',
+                    role: relation.memberById(wayA.id).role
+                };
 
-    isOneWay: function() {
-        return this.tags.oneway === 'yes' ||
-            this.tags.waterway === 'river' ||
-            this.tags.waterway === 'stream' ||
-            this.tags.junction === 'roundabout';
-    },
+                graph = iD.actions.AddMember(relation.id, member)(graph);
+            }
+        });
 
-    isClosed: function() {
-        return this.nodes.length > 0 && this.first() === this.last();
-    },
+        if (!isOuter && isArea) {
+            var multipolygon = iD.Relation({
+                tags: _.extend({}, wayA.tags, {type: 'multipolygon'}),
+                members: [
+                    {id: wayA.id, role: 'outer', type: 'way'},
+                    {id: wayB.id, role: 'outer', type: 'way'}
+                ]});
 
-    isArea: function() {
-        if (this.tags.area === 'yes')
-            return true;
-        if (!this.isClosed() || this.tags.area === 'no')
-            return false;
-        for (var key in this.tags)
-            if (key in iD.Way.areaKeys && !(this.tags[key] in iD.Way.areaKeys[key]))
-                return true;
-        return false;
-    },
+            graph = graph.replace(multipolygon);
+            graph = graph.replace(wayA.update({tags: {}}));
+            graph = graph.replace(wayB.update({tags: {}}));
+        }
 
-    isDegenerate: function() {
-        return _.uniq(this.nodes).length < (this.isArea() ? 3 : 2);
-    },
+        return graph;
+    }
 
-    areAdjacent: function(n1, n2) {
-        for (var i = 0; i < this.nodes.length; i++) {
-            if (this.nodes[i] === n1) {
-                if (this.nodes[i - 1] === n2) return true;
-                if (this.nodes[i + 1] === n2) return true;
-            }
+    var action = function(graph) {
+        var candidates = action.ways(graph);
+        for (var i = 0; i < candidates.length; i++) {
+            graph = split(graph, candidates[i], newWayIds && newWayIds[i]);
         }
-        return false;
-    },
+        return graph;
+    };
 
-    geometry: function() {
-        return this.isArea() ? 'area' : 'line';
-    },
+    action.ways = function(graph) {
+        var node = graph.entity(nodeId),
+            parents = graph.parentWays(node),
+            hasLines = _.any(parents, function(parent) { return parent.geometry(graph) === 'line'; });
 
-    addNode: function(id, index) {
-        var nodes = this.nodes.slice();
-        nodes.splice(index === undefined ? nodes.length : index, 0, id);
-        return this.update({nodes: nodes});
-    },
+        return parents.filter(function(parent) {
+            if (wayIds && wayIds.indexOf(parent.id) === -1)
+                return false;
 
-    updateNode: function(id, index) {
-        var nodes = this.nodes.slice();
-        nodes.splice(index, 1, id);
-        return this.update({nodes: nodes});
-    },
+            if (!wayIds && hasLines && parent.geometry(graph) !== 'line')
+                return false;
 
-    replaceNode: function(needle, replacement) {
-        if (this.nodes.indexOf(needle) < 0)
-            return this;
+            if (parent.isClosed()) {
+                return true;
+            }
 
-        var nodes = this.nodes.slice();
-        for (var i = 0; i < nodes.length; i++) {
-            if (nodes[i] === needle) {
-                nodes[i] = replacement;
+            for (var i = 1; i < parent.nodes.length - 1; i++) {
+                if (parent.nodes[i] === nodeId) {
+                    return true;
+                }
             }
-        }
-        return this.update({nodes: nodes});
-    },
 
-    removeNode: function(id) {
-        var nodes = [];
+            return false;
+        });
+    };
 
-        for (var i = 0; i < this.nodes.length; i++) {
-            var node = this.nodes[i];
-            if (node != id && nodes[nodes.length - 1] != node) {
-                nodes.push(node);
-            }
-        }
+    action.disabled = function(graph) {
+        var candidates = action.ways(graph);
+        if (candidates.length === 0 || (wayIds && wayIds.length !== candidates.length))
+            return 'not_eligible';
+    };
 
-        // Preserve circularity
-        if (this.nodes.length > 1 && this.first() === id && this.last() === id && nodes[nodes.length - 1] != nodes[0]) {
-            nodes.push(nodes[0]);
-        }
+    action.limitWays = function(_) {
+        if (!arguments.length) return wayIds;
+        wayIds = _;
+        return action;
+    };
 
-        return this.update({nodes: nodes});
-    },
+    return action;
+};
+/*
+ * Based on https://github.com/openstreetmap/potlatch2/net/systemeD/potlatch2/tools/Straighten.as
+ */
 
-    asJXON: function(changeset_id) {
-        var r = {
-            way: {
-                '@id': this.osmId(),
-                '@version': this.version || 0,
-                nd: _.map(this.nodes, function(id) {
-                    return { keyAttributes: { ref: iD.Entity.id.toOSM(id) } };
-                }),
-                tag: _.map(this.tags, function(v, k) {
-                    return { keyAttributes: { k: k, v: v } };
-                })
-            }
-        };
-        if (changeset_id) r.way['@changeset'] = changeset_id;
-        return r;
-    },
+iD.actions.Straighten = function(wayId, projection) {
+    function positionAlongWay(n, s, e) {
+        return ((n[0] - s[0]) * (e[0] - s[0]) + (n[1] - s[1]) * (e[1] - s[1]))/
+                (Math.pow(e[0] - s[0], 2) + Math.pow(e[1] - s[1], 2));
+    }
 
-    asGeoJSON: function(resolver, close) {
+    var action = function(graph) {
+        var way = graph.entity(wayId),
+            nodes = graph.childNodes(way),
+            points = nodes.map(function(n) { return projection(n.loc); }),
+            startPoint = points[0],
+            endPoint = points[points.length-1],
+            toDelete = [],
+            i;
 
-        var childnodes = resolver.childNodes(this);
+        for (i = 1; i < points.length-1; i++) {
+            var node = nodes[i],
+                point = points[i];
 
-        // Close unclosed way
-        if (close && !this.isClosed() && childnodes.length) {
-            childnodes = childnodes.concat([childnodes[0]]);
-        }
+            if (graph.parentWays(node).length > 1 ||
+                graph.parentRelations(node).length ||
+                node.hasInterestingTags()) {
 
-        if (this.isArea() && (close || this.isClosed())) {
-            return {
-                type: 'Feature',
-                properties: this.tags,
-                geometry: {
-                    type: 'Polygon',
-                    coordinates: [_.pluck(childnodes, 'loc')]
-                }
-            };
-        } else {
-            return {
-                type: 'Feature',
-                properties: this.tags,
-                geometry: {
-                    type: 'LineString',
-                    coordinates: _.pluck(childnodes, 'loc')
+                var u = positionAlongWay(point, startPoint, endPoint),
+                    p0 = startPoint[0] + u * (endPoint[0] - startPoint[0]),
+                    p1 = startPoint[1] + u * (endPoint[1] - startPoint[1]);
+
+                graph = graph.replace(graph.entity(node.id)
+                    .move(projection.invert([p0, p1])));
+            } else {
+                // safe to delete
+                if (toDelete.indexOf(node) === -1) {
+                    toDelete.push(node);
                 }
-            };
+            }
         }
-    }
-});
 
-// A closed way is considered to be an area if it has a tag with one
-// of the following keys, and the value is _not_ one of the associated
-// values for the respective key.
-iD.Way.areaKeys = {
-    area: {},
-    building: {},
-    leisure: {},
-    tourism: {},
-    ruins: {},
-    historic: {},
-    landuse: {},
-    military: {},
-    natural: { coastline: true },
-    amenity: {},
-    shop: {},
-    man_made: {},
-    public_transport: {},
-    place: {},
-    aeroway: {},
-    waterway: {}
-};
-iD.Background = function(backgroundType) {
+        for (i = 0; i < toDelete.length; i++) {
+            graph = iD.actions.DeleteNode(toDelete[i].id)(graph);
+        }
 
-    backgroundType = backgroundType || 'layer';
+        return graph;
+    };
+    
+    action.disabled = function(graph) {
+        // check way isn't too bendy
+        var way = graph.entity(wayId),
+            nodes = graph.childNodes(way),
+            points = nodes.map(function(n) { return projection(n.loc); }),
+            startPoint = points[0],
+            endPoint = points[points.length-1],
+            threshold = 0.2 * Math.sqrt(Math.pow(startPoint[0] - endPoint[0], 2) + Math.pow(startPoint[1] - endPoint[1], 2)),
+            i;
 
-    var tileSize = 256,
-        tile = d3.geo.tile(),
-        projection,
-        cache = {},
-        offset = [0, 0],
-        offsets = {},
-        tileOrigin,
-        z,
-        transformProp = iD.util.prefixCSSProperty('Transform'),
-        source = d3.functor('');
+        for (i = 1; i < points.length-1; i++) {
+            var point = points[i],
+                u = positionAlongWay(point, startPoint, endPoint),
+                p0 = startPoint[0] + u * (endPoint[0] - startPoint[0]),
+                p1 = startPoint[1] + u * (endPoint[1] - startPoint[1]),
+                dist = Math.sqrt(Math.pow(p0 - point[0], 2) + Math.pow(p1 - point[1], 2));
 
-    function tileSizeAtZoom(d, z) {
-        return Math.ceil(tileSize * Math.pow(2, z - d[2])) / tileSize;
-    }
+            // to bendy if point is off by 20% of total start/end distance in projected space
+            if (dist > threshold) {
+                return 'too_bendy';
+            }
+        }
+    };
 
-    function atZoom(t, distance) {
-        var power = Math.pow(2, distance);
-        return [
-            Math.floor(t[0] * power),
-            Math.floor(t[1] * power),
-            t[2] + distance];
-    }
+    return action;
+};
+// Remove the effects of `turn.restriction` on `turn`, which must have the
+// following structure:
+//
+//     {
+//         from: { node: <node ID>, way: <way ID> },
+//         via:  { node: <node ID> },
+//         to:   { node: <node ID>, way: <way ID> },
+//         restriction: <relation ID>
+//     }
+//
+// In the simple case, `restriction` is a reference to a `no_*` restriction
+// on the turn itself. In this case, it is simply deleted.
+//
+// The more complex case is where `restriction` references an `only_*`
+// restriction on a different turn in the same intersection. In that case,
+// that restriction is also deleted, but at the same time restrictions on
+// the turns other than the first two are created.
+//
+iD.actions.UnrestrictTurn = function(turn) {
+    return function(graph) {
+        return iD.actions.DeleteRelation(turn.restriction)(graph);
+    };
+};
+iD.behavior = {};
+iD.behavior.AddWay = function(context) {
+    var event = d3.dispatch('start', 'startFromWay', 'startFromNode'),
+        draw = iD.behavior.Draw(context);
 
-    function lookUp(d) {
-        for (var up = -1; up > -d[2]; up--) {
-            if (cache[atZoom(d, up)] !== false) return atZoom(d, up);
-        }
-    }
+    var addWay = function(surface) {
+        draw.on('click', event.start)
+            .on('clickWay', event.startFromWay)
+            .on('clickNode', event.startFromNode)
+            .on('cancel', addWay.cancel)
+            .on('finish', addWay.cancel);
 
-    function uniqueBy(a, n) {
-        var o = [], seen = {};
-        for (var i = 0; i < a.length; i++) {
-            if (seen[a[i][n]] === undefined) {
-                o.push(a[i]);
-                seen[a[i][n]] = true;
-            }
-        }
-        return o;
-    }
+        context.map()
+            .dblclickEnable(false);
 
-    function addSource(d) {
-        d.push(source(d));
-        return d;
-    }
+        surface.call(draw);
+    };
 
-    // Update tiles based on current state of `projection`.
-    function background(selection) {
-        tile.scale(projection.scale() * 2 * Math.PI)
-            .translate(projection.translate());
+    addWay.off = function(surface) {
+        surface.call(draw.off);
+    };
 
-        tileOrigin = [
-            projection.scale() * Math.PI - projection.translate()[0],
-            projection.scale() * Math.PI - projection.translate()[1]];
+    addWay.cancel = function() {
+        window.setTimeout(function() {
+            context.map().dblclickEnable(true);
+        }, 1000);
 
-        z = Math.max(Math.log(projection.scale() * 2 * Math.PI) / Math.log(2) - 8, 0);
+        context.enter(iD.modes.Browse(context));
+    };
 
-        render(selection);
-    }
+    addWay.tail = function(text) {
+        draw.tail(text);
+        return addWay;
+    };
 
-    // Derive the tiles onscreen, remove those offscreen and position them.
-    // Important that this part not depend on `projection` because it's
-    // rentered when tiles load/error (see #644).
-    function render(selection) {
-        var requests = [];
+    return d3.rebind(addWay, event, 'on');
+};
+iD.behavior.Copy = function(context) {
+    var keybinding = d3.keybinding('copy');
 
-        tile().forEach(function(d) {
-            addSource(d);
-            requests.push(d);
-            if (cache[d[3]] === false && lookUp(d)) {
-                requests.push(addSource(lookUp(d)));
-            }
-        });
+    function groupEntities(ids, graph) {
+        var entities = ids.map(function (id) { return graph.entity(id); });
+        return _.extend({relation: [], way: [], node: []},
+            _.groupBy(entities, function(entity) { return entity.type; }));
+    }
 
-        requests = uniqueBy(requests, 3).filter(function(r) {
-            // don't re-request tiles which have failed in the past
-            return cache[r[3]] !== false;
-        });
+    function getDescendants(id, graph, descendants) {
+        var entity = graph.entity(id),
+            i, children;
 
-        var pixelOffset = [
-            Math.round(offset[0] * Math.pow(2, z)),
-            Math.round(offset[1] * Math.pow(2, z))
-        ];
+        descendants = descendants || {};
 
-        function load(d) {
-            cache[d[3]] = true;
-            d3.select(this)
-                .on('load', null)
-                .classed('tile-loaded', true);
-            render(selection);
+        if (entity.type === 'relation') {
+            children = _.pluck(entity.members, 'id');
+        } else if (entity.type === 'way') {
+            children = entity.nodes;
+        } else {
+            children = [];
         }
 
-        function error(d) {
-            cache[d[3]] = false;
-            d3.select(this)
-                .on('load', null)
-                .remove();
-            render(selection);
+        for (i = 0; i < children.length; i++) {
+            if (!descendants[children[i]]) {
+                descendants[children[i]] = true;
+                descendants = getDescendants(children[i], graph, descendants);
+            }
         }
 
-        function imageTransform(d) {
-            var _ts = tileSize * Math.pow(2, z - d[2]);
-            var scale = tileSizeAtZoom(d, z);
-            return 'translate(' +
-                (Math.round((d[0] * _ts) - tileOrigin[0]) + pixelOffset[0]) + 'px,' +
-                (Math.round((d[1] * _ts) - tileOrigin[1]) + pixelOffset[1]) + 'px)' +
-                'scale(' + scale + ',' + scale + ')';
-        }
+        return descendants;
+    }
 
-        var image = selection
-            .selectAll('img')
-            .data(requests, function(d) { return d[3]; });
+    function doCopy() {
+        d3.event.preventDefault();
 
-        image.exit()
-            .style(transformProp, imageTransform)
-            .classed('tile-loaded', false)
-            .each(function() {
-                var tile = this;
-                window.setTimeout(function() {
-                    // this tile may already be removed
-                    if (tile.parentNode) {
-                        tile.parentNode.removeChild(tile);
-                    }
-                }, 300);
-            });
+        var graph = context.graph(),
+            selected = groupEntities(context.selectedIDs(), graph),
+            canCopy = [],
+            skip = {},
+            i, entity;
 
-        image.enter().append('img')
-            .attr('class', 'tile')
-            .attr('src', function(d) { return d[3]; })
-            .on('error', error)
-            .on('load', load);
+        for (i = 0; i < selected.relation.length; i++) {
+            entity = selected.relation[i];
+            if (!skip[entity.id] && entity.isComplete(graph)) {
+                canCopy.push(entity.id);
+                skip = getDescendants(entity.id, graph, skip);
+            }
+        }
+        for (i = 0; i < selected.way.length; i++) {
+            entity = selected.way[i];
+            if (!skip[entity.id]) {
+                canCopy.push(entity.id);
+                skip = getDescendants(entity.id, graph, skip);
+            }
+        }
+        for (i = 0; i < selected.node.length; i++) {
+            entity = selected.node[i];
+            if (!skip[entity.id]) {
+                canCopy.push(entity.id);
+            }
+        }
 
-        image.style(transformProp, imageTransform);
+        context.copyIDs(canCopy);
     }
 
-    background.offset = function(_) {
-        if (!arguments.length) return offset;
-        offset = _;
-        if (source.data) offsets[source.data.name] = offset;
-        return background;
-    };
+    function copy() {
+        keybinding.on(iD.ui.cmd('⌘C'), doCopy);
+        d3.select(document).call(keybinding);
+        return copy;
+    }
 
-    background.nudge = function(_, zoomlevel) {
-        offset[0] += _[0] / Math.pow(2, zoomlevel);
-        offset[1] += _[1] / Math.pow(2, zoomlevel);
-        return background;
+    copy.off = function() {
+        d3.select(document).call(keybinding.off);
     };
 
-    background.projection = function(_) {
-        if (!arguments.length) return projection;
-        projection = _;
-        return background;
-    };
+    return copy;
+};
+/*
+    `iD.behavior.drag` is like `d3.behavior.drag`, with the following differences:
 
-    background.size = function(_) {
-        if (!arguments.length) return tile.size();
-        tile.size(_);
-        return background;
-    };
+    * The `origin` function is expected to return an [x, y] tuple rather than an
+      {x, y} object.
+    * The events are `start`, `move`, and `end`.
+      (https://github.com/mbostock/d3/issues/563)
+    * The `start` event is not dispatched until the first cursor movement occurs.
+      (https://github.com/mbostock/d3/pull/368)
+    * The `move` event has a `point` and `delta` [x, y] tuple properties rather
+      than `x`, `y`, `dx`, and `dy` properties.
+    * The `end` event is not dispatched if no movement occurs.
+    * An `off` function is available that unbinds the drag's internal event handlers.
+    * Delegation is supported via the `delegate` function.
 
-    function setHash(source) {
-        var tag = source.data && source.data.sourcetag;
-        var q = iD.util.stringQs(location.hash.substring(1));
-        if (tag) {
-            q[backgroundType] = tag;
-            location.replace('#' + iD.util.qsString(q, true));
-        } else {
-            location.replace('#' + iD.util.qsString(_.omit(q, backgroundType), true));
-        }
+ */
+iD.behavior.drag = function() {
+    function d3_eventCancel() {
+      d3.event.stopPropagation();
+      d3.event.preventDefault();
     }
 
-    background.dispatch = d3.dispatch('change');
+    var event = d3.dispatch('start', 'move', 'end'),
+        origin = null,
+        selector = '',
+        filter = null,
+        event_, target, surface;
 
-    background.source = function(_) {
-        if (!arguments.length) return source;
-        source = _;
-        if (source.data) {
-            offset = offsets[source.data.name] = offsets[source.data.name] || [0, 0];
-        } else {
-            offset = [0, 0];
+    event.of = function(thiz, argumentz) {
+      return function(e1) {
+        var e0 = e1.sourceEvent = d3.event;
+        e1.target = drag;
+        d3.event = e1;
+        try {
+          event[e1.type].apply(thiz, argumentz);
+        } finally {
+          d3.event = e0;
         }
-        cache = {};
-        tile.scaleExtent((source.data && source.data.scaleExtent) || [1, 20]);
-        setHash(source);
-        background.dispatch.change();
-        return background;
+      };
     };
 
-    return d3.rebind(background, background.dispatch, 'on');
-};
-iD.BackgroundSource = {};
+    var d3_event_userSelectProperty = iD.util.prefixCSSProperty('UserSelect'),
+        d3_event_userSelectSuppress = d3_event_userSelectProperty ?
+            function () {
+                var selection = d3.selection(),
+                    select = selection.style(d3_event_userSelectProperty);
+                selection.style(d3_event_userSelectProperty, 'none');
+                return function () {
+                    selection.style(d3_event_userSelectProperty, select);
+                };
+            } :
+            function (type) {
+                var w = d3.select(window).on('selectstart.' + type, d3_eventCancel);
+                return function () {
+                    w.on('selectstart.' + type, null);
+                };
+            };
+
+    function mousedown() {
+        target = this;
+        event_ = event.of(target, arguments);
+        var eventTarget = d3.event.target,
+            touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null,
+            offset,
+            origin_ = point(),
+            started = false,
+            selectEnable = d3_event_userSelectSuppress(touchId !== null ? 'drag-' + touchId : 'drag');
 
-// derive the url of a 'quadkey' style tile from a coordinate object
-iD.BackgroundSource.template = function(data) {
+        var w = d3.select(window)
+            .on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', dragmove)
+            .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', dragend, true);
 
-    function generator(coord) {
-        var u = '';
-        for (var zoom = coord[2]; zoom > 0; zoom--) {
-            var b = 0;
-            var mask = 1 << (zoom - 1);
-            if ((coord[0] & mask) !== 0) b++;
-            if ((coord[1] & mask) !== 0) b += 2;
-            u += b.toString();
+        if (origin) {
+            offset = origin.apply(target, arguments);
+            offset = [offset[0] - origin_[0], offset[1] - origin_[1]];
+        } else {
+            offset = [0, 0];
         }
 
-        return data.template
-            .replace('{t}', data.subdomains ?
-                data.subdomains[coord[2] % data.subdomains.length] : '')
-            .replace('{u}', u)
-            .replace('{x}', coord[0])
-            .replace('{y}', coord[1])
-            .replace('{z}', coord[2])
-            // JOSM style
-            .replace('{zoom}', coord[2])
-            .replace(/\{(switch\:[^\}]*)\}/, function(s, r) {
-                var subdomains = r.split(':')[1].split(',');
-                return subdomains[coord[2] % subdomains.length];
-            });
-    }
+        if (touchId === null) d3.event.stopPropagation();
 
-    generator.data = data;
-    generator.copyrightNotices = function() {};
+        function point() {
+            var p = target.parentNode || surface;
+            return touchId !== null ? d3.touches(p).filter(function(p) {
+                return p.identifier === touchId;
+            })[0] : d3.mouse(p);
+        }
 
-    return generator;
-};
+        function dragmove() {
 
-iD.BackgroundSource.Bing = function(data, dispatch) {
-    // http://msdn.microsoft.com/en-us/library/ff701716.aspx
-    // http://msdn.microsoft.com/en-us/library/ff701701.aspx
+            var p = point(),
+                dx = p[0] - origin_[0],
+                dy = p[1] - origin_[1];
+            
+            if (dx === 0 && dy === 0)
+                return;
 
-    var bing = iD.BackgroundSource.template(data),
-        key = 'Arzdiw4nlOJzRwOz__qailc8NiR31Tt51dN2D7cm57NrnceZnCpgOkmJhNpGoppU', // Same as P2 and JOSM
-        url = 'http://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?include=ImageryProviders&key=' +
-            key + '&jsonp={callback}',
-        providers = [];
+            if (!started) {
+                started = true;
+                event_({
+                    type: 'start'
+                });
+            }
 
-    d3.jsonp(url, function(json) {
-        providers = json.resourceSets[0].resources[0].imageryProviders.map(function(provider) {
-            return {
-                attribution: provider.attribution,
-                areas: provider.coverageAreas.map(function(area) {
-                    return {
-                        zoom: [area.zoomMin, area.zoomMax],
-                        extent: iD.geo.Extent([area.bbox[1], area.bbox[0]], [area.bbox[3], area.bbox[2]])
-                    };
-                })
-            };
-        });
-        dispatch.change();
-    });
+            origin_ = p;
+            d3_eventCancel();
 
-    bing.copyrightNotices = function(zoom, extent) {
-        zoom = Math.min(zoom, 21);
-        return providers.filter(function(provider) {
-            return _.any(provider.areas, function(area) {
-                return extent.intersects(area.extent) &&
-                    area.zoom[0] <= zoom &&
-                    area.zoom[1] >= zoom;
+            event_({
+                type: 'move',
+                point: [p[0] + offset[0],  p[1] + offset[1]],
+                delta: [dx, dy]
             });
-        }).map(function(provider) {
-            return provider.attribution;
-        }).join(', ');
-    };
-
-    return bing;
-};
+        }
 
-iD.BackgroundSource.Custom = function() {
-    var template = window.prompt('Enter a tile template. ' +
-        'Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.');
-    if (!template) return null;
-    return iD.BackgroundSource.template({
-        template: template,
-        name: 'Custom'
-    });
-};
+        function dragend() {
+            if (started) {
+                event_({
+                    type: 'end'
+                });
 
-iD.BackgroundSource.Custom.data = { 'name': 'Custom' };
-iD.LocalGpx = function(context) {
-    var tileSize = 256,
-        projection,
-        gj = {},
-        enable = true,
-        size = [0, 0],
-        transformProp = iD.util.prefixCSSProperty('Transform'),
-        path = d3.geo.path().projection(projection),
-        source = d3.functor('');
+                d3_eventCancel();
+                if (d3.event.target === eventTarget) w.on('click.drag', click, true);
+            }
 
-    function render(selection) {
+            w.on(touchId !== null ? 'touchmove.drag-' + touchId : 'mousemove.drag', null)
+                .on(touchId !== null ? 'touchend.drag-' + touchId : 'mouseup.drag', null);
+            selectEnable();
+        }
 
-        path.projection(projection);
+        function click() {
+            d3_eventCancel();
+            w.on('click.drag', null);
+        }
+    }
 
-        var surf = selection.selectAll('svg')
-            .data(enable ? [gj] : []);
+    function drag(selection) {
+        var matchesSelector = iD.util.prefixDOMProperty('matchesSelector'),
+            delegate = mousedown;
 
-        surf.exit().remove();
+        if (selector) {
+            delegate = function() {
+                var root = this,
+                    target = d3.event.target;
+                for (; target && target !== root; target = target.parentNode) {
+                    if (target[matchesSelector](selector) &&
+                            (!filter || filter(target.__data__))) {
+                        return mousedown.call(target, target.__data__);
+                    }
+                }
+            };
+        }
 
-        surf.enter()
-            .append('svg')
-            .style('position', 'absolute');
+        selection.on('mousedown.drag' + selector, delegate)
+            .on('touchstart.drag' + selector, delegate);
+    }
 
-        var paths = surf
-            .selectAll('path')
-            .data(function(d) { return [d]; });
-
-        paths
-            .enter()
-            .append('path')
-            .attr('class', 'gpx');
+    drag.off = function(selection) {
+        selection.on('mousedown.drag' + selector, null)
+            .on('touchstart.drag' + selector, null);
+    };
 
-        paths
-            .attr('d', path);
-    }
+    drag.delegate = function(_) {
+        if (!arguments.length) return selector;
+        selector = _;
+        return drag;
+    };
 
-    function toDom(x) {
-        return (new DOMParser()).parseFromString(x, 'text/xml');
-    }
+    drag.filter = function(_) {
+        if (!arguments.length) return origin;
+        filter = _;
+        return drag;
+    };
 
-    render.projection = function(_) {
-        if (!arguments.length) return projection;
-        projection = _;
-        return render;
+    drag.origin = function (_) {
+        if (!arguments.length) return origin;
+        origin = _;
+        return drag;
     };
 
-    render.enable = function(_) {
-        if (!arguments.length) return enable;
-        enable = _;
-        return render;
+    drag.cancel = function() {
+        d3.select(window)
+            .on('mousemove.drag', null)
+            .on('mouseup.drag', null);
+        return drag;
     };
 
-    render.geojson = function(_) {
-        if (!arguments.length) return gj;
-        gj = _;
-        return render;
+    drag.target = function() {
+        if (!arguments.length) return target;
+        target = arguments[0];
+        event_ = event.of(target, Array.prototype.slice.call(arguments, 1));
+        return drag;
     };
 
-    render.size = function(_) {
-        if (!arguments.length) return size;
-        size = _;
-        return render;
+    drag.surface = function() {
+        if (!arguments.length) return surface;
+        surface = arguments[0];
+        return drag;
     };
 
-    render.id = 'layer-gpx';
+    return d3.rebind(drag, event, 'on');
+};
+iD.behavior.Draw = function(context) {
+    var event = d3.dispatch('move', 'click', 'clickWay',
+            'clickNode', 'undo', 'cancel', 'finish'),
+        keybinding = d3.keybinding('draw'),
+        hover = iD.behavior.Hover(context)
+            .altDisables(true)
+            .on('hover', context.ui().sidebar.hover),
+        tail = iD.behavior.Tail(),
+        edit = iD.behavior.Edit(context),
+        closeTolerance = 4,
+        tolerance = 12;
 
-    function over() {
-        d3.event.stopPropagation();
-        d3.event.preventDefault();
-        d3.event.dataTransfer.dropEffect = 'copy';
+    function datum() {
+        if (d3.event.altKey) return {};
+        else return d3.event.target.__data__ || {};
     }
 
-    d3.select('body')
-        .attr('dropzone', 'copy')
-        .on('drop.localgpx', function() {
-            d3.event.stopPropagation();
-            d3.event.preventDefault();
-            var f = d3.event.dataTransfer.files[0],
-                reader = new FileReader();
-
-            reader.onload = function(e) {
-                render.geojson(toGeoJSON.gpx(toDom(e.target.result)));
-                context.redraw();
-                context.map().pan([0, 0]);
-            };
-
-            reader.readAsText(f);
-        })
-        .on('dragenter.localgpx', over)
-        .on('dragexit.localgpx', over)
-        .on('dragover.localgpx', over);
+    function mousedown() {
 
-    return render;
-};
-iD.Map = function(context) {
-    var dimensions = [1, 1],
-        dispatch = d3.dispatch('move', 'drawn'),
-        projection = d3.geo.mercator().scale(512 / Math.PI),
-        roundedProjection = iD.svg.RoundProjection(projection),
-        zoom = d3.behavior.zoom()
-            .translate(projection.translate())
-            .scale(projection.scale() * 2 * Math.PI)
-            .scaleExtent([1024, 256 * Math.pow(2, 24)])
-            .on('zoom', zoomPan),
-        dblclickEnabled = true,
-        transformStart,
-        minzoom = 0,
-        layers = [
-            iD.Background().projection(projection),
-            iD.LocalGpx(context).projection(projection),
-            iD.Background('overlay').projection(projection)
-            ],
-        transformProp = iD.util.prefixCSSProperty('Transform'),
-        points = iD.svg.Points(roundedProjection, context),
-        vertices = iD.svg.Vertices(roundedProjection, context),
-        lines = iD.svg.Lines(projection),
-        areas = iD.svg.Areas(roundedProjection),
-        midpoints = iD.svg.Midpoints(roundedProjection),
-        labels = iD.svg.Labels(roundedProjection, context),
-        tail = iD.ui.Tail(),
-        surface, layergroup;
+        function point() {
+            var p = context.container().node();
+            return touchId !== null ? d3.touches(p).filter(function(p) {
+                return p.identifier === touchId;
+            })[0] : d3.mouse(p);
+        }
 
-    function map(selection) {
-        context.history()
-            .on('change.map', redraw);
+        var element = d3.select(this),
+            touchId = d3.event.touches ? d3.event.changedTouches[0].identifier : null,
+            t1 = +new Date(),
+            p1 = point();
 
-        selection.call(zoom);
+        element.on('mousemove.draw', null);
 
-        layergroup = selection.append('div')
-            .attr('id', 'layer-g');
+        d3.select(window).on('mouseup.draw', function() {
+            var t2 = +new Date(),
+                p2 = point(),
+                dist = iD.geo.euclideanDistance(p1, p2);
 
-        var supersurface = selection.append('div')
-            .style('position', 'absolute');
+            element.on('mousemove.draw', mousemove);
+            d3.select(window).on('mouseup.draw', null);
 
-        surface = supersurface.append('svg')
-            .on('mousedown.zoom', function() {
-                if (d3.event.button == 2) {
+            if (dist < closeTolerance || (dist < tolerance && (t2 - t1) < 500)) {
+                // Prevent a quick second click
+                d3.select(window).on('click.draw-block', function() {
                     d3.event.stopPropagation();
-                }
-            }, true)
-            .on('mouseup.zoom', function() {
-                if (resetTransform()) redraw();
-            })
-            .attr('id', 'surface')
-            .call(iD.svg.Surface(context));
+                }, true);
 
-        map.size(selection.size());
-        map.surface = surface;
-        map.layersurface = layergroup;
+                context.map().dblclickEnable(false);
 
-        supersurface
-            .call(tail);
-    }
+                window.setTimeout(function() {
+                    context.map().dblclickEnable(true);
+                    d3.select(window).on('click.draw-block', null);
+                }, 500);
 
-    function pxCenter() { return [dimensions[0] / 2, dimensions[1] / 2]; }
+                click();
+            }
+        });
+    }
 
-    function drawVector(difference) {
-        var filter, all,
-            extent = map.extent(),
-            graph = context.graph();
+    function mousemove() {
+        event.move(datum());
+    }
 
-        if (!difference) {
-            all = context.intersects(extent);
-            filter = d3.functor(true);
-        } else {
-            var complete = difference.complete(extent);
-            all = _.compact(_.values(complete));
-            filter = function(d) {
-                if (d.type === 'midpoint') {
-
-                    var a = d.edge[0],
-                        b = d.edge[1];
-
-                    // redraw a midpoint if it needs to be
-                    // - moved (either edge node moved)
-                    // - deleted (edge nodes not consecutive in any parent way)
-                    if (a in complete || b in complete) return true;
-
-                    var parentsWays = graph.parentWays({ id: a });
-                    for (var i = 0; i < parentsWays.length; i++) {
-                        var nodes = parentsWays[i].nodes;
-                        for (var n = 0; n < nodes.length; n++) {
-                            if (nodes[n] === a && (nodes[n - 1] === b || nodes[n + 1] === b)) return false;
-                        }
-                    }
-                    return true;
+    function click() {
+        var d = datum();
+        if (d.type === 'way') {
+            var choice = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection),
+                edge = [d.nodes[choice.index - 1], d.nodes[choice.index]];
+            event.clickWay(choice.loc, edge);
 
-                } else {
-                    return d.id in complete;
-                }
-            };
-        }
+        } else if (d.type === 'node') {
+            event.clickNode(d);
 
-        if (all.length > 100000) {
-            editOff();
         } else {
-            surface
-                .call(points, graph, all, filter)
-                .call(vertices, graph, all, filter, map.zoom())
-                .call(lines, graph, all, filter, dimensions)
-                .call(areas, graph, all, filter)
-                .call(midpoints, graph, all, filter, extent)
-                .call(labels, graph, all, filter, dimensions, !difference);
+            event.click(context.map().mouseCoordinates());
         }
-        dispatch.drawn(map);
     }
 
-    function editOff() {
-        surface.selectAll('.layer *').remove();
+    function backspace() {
+        d3.event.preventDefault();
+        event.undo();
     }
 
-    function zoomPan() {
-        if (d3.event && d3.event.sourceEvent.type === 'dblclick') {
-            if (!dblclickEnabled) {
-                zoom.scale(projection.scale() * 2 * Math.PI)
-                    .translate(projection.translate());
-                return d3.event.sourceEvent.preventDefault();
-            }
-        }
+    function del() {
+        d3.event.preventDefault();
+        event.cancel();
+    }
 
-        if (Math.log(d3.event.scale / Math.LN2 - 8) < minzoom + 1) {
-            iD.ui.flash(context.container())
-                .select('.content')
-                .text(t('cannot_zoom'));
-            return setZoom(16, true);
-        }
+    function ret() {
+        d3.event.preventDefault();
+        event.finish();
+    }
 
-        projection
-            .translate(d3.event.translate)
-            .scale(d3.event.scale / (2 * Math.PI));
+    function draw(selection) {
+        context.install(hover);
+        context.install(edit);
 
-        var ascale = d3.event.scale;
-        var bscale = transformStart[0];
-        var scale = (ascale / bscale);
+        if (!context.inIntro() && !iD.behavior.Draw.usedTails[tail.text()]) {
+            context.install(tail);
+        }
 
-        var tX = Math.round((d3.event.translate[0] / scale) - (transformStart[1][0]));
-        var tY = Math.round((d3.event.translate[1] / scale) - (transformStart[1][1]));
+        keybinding
+            .on('⌫', backspace)
+            .on('⌦', del)
+            .on('⎋', ret)
+            .on('↩', ret);
 
-        var transform =
-            'scale(' + scale + ')' +
-            'translate(' + tX + 'px,' + tY + 'px) ';
+        selection
+            .on('mousedown.draw', mousedown)
+            .on('mousemove.draw', mousemove);
 
-        layergroup.style(transformProp, transform);
-        surface.style(transformProp, transform);
-        queueRedraw();
+        d3.select(document)
+            .call(keybinding);
 
-        dispatch.move(map);
+        return draw;
     }
 
-    function resetTransform() {
-        var prop = surface.node().style[transformProp];
-        if (!prop || prop === 'none') return false;
-        surface.node().style[transformProp] = '';
-        layergroup.node().style[transformProp] = '';
-        return true;
-    }
+    draw.off = function(selection) {
+        context.uninstall(hover);
+        context.uninstall(edit);
 
-    function redraw(difference) {
+        if (!context.inIntro() && !iD.behavior.Draw.usedTails[tail.text()]) {
+            context.uninstall(tail);
+            iD.behavior.Draw.usedTails[tail.text()] = true;
+        }
 
-        if (!surface) return;
+        selection
+            .on('mousedown.draw', null)
+            .on('mousemove.draw', null);
 
-        clearTimeout(timeoutId);
+        d3.select(window)
+            .on('mouseup.draw', null);
 
-        // If we are in the middle of a zoom/pan, we can't do differenced redraws.
-        // It would result in artifacts where differenced entities are redrawn with
-        // one transform and unchanged entities with another.
-        if (resetTransform()) {
-            difference = undefined;
-        }
+        d3.select(document)
+            .call(keybinding.off);
+    };
 
-        var zoom = String(~~map.zoom());
-        if (surface.attr('data-zoom') !== zoom) {
-            surface.attr('data-zoom', zoom);
-        }
+    draw.tail = function(_) {
+        tail.text(_);
+        return draw;
+    };
 
-        if (!difference) {
-            var sel = layergroup
-                .selectAll('.layer-layer')
-                .data(layers);
+    return d3.rebind(draw, event, 'on');
+};
+
+iD.behavior.Draw.usedTails = {};
+iD.behavior.DrawWay = function(context, wayId, index, mode, baseGraph) {
+    var way = context.entity(wayId),
+        isArea = context.geometry(wayId) === 'area',
+        finished = false,
+        annotation = t((way.isDegenerate() ?
+            'operations.start.annotation.' :
+            'operations.continue.annotation.') + context.geometry(wayId)),
+        draw = iD.behavior.Draw(context);
 
-            sel.exit().remove();
+    var startIndex = typeof index === 'undefined' ? way.nodes.length - 1 : 0,
+        start = iD.Node({loc: context.graph().entity(way.nodes[startIndex]).loc}),
+        end = iD.Node({loc: context.map().mouseCoordinates()}),
+        segment = iD.Way({
+            nodes: typeof index === 'undefined' ? [start.id, end.id] : [end.id, start.id],
+            tags: _.clone(way.tags)
+        });
 
-            sel.enter().append('div')
-                .attr('class', 'layer-layer');
+    var f = context[way.isDegenerate() ? 'replace' : 'perform'];
+    if (isArea) {
+        f(iD.actions.AddEntity(end),
+            iD.actions.AddVertex(wayId, end.id, index));
+    } else {
+        f(iD.actions.AddEntity(start),
+            iD.actions.AddEntity(end),
+            iD.actions.AddEntity(segment));
+    }
 
-            sel.each(function(layer) {
-                    d3.select(this).call(layer);
-                });
-        }
+    function move(datum) {
+        var loc;
 
-        if (map.editable()) {
-            context.connection().loadTiles(projection, dimensions);
-            drawVector(difference);
+        if (datum.type === 'node' && datum.id !== end.id) {
+            loc = datum.loc;
+        } else if (datum.type === 'way' && datum.id !== segment.id) {
+            loc = iD.geo.chooseEdge(context.childNodes(datum), context.mouse(), context.projection).loc;
         } else {
-            editOff();
+            loc = context.map().mouseCoordinates();
         }
 
-        transformStart = [
-            projection.scale() * 2 * Math.PI,
-            projection.translate().slice()];
-
-        return map;
+        context.replace(iD.actions.MoveNode(end.id, loc));
     }
 
-    var timeoutId;
-    function queueRedraw() {
-        clearTimeout(timeoutId);
-        timeoutId = setTimeout(function() { redraw(); }, 300);
+    function undone() {
+        finished = true;
+        context.enter(iD.modes.Browse(context));
     }
 
-    function pointLocation(p) {
-        var translate = projection.translate(),
-            scale = projection.scale() * 2 * Math.PI;
-        return [(p[0] - translate[0]) / scale, (p[1] - translate[1]) / scale];
+    function setActiveElements() {
+        var active = isArea ? [wayId, end.id] : [segment.id, start.id, end.id];
+        context.surface().selectAll(iD.util.entitySelector(active))
+            .classed('active', true);
     }
 
-    function locationPoint(l) {
-        var translate = projection.translate(),
-            scale = projection.scale() * 2 * Math.PI;
-        return [l[0] * scale + translate[0], l[1] * scale + translate[1]];
-    }
+    var drawWay = function(surface) {
+        draw.on('move', move)
+            .on('click', drawWay.add)
+            .on('clickWay', drawWay.addWay)
+            .on('clickNode', drawWay.addNode)
+            .on('undo', context.undo)
+            .on('cancel', drawWay.cancel)
+            .on('finish', drawWay.finish);
 
-    map.mouseCoordinates = function() {
-        try {
-            return projection.invert(d3.mouse(surface.node()));
-        } catch(e) {
-            // when called with hidden elements, d3.mouse() will throw
-            return [NaN, NaN];
-        }
-    };
+        context.map()
+            .dblclickEnable(false)
+            .on('drawn.draw', setActiveElements);
 
-    map.dblclickEnable = function(_) {
-        if (!arguments.length) return dblclickEnabled;
-        dblclickEnabled = _;
-        return map;
+        setActiveElements();
+
+        surface.call(draw);
+
+        context.history()
+            .on('undone.draw', undone);
     };
 
-    function setZoom(z, force) {
-        if (z === map.zoom() && !force)
-            return false;
-        var scale = 256 * Math.pow(2, z),
-            center = pxCenter(),
-            l = pointLocation(center);
-        scale = Math.max(1024, Math.min(256 * Math.pow(2, 24), scale));
-        projection.scale(scale / (2 * Math.PI));
-        zoom.scale(scale);
-        var t = projection.translate();
-        l = locationPoint(l);
-        t[0] += center[0] - l[0];
-        t[1] += center[1] - l[1];
-        projection.translate(t);
-        zoom.translate(projection.translate());
-        return true;
-    }
+    drawWay.off = function(surface) {
+        if (!finished)
+            context.pop();
 
-    function setCenter(loc) {
-        var t = projection.translate(),
-            c = pxCenter(),
-            ll = projection(loc);
-        if (ll[0] === c[0] && ll[1] === c[1])
-            return false;
-        projection.translate([
-            t[0] - ll[0] + c[0],
-            t[1] - ll[1] + c[1]]);
-        zoom.translate(projection.translate());
-        return true;
-    }
+        context.map()
+            .on('drawn.draw', null);
 
-    map.pan = function(d) {
-        var t = projection.translate();
-        t[0] += d[0];
-        t[1] += d[1];
-        projection.translate(t);
-        zoom.translate(projection.translate());
-        dispatch.move(map);
-        return redraw();
-    };
+        surface.call(draw.off)
+            .selectAll('.active')
+            .classed('active', false);
 
-    map.size = function(_) {
-        if (!arguments.length) return dimensions;
-        var center = map.center();
-        dimensions = _;
-        surface.size(dimensions);
-        layers.map(function(l) {
-            l.size(dimensions);
-        });
-        projection.clipExtent([[0, 0], dimensions]);
-        setCenter(center);
-        return redraw();
+        context.history()
+            .on('undone.draw', null);
     };
 
-    map.zoomIn = function() { return map.zoom(Math.ceil(map.zoom() + 1)); };
-    map.zoomOut = function() { return map.zoom(Math.floor(map.zoom() - 1)); };
+    function ReplaceTemporaryNode(newNode) {
+        return function(graph) {
+            if (isArea) {
+                return graph
+                    .replace(way.addNode(newNode.id, index))
+                    .remove(end);
 
-    map.center = function(loc) {
-        if (!arguments.length) {
-            return projection.invert(pxCenter());
-        }
+            } else {
+                return graph
+                    .replace(graph.entity(wayId).addNode(newNode.id, index))
+                    .remove(end)
+                    .remove(segment)
+                    .remove(start);
+            }
+        };
+    }
 
-        if (setCenter(loc)) {
-            dispatch.move(map);
-        }
+    // Accept the current position of the temporary node and continue drawing.
+    drawWay.add = function(loc) {
 
-        return redraw();
-    };
+        // prevent duplicate nodes
+        var last = context.hasEntity(way.nodes[way.nodes.length - (isArea ? 2 : 1)]);
+        if (last && last.loc[0] === loc[0] && last.loc[1] === loc[1]) return;
 
-    map.zoom = function(z) {
-        if (!arguments.length) {
-            return Math.max(Math.log(projection.scale() * 2 * Math.PI) / Math.LN2 - 8, 0);
-        }
+        var newNode = iD.Node({loc: loc});
 
-        if (setZoom(z)) {
-            dispatch.move(map);
-        }
+        context.replace(
+            iD.actions.AddEntity(newNode),
+            ReplaceTemporaryNode(newNode),
+            annotation);
 
-        return redraw();
+        finished = true;
+        context.enter(mode);
     };
 
-    map.centerZoom = function(loc, z) {
-        var centered = setCenter(loc),
-            zoomed   = setZoom(z);
+    // Connect the way to an existing way.
+    drawWay.addWay = function(loc, edge) {
+        var previousEdge = startIndex ?
+            [way.nodes[startIndex], way.nodes[startIndex - 1]] :
+            [way.nodes[0], way.nodes[1]];
 
-        if (centered || zoomed) {
-            dispatch.move(map);
-        }
+        // Avoid creating duplicate segments
+        if (!isArea && iD.geo.edgeEqual(edge, previousEdge))
+            return;
 
-        return redraw();
+        var newNode = iD.Node({ loc: loc });
+
+        context.perform(
+            iD.actions.AddMidpoint({ loc: loc, edge: edge}, newNode),
+            ReplaceTemporaryNode(newNode),
+            annotation);
+
+        finished = true;
+        context.enter(mode);
     };
 
-    map.centerEase = function(loc) {
-        var from = map.center().slice(),
-            t = 0,
-            stop;
+    // Connect the way to an existing node and continue drawing.
+    drawWay.addNode = function(node) {
 
-        surface.one('mousedown.ease', function() {
-            stop = true;
-        });
+        // Avoid creating duplicate segments
+        if (way.areAdjacent(node.id, way.nodes[way.nodes.length - 1])) return;
 
-        d3.timer(function() {
-            if (stop) return true;
-            map.center(iD.geo.interp(from, loc, (t += 1) / 10));
-            return t == 10;
-        }, 20);
-        return map;
+        context.perform(
+            ReplaceTemporaryNode(node),
+            annotation);
+
+        finished = true;
+        context.enter(mode);
     };
 
-    map.extent = function(_) {
-        if (!arguments.length) {
-            return new iD.geo.Extent(projection.invert([0, dimensions[1]]),
-                                 projection.invert([dimensions[0], 0]));
+    // Finish the draw operation, removing the temporary node. If the way has enough
+    // nodes to be valid, it's selected. Otherwise, return to browse mode.
+    drawWay.finish = function() {
+        context.pop();
+        finished = true;
+
+        window.setTimeout(function() {
+            context.map().dblclickEnable(true);
+        }, 1000);
+
+        if (context.hasEntity(wayId)) {
+            context.enter(
+                iD.modes.Select(context, [wayId])
+                    .suppressMenu(true)
+                    .newFeature(true));
         } else {
-            var extent = iD.geo.Extent(_);
-            map.centerZoom(extent.center(), map.extentZoom(extent));
+            context.enter(iD.modes.Browse(context));
         }
     };
 
-    map.extentZoom = function(_) {
-        var extent = iD.geo.Extent(_),
-            tl = projection([extent[0][0], extent[1][1]]),
-            br = projection([extent[1][0], extent[0][1]]);
-
-        // Calculate maximum zoom that fits extent
-        var hFactor = (br[0] - tl[0]) / dimensions[0],
-            vFactor = (br[1] - tl[1]) / dimensions[1],
-            hZoomDiff = Math.log(Math.abs(hFactor)) / Math.LN2,
-            vZoomDiff = Math.log(Math.abs(vFactor)) / Math.LN2,
-            newZoom = map.zoom() - Math.max(hZoomDiff, vZoomDiff);
+    // Cancel the draw operation and return to browse, deleting everything drawn.
+    drawWay.cancel = function() {
+        context.perform(
+            d3.functor(baseGraph),
+            t('operations.cancel_draw.annotation'));
 
-        return newZoom;
-    };
+        window.setTimeout(function() {
+            context.map().dblclickEnable(true);
+        }, 1000);
 
-    map.flush = function() {
-        context.connection().flush();
-        context.history().reset();
-        return map;
+        finished = true;
+        context.enter(iD.modes.Browse(context));
     };
 
-    var usedTails = {};
-    map.tail = function(_) {
-        if (!_ || usedTails[_] === undefined) {
-            tail.text(_);
-            usedTails[_] = true;
-        }
-        return map;
+    drawWay.tail = function(text) {
+        draw.tail(text);
+        return drawWay;
     };
 
-    map.editable = function() {
-        return map.zoom() >= 16;
-    };
+    return drawWay;
+};
+iD.behavior.Edit = function(context) {
+    function edit() {
+        context.map()
+            .minzoom(context.minEditableZoom());
+    }
 
-    map.minzoom = function(_) {
-        if (!arguments.length) return minzoom;
-        minzoom = _;
-        return map;
+    edit.off = function() {
+        context.map()
+            .minzoom(0);
     };
 
-    map.layers = layers;
-    map.projection = projection;
-    map.redraw = redraw;
-
-    return d3.rebind(map, dispatch, 'on');
+    return edit;
 };
-iD.svg = {
-    RoundProjection: function(projection) {
-        return function(d) {
-            return iD.geo.roundCoords(projection(d));
-        };
-    },
+iD.behavior.Hash = function(context) {
+    var s0 = null, // cached location.hash
+        lat = 90 - 1e-8; // allowable latitude range
 
-    PointTransform: function(projection) {
-        return function(entity) {
-            // http://jsperf.com/short-array-join
-            var pt = projection(entity.loc);
-            return 'translate(' + pt[0] + ',' + pt[1] + ')';
-        };
-    },
+    var parser = function(map, s) {
+        var q = iD.util.stringQs(s);
+        var args = (q.map || '').split('/').map(Number);
+        if (args.length < 3 || args.some(isNaN)) {
+            return true; // replace bogus hash
+        } else if (s !== formatter(map).slice(1)) {
+            map.centerZoom([args[1],
+                Math.min(lat, Math.max(-lat, args[2]))], args[0]);
+        }
+    };
 
-    LineString: function(projection, graph, dimensions, dx) {
-        var cache = {};
+    var formatter = function(map) {
+        var mode = context.mode(),
+            center = map.center(),
+            zoom = map.zoom(),
+            precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)),
+            q = _.omit(iD.util.stringQs(location.hash.substring(1)), 'comment'),
+            newParams = {};
 
-        return function(entity) {
-            if (cache[entity.id] !== undefined) {
-                return cache[entity.id];
+        if (mode && mode.id === 'browse') {
+            delete q.id;
+        } else {
+            var selected = context.selectedIDs().filter(function(id) {
+                return !context.entity(id).isNew();
+            });
+            if (selected.length) {
+                newParams.id = selected.join(',');
             }
+        }
 
-            var last,
-                next,
-                started = false,
-                d = '';
+        newParams.map = zoom.toFixed(2) +
+                '/' + center[0].toFixed(precision) +
+                '/' + center[1].toFixed(precision);
 
-            d3.geo.stream({
-                type: 'LineString',
-                coordinates: graph.childNodes(entity).map(function(n) {
-                    return n.loc;
-                })
-            }, projection.stream({
-                lineStart: function() { last = null; started = false; },
-                lineEnd: function() { },
-                point: function(x, y) {
-                    if (!started) d += 'M';
-                    next = [Math.floor(x), Math.floor(y)];
-                    if (dx && last && iD.geo.dist(last, next) > dx) {
-                        var span = iD.geo.dist(last, next),
-                            angle = Math.atan2(next[1] - last[1], next[0] - last[0]),
-                            to = last.slice();
-                        to[0] += Math.cos(angle) * dx;
-                        to[1] += Math.sin(angle) * dx;
-                        while (iD.geo.dist(last, to) < (span)) {
-                            // a dx-length line segment in that angle
-                            if (started) d += 'L';
-                            d += Math.floor(to[0]) + ',' + Math.floor(to[1]);
-                            started = started || true;
-                            to[0] += Math.cos(angle) * dx;
-                            to[1] += Math.sin(angle) * dx;
-                        }
-                    }
-                    if (started) d += 'L';
-                    d += next[0] + ',' + next[1];
-                    started = started || true;
-                    last = next;
-                }
-            }));
+        return '#' + iD.util.qsString(_.assign(q, newParams), true);
+    };
 
-            if (d === '') {
-                cache[entity.id] = null;
-                return cache[entity.id];
-            } else {
-                cache[entity.id] = d;
-                return cache[entity.id];
-            }
-        };
-    },
+    function update() {
+        if (context.inIntro()) return;
+        var s1 = formatter(context.map());
+        if (s0 !== s1) location.replace(s0 = s1); // don't recenter the map!
+    }
 
-    MultipolygonMemberTags: function(graph) {
-        return function(entity) {
-            var tags = entity.tags;
-            graph.parentRelations(entity).forEach(function(relation) {
-                if (relation.isMultipolygon()) {
-                    tags = _.extend({}, relation.tags, tags);
-                }
-            });
-            return tags;
-        };
+    var throttledUpdate = _.throttle(update, 500);
+
+    function hashchange() {
+        if (location.hash === s0) return; // ignore spurious hashchange events
+        if (parser(context.map(), (s0 = location.hash).substring(1))) {
+            update(); // replace bogus hash
+        }
     }
-};
-iD.svg.Areas = function(projection) {
-    // For fixing up rendering of multipolygons with tags on the outer member.
-    // https://github.com/systemed/iD/issues/613
-    function isSimpleMultipolygonOuterMember(entity, graph) {
-        if (entity.type !== 'way')
-            return false;
 
-        var parents = graph.parentRelations(entity);
-        if (parents.length !== 1)
-            return false;
+    function hash() {
+        context.map()
+            .on('move.hash', throttledUpdate);
 
-        var parent = parents[0];
-        if (!parent.isMultipolygon() || Object.keys(parent.tags).length > 1)
-            return false;
+        context
+            .on('enter.hash', throttledUpdate);
 
-        var members = parent.members, member;
-        for (var i = 0; i < members.length; i++) {
-            member = members[i];
-            if (member.id === entity.id && member.role && member.role !== 'outer')
-                return false; // Not outer member
-            if (member.id !== entity.id && (!member.role || member.role === 'outer'))
-                return false; // Not a simple multipolygon
-        }
+        d3.select(window)
+            .on('hashchange.hash', hashchange);
 
-        return parent;
+        if (location.hash) {
+            var q = iD.util.stringQs(location.hash.substring(1));
+            if (q.id) context.zoomToEntity(q.id.split(',')[0], !q.map);
+            if (q.comment) context.storage('comment', q.comment);
+            hashchange();
+            if (q.map) hash.hadHash = true;
+        }
     }
 
-    // Patterns only work in Firefox when set directly on element
-    var patterns = {
-        wetland: 'wetland',
-        beach: 'beach',
-        scrub: 'scrub',
-        construction: 'construction',
-        cemetery: 'cemetery',
-        grave_yard: 'cemetery',
-        meadow: 'meadow',
-        farm: 'farmland',
-        farmland: 'farmland',
-        orchard: 'orchard'
-    };
+    hash.off = function() {
+        context.map()
+            .on('move.hash', null);
 
-    var patternKeys = ['landuse', 'natural', 'amenity'];
+        context
+            .on('enter.hash', null);
 
-    function setPattern(selection) {
-        selection.each(function(d) {
-            for (var i = 0; i < patternKeys.length; i++) {
-                if (patterns.hasOwnProperty(d.tags[patternKeys[i]])) {
-                    this.style.fill = 'url("#pattern-' + patterns[d.tags[patternKeys[i]]] + '")';
-                    return;
-                }
-            }
-            this.style.fill = '';
-        });
-    }
+        d3.select(window)
+            .on('hashchange.hash', null);
 
-    return function drawAreas(surface, graph, entities, filter) {
-        var path = d3.geo.path().projection(projection),
-            areas = {},
-            multipolygon;
+        location.hash = '';
+    };
 
-        for (var i = 0; i < entities.length; i++) {
-            var entity = entities[i];
-            if (entity.geometry(graph) !== 'area') continue;
+    return hash;
+};
+/*
+   The hover behavior adds the `.hover` class on mouseover to all elements to which
+   the identical datum is bound, and removes it on mouseout.
 
-            if (multipolygon = isSimpleMultipolygonOuterMember(entity, graph)) {
-                areas[multipolygon.id] = {
-                    entity: multipolygon.mergeTags(entity.tags),
-                    area: Math.abs(path.area(entity.asGeoJSON(graph, true)))
-                };
-            } else if (!areas[entity.id]) {
-                areas[entity.id] = {
-                    entity: entity,
-                    area: Math.abs(path.area(entity.asGeoJSON(graph, true)))
-                };
-            }
+   The :hover pseudo-class is insufficient for iD's purposes because a datum's visual
+   representation may consist of several elements scattered throughout the DOM hierarchy.
+   Only one of these elements can have the :hover pseudo-class, but all of them will
+   have the .hover class.
+ */
+iD.behavior.Hover = function() {
+    var dispatch = d3.dispatch('hover'),
+        selection,
+        altDisables,
+        target;
+
+    function keydown() {
+        if (altDisables && d3.event.keyCode === d3.keybinding.modifierCodes.alt) {
+            dispatch.hover(null);
+            selection.selectAll('.hover')
+                .classed('hover-suppressed', true)
+                .classed('hover', false);
+        }
+    }
+
+    function keyup() {
+        if (altDisables && d3.event.keyCode === d3.keybinding.modifierCodes.alt) {
+            dispatch.hover(target ? target.id : null);
+            selection.selectAll('.hover-suppressed')
+                .classed('hover-suppressed', false)
+                .classed('hover', true);
         }
+    }
 
-        areas = d3.values(areas);
-        areas.sort(function(a, b) { return b.area - a.area; });
+    var hover = function(__) {
+        selection = __;
 
-        function drawPaths(group, areas, filter, klass, closeWay) {
-            var tagClasses = iD.svg.TagClasses();
+        function enter(d) {
+            if (d === target) return;
 
-            if (klass === 'stroke') {
-                tagClasses.tags(iD.svg.MultipolygonMemberTags(graph));
-            }
+            target = d;
 
-            var paths = group.selectAll('path.area')
-                .filter(filter)
-                .data(areas, iD.Entity.key);
+            selection.selectAll('.hover')
+                .classed('hover', false);
+            selection.selectAll('.hover-suppressed')
+                .classed('hover-suppressed', false);
 
-            paths.enter()
-                .append('path')
-                .attr('class', function(d) { return d.type + ' area ' + klass; });
+            if (target instanceof iD.Entity) {
+                var selector = '.' + target.id;
 
-            paths
-                .order()
-                .attr('d', function(entity) { return path(entity.asGeoJSON(graph, closeWay)); })
-                .call(tagClasses)
-                .call(iD.svg.MemberClasses(graph));
+                if (target.type === 'relation') {
+                    target.members.forEach(function(member) {
+                        selector += ', .' + member.id;
+                    });
+                }
 
-            if (klass === 'fill') paths.call(setPattern);
+                var suppressed = altDisables && d3.event && d3.event.altKey;
 
-            paths.exit()
-                .remove();
+                selection.selectAll(selector)
+                    .classed(suppressed ? 'hover-suppressed' : 'hover', true);
 
-            return paths;
+                dispatch.hover(target.id);
+            } else {
+                dispatch.hover(null);
+            }
         }
 
-        areas = _.pluck(areas, 'entity');
+        var down;
 
-        var strokes = areas.filter(function(area) {
-            return area.type === 'way';
-        });
+        function mouseover() {
+            if (down) return;
+            var target = d3.event.target;
+            enter(target ? target.__data__ : null);
+        }
 
-        var shadow = surface.select('.layer-shadow'),
-            fill   = surface.select('.layer-fill'),
-            stroke = surface.select('.layer-stroke');
+        function mouseout() {
+            if (down) return;
+            var target = d3.event.relatedTarget;
+            enter(target ? target.__data__ : null);
+        }
 
-        drawPaths(shadow, strokes, filter, 'shadow');
-        drawPaths(fill, areas, filter, 'fill', true);
-        drawPaths(stroke, strokes, filter, 'stroke');
-    };
-};
-iD.svg.Labels = function(projection, context) {
+        function mousedown() {
+            down = true;
+            d3.select(window)
+                .on('mouseup.hover', mouseup);
+        }
 
-    // Replace with dict and iterate over entities tags instead?
-    var label_stack = [
-        ['line', 'aeroway'],
-        ['line', 'highway'],
-        ['line', 'railway'],
-        ['line', 'waterway'],
-        ['area', 'aeroway'],
-        ['area', 'amenity'],
-        ['area', 'building'],
-        ['area', 'historic'],
-        ['area', 'leisure'],
-        ['area', 'man_made'],
-        ['area', 'natural'],
-        ['area', 'shop'],
-        ['area', 'tourism'],
-        ['point', 'aeroway'],
-        ['point', 'amenity'],
-        ['point', 'building'],
-        ['point', 'historic'],
-        ['point', 'leisure'],
-        ['point', 'man_made'],
-        ['point', 'natural'],
-        ['point', 'shop'],
-        ['point', 'tourism'],
-        ['line', 'name'],
-        ['area', 'name'],
-        ['point', 'name']
-    ];
+        function mouseup() {
+            down = false;
+        }
 
-    var default_size = 12;
+        selection
+            .on('mouseover.hover', mouseover)
+            .on('mouseout.hover', mouseout)
+            .on('mousedown.hover', mousedown)
+            .on('mouseup.hover', mouseup);
 
-    var font_sizes = label_stack.map(function(d) {
-        var style = iD.util.getStyle('text.' + d[0] + '.tag-' + d[1]),
-            m = style && style.cssText.match("font-size: ([0-9]{1,2})px;");
-        if (m) return parseInt(m[1], 10);
+        d3.select(window)
+            .on('keydown.hover', keydown)
+            .on('keyup.hover', keyup);
+    };
 
-        style = iD.util.getStyle('text.' + d[0]);
-        m = style && style.cssText.match("font-size: ([0-9]{1,2})px;");
-        if (m) return parseInt(m[1], 10);
+    hover.off = function(selection) {
+        selection.selectAll('.hover')
+            .classed('hover', false);
+        selection.selectAll('.hover-suppressed')
+            .classed('hover-suppressed', false);
 
-        return default_size;
-    });
+        selection
+            .on('mouseover.hover', null)
+            .on('mouseout.hover', null)
+            .on('mousedown.hover', null)
+            .on('mouseup.hover', null);
 
-    var iconSize = 18;
+        d3.select(window)
+            .on('keydown.hover', null)
+            .on('keyup.hover', null)
+            .on('mouseup.hover', null);
+    };
 
-    var pointOffsets = [
-        [15, -11, 'start'], // right
-        [10, -11, 'start'], // unused right now
-        [-15, -11, 'end']
-    ];
+    hover.altDisables = function(_) {
+        if (!arguments.length) return altDisables;
+        altDisables = _;
+        return hover;
+    };
 
-    var lineOffsets = [50, 45, 55, 40, 60, 35, 65, 30, 70, 25,
-        75, 20, 80, 15, 95, 10, 90, 5, 95];
+    return d3.rebind(hover, dispatch, 'on');
+};
+iD.behavior.Lasso = function(context) {
 
+    var behavior = function(selection) {
 
-    var noIcons = ['building', 'landuse', 'natural'];
-    function blacklisted(preset) {
-        return _.any(noIcons, function(s) {
-            return preset.id.indexOf(s) >= 0;
-        });
-    }
+        var mouse = null,
+            lasso;
 
-    function get(array, prop) {
-        return function(d, i) { return array[i][prop]; };
-    }
+        function mousedown() {
+            if (d3.event.shiftKey === true) {
 
-    var textWidthCache = {};
+                mouse = context.mouse();
+                lasso = null;
 
-    function textWidth(text, size, elem) {
-        var c = textWidthCache[size];
-        if (!c) c = textWidthCache[size] = {};
+                selection
+                    .on('mousemove.lasso', mousemove)
+                    .on('mouseup.lasso', mouseup);
 
-        if (c[text]) {
-            return c[text];
+                d3.event.stopPropagation();
+            }
+        }
 
-        } else if (elem) {
-            c[text] = elem.getComputedTextLength();
-            return c[text];
+        function mousemove() {
+            if (!lasso) {
+                lasso = iD.ui.Lasso(context).a(mouse);
+                context.surface().call(lasso);
+            }
 
-        } else {
-            return size / 3 * 2 * text.length;
+            lasso.b(context.mouse());
         }
-    }
-
-    function drawLineLabels(group, entities, filter, classes, labels) {
 
-        var texts = group.selectAll('text.' + classes)
-            .filter(filter)
-            .data(entities, iD.Entity.key);
+        function normalize(a, b) {
+            return [
+                [Math.min(a[0], b[0]), Math.min(a[1], b[1])],
+                [Math.max(a[0], b[0]), Math.max(a[1], b[1])]];
+        }
 
-        var tp = texts.enter()
-            .append('text')
-            .attr('class', function(d, i) { return classes + ' ' + labels[i].classes;})
-            .append('textPath')
-            .attr('class', 'textpath');
+        function mouseup() {
 
+            selection
+                .on('mousemove.lasso', null)
+                .on('mouseup.lasso', null);
 
-        var tps = texts.selectAll('.textpath')
-            .filter(filter)
-            .data(entities, iD.Entity.key)
-            .attr({
-                'startOffset': '50%',
-                'xlink:href': function(d) { return '#labelpath-' + d.id; }
-            })
-            .text(function(d) { return name(d); });
+            if (!lasso) return;
 
-        texts.exit().remove();
+            var extent = iD.geo.Extent(
+                normalize(context.projection.invert(lasso.a()),
+                context.projection.invert(lasso.b())));
 
-    }
+            lasso.close();
 
-    function drawLinePaths(group, entities, filter, classes, labels) {
+            var selected = context.intersects(extent).filter(function (entity) {
+                return entity.type === 'node';
+            });
 
-        var halos = group.selectAll('path')
-            .filter(filter)
-            .data(entities, iD.Entity.key);
+            if (selected.length) {
+                context.enter(iD.modes.Select(context, _.pluck(selected, 'id')));
+            }
+        }
 
-        halos.enter()
-            .append('path')
-            .style('stroke-width', get(labels, 'font-size'))
-            .attr('id', function(d) { return 'labelpath-' + d.id; })
-            .attr('class', classes);
+        selection
+            .on('mousedown.lasso', mousedown);
+    };
 
-        halos.attr('d', get(labels, 'lineString'));
+    behavior.off = function(selection) {
+        selection.on('mousedown.lasso', null);
+    };
 
-        halos.exit().remove();
+    return behavior;
+};
+iD.behavior.Paste = function(context) {
+    var keybinding = d3.keybinding('paste');
+
+    function omitTag(v, k) {
+        return (
+            k === 'phone' ||
+            k === 'fax' ||
+            k === 'email' ||
+            k === 'website' ||
+            k === 'url' ||
+            k === 'note' ||
+            k === 'description' ||
+            k.indexOf('name') !== -1 ||
+            k.indexOf('wiki') === 0 ||
+            k.indexOf('addr:') === 0 ||
+            k.indexOf('contact:') === 0
+        );
     }
 
-    function drawPointLabels(group, entities, filter, classes, labels) {
+    function doPaste() {
+        d3.event.preventDefault();
 
-        var texts = group.selectAll('text.' + classes)
-            .filter(filter)
-            .data(entities, iD.Entity.key);
+        var mouse = context.mouse(),
+            projection = context.projection,
+            viewport = iD.geo.Extent(projection.clipExtent()).polygon();
 
-        texts.enter()
-            .append('text')
-            .attr('class', function(d, i) { return classes + ' ' + labels[i].classes; });
+        if (!iD.geo.pointInPolygon(mouse, viewport)) return;
 
-        texts.attr('x', get(labels, 'x'))
-            .attr('y', get(labels, 'y'))
-            .style('text-anchor', get(labels, 'textAnchor'))
-            .text(function(d) { return name(d); })
-            .each(function(d, i) { textWidth(name(d), labels[i].height, this); });
+        var extent = iD.geo.Extent(),
+            oldIDs = context.copyIDs(),
+            oldGraph = context.copyGraph(),
+            newIDs = [],
+            i, j;
 
-        texts.exit().remove();
-        return texts;
-    }
+        if (!oldIDs.length) return;
 
-    function drawAreaHalos(group, entities, filter, classes, labels) {
-        entities = entities.filter(hasText);
-        labels = labels.filter(hasText);
-        return drawPointHalos(group, entities, filter, classes, labels);
+        for (i = 0; i < oldIDs.length; i++) {
+            var oldEntity = oldGraph.entity(oldIDs[i]),
+                action = iD.actions.CopyEntity(oldEntity.id, oldGraph, true),
+                newEntities;
 
-        function hasText(d, i) {
-            return labels[i].hasOwnProperty('x') && labels[i].hasOwnProperty('y');
-        }
-    }
+            extent._extend(oldEntity.extent(oldGraph));
+            context.perform(action);
 
-    function drawAreaLabels(group, entities, filter, classes, labels) {
-        entities = entities.filter(hasText);
-        labels = labels.filter(hasText);
-        return drawPointLabels(group, entities, filter, classes, labels);
+            // First element in `newEntities` contains the copied Entity,
+            // Subsequent array elements contain any descendants..
+            newEntities = action.newEntities();
+            newIDs.push(newEntities[0].id);
 
-        function hasText(d, i) {
-            return labels[i].hasOwnProperty('x') && labels[i].hasOwnProperty('y');
-        }
-    }
+            for (j = 0; j < newEntities.length; j++) {
+                var newEntity = newEntities[j],
+                    tags = _.omit(newEntity.tags, omitTag);
 
-    function drawAreaIcons(group, entities, filter, classes, labels) {
+                context.perform(iD.actions.ChangeTags(newEntity.id, tags));
+            }
+        }
 
-        var icons = group.selectAll('use')
-            .filter(filter)
-            .data(entities, iD.Entity.key);
+        // Put pasted objects where mouse pointer is..
+        var center = projection(extent.center()),
+            delta = [ mouse[0] - center[0], mouse[1] - center[1] ];
 
-        icons.enter()
-            .append('use')
-            .attr('clip-path', 'url(#clip-square-18)')
-            .attr('class', 'icon');
+        context.perform(iD.actions.Move(newIDs, delta, projection));
+        context.enter(iD.modes.Move(context, newIDs));
+    }
 
-        icons.attr('transform', get(labels, 'transform'))
-            .attr('xlink:href', function(d) {
-                return '#maki-' + context.presets().match(d, context.graph()).icon + '-18';
-            });
+    function paste() {
+        keybinding.on(iD.ui.cmd('⌘V'), doPaste);
+        d3.select(document).call(keybinding);
+        return paste;
+    }
 
+    paste.off = function() {
+        d3.select(document).call(keybinding.off);
+    };
 
-        icons.exit().remove();
+    return paste;
+};
+iD.behavior.Select = function(context) {
+    function keydown() {
+        if (d3.event && d3.event.shiftKey) {
+            context.surface()
+                .classed('behavior-multiselect', true);
+        }
     }
 
-    function reverse(p) {
-        var angle = Math.atan2(p[1][1] - p[0][1], p[1][0] - p[0][0]);
-        return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > - Math.PI/2);
+    function keyup() {
+        if (!d3.event || !d3.event.shiftKey) {
+            context.surface()
+                .classed('behavior-multiselect', false);
+        }
     }
 
-    function lineString(nodes) {
-        return 'M' + nodes.join('L');
-    }
+    function click() {
+        var datum = d3.event.target.__data__,
+            lasso = d3.select('#surface .lasso').node(),
+            mode = context.mode();
 
-    function subpath(nodes, from, to) {
-        function segmentLength(i) {
-            var dx = nodes[i][0] - nodes[i + 1][0];
-            var dy = nodes[i][1] - nodes[i + 1][1];
-            return Math.sqrt(dx * dx + dy * dy);
-        }
+        if (!(datum instanceof iD.Entity)) {
+            if (!d3.event.shiftKey && !lasso && mode.id !== 'browse')
+                context.enter(iD.modes.Browse(context));
 
-        var sofar = 0,
-            start, end, i0, i1;
-        for (var i = 0; i < nodes.length - 1; i++) {
-            var current = segmentLength(i);
-            var portion;
-            if (!start && sofar + current >= from) {
-                portion = (from - sofar) / current;
-                start = [
-                    nodes[i][0] + portion * (nodes[i + 1][0] - nodes[i][0]),
-                    nodes[i][1] + portion * (nodes[i + 1][1] - nodes[i][1])
-                ];
-                i0 = i + 1;
-            }
-            if (!end && sofar + current >= to) {
-                portion = (to - sofar) / current;
-                end = [
-                    nodes[i][0] + portion * (nodes[i + 1][0] - nodes[i][0]),
-                    nodes[i][1] + portion * (nodes[i + 1][1] - nodes[i][1])
-                ];
-                i1 = i + 1;
+        } else if (!d3.event.shiftKey && !lasso) {
+            // Avoid re-entering Select mode with same entity.
+            if (context.selectedIDs().length !== 1 || context.selectedIDs()[0] !== datum.id) {
+                context.enter(iD.modes.Select(context, [datum.id]));
+            } else {
+                mode.suppressMenu(false).reselect();
             }
-            sofar += current;
+        } else if (context.selectedIDs().indexOf(datum.id) >= 0) {
+            var selectedIDs = _.without(context.selectedIDs(), datum.id);
+            context.enter(selectedIDs.length ?
+                iD.modes.Select(context, selectedIDs) :
+                iD.modes.Browse(context));
 
+        } else {
+            context.enter(iD.modes.Select(context, context.selectedIDs().concat([datum.id])));
         }
-        var ret = nodes.slice(i0, i1);
-        ret.unshift(start);
-        ret.push(end);
-        return ret;
-
     }
 
+    var behavior = function(selection) {
+        d3.select(window)
+            .on('keydown.select', keydown)
+            .on('keyup.select', keyup);
 
-    function hideOnMouseover() {
-        var mouse = mousePosition(d3.event),
-            pad = 50,
-            rect = new RTree.Rectangle(mouse[0] - pad, mouse[1] - pad, 2*pad, 2*pad),
-            labels = _.pluck(rtree.search(rect, this), 'leaf'),
-            containsLabel = d3.set(labels),
-            selection = d3.select(this);
-
-        // ensures that simply resetting opacity
-        // does not force style recalculation
-        function resetOpacity() {
-            if (this._opacity !== '') {
-                this.style.opacity = '';
-                this._opacity = '';
-            }
-        }
+        selection.on('click.select', click);
 
-        selection.selectAll('.layer-label text, .layer-halo path, .layer-halo text')
-            .each(resetOpacity);
+        keydown();
+    };
 
-        if (!labels.length) return;
-        selection.selectAll('.layer-label text, .layer-halo path, .layer-halo text')
-            .filter(function(d) {
-                return containsLabel.has(d.id);
-            })
-            .style('opacity', 0)
-            .property('_opacity', 0);
-    }
+    behavior.off = function(selection) {
+        d3.select(window)
+            .on('keydown.select', null)
+            .on('keyup.select', null);
 
-    function name(d) {
-        return d.tags[lang] || d.tags.name;
-    }
+        selection.on('click.select', null);
+
+        keyup();
+    };
+
+    return behavior;
+};
+iD.behavior.Tail = function() {
+    var text,
+        container,
+        xmargin = 25,
+        tooltipSize = [0, 0],
+        selectionSize = [0, 0];
 
-    var rtree = new RTree(),
-        rectangles = {},
-        lang = 'name:' + iD.detect().locale.toLowerCase().split('-')[0],
-        supersurface, mousePosition, cacheDimensions;
+    function tail(selection) {
+        if (!text) return;
 
-    return function drawLabels(surface, graph, entities, filter, dimensions, fullRedraw) {
+        d3.select(window)
+            .on('resize.tail', function() { selectionSize = selection.dimensions(); });
 
-        if (!mousePosition || dimensions.join(',') !== cacheDimensions) {
-            mousePosition = iD.util.fastMouse(surface.node().parentNode);
-            cacheDimensions = dimensions.join(',');
+        function show() {
+            container.style('display', 'block');
+            tooltipSize = container.dimensions();
         }
 
-        if (!supersurface) {
-            supersurface = d3.select(surface.node().parentNode)
-                .on('mousemove.hidelabels', hideOnMouseover)
-                .on('mousedown.hidelabels', function() {
-                    supersurface.on('mousemove.hidelabels', null);
-                })
-                .on('mouseup.hidelabels', function() {
-                    supersurface.on('mousemove.hidelabels', hideOnMouseover);
-                });
+        function mousemove() {
+            if (container.style('display') === 'none') show();
+            var xoffset = ((d3.event.clientX + tooltipSize[0] + xmargin) > selectionSize[0]) ?
+                -tooltipSize[0] - xmargin : xmargin;
+            container.classed('left', xoffset > 0);
+            iD.util.setTransform(container, d3.event.clientX + xoffset, d3.event.clientY);
         }
 
-        var hidePoints = !surface.select('.node.point').node();
-
-        var labelable = [], i, k, entity;
-        for (i = 0; i < label_stack.length; i++) labelable.push([]);
+        function mouseleave() {
+            if (d3.event.relatedTarget !== container.node()) {
+                container.style('display', 'none');
+            }
+        }
 
-        if (fullRedraw) {
-            rtree = new RTree();
-            rectangles = {};
-        } else {
-            for (i = 0; i < entities.length; i++) {
-                rtree.remove(rectangles[entities[i].id], entities[i].id);
+        function mouseenter() {
+            if (d3.event.relatedTarget !== container.node()) {
+                show();
             }
         }
 
-        // Split entities into groups specified by label_stack
-        for (i = 0; i < entities.length; i++) {
-            entity = entities[i];
-            var geometry = entity.geometry(graph),
-                preset = geometry === 'area' && context.presets().match(entity, graph),
-                icon = preset && !blacklisted(preset) && preset.icon;
+        container = d3.select(document.body)
+            .append('div')
+            .style('display', 'none')
+            .attr('class', 'tail tooltip-inner');
 
-            if ((name(entity) || icon) && !(hidePoints && geometry === 'point')) {
+        container.append('div')
+            .text(text);
 
-                for (k = 0; k < label_stack.length; k ++) {
-                    if (entity.geometry(graph) === label_stack[k][0] &&
-                        entity.tags[label_stack[k][1]]) {
-                        labelable[k].push(entity);
-                        break;
-                    }
-                }
-            }
-        }
+        selection
+            .on('mousemove.tail', mousemove)
+            .on('mouseenter.tail', mouseenter)
+            .on('mouseleave.tail', mouseleave);
 
-        var positions = {
-            point: [],
-            line: [],
-            area: []
-        };
+        container
+            .on('mousemove.tail', mousemove);
 
-        var labelled = {
-            point: [],
-            line: [],
-            area: []
-        };
+        tooltipSize = container.dimensions();
+        selectionSize = selection.dimensions();
+    }
 
-        // Try and find a valid label for labellable entities
-        for (k = 0; k < labelable.length; k++) {
-            var font_size = font_sizes[k];
-            for (i = 0; i < labelable[k].length; i ++) {
-                entity = labelable[k][i];
-                var width = name(entity) && textWidth(name(entity), font_size),
-                    p;
-                if (entity.geometry(graph) === 'point') {
-                    p = getPointLabel(entity, width, font_size);
-                } else if (entity.geometry(graph) === 'line') {
-                    p = getLineLabel(entity, width, font_size);
-                } else if (entity.geometry(graph) === 'area') {
-                    p = getAreaLabel(entity, width, font_size);
-                }
-                if (p) {
-                    p.classes = entity.geometry(graph) + ' tag-' + label_stack[k][1];
-                    positions[entity.geometry(graph)].push(p);
-                    labelled[entity.geometry(graph)].push(entity);
-                }
-            }
-        }
+    tail.off = function(selection) {
+        if (!text) return;
 
-        function getPointLabel(entity, width, height) {
-            var coord = projection(entity.loc),
-                m = 5,  // margin
-                offset = pointOffsets[0],
-                p = {
-                    height: height,
-                    width: width,
-                    x: coord[0] + offset[0],
-                    y: coord[1] + offset[1],
-                    textAnchor: offset[2]
-                };
-            var rect = new RTree.Rectangle(p.x - m, p.y - m, width + 2*m, height + 2*m);
-            if (tryInsert(rect, entity.id)) return p;
-        }
+        container
+            .on('mousemove.tail', null)
+            .remove();
 
+        selection
+            .on('mousemove.tail', null)
+            .on('mouseenter.tail', null)
+            .on('mouseleave.tail', null);
 
-        function getLineLabel(entity, width, height) {
-            var nodes = _.pluck(graph.childNodes(entity), 'loc').map(projection),
-                length = iD.geo.pathLength(nodes);
-            if (length < width + 20) return;
+        d3.select(window)
+            .on('resize.tail', null);
+    };
 
-            for (var i = 0; i < lineOffsets.length; i ++) {
-                var offset = lineOffsets[i],
-                    middle = offset / 100 * length,
-                    start = middle - width/2;
-                if (start < 0 || start + width > length) continue;
-                var sub = subpath(nodes, start, start + width),
-                    rev = reverse(sub),
-                    rect = new RTree.Rectangle(
-                    Math.min(sub[0][0], sub[sub.length - 1][0]) - 10,
-                    Math.min(sub[0][1], sub[sub.length - 1][1]) - 10,
-                    Math.abs(sub[0][0] - sub[sub.length - 1][0]) + 20,
-                    Math.abs(sub[0][1] - sub[sub.length - 1][1]) + 30
-                );
-                if (rev) sub = sub.reverse();
-                if (tryInsert(rect, entity.id)) return {
-                    'font-size': height + 2,
-                    lineString: lineString(sub),
-                    startOffset: offset + '%'
-                };
-            }
-        }
+    tail.text = function(_) {
+        if (!arguments.length) return text;
+        text = _;
+        return tail;
+    };
 
-        function getAreaLabel(entity, width, height) {
-            var path = d3.geo.path().projection(projection),
-                centroid = path.centroid(entity.asGeoJSON(graph, true)),
-                extent = entity.extent(graph),
-                entitywidth = projection(extent[1])[0] - projection(extent[0])[0],
-                rect;
+    return tail;
+};
+iD.modes = {};
+iD.modes.AddArea = function(context) {
+    var mode = {
+        id: 'add-area',
+        button: 'area',
+        title: t('modes.add_area.title'),
+        description: t('modes.add_area.description'),
+        key: '3'
+    };
 
-            if (!centroid || entitywidth < 20) return;
+    var behavior = iD.behavior.AddWay(context)
+            .tail(t('modes.add_area.tail'))
+            .on('start', start)
+            .on('startFromWay', startFromWay)
+            .on('startFromNode', startFromNode),
+        defaultTags = {area: 'yes'};
 
-            var iconX = centroid[0] - (iconSize/2),
-                iconY = centroid[1] - (iconSize/2),
-                textOffset = iconSize + 5;
+    function start(loc) {
+        var graph = context.graph(),
+            node = iD.Node({loc: loc}),
+            way = iD.Way({tags: defaultTags});
 
-            var p = {
-                transform: 'translate(' + iconX + ',' + iconY + ')'
-            };
+        context.perform(
+            iD.actions.AddEntity(node),
+            iD.actions.AddEntity(way),
+            iD.actions.AddVertex(way.id, node.id),
+            iD.actions.AddVertex(way.id, node.id));
 
-            if (width && entitywidth >= width + 20) {
-                p.x = centroid[0];
-                p.y = centroid[1] + textOffset;
-                p.textAnchor = 'middle';
-                p.height = height;
-                rect = new RTree.Rectangle(p.x - width/2, p.y, width, height + textOffset);
-            } else {
-                rect = new RTree.Rectangle(iconX, iconY, iconSize, iconSize);
-            }
+        context.enter(iD.modes.DrawArea(context, way.id, graph));
+    }
 
-            if (tryInsert(rect, entity.id)) return p;
+    function startFromWay(loc, edge) {
+        var graph = context.graph(),
+            node = iD.Node({loc: loc}),
+            way = iD.Way({tags: defaultTags});
 
-        }
+        context.perform(
+            iD.actions.AddEntity(node),
+            iD.actions.AddEntity(way),
+            iD.actions.AddVertex(way.id, node.id),
+            iD.actions.AddVertex(way.id, node.id),
+            iD.actions.AddMidpoint({ loc: loc, edge: edge }, node));
 
-        function tryInsert(rect, id) {
-            // Check that label is visible
-            if (rect.x1 < 0 || rect.y1 < 0 || rect.x2 > dimensions[0] ||
-                rect.y2 > dimensions[1]) return false;
-            var v = rtree.search(rect, true).length === 0;
-            if (v) {
-                rtree.insert(rect, id);
-                rectangles[id] = rect;
-            }
-            return v;
-        }
+        context.enter(iD.modes.DrawArea(context, way.id, graph));
+    }
 
-        var label = surface.select('.layer-label'),
-            halo = surface.select('.layer-halo'),
-            // points
-            points = drawPointLabels(label, labelled.point, filter, 'pointlabel', positions.point),
-            pointHalos = drawPointLabels(halo, labelled.point, filter, 'pointlabel-halo', positions.point),
-            // lines
-            linesPaths = drawLinePaths(halo, labelled.line, filter, '', positions.line),
-            lines = drawLineLabels(label, labelled.line, filter, 'linelabel', positions.line),
-            linesHalos = drawLineLabels(halo, labelled.line, filter, 'linelabel-halo', positions.line),
-            // areas
-            areas = drawAreaLabels(label, labelled.area, filter, 'arealabel', positions.area),
-            areaHalos = drawAreaLabels(halo, labelled.area, filter, 'arealabel-halo', positions.area),
-            areaIcons = drawAreaIcons(label, labelled.area, filter, 'arealabel-icon', positions.area);
+    function startFromNode(node) {
+        var graph = context.graph(),
+            way = iD.Way({tags: defaultTags});
+
+        context.perform(
+            iD.actions.AddEntity(way),
+            iD.actions.AddVertex(way.id, node.id),
+            iD.actions.AddVertex(way.id, node.id));
+
+        context.enter(iD.modes.DrawArea(context, way.id, graph));
+    }
+
+    mode.enter = function() {
+        context.install(behavior);
     };
 
-};
-iD.svg.Lines = function(projection) {
+    mode.exit = function() {
+        context.uninstall(behavior);
+    };
 
-    var highway_stack = {
-        motorway: 0,
-        motorway_link: 1,
-        trunk: 2,
-        trunk_link: 3,
-        primary: 4,
-        primary_link: 5,
-        secondary: 6,
-        tertiary: 7,
-        unclassified: 8,
-        residential: 9,
-        service: 10,
-        footway: 11
+    return mode;
+};
+iD.modes.AddLine = function(context) {
+    var mode = {
+        id: 'add-line',
+        button: 'line',
+        title: t('modes.add_line.title'),
+        description: t('modes.add_line.description'),
+        key: '2'
     };
 
-    function waystack(a, b) {
-        if (!a || !b || !a.tags || !b.tags) return 0;
-        if (a.tags.layer !== undefined && b.tags.layer !== undefined) {
-            return a.tags.layer - b.tags.layer;
-        }
-        if (a.tags.bridge) return 1;
-        if (b.tags.bridge) return -1;
-        if (a.tags.tunnel) return -1;
-        if (b.tags.tunnel) return 1;
-        var as = 0, bs = 0;
-        if (a.tags.highway && b.tags.highway) {
-            as -= highway_stack[a.tags.highway];
-            bs -= highway_stack[b.tags.highway];
-        }
-        return as - bs;
-    }
+    var behavior = iD.behavior.AddWay(context)
+        .tail(t('modes.add_line.tail'))
+        .on('start', start)
+        .on('startFromWay', startFromWay)
+        .on('startFromNode', startFromNode);
 
-    // For fixing up rendering of multipolygons with tags on the outer member.
-    // https://github.com/systemed/iD/issues/613
-    function simpleMultipolygonOuterMember(entity, graph) {
-        if (entity.type !== 'way')
-            return false;
+    function start(loc) {
+        var graph = context.graph(),
+            node = iD.Node({loc: loc}),
+            way = iD.Way();
 
-        var parents = graph.parentRelations(entity);
-        if (parents.length !== 1)
-            return false;
+        context.perform(
+            iD.actions.AddEntity(node),
+            iD.actions.AddEntity(way),
+            iD.actions.AddVertex(way.id, node.id));
 
-        var parent = parents[0];
-        if (!parent.isMultipolygon() || Object.keys(parent.tags).length > 1)
-            return false;
+        context.enter(iD.modes.DrawLine(context, way.id, graph));
+    }
 
-        var members = parent.members, member, outer;
-        for (var i = 0; i < members.length; i++) {
-            member = members[i];
-            if (!member.role || member.role === 'outer') {
-                if (outer)
-                    return false; // Not a simple multipolygon
-                outer = graph.entity(member.id);
-            }
-        }
+    function startFromWay(loc, edge) {
+        var graph = context.graph(),
+            node = iD.Node({loc: loc}),
+            way = iD.Way();
 
-        return outer;
+        context.perform(
+            iD.actions.AddEntity(node),
+            iD.actions.AddEntity(way),
+            iD.actions.AddVertex(way.id, node.id),
+            iD.actions.AddMidpoint({ loc: loc, edge: edge }, node));
+
+        context.enter(iD.modes.DrawLine(context, way.id, graph));
     }
 
-    return function drawLines(surface, graph, entities, filter, dimensions) {
-        function drawPaths(group, lines, filter, klass, lineString) {
-            lines = lines.filter(function(line) {
-                return lineString(line);
-            });
+    function startFromNode(node) {
+        var way = iD.Way();
 
-            var tagClasses = iD.svg.TagClasses();
+        context.perform(
+            iD.actions.AddEntity(way),
+            iD.actions.AddVertex(way.id, node.id));
 
-            if (klass === 'stroke') {
-                tagClasses.tags(iD.svg.MultipolygonMemberTags(graph));
-            }
+        context.enter(iD.modes.DrawLine(context, way.id, context.graph()));
+    }
 
-            var paths = group.selectAll('path.line')
-                .filter(filter)
-                .data(lines, iD.Entity.key);
+    mode.enter = function() {
+        context.install(behavior);
+    };
 
-            paths.enter()
-                .append('path')
-                .attr('class', 'way line ' + klass);
+    mode.exit = function() {
+        context.uninstall(behavior);
+    };
 
-            paths
-                .order()
-                .attr('d', lineString)
-                .call(tagClasses)
-                .call(iD.svg.MemberClasses(graph));
+    return mode;
+};
+iD.modes.AddPoint = function(context) {
+    var mode = {
+        id: 'add-point',
+        button: 'point',
+        title: t('modes.add_point.title'),
+        description: t('modes.add_point.description'),
+        key: '1'
+    };
 
-            paths.exit()
-                .remove();
+    var behavior = iD.behavior.Draw(context)
+        .tail(t('modes.add_point.tail'))
+        .on('click', add)
+        .on('clickWay', addWay)
+        .on('clickNode', addNode)
+        .on('cancel', cancel)
+        .on('finish', cancel);
 
-            return paths;
-        }
+    function add(loc) {
+        var node = iD.Node({loc: loc});
 
-        var lines = [];
+        context.perform(
+            iD.actions.AddEntity(node),
+            t('operations.add.annotation.point'));
 
-        for (var i = 0; i < entities.length; i++) {
-            var entity = entities[i],
-                outer = simpleMultipolygonOuterMember(entity, graph);
-            if (outer) {
-                lines.push(entity.mergeTags(outer.tags));
-            } else if (entity.geometry(graph) === 'line') {
-                lines.push(entity);
-            }
-        }
+        context.enter(
+            iD.modes.Select(context, [node.id])
+                .suppressMenu(true)
+                .newFeature(true));
+    }
 
-        lines.sort(waystack);
+    function addWay(loc) {
+        add(loc);
+    }
 
-        var lineString = iD.svg.LineString(projection, graph, dimensions);
-        var lineStringResampled = iD.svg.LineString(projection, graph, dimensions, 35);
+    function addNode(node) {
+        add(node.loc);
+    }
 
-        var shadow = surface.select('.layer-shadow'),
-            casing = surface.select('.layer-casing'),
-            stroke = surface.select('.layer-stroke'),
-            defs   = surface.select('defs'),
-            text   = surface.select('.layer-text'),
-            shadows = drawPaths(shadow, lines, filter, 'shadow', lineString),
-            casings = drawPaths(casing, lines, filter, 'casing', lineString),
-            strokes = drawPaths(stroke, lines, filter, 'stroke', lineString);
+    function cancel() {
+        context.enter(iD.modes.Browse(context));
+    }
 
-            strokes
-                .filter(function(d) { return d.isOneWay(); })
-                .attr('marker-mid', 'url(#oneway-marker)')
-                .attr('d', lineStringResampled);
+    mode.enter = function() {
+        context.install(behavior);
     };
-};
-iD.svg.MemberClasses = function(graph) {
-    var tagClassRe = /^member-?/;
 
-    return function memberClassesSelection(selection) {
-        selection.each(function memberClassesEach(d) {
-            var classes, value = this.className;
-
-            if (value.baseVal !== undefined) value = value.baseVal;
+    mode.exit = function() {
+        context.uninstall(behavior);
+    };
 
-            classes = value.trim().split(/\s+/).filter(function(name) {
-                return name.length && !tagClassRe.test(name);
-            }).join(' ');
+    return mode;
+};
+iD.modes.Browse = function(context) {
+    var mode = {
+        button: 'browse',
+        id: 'browse',
+        title: t('modes.browse.title'),
+        description: t('modes.browse.description')
+    }, sidebar;
 
-            var relations = graph.parentRelations(d);
+    var behaviors = [
+        iD.behavior.Paste(context),
+        iD.behavior.Hover(context)
+            .on('hover', context.ui().sidebar.hover),
+        iD.behavior.Select(context),
+        iD.behavior.Lasso(context),
+        iD.modes.DragNode(context).behavior];
 
-            if (relations.length) {
-                classes += ' member';
-            }
+    mode.enter = function() {
+        behaviors.forEach(function(behavior) {
+            context.install(behavior);
+        });
 
-            relations.forEach(function(relation) {
-                classes += ' member-type-' + relation.tags.type;
-                classes += ' member-role-' + relation.memberById(d.id).role;
-            });
+        // Get focus on the body.
+        if (document.activeElement && document.activeElement.blur) {
+            document.activeElement.blur();
+        }
 
-            classes = classes.trim();
+        if (sidebar) {
+            context.ui().sidebar.show(sidebar);
+        } else {
+            context.ui().sidebar.select(null);
+        }
+    };
 
-            if (classes !== value) {
-                d3.select(this).attr('class', classes);
-            }
+    mode.exit = function() {
+        behaviors.forEach(function(behavior) {
+            context.uninstall(behavior);
         });
+
+        if (sidebar) {
+            context.ui().sidebar.hide();
+        }
     };
-};
-iD.svg.Midpoints = function(projection) {
-    return function drawMidpoints(surface, graph, entities, filter, extent) {
-        var midpoints = {};
 
-        var vertices = 0;
+    mode.sidebar = function(_) {
+        if (!arguments.length) return sidebar;
+        sidebar = _;
+        return mode;
+    };
 
-        for (var i = 0; i < entities.length; i++) {
+    return mode;
+};
+iD.modes.DragNode = function(context) {
+    var mode = {
+        id: 'drag-node',
+        button: 'browse'
+    };
 
-            if (entities[i].geometry(graph) === 'vertex' && vertices++ > 2000) {
-                return surface.selectAll('.layer-hit g.midpoint').remove();
-            }
+    var nudgeInterval,
+        activeIDs,
+        wasMidpoint,
+        cancelled,
+        selectedIDs = [],
+        hover = iD.behavior.Hover(context)
+            .altDisables(true)
+            .on('hover', context.ui().sidebar.hover),
+        edit = iD.behavior.Edit(context);
 
-            if (entities[i].type !== 'way') continue;
+    function edge(point, size) {
+        var pad = [30, 100, 30, 100];
+        if (point[0] > size[0] - pad[0]) return [-10, 0];
+        else if (point[0] < pad[2]) return [10, 0];
+        else if (point[1] > size[1] - pad[1]) return [0, -10];
+        else if (point[1] < pad[3]) return [0, 10];
+        return null;
+    }
 
-            var entity = entities[i],
-                nodes = graph.childNodes(entity);
+    function startNudge(nudge) {
+        if (nudgeInterval) window.clearInterval(nudgeInterval);
+        nudgeInterval = window.setInterval(function() {
+            context.pan(nudge);
+        }, 50);
+    }
 
-            // skip the last node because it is always repeated
-            for (var j = 0; j < nodes.length - 1; j++) {
+    function stopNudge() {
+        if (nudgeInterval) window.clearInterval(nudgeInterval);
+        nudgeInterval = null;
+    }
 
-                var a = nodes[j],
-                    b = nodes[j + 1],
-                    id = [a.id, b.id].sort().join('-');
+    function moveAnnotation(entity) {
+        return t('operations.move.annotation.' + entity.geometry(context.graph()));
+    }
 
-                // If neither of the nodes changed, no need to redraw midpoint
-                if (!midpoints[id] && (filter(a) || filter(b))) {
-                    var loc = iD.geo.interp(a.loc, b.loc, 0.5);
-                    if (extent.intersects(loc) && iD.geo.dist(projection(a.loc), projection(b.loc)) > 40) {
-                        midpoints[id] = {
-                            type: 'midpoint',
-                            id: id,
-                            loc: loc,
-                            edge: [a.id, b.id]
-                        };
-                    }
-                }
-            }
-        }
+    function connectAnnotation(entity) {
+        return t('operations.connect.annotation.' + entity.geometry(context.graph()));
+    }
 
-        var groups = surface.select('.layer-hit').selectAll('g.midpoint')
-            .filter(filter)
-            .data(_.values(midpoints), function(d) { return d.id; });
+    function origin(entity) {
+        return context.projection(entity.loc);
+    }
 
-        var group = groups.enter()
-            .insert('g', ':first-child')
-            .attr('class', 'midpoint');
+    function start(entity) {
+        cancelled = d3.event.sourceEvent.shiftKey ||
+            context.features().hasHiddenConnections(entity, context.graph());
 
-        group.append('circle')
-            .attr('r', 7)
-            .attr('class', 'shadow');
+        if (cancelled) return behavior.cancel();
 
-        group.append('circle')
-            .attr('r', 3)
-            .attr('class', 'fill');
+        wasMidpoint = entity.type === 'midpoint';
+        if (wasMidpoint) {
+            var midpoint = entity;
+            entity = iD.Node();
+            context.perform(iD.actions.AddMidpoint(midpoint, entity));
 
-        groups.attr('transform', iD.svg.PointTransform(projection));
+             var vertex = context.surface()
+                .selectAll('.' + entity.id);
+             behavior.target(vertex.node(), entity);
 
-        // Propagate data bindings.
-        groups.select('circle.shadow');
-        groups.select('circle.fill');
+        } else {
+            context.perform(
+                iD.actions.Noop());
+        }
 
-        groups.exit()
-            .remove();
-    };
-};
-iD.svg.Points = function(projection, context) {
-    function markerPath(selection, klass) {
-        selection
-            .attr('class', klass)
-            .attr('transform', 'translate(-8, -23)')
-            .attr('d', 'M 17,8 C 17,13 11,21 8.5,23.5 C 6,21 0,13 0,8 C 0,4 4,-0.5 8.5,-0.5 C 13,-0.5 17,4 17,8 z');
-    }
+        activeIDs = _.pluck(context.graph().parentWays(entity), 'id');
+        activeIDs.push(entity.id);
 
-    function sortY(a, b) {
-        return b.loc[1] - a.loc[1];
+        context.enter(mode);
     }
 
-    return function drawPoints(surface, graph, entities, filter) {
-        var points = [];
-
-        for (var i = 0; i < entities.length; i++) {
-            var entity = entities[i];
-            if (entity.geometry(graph) === 'point') {
-                points.push(entity);
-            }
-        }
-
-        if (points.length > 100) {
-            return surface.select('.layer-hit').selectAll('g.point').remove();
+    function datum() {
+        if (d3.event.sourceEvent.altKey) {
+            return {};
         }
 
-        points.sort(sortY);
-
-        var groups = surface.select('.layer-hit').selectAll('g.point')
-            .filter(filter)
-            .data(points, iD.Entity.key);
+        return d3.event.sourceEvent.target.__data__ || {};
+    }
 
-        var group = groups.enter()
-            .append('g')
-            .attr('class', 'node point')
-            .order();
+    // via https://gist.github.com/shawnbot/4166283
+    function childOf(p, c) {
+        if (p === c) return false;
+        while (c && c !== p) c = c.parentNode;
+        return c === p;
+    }
 
-        group.append('path')
-            .call(markerPath, 'shadow');
+    function move(entity) {
+        if (cancelled) return;
+        d3.event.sourceEvent.stopPropagation();
 
-        group.append('path')
-            .call(markerPath, 'stroke');
+        var nudge = childOf(context.container().node(),
+            d3.event.sourceEvent.toElement) &&
+            edge(d3.event.point, context.map().dimensions());
 
-        group.append('use')
-            .attr('class', 'icon')
-            .attr('transform', 'translate(-6, -20)')
-            .attr('clip-path', 'url(#clip-square-12)');
+        if (nudge) startNudge(nudge);
+        else stopNudge();
 
-        groups.attr('transform', iD.svg.PointTransform(projection))
-            .call(iD.svg.TagClasses())
-            .call(iD.svg.MemberClasses(graph));
+        var loc = context.map().mouseCoordinates();
 
-        // Selecting the following implicitly
-        // sets the data (point entity) on the element
-        groups.select('.shadow');
-        groups.select('.stroke');
-        groups.select('.icon')
-            .attr('xlink:href', function(entity) {
-                var preset = context.presets().match(entity, graph);
-                return preset.icon ? '#maki-' + preset.icon + '-12' : '';
-            });
+        var d = datum();
+        if (d.type === 'node' && d.id !== entity.id) {
+            loc = d.loc;
+        } else if (d.type === 'way' && !d3.select(d3.event.sourceEvent.target).classed('fill')) {
+            loc = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection).loc;
+        }
 
-        groups.exit()
-            .remove();
-    };
-};
-iD.svg.Surface = function(context) {
-    function autosize(image) {
-        var img = document.createElement('img');
-        img.src = image.attr('xlink:href');
-        img.onload = function() {
-            image.attr({
-                width: img.width,
-                height: img.height
-            });
-        };
+        context.replace(
+            iD.actions.MoveNode(entity.id, loc),
+            moveAnnotation(entity));
     }
 
-    function sprites(selectorRegexp) {
-        var sprites = [];
+    function end(entity) {
+        if (cancelled) return;
 
-        _.forEach(document.styleSheets, function(stylesheet) {
-            _.forEach(stylesheet.cssRules, function(rule) {
-                var klass = rule.selectorText,
-                    match = klass && klass.match(selectorRegexp);
-                if (match) {
-                    var id = match[1].replace('feature', 'maki');
-                    match = rule.style.backgroundPosition.match(/(-?\d+)px (-?\d+)px/);
-                    sprites.push({id: id, x: match[1], y: match[2]});
-                }
-            });
-        });
+        var d = datum();
 
-        return sprites;
-    }
+        if (d.type === 'way') {
+            var choice = iD.geo.chooseEdge(context.childNodes(d), context.mouse(), context.projection);
+            context.replace(
+                iD.actions.AddMidpoint({ loc: choice.loc, edge: [d.nodes[choice.index - 1], d.nodes[choice.index]] }, entity),
+                connectAnnotation(d));
 
-    return function drawSurface(selection) {
-        var defs = selection.append('defs');
+        } else if (d.type === 'node' && d.id !== entity.id) {
+            context.replace(
+                iD.actions.Connect([d.id, entity.id]),
+                connectAnnotation(d));
 
-        defs.append('marker')
-            .attr({
-                id: 'oneway-marker',
-                viewBox: '0 0 10 10',
-                refY: 2.5,
-                markerWidth: 2,
-                markerHeight: 2,
-                orient: 'auto'
-            })
-            .append('path')
-            .attr('d', 'M 0 0 L 5 2.5 L 0 5 z');
+        } else if (wasMidpoint) {
+            context.replace(
+                iD.actions.Noop(),
+                t('operations.add.annotation.vertex'));
 
-        var patterns = defs.selectAll('pattern')
-            .data([
-                // pattern name, pattern image name
-                ['wetland', 'wetland'],
-                ['construction', 'construction'],
-                ['cemetery', 'cemetery'],
-                ['orchard', 'orchard'],
-                ['farmland', 'farmland'],
-                ['beach', 'dots'],
-                ['scrub', 'dots'],
-                ['meadow', 'dots']])
-            .enter()
-            .append('pattern')
-                .attr({
-                    id: function(d) { return 'pattern-' + d[0]; },
-                    width: 32,
-                    height: 32,
-                    patternUnits: 'userSpaceOnUse'
-                });
+        } else {
+            context.replace(
+                iD.actions.Noop(),
+                moveAnnotation(entity));
+        }
 
-        patterns.append('rect')
-            .attr({
-                x: 0,
-                y: 0,
-                width: 32,
-                height: 32,
-                'class': function(d) { return 'pattern-color-' + d[0]; }
-            });
+        var reselection = selectedIDs.filter(function(id) {
+            return context.graph().hasEntity(id);
+        });
 
-        patterns.append('image')
-            .attr({
-                x: 0,
-                y: 0,
-                width: 32,
-                height: 32
-            })
-            .attr('xlink:href', function(d) { return context.imagePath('pattern/' + d[1] + '.png'); });
+        if (reselection.length) {
+            context.enter(
+                iD.modes.Select(context, reselection)
+                    .suppressMenu(true));
+        } else {
+            context.enter(iD.modes.Browse(context));
+        }
+    }
 
-        defs.selectAll()
-            .data([12, 18, 20])
-            .enter().append('clipPath')
-            .attr('id', function(d) { return 'clip-square-' + d; })
-            .append('rect')
-            .attr('x', 0)
-            .attr('y', 0)
-            .attr('width', function(d) { return d; })
-            .attr('height', function(d) { return d; });
+    function cancel() {
+        behavior.cancel();
+        context.enter(iD.modes.Browse(context));
+    }
 
-        defs.append('image')
-            .attr('id', 'sprite')
-            .attr('xlink:href', context.imagePath('sprite.svg'))
-            .call(autosize);
+    function setActiveElements() {
+        context.surface().selectAll(iD.util.entitySelector(activeIDs))
+            .classed('active', true);
+    }
 
-        defs.selectAll()
-            .data(sprites(/^\.(icon-operation-[a-z0-9-]+)$/))
-            .enter().append('use')
-            .attr('id', function(d) { return d.id; })
-            .attr('transform', function(d) { return "translate(" + d.x + "," + d.y + ")"; })
-            .attr('xlink:href', '#sprite');
+    var behavior = iD.behavior.drag()
+        .delegate('g.node, g.point, g.midpoint')
+        .surface(context.surface().node())
+        .origin(origin)
+        .on('start', start)
+        .on('move', move)
+        .on('end', end);
 
-        defs.append('image')
-            .attr('id', 'maki-sprite')
-            .attr('xlink:href', context.imagePath('feature-icons.png'))
-            .call(autosize);
+    mode.enter = function() {
+        context.install(hover);
+        context.install(edit);
 
-        defs.selectAll()
-            .data(sprites(/^\.(feature-[a-z0-9-]+-(12|18))$/))
-            .enter().append('use')
-            .attr('id', function(d) { return d.id; })
-            .attr('transform', function(d) { return "translate(" + d.x + "," + d.y + ")"; })
-            .attr('xlink:href', '#maki-sprite');
+        context.history()
+            .on('undone.drag-node', cancel);
 
-        var layers = selection.selectAll('.layer')
-            .data(['fill', 'shadow', 'casing', 'stroke', 'text', 'hit', 'halo', 'label']);
+        context.map()
+            .on('drawn.drag-node', setActiveElements);
 
-        layers.enter().append('g')
-            .attr('class', function(d) { return 'layer layer-' + d; });
+        setActiveElements();
     };
-};
-iD.svg.TagClasses = function() {
-    var keys = d3.set([
-        'highway', 'railway', 'waterway', 'power', 'motorway', 'amenity',
-        'natural', 'landuse', 'building', 'oneway', 'bridge', 'boundary',
-        'tunnel', 'leisure', 'construction', 'place', 'aeroway'
-    ]), tagClassRe = /^tag-/,
-        tags = function(entity) { return entity.tags; };
 
-    var tagClasses = function(selection) {
-        selection.each(function tagClassesEach(entity) {
-            var classes, value = this.className;
-
-            if (value.baseVal !== undefined) value = value.baseVal;
+    mode.exit = function() {
+        context.uninstall(hover);
+        context.uninstall(edit);
 
-            classes = value.trim().split(/\s+/).filter(function(name) {
-                return name.length && !tagClassRe.test(name);
-            }).join(' ');
+        context.history()
+            .on('undone.drag-node', null);
 
-            var t = tags(entity);
-            for (var k in t) {
-                if (!keys.has(k)) continue;
-                classes += ' tag-' + k + ' ' + 'tag-' + k + '-' + t[k];
-            }
+        context.map()
+            .on('drawn.drag-node', null);
 
-            classes = classes.trim();
+        context.surface()
+            .selectAll('.active')
+            .classed('active', false);
 
-            if (classes !== value) {
-                d3.select(this).attr('class', classes);
-            }
-        });
+        stopNudge();
     };
 
-    tagClasses.tags = function(_) {
-        if (!arguments.length) return tags;
-        tags = _;
-        return tagClasses;
+    mode.selectedIDs = function(_) {
+        if (!arguments.length) return selectedIDs;
+        selectedIDs = _;
+        return mode;
     };
 
-    return tagClasses;
+    mode.behavior = behavior;
+
+    return mode;
 };
-iD.svg.Vertices = function(projection, context) {
-    var radiuses = {
-        //       z16-, z17, z18+, tagged
-        shadow: [6,    7.5,   7.5,  11.5],
-        stroke: [2.5,  3.5,   3.5,  7],
-        fill:   [1,    1.5,   1.5,  1.5]
+iD.modes.DrawArea = function(context, wayId, baseGraph) {
+    var mode = {
+        button: 'area',
+        id: 'draw-area'
     };
 
-    return function drawVertices(surface, graph, entities, filter, zoom) {
-        var vertices = [];
+    var behavior;
 
-        for (var i = 0; i < entities.length; i++) {
-            var entity = entities[i];
-            if (entity.geometry(graph) === 'vertex') {
-                vertices.push(entity);
+    mode.enter = function() {
+        var way = context.entity(wayId),
+            headId = way.nodes[way.nodes.length - 2],
+            tailId = way.first();
+
+        behavior = iD.behavior.DrawWay(context, wayId, -1, mode, baseGraph)
+            .tail(t('modes.draw_area.tail'));
+
+        var addNode = behavior.addNode;
+
+        behavior.addNode = function(node) {
+            if (node.id === headId || node.id === tailId) {
+                behavior.finish();
+            } else {
+                addNode(node);
             }
-        }
+        };
 
-        if (vertices.length > 2000) {
-            return surface.select('.layer-hit').selectAll('g.vertex').remove();
-        }
+        context.install(behavior);
+    };
 
-        var groups = surface.select('.layer-hit').selectAll('g.vertex')
-            .filter(filter)
-            .data(vertices, iD.Entity.key);
+    mode.exit = function() {
+        context.uninstall(behavior);
+    };
 
-        var group = groups.enter()
-            .insert('g', ':first-child')
-            .attr('class', 'node vertex');
+    mode.selectedIDs = function() {
+        return [wayId];
+    };
 
-        if (zoom < 17) {
-            zoom = 0;
-        } else if (zoom < 18) {
-            zoom = 1;
-        } else {
-            zoom = 2;
-        }
+    return mode;
+};
+iD.modes.DrawLine = function(context, wayId, baseGraph, affix) {
+    var mode = {
+        button: 'line',
+        id: 'draw-line'
+    };
 
-        group.append('circle')
-            .attr('class', 'node vertex shadow');
+    var behavior;
 
-        group.append('circle')
-            .attr('class', 'node vertex stroke');
+    mode.enter = function() {
+        var way = context.entity(wayId),
+            index = (affix === 'prefix') ? 0 : undefined,
+            headId = (affix === 'prefix') ? way.first() : way.last();
 
-        groups.attr('transform', iD.svg.PointTransform(projection))
-            .call(iD.svg.TagClasses())
-            .call(iD.svg.MemberClasses(graph))
-            .classed('tagged', function(entity) { return entity.hasInterestingTags(); })
-            .classed('shared', function(entity) { return graph.isShared(entity); });
+        behavior = iD.behavior.DrawWay(context, wayId, index, mode, baseGraph)
+            .tail(t('modes.draw_line.tail'));
 
-        function icon(entity) {
-            return zoom !== 0 &&
-                entity.hasInterestingTags() &&
-                context.presets().match(entity, graph).icon;
-        }
+        var addNode = behavior.addNode;
 
-        function center(entity) {
-            if (icon(entity)) {
-                d3.select(this)
-                    .attr('cx', 0.5)
-                    .attr('cy', -0.5);
+        behavior.addNode = function(node) {
+            if (node.id === headId) {
+                behavior.finish();
             } else {
-                d3.select(this)
-                    .attr('cy', 0)
-                    .attr('cx', 0);
+                addNode(node);
             }
-        }
+        };
 
-        groups.select('circle.shadow')
-            .each(center)
-            .attr('r', function(entity) {
-                return radiuses.shadow[icon(entity) ? 3 : zoom];
-            });
+        context.install(behavior);
+    };
 
-        groups.select('circle.stroke')
-            .each(center)
-            .attr('r', function(entity) {
-                return radiuses.stroke[icon(entity) ? 3 : zoom];
-            });
+    mode.exit = function() {
+        context.uninstall(behavior);
+    };
 
-        // Each vertex gets either a circle or a use, depending
-        // on if it has a icon or not.
+    mode.selectedIDs = function() {
+        return [wayId];
+    };
 
-        var fill = groups.selectAll('circle.fill')
-            .data(function(entity) {
-                return icon(entity) ? [] : [entity];
-            }, iD.Entity.key);
+    return mode;
+};
+iD.modes.Move = function(context, entityIDs) {
+    var mode = {
+        id: 'move',
+        button: 'browse'
+    };
 
-        fill.enter().append('circle')
-            .attr('class', 'node vertex fill')
-            .each(center)
-            .attr('r', radiuses.fill[zoom]);
+    var keybinding = d3.keybinding('move'),
+        edit = iD.behavior.Edit(context),
+        annotation = entityIDs.length === 1 ?
+            t('operations.move.annotation.' + context.geometry(entityIDs[0])) :
+            t('operations.move.annotation.multiple'),
+        cache,
+        origin,
+        nudgeInterval;
 
-        fill.exit()
-            .remove();
+    function vecSub(a, b) { return [a[0] - b[0], a[1] - b[1]]; }
 
-        var use = groups.selectAll('use')
-            .data(function(entity) {
-                var i = icon(entity);
-                return i ? [i] : [];
-            }, function(d) {
-                return d;
-            });
+    function edge(point, size) {
+        var pad = [30, 100, 30, 100];
+        if (point[0] > size[0] - pad[0]) return [-10, 0];
+        else if (point[0] < pad[2]) return [10, 0];
+        else if (point[1] > size[1] - pad[1]) return [0, -10];
+        else if (point[1] < pad[3]) return [0, 10];
+        return null;
+    }
 
-        use.enter().append('use')
-            .attr('transform', 'translate(-6, -6)')
-            .attr('clip-path', 'url(#clip-square-12)')
-            .attr('xlink:href', function(icon) { return '#maki-' + icon + '-12'; });
+    function startNudge(nudge) {
+        if (nudgeInterval) window.clearInterval(nudgeInterval);
+        nudgeInterval = window.setInterval(function() {
+            context.pan(nudge);
 
-        use.exit()
-            .remove();
+            var currMouse = context.mouse(),
+                origMouse = context.projection(origin),
+                delta = vecSub(vecSub(currMouse, origMouse), nudge),
+                action = iD.actions.Move(entityIDs, delta, context.projection, cache);
 
-        groups.exit()
-            .remove();
-    };
-};
-iD.ui = function(context) {
-    return function(container) {
-        context.container(container);
+            context.overwrite(action, annotation);
 
-        var history = context.history(),
-            map = context.map();
+        }, 50);
+    }
 
-        if (iD.detect().opera) container.classed('opera', true);
+    function stopNudge() {
+        if (nudgeInterval) window.clearInterval(nudgeInterval);
+        nudgeInterval = null;
+    }
 
-        var hash = iD.behavior.Hash(context);
+    function move() {
+        var currMouse = context.mouse(),
+            origMouse = context.projection(origin),
+            delta = vecSub(currMouse, origMouse),
+            action = iD.actions.Move(entityIDs, delta, context.projection, cache);
 
-        hash();
+        context.overwrite(action, annotation);
 
-        if (!hash.hadHash) {
-            map.centerZoom([-77.02271, 38.90085], 20);
-        }
+        var nudge = edge(currMouse, context.map().dimensions());
+        if (nudge) startNudge(nudge);
+        else stopNudge();
+    }
 
-        var m = container.append('div')
-            .attr('id', 'map')
-            .call(map);
+    function finish() {
+        d3.event.stopPropagation();
+        context.enter(iD.modes.Select(context, entityIDs).suppressMenu(true));
+        stopNudge();
+    }
 
-        var bar = container.append('div')
-            .attr('id', 'bar')
-            .attr('class','fillD');
+    function cancel() {
+        context.pop();
+        context.enter(iD.modes.Select(context, entityIDs).suppressMenu(true));
+        stopNudge();
+    }
 
-        var limiter = bar.append('div')
-            .attr('class', 'limiter');
+    function undone() {
+        context.enter(iD.modes.Browse(context));
+    }
 
-        limiter.append('div')
-            .attr('class', 'button-wrap joined col3')
-            .call(iD.ui.Modes(context), limiter);
+    mode.enter = function() {
+        origin = context.map().mouseCoordinates();
+        cache = {};
 
-        limiter.append('div')
-            .attr('class', 'button-wrap joined col1')
-            .call(iD.ui.UndoRedo(context));
+        context.install(edit);
 
-        limiter.append('div')
-            .attr('class', 'button-wrap col1')
-            .call(iD.ui.Save(context));
+        context.perform(
+            iD.actions.Noop(),
+            annotation);
 
-        bar.append('div')
-            .attr('class', 'spinner')
-            .call(iD.ui.Spinner(context));
+        context.surface()
+            .on('mousemove.move', move)
+            .on('click.move', finish);
 
-        container.append('idv')
-            .attr('class', 'attribution')
-            .attr('tabindex', -1)
-            .call(iD.ui.Attribution(context));
+        context.history()
+            .on('undone.move', undone);
 
-        container.append('div')
-            .style('display', 'none')
-            .attr('class', 'help-wrap fillL col5 content');
+        keybinding
+            .on('⎋', cancel)
+            .on('↩', finish);
 
-        container.append('div')
-            .attr('class', 'map-control zoombuttons')
-            .call(iD.ui.Zoom(context));
+        d3.select(document)
+            .call(keybinding);
+    };
 
-        container.append('div')
-            .attr('class', 'map-control geocode-control')
-            .call(iD.ui.Geocoder(context));
+    mode.exit = function() {
+        stopNudge();
 
-        container.append('div')
-            .attr('class', 'map-control background-control')
-            .call(iD.ui.Background(context));
+        context.uninstall(edit);
 
-        container.append('div')
-            .attr('class', 'map-control geolocate-control')
-            .call(iD.ui.Geolocate(map));
+        context.surface()
+            .on('mousemove.move', null)
+            .on('click.move', null);
 
-        container.append('div')
-            .attr('class', 'map-control help-control')
-            .call(iD.ui.Help(context));
+        context.history()
+            .on('undone.move', null);
 
-        container.append('div')
-            .style('display', 'none')
-            .attr('class', 'inspector-wrap fr content col4');
+        keybinding.off();
+    };
+
+    return mode;
+};
+iD.modes.RotateWay = function(context, wayId) {
+    var mode = {
+        id: 'rotate-way',
+        button: 'browse'
+    };
 
-        var about = container.append('div')
-            .attr('class','col12 about-block fillD');
+    var keybinding = d3.keybinding('rotate-way'),
+        edit = iD.behavior.Edit(context);
 
-        about.append('div')
-            .attr('class', 'api-status')
-            .call(iD.ui.Status(context));
+    mode.enter = function() {
+        context.install(edit);
 
-        if (!context.embed()) {
-            about.append('div')
-                .attr('class', 'account')
-                .call(iD.ui.Account(context));
-        }
+        var annotation = t('operations.rotate.annotation.' + context.geometry(wayId)),
+            way = context.graph().entity(wayId),
+            nodes = _.uniq(context.graph().childNodes(way)),
+            points = nodes.map(function(n) { return context.projection(n.loc); }),
+            pivot = d3.geom.polygon(points).centroid(),
+            angle;
 
-        var linkList = about.append('ul')
-            .attr('id', 'about')
-            .attr('class', 'link-list');
+        context.perform(
+            iD.actions.Noop(),
+            annotation);
 
-        linkList.append('li')
-            .append('a')
-            .attr('target', '_blank')
-            .attr('tabindex', -1)
-            .attr('href', 'http://github.com/systemed/iD')
-            .text(iD.version);
+        function rotate() {
 
-        linkList.append('li')
-            .append('a')
-            .attr('target', '_blank')
-            .attr('tabindex', -1)
-            .attr('href', 'https://github.com/systemed/iD/issues')
-            .text(t('report_a_bug'));
+            var mousePoint = context.mouse(),
+                newAngle = Math.atan2(mousePoint[1] - pivot[1], mousePoint[0] - pivot[0]);
 
-        linkList.append('li')
-            .attr('class', 'user-list')
-            .attr('tabindex', -1)
-            .call(iD.ui.Contributors(context));
+            if (typeof angle === 'undefined') angle = newAngle;
 
-        window.onbeforeunload = function() {
-            history.save();
-            if (history.hasChanges()) return t('save.unsaved_changes');
-        };
+            context.replace(
+                iD.actions.RotateWay(wayId, pivot, newAngle - angle, context.projection),
+                annotation);
 
-        d3.select(window).on('resize.editor', function() {
-            map.size(m.size());
-        });
+            angle = newAngle;
+        }
 
-        function pan(d) {
-            return function() {
-                context.pan(d);
-            };
+        function finish() {
+            d3.event.stopPropagation();
+            context.enter(iD.modes.Select(context, [wayId])
+                .suppressMenu(true));
         }
 
-        // pan amount
-        var pa = 5;
+        function cancel() {
+            context.pop();
+            context.enter(iD.modes.Select(context, [wayId])
+                .suppressMenu(true));
+        }
 
-        var keybinding = d3.keybinding('main')
-            .on('⌫', function() { d3.event.preventDefault(); })
-            .on('←', pan([pa, 0]))
-            .on('↑', pan([0, pa]))
-            .on('→', pan([-pa, 0]))
-            .on('↓', pan([0, -pa]));
+        function undone() {
+            context.enter(iD.modes.Browse(context));
+        }
+
+        context.surface()
+            .on('mousemove.rotate-way', rotate)
+            .on('click.rotate-way', finish);
+
+        context.history()
+            .on('undone.rotate-way', undone);
+
+        keybinding
+            .on('⎋', cancel)
+            .on('↩', finish);
 
         d3.select(document)
             .call(keybinding);
+    };
 
-        context.enter(iD.modes.Browse(context));
+    mode.exit = function() {
+        context.uninstall(edit);
 
-        context.container()
-            .call(iD.ui.Splash(context))
-            .call(iD.ui.Restore(context));
+        context.surface()
+            .on('mousemove.rotate-way', null)
+            .on('click.rotate-way', null);
+
+        context.history()
+            .on('undone.rotate-way', null);
 
+        keybinding.off();
     };
-};
 
-iD.ui.tooltipHtml = function(text, key) {
-    return '<span>' + text + '</span>' + '<div class="keyhint-wrap"><span class="keyhint"> ' + key + '</span></div>';
+    return mode;
 };
-iD.ui.Account = function(context) {
-    var connection = context.connection();
+iD.modes.Save = function(context) {
+    var ui = iD.ui.Commit(context)
+            .on('cancel', cancel)
+            .on('save', save);
 
-    function update(selection) {
-        if (!connection.authenticated()) {
-            selection.html('')
-                .style('display', 'none');
-            return;
-        }
+    function cancel() {
+        context.enter(iD.modes.Browse(context));
+    }
 
-        selection.style('display', 'block');
+    function save(e, tryAgain) {
+        function withChildNodes(ids, graph) {
+            return _.uniq(_.reduce(ids, function(result, id) {
+                var e = graph.entity(id);
+                if (e.type === 'way') {
+                    var cn = graph.childNodes(e);
+                    result.push.apply(result, _.pluck(_.filter(cn, 'version'), 'id'));
+                }
+                return result;
+            }, _.clone(ids)));
+        }
+
+        var loading = iD.ui.Loading(context).message(t('save.uploading')).blocking(true),
+            history = context.history(),
+            origChanges = history.changes(iD.actions.DiscardTags(history.difference())),
+            localGraph = context.graph(),
+            remoteGraph = iD.Graph(history.base(), true),
+            modified = _.filter(history.difference().summary(), {changeType: 'modified'}),
+            toCheck = _.pluck(_.pluck(modified, 'entity'), 'id'),
+            toLoad = withChildNodes(toCheck, localGraph),
+            conflicts = [],
+            errors = [];
+
+        if (!tryAgain) history.perform(iD.actions.Noop());  // checkpoint
+        context.container().call(loading);
+
+        if (toCheck.length) {
+            context.connection().loadMultiple(toLoad, loaded);
+        } else {
+            finalize();
+        }
 
-        connection.userDetails(function(err, details) {
-            selection.html('');
 
-            if (err) return;
+        // Reload modified entities into an alternate graph and check for conflicts..
+        function loaded(err, result) {
+            if (errors.length) return;
 
-            // Link
-            var userLink = selection.append('a')
-                .attr('href', connection.url() + '/user/' + details.display_name)
-                .attr('target', '_blank');
+            if (err) {
+                errors.push({
+                    msg: err.responseText,
+                    details: [ t('save.status_code', { code: err.status }) ]
+                });
+                showErrors();
 
-            // Add thumbnail or dont
-            if (details.image_url) {
-                userLink.append('img')
-                    .attr('class', 'icon icon-pre-text user-icon')
-                    .attr('src', details.image_url);
             } else {
-                userLink.append('span')
-                    .attr('class', 'icon avatar light icon-pre-text');
-            }
-
-            // Add user name
-            userLink.append('span')
-                .attr('class', 'label')
-                .text(details.display_name);
-
-            selection.append('a')
-                .attr('class', 'logout')
-                .attr('href', '#')
-                .text(t('logout'))
-                .on('click.logout', function() {
-                    d3.event.preventDefault();
-                    connection.logout();
+                var loadMore = [];
+                _.each(result.data, function(entity) {
+                    remoteGraph.replace(entity);
+                    toLoad = _.without(toLoad, entity.id);
+
+                    // Because loadMultiple doesn't download /full like loadEntity,
+                    // need to also load children that aren't already being checked..
+                    if (!entity.visible) return;
+                    if (entity.type === 'way') {
+                        loadMore.push.apply(loadMore,
+                            _.difference(entity.nodes, toCheck, toLoad, loadMore));
+                    } else if (entity.type === 'relation' && entity.isMultipolygon()) {
+                        loadMore.push.apply(loadMore,
+                            _.difference(_.pluck(entity.members, 'id'), toCheck, toLoad, loadMore));
+                    }
                 });
-        });
-    }
-
-    return function(selection) {
-        connection.on('auth', function() { update(selection); });
-        update(selection);
-    };
-};
-iD.ui.Attribution = function(context) {
-    var selection;
-
-    function update() {
-        if (!context.background().source()) {
-            selection.html('');
-            return;
-        }
-
-        var attribution = selection.selectAll('.provided-by')
-            .data([context.background().source()], function(d) { return d.data.name; });
-
-        attribution.enter()
-            .append('span')
-            .attr('class', 'provided-by')
-            .each(function(d) {
-                var source = d.data.sourcetag || d.data.name;
 
-                if (d.data.logo) {
-                    source = '<img class="source-image" src="' + context.imagePath(d.data.logo) + '">';
+                if (loadMore.length) {
+                    toLoad.push.apply(toLoad, loadMore);
+                    context.connection().loadMultiple(loadMore, loaded);
                 }
 
-                if (d.data.terms_url) {
-                    d3.select(this)
-                        .append('a')
-                        .attr('href', d.data.terms_url)
-                        .attr('target', '_blank')
-                        .html(source);
-                } else {
-                    d3.select(this)
-                        .text(source);
+                if (!toLoad.length) {
+                    checkConflicts();
                 }
-            });
-
-        attribution.exit()
-            .remove();
+            }
+        }
 
-        var copyright = attribution.selectAll('.copyright-notice')
-            .data(function(d) {
-                var notice = d.copyrightNotices(context.map().zoom(), context.map().extent());
-                return notice ? [notice] : [];
-            });
 
-        copyright.enter()
-            .append('span')
-            .attr('class', 'copyright-notice');
+        function checkConflicts() {
+            function choice(id, text, action) {
+                return { id: id, text: text, action: function() { history.replace(action); } };
+            }
+            function formatUser(d) {
+                return '<a href="' + context.connection().userURL(d) + '" target="_blank">' + d + '</a>';
+            }
+            function entityName(entity) {
+                return iD.util.displayName(entity) || (iD.util.displayType(entity.id) + ' ' + entity.id);
+            }
 
-        copyright.text(String);
+            function compareVersions(local, remote) {
+                if (local.version !== remote.version) return false;
 
-        copyright.exit()
-            .remove();
-    }
+                if (local.type === 'way') {
+                    var children = _.union(local.nodes, remote.nodes);
 
-    return function(select) {
-        selection = select;
+                    for (var i = 0; i < children.length; i++) {
+                        var a = localGraph.hasEntity(children[i]),
+                            b = remoteGraph.hasEntity(children[i]);
 
-        context.background()
-            .on('change.attribution', update);
+                        if (a && b && a.version !== b.version) return false;
+                    }
+                }
 
-        context.map()
-            .on('move.attribution', _.throttle(update, 400));
+                return true;
+            }
 
-        update();
-    };
-};
-iD.ui.Background = function(context) {
-    var key = 'b',
-        opacities = [1, 0.5, 0],
-        directions = [
-            ['left', [1, 0]],
-            ['top', [0, -1]],
-            ['right', [-1, 0]],
-            ['bottom', [0, 1]]],
-        layers = context.backgroundSources();
+            _.each(toCheck, function(id) {
+                var local = localGraph.entity(id),
+                    remote = remoteGraph.entity(id);
 
-    function getSources() {
-        var ext = context.map().extent();
-        return layers.filter(function(layer) {
-            return !layer.data.extent ||
-                iD.geo.Extent(layer.data.extent).intersects(ext);
-        });
-    }
+                if (compareVersions(local, remote)) return;
 
-    function background(selection) {
+                var action = iD.actions.MergeRemoteChanges,
+                    merge = action(id, localGraph, remoteGraph, formatUser);
 
-        function setOpacity(d) {
-            context.map().layersurface.selectAll('.layer-layer')
-                .filter(function(d) { return d == context.map().layers[0]; })
-                .transition()
-                .style('opacity', d)
-                .attr('data-opacity', d);
+                history.replace(merge);
 
-            opacityList.selectAll('li')
-                .classed('selected', false);
+                var mergeConflicts = merge.conflicts();
+                if (!mergeConflicts.length) return;  // merged safely
 
-            if (d3.event) {
-                d3.select(this)
-                    .classed('selected', true);
-            }
-        }
+                var forceLocal = action(id, localGraph, remoteGraph).withOption('force_local'),
+                    forceRemote = action(id, localGraph, remoteGraph).withOption('force_remote'),
+                    keepMine = t('save.conflict.' + (remote.visible ? 'keep_local' : 'restore')),
+                    keepTheirs = t('save.conflict.' + (remote.visible ? 'keep_remote' : 'delete'));
 
-        function selectLayer() {
-            content.selectAll('a.layer')
-                .classed('selected', function(d) {
-                    var overlay = context.map().layers[2].source();
-                    return d.data.name === context.background().source().data.name ||
-                        (overlay.data && overlay.data.name === d.data.name);
+                conflicts.push({
+                    id: id,
+                    name: entityName(local),
+                    details: mergeConflicts,
+                    chosen: 1,
+                    choices: [
+                        choice(id, keepMine, forceLocal),
+                        choice(id, keepTheirs, forceRemote)
+                    ]
                 });
-        }
+            });
 
-        function clickSetSource(d) {
-            d3.event.preventDefault();
-            if (d.data.name === 'Custom') {
-                var configured = d();
-                if (!configured) return;
-                d = configured;
-            }
-            context.background().source(d);
-            if (d.data.name === 'Custom (customized)') {
-                context.history()
-                    .imagery_used('Custom (' + d.data.template + ')');
-            } else {
-                context.history()
-                    .imagery_used(d.data.sourcetag || d.data.name);
-            }
-            context.redraw();
-            selectLayer();
+            finalize();
         }
 
-        function clickSetOverlay(d) {
-            d3.event.preventDefault();
-            var overlay = context.map().layers[2];
-            if (overlay.source() === d) {
-                overlay.source(d3.functor(''));
+
+        function finalize() {
+            if (conflicts.length) {
+                conflicts.sort(function(a,b) { return b.id.localeCompare(a.id); });
+                showConflicts();
+            } else if (errors.length) {
+                showErrors();
             } else {
-                overlay.source(d);
+                var changes = history.changes(iD.actions.DiscardTags(history.difference()));
+                if (changes.modified.length || changes.created.length || changes.deleted.length) {
+                    context.connection().putChangeset(
+                        changes,
+                        e.comment,
+                        history.imageryUsed(),
+                        function(err, changeset_id) {
+                            if (err) {
+                                errors.push({
+                                    msg: err.responseText,
+                                    details: [ t('save.status_code', { code: err.status }) ]
+                                });
+                                showErrors();
+                            } else {
+                                history.clearSaved();
+                                success(e, changeset_id);
+                                // Add delay to allow for postgres replication #1646 #2678
+                                window.setTimeout(function() {
+                                    loading.close();
+                                    context.flush();
+                                }, 2500);
+                            }
+                        });
+                } else {        // changes were insignificant or reverted by user
+                    loading.close();
+                    context.flush();
+                    cancel();
+                }
             }
-            context.redraw();
-            selectLayer();
         }
 
-        function clickGpx(d) {
-            d3.event.preventDefault();
-            if (!_.isEmpty(context.map().layers[1].geojson())) {
-                context.map().layers[1]
-                    .enable(!context.map().layers[1].enable());
-                d3.select(this)
-                    .classed('selected', context.map().layers[1].enable());
-                context.redraw();
-            }
-        }
 
-        function drawList(layerList, click, filter) {
+        function showConflicts() {
+            var selection = context.container()
+                .select('#sidebar')
+                .append('div')
+                .attr('class','sidebar-component');
+
+            loading.close();
 
-            var layerLinks = layerList.selectAll('a.layer')
-                .data(getSources().filter(filter), function(d) {
-                    return d.data.name;
-                });
+            selection.call(iD.ui.Conflicts(context)
+                .list(conflicts)
+                .on('download', function() {
+                    var data = JXON.stringify(context.connection().osmChangeJXON('CHANGEME', origChanges)),
+                        win = window.open('data:text/xml,' + encodeURIComponent(data), '_blank');
+                    win.focus();
+                })
+                .on('cancel', function() {
+                    history.pop();
+                    selection.remove();
+                })
+                .on('save', function() {
+                    for (var i = 0; i < conflicts.length; i++) {
+                        if (conflicts[i].chosen === 1) {  // user chose "keep theirs"
+                            var entity = context.hasEntity(conflicts[i].id);
+                            if (entity && entity.type === 'way') {
+                                var children = _.uniq(entity.nodes);
+                                for (var j = 0; j < children.length; j++) {
+                                    history.replace(iD.actions.Revert(children[j]));
+                                }
+                            }
+                            history.replace(iD.actions.Revert(conflicts[i].id));
+                        }
+                    }
 
-            var layerInner = layerLinks.enter()
-                .append('li')
-                .append('a');
+                    selection.remove();
+                    save(e, true);
+                })
+            );
+        }
 
-            layerInner
-                .attr('href', '#')
-                .attr('class', 'layer')
-                .on('click.set-source', click);
 
-            // only set tooltips for layers with tooltips
-            layerInner
-                .filter(function(d) { return d.data.description; })
-                .call(bootstrap.tooltip()
-                    .title(function(d) { return d.data.description; })
-                    .placement('right')
-                );
+        function showErrors() {
+            var selection = iD.ui.confirm(context.container());
 
-            layerInner.insert('span').text(function(d) {
-                return d.data.name;
-            });
+            history.pop();
+            loading.close();
 
-            layerLinks.exit()
-                .remove();
+            selection
+                .select('.modal-section.header')
+                .append('h3')
+                .text(t('save.error'));
 
-            layerList.style('display', layerList.selectAll('a.layer').data().length > 0 ? 'block' : 'none');
+            addErrors(selection, errors);
+            selection.okButton();
         }
 
-        function update() {
 
-            backgroundList.call(drawList, clickSetSource, function(d) {
-                return !d.data.overlay;
-            });
+        function addErrors(selection, data) {
+            var message = selection
+                .select('.modal-section.message-text');
 
-            overlayList.call(drawList, clickSetOverlay, function(d) {
-                return d.data.overlay;
-            });
+            var items = message
+                .selectAll('.error-container')
+                .data(data);
 
-            gpxLayerItem
-                .classed('selected', function() {
-                    var gpxLayer = context.map().layers[1];
-                    return !_.isEmpty(gpxLayer.geojson()) &&
-                        gpxLayer.enable();
-                });
+            var enter = items.enter()
+                .append('div')
+                .attr('class', 'error-container');
 
-            selectLayer();
-        }
+            enter
+                .append('a')
+                .attr('class', 'error-description')
+                .attr('href', '#')
+                .classed('hide-toggle', true)
+                .text(function(d) { return d.msg || t('save.unknown_error_details'); })
+                .on('click', function() {
+                    var error = d3.select(this),
+                        detail = d3.select(this.nextElementSibling),
+                        exp = error.classed('expanded');
 
-        function clickNudge(d) {
-            var interval = window.setInterval(nudge, 100);
+                    detail.style('display', exp ? 'none' : 'block');
+                    error.classed('expanded', !exp);
 
-            d3.select(this).on('mouseup', function() {
-                window.clearInterval(interval);
-                nudge();
-            });
+                    d3.event.preventDefault();
+                });
 
-            function nudge() {
-                context.background().nudge(d[1], context.map().zoom());
-                context.redraw();
-            }
-        }
+            var details = enter
+                .append('div')
+                .attr('class', 'error-detail-container')
+                .style('display', 'none');
 
-        var content = selection.append('div')
-                .attr('class', 'fillL map-overlay content hide'),
-            tooltip = bootstrap.tooltip()
-                .placement('right')
-                .html(true)
-                .title(iD.ui.tooltipHtml(t('background.description'), key));
+            details
+                .append('ul')
+                .attr('class', 'error-detail-list')
+                .selectAll('li')
+                .data(function(d) { return d.details || []; })
+                .enter()
+                .append('li')
+                .attr('class', 'error-detail-item')
+                .text(function(d) { return d; });
 
-        function hide() { setVisible(false); }
-        function toggle() {
-            if (d3.event) d3.event.preventDefault();
-            tooltip.hide(button);
-            setVisible(!button.classed('active'));
-            content.selectAll('.toggle-list li:first-child a').node().focus();
+            items.exit()
+                .remove();
         }
 
-        function setVisible(show) {
-            if (show !== shown) {
-                button.classed('active', show);
-                shown = show;
-
-                if (show) {
-                    selection.on('mousedown.background-inside', function() {
-                        return d3.event.stopPropagation();
-                    });
-                    content.style('display', 'block')
-                        .style('left', '-500px')
-                        .transition()
-                        .duration(200)
-                        .style('left', '30px');
-                } else {
-                    content.style('display', 'block')
-                        .style('left', '30px')
-                        .transition()
-                        .duration(200)
-                        .style('left', '-500px')
-                        .each('end', function() {
-                            d3.select(this).style('display', 'none');
-                        });
-                    selection.on('mousedown.background-inside', null);
-                }
-            }
-        }
+    }
 
-        var button = selection.append('button')
-                .attr('tabindex', -1)
-                .on('click', toggle)
-                .call(tooltip),
-            opa = content
-                .append('div')
-                .attr('class', 'opacity-options-wrapper'),
-            shown = false;
 
-        button.append('span')
-            .attr('class', 'layers icon');
+    function success(e, changeset_id) {
+        context.enter(iD.modes.Browse(context)
+            .sidebar(iD.ui.Success(context)
+                .changeset({
+                    id: changeset_id,
+                    comment: e.comment
+                })
+                .on('cancel', function() {
+                    context.ui().sidebar.hide();
+                })));
+    }
 
-        opa.append('h4')
-            .text(t('background.title'));
+    var mode = {
+        id: 'save'
+    };
 
-        var opacityList = opa.append('ul')
-            .attr('class', 'opacity-options');
-
-        opacityList.selectAll('div.opacity')
-            .data(opacities)
-            .enter()
-            .append('li')
-            .attr('data-original-title', function(d) {
-                return t('background.percent_brightness', { opacity: (d * 100) });
-            })
-            .on('click.set-opacity', setOpacity)
-            .html("<div class='select-box'></div>")
-            .call(bootstrap.tooltip()
-                .placement('top'))
-            .append('div')
-            .attr('class', 'opacity')
-            .style('opacity', String);
-
-        // Make sure there is an active selection by default
-        opa.select('.opacity-options li:nth-child(2)')
-            .classed('selected', true);
-
-        var backgroundList = content
-            .append('ul')
-            .attr('class', 'toggle-list');
-
-        var overlayList = content
-            .append('ul')
-            .attr('class', 'toggle-list');
-
-        var gpxLayerItem = content
-            .append('ul')
-            .style('display', iD.detect().filedrop ? 'block' : 'none')
-            .attr('class', 'toggle-list')
-            .append('li')
-            .append('a')
-            .classed('layer-toggle-gpx', true)
-            .on('click.set-gpx', clickGpx);
-
-        gpxLayerItem.call(bootstrap.tooltip()
-            .title(t('gpx.drag_drop'))
-            .placement('right'));
-
-        gpxLayerItem.append('span')
-            .text(t('gpx.local_layer'));
-
-        gpxLayerItem
-            .append('button')
-            .attr('class', 'minor layer-extent')
-            .on('click', function() {
-                d3.event.preventDefault();
-                d3.event.stopPropagation();
-                if (context.map().layers[1].geojson().type) {
-                    context.map()
-                        .extent(d3.geo.bounds(context
-                            .map()
-                            .layers[1]
-                            .geojson()));
-                }
-            })
-            .append('span')
-                .attr('class', 'icon geocode' );
-
-        var adjustments = content
-            .append('div')
-            .attr('class', 'adjustments');
-
-        adjustments.append('a')
-            .text(t('background.fix_misalignment'))
-            .attr('href', '#')
-            .classed('hide-toggle', true)
-            .classed('expanded', false)
-            .on('click', function() {
-                var exp = d3.select(this).classed('expanded');
-                nudgeContainer.style('display', exp ? 'none' : 'block');
-                d3.select(this).classed('expanded', !exp);
-                d3.event.preventDefault();
-            });
-
-        var nudgeContainer = adjustments
-            .append('div')
-            .attr('class', 'nudge-container cf')
-            .style('display', 'none');
-
-        nudgeContainer.selectAll('button')
-            .data(directions).enter()
-            .append('button')
-            .attr('class', function(d) { return d[0] + ' nudge'; })
-            .on('mousedown', clickNudge);
-
-        var resetButton = nudgeContainer.append('button')
-            .attr('class', 'reset')
-            .on('click', function () {
-                context.background().offset([0, 0]);
-                context.redraw();
-            });
-
-        resetButton.append('div')
-            .attr('class', 'icon undo');
+    mode.enter = function() {
+        context.connection().authenticate(function(err) {
+            if (err) {
+                cancel();
+            } else {
+                context.ui().sidebar.show(ui);
+            }
+        });
+    };
 
-        resetButton.call(bootstrap.tooltip()
-            .title(t('background.reset'))
-            .placement('right'));
+    mode.exit = function() {
+        context.ui().sidebar.hide();
+    };
 
-        context.map()
-            .on('move.background-update', _.debounce(update, 1000));
-        update();
-        setOpacity(0.5);
+    return mode;
+};
+iD.modes.Select = function(context, selectedIDs) {
+    var mode = {
+        id: 'select',
+        button: 'browse'
+    };
 
-        var keybinding = d3.keybinding('background');
-        keybinding.on(key, toggle);
+    var keybinding = d3.keybinding('select'),
+        timeout = null,
+        behaviors = [
+            iD.behavior.Copy(context),
+            iD.behavior.Paste(context),
+            iD.behavior.Hover(context),
+            iD.behavior.Select(context),
+            iD.behavior.Lasso(context),
+            iD.modes.DragNode(context)
+                .selectedIDs(selectedIDs)
+                .behavior],
+        inspector,
+        radialMenu,
+        newFeature = false,
+        suppressMenu = false;
 
-        d3.select(document)
-            .call(keybinding);
+    var wrap = context.container()
+        .select('.inspector-wrap');
 
-        context.surface().on('mousedown.background-outside', hide);
-        context.container().on('mousedown.background-outside', hide);
 
+    function singular() {
+        if (selectedIDs.length === 1) {
+            return context.entity(selectedIDs[0]);
+        }
     }
 
-    return background;
-};
-// Translate a MacOS key command into the appropriate Windows/Linux equivalent.
-// For example, ⌘Z -> Ctrl+Z
-iD.ui.cmd = function(code) {
-    if (iD.detect().os === 'mac')
-        return code;
-
-    var replacements = {
-        '⌘': 'Ctrl',
-        '⇧': 'Shift',
-        '⌥': 'Alt',
-        '⌫': 'Backspace',
-        '⌦': 'Delete'
-    }, keys = [];
-
-    if (iD.detect().os === 'win') {
-        if (code === '⌘⇧Z') return 'Ctrl+Y';
+    function closeMenu() {
+        if (radialMenu) {
+            context.surface().call(radialMenu.close);
+        }
     }
 
-    for (var i = 0; i < code.length; i++) {
-        if (code[i] in replacements) {
-            keys.push(replacements[code[i]]);
+    function positionMenu() {
+        if (suppressMenu || !radialMenu) { return; }
+
+        var entity = singular();
+        if (entity && context.geometry(entity.id) === 'relation') {
+            suppressMenu = true;
+        } else if (entity && entity.type === 'node') {
+            radialMenu.center(context.projection(entity.loc));
         } else {
-            keys.push(code[i]);
+            var point = context.mouse(),
+                viewport = iD.geo.Extent(context.projection.clipExtent()).polygon();
+            if (iD.geo.pointInPolygon(point, viewport)) {
+                radialMenu.center(point);
+            } else {
+                suppressMenu = true;
+            }
         }
     }
 
-    return keys.join('+');
-};
-iD.ui.Commit = function(context) {
-    var event = d3.dispatch('cancel', 'save', 'fix'),
-        presets = context.presets();
+    function showMenu() {
+        closeMenu();
+        if (!suppressMenu && radialMenu) {
+            context.surface().call(radialMenu);
+        }
+    }
 
-    function zipSame(d) {
-        var c = [], n = -1;
-        for (var i = 0; i < d.length; i++) {
-            var desc = {
-                name: d[i].tags.name || presets.match(d[i], context.graph()).name(),
-                type: d[i].type,
-                count: 1,
-                tagText: iD.util.tagText(d[i])
-            };
-            if (c[n] &&
-                c[n].name == desc.name &&
-                c[n].tagText == desc.tagText) {
-                c[n].count++;
-            } else {
-                c[++n] = desc;
-            }
+    function toggleMenu() {
+        if (d3.select('.radial-menu').empty()) {
+            showMenu();
+        } else {
+            closeMenu();
         }
-        return c;
     }
 
-    function commit(selection) {
+    mode.selectedIDs = function() {
+        return selectedIDs;
+    };
 
-        function changesLength(d) { return changes[d].length; }
+    mode.reselect = function() {
+        var surfaceNode = context.surface().node();
+        if (surfaceNode.focus) { // FF doesn't support it
+            surfaceNode.focus();
+        }
 
-        var changes = selection.datum(),
-            connection = changes.connection,
-            user = connection.user(),
-            header = selection.append('div').attr('class', 'header modal-section'),
-            body = selection.append('div').attr('class', 'body');
+        positionMenu();
+        showMenu();
+    };
 
-        header.append('h3')
-            .text(t('commit.title'));
+    mode.newFeature = function(_) {
+        if (!arguments.length) return newFeature;
+        newFeature = _;
+        return mode;
+    };
 
-        // Comment Section
-        var commentSection = body.append('div')
-            .attr('class', 'modal-section form-field');
+    mode.suppressMenu = function(_) {
+        if (!arguments.length) return suppressMenu;
+        suppressMenu = _;
+        return mode;
+    };
 
-            commentSection.append('label')
-                .attr('class','form-label')
-                .text(t('commit.message_label'));
+    mode.enter = function() {
+        function update() {
+            closeMenu();
+            if (_.any(selectedIDs, function(id) { return !context.hasEntity(id); })) {
+                // Exit mode if selected entity gets undone
+                context.enter(iD.modes.Browse(context));
+            }
+        }
 
-        var commentField = commentSection
-                .append('textarea')
-                .attr('placeholder', t('commit.description_placeholder'))
-                .property('value',  context.storage('comment') || '');
+        function dblclick() {
+            var target = d3.select(d3.event.target),
+                datum = target.datum();
 
-        commentField.node().select();
+            if (datum instanceof iD.Way && !target.classed('fill')) {
+                var choice = iD.geo.chooseEdge(context.childNodes(datum), context.mouse(), context.projection),
+                    node = iD.Node();
 
-        // Save Section
-        var saveSection = body.append('div').attr('class','modal-section cf');
+                var prev = datum.nodes[choice.index - 1],
+                    next = datum.nodes[choice.index];
 
-        var userLink = d3.select(document.createElement('div'));
+                context.perform(
+                    iD.actions.AddMidpoint({loc: choice.loc, edge: [prev, next]}, node),
+                    t('operations.add.annotation.vertex'));
 
-        if (user.image_url) {
-            userLink.append('img')
-                .attr('src', user.image_url)
-                .attr('class', 'icon icon-pre-text user-icon');
+                d3.event.preventDefault();
+                d3.event.stopPropagation();
+            }
         }
 
-        userLink.append('a')
-            .attr('class','user-info')
-            .text(user.display_name)
-            .attr('href', connection.url() + '/user/' + user.display_name)
-            .attr('target', '_blank');
+        function selectElements(drawn) {
+            var entity = singular();
+            if (entity && context.geometry(entity.id) === 'relation') {
+                suppressMenu = true;
+                return;
+            }
 
-        saveSection.append('p')
-            .attr('class', 'commit-info')
-            .html(t('commit.upload_explanation', {user: userLink.html()}));
+            var selection = context.surface()
+                    .selectAll(iD.util.entityOrMemberSelector(selectedIDs, context.graph()));
 
-        // Confirm Button
-        var saveButton = saveSection.append('button')
-            .attr('class', 'action col2 button')
-            .on('click.save', function() {
-                var comment = commentField.node().value;
-                localStorage.comment = comment;
-                event.save({
-                    comment: comment
-                });
-            });
+            if (selection.empty()) {
+                if (drawn) {  // Exit mode if selected DOM elements have disappeared..
+                    context.enter(iD.modes.Browse(context));
+                }
+            } else {
+                selection
+                    .classed('selected', true);
+            }
+        }
 
-        saveButton.append('span')
-            .attr('class', 'label')
-            .text(t('commit.save'));
 
-        var warnings = body.selectAll('div.warning-section')
-            .data(iD.validate(changes, context.graph()))
-            .enter()
-            .append('div')
-            .attr('class', 'modal-section warning-section fillL2');
+        behaviors.forEach(function(behavior) {
+            context.install(behavior);
+        });
 
-        warnings.append('h3')
-            .text(t('commit.warnings'));
+        var operations = _.without(d3.values(iD.operations), iD.operations.Delete)
+                .map(function(o) { return o(selectedIDs, context); })
+                .filter(function(o) { return o.available(); });
 
-        var warningLi = warnings.append('ul')
-            .attr('class', 'changeset-list')
-            .selectAll('li')
-            .data(function(d) { return d; })
-            .enter()
-            .append('li');
+        operations.unshift(iD.operations.Delete(selectedIDs, context));
 
-        // only show the fix icon when an entity is given
-        warningLi.filter(function(d) { return d.entity; })
-            .append('button')
-            .attr('class', 'minor')
-            .on('click', event.fix)
-            .append('span')
-            .attr('class', 'icon warning');
+        keybinding
+            .on('⎋', function() { context.enter(iD.modes.Browse(context)); }, true)
+            .on('space', toggleMenu);
 
-        warningLi.append('strong').text(function(d) {
-            return d.message;
+        operations.forEach(function(operation) {
+            operation.keys.forEach(function(key) {
+                keybinding.on(key, function() {
+                    if (!operation.disabled()) {
+                        operation();
+                    }
+                });
+            });
         });
 
-        var section = body.selectAll('div.commit-section')
-            .data(['modified', 'deleted', 'created'].filter(changesLength))
-            .enter()
-            .append('div')
-            .attr('class', 'commit-section modal-section fillL2');
-
-        section.append('h3')
-            .text(function(d) { return t('commit.' + d); })
-            .append('small')
-            .attr('class', 'count')
-            .text(changesLength);
+        d3.select(document)
+            .call(keybinding);
 
-        var li = section.append('ul')
-            .attr('class', 'changeset-list')
-            .selectAll('li')
-            .data(function(d) { return zipSame(changes[d]); })
-            .enter()
-            .append('li');
+        radialMenu = iD.ui.RadialMenu(context, operations);
 
-        li.append('strong')
-            .text(function(d) {
-                return (d.count > 1) ? d.type + 's ' : d.type + ' ';
-            });
+        context.ui().sidebar
+            .select(singular() ? singular().id : null, newFeature);
 
-        li.append('span')
-            .text(function(d) { return d.name; })
-            .attr('title', function(d) { return d.tagText; });
+        context.history()
+            .on('undone.select', update)
+            .on('redone.select', update);
 
-        li.filter(function(d) { return d.count > 1; })
-            .append('span')
-            .attr('class', 'count')
-            .text(function(d) { return d.count; });
-    }
+        context.map()
+            .on('move.select', closeMenu)
+            .on('drawn.select', selectElements);
 
-    return d3.rebind(commit, event, 'on');
-};
-iD.ui.confirm = function(selection) {
-    var modal = iD.ui.modal(selection);
+        selectElements();
 
-    modal.select('.modal')
-        .classed('modal-alert', true);
+        var show = d3.event && !suppressMenu;
 
-    var section = modal.select('.content');
+        if (show) {
+            positionMenu();
+        }
 
-    var modalHeader = section.append('div')
-        .attr('class', 'modal-section header');
+        timeout = window.setTimeout(function() {
+            if (show) {
+                showMenu();
+            }
 
-    var description = section.append('div')
-        .attr('class', 'modal-section message-text');
+            context.surface()
+                .on('dblclick.select', dblclick);
+        }, 200);
 
-    var buttonwrap = section.append('div')
-        .attr('class', 'modal-section buttons cf');
+        if (selectedIDs.length > 1) {
+            var entities = iD.ui.SelectionList(context, selectedIDs);
+            context.ui().sidebar.show(entities);
+        }
+    };
 
-    var okbutton = buttonwrap.append('button')
-        .attr('class', 'col2 action')
-        .on('click.confirm', function() {
-            modal.remove();
-        })
-        .text('Okay');
+    mode.exit = function() {
+        if (timeout) window.clearTimeout(timeout);
 
-    return modal;
-};
-iD.ui.Contributors = function(context) {
-    function update(selection) {
-        var users = {},
-            limit = 4,
-            entities = context.intersects(context.map().extent());
+        if (inspector) wrap.call(inspector.close);
 
-        entities.forEach(function(entity) {
-            if (entity && entity.user) users[entity.user] = true;
+        behaviors.forEach(function(behavior) {
+            context.uninstall(behavior);
         });
 
-        var u = Object.keys(users),
-            subset = u.slice(0, u.length > limit ? limit - 1 : limit);
+        keybinding.off();
+        closeMenu();
+        radialMenu = undefined;
 
-        selection.html('')
-            .append('span')
-            .attr('class', 'icon nearby light icon-pre-text');
+        context.history()
+            .on('undone.select', null)
+            .on('redone.select', null);
 
-        var userList = d3.select(document.createElement('span'));
+        context.surface()
+            .on('dblclick.select', null)
+            .selectAll('.selected')
+            .classed('selected', false);
 
-        userList.selectAll()
-            .data(subset)
-            .enter()
-            .append('a')
-            .attr('class', 'user-link')
-            .attr('href', function(d) { return context.connection().userUrl(d); })
-            .attr('target', '_blank')
-            .attr('tabindex', -1)
-            .text(String);
+        context.map().on('drawn.select', null);
+        context.ui().sidebar.hide();
+    };
 
-        if (u.length > limit) {
-            var count = d3.select(document.createElement('span'));
+    return mode;
+};
+iD.operations = {};
+iD.operations.Circularize = function(selectedIDs, context) {
+    var entityId = selectedIDs[0],
+        entity = context.entity(entityId),
+        extent = entity.extent(context.graph()),
+        geometry = context.geometry(entityId),
+        action = iD.actions.Circularize(entityId, context.projection);
 
-            count.append('a')
-                .attr('target', '_blank')
-                .attr('tabindex', -1)
-                .attr('href', function() {
-                    var ext = context.map().extent();
-                    return 'http://www.openstreetmap.org/browse/changesets?bbox=' + [
-                        ext[0][0], ext[0][1],
-                        ext[1][0], ext[1][1]];
-                })
-                .text(u.length - limit + 1);
+    var operation = function() {
+        var annotation = t('operations.circularize.annotation.' + geometry);
+        context.perform(action, annotation);
+    };
 
-            selection.append('span')
-                .html(t('contributors.truncated_list', {users: userList.html(), count: count.html()}));
-        } else {
-            selection.append('span')
-                .html(t('contributors.list', {users: userList.html()}));
-        }
+    operation.available = function() {
+        return selectedIDs.length === 1 &&
+            entity.type === 'way' &&
+            _.uniq(entity.nodes).length > 1;
+    };
 
-        if (!u.length) {
-            selection.transition().style('opacity', 0);
-        } else if (selection.style('opacity') === '0') {
-            selection.transition().style('opacity', 1);
+    operation.disabled = function() {
+        var reason;
+        if (extent.percentContainedIn(context.extent()) < 0.8) {
+            reason = 'too_large';
+        } else if (context.hasHiddenConnections(entityId)) {
+            reason = 'connected_to_hidden';
         }
-    }
+        return action.disabled(context.graph()) || reason;
+    };
 
-    return function(selection) {
-        update(selection);
+    operation.tooltip = function() {
+        var disable = operation.disabled();
+        return disable ?
+            t('operations.circularize.' + disable) :
+            t('operations.circularize.description.' + geometry);
+    };
 
-        context.connection().on('load.contributors', function() {
-            update(selection);
+    operation.id = 'circularize';
+    operation.keys = [t('operations.circularize.key')];
+    operation.title = t('operations.circularize.title');
+
+    return operation;
+};
+iD.operations.Continue = function(selectedIDs, context) {
+    var graph = context.graph(),
+        entities = selectedIDs.map(function(id) { return graph.entity(id); }),
+        geometries = _.extend({line: [], vertex: []},
+            _.groupBy(entities, function(entity) { return entity.geometry(graph); })),
+        vertex = geometries.vertex[0];
+
+    function candidateWays() {
+        return graph.parentWays(vertex).filter(function(parent) {
+            return parent.geometry(graph) === 'line' &&
+                parent.affix(vertex.id) &&
+                (geometries.line.length === 0 || geometries.line[0] === parent);
         });
+    }
 
-        context.map().on('move.contributors', _.debounce(function() {
-            update(selection);
-        }, 500));
+    var operation = function() {
+        var candidate = candidateWays()[0];
+        context.enter(iD.modes.DrawLine(
+            context,
+            candidate.id,
+            context.graph(),
+            candidate.affix(vertex.id)));
     };
-};
-iD.ui.flash = function(selection) {
-    var modal = iD.ui.modal(selection);
 
-    modal.select('.modal').classed('modal-flash', true);
+    operation.available = function() {
+        return geometries.vertex.length === 1 && geometries.line.length <= 1 &&
+            !context.features().hasHiddenConnections(vertex, context.graph());
+    };
 
-    modal.select('.content')
-        .classed('modal-section', true)
-        .append('div')
-        .attr('class', 'description');
+    operation.disabled = function() {
+        var candidates = candidateWays();
+        if (candidates.length === 0)
+            return 'not_eligible';
+        if (candidates.length > 1)
+            return 'multiple';
+    };
 
-    modal.on('click.flash', function() { modal.remove(); });
+    operation.tooltip = function() {
+        var disable = operation.disabled();
+        return disable ?
+            t('operations.continue.' + disable) :
+            t('operations.continue.description');
+    };
 
-    setTimeout(function() {
-        modal.remove();
-        return true;
-    }, 1500);
+    operation.id = 'continue';
+    operation.keys = [t('operations.continue.key')];
+    operation.title = t('operations.continue.title');
 
-    return modal;
+    return operation;
 };
-iD.ui.Geocoder = function(context) {
+iD.operations.Delete = function(selectedIDs, context) {
+    var action = iD.actions.DeleteMultiple(selectedIDs);
 
-    var key = 'f';
-
-    function resultExtent(bounds) {
-        return new iD.geo.Extent(
-            [parseFloat(bounds[3]), parseFloat(bounds[0])],
-            [parseFloat(bounds[2]), parseFloat(bounds[1])]);
-    }
+    var operation = function() {
+        var annotation,
+            nextSelectedID;
 
-    function geocoder(selection) {
+        if (selectedIDs.length > 1) {
+            annotation = t('operations.delete.annotation.multiple', {n: selectedIDs.length});
 
-        var shown = false;
+        } else {
+            var id = selectedIDs[0],
+                entity = context.entity(id),
+                geometry = context.geometry(id),
+                parents = context.graph().parentWays(entity),
+                parent = parents[0];
+
+            annotation = t('operations.delete.annotation.' + geometry);
+
+            // Select the next closest node in the way.
+            if (geometry === 'vertex' && parents.length === 1 && parent.nodes.length > 2) {
+                var nodes = parent.nodes,
+                    i = nodes.indexOf(id);
+
+                if (i === 0) {
+                    i++;
+                } else if (i === nodes.length - 1) {
+                    i--;
+                } else {
+                    var a = iD.geo.sphericalDistance(entity.loc, context.entity(nodes[i - 1]).loc),
+                        b = iD.geo.sphericalDistance(entity.loc, context.entity(nodes[i + 1]).loc);
+                    i = a < b ? i - 1 : i + 1;
+                }
 
-        function keydown() {
-            if (d3.event.keyCode !== 13) return;
-            d3.event.preventDefault();
-            var searchVal = this.value;
-            inputNode.classed('loading', true);
-            d3.json('http://nominatim.openstreetmap.org/search/' +
-                encodeURIComponent(searchVal) + '?limit=10&format=json', function(err, resp) {
-                    inputNode.classed('loading', false);
-                    if (err) return hide();
-                    if (!resp.length) {
-                        resultsList.html('')
-                            .call(iD.ui.Toggle(true))
-                            .append('span')
-                                .attr('class', 'not-found')
-                                .text(t('geocoder.no_results', {name: searchVal}));
-                    } else if (resp.length > 1) {
-                        var spans = resultsList.html('').selectAll('span')
-                            .data(resp, function(d) { return d.place_id; });
-
-                        spans.enter()
-                            .append('span')
-                            .text(function(d) {
-                                return d.type.charAt(0).toUpperCase() + d.type.slice(1) + ': ';
-                            })
-                            .append('a')
-                            .attr('tabindex', 1)
-                            .text(function(d) {
-                                if (d.display_name.length > 80) {
-                                    return d.display_name.substr(0, 80) + '…';
-                                } else {
-                                    return d.display_name;
-                                }
-                            })
-                            .on('click', clickResult)
-                            .on('keydown', function(d) {
-                                // support tabbing to and accepting this
-                                // entry
-                                if (d3.event.keyCode == 13) clickResult(d);
-                            });
-                        spans.exit().remove();
-                        resultsList.call(iD.ui.Toggle(true));
-                    } else {
-                        applyBounds(resultExtent(resp[0].boundingbox));
-                        selectId(resp[0].osm_type, resp[0].osm_id);
-                    }
-                });
+                nextSelectedID = nodes[i];
+            }
         }
 
-        function clickResult(d) {
-            selectId(d.osm_type, d.osm_id);
-            applyBounds(resultExtent(d.boundingbox));
+        if (nextSelectedID && context.hasEntity(nextSelectedID)) {
+            context.enter(iD.modes.Select(context, [nextSelectedID]));
+        } else {
+            context.enter(iD.modes.Browse(context));
         }
 
-        function applyBounds(extent) {
-            hide();
-            var map = context.map();
-            map.extent(extent);
-            if (map.zoom() > 19) map.zoom(19);
-        }
+        context.perform(
+            action,
+            annotation);
+    };
 
-        function selectId(type, id) {
-            id = type[0] + id;
+    operation.available = function() {
+        return true;
+    };
 
-            if (context.entity(id)) {
-                context.enter(iD.modes.Select(context, [id]));
+    operation.disabled = function() {
+        var reason;
+        if (_.any(selectedIDs, context.hasHiddenConnections)) {
+            reason = 'connected_to_hidden';
+        }
+        return action.disabled(context.graph()) || reason;
+    };
 
-            } else {
-                context.map().on('drawn.geocoder', function() {
-                    if (!context.entity(id)) return;
-                    context.enter(iD.modes.Select(context, [id]));
-                });
+    operation.tooltip = function() {
+        var disable = operation.disabled();
+        return disable ?
+            t('operations.delete.' + disable) :
+            t('operations.delete.description');
+    };
 
-                context.on('enter.geocoder', function() {
-                    if (context.mode().id !== 'browse') {
-                        context.on('enter.geocoder', null)
-                            .map().on('drawn.geocoder', null);
-                    }
-                });
-            }
-        }
+    operation.id = 'delete';
+    operation.keys = [iD.ui.cmd('⌘⌫'), iD.ui.cmd('⌘⌦')];
+    operation.title = t('operations.delete.title');
 
-        var tooltip = bootstrap.tooltip()
-            .placement('right')
-            .html(true)
-            .title(iD.ui.tooltipHtml(t('geocoder.title'), key));
+    return operation;
+};
+iD.operations.Disconnect = function(selectedIDs, context) {
+    var vertices = _.filter(selectedIDs, function vertex(entityId) {
+        return context.geometry(entityId) === 'vertex';
+    });
 
-        var gcForm = selection.append('form');
+    var entityId = vertices[0],
+        action = iD.actions.Disconnect(entityId);
 
-        var inputNode = gcForm.attr('class', 'fillL map-overlay content hide')
-            .append('input')
-            .attr({ type: 'text', placeholder: t('geocoder.placeholder') })
-            .attr('tabindex', 1)
-            .on('keydown', keydown);
+    if (selectedIDs.length > 1) {
+        action.limitWays(_.without(selectedIDs, entityId));
+    }
 
-        var resultsList = selection.append('div')
-            .attr('class', 'fillL map-overlay hide');
+    var operation = function() {
+        context.perform(action, t('operations.disconnect.annotation'));
+    };
 
-        var keybinding = d3.keybinding('geocoder');
+    operation.available = function() {
+        return vertices.length === 1;
+    };
 
-        function hide() { setVisible(false); }
-        function toggle() {
-            if (d3.event) d3.event.preventDefault();
-            tooltip.hide(button);
-            setVisible(!button.classed('active'));
+    operation.disabled = function() {
+        var reason;
+        if (_.any(selectedIDs, context.hasHiddenConnections)) {
+            reason = 'connected_to_hidden';
         }
+        return action.disabled(context.graph()) || reason;
+    };
 
-        function setVisible(show) {
-            if (show !== shown) {
-                button.classed('active', show);
-                shown = show;
+    operation.tooltip = function() {
+        var disable = operation.disabled();
+        return disable ?
+            t('operations.disconnect.' + disable) :
+            t('operations.disconnect.description');
+    };
 
-                if (!show && !resultsList.classed('hide')) {
-                    resultsList.call(iD.ui.Toggle(show));
-                    // remove results so that they lose focus. if the user has
-                    // tabbed into the list, then they will have focus still,
-                    // even if they're hidden.
-                    resultsList.selectAll('span').remove();
-                }
+    operation.id = 'disconnect';
+    operation.keys = [t('operations.disconnect.key')];
+    operation.title = t('operations.disconnect.title');
 
-                if (show) {
-                    selection.on('mousedown.geocoder-inside', function() {
-                        return d3.event.stopPropagation();
-                    });
-                    gcForm.style('display', 'block')
-                        .style('left', '-500px')
-                        .transition()
-                        .duration(200)
-                        .style('left', '30px');
-                        inputNode.node().focus();
-                } else {
-                    selection.on('mousedown.geocoder-inside', null);
-                    gcForm.style('display', 'block')
-                        .style('left', '30px')
-                        .transition()
-                        .duration(200)
-                        .style('left', '-500px')
-                        .each('end', function() {
-                            d3.select(this).style('display', 'none');
-                        });
-                    inputNode.node().blur();
-                }
-            }
-        }
-        var button = selection.append('button')
-            .attr('tabindex', -1)
-            .on('click', toggle)
-            .call(tooltip);
+    return operation;
+};
+iD.operations.Merge = function(selectedIDs, context) {
+    var join = iD.actions.Join(selectedIDs),
+        merge = iD.actions.Merge(selectedIDs),
+        mergePolygon = iD.actions.MergePolygon(selectedIDs);
 
-        button.append('span')
-            .attr('class', 'icon geocode light');
+    var operation = function() {
+        var annotation = t('operations.merge.annotation', {n: selectedIDs.length}),
+            action;
 
-        keybinding.on(key, toggle);
+        if (!join.disabled(context.graph())) {
+            action = join;
+        } else if (!merge.disabled(context.graph())) {
+            action = merge;
+        } else {
+            action = mergePolygon;
+        }
 
-        d3.select(document)
-            .call(keybinding);
+        context.perform(action, annotation);
+        context.enter(iD.modes.Select(context, selectedIDs.filter(function(id) { return context.hasEntity(id); }))
+            .suppressMenu(true));
+    };
 
-        context.surface().on('mousedown.geocoder-outside', hide);
-        context.container().on('mousedown.b.geocoder-outside', hide);
+    operation.available = function() {
+        return selectedIDs.length >= 2;
+    };
 
-    }
-    return geocoder;
-};
-iD.ui.Geolocate = function(map) {
-    function click() {
-        navigator.geolocation.getCurrentPosition(
-            success, error);
-    }
+    operation.disabled = function() {
+        return join.disabled(context.graph()) &&
+            merge.disabled(context.graph()) &&
+            mergePolygon.disabled(context.graph());
+    };
 
-    function success(position) {
-        map.center([position.coords.longitude, position.coords.latitude]);
-    }
+    operation.tooltip = function() {
+        var j = join.disabled(context.graph()),
+            m = merge.disabled(context.graph()),
+            p = mergePolygon.disabled(context.graph());
 
-    function error() { }
+        if (j === 'restriction' && m && p)
+            return t('operations.merge.restriction', {relation: context.presets().item('type/restriction').name()});
 
-    return function(selection) {
-        if (!navigator.geolocation) return;
+        if (p === 'incomplete_relation' && j && m)
+            return t('operations.merge.incomplete_relation');
 
-        var button = selection.append('button')
-            .attr('tabindex', -1)
-            .attr('title', t('geolocate.title'))
-            .on('click', click)
-            .call(bootstrap.tooltip()
-                .placement('right'));
+        if (j && m && p)
+            return t('operations.merge.' + j);
 
-         button.append('span')
-             .attr('class', 'icon geolocate');
+        return t('operations.merge.description');
     };
-};
-iD.ui.Help = function(context) {
 
-    var key = 'h';
+    operation.id = 'merge';
+    operation.keys = [t('operations.merge.key')];
+    operation.title = t('operations.merge.title');
 
-    function help(selection) {
+    return operation;
+};
+iD.operations.Move = function(selectedIDs, context) {
+    var extent = selectedIDs.reduce(function(extent, id) {
+            return extent.extend(context.entity(id).extent(context.graph()));
+        }, iD.geo.Extent());
 
-        var shown = false, pane;
+    var operation = function() {
+        context.enter(iD.modes.Move(context, selectedIDs));
+    };
 
-        function setup() {
-            pane = context.container()
-                .select('.help-wrap')
-                .html('');
-
-            var toc = pane.append('ul')
-                .attr('class', 'toc');
-
-            function clickHelp(d, i) {
-                pane.property('scrollTop', 0);
-                doctitle.text(d.title);
-                body.html(d.html);
-                body.selectAll('a')
-                    .attr('target', '_blank');
-                menuItems.classed('selected', function(m) {
-                    return m.title === d.title;
-                });
+    operation.available = function() {
+        return selectedIDs.length > 1 ||
+            context.entity(selectedIDs[0]).type !== 'node';
+    };
 
-                nav.html('');
+    operation.disabled = function() {
+        var reason;
+        if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+            reason = 'too_large';
+        } else if (_.any(selectedIDs, context.hasHiddenConnections)) {
+            reason = 'connected_to_hidden';
+        }
+        return iD.actions.Move(selectedIDs).disabled(context.graph()) || reason;
+    };
 
-                if (i > 0) {
-                    var prevLink = nav.append('a')
-                            .attr('class', 'previous')
-                            .on('click', function() {
-                                clickHelp(docs[i - 1], i - 1);
-                            });
-                    prevLink.append('span').attr('class', 'icon back blue');
-                    prevLink.append('span').text(docs[i - 1].title);
-                }
-                if (i < docs.length - 1) {
-                    var nextLink = nav.append('a')
-                        .attr('class', 'next')
-                        .on('click', function() {
-                            clickHelp(docs[i + 1], i + 1);
-                        });
-                    nextLink.append('span').text(docs[i + 1].title);
-                    nextLink.append('span').attr('class', 'icon forward blue');
-                }
-            }
-
-            var docKeys = [
-                'help.help',
-                'help.editing_saving',
-                'help.roads',
-                'help.gps',
-                'help.imagery',
-                'help.addresses',
-                'help.inspector',
-                'help.buildings'];
-
-            function one(f) { return function(x) { return f(x); }; }
-            var docs = docKeys.map(one(t)).map(function(text) {
-                return {
-                    title: text.split('\n')[0].replace('#', '').trim(),
-                    html: marked(text.split('\n').slice(1).join('\n'))
-                };
-            });
+    operation.tooltip = function() {
+        var disable = operation.disabled();
+        return disable ?
+            t('operations.move.' + disable) :
+            t('operations.move.description');
+    };
 
-            var menuItems = toc.selectAll('li')
-                .data(docs)
-                .enter()
-                .append('li')
-                .append('a')
-                .text(function(d) { return d.title; })
-                .on('click', clickHelp);
+    operation.id = 'move';
+    operation.keys = [t('operations.move.key')];
+    operation.title = t('operations.move.title');
 
-            toc.append('li')
-                .attr('class','walkthrough')
-                .append('a')
-                .text(t('splash.walkthrough'))
-                .on('click', function() {
-                    d3.select(document.body).call(iD.ui.intro(context));
-                    setVisible(false);
-                });
+    return operation;
+};
+iD.operations.Orthogonalize = function(selectedIDs, context) {
+    var entityId = selectedIDs[0],
+        entity = context.entity(entityId),
+        extent = entity.extent(context.graph()),
+        geometry = context.geometry(entityId),
+        action = iD.actions.Orthogonalize(entityId, context.projection);
 
-            var content = pane.append('div')
-                    .attr('class', 'left-content'),
-                doctitle = content.append('h2')
-                    .text(t('help.title')),
-                body = content.append('div')
-                    .attr('class', 'body'),
-                nav = content.append('div')
-                    .attr('class', 'nav');
+    var operation = function() {
+        var annotation = t('operations.orthogonalize.annotation.' + geometry);
+        context.perform(action, annotation);
+    };
 
-            clickHelp(docs[0], 0);
-        }
+    operation.available = function() {
+        return selectedIDs.length === 1 &&
+            entity.type === 'way' &&
+            entity.isClosed() &&
+            _.uniq(entity.nodes).length > 2;
+    };
 
-        function hide() { setVisible(false); }
-        function toggle() {
-            if (d3.event) d3.event.preventDefault();
-            tooltip.hide(button);
-            setVisible(!button.classed('active'));
+    operation.disabled = function() {
+        var reason;
+        if (extent.percentContainedIn(context.extent()) < 0.8) {
+            reason = 'too_large';
+        } else if (context.hasHiddenConnections(entityId)) {
+            reason = 'connected_to_hidden';
         }
+        return action.disabled(context.graph()) || reason;
+    };
 
-        function blockClick() {
-            pane.on('mousedown.help-inside', function() {
-                return d3.event.stopPropagation();
-            });
-            selection.on('mousedown.help-inside', function() {
-                return d3.event.stopPropagation();
-            });
-        }
+    operation.tooltip = function() {
+        var disable = operation.disabled();
+        return disable ?
+            t('operations.orthogonalize.' + disable) :
+            t('operations.orthogonalize.description.' + geometry);
+    };
 
-        function setVisible(show) {
-            if (show !== shown) {
-                button.classed('active', show);
-                shown = show;
-                if (show) {
-                    pane.style('display', 'block')
-                        .style('left', '-500px')
-                        .transition()
-                        .duration(200)
-                        .style('left', '0px')
-                        .each('end', blockClick);
-                } else {
-                    pane.style('left', '0px')
-                        .transition()
-                        .duration(200)
-                        .style('left', '-500px')
-                        .each('end', function() {
-                            d3.select(this).style('display', 'none');
-                        });
-                    pane.on('mousedown.help-inside', null);
-                }
-            }
-        }
+    operation.id = 'orthogonalize';
+    operation.keys = [t('operations.orthogonalize.key')];
+    operation.title = t('operations.orthogonalize.title');
 
-        var tooltip = bootstrap.tooltip()
-            .placement('right')
-            .html(true)
-            .title(iD.ui.tooltipHtml(t('help.title'), key));
+    return operation;
+};
+iD.operations.Reverse = function(selectedIDs, context) {
+    var entityId = selectedIDs[0];
 
-        var button = selection.append('button')
-            .attr('tabindex', -1)
-            .on('click', toggle)
-            .call(tooltip);
+    var operation = function() {
+        context.perform(
+            iD.actions.Reverse(entityId),
+            t('operations.reverse.annotation'));
+    };
 
-        button.append('span')
-            .attr('class', 'icon help light');
+    operation.available = function() {
+        return selectedIDs.length === 1 &&
+            context.geometry(entityId) === 'line';
+    };
 
-        context.surface().on('mousedown.help-outside', hide);
-        context.container().on('mousedown.b.help-outside', hide);
+    operation.disabled = function() {
+        return false;
+    };
 
-        setup();
+    operation.tooltip = function() {
+        return t('operations.reverse.description');
+    };
 
-        var keybinding = d3.keybinding('help');
-        keybinding.on(key, toggle);
-        d3.select(document).call(keybinding);
-    }
+    operation.id = 'reverse';
+    operation.keys = [t('operations.reverse.key')];
+    operation.title = t('operations.reverse.title');
 
-    return help;
+    return operation;
 };
-iD.ui.Inspector = function(context, entity) {
-    var tagEditor,
-        id = entity.id,
-        newFeature = false;
+iD.operations.Rotate = function(selectedIDs, context) {
+    var entityId = selectedIDs[0],
+        entity = context.entity(entityId),
+        extent = entity.extent(context.graph()),
+        geometry = context.geometry(entityId);
 
-    function changeTags(tags) {
-        var entity = context.entity(id);
-        if (entity && !_.isEqual(entity.tags, tags)) {
-            context.perform(
-                iD.actions.ChangeTags(entity.id, tags),
-                t('operations.change_tags.annotation'));
-        }
-    }
+    var operation = function() {
+        context.enter(iD.modes.RotateWay(context, entityId));
+    };
 
-    function browse() {
-        context.enter(iD.modes.Browse(context));
-    }
+    operation.available = function() {
+        if (selectedIDs.length !== 1 || entity.type !== 'way')
+            return false;
+        if (geometry === 'area')
+            return true;
+        if (entity.isClosed() &&
+            context.graph().parentRelations(entity).some(function(r) { return r.isMultipolygon(); }))
+            return true;
+        return false;
+    };
 
-    function update() {
-        var entity = context.entity(id);
-        if (entity) {
-            tagEditor.tags(entity.tags);
+    operation.disabled = function() {
+        if (extent.percentContainedIn(context.extent()) < 0.8) {
+            return 'too_large';
+        } else if (context.hasHiddenConnections(entityId)) {
+            return 'connected_to_hidden';
+        } else {
+            return false;
         }
-    }
+    };
 
-    function inspector(selection) {
+    operation.tooltip = function() {
+        var disable = operation.disabled();
+        return disable ?
+            t('operations.rotate.' + disable) :
+            t('operations.rotate.description');
+    };
 
-        var reselect = selection.html();
+    operation.id = 'rotate';
+    operation.keys = [t('operations.rotate.key')];
+    operation.title = t('operations.rotate.title');
 
-        selection
-            .html('')
-            .style('display', 'block')
-            .style('right', '-500px')
-            .style('opacity', 1)
-            .transition()
-            .duration(reselect ? 0 : 200)
-            .style('right', '0px');
+    return operation;
+};
+iD.operations.Split = function(selectedIDs, context) {
+    var vertices = _.filter(selectedIDs, function vertex(entityId) {
+        return context.geometry(entityId) === 'vertex';
+    });
 
-        var panewrap = selection
-            .append('div')
-            .classed('panewrap', true);
+    var entityId = vertices[0],
+        action = iD.actions.Split(entityId);
 
-        var presetLayer = panewrap
-            .append('div')
-            .classed('pane grid-pane', true);
+    if (selectedIDs.length > 1) {
+        action.limitWays(_.without(selectedIDs, entityId));
+    }
 
-        var tagLayer = panewrap
-            .append('div')
-            .classed('pane tag-pane', true);
-
-        var presetGrid = iD.ui.PresetGrid(context, entity)
-            .newFeature(newFeature)
-            .on('close', browse)
-            .on('choose', function(preset) {
-                var right = panewrap.style('right').indexOf('%') > 0 ? '0%' : '0px';
-                panewrap
-                    .transition()
-                    .style('right', right);
+    var operation = function() {
+        var annotation;
 
-                tagLayer.call(tagEditor, preset);
-            });
+        var ways = action.ways(context.graph());
+        if (ways.length === 1) {
+            annotation = t('operations.split.annotation.' + context.geometry(ways[0].id));
+        } else {
+            annotation = t('operations.split.annotation.multiple', {n: ways.length});
+        }
 
-        tagEditor = iD.ui.TagEditor(context, entity)
-            .tags(entity.tags)
-            .on('changeTags', changeTags)
-            .on('close', browse)
-            .on('choose', function(preset) {
-                var right = panewrap.style('right').indexOf('%') > 0 ?
-                    '-100%' :
-                    '-' + selection.style('width');
-                panewrap
-                    .transition()
-                    .style('right', right);
+        var difference = context.perform(action, annotation);
+        context.enter(iD.modes.Select(context, difference.extantIDs()));
+    };
 
-                presetLayer.call(presetGrid, preset);
-            });
+    operation.available = function() {
+        return vertices.length === 1;
+    };
+
+    operation.disabled = function() {
+        var reason;
+        if (_.any(selectedIDs, context.hasHiddenConnections)) {
+            reason = 'connected_to_hidden';
+        }
+        return action.disabled(context.graph()) || reason;
+    };
 
-        var tagless = _.without(Object.keys(entity.tags), 'area').length === 0;
+    operation.tooltip = function() {
+        var disable = operation.disabled();
+        if (disable) {
+            return t('operations.split.' + disable);
+        }
 
-        if (tagless) {
-            panewrap.style('right', '-100%');
-            presetLayer.call(presetGrid);
+        var ways = action.ways(context.graph());
+        if (ways.length === 1) {
+            return t('operations.split.description.' + context.geometry(ways[0].id));
         } else {
-            panewrap.style('right', '-0%');
-            tagLayer.call(tagEditor);
+            return t('operations.split.description.multiple');
         }
+    };
 
-        if (d3.event) {
-            // Pan the map if the clicked feature intersects with the position
-            // of the inspector
-            var inspectorSize = selection.size(),
-                mapSize = context.map().size(),
-                offset = 50,
-                shiftLeft = d3.event.clientX - mapSize[0] + inspectorSize[0] + offset,
-                center = (mapSize[0] / 2) + shiftLeft + offset;
+    operation.id = 'split';
+    operation.keys = [t('operations.split.key')];
+    operation.title = t('operations.split.title');
 
-            if (shiftLeft > 0 && inspectorSize[1] > d3.event.clientY) {
-                context.map().centerEase(context.projection.invert([center, mapSize[1]/2]));
-            }
-        }
+    return operation;
+};
+iD.operations.Straighten = function(selectedIDs, context) {
+    var entityId = selectedIDs[0],
+        action = iD.actions.Straighten(entityId, context.projection);
 
-        context.history()
-            .on('change.inspector', update);
+    function operation() {
+        var annotation = t('operations.straighten.annotation');
+        context.perform(action, annotation);
     }
 
-    inspector.close = function(selection) {
-        selection.transition()
-            .style('right', '-500px')
-            .each('end', function() {
-                d3.select(this)
-                    .style('display', 'none')
-                    .html('');
-            });
-
-        // Firefox incorrectly implements blur, so typeahead elements
-        // are not correctly removed. Remove any stragglers manually.
-        d3.selectAll('div.typeahead').remove();
+    operation.available = function() {
+        var entity = context.entity(entityId);
+        return selectedIDs.length === 1 &&
+            entity.type === 'way' &&
+            !entity.isClosed() &&
+            _.uniq(entity.nodes).length > 2;
+    };
 
-        context.history()
-            .on('change.inspector', null);
+    operation.disabled = function() {
+        var reason;
+        if (context.hasHiddenConnections(entityId)) {
+            reason = 'connected_to_hidden';
+        }
+        return action.disabled(context.graph()) || reason;
     };
 
-    inspector.newFeature = function(_) {
-        if (!arguments.length) return newFeature;
-        newFeature = _;
-        return inspector;
+    operation.tooltip = function() {
+        var disable = operation.disabled();
+        return disable ?
+            t('operations.straighten.' + disable) :
+            t('operations.straighten.description');
     };
 
-    return inspector;
+    operation.id = 'straighten';
+    operation.keys = [t('operations.straighten.key')];
+    operation.title = t('operations.straighten.title');
+
+    return operation;
 };
-iD.ui.intro = function(context) {
+iD.Connection = function(useHttps) {
+    if (typeof useHttps !== 'boolean') {
+      useHttps = window.location.protocol === 'https:';
+    }
 
-    var step;
+    var event = d3.dispatch('authenticating', 'authenticated', 'auth', 'loading', 'loaded'),
+        protocol = useHttps ? 'https:' : 'http:',
+        url = protocol + '//www.openstreetmap.org',
+        connection = {},
+        inflight = {},
+        loadedTiles = {},
+        tileZoom = 16,
+        oauth = osmAuth({
+            url: protocol + '//www.openstreetmap.org',
+            oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT',
+            oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL',
+            loading: authenticating,
+            done: authenticated
+        }),
+        ndStr = 'nd',
+        tagStr = 'tag',
+        memberStr = 'member',
+        nodeStr = 'node',
+        wayStr = 'way',
+        relationStr = 'relation',
+        userDetails,
+        off;
 
-    function intro(selection) {
 
-        context.enter(iD.modes.Browse(context));
+    connection.changesetURL = function(changesetId) {
+        return url + '/changeset/' + changesetId;
+    };
 
-        // Save current map state
-        var history = context.history().toJSON(),
-            hash = window.location.hash,
-            background = context.background().source(),
-            opacity = d3.select('.layer-layer:first-child').style('opacity'),
-            loadedTiles = context.connection().loadedTiles(),
-            baseEntities = context.history().graph().base().entities;
+    connection.changesetsURL = function(center, zoom) {
+        var precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
+        return url + '/history#map=' +
+            Math.floor(zoom) + '/' +
+            center[1].toFixed(precision) + '/' +
+            center[0].toFixed(precision);
+    };
 
-        // Load semi-real data used in intro
-        context.connection().toggle(false).flush();
-        context.history().save().reset();
-        context.history().merge(iD.Graph().load(JSON.parse(iD.introGraph)).entities);
+    connection.entityURL = function(entity) {
+        return url + '/' + entity.type + '/' + entity.osmId();
+    };
 
-        context.background().source(_.find(context.backgroundSources(), function(d) {
-            return d.data.sourcetag === "Bing";
-        }));
+    connection.userURL = function(username) {
+        return url + '/user/' + username;
+    };
 
-        // Block saving
-        var savebutton = d3.select('#bar button.save'),
-            save = savebutton.on('click');
-        savebutton.on('click', null);
+    connection.loadFromURL = function(url, callback) {
+        function done(err, dom) {
+            return callback(err, parse(dom));
+        }
+        return d3.xml(url).get(done);
+    };
 
-        var beforeunload = window.onbeforeunload;
-        window.onbeforeunload = null;
+    connection.loadEntity = function(id, callback) {
+        var type = iD.Entity.id.type(id),
+            osmID = iD.Entity.id.toOSM(id);
 
-        d3.select('.layer-layer:first-child').style('opacity', 1);
+        connection.loadFromURL(
+            url + '/api/0.6/' + type + '/' + osmID + (type !== 'node' ? '/full' : ''),
+            function(err, entities) {
+                if (callback) callback(err, {data: entities});
+            });
+    };
 
-        var curtain = d3.curtain();
-        selection.call(curtain);
+    connection.loadEntityVersion = function(id, version, callback) {
+        var type = iD.Entity.id.type(id),
+            osmID = iD.Entity.id.toOSM(id);
 
-        function reveal(box, textid, duration) {
-            if (textid) curtain.reveal(box, t(textid), textid.replace(/\./g, '-'), duration);
-            else curtain.reveal(box, '', '', duration);
-        }
+        connection.loadFromURL(
+            url + '/api/0.6/' + type + '/' + osmID + '/' + version,
+            function(err, entities) {
+                if (callback) callback(err, {data: entities});
+            });
+    };
 
-        var steps = ['navigation', 'point', 'area', 'line', 'startEditing'].map(function(step, i) {
-            var s = iD.ui.intro[step](context, reveal)
-                .on('done', function() {
-                    entered.filter(function(d) {
-                        return d.name === s.name;
-                    }).classed('finished', true);
-                    enter(steps[i + 1]);
-                });
-            return s;
-        });
+    connection.loadMultiple = function(ids, callback) {
+        _.each(_.groupBy(_.uniq(ids), iD.Entity.id.type), function(v, k) {
+            var type = k + 's',
+                osmIDs = _.map(v, iD.Entity.id.toOSM);
 
-        steps[steps.length - 1].on('startEditing', function() {
-            curtain.remove();
-            navwrap.remove();
-            d3.select('.layer-layer:first-child').style('opacity', opacity);
-            context.connection().toggle(true).flush().loadedTiles(loadedTiles);
-            context.history().reset().merge(baseEntities);
-            context.background().source(background);
-            if (history) context.history().fromJSON(history);
-            window.location.replace(hash);
-            window.onbeforeunload = beforeunload;
-            d3.select('#bar button.save').on('click', save);
+            _.each(_.chunk(osmIDs, 150), function(arr) {
+                connection.loadFromURL(
+                    url + '/api/0.6/' + type + '?' + type + '=' + arr.join(),
+                    function(err, entities) {
+                        if (callback) callback(err, {data: entities});
+                    });
+            });
         });
+    };
 
-        var navwrap = selection.append('div').attr('class', 'intro-nav-wrap fillD');
-
-        var buttonwrap = navwrap.append('div')
-            .attr('class', 'joined')
-            .selectAll('button.step');
+    function authenticating() {
+        event.authenticating();
+    }
 
-        var entered = buttonwrap.data(steps)
-            .enter().append('button')
-                .attr('class', 'step')
-                .on('click', enter);
+    function authenticated() {
+        event.authenticated();
+    }
 
-        entered.append('div').attr('class','icon icon-pre-text apply');
-        entered.append('label').text(function(d) { return d.name; });
-        enter(steps[0]);
+    function getLoc(attrs) {
+        var lon = attrs.lon && attrs.lon.value,
+            lat = attrs.lat && attrs.lat.value;
+        return [parseFloat(lon), parseFloat(lat)];
+    }
 
-        function enter (newStep) {
+    function getNodes(obj) {
+        var elems = obj.getElementsByTagName(ndStr),
+            nodes = new Array(elems.length);
+        for (var i = 0, l = elems.length; i < l; i++) {
+            nodes[i] = 'n' + elems[i].attributes.ref.value;
+        }
+        return nodes;
+    }
 
-            if (step) {
-                step.exit();
-            }
+    function getTags(obj) {
+        var elems = obj.getElementsByTagName(tagStr),
+            tags = {};
+        for (var i = 0, l = elems.length; i < l; i++) {
+            var attrs = elems[i].attributes;
+            tags[attrs.k.value] = attrs.v.value;
+        }
+        return tags;
+    }
 
-            context.enter(iD.modes.Browse(context));
+    function getMembers(obj) {
+        var elems = obj.getElementsByTagName(memberStr),
+            members = new Array(elems.length);
+        for (var i = 0, l = elems.length; i < l; i++) {
+            var attrs = elems[i].attributes;
+            members[i] = {
+                id: attrs.type.value[0] + attrs.ref.value,
+                type: attrs.type.value,
+                role: attrs.role.value
+            };
+        }
+        return members;
+    }
 
-            step = newStep;
-            step.enter();
+    function getVisible(attrs) {
+        return (!attrs.visible || attrs.visible.value !== 'false');
+    }
 
-            entered.classed('active', function(d) {
-                return d.name === step.name;
+    var parsers = {
+        node: function nodeData(obj) {
+            var attrs = obj.attributes;
+            return new iD.Node({
+                id: iD.Entity.id.fromOSM(nodeStr, attrs.id.value),
+                loc: getLoc(attrs),
+                version: attrs.version.value,
+                user: attrs.user && attrs.user.value,
+                tags: getTags(obj),
+                visible: getVisible(attrs)
             });
-        }
+        },
 
-    }
-    return intro;
-};
+        way: function wayData(obj) {
+            var attrs = obj.attributes;
+            return new iD.Way({
+                id: iD.Entity.id.fromOSM(wayStr, attrs.id.value),
+                version: attrs.version.value,
+                user: attrs.user && attrs.user.value,
+                tags: getTags(obj),
+                nodes: getNodes(obj),
+                visible: getVisible(attrs)
+            });
+        },
 
-iD.ui.intro.pointBox = function(point) {
-    return {
-        left: point[0] - 30,
-        top: point[1] - 50,
-        width: 60,
-        height: 70
+        relation: function relationData(obj) {
+            var attrs = obj.attributes;
+            return new iD.Relation({
+                id: iD.Entity.id.fromOSM(relationStr, attrs.id.value),
+                version: attrs.version.value,
+                user: attrs.user && attrs.user.value,
+                tags: getTags(obj),
+                members: getMembers(obj),
+                visible: getVisible(attrs)
+            });
+        }
     };
-};
 
-iD.ui.intro.pad = function(box, padding) {
-    if (box instanceof Array) {
-        box = {
-            left: box[0],
-            top: box[1]
-        };
-    }
-    return {
-        left: box.left - padding,
-        top: box.top - padding,
-        width: (box.width || 0) + 2 * padding,
-        height: (box.width || 0) + 2 * padding
-    };
-};
-iD.ui.Lasso = function(context) {
+    function parse(dom) {
+        if (!dom || !dom.childNodes) return;
 
-    var box, group,
-        a = [0, 0],
-        b = [0, 0];
+        var root = dom.childNodes[0],
+            children = root.childNodes,
+            entities = [];
 
-    function lasso(selection) {
+        for (var i = 0, l = children.length; i < l; i++) {
+            var child = children[i],
+                parser = parsers[child.nodeName];
+            if (parser) {
+                entities.push(parser(child));
+            }
+        }
 
-        context.container().classed('lasso', true);
+        return entities;
+    }
 
-        group = selection.append('g')
-            .attr('class', 'lasso hide');
+    connection.authenticated = function() {
+        return oauth.authenticated();
+    };
 
-        box = group.append('rect')
-            .attr('class', 'lasso-box');
+    // Generate Changeset XML. Returns a string.
+    connection.changesetJXON = function(tags) {
+        return {
+            osm: {
+                changeset: {
+                    tag: _.map(tags, function(value, key) {
+                        return { '@k': key, '@v': value };
+                    }),
+                    '@version': 0.6,
+                    '@generator': 'iD'
+                }
+            }
+        };
+    };
 
-        group.call(iD.ui.Toggle(true));
+    // Generate [osmChange](http://wiki.openstreetmap.org/wiki/OsmChange)
+    // XML. Returns a string.
+    connection.osmChangeJXON = function(changeset_id, changes) {
+        function nest(x, order) {
+            var groups = {};
+            for (var i = 0; i < x.length; i++) {
+                var tagName = Object.keys(x[i])[0];
+                if (!groups[tagName]) groups[tagName] = [];
+                groups[tagName].push(x[i][tagName]);
+            }
+            var ordered = {};
+            order.forEach(function(o) {
+                if (groups[o]) ordered[o] = groups[o];
+            });
+            return ordered;
+        }
 
-    }
+        function rep(entity) {
+            return entity.asJXON(changeset_id);
+        }
 
-    // top-left
-    function topLeft(d) {
-        return 'translate(' + Math.min(d[0][0], d[1][0]) + ',' + Math.min(d[0][1], d[1][1]) + ')';
-    }
+        return {
+            osmChange: {
+                '@version': 0.6,
+                '@generator': 'iD',
+                'create': nest(changes.created.map(rep), ['node', 'way', 'relation']),
+                'modify': nest(changes.modified.map(rep), ['node', 'way', 'relation']),
+                'delete': _.extend(nest(changes.deleted.map(rep), ['relation', 'way', 'node']), {'@if-unused': true})
+            }
+        };
+    };
 
-    function width(d) { return Math.abs(d[0][0] - d[1][0]); }
-    function height(d) { return Math.abs(d[0][1] - d[1][1]); }
+    connection.changesetTags = function(comment, imageryUsed) {
+        var detected = iD.detect(),
+            tags = {
+                created_by: 'iD ' + iD.version,
+                imagery_used: imageryUsed.join(';').substr(0, 255),
+                host: (window.location.origin + window.location.pathname).substr(0, 255),
+                locale: detected.locale
+            };
 
-    function draw() {
-        if (box) {
-            box.data([[a, b]])
-                .attr('transform', topLeft)
-                .attr('width', width)
-                .attr('height', height);
+        if (comment) {
+            tags.comment = comment.substr(0, 255);
         }
-    }
 
-    lasso.a = function(_) {
-        if (!arguments.length) return a;
-        a = _;
-        draw();
-        return lasso;
+        return tags;
     };
 
-    lasso.b = function(_) {
-        if (!arguments.length) return b;
-        b = _;
-        draw();
-        return lasso;
+    connection.putChangeset = function(changes, comment, imageryUsed, callback) {
+        oauth.xhr({
+                method: 'PUT',
+                path: '/api/0.6/changeset/create',
+                options: { header: { 'Content-Type': 'text/xml' } },
+                content: JXON.stringify(connection.changesetJXON(connection.changesetTags(comment, imageryUsed)))
+            }, function(err, changeset_id) {
+                if (err) return callback(err);
+                oauth.xhr({
+                    method: 'POST',
+                    path: '/api/0.6/changeset/' + changeset_id + '/upload',
+                    options: { header: { 'Content-Type': 'text/xml' } },
+                    content: JXON.stringify(connection.osmChangeJXON(changeset_id, changes))
+                }, function(err) {
+                    if (err) return callback(err);
+                    // POST was successful, safe to call the callback.
+                    // Still attempt to close changeset, but ignore response because #2667
+                    // Add delay to allow for postgres replication #1646 #2678
+                    window.setTimeout(function() { callback(null, changeset_id); }, 2500);
+                    oauth.xhr({
+                        method: 'PUT',
+                        path: '/api/0.6/changeset/' + changeset_id + '/close'
+                    }, d3.functor(true));
+                });
+            });
     };
 
-    lasso.close = function() {
-        if (group) {
-            group.call(iD.ui.Toggle(false, function() {
-                d3.select(this).remove();
-            }));
+    connection.userDetails = function(callback) {
+        if (userDetails) {
+            callback(undefined, userDetails);
+            return;
         }
-        context.container().classed('lasso', false);
-    };
-
-    return lasso;
-};
-iD.ui.Loading = function(context) {
-    var message = '',
-        blocking = false,
-        modal;
 
-    var loading = function(selection) {
-        modal = iD.ui.modal(selection, blocking);
+        function done(err, user_details) {
+            if (err) return callback(err);
 
-        var loadertext = modal.select('.content')
-            .classed('loading-modal', true)
-            .append('div')
-            .attr('class', 'modal-section fillL');
+            var u = user_details.getElementsByTagName('user')[0],
+                img = u.getElementsByTagName('img'),
+                image_url = '';
 
-        loadertext.append('img')
-            .attr('class', 'loader')
-            .attr('src', context.imagePath('loader-white.gif'));
+            if (img && img[0] && img[0].getAttribute('href')) {
+                image_url = img[0].getAttribute('href');
+            }
 
-        loadertext.append('h3')
-            .text(message);
+            userDetails = {
+                display_name: u.attributes.display_name.value,
+                image_url: image_url,
+                id: u.attributes.id.value
+            };
 
-        modal.select('button.close')
-            .attr('class', 'hide');
+            callback(undefined, userDetails);
+        }
 
-        return loading;
+        oauth.xhr({ method: 'GET', path: '/api/0.6/user/details' }, done);
     };
 
-    loading.message = function(_) {
-        if (!arguments.length) return message;
-        message = _;
-        return loading;
+    connection.status = function(callback) {
+        function done(capabilities) {
+            var apiStatus = capabilities.getElementsByTagName('status');
+            callback(undefined, apiStatus[0].getAttribute('api'));
+        }
+        d3.xml(url + '/api/capabilities').get()
+            .on('load', done)
+            .on('error', callback);
     };
 
-    loading.blocking = function(_) {
-        if (!arguments.length) return blocking;
-        blocking = _;
-        return loading;
-    };
+    function abortRequest(i) { i.abort(); }
 
-    loading.close = function() {
-        modal.remove();
+    connection.tileZoom = function(_) {
+        if (!arguments.length) return tileZoom;
+        tileZoom = _;
+        return connection;
     };
 
-    return loading;
-};
-iD.ui.modal = function(selection, blocking) {
+    connection.loadTiles = function(projection, dimensions, callback) {
 
-    var previous = selection.select('div.modal');
-    var animate = previous.empty();
-
-    previous.transition()
-        .duration(200)
-        .style('opacity', 0)
-        .remove();
-
-    var shaded = selection
-        .append('div')
-        .attr('class', 'shaded')
-        .style('opacity', 0);
-
-    shaded.close = function() {
-        shaded
-            .transition()
-            .duration(200)
-            .style('opacity',0)
-            .remove();
-        modal
-            .transition()
-            .duration(200)
-            .style('top','0px');
-        keybinding.off();
-    };
-
-    var keybinding = d3.keybinding('modal')
-        .on('⌫', shaded.close)
-        .on('⎋', shaded.close);
-
-    d3.select(document).call(keybinding);
-
-    var modal = shaded.append('div')
-        .attr('class', 'modal fillL col6');
-
-        shaded.on('click.remove-modal', function() {
-            if (d3.event.target == this && !blocking) shaded.close();
-        });
-
-    modal.append('button')
-        .attr('class', 'close')
-        .on('click', function() {
-            if (!blocking) shaded.close();
-        })
-        .append('div')
-            .attr('class','icon close');
-
-    modal.append('div')
-        .attr('class', 'content');
-
-    if (animate) {
-        shaded.transition().style('opacity', 1);
-        modal
-            .style('top','0px')
-            .transition()
-            .duration(200)
-            .style('top','40px');
-    } else {
-        shaded.style('opacity', 1);
-    }
-
-
-    return shaded;
-};
-iD.ui.Modes = function(context) {
-    var modes = [
-        iD.modes.AddPoint(context),
-        iD.modes.AddLine(context),
-        iD.modes.AddArea(context)];
+        if (off) return;
 
-    return function(selection, limiter) {
-        var buttons = selection.selectAll('button.add-button')
-            .data(modes);
+        var s = projection.scale() * 2 * Math.PI,
+            z = Math.max(Math.log(s) / Math.log(2) - 8, 0),
+            ts = 256 * Math.pow(2, z - tileZoom),
+            origin = [
+                s / 2 - projection.translate()[0],
+                s / 2 - projection.translate()[1]];
 
-       buttons.enter().append('button')
-           .attr('tabindex', -1)
-           .attr('class', function(mode) { return mode.id + ' add-button col4'; })
-           .on('click.mode-buttons', function(mode) {
-               if (mode.id === context.mode().id) {
-                   context.enter(iD.modes.Browse(context));
-               } else {
-                   context.enter(mode);
-               }
-           })
-           .call(bootstrap.tooltip()
-               .placement('bottom')
-               .html(true)
-               .title(function(mode) {
-                   return iD.ui.tooltipHtml(mode.description, mode.key);
-               }));
+        var tiles = d3.geo.tile()
+            .scaleExtent([tileZoom, tileZoom])
+            .scale(s)
+            .size(dimensions)
+            .translate(projection.translate())()
+            .map(function(tile) {
+                var x = tile[0] * ts - origin[0],
+                    y = tile[1] * ts - origin[1];
 
-        var notice = iD.ui.notice(limiter)
-            .message(false)
-            .on('zoom', function() { context.map().zoom(16); });
+                return {
+                    id: tile.toString(),
+                    extent: iD.geo.Extent(
+                        projection.invert([x, y + ts]),
+                        projection.invert([x + ts, y]))
+                };
+            });
 
-        function disableTooHigh() {
-            if (context.map().editable()) {
-                notice.message(false);
-                buttons.attr('disabled', null);
-            } else {
-                buttons.attr('disabled', 'disabled');
-                notice.message(true);
-                context.enter(iD.modes.Browse(context));
-            }
+        function bboxUrl(tile) {
+            return url + '/api/0.6/map?bbox=' + tile.extent.toParam();
         }
 
-        context.map()
-            .on('move.mode-buttons', _.debounce(disableTooHigh, 500));
+        _.filter(inflight, function(v, i) {
+            var wanted = _.find(tiles, function(tile) {
+                return i === tile.id;
+            });
+            if (!wanted) delete inflight[i];
+            return !wanted;
+        }).map(abortRequest);
 
-        buttons.append('span')
-            .attr('class', function(mode) { return mode.id + ' icon icon-pre-text'; });
+        tiles.forEach(function(tile) {
+            var id = tile.id;
 
-        buttons.append('span')
-            .attr('class', 'label')
-            .text(function(mode) { return mode.title; });
+            if (loadedTiles[id] || inflight[id]) return;
 
-        context.on('enter.editor', function(entered) {
-            buttons.classed('active', function(mode) { return entered.button === mode.button; });
-            context.container()
-                .classed("mode-" + entered.id, true);
-        });
+            if (_.isEmpty(inflight)) {
+                event.loading();
+            }
 
-        context.on('exit.editor', function(exited) {
-            context.container()
-                .classed("mode-" + exited.id, false);
-        });
+            inflight[id] = connection.loadFromURL(bboxUrl(tile), function(err, parsed) {
+                loadedTiles[id] = true;
+                delete inflight[id];
 
-        var keybinding = d3.keybinding('mode-buttons');
+                if (callback) callback(err, _.extend({data: parsed}, tile));
 
-        modes.forEach(function(m) {
-            keybinding.on(m.key, function() { if (context.map().editable()) context.enter(m); });
+                if (_.isEmpty(inflight)) {
+                    event.loaded();
+                }
+            });
         });
+    };
 
-        d3.select(document)
-            .call(keybinding);
+    connection.switch = function(options) {
+        url = options.url;
+        oauth.options(_.extend({
+            loading: authenticating,
+            done: authenticated
+        }, options));
+        event.auth();
+        connection.flush();
+        return connection;
     };
-};
-iD.ui.notice = function(selection) {
-    var event = d3.dispatch('zoom'),
-        notice = {};
 
-    var div = selection.append('div')
-        .attr('class', 'notice');
+    connection.toggle = function(_) {
+        off = !_;
+        return connection;
+    };
 
-    var button = div.append('button')
-        .attr('class', 'zoom-to notice')
-        .on('click', event.zoom);
+    connection.flush = function() {
+        userDetails = undefined;
+        _.forEach(inflight, abortRequest);
+        loadedTiles = {};
+        inflight = {};
+        return connection;
+    };
 
-    button.append('span')
-        .attr('class', 'icon zoom-in-invert');
+    connection.loadedTiles = function(_) {
+        if (!arguments.length) return loadedTiles;
+        loadedTiles = _;
+        return connection;
+    };
 
-    button.append('span')
-        .attr('class', 'label')
-        .text(t('zoom_in_edit'));
+    connection.logout = function() {
+        userDetails = undefined;
+        oauth.logout();
+        event.auth();
+        return connection;
+    };
 
-    notice.message = function(_) {
-        if (_) {
-            selection.select('.button-wrap').style('display', 'none');
-            div.style('display', 'block');
-        } else {
-            selection.select('.button-wrap').style('display', 'block');
-            div.style('display', 'none');
+    connection.authenticate = function(callback) {
+        userDetails = undefined;
+        function done(err, res) {
+            event.auth();
+            if (callback) callback(err, res);
         }
-        return notice;
+        return oauth.authenticate(done);
     };
 
-    return d3.rebind(notice, event, 'on');
+    return d3.rebind(connection, event, 'on');
 };
-iD.ui.preset = function(context, entity, preset) {
-    var original = context.graph().base().entities[entity.id],
-        event = d3.dispatch('change', 'close'),
-        fields = [],
-        tags = {},
-        formwrap,
-        formbuttonwrap;
-
-    function UIField(field, show) {
-        field = _.clone(field);
-
-        field.input = iD.ui.preset[field.type](field, context)
-            .on('close', event.close)
-            .on('change', event.change);
-
-        field.reference = iD.ui.TagReference(entity, {key: field.key});
-
-        if (field.type === 'address' ||
-            field.type === 'wikipedia' ||
-            field.type === 'maxspeed') {
-            field.input.entity(entity);
-        }
-
-        field.keys = field.keys || [field.key];
-
-        field.show = show;
-
-        field.shown = function() {
-            return field.id === 'name' || field.show || _.any(field.keys, function(key) { return !!tags[key]; });
-        };
-
-        field.modified = function() {
-            return _.any(field.keys, function(key) {
-                return original ? tags[key] !== original.tags[key] : tags[key];
-            });
-        };
+/*
+    iD.Difference represents the difference between two graphs.
+    It knows how to calculate the set of entities that were
+    created, modified, or deleted, and also contains the logic
+    for recursively extending a difference to the complete set
+    of entities that will require a redraw, taking into account
+    child and parent relationships.
+ */
+iD.Difference = function(base, head) {
+    var changes = {}, length = 0;
 
-        return field;
+    function changed(h, b) {
+        return h !== b && !_.isEqual(_.omit(h, 'v'), _.omit(b, 'v'));
     }
 
-    fields.push(UIField(context.presets().field('name')));
-
-    var geometry = entity.geometry(context.graph());
-    preset.fields.forEach(function(field) {
-        if (field.matchGeometry(geometry)) {
-            fields.push(UIField(field, true));
+    _.each(head.entities, function(h, id) {
+        var b = base.entities[id];
+        if (changed(h, b)) {
+            changes[id] = {base: b, head: h};
+            length++;
         }
     });
 
-    context.presets().universal().forEach(function(field) {
-        if (preset.fields.indexOf(field) < 0) {
-            fields.push(UIField(field));
+    _.each(base.entities, function(b, id) {
+        var h = head.entities[id];
+        if (!changes[id] && changed(h, b)) {
+            changes[id] = {base: b, head: h};
+            length++;
         }
     });
 
-    function fieldKey(field) {
-        return field.id;
-    }
+    function addParents(parents, result) {
+        for (var i = 0; i < parents.length; i++) {
+            var parent = parents[i];
 
-    function shown() {
-        return fields.filter(function(field) { return field.shown(); });
-    }
+            if (parent.id in result)
+                continue;
 
-    function notShown() {
-        return fields.filter(function(field) { return !field.shown(); });
+            result[parent.id] = parent;
+            addParents(head.parentRelations(parent), result);
+        }
     }
 
-    function show(field) {
-        field.show = true;
-        render();
-        field.input.focus();
-    }
+    var difference = {};
 
-    function revert(field) {
-        d3.event.stopPropagation();
-        d3.event.preventDefault();
-        var t = {};
-        field.keys.forEach(function(key) {
-            t[key] = original ? original.tags[key] : undefined;
+    difference.length = function() {
+        return length;
+    };
+
+    difference.changes = function() {
+        return changes;
+    };
+
+    difference.extantIDs = function() {
+        var result = [];
+        _.each(changes, function(change, id) {
+            if (change.head) result.push(id);
         });
-        event.change(t);
-    }
+        return result;
+    };
 
-    function toggleReference(field) {
-        d3.event.stopPropagation();
-        d3.event.preventDefault();
+    difference.modified = function() {
+        var result = [];
+        _.each(changes, function(change) {
+            if (change.base && change.head) result.push(change.head);
+        });
+        return result;
+    };
 
-        _.forEach(shown(), function(other) {
-            if (other.id === field.id) {
-                other.reference.toggle();
-            } else {
-                other.reference.hide();
-            }
+    difference.created = function() {
+        var result = [];
+        _.each(changes, function(change) {
+            if (!change.base && change.head) result.push(change.head);
         });
+        return result;
+    };
 
-        render();
-    }
+    difference.deleted = function() {
+        var result = [];
+        _.each(changes, function(change) {
+            if (change.base && !change.head) result.push(change.base);
+        });
+        return result;
+    };
 
-    function render() {
-        var selection = formwrap.selectAll('.form-field')
-            .data(shown(), fieldKey);
+    difference.summary = function() {
+        var relevant = {};
 
-        var enter = selection.enter()
-            .insert('div', '.more-buttons')
-            .style('opacity', 0)
-            .attr('class', function(field) {
-                return 'form-field form-field-' + field.id + ' fillL col12';
-            });
+        function addEntity(entity, graph, changeType) {
+            relevant[entity.id] = {
+                entity: entity,
+                graph: graph,
+                changeType: changeType
+            };
+        }
 
-        enter.transition()
-            .style('max-height', '0px')
-            .style('padding-top', '0px')
-            .style('opacity', '0')
-            .transition()
-            .duration(200)
-            .style('padding-top', '20px')
-            .style('max-height', '240px')
-            .style('opacity', '1')
-            .each('end', function(d) {
-                d3.select(this).style('max-height', '');
-            });
+        function addParents(entity) {
+            var parents = head.parentWays(entity);
+            for (var j = parents.length - 1; j >= 0; j--) {
+                var parent = parents[j];
+                if (!(parent.id in relevant)) addEntity(parent, head, 'modified');
+            }
+        }
 
-        var label = enter.append('label')
-            .attr('class', 'form-label')
-            .attr('for', function(field) { return 'preset-input-' + field.id; })
-            .text(function(field) { return field.label(); });
+        _.each(changes, function(change) {
+            if (change.head && change.head.geometry(head) !== 'vertex') {
+                addEntity(change.head, head, change.base ? 'modified' : 'created');
 
-        label.append('button')
-            .attr('class', 'tag-reference-button minor')
-            .attr('tabindex', -1)
-            .on('click', toggleReference)
-            .append('span')
-            .attr('class', 'icon inspect');
+            } else if (change.base && change.base.geometry(base) !== 'vertex') {
+                addEntity(change.base, base, 'deleted');
 
-        label.append('button')
-            .attr('class', 'modified-icon minor')
-            .attr('tabindex', -1)
-            .on('click', revert)
-            .append('div')
-            .attr('class','icon undo');
+            } else if (change.base && change.head) { // modified vertex
+                var moved    = !_.isEqual(change.base.loc,  change.head.loc),
+                    retagged = !_.isEqual(change.base.tags, change.head.tags);
 
-        enter.each(function(field) {
-            d3.select(this)
-                .call(field.input)
-                .call(field.reference);
-        });
+                if (moved) {
+                    addParents(change.head);
+                }
 
-        selection
-            .each(function(field) {
-                field.input.tags(tags);
-            })
-            .classed('modified', function(field) {
-                return field.modified();
-            });
+                if (retagged || (moved && change.head.hasInterestingTags())) {
+                    addEntity(change.head, head, 'modified');
+                }
 
-        selection.exit()
-            .remove();
+            } else if (change.head && change.head.hasInterestingTags()) { // created vertex
+                addEntity(change.head, head, 'created');
 
-        var addFields = formbuttonwrap.selectAll('.preset-add-field')
-            .data(notShown(), fieldKey);
+            } else if (change.base && change.base.hasInterestingTags()) { // deleted vertex
+                addEntity(change.base, base, 'deleted');
+            }
+        });
 
-        addFields.enter()
-            .append('button')
-            .attr('class', 'preset-add-field')
-            .on('click', show)
-            .call(bootstrap.tooltip()
-                .placement('top')
-                .title(function(d) { return d.label(); }))
-            .append('span')
-            .attr('class', function(d) { return 'icon ' + d.icon; });
+        return d3.values(relevant);
+    };
 
-        addFields.exit()
-            .transition()
-            .style('opacity', 0)
-            .remove();
+    difference.complete = function(extent) {
+        var result = {}, id, change;
 
-        return selection;
-    }
+        for (id in changes) {
+            change = changes[id];
 
-    function presets(selection) {
-        selection.html('');
+            var h = change.head,
+                b = change.base,
+                entity = h || b;
 
-        formwrap = selection;
+            if (extent &&
+                (!h || !h.intersects(extent, head)) &&
+                (!b || !b.intersects(extent, base)))
+                continue;
 
-        formbuttonwrap = selection.append('div')
-            .attr('class', 'col12 more-buttons inspector-inner');
+            result[id] = h;
 
-        render();
-    }
+            if (entity.type === 'way') {
+                var nh = h ? h.nodes : [],
+                    nb = b ? b.nodes : [],
+                    diff, i;
 
-    presets.rendered = function() {
-        return _.flatten(shown().map(function(field) { return field.keys; }));
-    };
+                diff = _.difference(nh, nb);
+                for (i = 0; i < diff.length; i++) {
+                    result[diff[i]] = head.hasEntity(diff[i]);
+                }
 
-    presets.preset = function(_) {
-        if (!arguments.length) return preset;
-        preset = _;
-        return presets;
-    };
+                diff = _.difference(nb, nh);
+                for (i = 0; i < diff.length; i++) {
+                    result[diff[i]] = head.hasEntity(diff[i]);
+                }
+            }
 
-    presets.change = function(_) {
-        tags = _;
-        render();
-        return presets;
+            addParents(head.parentWays(entity), result);
+            addParents(head.parentRelations(entity), result);
+        }
+
+        return result;
     };
 
-    return d3.rebind(presets, event, 'on');
+    return difference;
 };
-iD.ui.PresetGrid = function(context, entity) {
-    var event = d3.dispatch('choose', 'close'),
-        defaultLimit = 9,
-        currentlyDrawn = 9,
-        presets,
-        newFeature = false;
-
-    function presetgrid(selection, preset) {
-
-        selection.html('');
+iD.Entity = function(attrs) {
+    // For prototypal inheritance.
+    if (this instanceof iD.Entity) return;
 
-        presets = context.presets().matchGeometry(entity, context.graph());
+    // Create the appropriate subtype.
+    if (attrs && attrs.type) {
+        return iD.Entity[attrs.type].apply(this, arguments);
+    } else if (attrs && attrs.id) {
+        return iD.Entity[iD.Entity.id.type(attrs.id)].apply(this, arguments);
+    }
 
-        var messagewrap = selection.append('div')
-            .attr('class', 'header fillL cf');
+    // Initialize a generic Entity (used only in tests).
+    return (new iD.Entity()).initialize(arguments);
+};
 
-        var message = messagewrap.append('h3')
-            .attr('class', 'inspector-inner')
-            .text(t('inspector.choose'));
+iD.Entity.id = function(type) {
+    return iD.Entity.id.fromOSM(type, iD.Entity.id.next[type]--);
+};
 
-        if (preset) {
-            messagewrap.append('button')
-                .attr('class', 'preset-choose')
-                .on('click', event.choose)
-                .append('span')
-                .attr('class', 'icon forward');
-        } else {
-            messagewrap.append('button')
-                .attr('class', 'close')
-                .on('click', event.close)
-                .append('span')
-                .attr('class', 'icon close');
-        }
+iD.Entity.id.next = {node: -1, way: -1, relation: -1};
 
-        var gridwrap = selection.append('div')
-            .attr('class', 'fillL2 inspector-body inspector-body-' + entity.geometry(context.graph()));
+iD.Entity.id.fromOSM = function(type, id) {
+    return type[0] + id;
+};
 
-        var grid = gridwrap.append('div')
-            .attr('class', 'preset-grid fillL cf')
-            .data([context.presets().defaults(entity, 36).collection]);
+iD.Entity.id.toOSM = function(id) {
+    return id.slice(1);
+};
 
-        var showMore = gridwrap.append('button')
-            .attr('class', 'fillL show-more')
-            .text(t('inspector.show_more'))
-            .on('click', function() {
-                grid.call(drawGrid, (currentlyDrawn += defaultLimit));
-            });
+iD.Entity.id.type = function(id) {
+    return {'n': 'node', 'w': 'way', 'r': 'relation'}[id[0]];
+};
 
-        grid.call(drawGrid, defaultLimit);
+// A function suitable for use as the second argument to d3.selection#data().
+iD.Entity.key = function(entity) {
+    return entity.id + 'v' + (entity.v || 0);
+};
 
-        function keydown() {
-            // hack to let delete shortcut work when search is autofocused
-            if (search.property('value').length === 0 &&
-                (d3.event.keyCode === d3.keybinding.keyCodes['⌫'] ||
-                 d3.event.keyCode === d3.keybinding.keyCodes['⌦'])) {
-                d3.event.preventDefault();
-                d3.event.stopPropagation();
-                iD.operations.Delete([entity.id], context)();
-            } else if (search.property('value').length === 0 &&
-                (d3.event.ctrlKey || d3.event.metaKey) &&
-                d3.event.keyCode === d3.keybinding.keyCodes.z) {
-                d3.event.preventDefault();
-                d3.event.stopPropagation();
-                context.undo();
-            } else if (!d3.event.ctrlKey && !d3.event.metaKey) {
-                d3.select(this).on('keydown', null);
-            }
-        }
+iD.Entity.prototype = {
+    tags: {},
 
-        function keyup() {
-            // enter
-            var value = search.property('value');
-            if (d3.event.keyCode === 13 && value.length) {
-                choose(grid.selectAll('.grid-entry:first-child').datum());
-            } else {
-                currentlyDrawn = defaultLimit;
-                grid.classed('filtered', value.length);
-                if (value.length) {
-                    var results = presets.search(value);
-                    message.text(t('inspector.results', {
-                        n: results.collection.length,
-                        search: value
-                    }));
-                    grid.data([results.collection])
-                        .call(drawGrid, defaultLimit);
-                } else {
-                    grid.data([context.presets().defaults(entity, 36).collection])
-                        .call(drawGrid, defaultLimit);
+    initialize: function(sources) {
+        for (var i = 0; i < sources.length; ++i) {
+            var source = sources[i];
+            for (var prop in source) {
+                if (Object.prototype.hasOwnProperty.call(source, prop)) {
+                    if (source[prop] === undefined) {
+                        delete this[prop];
+                    } else {
+                        this[prop] = source[prop];
+                    }
                 }
             }
         }
 
-        var searchwrap = selection.append('div')
-            .attr('class', 'preset-grid-search-wrap');
-
-        var search = searchwrap.append('input')
-            .attr('class', 'major')
-            .attr('placeholder','Search')
-            .attr('type', 'search')
-            .on('keydown', keydown)
-            .on('keyup', keyup);
+        if (!this.id && this.type) {
+            this.id = iD.Entity.id(this.type);
+        }
+        if (!this.hasOwnProperty('visible')) {
+            this.visible = true;
+        }
 
-        searchwrap.append('span')
-            .attr('class', 'icon search');
+        if (iD.debug) {
+            Object.freeze(this);
+            Object.freeze(this.tags);
 
-        if (newFeature) {
-            search.node().focus();
+            if (this.loc) Object.freeze(this.loc);
+            if (this.nodes) Object.freeze(this.nodes);
+            if (this.members) Object.freeze(this.members);
         }
 
-        function choose(d) {
-            // Category
-            if (d.members) {
-                var subgrid = insertBox(grid, d, 'subgrid');
+        return this;
+    },
 
-                if (subgrid) {
-                    subgrid.append('div')
-                        .attr('class', 'arrow');
+    copy: function() {
+        // Returns an array so that we can support deep copying ways and relations.
+        // The first array element will contain this.copy, followed by any descendants.
+        return [iD.Entity(this, {id: undefined, user: undefined, version: undefined})];
+    },
 
-                    subgrid.append('div')
-                        .attr('class', 'preset-grid fillL3 cf fl')
-                        .data([d.members.collection])
-                        .call(drawGrid, 1000);
+    osmId: function() {
+        return iD.Entity.id.toOSM(this.id);
+    },
 
-                    subgrid.style('max-height', '0px')
-                        .style('padding-bottom', '0px')
-                        .transition()
-                        .duration(300)
-                        .style('padding-bottom', '20px')
-                        .style('max-height', (d.members.collection.length / 3 * 150) + 200 + 'px');
-                }
+    isNew: function() {
+        return this.osmId() < 0;
+    },
 
-            // Preset
-            } else {
-                context.presets().choose(d);
-                event.choose(d);
+    update: function(attrs) {
+        return iD.Entity(this, attrs, {v: 1 + (this.v || 0)});
+    },
+
+    mergeTags: function(tags) {
+        var merged = _.clone(this.tags), changed = false;
+        for (var k in tags) {
+            var t1 = merged[k],
+                t2 = tags[k];
+            if (!t1) {
+                changed = true;
+                merged[k] = t2;
+            } else if (t1 !== t2) {
+                changed = true;
+                merged[k] = _.union(t1.split(/;\s*/), t2.split(/;\s*/)).join(';');
             }
         }
+        return changed ? this.update({tags: merged}) : this;
+    },
 
-        function name(d) { return d.name(); }
+    intersects: function(extent, resolver) {
+        return this.extent(resolver).intersects(extent);
+    },
 
-        // Inserts a div inline after the entry for the provided entity
-        // Used for preset descriptions, and for expanding categories
-        function insertBox(grid, entity, klass) {
+    isUsed: function(resolver) {
+        return _.without(Object.keys(this.tags), 'area').length > 0 ||
+            resolver.parentRelations(this).length > 0;
+    },
 
-            var entries = grid.selectAll('button.grid-entry'),
-                shown = grid.selectAll('.box-insert'),
-                shownIndex = Infinity,
-                index;
+    hasInterestingTags: function() {
+        return _.keys(this.tags).some(iD.interestingTag);
+    },
 
-            if (shown.node()) {
-                shown.transition()
-                    .duration(200)
-                    .style('opacity','0')
-                    .style('max-height', '0px')
-                    .style('padding-top', '0px')
-                    .style('padding-bottom', '0px')
-                    .remove();
+    isHighwayIntersection: function() {
+        return false;
+    },
 
-                if (shown.datum() === entity && shown.classed(klass)) return;
-                shownIndex = Array.prototype.indexOf.call(shown.node().parentNode.childNodes, shown.node());
-            }
+    deprecatedTags: function() {
+        var tags = _.pairs(this.tags);
+        var deprecated = {};
 
-            entries.each(function(d, i) {
-                if (d === entity) index = i;
+        iD.data.deprecated.forEach(function(d) {
+            var match = _.pairs(d.old)[0];
+            tags.forEach(function(t) {
+                if (t[0] === match[0] &&
+                    (t[1] === match[1] || match[1] === '*')) {
+                    deprecated[t[0]] = t[1];
+                }
             });
+        });
 
-            var insertIndex = index + 3 - index % 3;
-            if (insertIndex > shownIndex) insertIndex ++;
-
-            var elem = document.createElement('div');
-            grid.node().insertBefore(elem, grid.node().childNodes[insertIndex]);
-
-            var newbox = d3.select(elem)
-                .attr('class', 'col12 box-insert ' + klass + ' arrow-' + (index % 3))
-                .datum(entity);
+        return deprecated;
+    }
+};
+iD.Graph = function(other, mutable) {
+    if (!(this instanceof iD.Graph)) return new iD.Graph(other, mutable);
 
-            return newbox;
-        }
+    if (other instanceof iD.Graph) {
+        var base = other.base();
+        this.entities = _.assign(Object.create(base.entities), other.entities);
+        this._parentWays = _.assign(Object.create(base.parentWays), other._parentWays);
+        this._parentRels = _.assign(Object.create(base.parentRels), other._parentRels);
 
-        function drawGrid(selection, limit) {
+    } else {
+        this.entities = Object.create({});
+        this._parentWays = Object.create({});
+        this._parentRels = Object.create({});
+        this.rebase(other || [], [this]);
+    }
 
-            function helpClick(d) {
-                d3.event.stopPropagation();
+    this.transients = {};
+    this._childNodes = {};
+    this.frozen = !mutable;
+};
 
-                var presetinspect = insertBox(selection, d, 'preset-inspect');
+iD.Graph.prototype = {
+    hasEntity: function(id) {
+        return this.entities[id];
+    },
 
-                if (!presetinspect) return;
+    entity: function(id) {
+        var entity = this.entities[id];
+        if (!entity) {
+            throw new Error('entity ' + id + ' not found');
+        }
+        return entity;
+    },
 
-                var tag = {key: Object.keys(d.tags)[0]};
+    transient: function(entity, key, fn) {
+        var id = entity.id,
+            transients = this.transients[id] ||
+            (this.transients[id] = {});
 
-                if (d.tags[tag.key] !== '*') {
-                    tag.value = d.tags[tag.key];
-                }
+        if (transients[key] !== undefined) {
+            return transients[key];
+        }
 
-                var tagReference = iD.ui.TagReference(entity, tag);
-                presetinspect.style('max-height', '200px')
-                    .call(tagReference);
-                tagReference.show();
-            }
+        transients[key] = fn.call(entity);
 
-            if (selection.node() === grid.node()) {
-                showMore
-                    .style('display', (selection.data()[0].length > limit) ? 'block' : 'none');
-            }
+        return transients[key];
+    },
 
-            selection.selectAll('.preset-inspect, .subgrid').remove();
+    parentWays: function(entity) {
+        var parents = this._parentWays[entity.id],
+            result = [];
 
-            var entries = selection
-                .selectAll('div.grid-entry-wrap')
-                .data(function(d) { return d.slice(0, limit); }, name);
+        if (parents) {
+            for (var i = 0; i < parents.length; i++) {
+                result.push(this.entity(parents[i]));
+            }
+        }
+        return result;
+    },
 
-            entries.exit()
-                .remove();
+    isPoi: function(entity) {
+        var parentWays = this._parentWays[entity.id];
+        return !parentWays || parentWays.length === 0;
+    },
 
-            var entered = entries.enter()
-                .append('div')
-                .attr('class','grid-button-wrap col4 grid-entry-wrap')
-                .classed('category', function(d) { return !!d.members; })
-                .classed('current', function(d) { return d === preset; });
+    isShared: function(entity) {
+        var parentWays = this._parentWays[entity.id];
+        return parentWays && parentWays.length > 1;
+    },
 
-            var buttonInner = entered.append('button')
-                .attr('class', 'grid-entry')
-                .on('click', choose);
+    parentRelations: function(entity) {
+        var parents = this._parentRels[entity.id],
+            result = [];
 
-            buttonInner
-                .style('opacity', 0)
-                .transition()
-                .style('opacity', 1);
+        if (parents) {
+            for (var i = 0; i < parents.length; i++) {
+                result.push(this.entity(parents[i]));
+            }
+        }
+        return result;
+    },
 
-            buttonInner
-                .call(iD.ui.PresetIcon(context.geometry(entity.id)));
+    childNodes: function(entity) {
+        if (this._childNodes[entity.id])
+            return this._childNodes[entity.id];
 
-            var label = buttonInner.append('div')
-                .attr('class','label')
-                .text(name);
+        var nodes = [];
+        if (entity.nodes) {
+            for (var i = 0; i < entity.nodes.length; i++) {
+                nodes[i] = this.entity(entity.nodes[i]);
+            }
+        }
 
-            entered.filter(function(d) { return !d.members; })
-                .append('button')
-                .attr('tabindex', -1)
-                .attr('class', 'tag-reference-button minor')
-                .on('click', helpClick, selection)
-                .append('span')
-                    .attr('class', 'icon inspect');
+        if (iD.debug) Object.freeze(nodes);
 
-            entries.order();
-        }
-    }
+        this._childNodes[entity.id] = nodes;
+        return this._childNodes[entity.id];
+    },
 
-    presetgrid.newFeature = function(_) {
-        if (!arguments.length) return newFeature;
-        newFeature = _;
-        return presetgrid;
-    };
+    base: function() {
+        return {
+            'entities': iD.util.getPrototypeOf(this.entities),
+            'parentWays': iD.util.getPrototypeOf(this._parentWays),
+            'parentRels': iD.util.getPrototypeOf(this._parentRels)
+        };
+    },
 
-    return d3.rebind(presetgrid, event, 'on');
-};
-iD.ui.PresetIcon = function(geometry) {
-    return function(selection) {
-        selection.append('div')
-            .attr('class', function(preset) {
-                var s = 'preset-icon-fill icon-' + geometry;
-                for (var i in preset.tags) {
-                    s += ' tag-' + i + ' tag-' + i + '-' + preset.tags[i];
-                }
-                return s;
-            });
+    // Unlike other graph methods, rebase mutates in place. This is because it
+    // is used only during the history operation that merges newly downloaded
+    // data into each state. To external consumers, it should appear as if the
+    // graph always contained the newly downloaded data.
+    rebase: function(entities, stack, force) {
+        var base = this.base(),
+            i, j, k, id;
 
-        var fallbackIcon = geometry === 'line' ? 'other-line' : 'marker-stroked';
+        for (i = 0; i < entities.length; i++) {
+            var entity = entities[i];
 
-        selection.append('div')
-            .attr('class', function(preset) {
-                return 'feature-' + (preset.icon || fallbackIcon) + ' icon preset-icon preset-icon-' + geometry;
-            });
-    };
-};
-iD.ui.RadialMenu = function(operations) {
-    var menu,
-        center = [0, 0],
-        tooltip;
+            if (!entity.visible || (!force && base.entities[entity.id]))
+                continue;
 
-    var radialMenu = function(selection) {
-        if (!operations.length)
-            return;
+            // Merging data into the base graph
+            base.entities[entity.id] = entity;
+            this._updateCalculated(undefined, entity, base.parentWays, base.parentRels);
 
-        selection.node().parentNode.focus();
+            // Restore provisionally-deleted nodes that are discovered to have an extant parent
+            if (entity.type === 'way') {
+                for (j = 0; j < entity.nodes.length; j++) {
+                    id = entity.nodes[j];
+                    for (k = 1; k < stack.length; k++) {
+                        var ents = stack[k].entities;
+                        if (ents.hasOwnProperty(id) && ents[id] === undefined) {
+                            delete ents[id];
+                        }
+                    }
+                }
+            }
+        }
 
-        function click(operation) {
-            d3.event.stopPropagation();
-            if (operation.disabled())
-                return;
-            operation();
-            radialMenu.close();
+        for (i = 0; i < stack.length; i++) {
+            stack[i]._updateRebased();
         }
+    },
 
-        menu = selection.append('g')
-            .attr('class', 'radial-menu')
-            .attr('transform', "translate(" + center + ")")
-            .attr('opacity', 0);
+    _updateRebased: function() {
+        var base = this.base(),
+            i, k, child, id, keys;
 
-        menu.transition()
-            .attr('opacity', 1);
+        keys = Object.keys(this._parentWays);
+        for (i = 0; i < keys.length; i++) {
+            child = keys[i];
+            if (base.parentWays[child]) {
+                for (k = 0; k < base.parentWays[child].length; k++) {
+                    id = base.parentWays[child][k];
+                    if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentWays[child], id)) {
+                        this._parentWays[child].push(id);
+                    }
+                }
+            }
+        }
 
-        var r = 50,
-            a = Math.PI / 4,
-            a0 = -Math.PI / 4,
-            a1 = a0 + (operations.length - 1) * a;
+        keys = Object.keys(this._parentRels);
+        for (i = 0; i < keys.length; i++) {
+            child = keys[i];
+            if (base.parentRels[child]) {
+                for (k = 0; k < base.parentRels[child].length; k++) {
+                    id = base.parentRels[child][k];
+                    if (!this.entities.hasOwnProperty(id) && !_.contains(this._parentRels[child], id)) {
+                        this._parentRels[child].push(id);
+                    }
+                }
+            }
+        }
 
-        menu.append('path')
-            .attr('class', 'radial-menu-background')
-            .attr('d', 'M' + r * Math.sin(a0) + ',' +
-                             r * Math.cos(a0) +
-                      ' A' + r + ',' + r + ' 0 0,0 ' +
-                             r * Math.sin(a1) + ',' +
-                             r * Math.cos(a1))
-            .attr('stroke-width', 50)
-            .attr('stroke-linecap', 'round');
+        this.transients = {};
 
-        var button = menu.selectAll()
-            .data(operations)
-            .enter().append('g')
-            .attr('transform', function(d, i) {
-                return 'translate(' + r * Math.sin(a0 + i * a) + ',' +
-                                      r * Math.cos(a0 + i * a) + ')';
-            });
+        // this._childNodes is not updated, under the assumption that
+        // ways are always downloaded with their child nodes.
+    },
 
-        button.append('circle')
-            .attr('class', function(d) { return 'radial-menu-item radial-menu-item-' + d.id; })
-            .attr('r', 15)
-            .classed('disabled', function(d) { return d.disabled(); })
-            .on('click', click)
-            .on('mouseover', mouseover)
-            .on('mouseout', mouseout);
+    // Updates calculated properties (parentWays, parentRels) for the specified change
+    _updateCalculated: function(oldentity, entity, parentWays, parentRels) {
 
-        button.append('use')
-            .attr('transform', 'translate(-10, -10)')
-            .attr('clip-path', 'url(#clip-square-20)')
-            .attr('xlink:href', function(d) { return '#icon-operation-' + (d.disabled() ? 'disabled-' : '') + d.id; });
+        parentWays = parentWays || this._parentWays;
+        parentRels = parentRels || this._parentRels;
 
-        tooltip = d3.select(document.body)
-            .append('div')
-            .attr('class', 'tooltip-inner radial-menu-tooltip');
+        var type = entity && entity.type || oldentity && oldentity.type,
+            removed, added, ways, rels, i;
 
-        function mouseover(d, i) {
-            var angle = a0 + i * a,
-                dx = angle < 0 ? -200 : 0,
-                dy = 0;
 
-            tooltip
-                .style('left', (r + 25) * Math.sin(angle) + dx + center[0] + 'px')
-                .style('top', (r + 25) * Math.cos(angle) + dy + center[1]+ 'px')
-                .style('display', 'block')
-                .html(iD.ui.tooltipHtml(d.tooltip(), d.keys[0]));
-        }
+        if (type === 'way') {
 
-        function mouseout() {
-            tooltip.style('display', 'none');
-        }
-    };
+            // Update parentWays
+            if (oldentity && entity) {
+                removed = _.difference(oldentity.nodes, entity.nodes);
+                added = _.difference(entity.nodes, oldentity.nodes);
+            } else if (oldentity) {
+                removed = oldentity.nodes;
+                added = [];
+            } else if (entity) {
+                removed = [];
+                added = entity.nodes;
+            }
+            for (i = 0; i < removed.length; i++) {
+                parentWays[removed[i]] = _.without(parentWays[removed[i]], oldentity.id);
+            }
+            for (i = 0; i < added.length; i++) {
+                ways = _.without(parentWays[added[i]], entity.id);
+                ways.push(entity.id);
+                parentWays[added[i]] = ways;
+            }
 
-    radialMenu.close = function() {
-        if (menu) {
-            menu.transition()
-                .attr('opacity', 0)
-                .remove();
-        }
+        } else if (type === 'relation') {
 
-        if (tooltip) {
-            tooltip.remove();
+            // Update parentRels
+            if (oldentity && entity) {
+                removed = _.difference(oldentity.members, entity.members);
+                added = _.difference(entity.members, oldentity);
+            } else if (oldentity) {
+                removed = oldentity.members;
+                added = [];
+            } else if (entity) {
+                removed = [];
+                added = entity.members;
+            }
+            for (i = 0; i < removed.length; i++) {
+                parentRels[removed[i].id] = _.without(parentRels[removed[i].id], oldentity.id);
+            }
+            for (i = 0; i < added.length; i++) {
+                rels = _.without(parentRels[added[i].id], entity.id);
+                rels.push(entity.id);
+                parentRels[added[i].id] = rels;
+            }
         }
-    };
+    },
 
-    radialMenu.center = function(_) {
-        if (!arguments.length) return center;
-        center = _;
-        return radialMenu;
-    };
+    replace: function(entity) {
+        if (this.entities[entity.id] === entity)
+            return this;
 
-    return radialMenu;
-};
-iD.ui.Restore = function(context) {
-    return function(selection) {
-        if (!context.history().lock() || !context.history().restorableChanges())
-            return;
+        return this.update(function() {
+            this._updateCalculated(this.entities[entity.id], entity);
+            this.entities[entity.id] = entity;
+        });
+    },
 
-        var modal = iD.ui.modal(selection);
+    remove: function(entity) {
+        return this.update(function() {
+            this._updateCalculated(entity, undefined);
+            this.entities[entity.id] = undefined;
+        });
+    },
 
-        modal.select('.modal')
-            .attr('class', 'modal fillL col6');
+    revert: function(id) {
+        var baseEntity = this.base().entities[id],
+            headEntity = this.entities[id];
 
-        var introModal = modal.select('.content');
+        if (headEntity === baseEntity)
+            return this;
 
-        introModal.attr('class','cf');
+        return this.update(function() {
+            this._updateCalculated(headEntity, baseEntity);
+            delete this.entities[id];
+        });
+    },
 
-        introModal.append('div')
-            .attr('class', 'modal-section header')
-            .append('h3')
-                .text(t('restore.heading'));
+    update: function() {
+        var graph = this.frozen ? iD.Graph(this, true) : this;
 
-        introModal.append('div')
-            .attr('class','modal-section')
-            .append('p')
-                .text(t('restore.description'));
+        for (var i = 0; i < arguments.length; i++) {
+            arguments[i].call(graph, graph);
+        }
 
-        var buttonWrap = introModal.append('div')
-            .attr('class', 'modal-actions cf');
+        if (this.frozen) graph.frozen = true;
 
-        var restore = buttonWrap.append('button')
-            .attr('class', 'restore col6')
-            .text(t('restore.restore'))
-            .on('click', function() {
-                context.history().restore();
-                modal.remove();
-            });
+        return graph;
+    },
 
-        buttonWrap.append('button')
-            .attr('class', 'reset col6')
-            .text(t('restore.reset'))
-            .on('click', function() {
-                context.history().clearSaved();
-                modal.remove();
-            });
+    // Obliterates any existing entities
+    load: function(entities) {
+        var base = this.base();
+        this.entities = Object.create(base.entities);
 
-        restore.node().focus();
-    };
-        modal.select('button.close').attr('class','hide');
+        for (var i in entities) {
+            this.entities[i] = entities[i];
+            this._updateCalculated(base.entities[i], this.entities[i]);
+        }
 
+        return this;
+    }
 };
-iD.ui.Save = function(context) {
-    var map = context.map(),
-        history = context.history(),
-        connection = context.connection(),
-        key = iD.ui.cmd('⌘S'),
-        modal;
-
-    function save() {
-        d3.event.preventDefault();
+iD.History = function(context) {
+    var stack, index, tree,
+        imageryUsed = ['Bing'],
+        dispatch = d3.dispatch('change', 'undone', 'redone'),
+        lock = iD.util.SessionMutex('lock');
 
-        if (!history.hasChanges()) return;
+    function perform(actions) {
+        actions = Array.prototype.slice.call(actions);
 
-        connection.authenticate(function(err) {
-            modal = iD.ui.modal(context.container());
-            var changes = history.changes();
-            changes.connection = connection;
-            modal.select('.content')
-                .classed('commit-modal', true)
-                .datum(changes)
-                .call(iD.ui.Commit(context)
-                    .on('cancel', function() {
-                        modal.remove();
-                    })
-                    .on('fix', clickFix)
-                    .on('save', commit));
-        });
-    }
+        var annotation;
 
-    function commit(e) {
-        context.container().select('.shaded')
-            .remove();
+        if (!_.isFunction(_.last(actions))) {
+            annotation = actions.pop();
+        }
 
-        var loading = iD.ui.Loading(context)
-            .message(t('save.uploading'))
-            .blocking(true);
+        var graph = stack[index].graph;
+        for (var i = 0; i < actions.length; i++) {
+            graph = actions[i](graph);
+        }
 
-        context.container()
-            .call(loading);
-
-        connection.putChangeset(
-            history.changes(),
-            e.comment,
-            history.imagery_used(),
-            function(err, changeset_id) {
-                loading.close();
-                if (err) {
-                    var confirm = iD.ui.confirm(context.container());
-                    confirm
-                        .select('.modal-section.header')
-                        .append('h3')
-                        .text(t('save.error'));
-                    confirm
-                        .select('.modal-section.message-text')
-                        .append('p')
-                        .text(err.responseText);
-                } else {
-                    history.reset();
-                    map.flush().redraw();
-                    success(e, changeset_id);
-                }
-            });
+        return {
+            graph: graph,
+            annotation: annotation,
+            imageryUsed: imageryUsed
+        };
     }
 
-    function success(e, changeset_id) {
-        modal = iD.ui.modal(context.container());
-        modal.select('.content')
-            .classed('success-modal', true)
-            .datum({
-                id: changeset_id,
-                comment: e.comment
-            })
-            .call(iD.ui.Success(connection)
-                .on('cancel', function() {
-                    modal.remove();
-                }));
+    function change(previous) {
+        var difference = iD.Difference(previous, history.graph());
+        dispatch.change(difference);
+        return difference;
     }
 
-    function clickFix(d) {
-        var extent = d.entity.extent(context.graph());
-        map.centerZoom(extent.center(), Math.min(19, map.extentZoom(extent)));
-        context.enter(iD.modes.Select(context, [d.entity.id]));
-        modal.remove();
+    // iD uses namespaced keys so multiple installations do not conflict
+    function getKey(n) {
+        return 'iD_' + window.location.origin + '_' + n;
     }
 
-    return function(selection) {
-        var button = selection.append('button')
-            .attr('class', 'save col12 disabled')
-            .attr('tabindex', -1)
-            .on('click', save)
-            .attr('data-original-title',
-                iD.ui.tooltipHtml(t('save.no_changes'), key))
-            .call(bootstrap.tooltip()
-                .placement('bottom')
-                .html(true));
+    var history = {
+        graph: function() {
+            return stack[index].graph;
+        },
 
-        button.append('span')
-            .attr('class', 'label')
-            .text(t('save.title'));
+        base: function() {
+            return stack[0].graph;
+        },
 
-        button.append('span')
-            .attr('class', 'count');
+        merge: function(entities, extent) {
+            stack[0].graph.rebase(entities, _.pluck(stack, 'graph'), false);
+            tree.rebase(entities, false);
 
-        var keybinding = d3.keybinding('undo-redo')
-            .on(key, save);
+            dispatch.change(undefined, extent);
+        },
 
-        d3.select(document)
-            .call(keybinding);
+        perform: function() {
+            var previous = stack[index].graph;
 
-        context.history().on('change.save', function() {
-            var hasChanges = history.hasChanges();
+            stack = stack.slice(0, index + 1);
+            stack.push(perform(arguments));
+            index++;
 
-            button
-                .attr('data-original-title',
-                    iD.ui.tooltipHtml(t(hasChanges ?
-                        'save.help' : 'save.no_changes'), key));
+            return change(previous);
+        },
 
-            button
-                .classed('disabled', !hasChanges)
-                .classed('has-count', hasChanges);
+        replace: function() {
+            var previous = stack[index].graph;
 
-            button.select('span.count')
-                .text(history.numChanges());
-        });
-    };
-};
-iD.ui.SourceSwitch = function(context) {
-    function click() {
-        d3.event.preventDefault();
+            // assert(index == stack.length - 1)
+            stack[index] = perform(arguments);
 
-        if (context.history().hasChanges() &&
-            !window.confirm(t('source_switch.lose_changes'))) return;
+            return change(previous);
+        },
 
-        var live = d3.select(this).classed('live');
+        pop: function() {
+            var previous = stack[index].graph;
 
-        context.connection()
-            .url(live ? 'http://api06.dev.openstreetmap.org' : 'http://www.openstreetmap.org');
+            if (index > 0) {
+                index--;
+                stack.pop();
+                return change(previous);
+            }
+        },
 
-        context.map()
-            .flush();
+        // Same as calling pop and then perform
+        overwrite: function() {
+            var previous = stack[index].graph;
 
-        d3.select(this)
-            .text(live ? t('source_switch.dev') : t('source_switch.live'))
-            .classed('live', !live);
-    }
+            if (index > 0) {
+                index--;
+                stack.pop();
+            }
+            stack = stack.slice(0, index + 1);
+            stack.push(perform(arguments));
+            index++;
 
-    return function(selection) {
-        selection.append('a')
-            .attr('href', '#')
-            .text(t('source_switch.live'))
-            .classed('live', true)
-            .attr('tabindex', -1)
-            .on('click', click);
-    };
-};
-iD.ui.Spinner = function(context) {
-    var connection = context.connection();
+            return change(previous);
+        },
 
-    return function(selection) {
-        var img = selection.append('img')
-            .attr('src', context.imagePath('loader-black.gif'))
-            .style('opacity', 0);
+        undo: function() {
+            var previous = stack[index].graph;
 
-        connection.on('loading.spinner', function() {
-            img.transition()
-                .style('opacity', 1);
-        });
+            // Pop to the next annotated state.
+            while (index > 0) {
+                index--;
+                if (stack[index].annotation) break;
+            }
 
-        connection.on('loaded.spinner', function() {
-            img.transition()
-                .style('opacity', 0);
-        });
-    };
-};
-iD.ui.Splash = function(context) {
-    return function(selection) {
-        if (context.storage('sawSplash'))
-             return;
+            dispatch.undone();
+            return change(previous);
+        },
 
-        context.storage('sawSplash', true);
+        redo: function() {
+            var previous = stack[index].graph;
 
-        var modal = iD.ui.modal(selection);
+            while (index < stack.length - 1) {
+                index++;
+                if (stack[index].annotation) break;
+            }
 
-        modal.select('.modal')
-            .attr('class', 'modal-splash modal col6');
+            dispatch.redone();
+            return change(previous);
+        },
 
-        var introModal = modal.select('.content')
-            .append('div')
-            .attr('class', 'fillL');
+        undoAnnotation: function() {
+            var i = index;
+            while (i >= 0) {
+                if (stack[i].annotation) return stack[i].annotation;
+                i--;
+            }
+        },
 
-        introModal.append('div')
-            .attr('class','modal-section cf')
-            .append('h3').text(t('splash.welcome'));
+        redoAnnotation: function() {
+            var i = index + 1;
+            while (i <= stack.length - 1) {
+                if (stack[i].annotation) return stack[i].annotation;
+                i++;
+            }
+        },
 
-        introModal.append('div')
-            .attr('class','modal-section')
-            .append('p')
-            .html(t('splash.text', {
-                version: iD.version,
-                website: '<a href="http://ideditor.com/">ideditor.com</a>',
-                github: '<a href="https://github.com/systemed/iD">github.com</a>'
-            }));
+        intersects: function(extent) {
+            return tree.intersects(extent, stack[index].graph);
+        },
 
-        var buttons = introModal.append('div').attr('class', 'modal-actions cf');
+        difference: function() {
+            var base = stack[0].graph,
+                head = stack[index].graph;
+            return iD.Difference(base, head);
+        },
 
-        buttons.append('button')
-            .attr('class', 'col6 walkthrough')
-            .text(t('splash.walkthrough'))
-            .on('click', function() {
-                d3.select(document.body).call(iD.ui.intro(context));
-                modal.close();
-            });
+        changes: function(action) {
+            var base = stack[0].graph,
+                head = stack[index].graph;
 
-        buttons.append('button')
-            .attr('class', 'col6 start')
-            .text(t('splash.start'))
-            .on('click', modal.close);
+            if (action) {
+                head = action(head);
+            }
 
-        modal.select('button.close').attr('class','hide');
+            var difference = iD.Difference(base, head);
 
-    };
-};
-iD.ui.Status = function(context) {
-    var connection = context.connection(),
-        errCount = 0;
+            return {
+                modified: difference.modified(),
+                created: difference.created(),
+                deleted: difference.deleted()
+            };
+        },
 
-    return function(selection) {
+        validate: function(changes) {
+            return _(iD.validations)
+                .map(function(fn) { return fn()(changes, stack[index].graph); })
+                .flatten()
+                .value();
+        },
 
-        function update() {
+        hasChanges: function() {
+            return this.difference().length() > 0;
+        },
 
-            connection.status(function(err, apiStatus) {
+        imageryUsed: function(sources) {
+            if (sources) {
+                imageryUsed = sources;
+                return history;
+            } else {
+                return _(stack.slice(1, index + 1))
+                    .pluck('imageryUsed')
+                    .flatten()
+                    .unique()
+                    .without(undefined, 'Custom')
+                    .value();
+            }
+        },
 
-                selection.html('');
+        reset: function() {
+            stack = [{graph: iD.Graph()}];
+            index = 0;
+            tree = iD.Tree(stack[0].graph);
+            dispatch.change();
+            return history;
+        },
 
-                if (err && errCount++ < 2) return;
+        toJSON: function() {
+            if (!this.hasChanges()) return;
 
-                if (err) {
-                    selection.text(t('status.error'));
+            var allEntities = {},
+                baseEntities = {},
+                base = stack[0];
 
-                } else if (apiStatus === 'readonly') {
-                    selection.text(t('status.readonly'));
+            var s = stack.map(function(i) {
+                var modified = [], deleted = [];
 
-                } else if (apiStatus === 'offline') {
-                    selection.text(t('status.offline'));
-                }
+                _.forEach(i.graph.entities, function(entity, id) {
+                    if (entity) {
+                        var key = iD.Entity.key(entity);
+                        allEntities[key] = entity;
+                        modified.push(key);
+                    } else {
+                        deleted.push(id);
+                    }
 
-                selection.attr('class', 'api-status ' + (err ? 'error' : apiStatus));
-                if (!err) errCount = 0;
+                    // make sure that the originals of changed or deleted entities get merged
+                    // into the base of the stack after restoring the data from JSON.
+                    if (id in base.graph.entities) {
+                        baseEntities[id] = base.graph.entities[id];
+                    }
+                    // get originals of parent entities too
+                    _.forEach(base.graph._parentWays[id], function(parentId) {
+                        if (parentId in base.graph.entities) {
+                            baseEntities[parentId] = base.graph.entities[parentId];
+                        }
+                    });
+                });
 
+                var x = {};
+
+                if (modified.length) x.modified = modified;
+                if (deleted.length) x.deleted = deleted;
+                if (i.imageryUsed) x.imageryUsed = i.imageryUsed;
+                if (i.annotation) x.annotation = i.annotation;
+
+                return x;
             });
-        }
 
-        connection.on('auth', function() { update(selection); });
-        window.setInterval(update, 90000);
-        update(selection);
-    };
-};
-iD.ui.Success = function(connection) {
-    var event = d3.dispatch('cancel', 'save');
+            return JSON.stringify({
+                version: 3,
+                entities: _.values(allEntities),
+                baseEntities: _.values(baseEntities),
+                stack: s,
+                nextIDs: iD.Entity.id.next,
+                index: index
+            });
+        },
 
-    function success(selection) {
-        var changeset = selection.datum(),
-            header = selection.append('div').attr('class', 'header modal-section'),
-            body = selection.append('div').attr('class', 'body');
+        fromJSON: function(json, loadChildNodes) {
+            var h = JSON.parse(json);
 
-        header.append('h3').text(t('just_edited'));
+            iD.Entity.id.next = h.nextIDs;
+            index = h.index;
 
-        var m = '';
-        if (changeset.comment) {
-            m = '"' + changeset.comment.substring(0, 20) + '" ';
-        }
+            if (h.version === 2 || h.version === 3) {
+                var allEntities = {};
 
-        var message = (m || 'Edited OSM!') +
-            connection.changesetUrl(changeset.id);
+                h.entities.forEach(function(entity) {
+                    allEntities[iD.Entity.key(entity)] = iD.Entity(entity);
+                });
 
-        var links = body.append('div').attr('class','modal-actions cf');
+                if (h.version === 3) {
+                    // This merges originals for changed entities into the base of
+                    // the stack even if the current stack doesn't have them (for
+                    // example when iD has been restarted in a different region)
+                    var baseEntities = h.baseEntities.map(function(entity) {
+                        return iD.Entity(entity);
+                    });
+                    stack[0].graph.rebase(baseEntities, _.pluck(stack, 'graph'), true);
+                    tree.rebase(baseEntities, true);
+
+                    // When we restore a modified way, we also need to fetch any missing
+                    // childnodes that would normally have been downloaded with it.. #2142
+                    if (loadChildNodes) {
+                        var missing =  _(baseEntities)
+                                .filter('type', 'way')
+                                .pluck('nodes')
+                                .flatten()
+                                .uniq()
+                                .reject(function(n) { return stack[0].graph.hasEntity(n); })
+                                .value();
+
+                        if (!_.isEmpty(missing)) {
+                            var childNodesLoaded = function(err, result) {
+                                if (err) return;
+
+                                var visible = _.groupBy(result.data, 'visible');
+                                if (!_.isEmpty(visible.true)) {
+                                    stack[0].graph.rebase(visible.true, _.pluck(stack, 'graph'), false);
+                                    tree.rebase(visible.true, false);
+                                }
 
-        links.append('a')
-            .attr('class','col6 osm')
-            .attr('target', '_blank')
-            .attr('href', function() {
-                return connection.changesetUrl(changeset.id);
-            })
-            .text(t('view_on_osm'));
+                                // fetch older versions of nodes that were deleted..
+                                _.each(visible.false, function(entity) {
+                                    context.connection()
+                                        .loadEntityVersion(entity.id, +entity.version - 1, childNodesLoaded);
+                                });
+                            };
 
-        links.append('a')
-            .attr('class','col6 twitter')
-            .attr('target', '_blank')
-            .attr('href', function() {
-                return 'https://twitter.com/intent/tweet?source=webclient&text=' +
-                    encodeURIComponent(message);
-            })
-            .text('Tweet');
+                            context.connection().loadMultiple(missing, childNodesLoaded);
+                        }
+                    }
+                }
 
-        var section = body.append('div').attr('class','modal-section cf');
+                stack = h.stack.map(function(d) {
+                    var entities = {}, entity;
 
-        section.append('button')
-            .attr('class', 'action col2')
-            .on('click.save', function() {
-                event.cancel();
-            })
-            .append('span').attr('class','label').text('Okay');
-    }
+                    if (d.modified) {
+                        d.modified.forEach(function(key) {
+                            entity = allEntities[key];
+                            entities[entity.id] = entity;
+                        });
+                    }
 
-    return d3.rebind(success, event, 'on');
-};
-iD.ui.TagEditor = function(context, entity) {
-    var event = d3.dispatch('changeTags', 'choose', 'close'),
-        presets = context.presets(),
-        tags,
-        preset,
-        selection_,
-        presetUI,
-        tagList;
+                    if (d.deleted) {
+                        d.deleted.forEach(function(id) {
+                            entities[id] = undefined;
+                        });
+                    }
 
-    function tageditor(selection, newpreset) {
-        selection_ = selection;
-        var geometry = entity.geometry(context.graph());
+                    return {
+                        graph: iD.Graph(stack[0].graph).load(entities),
+                        annotation: d.annotation,
+                        imageryUsed: d.imageryUsed
+                    };
+                });
+            } else { // original version
+                stack = h.stack.map(function(d) {
+                    var entities = {};
 
-        if (!preset) preset = presets.match(entity, context.graph());
+                    for (var i in d.entities) {
+                        var entity = d.entities[i];
+                        entities[i] = entity === 'undefined' ? undefined : iD.Entity(entity);
+                    }
 
-        // preset was explicitly chosen
-        if (newpreset) {
-            tags = preset.removeTags(tags, geometry);
+                    d.graph = iD.Graph(stack[0].graph).load(entities);
+                    return d;
+                });
+            }
 
-            newpreset.applyTags(tags, geometry);
-            preset = newpreset;
-        }
+            dispatch.change();
 
-        selection
-            .datum(preset)
-            .html('');
+            return history;
+        },
 
-        var messagewrap = selection.append('div')
-            .attr('class', 'header fillL cf');
+        save: function() {
+            if (lock.locked()) context.storage(getKey('saved_history'), history.toJSON() || null);
+            return history;
+        },
 
-        messagewrap.append('button')
-            .attr('class', 'preset-reset fl ')
-            .on('click', function() {
-                event.choose(preset);
-            })
-            .append('span')
-            .attr('class', 'icon back');
+        clearSaved: function() {
+            if (lock.locked()) context.storage(getKey('saved_history'), null);
+            return history;
+        },
 
-        var icon = preset.icon || (geometry === 'line' ? 'other-line' : 'marker-stroked');
+        lock: function() {
+            return lock.lock();
+        },
 
-        messagewrap.append('h3')
-            .attr('class', 'inspector-inner')
-            .text(t('inspector.editing_feature', { feature: preset.name() }));
+        unlock: function() {
+            lock.unlock();
+        },
 
-        messagewrap.append('button')
-            .attr('class', 'preset-close fr')
-            .on('click', event.close)
-            .append('span')
-            .attr('class', 'icon close');
+        // is iD not open in another window and it detects that
+        // there's a history stored in localStorage that's recoverable?
+        restorableChanges: function() {
+            return lock.locked() && !!context.storage(getKey('saved_history'));
+        },
 
-        var editorwrap = selection.append('div')
-            .attr('class', 'tag-wrap inspector-body fillL2 inspector-body-' + geometry);
+        // load history from a version stored in localStorage
+        restore: function() {
+            if (!lock.locked()) return;
 
-        editorwrap.append('div')
-            .attr('class', 'col12 inspector-inner preset-icon-wrap')
-            .append('div')
-            .attr('class','fillL')
-            .call(iD.ui.PresetIcon(context.geometry(entity.id)));
+            var json = context.storage(getKey('saved_history'));
+            if (json) history.fromJSON(json, true);
+        },
 
-        presetUI = iD.ui.preset(context, entity, preset)
-            .on('change', changeTags)
-            .on('close', event.close);
+        _getKey: getKey
 
-        tagList = iD.ui.Taglist(context, entity)
-            .on('change', changeTags);
+    };
 
-        var tageditorpreset = editorwrap.append('div')
-            .attr('class', 'inspector-preset cf fillL col12')
-            .call(presetUI);
+    history.reset();
 
-        editorwrap.append('div')
-            .attr('class', 'inspector-inner col12 additional-tags')
-            .call(tagList, preset.id === 'other');
+    return d3.rebind(history, dispatch, 'on');
+};
+iD.Node = iD.Entity.node = function iD_Node() {
+    if (!(this instanceof iD_Node)) {
+        return (new iD_Node()).initialize(arguments);
+    } else if (arguments.length) {
+        this.initialize(arguments);
+    }
+};
 
-        if (!entity.isNew()) {
-            var osmLink = tageditorpreset.append('div')
-                .attr('class', 'col12 inspector-inner')
-                .append('a')
-                .attr('href', 'http://www.openstreetmap.org/browse/' + entity.type + '/' + entity.osmId())
-                .attr('target', '_blank');
+iD.Node.prototype = Object.create(iD.Entity.prototype);
 
-            osmLink.append('span')
-                .attr('class','icon icon-pre-text out-link');
+_.extend(iD.Node.prototype, {
+    type: 'node',
 
-            osmLink.append('span').text(t('inspector.view_on_osm'));
-        }
+    extent: function() {
+        return new iD.geo.Extent(this.loc);
+    },
 
-        tageditor.tags(tags);
-        changeTags();
-    }
+    geometry: function(graph) {
+        return graph.transient(this, 'geometry', function() {
+            return graph.isPoi(this) ? 'point' : 'vertex';
+        });
+    },
 
-    function clean(o) {
-        var out = {};
-        for (var k in o) {
-            var v = o[k].trim();
-            if (v) out[k] = v;
-        }
-        return out;
-    }
+    move: function(loc) {
+        return this.update({loc: loc});
+    },
 
-    function changeTags(changed) {
-        tags = clean(_.extend(tags, changed));
-        event.changeTags(_.clone(tags));
-    }
+    isIntersection: function(resolver) {
+        return resolver.transient(this, 'isIntersection', function() {
+            return resolver.parentWays(this).filter(function(parent) {
+                return (parent.tags.highway ||
+                    parent.tags.waterway ||
+                    parent.tags.railway ||
+                    parent.tags.aeroway) &&
+                    parent.geometry(resolver) === 'line';
+            }).length > 1;
+        });
+    },
 
-    tageditor.tags = function(newtags) {
-        tags = _.clone(newtags);
-        if (presetUI && tagList) {
+    isHighwayIntersection: function(resolver) {
+        return resolver.transient(this, 'isHighwayIntersection', function() {
+            return resolver.parentWays(this).filter(function(parent) {
+                return parent.tags.highway && parent.geometry(resolver) === 'line';
+            }).length > 1;
+        });
+    },
 
-            // change preset if necessary (undos/redos)
-            var newmatch = presets
-                .matchGeometry(entity, context.graph())
-                .matchTags(entity.update({ tags: tags }));
-            if (newmatch !== preset) {
-                return tageditor(selection_, newmatch);
+    asJXON: function(changeset_id) {
+        var r = {
+            node: {
+                '@id': this.osmId(),
+                '@lon': this.loc[0],
+                '@lat': this.loc[1],
+                '@version': (this.version || 0),
+                tag: _.map(this.tags, function(v, k) {
+                    return { keyAttributes: { k: k, v: v } };
+                })
             }
+        };
+        if (changeset_id) r.node['@changeset'] = changeset_id;
+        return r;
+    },
 
-            presetUI.change(tags);
-            var rendered = []
-                .concat(Object.keys(preset.tags))
-                .concat(presetUI.rendered());
-            tagList.tags(_.omit(tags, rendered));
-        }
-        return tageditor;
-    };
+    asGeoJSON: function() {
+        return {
+            type: 'Point',
+            coordinates: this.loc
+        };
+    }
+});
+iD.Relation = iD.Entity.relation = function iD_Relation() {
+    if (!(this instanceof iD_Relation)) {
+        return (new iD_Relation()).initialize(arguments);
+    } else if (arguments.length) {
+        this.initialize(arguments);
+    }
+};
+
+iD.Relation.prototype = Object.create(iD.Entity.prototype);
+
+iD.Relation.creationOrder = function(a, b) {
+    var aId = parseInt(iD.Entity.id.toOSM(a.id), 10);
+    var bId = parseInt(iD.Entity.id.toOSM(b.id), 10);
 
-    return d3.rebind(tageditor, event, 'on');
+    if (aId < 0 || bId < 0) return aId - bId;
+    return bId - aId;
 };
-iD.ui.TagReference = function(entity, tag) {
-    var taginfo = iD.taginfo(), wrap, showing = false;
 
-    function findLocal(docs) {
-        var locale = iD.detect().locale.toLowerCase(),
-            localized;
+_.extend(iD.Relation.prototype, {
+    type: 'relation',
+    members: [],
 
-        localized = _.find(docs, function(d) {
-            return d.lang.toLowerCase() === locale;
-        });
-        if (localized) return localized;
+    copy: function(deep, resolver, replacements) {
+        var copy = iD.Entity.prototype.copy.call(this);
+        if (!deep || !resolver || !this.isComplete(resolver)) {
+            return copy;
+        }
 
-        // try the non-regional version of a language, like
-        // 'en' if the language is 'en-US'
-        if (locale.indexOf('-') !== -1) {
-            var first = locale.split('-')[0];
-            localized = _.find(docs, function(d) {
-                return d.lang.toLowerCase() === first;
-            });
-            if (localized) return localized;
+        var members = [],
+            i, oldmember, oldid, newid, children;
+
+        replacements = replacements || {};
+        replacements[this.id] = copy[0].id;
+
+        for (i = 0; i < this.members.length; i++) {
+            oldmember = this.members[i];
+            oldid = oldmember.id;
+            newid = replacements[oldid];
+            if (!newid) {
+                children = resolver.entity(oldid).copy(true, resolver, replacements);
+                newid = replacements[oldid] = children[0].id;
+                copy = copy.concat(children);
+            }
+            members.push({id: newid, type: oldmember.type, role: oldmember.role});
         }
 
-        // finally fall back to english
-        return _.find(docs, function(d) {
-            return d.lang.toLowerCase() === 'en';
-        });
-    }
+        copy[0] = copy[0].update({members: members});
+        return copy;
+    },
 
-    function tagReference(selection) {
-        wrap = selection.append('div')
-            .attr('class', 'tag-help cf');
-    }
+    extent: function(resolver, memo) {
+        return resolver.transient(this, 'extent', function() {
+            if (memo && memo[this.id]) return iD.geo.Extent();
+            memo = memo || {};
+            memo[this.id] = true;
 
-    tagReference.show = function() {
+            var extent = iD.geo.Extent();
+            for (var i = 0; i < this.members.length; i++) {
+                var member = resolver.hasEntity(this.members[i].id);
+                if (member) {
+                    extent._extend(member.extent(resolver, memo));
+                }
+            }
+            return extent;
+        });
+    },
 
-        var referenceBody = wrap.selectAll('.tag-reference-wrap')
-            .data([this])
-            .enter().append('div')
-            .attr('class', 'tag-reference-wrap cf')
-            .style('opacity', 0);
+    geometry: function(graph) {
+        return graph.transient(this, 'geometry', function() {
+            return this.isMultipolygon() ? 'area' : 'relation';
+        });
+    },
 
-        function show() {
-            referenceBody
-                .transition()
-                .style('opacity', 1);
-        }
+    isDegenerate: function() {
+        return this.members.length === 0;
+    },
 
-        taginfo.docs(tag, function(err, docs) {
+    // Return an array of members, each extended with an 'index' property whose value
+    // is the member index.
+    indexedMembers: function() {
+        var result = new Array(this.members.length);
+        for (var i = 0; i < this.members.length; i++) {
+            result[i] = _.extend({}, this.members[i], {index: i});
+        }
+        return result;
+    },
 
-            if (!err && docs) {
-                docs = findLocal(docs);
+    // Return the first member with the given role. A copy of the member object
+    // is returned, extended with an 'index' property whose value is the member index.
+    memberByRole: function(role) {
+        for (var i = 0; i < this.members.length; i++) {
+            if (this.members[i].role === role) {
+                return _.extend({}, this.members[i], {index: i});
             }
+        }
+    },
 
-            if (!docs || !docs.description) {
-                referenceBody.append('p').text(t('inspector.no_documentation_key'));
-                show();
-                return;
+    // Return the first member with the given id. A copy of the member object
+    // is returned, extended with an 'index' property whose value is the member index.
+    memberById: function(id) {
+        for (var i = 0; i < this.members.length; i++) {
+            if (this.members[i].id === id) {
+                return _.extend({}, this.members[i], {index: i});
             }
+        }
+    },
 
-            if (docs.image && docs.image.thumb_url_prefix) {
-                referenceBody
-                    .append('img')
-                    .attr('class', 'wiki-image')
-                    .attr('src', docs.image.thumb_url_prefix + "100" + docs.image.thumb_url_suffix)
-                    .on('load', function() { show(); })
-                    .on('error', function() { d3.select(this).remove(); show(); });
-            } else {
-                show();
+    // Return the first member with the given id and role. A copy of the member object
+    // is returned, extended with an 'index' property whose value is the member index.
+    memberByIdAndRole: function(id, role) {
+        for (var i = 0; i < this.members.length; i++) {
+            if (this.members[i].id === id && this.members[i].role === role) {
+                return _.extend({}, this.members[i], {index: i});
             }
+        }
+    },
 
-            referenceBody
-                .append('p')
-                .text(docs.description);
+    addMember: function(member, index) {
+        var members = this.members.slice();
+        members.splice(index === undefined ? members.length : index, 0, member);
+        return this.update({members: members});
+    },
 
-            var wikiLink = referenceBody
-                .append('a')
-                .attr('target', '_blank')
-                .attr('href', 'http://wiki.openstreetmap.org/wiki/' + docs.title);
+    updateMember: function(member, index) {
+        var members = this.members.slice();
+        members.splice(index, 1, _.extend({}, members[index], member));
+        return this.update({members: members});
+    },
 
-            wikiLink.append('span')
-                .attr('class','icon icon-pre-text out-link');
+    removeMember: function(index) {
+        var members = this.members.slice();
+        members.splice(index, 1);
+        return this.update({members: members});
+    },
 
-            wikiLink.append('span')
-                .text(t('inspector.reference'));
-        });
+    removeMembersWithID: function(id) {
+        var members = _.reject(this.members, function(m) { return m.id === id; });
+        return this.update({members: members});
+    },
 
-        wrap.style('max-height', '0px')
-            .style('opacity', '0')
-            .transition()
-            .duration(200)
-            .delay(100)
-            .style('max-height', '200px')
-            .style('opacity', '1');
+    // Wherever a member appears with id `needle.id`, replace it with a member
+    // with id `replacement.id`, type `replacement.type`, and the original role,
+    // unless a member already exists with that id and role. Return an updated
+    // relation.
+    replaceMember: function(needle, replacement) {
+        if (!this.memberById(needle.id))
+            return this;
 
-        showing = true;
-    };
+        var members = [];
 
-    tagReference.hide = function() {
-        wrap.transition()
-            .duration(200)
-            .style('max-height', '0px')
-            .style('opacity', '0');
+        for (var i = 0; i < this.members.length; i++) {
+            var member = this.members[i];
+            if (member.id !== needle.id) {
+                members.push(member);
+            } else if (!this.memberByIdAndRole(replacement.id, member.role)) {
+                members.push({id: replacement.id, type: replacement.type, role: member.role});
+            }
+        }
 
-        showing = false;
-    };
+        return this.update({members: members});
+    },
 
-    tagReference.toggle = function() {
-        showing ? tagReference.hide() : tagReference.show();
-    };
+    asJXON: function(changeset_id) {
+        var r = {
+            relation: {
+                '@id': this.osmId(),
+                '@version': this.version || 0,
+                member: _.map(this.members, function(member) {
+                    return { keyAttributes: { type: member.type, role: member.role, ref: iD.Entity.id.toOSM(member.id) } };
+                }),
+                tag: _.map(this.tags, function(v, k) {
+                    return { keyAttributes: { k: k, v: v } };
+                })
+            }
+        };
+        if (changeset_id) r.relation['@changeset'] = changeset_id;
+        return r;
+    },
 
-    return tagReference;
-};iD.ui.Taglist = function(context, entity) {
-    var event = d3.dispatch('change'),
-        taginfo = iD.taginfo(),
-        collapsebutton,
-        list;
+    asGeoJSON: function(resolver) {
+        return resolver.transient(this, 'GeoJSON', function () {
+            if (this.isMultipolygon()) {
+                return {
+                    type: 'MultiPolygon',
+                    coordinates: this.multipolygon(resolver)
+                };
+            } else {
+                return {
+                    type: 'FeatureCollection',
+                    properties: this.tags,
+                    features: this.members.map(function (member) {
+                        return _.extend({role: member.role}, resolver.entity(member.id).asGeoJSON(resolver));
+                    })
+                };
+            }
+        });
+    },
+
+    area: function(resolver) {
+        return resolver.transient(this, 'area', function() {
+            return d3.geo.area(this.asGeoJSON(resolver));
+        });
+    },
 
-    function taglist(selection, other) {
+    isMultipolygon: function() {
+        return this.tags.type === 'multipolygon';
+    },
 
-        collapsebutton = selection.append('a')
-            .attr('href','#')
-            .attr('class','hide-toggle')
-            .text(t('inspector.additional'))
-            .on('click', function() {
-                iD.ui.Taglist.expanded = wrap.classed('hide');
-                collapsebutton.classed('expanded', iD.ui.Taglist.expanded);
-                wrap.call(iD.ui.Toggle(iD.ui.Taglist.expanded));
-                selection.node().parentNode.scrollTop += 200;
-            })
-            .classed('expanded', iD.ui.Taglist.expanded || other);
+    isComplete: function(resolver) {
+        for (var i = 0; i < this.members.length; i++) {
+            if (!resolver.hasEntity(this.members[i].id)) {
+                return false;
+            }
+        }
+        return true;
+    },
 
-        var wrap = selection.append('div')
-            .classed('hide', !iD.ui.Taglist.expanded && !other);
+    isRestriction: function() {
+        return !!(this.tags.type && this.tags.type.match(/^restriction:?/));
+    },
 
-        list = wrap.append('ul')
-            .attr('class', 'tag-list');
+    // Returns an array [A0, ... An], each Ai being an array of node arrays [Nds0, ... Ndsm],
+    // where Nds0 is an outer ring and subsequent Ndsi's (if any i > 0) being inner rings.
+    //
+    // This corresponds to the structure needed for rendering a multipolygon path using a
+    // `evenodd` fill rule, as well as the structure of a GeoJSON MultiPolygon geometry.
+    //
+    // In the case of invalid geometries, this function will still return a result which
+    // includes the nodes of all way members, but some Nds may be unclosed and some inner
+    // rings not matched with the intended outer ring.
+    //
+    multipolygon: function(resolver) {
+        var outers = this.members.filter(function(m) { return 'outer' === (m.role || 'outer'); }),
+            inners = this.members.filter(function(m) { return 'inner' === m.role; });
 
-        var newTag = wrap.append('button')
-            .attr('class', 'add-tag col6')
-            .on('click', addTag);
+        outers = iD.geo.joinWays(outers, resolver);
+        inners = iD.geo.joinWays(inners, resolver);
 
-        newTag.append('span')
-            .attr('class', 'icon plus');
+        outers = outers.map(function(outer) { return _.pluck(outer.nodes, 'loc'); });
+        inners = inners.map(function(inner) { return _.pluck(inner.nodes, 'loc'); });
 
-        newTag.append('span')
-            .attr('class', 'label')
-            .text(t('inspector.new_tag'));
-    }
+        var result = outers.map(function(o) {
+            // Heuristic for detecting counterclockwise winding order. Assumes
+            // that OpenStreetMap polygons are not hemisphere-spanning.
+            return [d3.geo.area({type: 'Polygon', coordinates: [o]}) > 2 * Math.PI ? o.reverse() : o];
+        });
 
-    function drawTags(tags) {
-        collapsebutton.text(t('inspector.additional') + ' (' + Object.keys(tags).length + ')');
+        function findOuter(inner) {
+            var o, outer;
 
-        tags = d3.entries(tags);
+            for (o = 0; o < outers.length; o++) {
+                outer = outers[o];
+                if (iD.geo.polygonContainsPolygon(outer, inner))
+                    return o;
+            }
 
-        if (!tags.length) {
-            tags = [{key: '', value: ''}];
+            for (o = 0; o < outers.length; o++) {
+                outer = outers[o];
+                if (iD.geo.polygonIntersectsPolygon(outer, inner))
+                    return o;
+            }
         }
 
-        tags.forEach(function(tag) {
-            tag.reference = iD.ui.TagReference(entity, {key: tag.key});
-        });
+        for (var i = 0; i < inners.length; i++) {
+            var inner = inners[i];
 
-        var li = list.html('')
-            .selectAll('li')
-            .data(tags, function(d) { return d.key; });
+            if (d3.geo.area({type: 'Polygon', coordinates: [inner]}) < 2 * Math.PI) {
+                inner = inner.reverse();
+            }
 
-        li.exit().remove();
+            var o = findOuter(inners[i]);
+            if (o !== undefined)
+                result[o].push(inners[i]);
+            else
+                result.push([inners[i]]); // Invalid geometry
+        }
 
-        var row = li.enter().append('li')
-            .attr('class', 'tag-row');
+        return result;
+    }
+});
+iD.oneWayTags = {
+    'aerialway': {
+        'chair_lift': true,
+        'mixed_lift': true,
+        't-bar': true,
+        'j-bar': true,
+        'platter': true,
+        'rope_tow': true,
+        'magic_carpet': true,
+        'yes': true
+    },
+    'highway': {
+        'motorway': true,
+        'motorway_link': true
+    },
+    'junction': {
+        'roundabout': true
+    },
+    'man_made': {
+        'piste:halfpipe': true
+    },
+    'piste:type': {
+        'downhill': true,
+        'sled': true,
+        'yes': true
+    },
+    'waterway': {
+        'river': true,
+        'stream': true
+    }
+};
 
-        row.append('div')
-            .attr('class', 'key-wrap col6')
-            .append('input')
-            .property('type', 'text')
-            .attr('class', 'key')
-            .attr('maxlength', 255)
-            .property('value', function(d) { return d.key; })
-            .on('blur', function(d) {
-                d.key = this.value;
-                event.change(taglist.tags());
-            });
+iD.pavedTags = {
+    'surface': {
+        'paved': true,
+        'asphalt': true,
+        'concrete': true
+    },
+    'tracktype': {
+        'grade1': true
+    }
+};
 
-        row.append('div')
-            .attr('class', 'input-wrap-position col6')
-            .append('input')
-            .property('type', 'text')
-            .attr('class', 'value')
-            .attr('maxlength', 255)
-            .property('value', function(d) { return d.value; })
-            .on('blur', function(d) {
-                d.value = this.value;
-                event.change(taglist.tags());
-            })
-            .on('keydown.push-more', pushMore);
+iD.interestingTag = function (key) {
+    return key !== 'attribution' &&
+        key !== 'created_by' &&
+        key !== 'source' &&
+        key !== 'odbl' &&
+        key.indexOf('tiger:') !== 0;
 
-        row.each(bindTypeahead);
+};
+iD.Tree = function(head) {
+    var rtree = rbush(),
+        rectangles = {};
 
-        row.append('button')
-            .attr('tabindex', -1)
-            .attr('class','remove minor')
-            .on('click', removeTag)
-            .append('span')
-            .attr('class', 'icon delete');
+    function extentRectangle(extent) {
+        return [
+            extent[0][0],
+            extent[0][1],
+            extent[1][0],
+            extent[1][1]
+        ];
+    }
 
-        row.append('button')
-            .attr('tabindex', -1)
-            .attr('class', 'tag-help-button minor')
-            .on('click', function(tag) {
-                tags.forEach(function(other) {
-                    if (other.key === tag.key) {
-                        other.reference.toggle();
-                    } else {
-                        other.reference.hide();
-                    }
-                });
-            })
-            .append('span')
-            .attr('class', 'icon inspect');
+    function entityRectangle(entity) {
+        var rect = extentRectangle(entity.extent(head));
+        rect.id = entity.id;
+        rectangles[entity.id] = rect;
+        return rect;
+    }
 
-        row.each(function(tag) {
-            d3.select(this).call(tag.reference);
+    function updateParents(entity, insertions, memo) {
+        head.parentWays(entity).forEach(function(parent) {
+            if (rectangles[parent.id]) {
+                rtree.remove(rectangles[parent.id]);
+                insertions[parent.id] = parent;
+            }
         });
 
-        return li;
+        head.parentRelations(entity).forEach(function(parent) {
+            if (memo[entity.id]) return;
+            memo[entity.id] = true;
+            if (rectangles[parent.id]) {
+                rtree.remove(rectangles[parent.id]);
+                insertions[parent.id] = parent;
+            }
+            updateParents(parent, insertions, memo);
+        });
     }
 
-    function pushMore() {
-        if (d3.event.keyCode === 9 &&
-            list.selectAll('li:last-child input.value').node() === this &&
-            !d3.event.shiftKey) {
-            addTag();
-            d3.event.preventDefault();
-        }
-    }
+    var tree = {};
 
-    function bindTypeahead() {
-        var geometry = entity.geometry(context.graph()),
-            row = d3.select(this),
-            key = row.selectAll('input.key'),
-            value = row.selectAll('input.value');
+    tree.rebase = function(entities, force) {
+        var insertions = {};
 
-        function sort(value, data) {
-            var sameletter = [],
-                other = [];
-            for (var i = 0; i < data.length; i++) {
-                if (data[i].value.substring(0, value.length) === value) {
-                    sameletter.push(data[i]);
-                } else {
-                    other.push(data[i]);
+        for (var i = 0; i < entities.length; i++) {
+            var entity = entities[i];
+
+            if (!entity.visible)
+                continue;
+
+            if (head.entities.hasOwnProperty(entity.id) || rectangles[entity.id]) {
+                if (!force) {
+                    continue;
+                } else if (rectangles[entity.id]) {
+                    rtree.remove(rectangles[entity.id]);
                 }
             }
-            return sameletter.concat(other);
+
+            insertions[entity.id] = entity;
+            updateParents(entity, insertions, {});
         }
 
-        key.call(d3.combobox()
-            .fetcher(function(value, __, callback) {
-                taginfo.keys({
-                    debounce: true,
-                    geometry: geometry,
-                    query: value
-                }, function(err, data) {
-                    if (!err) callback(sort(value, data));
-                });
-            }));
+        rtree.load(_.map(insertions, entityRectangle));
 
-        value.call(d3.combobox()
-            .fetcher(function(value, __, callback) {
-                taginfo.values({
-                    debounce: true,
-                    key: key.property('value'),
-                    geometry: geometry,
-                    query: value
-                }, function(err, data) {
-                    if (!err) callback(sort(value, data));
-                });
-            }));
-    }
+        return tree;
+    };
 
-    function addTag() {
-        var tags = taglist.tags();
-        tags[''] = '';
-        drawTags(tags);
-        list.selectAll('li:last-child input.key').node().focus();
-    }
+    tree.intersects = function(extent, graph) {
+        if (graph !== head) {
+            var diff = iD.Difference(head, graph),
+                insertions = {};
 
-    function removeTag(d) {
-        var tags = taglist.tags();
-        tags[d.key] = '';
-        event.change(tags);
-        delete tags[d.key];
-        drawTags(tags);
-    }
+            head = graph;
 
-    taglist.tags = function(tags) {
-        if (!arguments.length) {
-            tags = {};
-            list.selectAll('li').each(function() {
-                var row = d3.select(this),
-                    key = row.selectAll('.key').property('value'),
-                    value = row.selectAll('.value').property('value');
-                if (key !== '') tags[key] = value;
+            diff.deleted().forEach(function(entity) {
+                rtree.remove(rectangles[entity.id]);
+                delete rectangles[entity.id];
             });
-            return tags;
-        } else {
-            drawTags(tags);
-        }
-    };
 
-    return d3.rebind(taglist, event, 'on');
-};
-iD.ui.Tail = function() {
-    var text = false,
-        container,
-        inner,
-        xmargin = 25,
-        tooltip_size = [0, 0],
-        selection_size = [0, 0],
-        transformProp = iD.util.prefixCSSProperty('Transform');
+            diff.modified().forEach(function(entity) {
+                rtree.remove(rectangles[entity.id]);
+                insertions[entity.id] = entity;
+                updateParents(entity, insertions, {});
+            });
 
-    function tail(selection) {
-        d3.select(window).on('resize.tail-size', function() {
-            selection_size = selection.size();
-        });
+            diff.created().forEach(function(entity) {
+                insertions[entity.id] = entity;
+            });
 
-        function setup() {
-            container = d3.select(document.body)
-                .append('div')
-                .style('display', 'none')
-                .attr('class', 'tail tooltip-inner');
+            rtree.load(_.map(insertions, entityRectangle));
+        }
 
-            inner = container.append('div');
+        return rtree.search(extentRectangle(extent)).map(function(rect) {
+            return head.entity(rect.id);
+        });
+    };
 
-            selection
-                .on('mousemove.tail', mousemove)
-                .on('mouseover.tail', mouseover)
-                .on('mouseout.tail', mouseout);
+    return tree;
+};
+iD.Way = iD.Entity.way = function iD_Way() {
+    if (!(this instanceof iD_Way)) {
+        return (new iD_Way()).initialize(arguments);
+    } else if (arguments.length) {
+        this.initialize(arguments);
+    }
+};
 
-            container
-                .on('mousemove.tail', mousemove);
+iD.Way.prototype = Object.create(iD.Entity.prototype);
 
-            selection_size = selection.size();
-        }
+_.extend(iD.Way.prototype, {
+    type: 'way',
+    nodes: [],
 
-        function show() {
-            container.style('display', 'block');
-            tooltip_size = container.size();
-        }
+    copy: function(deep, resolver) {
+        var copy = iD.Entity.prototype.copy.call(this);
 
-        function mousemove() {
-            if (text === false) return;
-            if (container.style('display') === 'none') show();
-            var xoffset = ((d3.event.clientX + tooltip_size[0] + xmargin) > selection_size[0]) ?
-                -tooltip_size[0] - xmargin : xmargin;
-            container.classed('left', xoffset > 0);
-            container.style(transformProp, 'translate(' +
-                (~~d3.event.clientX + xoffset) + 'px,' +
-                ~~d3.event.clientY + 'px)');
+        if (!deep || !resolver) {
+            return copy;
         }
 
-        function mouseout() {
-            if (d3.event.relatedTarget !== container.node() &&
-                text !== false) container.style('display', 'none');
-        }
+        var nodes = [],
+            replacements = {},
+            i, oldid, newid, child;
 
-        function mouseover() {
-            if (d3.event.relatedTarget !== container.node() &&
-                text !== false) show();
+        for (i = 0; i < this.nodes.length; i++) {
+            oldid = this.nodes[i];
+            newid = replacements[oldid];
+            if (!newid) {
+                child = resolver.entity(oldid).copy();
+                newid = replacements[oldid] = child[0].id;
+                copy = copy.concat(child);
+            }
+            nodes.push(newid);
         }
 
-        if (!container) setup();
-    }
-
-    tail.text = function(_) {
-        if (!arguments.length) return text;
-        if (_ === false) {
-            text = _;
-            container.style('display', 'none');
-            return tail;
-        }
-        text = _;
-        inner.text(text);
-        tooltip_size = container.size();
-        return tail;
-    };
+        copy[0] = copy[0].update({nodes: nodes});
+        return copy;
+    },
 
-    return tail;
-};
-// toggles the visibility of ui elements, using a combination of the
-// hide class, which sets display=none, and a d3 transition for opacity.
-// this will cause blinking when called repeatedly, so check that the
-// value actually changes between calls.
-iD.ui.Toggle = function(show, callback) {
-    return function(selection) {
-        selection
-            .style('opacity', show ? 0 : 1)
-            .classed('hide', false)
-            .transition()
-            .style('opacity', show ? 1 : 0)
-            .each('end', function() {
-                d3.select(this).classed('hide', !show);
-                if (callback) callback.apply(this);
-            });
-    };
-};
-iD.ui.UndoRedo = function(context) {
-    return function(selection) {
-        var tooltip = bootstrap.tooltip()
-            .placement('bottom')
-            .html(true);
-
-        var undoButton = selection.append('button')
-            .attr('class', 'col6 disabled')
-            .html('<span class="undo icon"/>')
-            .on('click', context.undo)
-            .call(tooltip);
-
-        var redoButton = selection.append('button')
-            .attr('class', 'col6 disabled')
-            .html('<span class="redo icon"/>')
-            .on('click', context.redo)
-            .call(tooltip);
-
-        var keybinding = d3.keybinding('undo')
-            .on(iD.ui.cmd('⌘Z'), context.undo)
-            .on(iD.ui.cmd('⌘⇧Z'), context.redo);
+    extent: function(resolver) {
+        return resolver.transient(this, 'extent', function() {
+            var extent = iD.geo.Extent();
+            for (var i = 0; i < this.nodes.length; i++) {
+                var node = resolver.hasEntity(this.nodes[i]);
+                if (node) {
+                    extent._extend(node.extent());
+                }
+            }
+            return extent;
+        });
+    },
 
-        d3.select(document)
-            .call(keybinding);
+    first: function() {
+        return this.nodes[0];
+    },
 
-        context.history().on('change.editor', function() {
-            var undo = context.history().undoAnnotation(),
-                redo = context.history().redoAnnotation();
+    last: function() {
+        return this.nodes[this.nodes.length - 1];
+    },
 
-            function refreshTooltip(selection) {
-                if (selection.property('tooltipVisible')) {
-                    selection.call(tooltip.show);
-                }
-            }
+    contains: function(node) {
+        return this.nodes.indexOf(node) >= 0;
+    },
 
-            undoButton
-                .classed('disabled', !undo)
-                .attr('data-original-title', iD.ui.tooltipHtml(undo || t('nothing_to_undo'), iD.ui.cmd('⌘Z')))
-                .call(refreshTooltip);
+    affix: function(node) {
+        if (this.nodes[0] === node) return 'prefix';
+        if (this.nodes[this.nodes.length - 1] === node) return 'suffix';
+    },
 
-            redoButton
-                .classed('disabled', !redo)
-                .attr('data-original-title', iD.ui.tooltipHtml(redo || t('nothing_to_redo'), iD.ui.cmd('⌘⇧Z')))
-                .call(refreshTooltip);
-        });
-    };
-};
-iD.ui.Zoom = function(context) {
-    var zooms = [{
-        id: 'zoom-in',
-        title: t('zoom.in'),
-        action: context.zoomIn,
-        key: '+'
-    }, {
-        id: 'zoom-out',
-        title: t('zoom.out'),
-        action: context.zoomOut,
-        key: '-'
-    }];
+    layer: function() {
+        // explicit layer tag, clamp between -10, 10..
+        if (this.tags.layer !== undefined) {
+            return Math.max(-10, Math.min(+(this.tags.layer), 10));
+        }
 
-    return function(selection) {
-        var button = selection.selectAll('button')
-            .data(zooms)
-            .enter().append('button')
-            .attr('tabindex', -1)
-            .attr('class', function(d) { return d.id; })
-            .on('click.editor', function(d) { d.action(); })
-            .call(bootstrap.tooltip()
-                .placement('right')
-                .html(true)
-                .title(function(d) {
-                    return iD.ui.tooltipHtml(d.title, d.key);
-                }));
+        // implied layer tag..
+        if (this.tags.location === 'overground') return 1;
+        if (this.tags.location === 'underground') return -1;
+        if (this.tags.location === 'underwater') return -10;
 
-        button.append('span')
-            .attr('class', function(d) { return d.id + ' icon'; });
+        if (this.tags.power === 'line') return 10;
+        if (this.tags.power === 'minor_line') return 10;
+        if (this.tags.aerialway) return 10;
+        if (this.tags.bridge) return 1;
+        if (this.tags.cutting) return -1;
+        if (this.tags.tunnel) return -1;
+        if (this.tags.waterway) return -1;
+        if (this.tags.man_made === 'pipeline') return -10;
+        if (this.tags.boundary) return -10;
+        return 0;
+    },
 
-        var keybinding = d3.keybinding('zoom')
-            .on('+', function() { context.zoomIn(); })
-            .on('-', function() { context.zoomOut(); })
-            .on('⇧=', function() { context.zoomIn(); })
-            .on('dash', function() { context.zoomOut(); });
+    isOneWay: function() {
+        // explicit oneway tag..
+        if (['yes', '1', '-1'].indexOf(this.tags.oneway) !== -1) { return true; }
+        if (['no', '0'].indexOf(this.tags.oneway) !== -1) { return false; }
 
-        d3.select(document)
-            .call(keybinding);
-    };
-};
-iD.ui.preset.access = function(field, context) {
-    var event = d3.dispatch('change', 'close'),
-        entity,
-        items;
+        // implied oneway tag..
+        for (var key in this.tags) {
+            if (key in iD.oneWayTags && (this.tags[key] in iD.oneWayTags[key]))
+                return true;
+        }
+        return false;
+    },
 
-    function access(selection) {
-        var wrap = selection.append('div')
-            .attr('class', 'cf preset-input-wrap');
+    isClosed: function() {
+        return this.nodes.length > 0 && this.first() === this.last();
+    },
 
-        items = wrap.append('ul').selectAll('li')
-            .data(field.keys);
+    isConvex: function(resolver) {
+        if (!this.isClosed() || this.isDegenerate()) return null;
 
-        var enter = items.enter()
-            .append('li')
-            .attr('class', function(d) { return 'cf preset-access-' + d; });
+        var nodes = _.uniq(resolver.childNodes(this)),
+            coords = _.pluck(nodes, 'loc'),
+            curr = 0, prev = 0;
 
-        enter.append('span')
-            .attr('class', 'col6 label preset-label-access')
-            .attr('for', function(d) { return 'preset-input-access-' + d; })
-            .text(function(d) { return field.t('types.' + d); });
+        for (var i = 0; i < coords.length; i++) {
+            var o = coords[(i+1) % coords.length],
+                a = coords[i],
+                b = coords[(i+2) % coords.length],
+                res = iD.geo.cross(o, a, b);
 
-        enter.append('div')
-            .attr('class', 'col6 preset-input-access-wrap')
-            .append('input')
-            .attr('type', 'text')
-            .attr('class', 'preset-input-access')
-            .attr('id', function(d) { return 'preset-input-access-' + d; })
-            .on('change', change)
-            .on('blur', change)
-            .each(function(d) {
-                d3.select(this)
-                    .call(d3.combobox()
-                        .data(access.options(d)));
-            });
-    }
+            curr = (res > 0) ? 1 : (res < 0) ? -1 : 0;
+            if (curr === 0) {
+                continue;
+            } else if (prev && curr !== prev) {
+                return false;
+            }
+            prev = curr;
+        }
+        return true;
+    },
 
-    function change(d) {
-        var tag = {};
-        tag[d] = d3.select(this).property('value');
-        event.change(tag);
-    }
+    isArea: function() {
+        if (this.tags.area === 'yes')
+            return true;
+        if (!this.isClosed() || this.tags.area === 'no')
+            return false;
+        for (var key in this.tags)
+            if (key in iD.areaKeys && !(this.tags[key] in iD.areaKeys[key]))
+                return true;
+        return false;
+    },
 
-    access.options = function(type) {
-        var options = ['no', 'permissive', 'private', 'designated', 'destination'];
+    isDegenerate: function() {
+        return _.uniq(this.nodes).length < (this.isArea() ? 3 : 2);
+    },
 
-        if (type != 'access') {
-            options.unshift('yes');
+    areAdjacent: function(n1, n2) {
+        for (var i = 0; i < this.nodes.length; i++) {
+            if (this.nodes[i] === n1) {
+                if (this.nodes[i - 1] === n2) return true;
+                if (this.nodes[i + 1] === n2) return true;
+            }
         }
+        return false;
+    },
 
-        return options.map(function(option) {
-            return {
-                title: field.t('options.' + option + '.description'),
-                value: option
-            };
+    geometry: function(graph) {
+        return graph.transient(this, 'geometry', function() {
+            return this.isArea() ? 'area' : 'line';
         });
-    };
+    },
 
-    access.entity = function(_) {
-        if (!arguments.length) return entity;
-        entity = _;
-        return access;
-    };
+    addNode: function(id, index) {
+        var nodes = this.nodes.slice();
+        nodes.splice(index === undefined ? nodes.length : index, 0, id);
+        return this.update({nodes: nodes});
+    },
 
-    access.tags = function(tags) {
-        items.selectAll('.preset-input-access')
-            .property('value', function(d) { return tags[d] || ''; });
-        return access;
-    };
+    updateNode: function(id, index) {
+        var nodes = this.nodes.slice();
+        nodes.splice(index, 1, id);
+        return this.update({nodes: nodes});
+    },
 
-    access.focus = function() {
-        items.selectAll('.preset-input-access')
-            .node().focus();
-    };
+    replaceNode: function(needle, replacement) {
+        if (this.nodes.indexOf(needle) < 0)
+            return this;
 
-    return d3.rebind(access, event, 'on');
-};
-iD.ui.preset.address = function(field, context) {
+        var nodes = this.nodes.slice();
+        for (var i = 0; i < nodes.length; i++) {
+            if (nodes[i] === needle) {
+                nodes[i] = replacement;
+            }
+        }
+        return this.update({nodes: nodes});
+    },
 
-    var event = d3.dispatch('change', 'close'),
-        housename,
-        housenumber,
-        street,
-        city,
-        entity;
+    removeNode: function(id) {
+        var nodes = [];
 
-    function getStreets() {
+        for (var i = 0; i < this.nodes.length; i++) {
+            var node = this.nodes[i];
+            if (node !== id && nodes[nodes.length - 1] !== node) {
+                nodes.push(node);
+            }
+        }
 
-        var extent = entity.extent(context.graph()),
-            l = extent.center(),
-            dist = iD.geo.metersToCoordinates(l, [200, 200]),
-            box = iD.geo.Extent(
-                    [extent[0][0] - dist[0], extent[0][1] - dist[1]],
-                    [extent[1][0] + dist[0], extent[1][1] + dist[1]]);
+        // Preserve circularity
+        if (this.nodes.length > 1 && this.first() === id && this.last() === id && nodes[nodes.length - 1] !== nodes[0]) {
+            nodes.push(nodes[0]);
+        }
 
-        return context.intersects(box)
-            .filter(isAddressable)
-            .map(function(d) {
-                var loc = context.projection([
-                    (extent[0][0] + extent[1][0]) / 2,
-                    (extent[0][1] + extent[1][1]) / 2]),
-                    closest = context.projection(iD.geo.chooseIndex(d, loc, context).loc);
-                return {
-                    title: d.tags.name,
-                    value: d.tags.name,
-                    dist: iD.geo.dist(closest, loc)
-                };
-            }).sort(function(a, b) {
-                return a.dist - b.dist;
-            });
+        return this.update({nodes: nodes});
+    },
 
-        function isAddressable(d) {
-            return d.tags.highway && d.tags.name && d.type === 'way';
-        }
-    }
+    asJXON: function(changeset_id) {
+        var r = {
+            way: {
+                '@id': this.osmId(),
+                '@version': this.version || 0,
+                nd: _.map(this.nodes, function(id) {
+                    return { keyAttributes: { ref: iD.Entity.id.toOSM(id) } };
+                }),
+                tag: _.map(this.tags, function(v, k) {
+                    return { keyAttributes: { k: k, v: v } };
+                })
+            }
+        };
+        if (changeset_id) r.way['@changeset'] = changeset_id;
+        return r;
+    },
 
-    function address(selection) {
+    asGeoJSON: function(resolver) {
+        return resolver.transient(this, 'GeoJSON', function() {
+            var coordinates = _.pluck(resolver.childNodes(this), 'loc');
+            if (this.isArea() && this.isClosed()) {
+                return {
+                    type: 'Polygon',
+                    coordinates: [coordinates]
+                };
+            } else {
+                return {
+                    type: 'LineString',
+                    coordinates: coordinates
+                };
+            }
+        });
+    },
 
-        function close() { return iD.behavior.accept().on('accept', event.close); }
+    area: function(resolver) {
+        return resolver.transient(this, 'area', function() {
+            var nodes = resolver.childNodes(this);
 
-        var wrap = selection.append('div')
-            .attr('class', 'preset-input-wrap');
+            var json = {
+                type: 'Polygon',
+                coordinates: [_.pluck(nodes, 'loc')]
+            };
 
-        housename = wrap.append('input')
-            .property('type', 'text')
-            .attr('placeholder', field.t('placeholders.housename'))
-            .attr('class', 'addr-housename')
-            .attr('id', 'preset-input-' + field.id)
-            .on('blur', change)
-            .on('change', change)
-            .call(close());
+            if (!this.isClosed() && nodes.length) {
+                json.coordinates[0].push(nodes[0].loc);
+            }
 
-        housenumber = wrap.append('input')
-            .property('type', 'text')
-            .attr('placeholder', field.t('placeholders.number'))
-            .attr('class', 'addr-number')
-            .on('blur', change)
-            .on('change', change)
-            .call(close());
+            var area = d3.geo.area(json);
 
-        street = wrap.append('input')
-            .property('type', 'text')
-            .attr('placeholder', field.t('placeholders.street'))
-            .attr('class', 'addr-street')
-            .on('blur', change)
-            .on('change', change)
-            .call(d3.combobox().data(getStreets()));
+            // Heuristic for detecting counterclockwise winding order. Assumes
+            // that OpenStreetMap polygons are not hemisphere-spanning.
+            if (area > 2 * Math.PI) {
+                json.coordinates[0] = json.coordinates[0].reverse();
+                area = d3.geo.area(json);
+            }
 
-        city = wrap.append('input')
-            .property('type', 'text')
-            .attr('placeholder', field.t('placeholders.city'))
-            .attr('class', 'addr-city')
-            .on('blur', change)
-            .on('change', change)
-            .call(close());
+            return isNaN(area) ? 0 : area;
+        });
     }
-
-    function change() {
-        event.change({
-            'addr:housename': housename.property('value'),
-            'addr:housenumber': housenumber.property('value'),
-            'addr:street': street.property('value'),
-            'addr:city': city.property('value')
+});
+iD.Background = function(context) {
+    var dispatch = d3.dispatch('change'),
+        baseLayer = iD.TileLayer()
+            .projection(context.projection),
+        gpxLayer = iD.GpxLayer(context, dispatch)
+            .projection(context.projection),
+        mapillaryLayer = iD.MapillaryLayer(context),
+        overlayLayers = [];
+
+    var backgroundSources;
+
+    function findSource(id) {
+        return _.find(backgroundSources, function(d) {
+            return d.id && d.id === id;
         });
     }
 
-    address.entity = function(_) {
-        if (!arguments.length) return entity;
-        entity = _;
-        return address;
-    };
+    function updateImagery() {
+        var b = background.baseLayerSource(),
+            o = overlayLayers.map(function (d) { return d.source().id; }).join(','),
+            q = iD.util.stringQs(location.hash.substring(1));
 
-    address.tags = function(tags) {
-        housename.property('value', tags['addr:housename'] || '');
-        housenumber.property('value', tags['addr:housenumber'] || '');
-        street.property('value', tags['addr:street'] || '');
-        city.property('value', tags['addr:city'] || '');
-        return address;
-    };
+        var id = b.id;
+        if (id === 'custom') {
+            id = 'custom:' + b.template;
+        }
 
-    address.focus = function() {
-        housename.node().focus();
-    };
+        if (id) {
+            q.background = id;
+        } else {
+            delete q.background;
+        }
 
-    return d3.rebind(address, event, 'on');
-};
-iD.ui.preset.check = function(field) {
+        if (o) {
+            q.overlays = o;
+        } else {
+            delete q.overlays;
+        }
 
-    var event = d3.dispatch('change', 'close'),
-        values = ['', 'yes', 'no'],
-        value = '',
-        box,
-        text,
-        label;
+        location.replace('#' + iD.util.qsString(q, true));
 
-    var check = function(selection) {
+        var imageryUsed = [b.imageryUsed()];
 
-        selection.classed('checkselect', 'true');
+        overlayLayers.forEach(function (d) {
+            var source = d.source();
+            if (!source.isLocatorOverlay()) {
+                imageryUsed.push(source.imageryUsed());
+            }
+        });
 
-        label = selection.append('label')
-            .attr('class', 'preset-input-wrap');
+        if (background.showsGpxLayer()) {
+            imageryUsed.push('Local GPX');
+        }
 
-        box = label.append('input')
-            .property('indeterminate', true)
-            .attr('type', 'checkbox')
-            .attr('id', 'preset-input-' + field.id);
+        context.history().imageryUsed(imageryUsed);
+    }
 
-        text = label.append('span')
-            .text('unknown')
-            .attr('class', 'value');
+    function background(selection) {
+        var base = selection.selectAll('.background-layer')
+            .data([0]);
 
-        box.on('click', function() {
-            var t = {};
-            t[field.key] = values[(values.indexOf(value) + 1) % 3];
-            check.tags(t);
-            event.change(t);
-            d3.event.stopPropagation();
-        });
-    };
+        base.enter().insert('div', '.layer-data')
+            .attr('class', 'layer-layer background-layer');
 
-    check.tags = function(tags) {
-        value = tags[field.key] || '';
-        box.property('indeterminate', !value);
-        box.property('checked', value === 'yes');
-        text.text(value || 'unknown');
-        label.classed('set', !!value);
-    };
+        base.call(baseLayer);
 
-    check.focus = function() {
-        box.node().focus();
-    };
+        var overlays = selection.selectAll('.layer-overlay')
+            .data(overlayLayers, function(d) { return d.source().name(); });
 
-    return d3.rebind(check, event, 'on');
-};
-iD.ui.preset.combo = function(field) {
+        overlays.enter().insert('div', '.layer-data')
+            .attr('class', 'layer-layer layer-overlay');
 
-    var event = d3.dispatch('change', 'close'),
-        input;
+        overlays.each(function(layer) {
+            d3.select(this).call(layer);
+        });
 
-    function combo(selection) {
-        var combobox = d3.combobox();
+        overlays.exit()
+            .remove();
 
-        input = selection.append('input')
-            .attr('type', 'text')
-            .attr('id', 'preset-input-' + field.id)
-            .on('change', change)
-            .on('blur', change)
-            .call(combobox);
+        var gpx = selection.selectAll('.layer-gpx')
+            .data([0]);
 
-        if (field.options) {
-            options(field.options);
-        } else {
-            iD.taginfo().values({
-                key: field.key
-            }, function(err, data) {
-                if (!err) options(_.pluck(data, 'value'));
-            });
-        }
+        gpx.enter().insert('div')
+            .attr('class', 'layer-layer layer-gpx');
 
-        function options(opts) {
-            combobox.data(opts.map(function(d) {
-                var o = {};
-                o.title = o.value = d.replace('_', ' ');
-                return o;
-            }));
+        gpx.call(gpxLayer);
 
-            input.attr('placeholder', function() {
-                if (opts.length < 3) return '';
-                return opts.slice(0, 3).join(', ') + '...';
-            });
-        }
-    }
+        var mapillary = selection.selectAll('.layer-mapillary')
+            .data([0]);
 
+        mapillary.enter().insert('div')
+            .attr('class', 'layer-layer layer-mapillary');
 
-    function change() {
-        var t = {};
-        t[field.key] = input.property('value').replace(' ', '_');
-        event.change(t);
+        mapillary.call(mapillaryLayer);
     }
 
-    combo.tags = function(tags) {
-        input.property('value', tags[field.key] || '');
+    background.sources = function(extent) {
+        return backgroundSources.filter(function(source) {
+            return source.intersects(extent);
+        });
     };
 
-    combo.focus = function() {
-        input.node().focus();
-    };
+    background.dimensions = function(_) {
+        baseLayer.dimensions(_);
+        gpxLayer.dimensions(_);
+        mapillaryLayer.dimensions(_);
 
-    return d3.rebind(combo, event, 'on');
-};
-iD.ui.preset.defaultcheck = function(field) {
+        overlayLayers.forEach(function(layer) {
+            layer.dimensions(_);
+        });
+    };
 
-    var event = d3.dispatch('change', 'close'),
-        input;
+    background.baseLayerSource = function(d) {
+        if (!arguments.length) return baseLayer.source();
 
-    var check = function(selection) {
+        baseLayer.source(d);
+        dispatch.change();
+        updateImagery();
 
-        input = selection.append('input')
-            .attr('type', 'checkbox')
-            .attr('id', 'preset-input-' + field.id)
-            .on('change', function() {
-                var t = {};
-                t[field.key] = input.property('checked') ? field.value || 'yes' : undefined;
-                event.change(t);
-            });
+        return background;
     };
 
-    check.tags = function(tags) {
-        input.property('checked', !!tags[field.key] && tags[field.key] !== 'no');
+    background.bing = function() {
+        background.baseLayerSource(findSource('Bing'));
     };
 
-    check.focus = function() {
-        input.node().focus();
+    background.hasGpxLayer = function() {
+        return !_.isEmpty(gpxLayer.geojson());
     };
 
-    return d3.rebind(check, event, 'on');
-};
-iD.ui.preset.text =
-iD.ui.preset.number =
-iD.ui.preset.tel =
-iD.ui.preset.email =
-iD.ui.preset.url = function(field) {
-
-    var event = d3.dispatch('change', 'close'),
-        input;
+    background.showsGpxLayer = function() {
+        return background.hasGpxLayer() && gpxLayer.enable();
+    };
 
-    function i(selection) {
-        input = selection.append('input')
-            .attr('type', field.type)
-            .attr('id', 'preset-input-' + field.id)
-            .attr('placeholder', field.placeholder || '')
-            .on('blur', change)
-            .on('change', change)
-            .call(iD.behavior.accept().on('accept', event.close));
+    function toDom(x) {
+        return (new DOMParser()).parseFromString(x, 'text/xml');
+    }
 
-        function pm(elem, x) {
-            var num = elem.value ?
-                parseInt(elem.value, 10) : 0;
-            if (!isNaN(num)) elem.value = num + x;
-            change();
-        }
+    background.gpxLayerFiles = function(fileList) {
+        var f = fileList[0],
+            reader = new FileReader();
 
-        if (field.type == 'number') {
+        reader.onload = function(e) {
+            gpxLayer.geojson(toGeoJSON.gpx(toDom(e.target.result)));
+            iD.ui.MapInMap.gpxLayer.geojson(toGeoJSON.gpx(toDom(e.target.result)));
+            background.zoomToGpxLayer();
+            dispatch.change();
+        };
 
-            input.attr('type', 'text');
+        reader.readAsText(f);
+    };
 
-            var numbercontrols = selection.append('div')
-                .attr('class', 'spin-control');
+    background.zoomToGpxLayer = function() {
+        if (background.hasGpxLayer()) {
+            var map = context.map(),
+                viewport = map.trimmedExtent().polygon(),
+                coords = _.reduce(gpxLayer.geojson().features, function(coords, feature) {
+                    var c = feature.geometry.coordinates;
+                    return _.union(coords, feature.geometry.type === 'Point' ? [c] : c);
+                }, []);
 
-            numbercontrols
-                .append('button')
-                .attr('class', 'increment')
-                .on('click', function() {
-                    pm(input.node(), 1);
-                });
-            numbercontrols
-                .append('button')
-                .attr('class', 'decrement')
-                .on('click', function() {
-                    pm(input.node(), -1);
-                });
+            if (!iD.geo.polygonIntersectsPolygon(viewport, coords, true)) {
+                var extent = iD.geo.Extent(d3.geo.bounds(gpxLayer.geojson()));
+                map.centerZoom(extent.center(), map.trimmedExtentZoom(extent));
+            }
         }
-    }
+    };
 
-    function change() {
-        var t = {};
-        t[field.key] = input.property('value');
-        event.change(t);
-    }
+    background.toggleGpxLayer = function() {
+        gpxLayer.enable(!gpxLayer.enable());
+        iD.ui.MapInMap.gpxLayer.enable(!iD.ui.MapInMap.gpxLayer.enable());
+        dispatch.change();
+    };
 
-    i.tags = function(tags) {
-        input.property('value', tags[field.key] || '');
+    background.showsMapillaryLayer = function() {
+        return mapillaryLayer.enable();
     };
 
-    i.focus = function() {
-        input.node().focus();
+    background.toggleMapillaryLayer = function() {
+        mapillaryLayer.enable(!mapillaryLayer.enable());
+        dispatch.change();
     };
 
-    return d3.rebind(i, event, 'on');
-};
-iD.ui.preset.localized = function(field, context) {
+    background.showsLayer = function(d) {
+        return d === baseLayer.source() ||
+            (d.id === 'custom' && baseLayer.source().id === 'custom') ||
+            overlayLayers.some(function(l) { return l.source() === d; });
+    };
 
-    var event = d3.dispatch('change', 'close'),
-        wikipedia = iD.wikipedia(),
-        input, localizedInputs, wikiTitles;
+    background.overlayLayerSources = function() {
+        return overlayLayers.map(function (l) { return l.source(); });
+    };
 
-    function i(selection) {
+    background.toggleOverlayLayer = function(d) {
+        var layer;
 
-        input = selection.append('input')
-            .attr('type', 'text')
-            .attr('id', 'preset-input-' + field.id)
-            .attr('class', 'localized-main')
-            .attr('placeholder', field.placeholder || '')
-            .on('blur', change)
-            .on('change', change)
-            .call(iD.behavior.accept().on('accept', event.close));
+        for (var i = 0; i < overlayLayers.length; i++) {
+            layer = overlayLayers[i];
+            if (layer.source() === d) {
+                overlayLayers.splice(i, 1);
+                dispatch.change();
+                updateImagery();
+                return;
+            }
+        }
 
-        selection.append('button')
-            .attr('class', 'localized-add')
-            .on('click', addBlank)
-            .append('span')
-            .attr('class', 'icon');
+        layer = iD.TileLayer()
+            .source(d)
+            .projection(context.projection)
+            .dimensions(baseLayer.dimensions());
 
-        localizedInputs = selection.append('div')
-            .attr('class', 'localized-wrap');
+        overlayLayers.push(layer);
+        dispatch.change();
+        updateImagery();
+    };
 
-    }
+    background.nudge = function(d, zoom) {
+        baseLayer.source().nudge(d, zoom);
+        dispatch.change();
+        return background;
+    };
 
-    function addBlank() {
-        var data = localizedInputs.selectAll('div.entry').data();
-        data.push({ lang: '', value: '' });
-        localizedInputs.call(render, data);
-    }
+    background.offset = function(d) {
+        if (!arguments.length) return baseLayer.source().offset();
+        baseLayer.source().offset(d);
+        dispatch.change();
+        return background;
+    };
 
-    function change() {
-        var t = {};
-        t[field.key] = d3.select(this).property('value'),
-        event.change(t);
-    }
+    background.load = function(imagery) {
+        function parseMap(qmap) {
+            if (!qmap) return false;
+            var args = qmap.split('/').map(Number);
+            if (args.length < 3 || args.some(isNaN)) return false;
+            return iD.geo.Extent([args[1], args[2]]);
+        }
 
-    function key(lang) { return field.key + ':' + lang; }
+        var q = iD.util.stringQs(location.hash.substring(1)),
+            chosen = q.background || q.layer,
+            extent = parseMap(q.map),
+            best;
 
-    function changeLang(d) {
-        var value = d3.select(this).property('value'),
-            t = {},
-            language = _.find(iD.data.wikipedia, function(d) {
-                return d[0].toLowerCase() === value.toLowerCase() ||
-                    d[1].toLowerCase() === value.toLowerCase();
-            });
+        backgroundSources = imagery.map(function(source) {
+            if (source.type === 'bing') {
+                return iD.BackgroundSource.Bing(source, dispatch);
+            } else {
+                return iD.BackgroundSource(source);
+            }
+        });
 
-        if (language) value = language[2];
+        backgroundSources.unshift(iD.BackgroundSource.None());
 
-        t[key(d.lang)] = '';
+        if (!chosen && extent) {
+            best = this.sources(extent).find(function(s) { return s.best(); });
+        }
 
-        if (d.value) {
-            t[key(value)] = d.value;
-        } else if (wikiTitles && wikiTitles[d.lang]) {
-            t[key(value)] = wikiTitles[d.lang];
+        if (chosen && chosen.indexOf('custom:') === 0) {
+            background.baseLayerSource(iD.BackgroundSource.Custom(chosen.replace(/^custom:/, '')));
+        } else {
+            background.baseLayerSource(findSource(chosen) || best || findSource('Bing') || backgroundSources[1]);
         }
 
-        event.change(t);
+        var locator = _.find(backgroundSources, function(d) {
+            return d.overlay && d.default;
+        });
 
-        d.lang = value;
-    }
+        if (locator) {
+            background.toggleOverlayLayer(locator);
+        }
 
-    function changeValue(d) {
-        var t = {};
-        t[key(d.lang)] = d3.select(this).property('value') || '';
-        event.change(t);
+        var overlays = (q.overlays || '').split(',');
+        overlays.forEach(function(overlay) {
+            overlay = findSource(overlay);
+            if (overlay) background.toggleOverlayLayer(overlay);
+        });
 
-    }
+        var gpx = q.gpx;
+        if (gpx) {
+            d3.text(gpx, function(err, gpxTxt) {
+                if (!err) {
+                    gpxLayer.geojson(toGeoJSON.gpx(toDom(gpxTxt)));
+                    iD.ui.MapInMap.gpxLayer.geojson(toGeoJSON.gpx(toDom(gpxTxt)));
+                    dispatch.change();
+                }
+            });
+        }
+    };
 
-    function fetcher(value, __, cb) {
-        var v = value.toLowerCase();
+    return d3.rebind(background, dispatch, 'on');
+};
+iD.BackgroundSource = function(data) {
+    var source = _.clone(data),
+        offset = [0, 0],
+        name = source.name,
+        best = !!source.best;
 
-        cb(iD.data.wikipedia.filter(function(d) {
-            return d[0].toLowerCase().indexOf(v) >= 0 ||
-            d[1].toLowerCase().indexOf(v) >= 0 ||
-            d[2].toLowerCase().indexOf(v) >= 0;
-        }).map(function(d) {
-            return { value: d[1] };
-        }));
-    }
+    source.scaleExtent = data.scaleExtent || [0, 20];
+    source.overzoom = data.overzoom !== false;
 
-    function render(selection, data) {
-        var wraps = selection.selectAll('div.entry').
-            data(data, function(d) { return d.lang; });
+    source.offset = function(_) {
+        if (!arguments.length) return offset;
+        offset = _;
+        return source;
+    };
 
-        wraps.enter().insert('div', ':first-child')
-            .attr('class', 'entry')
-            .each(function(d) {
-                var wrap = d3.select(this);
-                var langcombo = d3.combobox().fetcher(fetcher);
+    source.nudge = function(_, zoomlevel) {
+        offset[0] += _[0] / Math.pow(2, zoomlevel);
+        offset[1] += _[1] / Math.pow(2, zoomlevel);
+        return source;
+    };
 
-                wrap.append('input')
-                    .attr('class', 'localized-lang')
-                    .attr('type', 'text')
-                    .on('blur', changeLang)
-                    .on('change', changeLang)
-                    .call(langcombo);
+    source.name = function() {
+        return name;
+    };
 
-                wrap.append('input')
-                    .on('blur', changeValue)
-                    .on('change', changeValue)
-                    .attr('type', 'text')
-                    .attr('class', 'localized-value');
+    source.best = function() {
+        return best;
+    };
 
-                wrap.append('button')
-                    .attr('class', 'localized-remove')
-                    .on('click', function(d) {
-                        var t = {};
-                        t[key(d.lang)] = '';
-                        event.change(t);
-                        d3.select(this.parentNode).remove();
-                    })
-                    .append('span').attr('class', 'icon remove');
+    source.imageryUsed = function() {
+        return source.id || name;
+    };
 
+    source.url = function(coord) {
+        return data.template
+            .replace('{x}', coord[0])
+            .replace('{y}', coord[1])
+            // TMS-flipped y coordinate
+            .replace(/\{[t-]y\}/, Math.pow(2, coord[2]) - coord[1] - 1)
+            .replace(/\{z(oom)?\}/, coord[2])
+            .replace(/\{switch:([^}]+)\}/, function(s, r) {
+                var subdomains = r.split(',');
+                return subdomains[(coord[0] + coord[1]) % subdomains.length];
+            })
+            .replace('{u}', function() {
+                var u = '';
+                for (var zoom = coord[2]; zoom > 0; zoom--) {
+                    var b = 0;
+                    var mask = 1 << (zoom - 1);
+                    if ((coord[0] & mask) !== 0) b++;
+                    if ((coord[1] & mask) !== 0) b += 2;
+                    u += b.toString();
+                }
+                return u;
             });
+    };
 
-        wraps.exit().remove();
-
-        selection.selectAll('.entry').select('.localized-lang').property('value', function(d) {
-            var lang = _.find(iD.data.wikipedia, function(lang) {
-                return lang[2] === d.lang;
-            });
-            return lang ? lang[1] : d.lang;
+    source.intersects = function(extent) {
+        extent = extent.polygon();
+        return !data.polygon || data.polygon.some(function(polygon) {
+            return iD.geo.polygonIntersectsPolygon(polygon, extent, true);
         });
+    };
 
-        selection.selectAll('.entry').select('.localized-value').property('value', function(d) {
-            return d.value;
-        });
+    source.validZoom = function(z) {
+        return source.scaleExtent[0] <= z &&
+            (source.overzoom || source.scaleExtent[1] > z);
+    };
 
-
-    }
-
-    i.tags = function(tags) {
-
-        // Fetch translations from wikipedia
-        if (tags.wikipedia && !wikiTitles) {
-            wikiTitles = {};
-            var wm = tags.wikipedia.match(/([^:]+):(.+)/);
-            if (wm && wm[0] && wm[1]) {
-                wikipedia.translations(wm[1], wm[2], function(d) {
-                    wikiTitles = d;
-                });
-            }
-        }
-
-        input.property('value', tags[field.key] || '');
-
-        var postfixed = [];
-        for (var i in tags) {
-            var m = i.match(new RegExp(field.key + ':([a-z]+)'));
-            if (m && m[1]) {
-                postfixed.push({ lang: m[1], value: tags[i]});
-            }
-        }
-
-        localizedInputs.call(render, postfixed.reverse());
+    source.isLocatorOverlay = function() {
+        return name === 'Locator Overlay';
     };
 
-    i.focus = function() {
-        title.node().focus();
-    };
+    source.copyrightNotices = function() {};
 
-    return d3.rebind(i, event, 'on');
+    return source;
 };
-iD.ui.preset.maxspeed = function(field, context) {
-
-    var event = d3.dispatch('change', 'close'),
-        entity,
-        imperial,
-        input;
-
-    var metricValues = [20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
-        imperialValues = [20, 25, 30, 40, 45, 50, 55, 65, 70];
 
-    function maxspeed(selection) {
-        var combobox = d3.combobox();
-
-        input = selection.append('input')
-            .attr('type', 'text')
-            .attr('id', 'preset-input-' + field.id)
-            .on('change', change)
-            .on('blur', change)
-            .call(combobox);
-
-        var childNodes = context.graph().childNodes(context.entity(entity.id)),
-            loc = childNodes[~~(childNodes.length/2)].loc;
+iD.BackgroundSource.Bing = function(data, dispatch) {
+    // http://msdn.microsoft.com/en-us/library/ff701716.aspx
+    // http://msdn.microsoft.com/en-us/library/ff701701.aspx
 
-        imperial = _.any(iD.data.imperial.features, function(f) {
-            return _.any(f.geometry.coordinates, function(d) {
-                return iD.geo.pointInPolygon(loc, d[0]);
-            });
-        });
+    data.template = 'https://ecn.t{switch:0,1,2,3}.tiles.virtualearth.net/tiles/a{u}.jpeg?g=587&mkt=en-gb&n=z';
 
-        selection.append('span')
-            .attr('class', 'maxspeed-unit')
-            .text(imperial ? 'mph' : 'km/h');
+    var bing = iD.BackgroundSource(data),
+        key = 'Arzdiw4nlOJzRwOz__qailc8NiR31Tt51dN2D7cm57NrnceZnCpgOkmJhNpGoppU', // Same as P2 and JOSM
+        url = 'https://dev.virtualearth.net/REST/v1/Imagery/Metadata/Aerial?include=ImageryProviders&key=' +
+            key + '&jsonp={callback}',
+        providers = [];
 
-        combobox.data((imperial ? imperialValues : metricValues).map(function(d) {
+    d3.jsonp(url, function(json) {
+        providers = json.resourceSets[0].resources[0].imageryProviders.map(function(provider) {
             return {
-                value: d.toString(),
-                title: d.toString()
+                attribution: provider.attribution,
+                areas: provider.coverageAreas.map(function(area) {
+                    return {
+                        zoom: [area.zoomMin, area.zoomMax],
+                        extent: iD.geo.Extent([area.bbox[1], area.bbox[0]], [area.bbox[3], area.bbox[2]])
+                    };
+                })
             };
-        }));
-    }
-
-
-    function change() {
-        var value = input.property('value');
-        var t = {};
-        if (value) {
-            if (isNaN(value) || !imperial) {
-                t[field.key] = value;
-            } else {
-                t[field.key] = value + ' mph';
-            }
-        } else {
-            t[field.key] = '';
-        }
-        event.change(t);
-    }
-
-    maxspeed.tags = function(tags) {
-        var value = tags[field.key];
-        if (value && isNaN(value) && value.indexOf('mph') >= 0) value = parseInt(value, 10);
-        input.property('value', value || '');
-    };
+        });
+        dispatch.change();
+    });
 
-    maxspeed.focus = function() {
-        input.node().focus();
+    bing.copyrightNotices = function(zoom, extent) {
+        zoom = Math.min(zoom, 21);
+        return providers.filter(function(provider) {
+            return _.any(provider.areas, function(area) {
+                return extent.intersects(area.extent) &&
+                    area.zoom[0] <= zoom &&
+                    area.zoom[1] >= zoom;
+            });
+        }).map(function(provider) {
+            return provider.attribution;
+        }).join(', ');
     };
 
-    maxspeed.entity = function(_) {
-        entity = _;
-    };
+    bing.logo = 'bing_maps.png';
+    bing.terms_url = 'http://opengeodata.org/microsoft-imagery-details';
 
-    return d3.rebind(maxspeed, event, 'on');
+    return bing;
 };
-iD.ui.preset.radio = function(field) {
-
-    var event = d3.dispatch('change', 'close'),
-        buttons;
-
-    function radio(selection) {
-        selection.classed('preset-radio', true);
-
-        var buttonwrap = selection.append('div')
-            .attr('class', 'preset-input-wrap toggle-list radio-wrap');
-
-        buttons = buttonwrap.selectAll('button')
-            .data(field.options || field.keys)
-            .enter()
-            .append('button')
-            .text(function(d) { return field.t('options.' + d, { 'default': d }); })
-            .on('click', function(d) {
-                buttons.classed('active', function(e) { return d === e; });
-                change();
-            });
-
-        buttonwrap.append('button')
-            .attr('class','remove')
-            .on('click', function() {
-                buttons.classed('active', false);
-                change();
-            })
-            .text(t('inspector.remove'))
-            .append('span')
-            .attr('class', 'icon remove');
-    }
 
-    function change() {
-        var t = {};
-        if (field.key) t[field.key] = null;
-        buttons.each(function(d) {
-            var active = d3.select(this).classed('active');
-            if (field.key) {
-                if (active) t[field.key] = d;
-            } else {
-                t[d] = active ? 'yes' : '';
-            }
-        });
-        event.change(t);
-    }
+iD.BackgroundSource.None = function() {
+    var source = iD.BackgroundSource({id: 'none', template: ''});
 
-    radio.tags = function(tags) {
-        buttons.classed('active', function(d) {
-            if (field.key) {
-                return tags[field.key] === d;
-            } else {
-                return tags[d] && tags[d] !== 'no';
-            }
-        });
+    source.name = function() {
+        return t('background.none');
     };
 
-    radio.focus = function() {
-        buttons.node().focus();
+    source.imageryUsed = function() {
+        return 'None';
     };
 
-    return d3.rebind(radio, event, 'on');
+    return source;
 };
-iD.ui.preset.textarea = function(field) {
 
-    var event = d3.dispatch('change', 'close'),
-        input;
+iD.BackgroundSource.Custom = function(template) {
+    var source = iD.BackgroundSource({id: 'custom', template: template});
 
-    function i(selection) {
-        input = selection.append('textarea')
-            .attr('id', 'preset-input-' + field.id)
-            .attr('placeholder', field.placeholder || '')
-            .attr('maxlength', 255)
-            .on('blur', change)
-            .on('change', change)
-            .call(iD.behavior.accept().on('accept', event.close));
-    }
+    source.name = function() {
+        return t('background.custom');
+    };
 
-    function change() {
-        var t = {};
-        t[field.key] = input.text();
-        event.change(t);
-    }
+    source.imageryUsed = function() {
+        return 'Custom (' + template + ')';
+    };
 
-    i.tags = function(tags) {
-        input.text(tags[field.key] || '');
+    return source;
+};
+iD.Features = function(context) {
+    var major_roads = {
+        'motorway': true,
+        'motorway_link': true,
+        'trunk': true,
+        'trunk_link': true,
+        'primary': true,
+        'primary_link': true,
+        'secondary': true,
+        'secondary_link': true,
+        'tertiary': true,
+        'tertiary_link': true,
+        'residential': true
     };
 
-    i.focus = function() {
-        input.node().focus();
+    var minor_roads = {
+        'service': true,
+        'living_street': true,
+        'road': true,
+        'unclassified': true,
+        'track': true
     };
 
-    return d3.rebind(i, event, 'on');
-};
-iD.ui.preset.wikipedia = function(field, context) {
+    var paths = {
+        'path': true,
+        'footway': true,
+        'cycleway': true,
+        'bridleway': true,
+        'steps': true,
+        'pedestrian': true,
+        'corridor': true
+    };
 
-    var event = d3.dispatch('change', 'close'),
-        wikipedia = iD.wikipedia(),
-        language = iD.data.wikipedia[0],
-        link, entity, lang, title;
+    var past_futures = {
+        'proposed': true,
+        'construction': true,
+        'abandoned': true,
+        'dismantled': true,
+        'disused': true,
+        'razed': true,
+        'demolished': true,
+        'obliterated': true
+    };
 
-    function i(selection) {
+    var dispatch = d3.dispatch('change', 'redraw'),
+        _cullFactor = 1,
+        _cache = {},
+        _features = {},
+        _stats = {},
+        _keys = [],
+        _hidden = [];
 
-        var langcombo = d3.combobox()
-            .fetcher(function(value, __, cb) {
-                var v = value.toLowerCase();
+    function update() {
+        _hidden = features.hidden();
+        dispatch.change();
+        dispatch.redraw();
+    }
+
+    function defineFeature(k, filter, max) {
+        _keys.push(k);
+        _features[k] = {
+            filter: filter,
+            enabled: true,   // whether the user wants it enabled..
+            count: 0,
+            currentMax: (max || Infinity),
+            defaultMax: (max || Infinity),
+            enable: function() { this.enabled = true; this.currentMax = this.defaultMax; },
+            disable: function() { this.enabled = false; this.currentMax = 0; },
+            hidden: function() { return !context.editable() || this.count > this.currentMax * _cullFactor; },
+            autoHidden: function() { return this.hidden() && this.currentMax > 0; }
+        };
+    }
 
-                cb(iD.data.wikipedia.filter(function(d) {
-                    return d[0].toLowerCase().indexOf(v) >= 0 ||
-                        d[1].toLowerCase().indexOf(v) >= 0 ||
-                        d[2].toLowerCase().indexOf(v) >= 0;
-                }).map(function(d) {
-                    return { value: d[1] };
-                }));
-            });
 
-        var titlecombo = d3.combobox()
-            .fetcher(function(value, __, cb) {
+    defineFeature('points', function isPoint(entity, resolver, geometry) {
+        return geometry === 'point';
+    }, 200);
 
-                if (!value) value = context.entity(entity.id).tags.name || '';
-                var searchfn = value.length > 7 ? wikipedia.search : wikipedia.suggestions;
+    defineFeature('major_roads', function isMajorRoad(entity) {
+        return major_roads[entity.tags.highway];
+    });
 
-                searchfn(language && language[2], value, function(query, data) {
-                    cb(data.map(function(d) {
-                        return { value: d };
-                    }));
-                });
-            });
+    defineFeature('minor_roads', function isMinorRoad(entity) {
+        return minor_roads[entity.tags.highway];
+    });
 
-        lang = selection.append('input')
-            .attr('type', 'text')
-            .attr('class', 'wiki-lang')
-            .on('blur', changeLang)
-            .on('change', changeLang)
-            .call(langcombo);
+    defineFeature('paths', function isPath(entity) {
+        return paths[entity.tags.highway];
+    });
 
-        title = selection.append('input')
-            .attr('type', 'text')
-            .attr('class', 'wiki-title')
-            .attr('id', 'preset-input-' + field.id)
-            .on('blur', change)
-            .on('change', change)
-            .call(titlecombo);
+    defineFeature('buildings', function isBuilding(entity) {
+        return (
+            !!entity.tags['building:part'] ||
+            (!!entity.tags.building && entity.tags.building !== 'no') ||
+            entity.tags.amenity === 'shelter' ||
+            entity.tags.parking === 'multi-storey' ||
+            entity.tags.parking === 'sheds' ||
+            entity.tags.parking === 'carports' ||
+            entity.tags.parking === 'garage_boxes'
+        );
+    }, 250);
 
-        link = selection.append('a')
-            .attr('class', 'wiki-link minor')
-            .attr('target', '_blank');
-        link.append('span')
-                .attr('class','icon out-link');
-    }
+    defineFeature('landuse', function isLanduse(entity, resolver, geometry) {
+        return geometry === 'area' &&
+            !_features.buildings.filter(entity) &&
+            !_features.water.filter(entity);
+    });
 
-    function changeLang() {
-        var value = lang.property('value').toLowerCase();
-        language = _.find(iD.data.wikipedia, function(d) {
-            return d[0].toLowerCase() === value ||
-                d[1].toLowerCase() === value ||
-                d[2].toLowerCase() === value;
-        }) || iD.data.wikipedia[0];
+    defineFeature('boundaries', function isBoundary(entity) {
+        return !!entity.tags.boundary;
+    });
 
-        if (value !== language[0]) {
-            lang.property('value', language[1]);
-        }
+    defineFeature('water', function isWater(entity) {
+        return (
+            !!entity.tags.waterway ||
+            entity.tags.natural === 'water' ||
+            entity.tags.natural === 'coastline' ||
+            entity.tags.natural === 'bay' ||
+            entity.tags.landuse === 'pond' ||
+            entity.tags.landuse === 'basin' ||
+            entity.tags.landuse === 'reservoir' ||
+            entity.tags.landuse === 'salt_pond'
+        );
+    });
 
-        change();
-    }
+    defineFeature('rail', function isRail(entity) {
+        return (
+            !!entity.tags.railway ||
+            entity.tags.landuse === 'railway'
+        ) && !(
+            major_roads[entity.tags.highway] ||
+            minor_roads[entity.tags.highway] ||
+            paths[entity.tags.highway]
+        );
+    });
 
-    function change() {
-        var t = {};
+    defineFeature('power', function isPower(entity) {
+        return !!entity.tags.power;
+    });
 
-        var value = title.property('value');
+    // contains a past/future tag, but not in active use as a road/path/cycleway/etc..
+    defineFeature('past_future', function isPastFuture(entity) {
+        if (
+            major_roads[entity.tags.highway] ||
+            minor_roads[entity.tags.highway] ||
+            paths[entity.tags.highway]
+        ) { return false; }
 
-        var m = value.match('http://([a-z]+)\\.wikipedia.org/wiki/(.*)'),
-            newlanguage = m && m[1] && m[2] && _.find(iD.data.wikipedia, function(d) {
-                return m[1] === d[2];
-            });
+        var strings = Object.keys(entity.tags);
 
-        if (newlanguage) {
-            // Normalize title http://www.mediawiki.org/wiki/API:Query#Title_normalization
-            value = m[2].replace(/_/g, ' ');
-            value = value.slice(0, 1).toUpperCase() + value.slice(1);
-            language = newlanguage;
-            lang.property('value', language[0]);
+        for (var i = 0; i < strings.length; i++) {
+            var s = strings[i];
+            if (past_futures[s] || past_futures[entity.tags[s]]) { return true; }
         }
+        return false;
+    });
 
-        t[field.key] = value ? language[2] + ':' + value : '';
-        event.change(t);
-        link.attr('href', 'http://' + language[2] + '.wikipedia.org/wiki/' + (value || ''));
-    }
-
-    i.tags = function(tags) {
-        var m = tags[field.key] ? tags[field.key].match(/([^:]+):(.+)/) : null;
+    // Lines or areas that don't match another feature filter.
+    // IMPORTANT: The 'others' feature must be the last one defined,
+    //   so that code in getMatches can skip this test if `hasMatch = true`
+    defineFeature('others', function isOther(entity, resolver, geometry) {
+        return (geometry === 'line' || geometry === 'area');
+    });
 
-        var language = m && m[1] && m[2] && _.find(iD.data.wikipedia, function(d) {
-            return m[1] === d[2];
-        });
 
-        // value in correct format
-        if (language) {
-            lang.property('value', language[1]);
-            title.property('value', m[2]);
-            link.attr('href', 'http://' + m[1] + '.wikipedia.org/wiki/' + m[2]);
+    function features() {}
 
-        // unrecognized value format
-        } else {
-            lang.property('value', 'English');
-            title.property('value', tags[field.key] || '');
-            language = iD.data.wikipedia[0];
-            link.attr('href', 'http://en.wikipedia.org/wiki/Special:Search?search=' + tags[field.key]);
-        }
+    features.features = function() {
+        return _features;
     };
 
-    i.entity = function(_) {
-        entity = _;
+    features.keys = function() {
+        return _keys;
     };
 
-    i.focus = function() {
-        title.node().focus();
+    features.enabled = function(k) {
+        if (!arguments.length) {
+            return _.filter(_keys, function(k) { return _features[k].enabled; });
+        }
+        return _features[k] && _features[k].enabled;
     };
 
-    return d3.rebind(i, event, 'on');
-};
-iD.ui.intro.area = function(context, reveal) {
-
-    var event = d3.dispatch('done'),
-        timeout;
-
-    var step = {
-        name: 'Areas'
+    features.disabled = function(k) {
+        if (!arguments.length) {
+            return _.reject(_keys, function(k) { return _features[k].enabled; });
+        }
+        return _features[k] && !_features[k].enabled;
     };
 
-    step.enter = function() {
-
-        var playground = [-85.63552, 41.94159],
-            corner = [-85.63565411045074, 41.9417715536927];
-        context.map().centerZoom(playground, 19);
-        reveal('button.add-area', 'intro.areas.add');
+    features.hidden = function(k) {
+        if (!arguments.length) {
+            return _.filter(_keys, function(k) { return _features[k].hidden(); });
+        }
+        return _features[k] && _features[k].hidden();
+    };
 
-        context.on('enter.intro', addArea);
+    features.autoHidden = function(k) {
+        if (!arguments.length) {
+            return _.filter(_keys, function(k) { return _features[k].autoHidden(); });
+        }
+        return _features[k] && _features[k].autoHidden();
+    };
 
-        function addArea(mode) {
-            if (mode.id !== 'add-area') return;
-            context.on('enter.intro', drawArea);
+    features.enable = function(k) {
+        if (_features[k] && !_features[k].enabled) {
+            _features[k].enable();
+            update();
+        }
+    };
 
-            var padding = 120 * Math.pow(2, context.map().zoom() - 19);
-            var pointBox = iD.ui.intro.pad(context.projection(corner), padding);
-            reveal(pointBox, 'intro.areas.corner');
+    features.disable = function(k) {
+        if (_features[k] && _features[k].enabled) {
+            _features[k].disable();
+            update();
+        }
+    };
 
-            context.map().on('move.intro', function() {
-                padding = 120 * Math.pow(2, context.map().zoom() - 19);
-                pointBox = iD.ui.intro.pad(context.projection(corner), padding);
-                reveal(pointBox, 'intro.areas.corner', 0);
-            });
+    features.toggle = function(k) {
+        if (_features[k]) {
+            (function(f) { return f.enabled ? f.disable() : f.enable(); }(_features[k]));
+            update();
         }
+    };
 
-        function drawArea(mode) {
-            if (mode.id !== 'draw-area') return;
-            context.on('enter.intro', enterSelect);
+    features.resetStats = function() {
+        _.each(_features, function(f) { f.count = 0; });
+        dispatch.change();
+    };
 
-            var padding = 150 * Math.pow(2, context.map().zoom() - 19);
-            var pointBox = iD.ui.intro.pad(context.projection(playground), padding);
-            reveal(pointBox, 'intro.areas.place');
+    features.gatherStats = function(d, resolver, dimensions) {
+        var needsRedraw = false,
+            type = _.groupBy(d, function(ent) { return ent.type; }),
+            entities = [].concat(type.relation || [], type.way || [], type.node || []),
+            currHidden, geometry, matches;
 
-            context.map().on('move.intro', function() {
-                padding = 150 * Math.pow(2, context.map().zoom() - 19);
-                pointBox = iD.ui.intro.pad(context.projection(playground), padding);
-                reveal(pointBox, 'intro.areas.place', 0);
-            });
-        }
+        _.each(_features, function(f) { f.count = 0; });
 
-        function enterSelect(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
+        // adjust the threshold for point/building culling based on viewport size..
+        // a _cullFactor of 1 corresponds to a 1000x1000px viewport..
+        _cullFactor = dimensions[0] * dimensions[1] / 1000000;
 
-            timeout = setTimeout(function() {
-                reveal('.preset-grid-search-wrap input', 'intro.areas.search');
-                d3.select('.preset-grid-search-wrap input').on('keyup.intro', keySearch);
-            }, 500);
-        }
-        
-        function keySearch() {
-            var first = d3.select('.grid-button-wrap:first-child');
-            if (first.datum().id === 'leisure/playground') {
-                reveal(first.select('.grid-entry').node(), 'intro.areas.choose');
-                d3.selection.prototype.one.call(context.history(), 'change.intro', selectedPreset);
-                d3.select('.preset-grid-search-wrap input').on('keyup.intro', null);
+        for (var i = 0; i < entities.length; i++) {
+            geometry = entities[i].geometry(resolver);
+            if (!(geometry === 'vertex' || geometry === 'relation')) {
+                matches = Object.keys(features.getMatches(entities[i], resolver, geometry));
+                for (var j = 0; j < matches.length; j++) {
+                    _features[matches[j]].count++;
+                }
             }
         }
 
-        function selectedPreset() {
-            reveal('.pane', 'intro.areas.describe');
-            context.on('exit.intro', event.done);
+        currHidden = features.hidden();
+        if (currHidden !== _hidden) {
+            _hidden = currHidden;
+            needsRedraw = true;
+            dispatch.change();
         }
 
-
+        return needsRedraw;
     };
 
-    step.exit = function() {
-        window.clearTimeout(timeout);
-        context.on('enter.intro', null);
-        context.on('exit.intro', null);
-        context.history().on('change.intro', null);
-        context.map().on('move.intro', null);
-        d3.select('.preset-grid-search-wrap input').on('keyup.intro', null);
+    features.stats = function() {
+        _.each(_keys, function(k) { _stats[k] = _features[k].count; });
+        return _stats;
     };
 
-    return d3.rebind(step, event, 'on');
-};
-iD.ui.intro.line = function(context, reveal) {
+    features.clear = function(d) {
+        for (var i = 0; i < d.length; i++) {
+            features.clearEntity(d[i]);
+        }
+    };
 
-    var event = d3.dispatch('done'),
-        timeouts = [];
+    features.clearEntity = function(entity) {
+        delete _cache[iD.Entity.key(entity)];
+    };
 
-    var step = {
-        name: 'Lines'
+    features.reset = function() {
+        _cache = {};
     };
 
-    function one(target, e, f) {
-        d3.selection.prototype.one.call(target, e, f);
-    }
+    features.getMatches = function(entity, resolver, geometry) {
+        var ent = iD.Entity.key(entity);
 
-    function timeout(f, t) {
-        timeouts.push(window.setTimeout(f, t));
-    }
+        if (!_cache[ent]) {
+            _cache[ent] = {};
+        }
+        if (!_cache[ent].matches) {
+            var matches = {},
+                hasMatch = false;
 
-    step.enter = function() {
+            if (!(geometry === 'vertex' || geometry === 'relation')) {
+                for (var i = 0; i < _keys.length; i++) {
 
-        var centroid = [-85.62830, 41.95699];
-        var midpoint = [-85.62975395449628, 41.95787501510204];
-        var start = [-85.6297754121684, 41.9583158176903];
-        var intersection = [-85.62974496187628, 41.95742515554585];
+                    if (_keys[i] === 'others') {
+                        if (hasMatch) continue;
 
-        context.map().centerZoom(start, 18);
-        reveal('button.add-line', 'intro.lines.add');
+                        // If the entity is a way that has not matched any other
+                        // feature type, see if it has a parent relation, and if so,
+                        // match whatever feature types the parent has matched.
+                        // (The way is a member of a multipolygon.)
+                        //
+                        // IMPORTANT:
+                        // For this to work, getMatches must be called on relations before ways.
+                        //
+                        if (entity.type === 'way') {
+                            var parents = features.getParents(entity, resolver, geometry);
+                            if (parents.length === 1) {
+                                var pkey = iD.Entity.key(parents[0]);
+                                if (_cache[pkey] && _cache[pkey].matches) {
+                                    matches = _.clone(_cache[pkey].matches);
+                                    continue;
+                                }
+                            }
+                        }
+                    }
 
-        context.on('enter.intro', addLine);
+                    if (_features[_keys[i]].filter(entity, resolver, geometry)) {
+                        matches[_keys[i]] = hasMatch = true;
+                    }
+                }
+            }
+            _cache[ent].matches = matches;
+        }
+        return _cache[ent].matches;
+    };
 
-        function addLine(mode) {
-            if (mode.id !== 'add-line') return;
-            context.on('enter.intro', drawLine);
+    features.getParents = function(entity, resolver, geometry) {
+        var ent = iD.Entity.key(entity);
 
-            var padding = 150 * Math.pow(2, context.map().zoom() - 18);
-            var pointBox = iD.ui.intro.pad(context.projection(start), padding);
-            reveal(pointBox, 'intro.lines.start');
+        if (!_cache[ent]) {
+            _cache[ent] = {};
+        }
+        if (!_cache[ent].parents) {
+            var parents = [];
 
-            context.map().on('move.intro', function() {
-                padding = 150 * Math.pow(2, context.map().zoom() - 18);
-                pointBox = iD.ui.intro.pad(context.projection(start), padding);
-                reveal(pointBox, 'intro.lines.start', 0);
-            });
+            if (geometry !== 'point') {
+                if (geometry === 'vertex') {
+                    parents = resolver.parentWays(entity);
+                } else {   // 'line', 'area', 'relation'
+                    parents = resolver.parentRelations(entity);
+                }
+            }
+            _cache[ent].parents = parents;
         }
+        return _cache[ent].parents;
+    };
 
-        function drawLine(mode) {
-            if (mode.id !== 'draw-line') return;
-            context.history().on('change.intro', addIntersection);
-            context.on('enter.intro', retry);
+    features.isHiddenFeature = function(entity, resolver, geometry) {
+        if (!entity.version) return false;
 
-            var padding = 300 * Math.pow(2, context.map().zoom() - 19);
-            var pointBox = iD.ui.intro.pad(context.projection(midpoint), padding);
-            reveal(pointBox, 'intro.lines.intersect');
+        var matches = features.getMatches(entity, resolver, geometry);
 
-            context.map().on('move.intro', function() {
-                padding = 300 * Math.pow(2, context.map().zoom() - 19);
-                pointBox = iD.ui.intro.pad(context.projection(midpoint), padding);
-                reveal(pointBox, 'intro.lines.intersect', 0);
-            });
+        for (var i = 0; i < _hidden.length; i++) {
+            if (matches[_hidden[i]]) { return true; }
         }
+        return false;
+    };
 
-        // ended line before creating intersection
-        function retry(mode) {
-            if (mode.id !== 'select') return;
-            var pointBox = iD.ui.intro.pad(context.projection(intersection), 30);
-            reveal(pointBox, 'intro.lines.restart');
-            timeout(function() {
-                context.replace(iD.actions.DeleteMultiple(mode.selection()));
-                step.exit();
-                step.enter();
-            }, 3000);
-        }
+    features.isHiddenChild = function(entity, resolver, geometry) {
+        if (!entity.version || geometry === 'point') { return false; }
 
-        function addIntersection(changes) {
-            if ( _.any(changes.created(), function(d) {
-                return d.type === 'node' && context.graph().parentWays(d).length > 1;
-            })) {
-                context.history().on('change.intro', null);
-                context.on('enter.intro', enterSelect);
+        var parents = features.getParents(entity, resolver, geometry);
 
-                var padding = 900 * Math.pow(2, context.map().zoom() - 19);
-                var pointBox = iD.ui.intro.pad(context.projection(centroid), padding);
-                reveal(pointBox, 'intro.lines.finish');
+        if (!parents.length) { return false; }
 
-                context.map().on('move.intro', function() {
-                    padding = 900 * Math.pow(2, context.map().zoom() - 19);
-                    pointBox = iD.ui.intro.pad(context.projection(centroid), padding);
-                    reveal(pointBox, 'intro.lines.finish', 0);
-                });
+        for (var i = 0; i < parents.length; i++) {
+            if (!features.isHidden(parents[i], resolver, parents[i].geometry(resolver))) {
+                return false;
             }
         }
+        return true;
+    };
 
-        function enterSelect(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
-            d3.select('#curtain').style('pointer-events', 'all');
-
-            timeout(function() {
-                d3.select('#curtain').style('pointer-events', 'none');
-                var road = d3.select('.preset-grid .grid-entry').filter(function(d) {
-                    return d.id === 'Road';
-                });
-                reveal(road.node(), 'intro.lines.road');
-                road.one('click.intro', roadCategory);
-            }, 500);
-        }
-
-        function roadCategory() {
-            timeout(function() {
-                var grid = d3.select('.subgrid');
-                reveal(grid.node(),  'intro.lines.residential');
-                grid.selectAll('.grid-entry').filter(function(d) {
-                    return d.id === 'highway/residential';
-                }).one('click.intro', roadDetails);
-            }, 200);
-        }
+    features.hasHiddenConnections = function(entity, resolver) {
+        var childNodes, connections;
 
-        function roadDetails() {
-            reveal('.pane', 'intro.lines.describe');
-            context.on('exit.intro', event.done);
+        if (entity.type === 'midpoint') {
+            childNodes = [resolver.entity(entity.edge[0]), resolver.entity(entity.edge[1])];
+            connections = [];
+        } else {
+            childNodes = resolver.childNodes(entity);
+            connections = features.getParents(entity, resolver, entity.geometry(resolver));
         }
 
-    };
+        // gather ways connected to child nodes..
+        connections = _.reduce(childNodes, function(result, e) {
+            return resolver.isShared(e) ? _.union(result, resolver.parentWays(e)) : result;
+        }, connections);
 
-    step.exit = function() {
-        d3.select('#curtain').style('pointer-events', 'none');
-        timeouts.forEach(window.clearTimeout);
-        context.on('enter.intro', null);
-        context.on('exit.intro', null);
-        context.map().on('move.intro', null);
-        context.history().on('change.intro', null);
+        return connections.length ? _.any(connections, function(e) {
+            return features.isHidden(e, resolver, e.geometry(resolver));
+        }) : false;
     };
 
-    return d3.rebind(step, event, 'on');
-};
-iD.ui.intro.navigation = function(context, reveal) {
+    features.isHidden = function(entity, resolver, geometry) {
+        if (!entity.version) return false;
 
-    var event = d3.dispatch('done'),
-        timeouts = [];
+        if (geometry === 'vertex')
+            return features.isHiddenChild(entity, resolver, geometry);
+        if (geometry === 'point')
+            return features.isHiddenFeature(entity, resolver, geometry);
 
-    var step = {
-        name: 'Navigation'
+        return features.isHiddenFeature(entity, resolver, geometry) ||
+               features.isHiddenChild(entity, resolver, geometry);
     };
 
-    function set(f, t) {
-        timeouts.push(window.setTimeout(f, t));
-    }
+    features.filter = function(d, resolver) {
+        if (!_hidden.length)
+            return d;
 
-    /*
-     * Steps:
-     * Drag map
-     * Select poi
-     * Show editor header
-     * Show editor pane
-     * Select road
-     * Show header
-     */
+        var result = [];
+        for (var i = 0; i < d.length; i++) {
+            var entity = d[i];
+            if (!features.isHidden(entity, resolver, entity.geometry(resolver))) {
+                result.push(entity);
+            }
+        }
+        return result;
+    };
 
-    step.enter = function() {
+    return d3.rebind(features, dispatch, 'on');
+};
+iD.GpxLayer = function(context) {
+    var projection,
+        gj = {},
+        enable = true,
+        svg;
 
-        var map = { 
-            left: 30,
-            top: 60,
-            width: window.innerWidth - 400,
-            height: window.innerHeight - 200
-        };
+    function render(selection) {
+        svg = selection.selectAll('svg')
+            .data([render]);
 
-        context.map().centerZoom([-85.63591, 41.94285], 19);
+        svg.enter()
+            .append('svg');
 
-        reveal(map, 'intro.navigation.drag');
+        svg.style('display', enable ? 'block' : 'none');
 
-        context.map().on('move.intro', _.debounce(function() {
-            context.map().on('move.intro', null);
-            townhall();
-            context.on('enter.intro', inspectTownHall);
-        }, 400));
+        var paths = svg
+            .selectAll('path')
+            .data([gj]);
 
-        function townhall() {
-            var hall = [-85.63645945147184, 41.942986488012565];
-            var point = context.projection(hall);
+        paths
+            .enter()
+            .append('path')
+            .attr('class', 'gpx');
 
-            if (point[0] < 0 || point[0] > window.innerWidth - 200 ||
-                point[1] < 0 || point[1] > window.innerHeight) {
-                context.map().center(hall);
-                point = context.projection(hall);
-            }
-            var box = iD.ui.intro.pointBox(point);
-            reveal(box, 'intro.navigation.select');
+        var path = d3.geo.path()
+            .projection(projection);
 
-            context.map().on('move.intro', function() {
-                var box = iD.ui.intro.pointBox(context.projection(hall));
-                reveal(box, 'intro.navigation.select', 0);
-            });
-        }
+        paths
+            .attr('d', path);
 
-        function inspectTownHall(mode) {
-            if (mode.id !== 'select') return;
-            context.on('enter.intro', null);
-            context.map().on('move.intro', null);
-            set(function() {
-                reveal('.tag-pane', 'intro.navigation.pane');
-                context.on('exit.intro', event.done);
-            }, 700);
+        if (typeof gj.features !== 'undefined') {
+            svg
+                .selectAll('text')
+                .remove();
+
+            svg
+                .selectAll('path')
+                .data(gj.features)
+                .enter()
+                .append('text')
+                .attr('class', 'gpx')
+                .text(function(d) {
+                    return d.properties.desc || d.properties.name;
+                })
+                .attr('x', function(d) {
+                    var centroid = path.centroid(d);
+                    return centroid[0] + 5;
+                })
+                .attr('y', function(d) {
+                    var centroid = path.centroid(d);
+                    return centroid[1];
+                });
         }
+    }
 
+    render.projection = function(_) {
+        if (!arguments.length) return projection;
+        projection = _;
+        return render;
     };
 
-    step.exit = function() {
-        context.map().on('move.intro', null);
-        context.on('enter.intro', null);
-        context.on('exit.intro', null);
-        timeouts.forEach(window.clearTimeout);
+    render.enable = function(_) {
+        if (!arguments.length) return enable;
+        enable = _;
+        return render;
     };
 
-    return d3.rebind(step, event, 'on');
-};
-iD.ui.intro.point = function(context, reveal) {
-
-    var event = d3.dispatch('done'),
-        timeouts = [];
-
-    var step = {
-        name: 'Points'
+    render.geojson = function(_) {
+        if (!arguments.length) return gj;
+        gj = _;
+        return render;
     };
 
-    function setTimeout(f, t) {
-        timeouts.push(window.setTimeout(f, t));
-    }
-
-    step.enter = function() {
+    render.dimensions = function(_) {
+        if (!arguments.length) return svg.dimensions();
+        svg.dimensions(_);
+        return render;
+    };
 
-        context.map().centerZoom([-85.63279, 41.94394], 19);
-        reveal('button.add-point', 'intro.points.add');
+    render.id = 'layer-gpx';
 
-        var corner = [-85.632481,41.944094];
+    function over() {
+        d3.event.stopPropagation();
+        d3.event.preventDefault();
+        d3.event.dataTransfer.dropEffect = 'copy';
+    }
 
-        context.on('enter.intro', addPoint);
+    d3.select('body')
+        .attr('dropzone', 'copy')
+        .on('drop.localgpx', function() {
+            d3.event.stopPropagation();
+            d3.event.preventDefault();
+            if (!iD.detect().filedrop) return;
+            context.background().gpxLayerFiles(d3.event.dataTransfer.files);
+        })
+        .on('dragenter.localgpx', over)
+        .on('dragexit.localgpx', over)
+        .on('dragover.localgpx', over);
 
-        function addPoint(mode) {
-            if (mode.id !== 'add-point') return;
-            context.on('enter.intro', enterSelect);
+    return render;
+};
+iD.Map = function(context) {
+    var dimensions = [1, 1],
+        dispatch = d3.dispatch('move', 'drawn'),
+        projection = context.projection,
+        zoom = d3.behavior.zoom()
+            .translate(projection.translate())
+            .scale(projection.scale() * 2 * Math.PI)
+            .scaleExtent([1024, 256 * Math.pow(2, 24)])
+            .on('zoom', zoomPan),
+        dblclickEnabled = true,
+        transformStart,
+        transformed = false,
+        minzoom = 0,
+        points = iD.svg.Points(projection, context),
+        vertices = iD.svg.Vertices(projection, context),
+        lines = iD.svg.Lines(projection),
+        areas = iD.svg.Areas(projection),
+        midpoints = iD.svg.Midpoints(projection, context),
+        labels = iD.svg.Labels(projection, context),
+        supersurface, surface,
+        mouse,
+        mousemove;
 
-            var pointBox = iD.ui.intro.pad(context.projection(corner), 150);
-            reveal(pointBox, 'intro.points.place');
+    function map(selection) {
+        context.history()
+            .on('change.map', redraw);
+        context.background()
+            .on('change.map', redraw);
+        context.features()
+            .on('redraw.map', redraw);
 
-            context.map().on('move.intro', function() {
-                pointBox = iD.ui.intro.pad(context.projection(corner), 150);
-                reveal(pointBox, 'intro.points.place', 0);
-            });
+        selection
+            .on('dblclick.map', dblClick)
+            .call(zoom);
 
-        }
+        supersurface = selection.append('div')
+            .attr('id', 'supersurface');
 
-        function enterSelect(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
+        // Need a wrapper div because Opera can't cope with an absolutely positioned
+        // SVG element: http://bl.ocks.org/jfirebaugh/6fbfbd922552bf776c16
+        var dataLayer = supersurface.append('div')
+            .attr('class', 'layer-layer layer-data');
 
-            setTimeout(function() {
-                reveal('.preset-grid-search-wrap input', 'intro.points.search');
-                d3.select('.preset-grid-search-wrap input').on('keyup.intro', keySearch);
-            }, 500);
-        }
+        map.surface = surface = dataLayer.append('svg')
+            .on('mousedown.zoom', function() {
+                if (d3.event.button === 2) {
+                    d3.event.stopPropagation();
+                }
+            }, true)
+            .on('mouseup.zoom', function() {
+                if (resetTransform()) redraw();
+            })
+            .attr('id', 'surface')
+            .call(iD.svg.Surface(context));
 
-        function keySearch() {
-            var first = d3.select('.grid-button-wrap:first-child');
-            if (first.datum().id === 'amenity/cafe') {
-                reveal(first.select('.grid-entry').node(), 'intro.points.choose');
-                d3.selection.prototype.one.call(context.history(), 'change.intro', selectedPreset);
+        supersurface.call(context.background());
 
-                d3.select('.preset-grid-search-wrap input').on('keydown.intro', function() {
-                    // Prevent search from updating and changing the grid
-                    d3.event.stopPropagation();
-                    d3.event.preventDefault();
-                }, true).on('keyup.intro', null);
+        surface.on('mousemove.map', function() {
+            mousemove = d3.event;
+        });
+
+        surface.on('mouseover.vertices', function() {
+            if (map.editable() && !transformed) {
+                var hover = d3.event.target.__data__;
+                surface.call(vertices.drawHover, context.graph(), hover, map.extent(), map.zoom());
+                dispatch.drawn({full: false});
+            }
+        });
+
+        surface.on('mouseout.vertices', function() {
+            if (map.editable() && !transformed) {
+                var hover = d3.event.relatedTarget && d3.event.relatedTarget.__data__;
+                surface.call(vertices.drawHover, context.graph(), hover, map.extent(), map.zoom());
+                dispatch.drawn({full: false});
+            }
+        });
+
+        context.on('enter.map', function() {
+            if (map.editable() && !transformed) {
+                var all = context.intersects(map.extent()),
+                    filter = d3.functor(true),
+                    graph = context.graph();
+
+                all = context.features().filter(all, graph);
+                surface.call(vertices, graph, all, filter, map.extent(), map.zoom());
+                surface.call(midpoints, graph, all, filter, map.trimmedExtent());
+                dispatch.drawn({full: false});
+            }
+        });
+
+        map.dimensions(selection.dimensions());
+
+        labels.supersurface(supersurface);
+    }
+
+    function pxCenter() { return [dimensions[0] / 2, dimensions[1] / 2]; }
+
+    function drawVector(difference, extent) {
+        var graph = context.graph(),
+            features = context.features(),
+            all = context.intersects(map.extent()),
+            data, filter;
+
+        if (difference) {
+            var complete = difference.complete(map.extent());
+            data = _.compact(_.values(complete));
+            filter = function(d) { return d.id in complete; };
+            features.clear(data);
+
+        } else {
+            // force a full redraw if gatherStats detects that a feature
+            // should be auto-hidden (e.g. points or buildings)..
+            if (features.gatherStats(all, graph, dimensions)) {
+                extent = undefined;
+            }
+
+            if (extent) {
+                data = context.intersects(map.extent().intersection(extent));
+                var set = d3.set(_.pluck(data, 'id'));
+                filter = function(d) { return set.has(d.id); };
+
+            } else {
+                data = all;
+                filter = d3.functor(true);
             }
         }
 
-        function selectedPreset() {
-            setTimeout(function() {
-                reveal('.tag-wrap', 'intro.points.describe');
-                context.history().on('change.intro', closeEditor);
-                context.on('exit.intro', selectPoint);
-            }, 400);
+        data = features.filter(data, graph);
+
+        surface
+            .call(vertices, graph, data, filter, map.extent(), map.zoom())
+            .call(lines, graph, data, filter)
+            .call(areas, graph, data, filter)
+            .call(midpoints, graph, data, filter, map.trimmedExtent())
+            .call(labels, graph, data, filter, dimensions, !difference && !extent)
+            .call(points, data, filter);
+
+        dispatch.drawn({full: true});
+    }
+
+    function editOff() {
+        context.features().resetStats();
+        surface.selectAll('.layer *').remove();
+        dispatch.drawn({full: true});
+    }
+
+    function dblClick() {
+        if (!dblclickEnabled) {
+            d3.event.preventDefault();
+            d3.event.stopImmediatePropagation();
         }
+    }
 
-        function closeEditor() {
-            d3.select('.preset-grid-search-wrap input').on('keydown.intro', null);
-            context.history().on('change.intro', null);
-            reveal('.tag-pane', 'intro.points.close');
+    function zoomPan() {
+        if (Math.log(d3.event.scale) / Math.LN2 - 8 < minzoom) {
+            surface.interrupt();
+            iD.ui.flash(context.container())
+                .select('.content')
+                .text(t('cannot_zoom'));
+            setZoom(context.minEditableZoom(), true);
+            queueRedraw();
+            dispatch.move(map);
+            return;
         }
 
-        function selectPoint() {
-            context.on('exit.intro', null);
-            context.history().on('change.intro', null);
-            context.on('enter.intro', enterReselect);
+        projection
+            .translate(d3.event.translate)
+            .scale(d3.event.scale / (2 * Math.PI));
 
-            var pointBox = iD.ui.intro.pad(context.projection(corner), 150);
-            reveal(pointBox, 'intro.points.reselect');
+        var scale = d3.event.scale / transformStart[0],
+            tX = (d3.event.translate[0] / scale - transformStart[1][0]) * scale,
+            tY = (d3.event.translate[1] / scale - transformStart[1][1]) * scale;
 
-            context.map().on('move.intro', function() {
-                pointBox = iD.ui.intro.pad(context.projection(corner), 150);
-                reveal(pointBox, 'intro.points.reselect', 0);
-            });
-        }
+        transformed = true;
+        iD.util.setTransform(supersurface, tX, tY, scale);
+        queueRedraw();
 
-        function enterReselect(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
+        dispatch.move(map);
+    }
 
-            setTimeout(function() {
-                reveal('.tag-pane', 'intro.points.fixname');
-                context.on('exit.intro', deletePoint);
-            }, 500);
-        }
+    function resetTransform() {
+        if (!transformed) return false;
+        iD.util.setTransform(supersurface, 0, 0);
+        transformed = false;
+        return true;
+    }
 
-        function deletePoint() {
-            context.on('exit.intro', null);
-            context.on('enter.intro', enterDelete);
+    function redraw(difference, extent) {
+        if (!surface) return;
 
-            var pointBox = iD.ui.intro.pad(context.projection(corner), 150);
-            reveal(pointBox, 'intro.points.reselect_delete');
+        clearTimeout(timeoutId);
 
-            context.map().on('move.intro', function() {
-                pointBox = iD.ui.intro.pad(context.projection(corner), 150);
-                reveal(pointBox, 'intro.points.reselect_delete', 0);
-            });
+        // If we are in the middle of a zoom/pan, we can't do differenced redraws.
+        // It would result in artifacts where differenced entities are redrawn with
+        // one transform and unchanged entities with another.
+        if (resetTransform()) {
+            difference = extent = undefined;
         }
 
-        function enterDelete(mode) {
-            if (mode.id !== 'select') return;
-            context.map().on('move.intro', null);
-            context.on('enter.intro', null);
-            context.on('exit.intro', deletePoint);
-            context.map().on('move.intro', deletePoint);
-            context.history().on('change.intro', deleted);
-
-            setTimeout(function() {
-                var node = d3.select('.radial-menu-item-delete').node();
-                var pointBox = iD.ui.intro.pad(node.getBoundingClientRect(), 50);
-                reveal(pointBox, 'intro.points.delete');
-            }, 300);
+        var zoom = String(~~map.zoom());
+        if (surface.attr('data-zoom') !== zoom) {
+            surface.attr('data-zoom', zoom)
+                .classed('low-zoom', zoom <= 16);
         }
 
-        function deleted(changed) {
-            if (changed.deleted().length) event.done();
+        if (!difference) {
+            supersurface.call(context.background());
         }
 
-    };
+        if (map.editable()) {
+            context.loadTiles(projection, dimensions);
+            drawVector(difference, extent);
+        } else {
+            editOff();
+        }
 
-    step.exit = function() {
-        timeouts.forEach(window.clearTimeout);
-        context.on('exit.intro', null);
-        context.on('enter.intro', null);
-        context.map().on('move.intro', null);
-        context.history().on('change.intro', null);
-        d3.select('.preset-grid-search-wrap input').on('keyup.intro', null).on('keydown.intro', null);
-    };
+        transformStart = [
+            projection.scale() * 2 * Math.PI,
+            projection.translate().slice()];
 
-    return d3.rebind(step, event, 'on');
-};
-iD.ui.intro.startEditing = function(context, reveal) {
+        return map;
+    }
 
-    var event = d3.dispatch('done', 'startEditing'),
-        modal,
-        timeouts = [];
+    var timeoutId;
+    function queueRedraw() {
+        clearTimeout(timeoutId);
+        timeoutId = setTimeout(function() { redraw(); }, 300);
+    }
 
-    var step = {
-        name: 'Start Editing'
-    };
+    function pointLocation(p) {
+        var translate = projection.translate(),
+            scale = projection.scale() * 2 * Math.PI;
+        return [(p[0] - translate[0]) / scale, (p[1] - translate[1]) / scale];
+    }
 
-    function timeout(f, t) {
-        timeouts.push(window.setTimeout(f, t));
+    function locationPoint(l) {
+        var translate = projection.translate(),
+            scale = projection.scale() * 2 * Math.PI;
+        return [l[0] * scale + translate[0], l[1] * scale + translate[1]];
     }
 
-    step.enter = function() {
+    map.mouse = function() {
+        var e = mousemove || d3.event, s;
+        while ((s = e.sourceEvent)) e = s;
+        return mouse(e);
+    };
 
-        reveal('.map-control.help-control', 'intro.startediting.help');
+    map.mouseCoordinates = function() {
+        return projection.invert(map.mouse());
+    };
 
-        timeout(function() {
-            reveal('#bar button.save', 'intro.startediting.save');
-        }, 3500);
+    map.dblclickEnable = function(_) {
+        if (!arguments.length) return dblclickEnabled;
+        dblclickEnabled = _;
+        return map;
+    };
 
-        timeout(function() {
-            reveal('#surface');
-        }, 7000);
+    function interpolateZoom(_) {
+        var k = projection.scale(),
+            t = projection.translate();
 
-        timeout(function() {
-            modal = iD.ui.modal(context.container());
+        surface.node().__chart__ = {
+            x: t[0],
+            y: t[1],
+            k: k * 2 * Math.PI
+        };
 
-            modal.select('.modal')
-                .attr('class', 'modal-splash modal col6');
+        setZoom(_);
+        projection.scale(k).translate(t);  // undo setZoom projection changes
 
-            modal.selectAll('.close').remove();
+        zoom.event(surface.transition());
+    }
 
-            var startbutton = modal.select('.content')
-                .attr('class', 'fillL')
-                    .append('button')
-                        .attr('class', 'modal-section huge-modal-button')
-                        .on('click', function() {
-                                event.startEditing();
-                                modal.remove();
-                        });
+    function setZoom(_, force) {
+        if (_ === map.zoom() && !force)
+            return false;
+        var scale = 256 * Math.pow(2, _),
+            center = pxCenter(),
+            l = pointLocation(center);
+        scale = Math.max(1024, Math.min(256 * Math.pow(2, 24), scale));
+        projection.scale(scale / (2 * Math.PI));
+        zoom.scale(scale);
+        var t = projection.translate();
+        l = locationPoint(l);
+        t[0] += center[0] - l[0];
+        t[1] += center[1] - l[1];
+        projection.translate(t);
+        zoom.translate(projection.translate());
+        return true;
+    }
 
-                startbutton.append('div')
-                    .attr('class','illustration');
-                startbutton.append('h2')
-                    .text(t('intro.startediting.start'));
+    function setCenter(_) {
+        var c = map.center();
+        if (_[0] === c[0] && _[1] === c[1])
+            return false;
+        var t = projection.translate(),
+            pxC = pxCenter(),
+            ll = projection(_);
+        projection.translate([
+            t[0] - ll[0] + pxC[0],
+            t[1] - ll[1] + pxC[1]]);
+        zoom.translate(projection.translate());
+        return true;
+    }
 
-        }, 7500);
+    map.pan = function(d) {
+        var t = projection.translate();
+        t[0] += d[0];
+        t[1] += d[1];
+        projection.translate(t);
+        zoom.translate(projection.translate());
+        dispatch.move(map);
+        return redraw();
     };
 
-    step.exit = function() {
-        if (modal) modal.remove();
-        timeouts.forEach(window.clearTimeout);
+    map.dimensions = function(_) {
+        if (!arguments.length) return dimensions;
+        var center = map.center();
+        dimensions = _;
+        surface.dimensions(dimensions);
+        context.background().dimensions(dimensions);
+        projection.clipExtent([[0, 0], dimensions]);
+        mouse = iD.util.fastMouse(supersurface.node());
+        setCenter(center);
+        return redraw();
     };
 
-    return d3.rebind(step, event, 'on');
-};
-iD.presets = function(context) {
+    function zoomIn(integer) {
+      interpolateZoom(~~map.zoom() + integer);
+    }
 
-    // an iD.presets.Collection with methods for
-    // loading new data and returning defaults
+    function zoomOut(integer) {
+      interpolateZoom(~~map.zoom() - integer);
+    }
 
-    var all = iD.presets.Collection([]),
-        defaults = { area: all, line: all, point: all, vertex: all },
-        fields = {},
-        universal = [],
-        recent = iD.presets.Collection([]),
-        other,
-        other_area;
+    map.zoomIn = function() { zoomIn(1); };
+    map.zoomInFurther = function() { zoomIn(4); };
 
-    all.load = function(d) {
+    map.zoomOut = function() { zoomOut(1); };
+    map.zoomOutFurther = function() { zoomOut(4); };
 
-        if (d.fields) {
-            _.forEach(d.fields, function(d, id) {
-                fields[id] = iD.presets.Field(id, d);
-                if (d.universal) universal.push(fields[id]);
-            });
+    map.center = function(loc) {
+        if (!arguments.length) {
+            return projection.invert(pxCenter());
         }
 
-        if (d.presets) {
-            _.forEach(d.presets, function(d, id) {
-                all.collection.push(iD.presets.Preset(id, d, fields));
-            });
+        if (setCenter(loc)) {
+            dispatch.move(map);
         }
 
-        if (d.categories) {
-            _.forEach(d.categories, function(d, id) {
-                all.collection.push(iD.presets.Category(id, d, all));
-            });
+        return redraw();
+    };
+
+    map.zoom = function(z) {
+        if (!arguments.length) {
+            return Math.max(Math.log(projection.scale() * 2 * Math.PI) / Math.LN2 - 8, 0);
         }
 
-        if (d.defaults) {
-            var getItem = _.bind(all.item, all);
-            defaults = {
-                area: iD.presets.Collection(d.defaults.area.map(getItem)),
-                line: iD.presets.Collection(d.defaults.line.map(getItem)),
-                point: iD.presets.Collection(d.defaults.point.map(getItem)),
-                vertex: iD.presets.Collection(d.defaults.vertex.map(getItem))
-            };
+        if (z < minzoom) {
+            surface.interrupt();
+            iD.ui.flash(context.container())
+                .select('.content')
+                .text(t('cannot_zoom'));
+            z = context.minEditableZoom();
         }
 
-        other = all.item('other');
-        other_area = all.item('other_area');
+        if (setZoom(z)) {
+            dispatch.move(map);
+        }
 
-        return all;
+        return redraw();
     };
 
-    all.field = function(id) {
-        return fields[id];
+    map.zoomTo = function(entity, zoomLimits) {
+        var extent = entity.extent(context.graph());
+        if (!isFinite(extent.area())) return;
+
+        var zoom = map.trimmedExtentZoom(extent);
+        zoomLimits = zoomLimits || [context.minEditableZoom(), 20];
+        map.centerZoom(extent.center(), Math.min(Math.max(zoom, zoomLimits[0]), zoomLimits[1]));
     };
 
-    all.universal = function() {
-        return universal;
+    map.centerZoom = function(loc, z) {
+        var centered = setCenter(loc),
+            zoomed   = setZoom(z);
+
+        if (centered || zoomed) {
+            dispatch.move(map);
+        }
+
+        return redraw();
     };
 
-    all.defaults = function(entity, n) {
-        var rec = recent.matchGeometry(entity, context.graph()).collection.slice(0, 4),
-            def = _.uniq(rec.concat(defaults[entity.geometry(context.graph())].collection)).slice(0, n - 1),
-            geometry = entity.geometry(context.graph());
-        return iD.presets.Collection(_.unique(rec.concat(def).concat(geometry === 'area' ? other_area : other)));
+    map.centerEase = function(loc) {
+        var from = map.center().slice(),
+            t = 0,
+            stop;
+
+        surface.one('mousedown.ease', function() {
+            stop = true;
+        });
+
+        d3.timer(function() {
+            if (stop) return true;
+            map.center(iD.geo.interp(from, loc, (t += 1) / 10));
+            return t === 10;
+        }, 20);
+        return map;
     };
 
-    all.choose = function(preset) {
-        if (preset !== other && preset !== other_area) {
-            recent = iD.presets.Collection(_.unique([preset].concat(recent.collection)));
+    map.extent = function(_) {
+        if (!arguments.length) {
+            return new iD.geo.Extent(projection.invert([0, dimensions[1]]),
+                                 projection.invert([dimensions[0], 0]));
+        } else {
+            var extent = iD.geo.Extent(_);
+            map.centerZoom(extent.center(), map.extentZoom(extent));
         }
-        return all;
     };
 
-    return all;
-};
-iD.presets.Category = function(id, category, all) {
-    category = _.clone(category);
+    map.trimmedExtent = function(_) {
+        if (!arguments.length) {
+            var headerY = 60, footerY = 30, pad = 10;
+            return new iD.geo.Extent(projection.invert([pad, dimensions[1] - footerY - pad]),
+                    projection.invert([dimensions[0] - pad, headerY + pad]));
+        } else {
+            var extent = iD.geo.Extent(_);
+            map.centerZoom(extent.center(), map.trimmedExtentZoom(extent));
+        }
+    };
 
-    category.id = id;
+    function calcZoom(extent, dim) {
+        var tl = projection([extent[0][0], extent[1][1]]),
+            br = projection([extent[1][0], extent[0][1]]);
 
-    category.members = iD.presets.Collection(category.members.map(function(id) {
-        return all.item(id);
-    }));
+        // Calculate maximum zoom that fits extent
+        var hFactor = (br[0] - tl[0]) / dim[0],
+            vFactor = (br[1] - tl[1]) / dim[1],
+            hZoomDiff = Math.log(Math.abs(hFactor)) / Math.LN2,
+            vZoomDiff = Math.log(Math.abs(vFactor)) / Math.LN2,
+            newZoom = map.zoom() - Math.max(hZoomDiff, vZoomDiff);
+
+        return newZoom;
+    }
 
-    category.matchGeometry = function(entity, resolver) {
-        return category.geometry.indexOf(entity.geometry(resolver)) >= 0;
+    map.extentZoom = function(_) {
+        return calcZoom(iD.geo.Extent(_), dimensions);
     };
 
-    category.matchTags = function() { return false; };
+    map.trimmedExtentZoom = function(_) {
+        var trimY = 120, trimX = 40,
+            trimmed = [dimensions[0] - trimX, dimensions[1] - trimY];
+        return calcZoom(iD.geo.Extent(_), trimmed);
+    };
 
-    category.name = function() {
-        return t('presets.categories.' + id + '.name', {'default': id});
+    map.editable = function() {
+        return map.zoom() >= context.minEditableZoom();
     };
 
-    category.terms = function() {
-        return [];
+    map.minzoom = function(_) {
+        if (!arguments.length) return minzoom;
+        minzoom = _;
+        return map;
     };
 
-    return category;
+    return d3.rebind(map, dispatch, 'on');
 };
-iD.presets.Collection = function(collection) {
-
-    var presets = {
-
-        collection: collection,
+iD.MapillaryLayer = function (context) {
+    var enable = false,
+        currentImage,
+        svg, div, request;
 
-        item: function(id) {
-            return _.find(collection, function(d) {
-                return d.id === id;
+    function show(image) {
+        svg.selectAll('g')
+            .classed('selected', function(d) {
+                return currentImage && d.key === currentImage.key;
             });
-        },
 
-        match: function(entity, resolver) {
-            return presets.matchGeometry(entity, resolver).matchTags(entity);
-        },
+        div.classed('hidden', false)
+            .classed('temp', image !== currentImage);
 
-        matchGeometry: function(entity, resolver) {
-            return iD.presets.Collection(collection.filter(function(d) {
-                return d.matchGeometry(entity, resolver);
-            }));
-        },
+        div.selectAll('img')
+            .attr('src', 'https://d1cuyjsrcm0gby.cloudfront.net/' + image.key + '/thumb-320.jpg');
 
-        matchTags: function(entity) {
+        div.selectAll('a')
+            .attr('href', 'http://mapillary.com/map/im/' + image.key);
+    }
 
-            var best = -1,
-                match;
+    function hide() {
+        currentImage = undefined;
 
-            for (var i = 0; i < collection.length; i++) {
-                var score = collection[i].matchTags(entity);
-                if (score > best) {
-                    best = score;
-                    match = collection[i];
-                }
-            }
+        svg.selectAll('g')
+            .classed('selected', false);
 
-            return match;
-        },
+        div.classed('hidden', true);
+    }
 
-        search: function(value) {
-            if (!value) return this;
+    function transform(image) {
+        var t = 'translate(' + context.projection(image.loc) + ')';
+        if (image.ca) t += 'rotate(' + image.ca + ',0,0)';
+        return t;
+    }
 
-            value = value.toLowerCase();
+    function render(selection) {
+        svg = selection.selectAll('svg')
+            .data([0]);
 
-            var searchable = _.filter(collection, function(a) {
-                return a.searchable !== false;
+        svg.enter().append('svg')
+            .on('click', function() {
+                var image = d3.event.target.__data__;
+                if (currentImage === image) {
+                    hide();
+                } else {
+                    currentImage = image;
+                    show(image);
+                }
+            })
+            .on('mouseover', function() {
+                show(d3.event.target.__data__);
+            })
+            .on('mouseout', function() {
+                if (currentImage) {
+                    show(currentImage);
+                } else {
+                    hide();
+                }
             });
 
-            var leading_name = _.filter(searchable, function(a) {
-                    return leading(a.name().toLowerCase());
-                }).sort(function(a, b) {
-                    var i = a.name().toLowerCase().indexOf(value) - b.name().toLowerCase().indexOf(value);
-                    if (i === 0) return a.name().length - b.name().length;
-                    else return i;
-                }),
-                leading_terms = _.filter(searchable, function(a) {
-                    return _.any(a.terms() || [], leading);
-                });
+        svg.style('display', enable ? 'block' : 'none');
 
-            function leading(a) {
-                var index = a.indexOf(value);
-                return index === 0 || a[index - 1] === ' ';
-            }
+        div = context.container().selectAll('.mapillary-image')
+            .data([0]);
 
-            var levenstein_name = searchable.map(function(a) {
-                    return {
-                        preset: a,
-                        dist: iD.util.editDistance(value, a.name().toLowerCase())
-                    };
-                }).filter(function(a) {
-                    return a.dist + Math.min(value.length - a.preset.name().length, 0) < 3;
-                }).sort(function(a, b) {
-                    return a.dist - b.dist;
-                }).map(function(a) {
-                    return a.preset;
-                }),
-                leventstein_terms = _.filter(searchable, function(a) {
-                    return _.any(a.terms() || [], function(b) {
-                        return iD.util.editDistance(value, b) + Math.min(value.length - b.length, 0) < 3;
-                    });
-                });
+        var enter = div.enter().append('div')
+            .attr('class', 'mapillary-image');
 
-            var other = presets.item('other');
+        enter.append('button')
+            .on('click', hide)
+            .append('div')
+            .call(iD.svg.Icon('#icon-close'));
 
-            return iD.presets.Collection(
-                _.unique(
-                    leading_name.concat(
-                        leading_terms,
-                        levenstein_name,
-                        leventstein_terms,
-                        other)));
-        }
-    };
+        enter.append('img');
 
-    return presets;
-};
-iD.presets.Field = function(id, field) {
-    field = _.clone(field);
+        enter
+            .append('a')
+            .attr('class', 'link')
+            .attr('target', '_blank')
+            .call(iD.svg.Icon('#icon-out-link', 'inline'))
+            .append('span')
+            .text(t('mapillary.view_on_mapillary'));
 
-    field.id = id;
+        if (!enable) {
+            hide();
 
-    field.matchGeometry = function(geometry) {
-        return !field.geometry || field.geometry.indexOf(geometry) >= 0;
-    };
+            svg.selectAll('g')
+                .remove();
 
-    field.t = function(scope, options) {
-        return t('presets.fields.' + id + '.' + scope, options);
-    };
+            return;
+        }
 
-    field.label = function() {
-        return field.t('label', {'default': id});
-    };
+        // Update existing images while waiting for new ones to load.
+        svg.selectAll('g')
+            .attr('transform', transform);
 
-    return field;
-};
-iD.presets.Preset = function(id, preset, fields) {
-    preset = _.clone(preset);
+        var extent = context.map().extent();
 
-    preset.id = id;
-    preset.fields = (preset.fields || []).map(getFields);
+        if (request)
+            request.abort();
 
-    function getFields(f) {
-        return fields[f];
-    }
+        request = d3.json('https://a.mapillary.com/v2/search/s/geojson?client_id=NzNRM2otQkR2SHJzaXJmNmdQWVQ0dzoxNjQ3MDY4ZTUxY2QzNGI2&min_lat=' +
+            extent[0][1] + '&max_lat=' + extent[1][1] + '&min_lon=' +
+            extent[0][0] + '&max_lon=' + extent[1][0] + '&max_results=100&geojson=true',
+            function (error, data) {
+                if (error) return;
 
-    preset.matchGeometry = function(entity, resolver) {
-        return preset.geometry.indexOf(entity.geometry(resolver)) >= 0;
-    };
+                var images = [];
 
-    preset.matchTags = function(entity) {
-        var tags = preset.tags,
-            score = 0;
-        for (var t in tags) {
-            if (entity.tags[t] === tags[t]) {
-                if (t === 'area') {
-                    // score area tag lower to prevent other/area preset
-                    // from being chosen over something more specific
-                    score += 0.5;
-                } else {
-                    score += 1;
+                for (var i = 0; i < data.features.length; i++) {
+                    var sequence = data.features[i];
+                    for (var j = 0; j < sequence.geometry.coordinates.length; j++) {
+                        images.push({
+                            key: sequence.properties.keys[j],
+                            ca: sequence.properties.cas[j],
+                            loc: sequence.geometry.coordinates[j]
+                        });
+                        if (images.length >= 1000) break;
+                    }
                 }
-            } else if (tags[t] === '*' && t in entity.tags) {
-                score += 0.5;
-            } else {
-                return -1;
-            }
-        }
-        return score;
-    };
 
-    preset.t = function(scope, options) {
-        return t('presets.presets.' + id + '.' + scope, options);
-    };
+                var g = svg.selectAll('g')
+                    .data(images, function(d) { return d.key; });
 
-    preset.name = function() {
-        return preset.t('name', {'default': id});
-    };
+                var enter = g.enter().append('g')
+                    .attr('class', 'image');
 
-    preset.terms = function() {
-        return preset.t('terms', {'default': ''}).split(',');
-    };
+                enter.append('path')
+                    .attr('class', 'viewfield')
+                    .attr('transform', 'scale(1.5,1.5),translate(-8, -13)')
+                    .attr('d', 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z');
 
-    preset.removeTags = function(tags, geometry) {
-        tags = _.omit(tags, _.keys(preset.tags));
+                enter.append('circle')
+                    .attr('dx', '0')
+                    .attr('dy', '0')
+                    .attr('r', '6');
 
-        for (var i in preset.fields) {
-            var field = preset.fields[i];
-            if (field.matchGeometry(geometry) && field['default'] === tags[field.key]) {
-                delete tags[field.key];
-            }
-        }
-        return tags;
+                g.attr('transform', transform);
+
+                g.exit()
+                    .remove();
+            });
+    }
 
+    render.enable = function(_) {
+        if (!arguments.length) return enable;
+        enable = _;
+        return render;
     };
 
-    preset.applyTags = function(tags, geometry) {
-        for (var k in preset.tags) {
-            if (preset.tags[k] !== '*') tags[k] = preset.tags[k];
-        }
-
-        for (var f in preset.fields) {
-            f = preset.fields[f];
-            if (f.matchGeometry(geometry) && f.key && !tags[f.key] && f['default']) {
-                tags[f.key] = f['default'];
-            }
-        }
-        return tags;
+    render.dimensions = function(_) {
+        if (!arguments.length) return svg.dimensions();
+        svg.dimensions(_);
+        return render;
     };
 
-    return preset;
+    return render;
 };
-iD.validate = function(changes, graph) {
-    var warnings = [], change;
+iD.TileLayer = function() {
+    var tileSize = 256,
+        tile = d3.geo.tile(),
+        projection,
+        cache = {},
+        tileOrigin,
+        z,
+        transformProp = iD.util.prefixCSSProperty('Transform'),
+        source = d3.functor('');
 
-    // https://github.com/openstreetmap/josm/blob/mirror/src/org/
-    // openstreetmap/josm/data/validation/tests/UnclosedWays.java#L80
-    function tagSuggestsArea(change) {
-        if (_.isEmpty(change.tags)) return false;
-        var tags = change.tags;
-        var presence = ['landuse', 'amenities', 'tourism', 'shop'];
-        for (var i = 0; i < presence.length; i++) {
-            if (tags[presence[i]] !== undefined) {
-                return presence[i] + '=' + tags[presence[i]];
+    function tileSizeAtZoom(d, z) {
+        return (tileSize * Math.pow(2, z - d[2])) / tileSize;
+    }
+
+    function atZoom(t, distance) {
+        var power = Math.pow(2, distance);
+        return [
+            Math.floor(t[0] * power),
+            Math.floor(t[1] * power),
+            t[2] + distance];
+    }
+
+    function lookUp(d) {
+        for (var up = -1; up > -d[2]; up--) {
+            var tile = atZoom(d, up);
+            if (cache[source.url(tile)] !== false) {
+                return tile;
             }
         }
-        if (tags.building && tags.building === 'yes') return 'building=yes';
     }
 
-    if (changes.deleted.length > 100) {
-        warnings.push({
-            message: t('validations.many_deletions', { n: changes.deleted.length })
-        });
+    function uniqueBy(a, n) {
+        var o = [], seen = {};
+        for (var i = 0; i < a.length; i++) {
+            if (seen[a[i][n]] === undefined) {
+                o.push(a[i]);
+                seen[a[i][n]] = true;
+            }
+        }
+        return o;
+    }
+
+    function addSource(d) {
+        d.push(source.url(d));
+        return d;
     }
 
-    for (var i = 0; i < changes.created.length; i++) {
-        change = changes.created[i];
+    // Update tiles based on current state of `projection`.
+    function background(selection) {
+        tile.scale(projection.scale() * 2 * Math.PI)
+            .translate(projection.translate());
 
-        if (change.geometry(graph) === 'point' && _.isEmpty(change.tags)) {
-            warnings.push({
-                message: t('validations.untagged_point'),
-                entity: change
+        tileOrigin = [
+            projection.scale() * Math.PI - projection.translate()[0],
+            projection.scale() * Math.PI - projection.translate()[1]];
+
+        z = Math.max(Math.log(projection.scale() * 2 * Math.PI) / Math.log(2) - 8, 0);
+
+        render(selection);
+    }
+
+    // Derive the tiles onscreen, remove those offscreen and position them.
+    // Important that this part not depend on `projection` because it's
+    // rentered when tiles load/error (see #644).
+    function render(selection) {
+        var requests = [];
+
+        if (source.validZoom(z)) {
+            tile().forEach(function(d) {
+                addSource(d);
+                if (d[3] === '') return;
+                if (typeof d[3] !== 'string') return; // Workaround for chrome crash https://github.com/openstreetmap/iD/issues/2295
+                requests.push(d);
+                if (cache[d[3]] === false && lookUp(d)) {
+                    requests.push(addSource(lookUp(d)));
+                }
+            });
+
+            requests = uniqueBy(requests, 3).filter(function(r) {
+                // don't re-request tiles which have failed in the past
+                return cache[r[3]] !== false;
             });
         }
 
-        if (change.geometry(graph) === 'line' && _.isEmpty(change.tags)) {
-            warnings.push({ message: t('validations.untagged_line'), entity: change });
+        var pixelOffset = [
+            source.offset()[0] * Math.pow(2, z),
+            source.offset()[1] * Math.pow(2, z)
+        ];
+
+        function load(d) {
+            cache[d[3]] = true;
+            d3.select(this)
+                .on('error', null)
+                .on('load', null)
+                .classed('tile-loaded', true);
+            render(selection);
         }
 
-        var deprecatedTags = change.deprecatedTags();
-        if (!_.isEmpty(deprecatedTags)) {
-            warnings.push({
-                message: t('validations.deprecated_tags', {
-                    tags: iD.util.tagText({ tags: deprecatedTags })
-                }), entity: change });
+        function error(d) {
+            cache[d[3]] = false;
+            d3.select(this)
+                .on('error', null)
+                .on('load', null)
+                .remove();
+            render(selection);
         }
 
-        if (change.geometry(graph) === 'area' && _.isEmpty(change.tags)) {
-            warnings.push({ message: t('validations.untagged_area'), entity: change });
+        function imageTransform(d) {
+            var _ts = tileSize * Math.pow(2, z - d[2]);
+            var scale = tileSizeAtZoom(d, z);
+            return 'translate(' +
+                ((d[0] * _ts) - tileOrigin[0] + pixelOffset[0]) + 'px,' +
+                ((d[1] * _ts) - tileOrigin[1] + pixelOffset[1]) + 'px)' +
+                'scale(' + scale + ',' + scale + ')';
         }
 
-        if (change.geometry(graph) === 'line' && tagSuggestsArea(change)) {
-            warnings.push({
-                message: t('validations.tag_suggests_area', {tag: tagSuggestsArea(change)}),
-                entity: change
+        var image = selection
+            .selectAll('img')
+            .data(requests, function(d) { return d[3]; });
+
+        image.exit()
+            .style(transformProp, imageTransform)
+            .classed('tile-removing', true)
+            .each(function() {
+                var tile = d3.select(this);
+                window.setTimeout(function() {
+                    if (tile.classed('tile-removing')) {
+                        tile.remove();
+                    }
+                }, 300);
             });
-        }
+
+        image.enter().append('img')
+            .attr('class', 'tile')
+            .attr('src', function(d) { return d[3]; })
+            .on('error', error)
+            .on('load', load);
+
+        image
+            .style(transformProp, imageTransform)
+            .classed('tile-removing', false);
     }
 
-    return warnings.length ? [warnings] : [];
-};
-})();
-window.locale = { _current: 'en' };
+    background.projection = function(_) {
+        if (!arguments.length) return projection;
+        projection = _;
+        return background;
+    };
 
-locale.current = function(_) {
-    if (!arguments.length) return locale._current;
-    if (locale[_] !== undefined) locale._current = _;
-    else if (locale[_.split('-')[0]]) locale._current = _.split('-')[0];
-    return locale;
+    background.dimensions = function(_) {
+        if (!arguments.length) return tile.size();
+        tile.size(_);
+        return background;
+    };
+
+    background.source = function(_) {
+        if (!arguments.length) return source;
+        source = _;
+        cache = {};
+        tile.scaleExtent(source.scaleExtent);
+        return background;
+    };
+
+    return background;
 };
+iD.svg = {
+    PointTransform: function(projection) {
+        return function(entity) {
+            // http://jsperf.com/short-array-join
+            var pt = projection(entity.loc);
+            return 'translate(' + pt[0] + ',' + pt[1] + ')';
+        };
+    },
 
-function t(s, o, loc) {
-    loc = loc || locale._current;
+    Path: function(projection, graph, polygon) {
+        var cache = {},
+            clip = d3.geo.clipExtent().extent(projection.clipExtent()).stream,
+            project = projection.stream,
+            path = d3.geo.path()
+                .projection({stream: function(output) { return polygon ? project(output) : project(clip(output)); }});
 
-    var path = s.split(".").reverse(),
-        rep = locale[loc];
+        return function(entity) {
+            if (entity.id in cache) {
+                return cache[entity.id];
+            } else {
+                return cache[entity.id] = path(entity.asGeoJSON(graph));
+            }
+        };
+    },
 
-    while (rep !== undefined && path.length) rep = rep[path.pop()];
+    OneWaySegments: function(projection, graph, dt) {
+        return function(entity) {
+            var a,
+                b,
+                i = 0,
+                offset = dt,
+                segments = [],
+                clip = d3.geo.clipExtent().extent(projection.clipExtent()).stream,
+                coordinates = graph.childNodes(entity).map(function(n) {
+                    return n.loc;
+                });
 
-    if (rep !== undefined) {
-        if (o) for (var k in o) rep = rep.replace('{' + k + '}', o[k]);
-        return rep;
-    } else {
-        var missing = 'Missing translation: ' + s;
-        if (typeof console !== "undefined") console.error(missing);
-        if (loc !== 'en') return t(s, o, 'en');
-        if (o && 'default' in o) return o['default'];
-        return missing;
-    }
-}
-iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185964961":{"id":"n185964961","loc":[-85.6406588,41.942601],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964962":{"id":"n185964962","loc":[-85.6394548,41.94261],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185970607":{"id":"n185970607","loc":[-85.641094,41.94006],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970614":{"id":"n185970614","loc":[-85.641825,41.941316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970616":{"id":"n185970616","loc":[-85.641838,41.941556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185973650":{"id":"n185973650","loc":[-85.639918,41.940064],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973660":{"id":"n185973660","loc":[-85.640645,41.941339],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973659":{"id":"n185973659","loc":[-85.6406115,41.9400658],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185974479":{"id":"n185974479","loc":[-85.639402,41.941344],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185974481":{"id":"n185974481","loc":[-85.643071,41.941288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185976259":{"id":"n185976259","loc":[-85.642213,41.940043],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976261":{"id":"n185976261","loc":[-85.643056,41.94001],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185964959":{"id":"n185964959","loc":[-85.6431031,41.9425754],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964960":{"id":"n185964960","loc":[-85.6418749,41.9425864],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185981481":{"id":"n185981481","loc":[-85.6386827,41.9400828],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981482":{"id":"n185981482","loc":[-85.6393664,41.9400854],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n2138493844":{"id":"n2138493844","loc":[-85.6427969,41.940522],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493845":{"id":"n2138493845","loc":[-85.6425891,41.9405228],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493846":{"id":"n2138493846","loc":[-85.6425868,41.9402875],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493847":{"id":"n2138493847","loc":[-85.6427969,41.9402858],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493848":{"id":"n2138493848","loc":[-85.6425708,41.9405234],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493849":{"id":"n2138493849","loc":[-85.642568,41.9402855],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493850":{"id":"n2138493850","loc":[-85.6423157,41.9402886],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493851":{"id":"n2138493851","loc":[-85.6423212,41.9404362],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493852":{"id":"n2138493852","loc":[-85.6422923,41.9404578],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493853":{"id":"n2138493853","loc":[-85.6422868,41.9404834],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493854":{"id":"n2138493854","loc":[-85.6423226,41.9405091],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493855":{"id":"n2138493855","loc":[-85.6423847,41.9405111],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493856":{"id":"n2138493856","loc":[-85.6424081,41.9405265],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2140155811":{"id":"n2140155811","loc":[-85.6419547,41.9410956],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155814":{"id":"n2140155814","loc":[-85.6427577,41.9410884],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155816":{"id":"n2140155816","loc":[-85.6427545,41.9410052],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155818":{"id":"n2140155818","loc":[-85.6428057,41.9410028],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155821":{"id":"n2140155821","loc":[-85.6427993,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155823":{"id":"n2140155823","loc":[-85.6427385,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155825":{"id":"n2140155825","loc":[-85.6427417,41.9406435],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155827":{"id":"n2140155827","loc":[-85.6419515,41.9406482],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155828":{"id":"n2140155828","loc":[-85.6429368,41.9412407],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155829":{"id":"n2140155829","loc":[-85.6417756,41.9412526],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155830":{"id":"n2140155830","loc":[-85.641766,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155831":{"id":"n2140155831","loc":[-85.6419803,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155832":{"id":"n2140155832","loc":[-85.6419611,41.9401366],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155833":{"id":"n2140155833","loc":[-85.6429336,41.94012],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155834":{"id":"n2140155834","loc":[-85.6430697,41.9411732],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155835":{"id":"n2140155835","loc":[-85.6428411,41.9409974],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155837":{"id":"n2140155837","loc":[-85.6428388,41.9407211],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155839":{"id":"n2140155839","loc":[-85.6430624,41.9405521],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155840":{"id":"n2140155840","loc":[-85.6427323,41.9412396],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155842":{"id":"n2140155842","loc":[-85.6418147,41.9412457],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155844":{"id":"n2140155844","loc":[-85.641813,41.9411319],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155845":{"id":"n2140155845","loc":[-85.6418394,41.9411111],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155847":{"id":"n2140155847","loc":[-85.6418838,41.9410977],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155849":{"id":"n2140155849","loc":[-85.6427324,41.9410921],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155851":{"id":"n2140155851","loc":[-85.6427798,41.9412945],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155852":{"id":"n2140155852","loc":[-85.6427701,41.9411777],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155854":{"id":"n2140155854","loc":[-85.6427323,41.9411572],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155856":{"id":"n2140155856","loc":[-85.6418478,41.9411666],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2165942818":{"id":"n2165942818","loc":[-85.6437533,41.9415029],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942819":{"id":"n2165942819","loc":[-85.6437623,41.9421195],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2168510551":{"id":"n2168510551","loc":[-85.6423795,41.9422615],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510552":{"id":"n2168510552","loc":[-85.6423744,41.9419439],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510553":{"id":"n2168510553","loc":[-85.642518,41.9419427],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510554":{"id":"n2168510554","loc":[-85.6425186,41.9419801],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510555":{"id":"n2168510555","loc":[-85.6428314,41.9419773],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510556":{"id":"n2168510556","loc":[-85.6428368,41.9423116],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510557":{"id":"n2168510557","loc":[-85.6424947,41.9423146],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510558":{"id":"n2168510558","loc":[-85.6424938,41.9422605],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2189046007":{"id":"n2189046007","loc":[-85.6410866,41.9424327],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046009":{"id":"n2189046009","loc":[-85.6410805,41.9420061],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046011":{"id":"n2189046011","loc":[-85.6412443,41.9420048],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046012":{"id":"n2189046012","loc":[-85.6412505,41.9424314],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046014":{"id":"n2189046014","loc":[-85.6413311,41.942968],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046016":{"id":"n2189046016","loc":[-85.6413281,41.942713],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046018":{"id":"n2189046018","loc":[-85.641521,41.9427117],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046021":{"id":"n2189046021","loc":[-85.6415234,41.9429236],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046022":{"id":"n2189046022","loc":[-85.6415045,41.9429238],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046025":{"id":"n2189046025","loc":[-85.641505,41.9429668],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046053":{"id":"n2189046053","loc":[-85.6385988,41.942412],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046054":{"id":"n2189046054","loc":[-85.6385985,41.9423311],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046055":{"id":"n2189046055","loc":[-85.6387617,41.9423308],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046056":{"id":"n2189046056","loc":[-85.6387616,41.9423026],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046058":{"id":"n2189046058","loc":[-85.6388215,41.9423025],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046059":{"id":"n2189046059","loc":[-85.6388219,41.9424115],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046060":{"id":"n2189046060","loc":[-85.6391096,41.9424486],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046061":{"id":"n2189046061","loc":[-85.6391105,41.9423673],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046063":{"id":"n2189046063","loc":[-85.6392911,41.9423684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046065":{"id":"n2189046065","loc":[-85.6392903,41.9424497],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046067":{"id":"n2189046067","loc":[-85.6397927,41.9423876],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046069":{"id":"n2189046069","loc":[-85.6397897,41.9422981],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046070":{"id":"n2189046070","loc":[-85.6399702,41.9422947],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046072":{"id":"n2189046072","loc":[-85.6399732,41.9423843],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046074":{"id":"n2189046074","loc":[-85.6396331,41.9430227],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046075":{"id":"n2189046075","loc":[-85.6398673,41.9430189],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046077":{"id":"n2189046077","loc":[-85.6398656,41.9429637],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046079":{"id":"n2189046079","loc":[-85.6398885,41.9429633],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046082":{"id":"n2189046082","loc":[-85.6398832,41.942779],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046083":{"id":"n2189046083","loc":[-85.6398513,41.9427796],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046085":{"id":"n2189046085","loc":[-85.6398502,41.9427401],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046087":{"id":"n2189046087","loc":[-85.6397889,41.9427411],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046089":{"id":"n2189046089","loc":[-85.6397892,41.942753],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046090":{"id":"n2189046090","loc":[-85.6396983,41.9427544],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046092":{"id":"n2189046092","loc":[-85.6396993,41.9427882],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046094":{"id":"n2189046094","loc":[-85.6396746,41.9427886],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046096":{"id":"n2189046096","loc":[-85.6396758,41.9428296],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046097":{"id":"n2189046097","loc":[-85.6397007,41.9428292],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046099":{"id":"n2189046099","loc":[-85.6397018,41.9428686],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046103":{"id":"n2189046103","loc":[-85.6396289,41.9428697],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046112":{"id":"n2189046112","loc":[-85.6435683,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046113":{"id":"n2189046113","loc":[-85.643568,41.9427766],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046115":{"id":"n2189046115","loc":[-85.6434011,41.9427767],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046116":{"id":"n2189046116","loc":[-85.6434012,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046117":{"id":"n2189046117","loc":[-85.643448,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046118":{"id":"n2189046118","loc":[-85.6434481,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046119":{"id":"n2189046119","loc":[-85.6428363,41.9429809],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046120":{"id":"n2189046120","loc":[-85.6429171,41.9429791],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046121":{"id":"n2189046121","loc":[-85.642914,41.9429041],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046122":{"id":"n2189046122","loc":[-85.6429385,41.9429035],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046123":{"id":"n2189046123","loc":[-85.6429348,41.9428126],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046124":{"id":"n2189046124","loc":[-85.6427746,41.9428163],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046125":{"id":"n2189046125","loc":[-85.6427783,41.942906],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046126":{"id":"n2189046126","loc":[-85.6428332,41.9429047],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046127":{"id":"n2189046127","loc":[-85.6423018,41.9428859],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046128":{"id":"n2189046128","loc":[-85.6422987,41.9427208],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046130":{"id":"n2189046130","loc":[-85.6424218,41.9427195],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046131":{"id":"n2189046131","loc":[-85.6424246,41.9428684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046132":{"id":"n2189046132","loc":[-85.6423845,41.9428689],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046133":{"id":"n2189046133","loc":[-85.6423848,41.942885],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046134":{"id":"n2189046134","loc":[-85.641533,41.9429392],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046135":{"id":"n2189046135","loc":[-85.6416096,41.9428768],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046137":{"id":"n2189046137","loc":[-85.6416763,41.9429221],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046138":{"id":"n2189046138","loc":[-85.6415997,41.9429845],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046139":{"id":"n2189046139","loc":[-85.6420598,41.9428016],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046140":{"id":"n2189046140","loc":[-85.6420593,41.9427415],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046141":{"id":"n2189046141","loc":[-85.6421957,41.9427409],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046142":{"id":"n2189046142","loc":[-85.6421963,41.9428182],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046143":{"id":"n2189046143","loc":[-85.6421281,41.9428185],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046144":{"id":"n2189046144","loc":[-85.6421279,41.9428013],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046145":{"id":"n2189046145","loc":[-85.6409429,41.9429345],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046146":{"id":"n2189046146","loc":[-85.6410354,41.9429334],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046147":{"id":"n2189046147","loc":[-85.6410325,41.9427972],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046148":{"id":"n2189046148","loc":[-85.640997,41.9427976],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046149":{"id":"n2189046149","loc":[-85.6409963,41.9427643],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046150":{"id":"n2189046150","loc":[-85.6408605,41.9427659],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046152":{"id":"n2189046152","loc":[-85.6408623,41.9428482],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046153":{"id":"n2189046153","loc":[-85.640941,41.9428473],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189152992":{"id":"n2189152992","loc":[-85.6437661,41.9422257],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152993":{"id":"n2189152993","loc":[-85.643768,41.9424067],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152994":{"id":"n2189152994","loc":[-85.6432176,41.9417705],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152995":{"id":"n2189152995","loc":[-85.6432097,41.941327],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152996":{"id":"n2189152996","loc":[-85.6436493,41.9413226],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152997":{"id":"n2189152997","loc":[-85.6436563,41.9417164],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152998":{"id":"n2189152998","loc":[-85.6435796,41.9417171],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152999":{"id":"n2189152999","loc":[-85.6435805,41.9417669],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153000":{"id":"n2189153000","loc":[-85.6438202,41.9414953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153001":{"id":"n2189153001","loc":[-85.6438173,41.9413175],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153004":{"id":"n2189153004","loc":[-85.6432535,41.9418466],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153005":{"id":"n2189153005","loc":[-85.6433935,41.9418599],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153006":{"id":"n2189153006","loc":[-85.6434831,41.9418986],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153007":{"id":"n2189153007","loc":[-85.6435678,41.9419774],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153008":{"id":"n2189153008","loc":[-85.6435987,41.9420282],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153009":{"id":"n2189153009","loc":[-85.643438,41.9419573],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153010":{"id":"n2189153010","loc":[-85.6435284,41.9424676],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153011":{"id":"n2189153011","loc":[-85.6436207,41.9423631],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153012":{"id":"n2189153012","loc":[-85.6434957,41.9422973],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153013":{"id":"n2189153013","loc":[-85.6434457,41.9422458],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153014":{"id":"n2189153014","loc":[-85.6433976,41.9421772],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153015":{"id":"n2189153015","loc":[-85.6433861,41.9420785],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153016":{"id":"n2189153016","loc":[-85.6433765,41.9420313],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153017":{"id":"n2189153017","loc":[-85.6432207,41.9420284],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153018":{"id":"n2189153018","loc":[-85.6432245,41.9422759],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153019":{"id":"n2189153019","loc":[-85.6432649,41.9423474],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153020":{"id":"n2189153020","loc":[-85.6433226,41.9424132],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153021":{"id":"n2189153021","loc":[-85.6434111,41.9424704],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153022":{"id":"n2189153022","loc":[-85.6434591,41.9424347],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153025":{"id":"n2189153025","loc":[-85.6437669,41.9423073],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153026":{"id":"n2189153026","loc":[-85.6436611,41.942293],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153027":{"id":"n2189153027","loc":[-85.6435784,41.9422473],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153028":{"id":"n2189153028","loc":[-85.6435245,41.9421443],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153029":{"id":"n2189153029","loc":[-85.6435149,41.9420613],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153030":{"id":"n2189153030","loc":[-85.6433528,41.9419269],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153031":{"id":"n2189153031","loc":[-85.6432535,41.9419191],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153032":{"id":"n2189153032","loc":[-85.6430868,41.9419198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153033":{"id":"n2189153033","loc":[-85.6434894,41.9420033],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153034":{"id":"n2189153034","loc":[-85.6432974,41.9419225],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153035":{"id":"n2189153035","loc":[-85.6433055,41.9421632],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153036":{"id":"n2189153036","loc":[-85.6433538,41.9422849],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153037":{"id":"n2189153037","loc":[-85.6434718,41.9423887],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153038":{"id":"n2189153038","loc":[-85.6436134,41.9422667],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153040":{"id":"n2189153040","loc":[-85.6438759,41.9414017],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153041":{"id":"n2189153041","loc":[-85.6438181,41.9413687],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153042":{"id":"n2189153042","loc":[-85.6436821,41.9413044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153043":{"id":"n2189153043","loc":[-85.6435899,41.9412862],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153044":{"id":"n2189153044","loc":[-85.6433169,41.9417268],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153045":{"id":"n2189153045","loc":[-85.643301,41.9412859],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153046":{"id":"n2189153046","loc":[-85.6435531,41.9416981],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153047":{"id":"n2189153047","loc":[-85.6435427,41.9412863],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n185948706":{"id":"n185948706","loc":[-85.6369439,41.940122],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185949348":{"id":"n185949348","loc":[-85.640039,41.931135],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:09Z","tags":{}},"n185949870":{"id":"n185949870","loc":[-85.643195,41.949261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185954680":{"id":"n185954680","loc":[-85.6337802,41.9401143],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954784":{"id":"n185954784","loc":[-85.6487485,41.942527],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185958670":{"id":"n185958670","loc":[-85.637255,41.940104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958672":{"id":"n185958672","loc":[-85.636996,41.941355],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:31Z","tags":{}},"n185960207":{"id":"n185960207","loc":[-85.634992,41.940118],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:09Z","tags":{}},"n185963163":{"id":"n185963163","loc":[-85.638831,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963165":{"id":"n185963165","loc":[-85.640073,41.933968],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963167":{"id":"n185963167","loc":[-85.641225,41.933972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963168":{"id":"n185963168","loc":[-85.642386,41.933952],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185964695":{"id":"n185964695","loc":[-85.6443608,41.9425645],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964697":{"id":"n185964697","loc":[-85.644384,41.939941],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:31Z","tags":{}},"n185964963":{"id":"n185964963","loc":[-85.6382347,41.9426146],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964965":{"id":"n185964965","loc":[-85.637022,41.942622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:40Z","tags":{}},"n185964967":{"id":"n185964967","loc":[-85.6363706,41.9426606],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964968":{"id":"n185964968","loc":[-85.6357988,41.9427748],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964969":{"id":"n185964969","loc":[-85.6355409,41.9428465],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964970":{"id":"n185964970","loc":[-85.6348729,41.9430443],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185966958":{"id":"n185966958","loc":[-85.641946,41.946413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185966960":{"id":"n185966960","loc":[-85.643148,41.946389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185967774":{"id":"n185967774","loc":[-85.641889,41.943852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967775":{"id":"n185967775","loc":[-85.641922,41.945121],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967776":{"id":"n185967776","loc":[-85.641927,41.947544],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967777":{"id":"n185967777","loc":[-85.641982,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185969289":{"id":"n185969289","loc":[-85.63928,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:52Z","tags":{}},"n185969704":{"id":"n185969704","loc":[-85.6388186,41.9350099],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969706":{"id":"n185969706","loc":[-85.6400709,41.9349957],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969708":{"id":"n185969708","loc":[-85.6412214,41.9349827],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969710":{"id":"n185969710","loc":[-85.6423509,41.934974],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185970602":{"id":"n185970602","loc":[-85.641293,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970604":{"id":"n185970604","loc":[-85.641258,41.932705],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970605":{"id":"n185970605","loc":[-85.641148,41.936984],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970606":{"id":"n185970606","loc":[-85.641112,41.938169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970906":{"id":"n185970906","loc":[-85.639454,41.943871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:50Z","tags":{}},"n185970908":{"id":"n185970908","loc":[-85.6394635,41.9450504],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185970909":{"id":"n185970909","loc":[-85.6394914,41.9451911],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185971368":{"id":"n185971368","loc":[-85.635769,41.940122],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971978":{"id":"n185971978","loc":[-85.640003,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185971980":{"id":"n185971980","loc":[-85.642299,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185973633":{"id":"n185973633","loc":[-85.639023,41.92861],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973635":{"id":"n185973635","loc":[-85.639153,41.928969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973637":{"id":"n185973637","loc":[-85.639213,41.929088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973639":{"id":"n185973639","loc":[-85.63935,41.929396],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973641":{"id":"n185973641","loc":[-85.640143,41.931462],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973644":{"id":"n185973644","loc":[-85.64019,41.931788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973646":{"id":"n185973646","loc":[-85.6401365,41.9327199],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185973648":{"id":"n185973648","loc":[-85.639983,41.938174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185974477":{"id":"n185974477","loc":[-85.638206,41.941331],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185975928":{"id":"n185975928","loc":[-85.640683,41.94513],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975930":{"id":"n185975930","loc":[-85.643102,41.945103],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185976255":{"id":"n185976255","loc":[-85.642424,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976257":{"id":"n185976257","loc":[-85.64242,41.932699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976258":{"id":"n185976258","loc":[-85.6422621,41.9381489],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185977452":{"id":"n185977452","loc":[-85.6457497,41.9398834],"version":"3","changeset":"5841745","user":"themps","uid":"196173","visible":"true","timestamp":"2010-09-22T00:20:34Z","tags":{}},"n185978772":{"id":"n185978772","loc":[-85.646656,41.939869],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185981472":{"id":"n185981472","loc":[-85.6388962,41.9321266],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981474":{"id":"n185981474","loc":[-85.6388769,41.9327334],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981476":{"id":"n185981476","loc":[-85.638829,41.934116],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981478":{"id":"n185981478","loc":[-85.63876,41.937002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981480":{"id":"n185981480","loc":[-85.638682,41.93819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981999":{"id":"n185981999","loc":[-85.638194,41.9400866],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185982001":{"id":"n185982001","loc":[-85.646302,41.93988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:26Z","tags":{}},"n185982877":{"id":"n185982877","loc":[-85.640676,41.943867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185982879":{"id":"n185982879","loc":[-85.640734,41.945887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185985823":{"id":"n185985823","loc":[-85.643106,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985824":{"id":"n185985824","loc":[-85.643145,41.947641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985825":{"id":"n185985825","loc":[-85.643219,41.950829],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n1475301385":{"id":"n1475301385","loc":[-85.6360612,41.9427042],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n1475301397":{"id":"n1475301397","loc":[-85.6366651,41.9426328],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n2139795811":{"id":"n2139795811","loc":[-85.6469154,41.9425427],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795830":{"id":"n2139795830","loc":[-85.6443194,41.9399444],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795834":{"id":"n2139795834","loc":[-85.6453506,41.9399002],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795837":{"id":"n2139795837","loc":[-85.645806,41.9398831],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858932":{"id":"n2139858932","loc":[-85.6351721,41.9429557],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2140019000":{"id":"n2140019000","loc":[-85.6359935,41.9427224],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2165942817":{"id":"n2165942817","loc":[-85.6442017,41.9414993],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942820":{"id":"n2165942820","loc":[-85.6442107,41.9421159],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2189152990":{"id":"n2189152990","loc":[-85.6442328,41.942404],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:05Z","tags":{}},"n2189152991":{"id":"n2189152991","loc":[-85.6442309,41.9422229],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153002":{"id":"n2189153002","loc":[-85.6441329,41.9413147],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153003":{"id":"n2189153003","loc":[-85.6441357,41.9414925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153023":{"id":"n2189153023","loc":[-85.6443453,41.9423074],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153024":{"id":"n2189153024","loc":[-85.6442318,41.9423045],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153039":{"id":"n2189153039","loc":[-85.6441343,41.9414025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"w208643102":{"id":"w208643102","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153034","n2189153035","n2189153036","n2189153037","n2189153038"]},"w17966942":{"id":"w17966942","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:04Z","tags":{"highway":"residential","name":"Millard St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Millard","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312476:15312477:15312478:15326070:15326071:15329003:15329004:15312479:15312480:15312483:15326956:15326957:15312485:15312486:15322600:15325988","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954680","n185960207","n185971368","n185948706","n185958670","n185981999","n185981481","n185981482","n185973650","n185973659","n185970607","n185976259","n185976261","n2139795830","n185964697","n2139795834","n185977452","n2139795837","n185982001","n185978772"]},"w208643105":{"id":"w208643105","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153046","n2189153047"]},"w208631637":{"id":"w208631637","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046014","n2189046016","n2189046018","n2189046021","n2189046022","n2189046025","n2189046014"]},"w208643096":{"id":"w208643096","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes","fee":"no"},"nodes":["n2189152990","n2189153024","n2189152991","n2189152992","n2189153025","n2189152993","n2189152990"]},"w208631656":{"id":"w208631656","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046134","n2189046135","n2189046137","n2189046138","n2189046134"]},"w204003417":{"id":"w204003417","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"area":"yes","building":"school"},"nodes":["n2140155811","n2140155814","n2140155816","n2140155818","n2140155821","n2140155823","n2140155825","n2140155827","n2140155811"]},"w208631654":{"id":"w208631654","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046127","n2189046128","n2189046130","n2189046131","n2189046132","n2189046133","n2189046127"]},"w17966327":{"id":"w17966327","version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976261","n2140155839","n2140155834","n185974481","n2189153032","n185964959"]},"w41785752":{"id":"w41785752","version":"10","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no","access":"yes"},"nodes":["n185954784","n2139795811","n185964695","n185964959","n185964960","n185964961","n185964962","n185964963","n185964965","n1475301397","n185964967","n1475301385","n2140019000","n185964968","n185964969","n2139858932","n185964970"]},"w203841842":{"id":"w203841842","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493848","n2138493849","n2138493850","n2138493851","n2138493852","n2138493853","n2138493854","n2138493855","n2138493856","n2138493848"]},"w208643103":{"id":"w208643103","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153039","n2189153040","n2189153041","n2189153042","n2189153043","n2189153047","n2189153045","n185974481"]},"w208643098":{"id":"w208643098","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153000","n2189153041","n2189153001","n2189153002","n2189153039","n2189153003","n2189153000"]},"w208631646":{"id":"w208631646","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046067","n2189046069","n2189046070","n2189046072","n2189046067"]},"w208631653":{"id":"w208631653","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046119","n2189046120","n2189046121","n2189046122","n2189046123","n2189046124","n2189046125","n2189046126","n2189046119"]},"w17966041":{"id":"w17966041","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:50Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312474:15312448","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973659","n185973660","n185964961"]},"w208631645":{"id":"w208631645","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046060","n2189046061","n2189046063","n2189046065","n2189046060"]},"w206803397":{"id":"w206803397","version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:25Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168510551","n2168510552","n2168510553","n2168510554","n2168510555","n2168510556","n2168510557","n2168510558","n2168510551"]},"w17965792":{"id":"w17965792","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:10Z","tags":{"highway":"residential","name":"N Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313197:15312414:15312395","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964962","n185970906","n185970908","n185970909"]},"w208631651":{"id":"w208631651","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046112","n2189046113","n2189046115","n2189046116","n2189046117","n2189046118","n2189046112"]},"w208631643":{"id":"w208631643","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046053","n2189046054","n2189046055","n2189046056","n2189046058","n2189046059","n2189046053"]},"w17966878":{"id":"w17966878","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312508:15312529:15312553:15312597:15328883:15338803","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981472","n185981474","n185963163","n185981476","n185969704","n185981478","n185981480","n185981481"]},"w17966102":{"id":"w17966102","version":"2","changeset":"14896694","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:01:36Z","tags":{"highway":"residential","name":"South St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958672","n185974477","n185974479","n185973660","n185970614"]},"w208631660":{"id":"w208631660","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046145","n2189046146","n2189046147","n2189046148","n2189046149","n2189046150","n2189046152","n2189046153","n2189046145"]},"w208643101":{"id":"w208643101","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153023","n2189153024","n2189153025","n2189153026","n2189153038","n2189153027","n2189153028","n2189153029","n2189153033","n2189153009","n2189153030","n2189153034","n2189153031","n2189153032"]},"w204000205":{"id":"w204000205","version":"2","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:19Z","tags":{"highway":"residential","name":"South St","oneway":"yes","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185974481","n2140155851","n185970614"]},"w203841841":{"id":"w203841841","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"pitch","pitch":"basketball"},"nodes":["n2138493844","n2138493845","n2138493846","n2138493847","n2138493844"]},"w17965444":{"id":"w17965444","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:03Z","tags":{"highway":"residential","name":"N Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312348:15312365:15312422:15312392","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964960","n185967774","n185967775","n185966958","n185967776","n185967777"]},"w208631648":{"id":"w208631648","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046074","n2189046075","n2189046077","n2189046079","n2189046082","n2189046083","n2189046085","n2189046087","n2189046089","n2189046090","n2189046092","n2189046094","n2189046096","n2189046097","n2189046099","n2189046103","n2189046074"]},"w208643100":{"id":"w208643100","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153010","n2189153011","n2189153012","n2189153013","n2189153014","n2189153015","n2189153016","n2189153017","n2189153018","n2189153019","n2189153020","n2189153021","n2189153022","n2189153010"]},"w17965749":{"id":"w17965749","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:28Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312445","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970614","n185970616","n185964960"]},"w206574482":{"id":"w206574482","version":"2","changeset":"15128027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-22T20:03:31Z","tags":{"addr:state":"MI","amenity":"library","area":"yes","building":"yes","ele":"249","gnis:county_name":"St. Joseph","gnis:feature_id":"2418162","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Public Library","source":"USGS Geonames"},"nodes":["n2165942817","n2165942818","n2165942819","n2165942820","n2165942817"]},"w208643097":{"id":"w208643097","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189152994","n2189152995","n2189152996","n2189152997","n2189152998","n2189152999","n2189152994"]},"w17966879":{"id":"w17966879","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312475:15312449","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981482","n185974479","n185964962"]},"w17966325":{"id":"w17966325","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:43:58Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15330300:15312522:15312547:15330299:15312603:15312571:15331740","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976255","n185976257","n185963168","n185969710","n185971980","n185976258","n185954700","n185976259"]},"w17967390":{"id":"w17967390","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:27Z","tags":{"highway":"residential","name":"N Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312300","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964959","n185985823","n185975930","n185966960","n185985824","n185949870","n185985825"]},"w208631635":{"id":"w208631635","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046007","n2189046009","n2189046011","n2189046012","n2189046007"]},"w208643099":{"id":"w208643099","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153031","n2189153004","n2189153005","n2189153006","n2189153007","n2189153008","n2189153029","n2189153033","n2189153009","n2189153030","n2189153031"]},"w208631658":{"id":"w208631658","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046139","n2189046140","n2189046141","n2189046142","n2189046143","n2189046144","n2189046139"]},"w208643104":{"id":"w208643104","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153044","n2189153045"]},"w17966039":{"id":"w17966039","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:49Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312526:15312511:15312550:15312601:15312998:15312626:15312574:15328327:15328328:15313210","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973633","n185973635","n185973637","n185969289","n185973639","n185949348","n185973641","n185973644","n185973646","n185963165","n185969706","n185971978","n185973648","n185973650"]},"w204003420":{"id":"w204003420","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140155840","n2140155842","n2140155844","n2140155845","n2140155847","n2140155849","n2140155854","n2140155840"]},"w204003419":{"id":"w204003419","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service"},"nodes":["n2140155834","n2140155835","n2140155837","n2140155839"]},"w204003418":{"id":"w204003418","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"school","area":"yes","name":"Andrews Elementary School"},"nodes":["n2140155828","n2140155829","n2140155830","n2140155831","n2140155832","n2140155833","n2140155828"]},"w17965747":{"id":"w17965747","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:27Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312509:15312524:15312549:15312605:15329008:15312572","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970602","n185970604","n185963167","n185969708","n185970605","n185970606","n185970607"]},"w17967073":{"id":"w17967073","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:07Z","tags":{"highway":"residential","name":"N Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313196:15312424:15312394","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964961","n185982877","n185975928","n185982879"]},"w204003421":{"id":"w204003421","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2140155851","n2140155852","n2140155854","n2140155856"]},"r1943857":{"id":"r1943857","version":"2","changeset":"13612265","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-24T04:10:54Z","tags":{"is_in:state":"MI","modifier":"Business","name":"US 131 Business (Three Rivers, MI)","network":"US:US","ref":"131","route":"road","type":"route"},"members":[{"id":"w17966509","type":"way","role":"forward"},{"id":"w143497377","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w41785752","type":"way","role":""},{"id":"w17965146","type":"way","role":"forward"},{"id":"w17964031","type":"way","role":"forward"}]},"r270277":{"id":"r270277","version":"21","changeset":"15347356","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T03:41:02Z","tags":{"network":"US:MI","ref":"60","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-60_%28Michigan_highway%29"},"members":[{"id":"w17751087","type":"way","role":"east"},{"id":"w117148312","type":"way","role":"east"},{"id":"w40942155","type":"way","role":"west"},{"id":"w17751017","type":"way","role":""},{"id":"w17751083","type":"way","role":""},{"id":"w17747780","type":"way","role":""},{"id":"w41068082","type":"way","role":""},{"id":"w197025212","type":"way","role":""},{"id":"w17743874","type":"way","role":""},{"id":"w17751044","type":"way","role":""},{"id":"w17752167","type":"way","role":""},{"id":"w17751089","type":"way","role":""},{"id":"w17743879","type":"way","role":""},{"id":"w17751064","type":"way","role":""},{"id":"w197057073","type":"way","role":""},{"id":"w167699963","type":"way","role":""},{"id":"w167699972","type":"way","role":""},{"id":"w17967584","type":"way","role":""},{"id":"w167699964","type":"way","role":""},{"id":"w17967582","type":"way","role":"west"},{"id":"w41260270","type":"way","role":"west"},{"id":"w17965146","type":"way","role":"west"},{"id":"w41785752","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150836","type":"way","role":""},{"id":"w134150802","type":"way","role":""},{"id":"w41074896","type":"way","role":""},{"id":"w17966773","type":"way","role":""},{"id":"w17967415","type":"way","role":""},{"id":"w41074899","type":"way","role":""},{"id":"w17967581","type":"way","role":""},{"id":"w41074902","type":"way","role":""},{"id":"w41074906","type":"way","role":""},{"id":"w209707997","type":"way","role":""},{"id":"w209707998","type":"way","role":""},{"id":"w17964798","type":"way","role":""},{"id":"w17966034","type":"way","role":""},{"id":"w17967593","type":"way","role":""},{"id":"w41074888","type":"way","role":""},{"id":"w17733772","type":"way","role":""},{"id":"w41074813","type":"way","role":""},{"id":"w17742213","type":"way","role":""},{"id":"w17746863","type":"way","role":""},{"id":"w17745772","type":"way","role":""},{"id":"w17742222","type":"way","role":""},{"id":"w17745922","type":"way","role":""},{"id":"w17742198","type":"way","role":""},{"id":"w17747675","type":"way","role":""},{"id":"w17739927","type":"way","role":""},{"id":"w17745708","type":"way","role":""},{"id":"w41006323","type":"way","role":""},{"id":"w17744233","type":"way","role":""},{"id":"w17739436","type":"way","role":""},{"id":"w17742201","type":"way","role":""},{"id":"w151418616","type":"way","role":""},{"id":"w17750062","type":"way","role":""},{"id":"w17742227","type":"way","role":"east"},{"id":"w41006348","type":"way","role":"east"},{"id":"w41260984","type":"way","role":""},{"id":"w17832427","type":"way","role":""},{"id":"w17838408","type":"way","role":""},{"id":"w17835846","type":"way","role":""},{"id":"w17832923","type":"way","role":""},{"id":"w17839388","type":"way","role":""},{"id":"w17838390","type":"way","role":""},{"id":"w17831272","type":"way","role":""},{"id":"w17828581","type":"way","role":""},{"id":"w38240686","type":"way","role":""},{"id":"w17838405","type":"way","role":"east"},{"id":"w123323711","type":"way","role":"east"},{"id":"w17830167","type":"way","role":"east"},{"id":"w99011909","type":"way","role":"east"},{"id":"w41911361","type":"way","role":"east"},{"id":"w41911355","type":"way","role":"east"},{"id":"w41911356","type":"way","role":"east"},{"id":"w117148326","type":"way","role":"west"},{"id":"w41911352","type":"way","role":"west"},{"id":"w41911353","type":"way","role":"west"},{"id":"w41911354","type":"way","role":"west"},{"id":"w41911360","type":"way","role":"west"},{"id":"w38240676","type":"way","role":"west"},{"id":"w123323710","type":"way","role":"west"},{"id":"w41260271","type":"way","role":"east"},{"id":"w41260273","type":"way","role":"east"},{"id":"w17964031","type":"way","role":"east"},{"id":"w41006344","type":"way","role":"west"},{"id":"w41006351","type":"way","role":"west"}]},"n367813436":{"id":"n367813436","loc":[-85.63605205663384,41.94305506683346],"version":"2","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"addr:state":"MI","amenity":"fire_station","ele":"245","gnis:county_name":"St. Joseph","gnis:feature_id":"2417894","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Fire Department","source":"USGS Geonames"}},"n185948708":{"id":"n185948708","loc":[-85.6369828,41.9408789],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185948710":{"id":"n185948710","loc":[-85.6370184,41.9411346],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185954691":{"id":"n185954691","loc":[-85.634476,41.941475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954692":{"id":"n185954692","loc":[-85.635008,41.941846],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954693":{"id":"n185954693","loc":[-85.635362,41.941962],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185954695":{"id":"n185954695","loc":[-85.63578,41.941978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185972903":{"id":"n185972903","loc":[-85.63295,41.9430062],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964971":{"id":"n185964971","loc":[-85.6346811,41.9431023],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n1819805854":{"id":"n1819805854","loc":[-85.6331275,41.9404837],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805918":{"id":"n1819805918","loc":[-85.6331168,41.942798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805762":{"id":"n1819805762","loc":[-85.6333034,41.9424123],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805907":{"id":"n1819805907","loc":[-85.6334819,41.9419121],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805915":{"id":"n1819805915","loc":[-85.6334554,41.9413588],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819848888":{"id":"n1819848888","loc":[-85.6331625,41.942679],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848930":{"id":"n1819848930","loc":[-85.6338684,41.9431252],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819858505":{"id":"n1819858505","loc":[-85.6346782,41.9429092],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858507":{"id":"n1819858507","loc":[-85.6339003,41.9414534],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858508":{"id":"n1819858508","loc":[-85.6345709,41.9427742],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858509":{"id":"n1819858509","loc":[-85.63419,41.9417322],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858511":{"id":"n1819858511","loc":[-85.6340666,41.9415652],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858512":{"id":"n1819858512","loc":[-85.6343295,41.9423027],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858514":{"id":"n1819858514","loc":[-85.6343241,41.942207],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858521":{"id":"n1819858521","loc":[-85.633391,41.941231],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858528":{"id":"n1819858528","loc":[-85.6343027,41.9419716],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185954683":{"id":"n185954683","loc":[-85.6335412,41.940147],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954685":{"id":"n185954685","loc":[-85.6334296,41.9403023],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954687":{"id":"n185954687","loc":[-85.6333988,41.9404704],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954689":{"id":"n185954689","loc":[-85.6335511,41.9410225],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954690":{"id":"n185954690","loc":[-85.6336721,41.9411669],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n1820938802":{"id":"n1820938802","loc":[-85.6330671,41.941845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1821006702":{"id":"n1821006702","loc":[-85.6344047,41.9395496],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n2130304133":{"id":"n2130304133","loc":[-85.6349025,41.9427659],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304136":{"id":"n2130304136","loc":[-85.6346027,41.9422017],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304138":{"id":"n2130304138","loc":[-85.6348577,41.9421517],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304140":{"id":"n2130304140","loc":[-85.6348419,41.9422694],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304142":{"id":"n2130304142","loc":[-85.6349071,41.9423135],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304144":{"id":"n2130304144","loc":[-85.6350495,41.9423312],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304146":{"id":"n2130304146","loc":[-85.6351009,41.9422812],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304147":{"id":"n2130304147","loc":[-85.6351227,41.9421532],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304148":{"id":"n2130304148","loc":[-85.635526,41.9421547],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304149":{"id":"n2130304149","loc":[-85.6355339,41.9425768],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304150":{"id":"n2130304150","loc":[-85.6351582,41.9426562],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304151":{"id":"n2130304151","loc":[-85.6351207,41.9427032],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2138493807":{"id":"n2138493807","loc":[-85.6350923,41.9415216],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493808":{"id":"n2138493808","loc":[-85.6353603,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493809":{"id":"n2138493809","loc":[-85.6354421,41.9410942],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493810":{"id":"n2138493810","loc":[-85.6355079,41.9411044],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493811":{"id":"n2138493811","loc":[-85.6355693,41.9411246],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493812":{"id":"n2138493812","loc":[-85.6355829,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493813":{"id":"n2138493813","loc":[-85.6355624,41.9409777],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493814":{"id":"n2138493814","loc":[-85.6355011,41.9409152],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493815":{"id":"n2138493815","loc":[-85.635383,41.9409219],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493816":{"id":"n2138493816","loc":[-85.635299,41.9409658],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493817":{"id":"n2138493817","loc":[-85.6351695,41.941204],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493818":{"id":"n2138493818","loc":[-85.6348879,41.9415166],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493819":{"id":"n2138493819","loc":[-85.634897,41.9415757],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493820":{"id":"n2138493820","loc":[-85.6349606,41.9416399],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493821":{"id":"n2138493821","loc":[-85.6350219,41.9416669],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493822":{"id":"n2138493822","loc":[-85.6351241,41.9416314],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493823":{"id":"n2138493823","loc":[-85.6350855,41.9415622],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493824":{"id":"n2138493824","loc":[-85.6350401,41.9413603],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493825":{"id":"n2138493825","loc":[-85.6352206,41.9410765],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493826":{"id":"n2138493826","loc":[-85.6343865,41.9415594],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493827":{"id":"n2138493827","loc":[-85.6343506,41.9415873],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493828":{"id":"n2138493828","loc":[-85.6344158,41.9417557],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493829":{"id":"n2138493829","loc":[-85.6344614,41.9417968],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493830":{"id":"n2138493830","loc":[-85.6345005,41.9418186],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493831":{"id":"n2138493831","loc":[-85.6345965,41.9418162],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493832":{"id":"n2138493832","loc":[-85.6347317,41.9417242],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493833":{"id":"n2138493833","loc":[-85.6346722,41.941775],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2139858909":{"id":"n2139858909","loc":[-85.633403,41.9391006],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858910":{"id":"n2139858910","loc":[-85.6332973,41.9393967],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858911":{"id":"n2139858911","loc":[-85.633205,41.9396742],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858912":{"id":"n2139858912","loc":[-85.6332203,41.9397772],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858913":{"id":"n2139858913","loc":[-85.6333453,41.939936],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858914":{"id":"n2139858914","loc":[-85.6333761,41.9400018],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858915":{"id":"n2139858915","loc":[-85.63328,41.9402249],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858916":{"id":"n2139858916","loc":[-85.6332357,41.9403523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858917":{"id":"n2139858917","loc":[-85.6332838,41.9405831],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858918":{"id":"n2139858918","loc":[-85.6333643,41.9408744],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858919":{"id":"n2139858919","loc":[-85.6334394,41.9410519],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858920":{"id":"n2139858920","loc":[-85.6335815,41.9411717],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858921":{"id":"n2139858921","loc":[-85.6337478,41.9412734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858922":{"id":"n2139858922","loc":[-85.6343174,41.9415268],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858923":{"id":"n2139858923","loc":[-85.6343886,41.9417397],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858924":{"id":"n2139858924","loc":[-85.6344407,41.9418015],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858925":{"id":"n2139858925","loc":[-85.6345139,41.9418366],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858926":{"id":"n2139858926","loc":[-85.6344846,41.942005],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858927":{"id":"n2139858927","loc":[-85.6345775,41.9422218],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858928":{"id":"n2139858928","loc":[-85.6348771,41.9427814],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858929":{"id":"n2139858929","loc":[-85.6349487,41.9427995],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858930":{"id":"n2139858930","loc":[-85.6350415,41.9427874],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858931":{"id":"n2139858931","loc":[-85.6351246,41.9428589],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858978":{"id":"n2139858978","loc":[-85.6349658,41.9431481],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858979":{"id":"n2139858979","loc":[-85.6350081,41.9431287],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858980":{"id":"n2139858980","loc":[-85.6349967,41.9430997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858981":{"id":"n2139858981","loc":[-85.6352158,41.9430352],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858982":{"id":"n2139858982","loc":[-85.6348174,41.94267],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858983":{"id":"n2139858983","loc":[-85.6346142,41.9425989],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858984":{"id":"n2139858984","loc":[-85.6344938,41.9423809],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858985":{"id":"n2139858985","loc":[-85.6344856,41.9422997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139870380":{"id":"n2139870380","loc":[-85.6346707,41.9417955],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870381":{"id":"n2139870381","loc":[-85.6345949,41.9418311],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870382":{"id":"n2139870382","loc":[-85.6343322,41.9418659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870383":{"id":"n2139870383","loc":[-85.6342072,41.941885],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870384":{"id":"n2139870384","loc":[-85.6341325,41.9418919],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870385":{"id":"n2139870385","loc":[-85.6341314,41.9422028],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870386":{"id":"n2139870386","loc":[-85.6340472,41.9423271],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870387":{"id":"n2139870387","loc":[-85.6342185,41.9427933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870388":{"id":"n2139870388","loc":[-85.6340605,41.9423924],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870389":{"id":"n2139870389","loc":[-85.6339889,41.9424069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870390":{"id":"n2139870390","loc":[-85.633971,41.942356],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870391":{"id":"n2139870391","loc":[-85.63361,41.9424235],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870392":{"id":"n2139870392","loc":[-85.6337137,41.9426819],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870393":{"id":"n2139870393","loc":[-85.6336977,41.9428632],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870394":{"id":"n2139870394","loc":[-85.6338823,41.9428647],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870395":{"id":"n2139870395","loc":[-85.6339412,41.9430069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870396":{"id":"n2139870396","loc":[-85.6338873,41.9430353],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870397":{"id":"n2139870397","loc":[-85.6337676,41.942815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870398":{"id":"n2139870398","loc":[-85.6336822,41.9423505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870399":{"id":"n2139870399","loc":[-85.634037,41.9422725],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870400":{"id":"n2139870400","loc":[-85.6340294,41.9422518],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870401":{"id":"n2139870401","loc":[-85.6336726,41.9423312],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870402":{"id":"n2139870402","loc":[-85.6342188,41.9425715],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870403":{"id":"n2139870403","loc":[-85.6342524,41.942565],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870404":{"id":"n2139870404","loc":[-85.6341438,41.942299],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870405":{"id":"n2139870405","loc":[-85.6341149,41.9423061],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870407":{"id":"n2139870407","loc":[-85.6340846,41.9431458],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870408":{"id":"n2139870408","loc":[-85.6339436,41.9429032],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870409":{"id":"n2139870409","loc":[-85.6343143,41.9428207],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870410":{"id":"n2139870410","loc":[-85.6343507,41.94277],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870411":{"id":"n2139870411","loc":[-85.6341527,41.942254],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870412":{"id":"n2139870412","loc":[-85.6340925,41.9422199],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870413":{"id":"n2139870413","loc":[-85.6335435,41.9423433],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870414":{"id":"n2139870414","loc":[-85.6335023,41.9423975],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870415":{"id":"n2139870415","loc":[-85.6335086,41.9424552],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870416":{"id":"n2139870416","loc":[-85.6336296,41.942665],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870417":{"id":"n2139870417","loc":[-85.6341396,41.9428596],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870418":{"id":"n2139870418","loc":[-85.6339701,41.9424487],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870419":{"id":"n2139870419","loc":[-85.6335514,41.9425294],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870420":{"id":"n2139870420","loc":[-85.6337406,41.9424929],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870421":{"id":"n2139870421","loc":[-85.6338939,41.9428687],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870422":{"id":"n2139870422","loc":[-85.6341323,41.9419538],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870423":{"id":"n2139870423","loc":[-85.6340321,41.9420376],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870424":{"id":"n2139870424","loc":[-85.6337648,41.942238],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870425":{"id":"n2139870425","loc":[-85.6337604,41.9422685],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870426":{"id":"n2139870426","loc":[-85.6337682,41.9422928],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870427":{"id":"n2139870427","loc":[-85.6338086,41.9423862],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870428":{"id":"n2139870428","loc":[-85.6349465,41.9416631],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870429":{"id":"n2139870429","loc":[-85.6351097,41.9416973],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870430":{"id":"n2139870430","loc":[-85.6353371,41.9416798],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870431":{"id":"n2139870431","loc":[-85.6349627,41.9422506],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870432":{"id":"n2139870432","loc":[-85.634979,41.9421815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870433":{"id":"n2139870433","loc":[-85.634885,41.9421679],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870434":{"id":"n2139870434","loc":[-85.6348689,41.9422377],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870435":{"id":"n2139870435","loc":[-85.6349779,41.9419486],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870436":{"id":"n2139870436","loc":[-85.6349505,41.9418933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870437":{"id":"n2139870437","loc":[-85.6347327,41.9419505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870438":{"id":"n2139870438","loc":[-85.6347614,41.9420087],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870439":{"id":"n2139870439","loc":[-85.6351889,41.9416912],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870440":{"id":"n2139870440","loc":[-85.6351092,41.9418426],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870441":{"id":"n2139870441","loc":[-85.635086,41.9419659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870442":{"id":"n2139870442","loc":[-85.6350584,41.9421466],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870443":{"id":"n2139870443","loc":[-85.6350993,41.9421606],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870444":{"id":"n2139870444","loc":[-85.6350993,41.9422132],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870445":{"id":"n2139870445","loc":[-85.6350794,41.9422855],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870446":{"id":"n2139870446","loc":[-85.6350474,41.9423159],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870447":{"id":"n2139870447","loc":[-85.6349251,41.9422998],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870448":{"id":"n2139870448","loc":[-85.634911,41.9422755],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870449":{"id":"n2139870449","loc":[-85.6349157,41.9422553],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870450":{"id":"n2139870450","loc":[-85.6347213,41.9419324],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870451":{"id":"n2139870451","loc":[-85.6349535,41.9418771],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870452":{"id":"n2139870452","loc":[-85.6350135,41.9419421],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870453":{"id":"n2139870453","loc":[-85.6348584,41.9418997],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870454":{"id":"n2139870454","loc":[-85.6348113,41.9418101],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870455":{"id":"n2139870455","loc":[-85.6347306,41.9417449],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870456":{"id":"n2139870456","loc":[-85.6349123,41.941776],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870457":{"id":"n2139870457","loc":[-85.6349423,41.9421448],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870458":{"id":"n2139870458","loc":[-85.6349436,41.9420652],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870459":{"id":"n2139870459","loc":[-85.6349136,41.9419963],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870460":{"id":"n2139870460","loc":[-85.6349814,41.9419789],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139989328":{"id":"n2139989328","loc":[-85.6334188,41.9421725],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989330":{"id":"n2139989330","loc":[-85.6335087,41.9416308],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989335":{"id":"n2139989335","loc":[-85.6336856,41.9429371],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989337":{"id":"n2139989337","loc":[-85.6333713,41.9427217],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989339":{"id":"n2139989339","loc":[-85.6332912,41.9425383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989341":{"id":"n2139989341","loc":[-85.6339369,41.9409198],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989344":{"id":"n2139989344","loc":[-85.634097,41.9409469],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989346":{"id":"n2139989346","loc":[-85.634137,41.9412852],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989348":{"id":"n2139989348","loc":[-85.6344536,41.9414151],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989350":{"id":"n2139989350","loc":[-85.6350794,41.9412392],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989351":{"id":"n2139989351","loc":[-85.6352541,41.9409387],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989353":{"id":"n2139989353","loc":[-85.6357198,41.9408007],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989355":{"id":"n2139989355","loc":[-85.6357235,41.9427088],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989357":{"id":"n2139989357","loc":[-85.6337119,41.9421256],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989359":{"id":"n2139989359","loc":[-85.6336913,41.9420655],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989360":{"id":"n2139989360","loc":[-85.633582,41.9420867],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989362":{"id":"n2139989362","loc":[-85.6336058,41.9421491],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989364":{"id":"n2139989364","loc":[-85.6339685,41.9410995],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989366":{"id":"n2139989366","loc":[-85.6339067,41.9411383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989368":{"id":"n2139989368","loc":[-85.6339685,41.9411972],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989370":{"id":"n2139989370","loc":[-85.6340398,41.9411619],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139870379":{"id":"n2139870379","loc":[-85.6348391,41.9416651],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006363":{"id":"n2140006363","loc":[-85.6353144,41.9430345],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006364":{"id":"n2140006364","loc":[-85.6349191,41.9431422],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140018997":{"id":"n2140018997","loc":[-85.63645945147184,41.942986488012565],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"amenity":"townhall","name":"Three Rivers City Hall"}},"n2140018998":{"id":"n2140018998","loc":[-85.6370319,41.9427919],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2140018999":{"id":"n2140018999","loc":[-85.6360687,41.9427808],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2199856288":{"id":"n2199856288","loc":[-85.6344968,41.9407307],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856289":{"id":"n2199856289","loc":[-85.634492,41.9406036],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856290":{"id":"n2199856290","loc":[-85.634891,41.9406001],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856291":{"id":"n2199856291","loc":[-85.6348894,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856292":{"id":"n2199856292","loc":[-85.6349166,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856293":{"id":"n2199856293","loc":[-85.6349166,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856294":{"id":"n2199856294","loc":[-85.6350219,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856295":{"id":"n2199856295","loc":[-85.6350251,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856296":{"id":"n2199856296","loc":[-85.6350538,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856297":{"id":"n2199856297","loc":[-85.6350602,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856298":{"id":"n2199856298","loc":[-85.6351703,41.9407912],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856299":{"id":"n2199856299","loc":[-85.6351688,41.9409171],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856300":{"id":"n2199856300","loc":[-85.6347889,41.9409135],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856301":{"id":"n2199856301","loc":[-85.6347921,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856302":{"id":"n2199856302","loc":[-85.6348942,41.9407888],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856303":{"id":"n2199856303","loc":[-85.6348926,41.9407283],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n185951869":{"id":"n185951869","loc":[-85.6387639,41.957288],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185958643":{"id":"n185958643","loc":[-85.636746,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958645":{"id":"n185958645","loc":[-85.636791,41.929363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958647":{"id":"n185958647","loc":[-85.6375975,41.9314987],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958649":{"id":"n185958649","loc":[-85.637669,41.931667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958651":{"id":"n185958651","loc":[-85.637728,41.931901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958653":{"id":"n185958653","loc":[-85.637724,41.932187],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958656":{"id":"n185958656","loc":[-85.637732,41.932761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958658":{"id":"n185958658","loc":[-85.637688,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958660":{"id":"n185958660","loc":[-85.637685,41.934223],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958662":{"id":"n185958662","loc":[-85.6376468,41.9350232],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958664":{"id":"n185958664","loc":[-85.637564,41.937028],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958666":{"id":"n185958666","loc":[-85.637458,41.938197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958668":{"id":"n185958668","loc":[-85.637424,41.938692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185964972":{"id":"n185964972","loc":[-85.6341901,41.9432732],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185971361":{"id":"n185971361","loc":[-85.635762,41.938208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971364":{"id":"n185971364","loc":[-85.635732,41.9384],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971366":{"id":"n185971366","loc":[-85.635736,41.938697],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185972775":{"id":"n185972775","loc":[-85.635638,42.070357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972777":{"id":"n185972777","loc":[-85.635724,42.069929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972779":{"id":"n185972779","loc":[-85.635804,42.069248],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972781":{"id":"n185972781","loc":[-85.635869,42.068361],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972783":{"id":"n185972783","loc":[-85.635883,42.067582],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972785":{"id":"n185972785","loc":[-85.635875,42.067114],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972787":{"id":"n185972787","loc":[-85.635778,42.065359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972788":{"id":"n185972788","loc":[-85.635728,42.063416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972789":{"id":"n185972789","loc":[-85.635665,42.062491],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972790":{"id":"n185972790","loc":[-85.635617,42.061928],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972791":{"id":"n185972791","loc":[-85.635614,42.061898],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972793":{"id":"n185972793","loc":[-85.635379,42.060288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972795":{"id":"n185972795","loc":[-85.635092,42.05799],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972797":{"id":"n185972797","loc":[-85.634843,42.055781],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972798":{"id":"n185972798","loc":[-85.634817,42.055549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972800":{"id":"n185972800","loc":[-85.634708,42.053942],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972802":{"id":"n185972802","loc":[-85.634447,42.051809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972805":{"id":"n185972805","loc":[-85.634241,42.04946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972807":{"id":"n185972807","loc":[-85.633787,42.045926],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972809":{"id":"n185972809","loc":[-85.633811,42.045645],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972811":{"id":"n185972811","loc":[-85.63373,42.043626],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972813":{"id":"n185972813","loc":[-85.633698,42.042184],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972814":{"id":"n185972814","loc":[-85.63369,42.04181],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972815":{"id":"n185972815","loc":[-85.633681,42.040714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972816":{"id":"n185972816","loc":[-85.633571,42.036322],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972817":{"id":"n185972817","loc":[-85.633537,42.034044],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972819":{"id":"n185972819","loc":[-85.633481,42.030785],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972821":{"id":"n185972821","loc":[-85.633452,42.027538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972824":{"id":"n185972824","loc":[-85.633438,42.027427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972826":{"id":"n185972826","loc":[-85.633342,42.022656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972830":{"id":"n185972830","loc":[-85.63327,42.020724],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972832":{"id":"n185972832","loc":[-85.633198,42.019106],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972834":{"id":"n185972834","loc":[-85.633249,42.018363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972835":{"id":"n185972835","loc":[-85.633139,42.012944],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972836":{"id":"n185972836","loc":[-85.63309,42.008284],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972839":{"id":"n185972839","loc":[-85.63298,42.00005],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972845":{"id":"n185972845","loc":[-85.6325369,41.9764959],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972847":{"id":"n185972847","loc":[-85.6327549,41.9750005],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972849":{"id":"n185972849","loc":[-85.6329374,41.9742527],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972851":{"id":"n185972851","loc":[-85.6331387,41.9736039],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972862":{"id":"n185972862","loc":[-85.6383589,41.9585023],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972868":{"id":"n185972868","loc":[-85.6393633,41.9551716],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972878":{"id":"n185972878","loc":[-85.639377,41.95335],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972882":{"id":"n185972882","loc":[-85.6389179,41.9516944],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972885":{"id":"n185972885","loc":[-85.6387444,41.9512105],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972891":{"id":"n185972891","loc":[-85.636421,41.946392],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972895":{"id":"n185972895","loc":[-85.635965,41.945809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972897":{"id":"n185972897","loc":[-85.635683,41.945449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972899":{"id":"n185972899","loc":[-85.635281,41.9450252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185972905":{"id":"n185972905","loc":[-85.6324428,41.9425743],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185985217":{"id":"n185985217","loc":[-85.638243,41.943674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985219":{"id":"n185985219","loc":[-85.638228,41.943747],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985221":{"id":"n185985221","loc":[-85.638163,41.943797],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985222":{"id":"n185985222","loc":[-85.638089,41.943832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985223":{"id":"n185985223","loc":[-85.637969,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985225":{"id":"n185985225","loc":[-85.637841,41.943833],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985227":{"id":"n185985227","loc":[-85.637601,41.943789],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985229":{"id":"n185985229","loc":[-85.637449,41.943754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985231":{"id":"n185985231","loc":[-85.637342,41.943734],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985233":{"id":"n185985233","loc":[-85.637218,41.943703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985235":{"id":"n185985235","loc":[-85.637151,41.943663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985238":{"id":"n185985238","loc":[-85.637118,41.943615],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985240":{"id":"n185985240","loc":[-85.637073,41.943494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185990434":{"id":"n185990434","loc":[-85.6329028,41.9984292],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"railway":"level_crossing"}},"n1475284023":{"id":"n1475284023","loc":[-85.6336163,41.9435806],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475293222":{"id":"n1475293222","loc":[-85.6394045,41.953658],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293226":{"id":"n1475293226","loc":[-85.6364975,41.9638663],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293234":{"id":"n1475293234","loc":[-85.6390449,41.9565145],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293240":{"id":"n1475293240","loc":[-85.636943,41.9473114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293252":{"id":"n1475293252","loc":[-85.6392115,41.9559003],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293254":{"id":"n1475293254","loc":[-85.6348931,41.9685127],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{"railway":"level_crossing"}},"n1475293260":{"id":"n1475293260","loc":[-85.6375999,41.9485401],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293261":{"id":"n1475293261","loc":[-85.6391256,41.9523817],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1475293264":{"id":"n1475293264","loc":[-85.6394155,41.9546493],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1819805614":{"id":"n1819805614","loc":[-85.6345652,41.9363097],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805618":{"id":"n1819805618","loc":[-85.6295334,41.9426862],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805622":{"id":"n1819805622","loc":[-85.6308208,41.9430773],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805626":{"id":"n1819805626","loc":[-85.6274734,41.9406592],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805629":{"id":"n1819805629","loc":[-85.6296943,41.9430533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805632":{"id":"n1819805632","loc":[-85.6340931,41.9354477],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805636":{"id":"n1819805636","loc":[-85.6304131,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805639":{"id":"n1819805639","loc":[-85.6304882,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805641":{"id":"n1819805641","loc":[-85.6336103,41.9367487],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805643":{"id":"n1819805643","loc":[-85.6300376,41.9418084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805645":{"id":"n1819805645","loc":[-85.6365286,41.9336679],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805647":{"id":"n1819805647","loc":[-85.632016,41.9429221],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805666":{"id":"n1819805666","loc":[-85.6314753,41.9442663],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805669":{"id":"n1819805669","loc":[-85.6268619,41.9402203],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805673":{"id":"n1819805673","loc":[-85.6296728,41.9412099],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805676":{"id":"n1819805676","loc":[-85.6354557,41.932766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805680":{"id":"n1819805680","loc":[-85.632752,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805683":{"id":"n1819805683","loc":[-85.631147,41.9432014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805687":{"id":"n1819805687","loc":[-85.635284,41.9343942],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805690":{"id":"n1819805690","loc":[-85.6249736,41.9405794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805694":{"id":"n1819805694","loc":[-85.6294153,41.9417925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805698":{"id":"n1819805698","loc":[-85.6323486,41.9426986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805702":{"id":"n1819805702","loc":[-85.6340287,41.9373871],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805707":{"id":"n1819805707","loc":[-85.6353698,41.9316326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805711":{"id":"n1819805711","loc":[-85.6284176,41.940356],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805715":{"id":"n1819805715","loc":[-85.6291471,41.9412897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805718":{"id":"n1819805718","loc":[-85.6311105,41.943979],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805722":{"id":"n1819805722","loc":[-85.6320868,41.9400128],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805724":{"id":"n1819805724","loc":[-85.635166,41.9324627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805727":{"id":"n1819805727","loc":[-85.6344686,41.9350567],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805728":{"id":"n1819805728","loc":[-85.6357132,41.9332369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805731":{"id":"n1819805731","loc":[-85.629984,41.9434444],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805760":{"id":"n1819805760","loc":[-85.6330996,41.9378784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805766":{"id":"n1819805766","loc":[-85.625274,41.9411141],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805770":{"id":"n1819805770","loc":[-85.6326321,41.9412173],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805774":{"id":"n1819805774","loc":[-85.6347047,41.9312096],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805777":{"id":"n1819805777","loc":[-85.6363569,41.9339552],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805780":{"id":"n1819805780","loc":[-85.6327392,41.941926],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805783":{"id":"n1819805783","loc":[-85.6357239,41.9338435],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805786":{"id":"n1819805786","loc":[-85.6356595,41.9346576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805789":{"id":"n1819805789","loc":[-85.6316469,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805792":{"id":"n1819805792","loc":[-85.6350587,41.9354557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805795":{"id":"n1819805795","loc":[-85.6360028,41.9322791],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805798":{"id":"n1819805798","loc":[-85.63125,41.9443062],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805802":{"id":"n1819805802","loc":[-85.6263362,41.9408109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805805":{"id":"n1819805805","loc":[-85.6315075,41.9438753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805808":{"id":"n1819805808","loc":[-85.6340008,41.9316051],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805810":{"id":"n1819805810","loc":[-85.6345545,41.9320557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805812":{"id":"n1819805812","loc":[-85.6250809,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805814":{"id":"n1819805814","loc":[-85.6257783,41.9400926],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805834":{"id":"n1819805834","loc":[-85.6326408,41.9424363],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805838":{"id":"n1819805838","loc":[-85.6365607,41.9334365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805842":{"id":"n1819805842","loc":[-85.6288253,41.9410343],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805846":{"id":"n1819805846","loc":[-85.6279133,41.9402921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805849":{"id":"n1819805849","loc":[-85.6289433,41.9405156],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805852":{"id":"n1819805852","loc":[-85.6313787,41.9439152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805858":{"id":"n1819805858","loc":[-85.6300805,41.9420398],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805861":{"id":"n1819805861","loc":[-85.6321941,41.9396297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805864":{"id":"n1819805864","loc":[-85.6329129,41.9393903],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805868":{"id":"n1819805868","loc":[-85.632001,41.9434922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805870":{"id":"n1819805870","loc":[-85.6314903,41.9431535],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805873":{"id":"n1819805873","loc":[-85.6251667,41.9401166],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805876":{"id":"n1819805876","loc":[-85.63287,41.939941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805878":{"id":"n1819805878","loc":[-85.6307886,41.9437317],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805880":{"id":"n1819805880","loc":[-85.6321727,41.940348],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805883":{"id":"n1819805883","loc":[-85.6265872,41.940113],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805885":{"id":"n1819805885","loc":[-85.6268404,41.9406672],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805887":{"id":"n1819805887","loc":[-85.6325267,41.9389035],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805889":{"id":"n1819805889","loc":[-85.6364964,41.933189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805911":{"id":"n1819805911","loc":[-85.6248663,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805922":{"id":"n1819805922","loc":[-85.633267,41.9387199],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805925":{"id":"n1819805925","loc":[-85.6293402,41.9408428],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819848849":{"id":"n1819848849","loc":[-85.6464957,41.9695178],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848850":{"id":"n1819848850","loc":[-85.6497642,41.9611355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848851":{"id":"n1819848851","loc":[-85.6480943,41.9624818],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848854":{"id":"n1819848854","loc":[-85.6500362,41.9657367],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848855":{"id":"n1819848855","loc":[-85.6493673,41.9783496],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848856":{"id":"n1819848856","loc":[-85.6457409,41.9548007],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848857":{"id":"n1819848857","loc":[-85.651313,41.9760426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848858":{"id":"n1819848858","loc":[-85.6495819,41.9784772],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848859":{"id":"n1819848859","loc":[-85.6495105,41.9833722],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848860":{"id":"n1819848860","loc":[-85.6405053,41.9492792],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848863":{"id":"n1819848863","loc":[-85.6502293,41.9786826],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848865":{"id":"n1819848865","loc":[-85.6406877,41.9495106],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848870":{"id":"n1819848870","loc":[-85.6493136,41.9704611],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848871":{"id":"n1819848871","loc":[-85.6372249,41.9441284],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848873":{"id":"n1819848873","loc":[-85.6512379,41.9659441],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848875":{"id":"n1819848875","loc":[-85.6508087,41.9650187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848877":{"id":"n1819848877","loc":[-85.6487166,41.9605352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848878":{"id":"n1819848878","loc":[-85.6506478,41.9760665],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848879":{"id":"n1819848879","loc":[-85.651431,41.9758512],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848886":{"id":"n1819848886","loc":[-85.6477617,41.9563945],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848889":{"id":"n1819848889","loc":[-85.6497895,41.9832286],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848892":{"id":"n1819848892","loc":[-85.6504868,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848893":{"id":"n1819848893","loc":[-85.6498002,41.9615085],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848894":{"id":"n1819848894","loc":[-85.6404302,41.9502846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848901":{"id":"n1819848901","loc":[-85.6354412,41.9439886],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848903":{"id":"n1819848903","loc":[-85.6472145,41.9698528],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848904":{"id":"n1819848904","loc":[-85.6401979,41.9486233],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848905":{"id":"n1819848905","loc":[-85.6475042,41.963503],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848909":{"id":"n1819848909","loc":[-85.6343405,41.94358],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848914":{"id":"n1819848914","loc":[-85.6503474,41.9737773],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848915":{"id":"n1819848915","loc":[-85.6389533,41.9470992],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848916":{"id":"n1819848916","loc":[-85.6483625,41.9577907],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848917":{"id":"n1819848917","loc":[-85.6484768,41.9617419],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848918":{"id":"n1819848918","loc":[-85.644078,41.9545693],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848919":{"id":"n1819848919","loc":[-85.6437169,41.9543041],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848920":{"id":"n1819848920","loc":[-85.6478331,41.9627949],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848922":{"id":"n1819848922","loc":[-85.6499144,41.9785889],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848924":{"id":"n1819848924","loc":[-85.647633,41.9720066],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848926":{"id":"n1819848926","loc":[-85.6487987,41.978868],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848927":{"id":"n1819848927","loc":[-85.6495105,41.9730355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848928":{"id":"n1819848928","loc":[-85.648223,41.9829654],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848929":{"id":"n1819848929","loc":[-85.6514846,41.9659122],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848931":{"id":"n1819848931","loc":[-85.6498753,41.9731871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848932":{"id":"n1819848932","loc":[-85.640906,41.9508575],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848933":{"id":"n1819848933","loc":[-85.649775,41.9799767],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848934":{"id":"n1819848934","loc":[-85.6507014,41.9739927],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848937":{"id":"n1819848937","loc":[-85.6479763,41.9840899],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848938":{"id":"n1819848938","loc":[-85.6501113,41.9600884],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848939":{"id":"n1819848939","loc":[-85.6389962,41.9478253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848941":{"id":"n1819848941","loc":[-85.637469,41.9445791],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848942":{"id":"n1819848942","loc":[-85.6494569,41.9601682],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848943":{"id":"n1819848943","loc":[-85.6368803,41.9439351],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848945":{"id":"n1819848945","loc":[-85.6474398,41.9724213],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848946":{"id":"n1819848946","loc":[-85.6382629,41.9463666],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848948":{"id":"n1819848948","loc":[-85.6489633,41.9830771],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848952":{"id":"n1819848952","loc":[-85.6488882,41.9600326],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848953":{"id":"n1819848953","loc":[-85.6488094,41.9774324],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848954":{"id":"n1819848954","loc":[-85.6491135,41.9600485],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848955":{"id":"n1819848955","loc":[-85.6501435,41.9734583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848956":{"id":"n1819848956","loc":[-85.6495534,41.960958],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848958":{"id":"n1819848958","loc":[-85.6474683,41.9561491],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848959":{"id":"n1819848959","loc":[-85.6401083,41.9485451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848960":{"id":"n1819848960","loc":[-85.6481764,41.9678686],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848961":{"id":"n1819848961","loc":[-85.6484017,41.967382],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848962":{"id":"n1819848962","loc":[-85.6501328,41.959897],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848964":{"id":"n1819848964","loc":[-85.6403695,41.9504586],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848966":{"id":"n1819848966","loc":[-85.6398975,41.9491499],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848967":{"id":"n1819848967","loc":[-85.6412455,41.9510187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848968":{"id":"n1819848968","loc":[-85.6482622,41.9619493],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848969":{"id":"n1819848969","loc":[-85.6405841,41.9501474],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848970":{"id":"n1819848970","loc":[-85.6478583,41.9703394],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848971":{"id":"n1819848971","loc":[-85.6493388,41.9832845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848972":{"id":"n1819848972","loc":[-85.6485664,41.9829415],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848974":{"id":"n1819848974","loc":[-85.6491457,41.9779887],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848975":{"id":"n1819848975","loc":[-85.6468889,41.9697033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848976":{"id":"n1819848976","loc":[-85.6452726,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848977":{"id":"n1819848977","loc":[-85.6448435,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848979":{"id":"n1819848979","loc":[-85.6485342,41.9763138],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848980":{"id":"n1819848980","loc":[-85.6495282,41.9664087],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848986":{"id":"n1819848986","loc":[-85.6486307,41.9603278],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848987":{"id":"n1819848987","loc":[-85.6492278,41.9791871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848990":{"id":"n1819848990","loc":[-85.6501934,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848992":{"id":"n1819848992","loc":[-85.6482445,41.9819685],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848993":{"id":"n1819848993","loc":[-85.6481871,41.9704451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848994":{"id":"n1819848994","loc":[-85.6371364,41.9457602],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848996":{"id":"n1819848996","loc":[-85.6500362,41.9801023],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849000":{"id":"n1819849000","loc":[-85.639007,41.9485914],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849001":{"id":"n1819849001","loc":[-85.6488882,41.9669253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849002":{"id":"n1819849002","loc":[-85.6484698,41.9565062],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849004":{"id":"n1819849004","loc":[-85.6510769,41.9761064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849005":{"id":"n1819849005","loc":[-85.6503581,41.9799029],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849006":{"id":"n1819849006","loc":[-85.6489381,41.9703893],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849008":{"id":"n1819849008","loc":[-85.6497457,41.9833588],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849011":{"id":"n1819849011","loc":[-85.6497358,41.9717593],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849012":{"id":"n1819849012","loc":[-85.6494676,41.9796796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849019":{"id":"n1819849019","loc":[-85.6486093,41.9771034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849021":{"id":"n1819849021","loc":[-85.6504546,41.9796556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849022":{"id":"n1819849022","loc":[-85.6371294,41.9454154],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849023":{"id":"n1819849023","loc":[-85.6503436,41.9759249],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849025":{"id":"n1819849025","loc":[-85.6462382,41.9693822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849026":{"id":"n1819849026","loc":[-85.6497573,41.983093],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849028":{"id":"n1819849028","loc":[-85.6497465,41.9602799],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849029":{"id":"n1819849029","loc":[-85.6374728,41.9460698],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849030":{"id":"n1819849030","loc":[-85.6486592,41.9566039],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849031":{"id":"n1819849031","loc":[-85.6515989,41.9654993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849032":{"id":"n1819849032","loc":[-85.6387028,41.9482658],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849033":{"id":"n1819849033","loc":[-85.6464742,41.9688398],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849034":{"id":"n1819849034","loc":[-85.6495212,41.9589236],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849035":{"id":"n1819849035","loc":[-85.6490599,41.9790096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849036":{"id":"n1819849036","loc":[-85.6489918,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849038":{"id":"n1819849038","loc":[-85.6499182,41.9659042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849040":{"id":"n1819849040","loc":[-85.639758,41.9490143],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849041":{"id":"n1819849041","loc":[-85.6514846,41.9755241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849042":{"id":"n1819849042","loc":[-85.6436633,41.9540647],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849045":{"id":"n1819849045","loc":[-85.6475541,41.9726387],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849046":{"id":"n1819849046","loc":[-85.6488308,41.9718331],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849047":{"id":"n1819849047","loc":[-85.6377694,41.9460953],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849048":{"id":"n1819849048","loc":[-85.6490706,41.9804452],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849049":{"id":"n1819849049","loc":[-85.6485449,41.9766248],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849051":{"id":"n1819849051","loc":[-85.6483625,41.9790256],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849052":{"id":"n1819849052","loc":[-85.6490706,41.9585167],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849053":{"id":"n1819849053","loc":[-85.6425008,41.9522874],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849054":{"id":"n1819849054","loc":[-85.6475793,41.9632158],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849055":{"id":"n1819849055","loc":[-85.6408631,41.9499399],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849056":{"id":"n1819849056","loc":[-85.6483373,41.9814681],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849057":{"id":"n1819849057","loc":[-85.6313548,41.9442876],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849058":{"id":"n1819849058","loc":[-85.6432663,41.9529796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849059":{"id":"n1819849059","loc":[-85.6487128,41.9582873],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849060":{"id":"n1819849060","loc":[-85.6482338,41.9817612],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849062":{"id":"n1819849062","loc":[-85.6485664,41.9788661],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849063":{"id":"n1819849063","loc":[-85.6373081,41.9448824],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849064":{"id":"n1819849064","loc":[-85.6472215,41.9557582],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849065":{"id":"n1819849065","loc":[-85.6348984,41.9440414],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849066":{"id":"n1819849066","loc":[-85.6501972,41.9647315],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849067":{"id":"n1819849067","loc":[-85.6489741,41.9808281],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849068":{"id":"n1819849068","loc":[-85.6420111,41.9515034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849069":{"id":"n1819849069","loc":[-85.6397972,41.9488882],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849070":{"id":"n1819849070","loc":[-85.6499718,41.9593465],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849071":{"id":"n1819849071","loc":[-85.6486844,41.9811311],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849072":{"id":"n1819849072","loc":[-85.6390392,41.9474663],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849074":{"id":"n1819849074","loc":[-85.6495642,41.9616362],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849075":{"id":"n1819849075","loc":[-85.6483518,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849076":{"id":"n1819849076","loc":[-85.6478974,41.9833104],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849077":{"id":"n1819849077","loc":[-85.640155,41.948719],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849078":{"id":"n1819849078","loc":[-85.6399366,41.9487845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849079":{"id":"n1819849079","loc":[-85.6492959,41.9825348],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849080":{"id":"n1819849080","loc":[-85.6505083,41.9648352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849081":{"id":"n1819849081","loc":[-85.6492959,41.9645241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849082":{"id":"n1819849082","loc":[-85.6402049,41.9491835],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849083":{"id":"n1819849083","loc":[-85.6495175,41.9826963],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849084":{"id":"n1819849084","loc":[-85.6480836,41.9728361],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849085":{"id":"n1819849085","loc":[-85.6374349,41.9443425],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849086":{"id":"n1819849086","loc":[-85.6478331,41.9681238],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849089":{"id":"n1819849089","loc":[-85.639368,41.9486169],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849092":{"id":"n1819849092","loc":[-85.6503581,41.9788022],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849093":{"id":"n1819849093","loc":[-85.64862,41.9568014],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849094":{"id":"n1819849094","loc":[-85.6496999,41.9828877],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849095":{"id":"n1819849095","loc":[-85.647472,41.972198],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849096":{"id":"n1819849096","loc":[-85.6485771,41.9644523],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849097":{"id":"n1819849097","loc":[-85.6388353,41.9480488],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849099":{"id":"n1819849099","loc":[-85.6472752,41.9683312],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849104":{"id":"n1819849104","loc":[-85.6479548,41.9836035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849105":{"id":"n1819849105","loc":[-85.6462489,41.9691668],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849107":{"id":"n1819849107","loc":[-85.6511912,41.9746328],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849108":{"id":"n1819849108","loc":[-85.6498646,41.9714881],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849111":{"id":"n1819849111","loc":[-85.6488239,41.961684],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849112":{"id":"n1819849112","loc":[-85.6469356,41.9553812],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849114":{"id":"n1819849114","loc":[-85.6479548,41.9640853],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849119":{"id":"n1819849119","loc":[-85.6491565,41.961692],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849121":{"id":"n1819849121","loc":[-85.651667,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849124":{"id":"n1819849124","loc":[-85.6388423,41.9484414],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849126":{"id":"n1819849126","loc":[-85.6371686,41.9450978],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849127":{"id":"n1819849127","loc":[-85.6502615,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849129":{"id":"n1819849129","loc":[-85.6498501,41.9613031],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849131":{"id":"n1819849131","loc":[-85.6513881,41.9653298],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849133":{"id":"n1819849133","loc":[-85.639883,41.9485291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849139":{"id":"n1819849139","loc":[-85.6508693,41.9658264],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849140":{"id":"n1819849140","loc":[-85.6486806,41.9761642],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849141":{"id":"n1819849141","loc":[-85.6483159,41.9717613],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849144":{"id":"n1819849144","loc":[-85.6443714,41.9546232],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849146":{"id":"n1819849146","loc":[-85.641775,41.9513359],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849147":{"id":"n1819849147","loc":[-85.6495604,41.9757335],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849148":{"id":"n1819849148","loc":[-85.6465671,41.9551678],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849150":{"id":"n1819849150","loc":[-85.6485127,41.9794084],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849151":{"id":"n1819849151","loc":[-85.6499144,41.9757096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849152":{"id":"n1819849152","loc":[-85.6433736,41.9531072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849154":{"id":"n1819849154","loc":[-85.6489741,41.9607426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849155":{"id":"n1819849155","loc":[-85.640627,41.9507697],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849156":{"id":"n1819849156","loc":[-85.6509659,41.9743058],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849157":{"id":"n1819849157","loc":[-85.6486844,41.9704431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849158":{"id":"n1819849158","loc":[-85.6498538,41.9711132],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849159":{"id":"n1819849159","loc":[-85.6358937,41.943719],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849160":{"id":"n1819849160","loc":[-85.6497358,41.9707702],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849161":{"id":"n1819849161","loc":[-85.6480476,41.9564842],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849162":{"id":"n1819849162","loc":[-85.6482982,41.9574556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849163":{"id":"n1819849163","loc":[-85.6501757,41.9757794],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849164":{"id":"n1819849164","loc":[-85.6372973,41.9459916],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849165":{"id":"n1819849165","loc":[-85.6513773,41.9750775],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849166":{"id":"n1819849166","loc":[-85.6436418,41.9537455],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849167":{"id":"n1819849167","loc":[-85.6483625,41.9571524],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849169":{"id":"n1819849169","loc":[-85.647751,41.9727962],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849170":{"id":"n1819849170","loc":[-85.6504546,41.9656808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849171":{"id":"n1819849171","loc":[-85.6479977,41.971839],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849172":{"id":"n1819849172","loc":[-85.6482767,41.9642449],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849174":{"id":"n1819849174","loc":[-85.6414317,41.9512086],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849176":{"id":"n1819849176","loc":[-85.6469034,41.9685287],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849179":{"id":"n1819849179","loc":[-85.6408631,41.9497564],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849182":{"id":"n1819849182","loc":[-85.6476721,41.96384],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849183":{"id":"n1819849183","loc":[-85.6479725,41.983111],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849184":{"id":"n1819849184","loc":[-85.640788,41.9500516],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849185":{"id":"n1819849185","loc":[-85.6427798,41.9528778],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849186":{"id":"n1819849186","loc":[-85.6435308,41.9534124],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849187":{"id":"n1819849187","loc":[-85.6483733,41.9821998],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849189":{"id":"n1819849189","loc":[-85.6351752,41.9440796],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849191":{"id":"n1819849191","loc":[-85.6487021,41.9601463],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849192":{"id":"n1819849192","loc":[-85.6363811,41.9437605],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849193":{"id":"n1819849193","loc":[-85.6490883,41.9759728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849194":{"id":"n1819849194","loc":[-85.6423292,41.9520081],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849195":{"id":"n1819849195","loc":[-85.6500003,41.960242],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849196":{"id":"n1819849196","loc":[-85.6385778,41.9466443],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849197":{"id":"n1819849197","loc":[-85.6494032,41.9718789],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849198":{"id":"n1819849198","loc":[-85.6404339,41.9506501],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849199":{"id":"n1819849199","loc":[-85.6426226,41.9527083],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849200":{"id":"n1819849200","loc":[-85.6439101,41.9545035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849201":{"id":"n1819849201","loc":[-85.6516563,41.9657845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819849202":{"id":"n1819849202","loc":[-85.6473395,41.9699585],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819858501":{"id":"n1819858501","loc":[-85.6361263,41.9437126],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858503":{"id":"n1819858503","loc":[-85.6350068,41.944034],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819858513":{"id":"n1819858513","loc":[-85.6371402,41.9453282],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858518":{"id":"n1819858518","loc":[-85.6348713,41.9432923],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858523":{"id":"n1819858523","loc":[-85.6357047,41.943799],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858526":{"id":"n1819858526","loc":[-85.6349947,41.9435756],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858531":{"id":"n1819858531","loc":[-85.6350376,41.943827],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1820937508":{"id":"n1820937508","loc":[-85.1026013,42.0881722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937509":{"id":"n1820937509","loc":[-85.0558088,42.102493],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937511":{"id":"n1820937511","loc":[-85.3030116,41.9724451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937513":{"id":"n1820937513","loc":[-85.0353221,42.1027398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937514":{"id":"n1820937514","loc":[-85.0835468,42.1015469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937515":{"id":"n1820937515","loc":[-85.2421298,42.0106305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937517":{"id":"n1820937517","loc":[-85.0090632,42.0910452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937518":{"id":"n1820937518","loc":[-85.086626,42.0948838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937520":{"id":"n1820937520","loc":[-85.2552039,42.0015448],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937521":{"id":"n1820937521","loc":[-85.3739614,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937522":{"id":"n1820937522","loc":[-85.4831166,41.993898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937523":{"id":"n1820937523","loc":[-85.0341084,42.0977657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937524":{"id":"n1820937524","loc":[-85.3272802,41.9710333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937525":{"id":"n1820937525","loc":[-85.2125568,42.0414521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937526":{"id":"n1820937526","loc":[-85.3798022,41.9992458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937527":{"id":"n1820937527","loc":[-85.2652021,41.999768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937528":{"id":"n1820937528","loc":[-85.3852739,42.0004896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937529":{"id":"n1820937529","loc":[-85.3911919,42.0030513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937530":{"id":"n1820937530","loc":[-85.5440349,41.9717109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937531":{"id":"n1820937531","loc":[-85.2790155,41.9911764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937532":{"id":"n1820937532","loc":[-85.4723277,41.9950518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937533":{"id":"n1820937533","loc":[-85.5690546,41.9653931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937535":{"id":"n1820937535","loc":[-85.5674882,41.9649623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937536":{"id":"n1820937536","loc":[-85.6362815,41.9189165],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937537":{"id":"n1820937537","loc":[-85.5659003,41.963638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937539":{"id":"n1820937539","loc":[-85.6391353,41.9122262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937540":{"id":"n1820937540","loc":[-85.4834385,41.9894803],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937541":{"id":"n1820937541","loc":[-85.6399078,41.9160744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937542":{"id":"n1820937542","loc":[-85.632874,41.941031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937543":{"id":"n1820937543","loc":[-85.1307591,42.0726961],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937544":{"id":"n1820937544","loc":[-85.6444397,41.9128378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937545":{"id":"n1820937545","loc":[-85.6197204,41.9420365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937546":{"id":"n1820937546","loc":[-85.1164857,42.0864631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937547":{"id":"n1820937547","loc":[-85.6476111,41.9142222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937548":{"id":"n1820937548","loc":[-85.2915747,41.9774223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937549":{"id":"n1820937549","loc":[-85.6430192,41.9102461],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937550":{"id":"n1820937550","loc":[-85.1597495,42.0639017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937551":{"id":"n1820937551","loc":[-85.5504079,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937553":{"id":"n1820937553","loc":[-85.2781317,41.9948951],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937555":{"id":"n1820937555","loc":[-85.3724594,41.997518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937556":{"id":"n1820937556","loc":[-85.5629434,41.9665155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937557":{"id":"n1820937557","loc":[-85.3791971,41.9990808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937558":{"id":"n1820937558","loc":[-85.001891,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937560":{"id":"n1820937560","loc":[-85.3140838,41.9709056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937561":{"id":"n1820937561","loc":[-85.2468032,42.0146987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937563":{"id":"n1820937563","loc":[-85.0877378,42.097255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937564":{"id":"n1820937564","loc":[-85.2442498,42.0150654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937566":{"id":"n1820937566","loc":[-85.3108973,41.9701478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937568":{"id":"n1820937568","loc":[-85.0344584,42.1016572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937569":{"id":"n1820937569","loc":[-85.2331025,42.0297387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937570":{"id":"n1820937570","loc":[-85.5058446,41.9746996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937571":{"id":"n1820937571","loc":[-85.5622739,41.9676427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937572":{"id":"n1820937572","loc":[-85.2792687,41.9890337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937574":{"id":"n1820937574","loc":[-84.9909302,42.08695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937575":{"id":"n1820937575","loc":[-85.6218233,41.9418609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937576":{"id":"n1820937576","loc":[-85.3577437,41.9931062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937577":{"id":"n1820937577","loc":[-85.639028,41.9165853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937578":{"id":"n1820937578","loc":[-84.9956576,42.0865348],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937579":{"id":"n1820937579","loc":[-85.4828376,41.990198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937580":{"id":"n1820937580","loc":[-85.3244478,41.9720543],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937582":{"id":"n1820937582","loc":[-85.0517479,42.1035159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937583":{"id":"n1820937583","loc":[-85.225646,42.0338025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937584":{"id":"n1820937584","loc":[-84.9941019,42.0862163],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937586":{"id":"n1820937586","loc":[-85.1051762,42.0879452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937587":{"id":"n1820937587","loc":[-85.1245203,42.0753162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937588":{"id":"n1820937588","loc":[-85.3250808,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937589":{"id":"n1820937589","loc":[-85.2720109,41.997933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937590":{"id":"n1820937590","loc":[-85.2556653,42.0027248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937591":{"id":"n1820937591","loc":[-85.0872483,42.0943544],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937592":{"id":"n1820937592","loc":[-85.2778353,41.9955023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937593":{"id":"n1820937593","loc":[-85.2984733,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937594":{"id":"n1820937594","loc":[-85.101578,42.0889552],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937595":{"id":"n1820937595","loc":[-85.3888745,42.0016959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937596":{"id":"n1820937596","loc":[-84.9903508,42.0870654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937597":{"id":"n1820937597","loc":[-85.6405558,41.9146261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937598":{"id":"n1820937598","loc":[-85.6460704,41.9141311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937599":{"id":"n1820937599","loc":[-85.0377468,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937600":{"id":"n1820937600","loc":[-85.2298345,42.0312899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937601":{"id":"n1820937601","loc":[-85.1080958,42.0861964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937602":{"id":"n1820937602","loc":[-85.6325307,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937603":{"id":"n1820937603","loc":[-85.1165984,42.0832184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937604":{"id":"n1820937604","loc":[-85.6354446,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937605":{"id":"n1820937605","loc":[-85.1114592,42.0862959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937606":{"id":"n1820937606","loc":[-85.0858763,42.1001646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937607":{"id":"n1820937607","loc":[-85.0472083,42.1015151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937608":{"id":"n1820937608","loc":[-85.0802477,42.1027609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937610":{"id":"n1820937610","loc":[-85.0924585,42.0928564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937611":{"id":"n1820937611","loc":[-85.0329617,42.09827],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937612":{"id":"n1820937612","loc":[-85.2814617,41.993465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937613":{"id":"n1820937613","loc":[-85.3097708,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937614":{"id":"n1820937614","loc":[-85.2809427,41.993695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937615":{"id":"n1820937615","loc":[-85.0583233,42.1026494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937617":{"id":"n1820937617","loc":[-85.2801592,41.9840021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937619":{"id":"n1820937619","loc":[-85.1064154,42.0863449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937620":{"id":"n1820937620","loc":[-85.0423173,42.1014662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937621":{"id":"n1820937621","loc":[-85.2168913,42.0398107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937622":{"id":"n1820937622","loc":[-85.2798481,41.9833401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937623":{"id":"n1820937623","loc":[-85.0575468,42.1028672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937625":{"id":"n1820937625","loc":[-85.0130369,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937626":{"id":"n1820937626","loc":[-85.0346985,42.1018256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937627":{"id":"n1820937627","loc":[-85.2231569,42.0372768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937628":{"id":"n1820937628","loc":[-85.2956195,41.9732268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937629":{"id":"n1820937629","loc":[-85.1052312,42.086893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937630":{"id":"n1820937630","loc":[-85.4813356,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937631":{"id":"n1820937631","loc":[-85.0961599,42.0914672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937632":{"id":"n1820937632","loc":[-85.308419,41.9704749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937633":{"id":"n1820937633","loc":[-85.295952,41.9715119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937634":{"id":"n1820937634","loc":[-85.3310933,41.9703923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937635":{"id":"n1820937635","loc":[-85.2940745,41.9739686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937636":{"id":"n1820937636","loc":[-85.3803343,42.000484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937637":{"id":"n1820937637","loc":[-85.1174231,42.0845533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937638":{"id":"n1820937638","loc":[-85.0095836,42.089839],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937639":{"id":"n1820937639","loc":[-85.3179354,41.9705866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937640":{"id":"n1820937640","loc":[-85.257708,42.0001189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937641":{"id":"n1820937641","loc":[-85.2563522,42.0002771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937642":{"id":"n1820937642","loc":[-85.3181929,41.970419],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937643":{"id":"n1820937643","loc":[-85.2911884,41.9757154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937644":{"id":"n1820937644","loc":[-85.2714423,41.9975862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937645":{"id":"n1820937645","loc":[-85.0193669,42.089888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937646":{"id":"n1820937646","loc":[-85.3889818,42.0039921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937647":{"id":"n1820937647","loc":[-85.3408093,41.9853965],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937648":{"id":"n1820937648","loc":[-85.1258091,42.0748332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937649":{"id":"n1820937649","loc":[-85.5722561,41.962782],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937650":{"id":"n1820937650","loc":[-85.3266902,41.9721819],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937651":{"id":"n1820937651","loc":[-85.1473255,42.065192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937652":{"id":"n1820937652","loc":[-85.1462526,42.0655106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937653":{"id":"n1820937653","loc":[-85.4641051,42.0013929],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937654":{"id":"n1820937654","loc":[-85.5620379,41.9700677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937655":{"id":"n1820937655","loc":[-85.3226025,41.971121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937656":{"id":"n1820937656","loc":[-85.0200965,42.0899516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937657":{"id":"n1820937657","loc":[-85.0624714,42.1044711],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937658":{"id":"n1820937658","loc":[-85.5649562,41.9637178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937659":{"id":"n1820937659","loc":[-85.2360315,42.0253315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937660":{"id":"n1820937660","loc":[-85.3881449,41.9994475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937661":{"id":"n1820937661","loc":[-85.5032911,41.976263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937662":{"id":"n1820937662","loc":[-85.481297,41.9871414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937663":{"id":"n1820937663","loc":[-85.1167056,42.0841898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937664":{"id":"n1820937664","loc":[-85.2891714,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937665":{"id":"n1820937665","loc":[-85.4393429,42.0058736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937666":{"id":"n1820937666","loc":[-85.0077007,42.0895762],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937667":{"id":"n1820937667","loc":[-85.2736202,41.9979171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937668":{"id":"n1820937668","loc":[-84.9935332,42.0859296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937669":{"id":"n1820937669","loc":[-85.0622769,42.1046713],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937670":{"id":"n1820937670","loc":[-85.2309031,42.0311249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937671":{"id":"n1820937671","loc":[-85.0343726,42.10069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937672":{"id":"n1820937672","loc":[-85.0596551,42.1048612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937673":{"id":"n1820937673","loc":[-85.1338597,42.0707449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937674":{"id":"n1820937674","loc":[-85.3117663,41.9689194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937675":{"id":"n1820937675","loc":[-85.0705649,42.1057499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937676":{"id":"n1820937676","loc":[-85.2441425,42.0180944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937677":{"id":"n1820937677","loc":[-85.1171174,42.0862692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937678":{"id":"n1820937678","loc":[-85.0346824,42.1005519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937680":{"id":"n1820937680","loc":[-85.2389927,42.0229245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937681":{"id":"n1820937681","loc":[-85.0834892,42.1018642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937682":{"id":"n1820937682","loc":[-85.0619443,42.1049459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937683":{"id":"n1820937683","loc":[-85.2845366,41.9811868],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937684":{"id":"n1820937684","loc":[-85.210411,42.0394123],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937685":{"id":"n1820937685","loc":[-85.4377383,42.0055942],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820937686":{"id":"n1820937686","loc":[-85.2882058,41.9789138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937687":{"id":"n1820937687","loc":[-85.2741191,41.9955808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937688":{"id":"n1820937688","loc":[-85.3442211,41.9903575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937689":{"id":"n1820937689","loc":[-85.2641413,41.9995237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937690":{"id":"n1820937690","loc":[-85.2804489,41.9829174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937691":{"id":"n1820937691","loc":[-85.5593342,41.9729074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937692":{"id":"n1820937692","loc":[-85.3590912,41.9932601],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937694":{"id":"n1820937694","loc":[-85.4826445,41.9957479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937695":{"id":"n1820937695","loc":[-85.4539127,42.0063041],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937696":{"id":"n1820937696","loc":[-85.2456767,42.0153683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937697":{"id":"n1820937697","loc":[-85.5794015,41.9489631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937698":{"id":"n1820937698","loc":[-85.4108686,42.0078507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937699":{"id":"n1820937699","loc":[-85.0616386,42.1051529],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937700":{"id":"n1820937700","loc":[-85.4977979,41.978241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937701":{"id":"n1820937701","loc":[-85.2488417,42.0086319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937702":{"id":"n1820937702","loc":[-85.5588836,41.9728116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937703":{"id":"n1820937703","loc":[-85.4557366,42.0051241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937705":{"id":"n1820937705","loc":[-85.0723151,42.1056094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937706":{"id":"n1820937706","loc":[-85.0057909,42.0887323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937707":{"id":"n1820937707","loc":[-85.0756786,42.105677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937708":{"id":"n1820937708","loc":[-85.0901504,42.0940001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937709":{"id":"n1820937709","loc":[-85.0979999,42.0910213],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937710":{"id":"n1820937710","loc":[-85.2376301,42.0239686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937711":{"id":"n1820937711","loc":[-85.2780671,41.9902299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937712":{"id":"n1820937712","loc":[-85.251481,42.0113188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937713":{"id":"n1820937713","loc":[-85.3114767,41.9690311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937714":{"id":"n1820937714","loc":[-85.2649621,41.9975662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937715":{"id":"n1820937715","loc":[-85.283807,41.9813383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937716":{"id":"n1820937716","loc":[-85.5515451,41.9703867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937717":{"id":"n1820937717","loc":[-85.1176605,42.0850896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937718":{"id":"n1820937718","loc":[-85.1069317,42.0862441],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937719":{"id":"n1820937719","loc":[-85.2739314,41.9976938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937720":{"id":"n1820937720","loc":[-85.5550212,41.9702112],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937721":{"id":"n1820937721","loc":[-85.3076679,41.9719904],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937722":{"id":"n1820937722","loc":[-85.592319,41.9440316],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937723":{"id":"n1820937723","loc":[-85.3139979,41.9704031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937724":{"id":"n1820937724","loc":[-85.0421134,42.1013149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937725":{"id":"n1820937725","loc":[-85.2508373,42.0102741],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937726":{"id":"n1820937726","loc":[-85.0830922,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937727":{"id":"n1820937727","loc":[-85.6342473,41.9360031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937730":{"id":"n1820937730","loc":[-85.0500192,42.1024942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937731":{"id":"n1820937731","loc":[-85.3498644,41.9926221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937732":{"id":"n1820937732","loc":[-85.0234117,42.0918903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937733":{"id":"n1820937733","loc":[-85.0464425,42.1009408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937734":{"id":"n1820937734","loc":[-85.033938,42.099886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937736":{"id":"n1820937736","loc":[-85.0152752,42.0886009],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937737":{"id":"n1820937737","loc":[-85.0441894,42.1012671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937738":{"id":"n1820937738","loc":[-85.4668731,41.9979804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937739":{"id":"n1820937739","loc":[-85.4407377,42.006033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937740":{"id":"n1820937740","loc":[-85.2262253,42.0344878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937741":{"id":"n1820937741","loc":[-85.2550001,42.0033706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937742":{"id":"n1820937742","loc":[-85.3071422,41.9722617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937743":{"id":"n1820937743","loc":[-85.6147852,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937744":{"id":"n1820937744","loc":[-85.0183853,42.0901825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937745":{"id":"n1820937745","loc":[-85.6323161,41.9228489],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937746":{"id":"n1820937746","loc":[-85.0095568,42.0901376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937747":{"id":"n1820937747","loc":[-85.2524037,42.0113826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937748":{"id":"n1820937748","loc":[-85.3186864,41.9708578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937749":{"id":"n1820937749","loc":[-85.2805669,41.9870883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937750":{"id":"n1820937750","loc":[-85.0585768,42.1038144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937751":{"id":"n1820937751","loc":[-85.2970786,41.9715358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937752":{"id":"n1820937752","loc":[-85.1315758,42.0723445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937753":{"id":"n1820937753","loc":[-85.2448291,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937754":{"id":"n1820937754","loc":[-85.2446468,42.0174248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937755":{"id":"n1820937755","loc":[-85.229165,42.032129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937756":{"id":"n1820937756","loc":[-85.5612654,41.9724926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937757":{"id":"n1820937757","loc":[-85.2331776,42.030854],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937758":{"id":"n1820937758","loc":[-85.2271909,42.0334519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937759":{"id":"n1820937759","loc":[-85.1032396,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937760":{"id":"n1820937760","loc":[-85.0638447,42.1044154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937761":{"id":"n1820937761","loc":[-85.1260706,42.0745556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937762":{"id":"n1820937762","loc":[-85.3454485,41.99132],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937763":{"id":"n1820937763","loc":[-85.2639321,41.9980088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937764":{"id":"n1820937764","loc":[-85.0837681,42.1013746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937765":{"id":"n1820937765","loc":[-85.2808137,41.9869368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937766":{"id":"n1820937766","loc":[-85.6338997,41.9309373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937767":{"id":"n1820937767","loc":[-85.2267403,42.0332766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937768":{"id":"n1820937768","loc":[-85.0605831,42.1052074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937769":{"id":"n1820937769","loc":[-85.0259021,42.0930037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937770":{"id":"n1820937770","loc":[-85.232963,42.0313162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937771":{"id":"n1820937771","loc":[-85.2404947,42.0125381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937772":{"id":"n1820937772","loc":[-85.0910892,42.0935742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937773":{"id":"n1820937773","loc":[-85.2554829,42.0019435],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937774":{"id":"n1820937774","loc":[-85.2799339,41.9867773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937775":{"id":"n1820937775","loc":[-85.1075432,42.0852767],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937776":{"id":"n1820937776","loc":[-85.1176927,42.0854001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937777":{"id":"n1820937777","loc":[-85.1067064,42.0863357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937778":{"id":"n1820937778","loc":[-85.2517492,42.0106333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937779":{"id":"n1820937779","loc":[-85.0987174,42.0909031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937780":{"id":"n1820937780","loc":[-85.1160083,42.0863994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937781":{"id":"n1820937781","loc":[-85.1268645,42.0739703],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937782":{"id":"n1820937782","loc":[-85.0454702,42.1002852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937783":{"id":"n1820937783","loc":[-85.1334145,42.0705418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937784":{"id":"n1820937784","loc":[-85.5866542,41.947431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937786":{"id":"n1820937786","loc":[-85.2359886,42.0250366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937787":{"id":"n1820937787","loc":[-85.3138048,41.9698527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937788":{"id":"n1820937788","loc":[-85.1274291,42.0733081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937790":{"id":"n1820937790","loc":[-85.6292905,41.9411267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937791":{"id":"n1820937791","loc":[-85.5958809,41.9417333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937792":{"id":"n1820937792","loc":[-85.1271019,42.0737581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937793":{"id":"n1820937793","loc":[-85.2312679,42.0314437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937794":{"id":"n1820937794","loc":[-85.1081387,42.0863516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937795":{"id":"n1820937795","loc":[-85.2424473,42.0212109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937796":{"id":"n1820937796","loc":[-85.2710654,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937797":{"id":"n1820937797","loc":[-85.4798408,41.9863223],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820937798":{"id":"n1820937798","loc":[-85.035939,42.104296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937799":{"id":"n1820937799","loc":[-85.2178139,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937800":{"id":"n1820937800","loc":[-85.0630709,42.1042614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937801":{"id":"n1820937801","loc":[-85.0440124,42.1014861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937802":{"id":"n1820937802","loc":[-85.1321874,42.0720458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937804":{"id":"n1820937804","loc":[-85.079427,42.1029121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937805":{"id":"n1820937805","loc":[-85.2962632,41.9738968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937806":{"id":"n1820937806","loc":[-85.6334748,41.9274627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937807":{"id":"n1820937807","loc":[-85.1057341,42.0872804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937808":{"id":"n1820937808","loc":[-85.4960169,41.9778263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937809":{"id":"n1820937809","loc":[-85.2821226,41.9910273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937810":{"id":"n1820937810","loc":[-85.0013868,42.0885054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937811":{"id":"n1820937811","loc":[-85.2952547,41.9729795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937812":{"id":"n1820937812","loc":[-85.1298375,42.0667842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937813":{"id":"n1820937813","loc":[-85.1339201,42.0710025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937814":{"id":"n1820937814","loc":[-85.0374356,42.103691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937815":{"id":"n1820937815","loc":[-85.0061115,42.0880607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937817":{"id":"n1820937817","loc":[-85.2398402,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937818":{"id":"n1820937818","loc":[-85.123501,42.076236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937819":{"id":"n1820937819","loc":[-85.1209489,42.0791294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937820":{"id":"n1820937820","loc":[-85.0818624,42.1025778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937821":{"id":"n1820937821","loc":[-85.4428835,42.0054749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937822":{"id":"n1820937822","loc":[-85.4710359,41.9961147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937823":{"id":"n1820937823","loc":[-85.4253354,42.006198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937824":{"id":"n1820937824","loc":[-85.5486483,41.9709451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937825":{"id":"n1820937825","loc":[-85.2303238,42.0310452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937826":{"id":"n1820937826","loc":[-85.6450405,41.9136361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937828":{"id":"n1820937828","loc":[-85.2606853,41.9964073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937830":{"id":"n1820937830","loc":[-85.097383,42.0911447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937831":{"id":"n1820937831","loc":[-85.0498207,42.102136],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937832":{"id":"n1820937832","loc":[-85.1232435,42.0763793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937833":{"id":"n1820937833","loc":[-85.394093,42.0055921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937834":{"id":"n1820937834","loc":[-85.3566665,41.9928295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937835":{"id":"n1820937835","loc":[-85.3543276,41.9920002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937837":{"id":"n1820937837","loc":[-85.084668,42.1034932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937838":{"id":"n1820937838","loc":[-85.4400296,42.0060649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937839":{"id":"n1820937839","loc":[-85.2362246,42.025714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937840":{"id":"n1820937840","loc":[-85.0409225,42.1012791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937841":{"id":"n1820937841","loc":[-85.2442283,42.019832],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937842":{"id":"n1820937842","loc":[-85.1123001,42.084824],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937843":{"id":"n1820937843","loc":[-85.1603074,42.0638061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937844":{"id":"n1820937844","loc":[-85.1359744,42.0650646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937845":{"id":"n1820937845","loc":[-85.1757569,42.053849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937846":{"id":"n1820937846","loc":[-85.5200925,41.9716686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937848":{"id":"n1820937848","loc":[-85.5525322,41.9701315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937849":{"id":"n1820937849","loc":[-85.0406489,42.10149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937850":{"id":"n1820937850","loc":[-85.0142547,42.088825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937851":{"id":"n1820937851","loc":[-85.343749,41.9881884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937852":{"id":"n1820937852","loc":[-85.074996,42.1060205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937853":{"id":"n1820937853","loc":[-85.2436275,42.0136864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937854":{"id":"n1820937854","loc":[-85.2641453,41.9980897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937856":{"id":"n1820937856","loc":[-85.2802343,41.9870086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937857":{"id":"n1820937857","loc":[-85.0099256,42.0909946],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937858":{"id":"n1820937858","loc":[-85.493957,41.9786079],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937859":{"id":"n1820937859","loc":[-85.0739405,42.1059795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937860":{"id":"n1820937860","loc":[-85.2331605,42.0301423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937862":{"id":"n1820937862","loc":[-85.2035231,42.0438425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937863":{"id":"n1820937863","loc":[-85.0884928,42.0986971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937864":{"id":"n1820937864","loc":[-85.131597,42.0690142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937865":{"id":"n1820937865","loc":[-85.3937454,42.0052677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937866":{"id":"n1820937866","loc":[-85.2212729,42.0378561],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937867":{"id":"n1820937867","loc":[-85.0886068,42.0982421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937868":{"id":"n1820937868","loc":[-85.0875004,42.0968064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937869":{"id":"n1820937869","loc":[-85.0771323,42.1042642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937870":{"id":"n1820937870","loc":[-85.0164554,42.0894887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937871":{"id":"n1820937871","loc":[-85.6069102,41.9415577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937872":{"id":"n1820937872","loc":[-85.3273875,41.9704908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937873":{"id":"n1820937873","loc":[-85.3890891,41.9997983],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937875":{"id":"n1820937875","loc":[-85.5091276,41.9723705],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937876":{"id":"n1820937876","loc":[-85.0770626,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937877":{"id":"n1820937877","loc":[-85.612575,41.9419567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937878":{"id":"n1820937878","loc":[-85.3868146,42.0036094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937879":{"id":"n1820937879","loc":[-85.2722738,41.9981204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937880":{"id":"n1820937880","loc":[-85.3064878,41.9723733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937882":{"id":"n1820937882","loc":[-85.1270845,42.0727678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937884":{"id":"n1820937884","loc":[-85.3316512,41.97923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937885":{"id":"n1820937885","loc":[-85.3932519,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937886":{"id":"n1820937886","loc":[-85.2457411,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937887":{"id":"n1820937887","loc":[-85.1397509,42.0648415],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937891":{"id":"n1820937891","loc":[-85.3196735,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937892":{"id":"n1820937892","loc":[-85.3372473,41.9845033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937894":{"id":"n1820937894","loc":[-85.3254778,41.9719745],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937897":{"id":"n1820937897","loc":[-85.3185148,41.9691268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937899":{"id":"n1820937899","loc":[-85.5419106,41.9714556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937901":{"id":"n1820937901","loc":[-85.3293509,41.9748368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937903":{"id":"n1820937903","loc":[-85.0798078,42.1028365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937905":{"id":"n1820937905","loc":[-85.3954191,42.0056025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937909":{"id":"n1820937909","loc":[-85.3417534,41.9857155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937913":{"id":"n1820937913","loc":[-84.9927822,42.0857107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937915":{"id":"n1820937915","loc":[-85.5444212,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937917":{"id":"n1820937917","loc":[-85.259088,41.9981682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937921":{"id":"n1820937921","loc":[-85.2784576,41.9876358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937922":{"id":"n1820937922","loc":[-84.9971918,42.087753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937924":{"id":"n1820937924","loc":[-85.5310688,41.966899],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820937928":{"id":"n1820937928","loc":[-85.3766436,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937930":{"id":"n1820937930","loc":[-85.5494852,41.9704346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937933":{"id":"n1820937933","loc":[-85.5548281,41.9695412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937935":{"id":"n1820937935","loc":[-85.0768588,42.105088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937937":{"id":"n1820937937","loc":[-85.2646885,41.9978054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937939":{"id":"n1820937939","loc":[-85.2441532,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937941":{"id":"n1820937941","loc":[-85.105553,42.0877928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937943":{"id":"n1820937943","loc":[-85.0879457,42.0958909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937944":{"id":"n1820937944","loc":[-85.3187015,41.9704402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937945":{"id":"n1820937945","loc":[-85.5624456,41.970626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937946":{"id":"n1820937946","loc":[-85.0580176,42.1028644],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937948":{"id":"n1820937948","loc":[-85.3016061,41.9726286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937949":{"id":"n1820937949","loc":[-85.4310388,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937950":{"id":"n1820937950","loc":[-85.2945144,41.9740723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937951":{"id":"n1820937951","loc":[-85.1170222,42.082657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937952":{"id":"n1820937952","loc":[-85.0864503,42.0947632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937953":{"id":"n1820937953","loc":[-85.4285926,42.0059533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937970":{"id":"n1820937970","loc":[-85.3629965,41.9938023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937972":{"id":"n1820937972","loc":[-85.2438099,42.0199755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937974":{"id":"n1820937974","loc":[-85.1327654,42.0699285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937977":{"id":"n1820937977","loc":[-85.1515956,42.0611935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937978":{"id":"n1820937978","loc":[-85.0107369,42.0896638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937979":{"id":"n1820937979","loc":[-85.1152626,42.0862083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937980":{"id":"n1820937980","loc":[-85.4531831,42.0062881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937981":{"id":"n1820937981","loc":[-85.0341473,42.0985924],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937982":{"id":"n1820937982","loc":[-85.0877485,42.0960171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937983":{"id":"n1820937983","loc":[-85.2756373,41.9951742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937984":{"id":"n1820937984","loc":[-85.2965421,41.9714401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937985":{"id":"n1820937985","loc":[-85.2409775,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937986":{"id":"n1820937986","loc":[-85.0170723,42.0900579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937987":{"id":"n1820937987","loc":[-85.1034663,42.0880555],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937988":{"id":"n1820937988","loc":[-85.0585071,42.1031577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937990":{"id":"n1820937990","loc":[-85.0819174,42.1032373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937992":{"id":"n1820937992","loc":[-85.0546608,42.1030542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937993":{"id":"n1820937993","loc":[-85.0100811,42.0906125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937995":{"id":"n1820937995","loc":[-85.6304278,41.9432655],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937997":{"id":"n1820937997","loc":[-85.0255628,42.092778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820938011":{"id":"n1820938011","loc":[-85.2316756,42.0317146],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938012":{"id":"n1820938012","loc":[-85.4067917,42.008042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938013":{"id":"n1820938013","loc":[-85.390398,42.0028759],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938014":{"id":"n1820938014","loc":[-85.0161604,42.0886527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938015":{"id":"n1820938015","loc":[-85.125337,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938016":{"id":"n1820938016","loc":[-85.2151317,42.0404801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938017":{"id":"n1820938017","loc":[-85.3165085,41.9706025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938018":{"id":"n1820938018","loc":[-85.5641193,41.9640688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938019":{"id":"n1820938019","loc":[-85.147583,42.0642203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938022":{"id":"n1820938022","loc":[-85.2803781,41.9947886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938024":{"id":"n1820938024","loc":[-85.2692469,41.9982053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938026":{"id":"n1820938026","loc":[-85.4321975,42.0067505],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938028":{"id":"n1820938028","loc":[-85.572535,41.9633405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938030":{"id":"n1820938030","loc":[-85.3237505,41.9716475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938032":{"id":"n1820938032","loc":[-85.6487698,41.9141583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938033":{"id":"n1820938033","loc":[-85.0526371,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938034":{"id":"n1820938034","loc":[-85.088069,42.0978731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938035":{"id":"n1820938035","loc":[-85.2516312,42.0102267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938039":{"id":"n1820938039","loc":[-85.2731374,41.9982958],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938040":{"id":"n1820938040","loc":[-85.5453224,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938041":{"id":"n1820938041","loc":[-85.4480548,42.0049647],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938043":{"id":"n1820938043","loc":[-85.2504081,42.010322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938045":{"id":"n1820938045","loc":[-85.2663447,41.99919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938046":{"id":"n1820938046","loc":[-85.0507287,42.102907],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938047":{"id":"n1820938047","loc":[-85.0408246,42.1024743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938048":{"id":"n1820938048","loc":[-85.2796335,41.9866099],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938050":{"id":"n1820938050","loc":[-85.452475,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938051":{"id":"n1820938051","loc":[-85.2410569,42.0128147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938052":{"id":"n1820938052","loc":[-85.0413302,42.1011477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938053":{"id":"n1820938053","loc":[-85.6327409,41.9197627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938056":{"id":"n1820938056","loc":[-85.1072039,42.0857994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938057":{"id":"n1820938057","loc":[-85.2001114,42.0448145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938058":{"id":"n1820938058","loc":[-85.2655347,41.9978186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938059":{"id":"n1820938059","loc":[-85.2330918,42.0304874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938060":{"id":"n1820938060","loc":[-85.2601113,41.9966545],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938061":{"id":"n1820938061","loc":[-85.5397863,41.9708494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938062":{"id":"n1820938062","loc":[-85.2702085,41.9977217],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938063":{"id":"n1820938063","loc":[-85.2219982,42.03699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938064":{"id":"n1820938064","loc":[-85.0668957,42.105121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938065":{"id":"n1820938065","loc":[-85.2328665,42.0270769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938066":{"id":"n1820938066","loc":[-85.3189654,41.9694778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938067":{"id":"n1820938067","loc":[-85.3814115,42.0022915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938068":{"id":"n1820938068","loc":[-85.2759108,41.9956008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938069":{"id":"n1820938069","loc":[-85.0391938,42.1034853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938070":{"id":"n1820938070","loc":[-85.2850623,41.9810353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938071":{"id":"n1820938071","loc":[-85.538074,41.970855],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938073":{"id":"n1820938073","loc":[-85.1319661,42.0670932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938074":{"id":"n1820938074","loc":[-85.2816763,41.9913678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938075":{"id":"n1820938075","loc":[-85.3182144,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938076":{"id":"n1820938076","loc":[-85.5909028,41.9458989],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938077":{"id":"n1820938077","loc":[-85.4057617,42.0074361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938078":{"id":"n1820938078","loc":[-85.2620438,41.9967729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938079":{"id":"n1820938079","loc":[-85.1122143,42.0851107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938080":{"id":"n1820938080","loc":[-85.2443785,42.0174567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938081":{"id":"n1820938081","loc":[-85.0319733,42.0953853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938082":{"id":"n1820938082","loc":[-85.0878276,42.09443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938083":{"id":"n1820938083","loc":[-85.0271789,42.0935809],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938084":{"id":"n1820938084","loc":[-85.0326399,42.0974222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938085":{"id":"n1820938085","loc":[-85.3989167,42.0065592],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938086":{"id":"n1820938086","loc":[-85.3263361,41.9721261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938087":{"id":"n1820938087","loc":[-85.2547855,42.0037134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938088":{"id":"n1820938088","loc":[-85.4373259,42.005746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938089":{"id":"n1820938089","loc":[-85.3094275,41.9699245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938090":{"id":"n1820938090","loc":[-85.2783246,41.9872793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938092":{"id":"n1820938092","loc":[-85.0815633,42.1025169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938093":{"id":"n1820938093","loc":[-85.1788511,42.0522134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938095":{"id":"n1820938095","loc":[-85.2830345,41.9816733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938096":{"id":"n1820938096","loc":[-85.0744984,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938097":{"id":"n1820938097","loc":[-85.2788396,41.9879333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938098":{"id":"n1820938098","loc":[-85.3640093,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938099":{"id":"n1820938099","loc":[-85.291167,41.9787463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938100":{"id":"n1820938100","loc":[-85.0772436,42.1038156],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938101":{"id":"n1820938101","loc":[-85.00563,42.0887482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938102":{"id":"n1820938102","loc":[-85.0326881,42.0961245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938104":{"id":"n1820938104","loc":[-85.0530448,42.1038634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938105":{"id":"n1820938105","loc":[-85.2625266,41.9970639],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938106":{"id":"n1820938106","loc":[-85.2827556,41.9823512],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938107":{"id":"n1820938107","loc":[-85.2784319,41.9910752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938108":{"id":"n1820938108","loc":[-85.0882099,42.094393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938109":{"id":"n1820938109","loc":[-85.5718484,41.9645371],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938110":{"id":"n1820938110","loc":[-85.2559764,42.0099317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938111":{"id":"n1820938111","loc":[-85.2969284,41.973179],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938113":{"id":"n1820938113","loc":[-85.3875055,42.0019726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938114":{"id":"n1820938114","loc":[-85.4250779,42.0068199],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938115":{"id":"n1820938115","loc":[-85.0645367,42.104889],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938116":{"id":"n1820938116","loc":[-85.1636762,42.0623724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938117":{"id":"n1820938117","loc":[-85.0757322,42.1055935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938118":{"id":"n1820938118","loc":[-85.3695197,41.9981559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938120":{"id":"n1820938120","loc":[-85.1297516,42.0671027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938121":{"id":"n1820938121","loc":[-85.1057448,42.0875551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938122":{"id":"n1820938122","loc":[-85.2805175,41.9943182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938123":{"id":"n1820938123","loc":[-85.2545173,42.0040722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938124":{"id":"n1820938124","loc":[-84.9966607,42.0871319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938125":{"id":"n1820938125","loc":[-85.0099899,42.0904612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938126":{"id":"n1820938126","loc":[-85.2489919,42.0091102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938127":{"id":"n1820938127","loc":[-85.0342706,42.0979476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938128":{"id":"n1820938128","loc":[-85.1080891,42.0855884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938129":{"id":"n1820938129","loc":[-85.0128183,42.0905356],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938130":{"id":"n1820938130","loc":[-85.631608,41.9434251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938131":{"id":"n1820938131","loc":[-85.2551975,42.0008524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938132":{"id":"n1820938132","loc":[-85.6421823,41.9096233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938133":{"id":"n1820938133","loc":[-85.0125059,42.0906284],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938134":{"id":"n1820938134","loc":[-85.5499358,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938135":{"id":"n1820938135","loc":[-85.5472107,41.9712323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938136":{"id":"n1820938136","loc":[-85.2760758,41.9958691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938137":{"id":"n1820938137","loc":[-85.276678,41.9960433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938138":{"id":"n1820938138","loc":[-85.0570319,42.1024731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938140":{"id":"n1820938140","loc":[-85.2394325,42.0227492],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938142":{"id":"n1820938142","loc":[-85.5666341,41.9638829],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938144":{"id":"n1820938144","loc":[-85.258101,41.9996353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938147":{"id":"n1820938147","loc":[-85.2129645,42.0413565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938149":{"id":"n1820938149","loc":[-84.9962369,42.0868373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938151":{"id":"n1820938151","loc":[-85.2570386,42.0084968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938153":{"id":"n1820938153","loc":[-85.3971142,42.0050285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938155":{"id":"n1820938155","loc":[-85.1072093,42.0855566],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938157":{"id":"n1820938157","loc":[-85.2840323,41.9920959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938159":{"id":"n1820938159","loc":[-85.1187924,42.0816458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938161":{"id":"n1820938161","loc":[-85.2681324,41.9985788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938163":{"id":"n1820938163","loc":[-85.0887034,42.0984969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938165":{"id":"n1820938165","loc":[-85.4133405,42.0073141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938166":{"id":"n1820938166","loc":[-85.0097445,42.0902888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938167":{"id":"n1820938167","loc":[-85.0828133,42.1037388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938168":{"id":"n1820938168","loc":[-85.0549599,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938169":{"id":"n1820938169","loc":[-85.4571528,42.0010421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938178":{"id":"n1820938178","loc":[-85.2706644,41.9975941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938180":{"id":"n1820938180","loc":[-85.2258606,42.0335794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938182":{"id":"n1820938182","loc":[-85.2832276,41.9814659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938184":{"id":"n1820938184","loc":[-85.1082299,42.0860928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938185":{"id":"n1820938185","loc":[-85.3839392,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938186":{"id":"n1820938186","loc":[-85.2772131,41.995905],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938187":{"id":"n1820938187","loc":[-85.1044895,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938188":{"id":"n1820938188","loc":[-85.2135267,42.0407087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938189":{"id":"n1820938189","loc":[-85.2543993,42.0044628],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938190":{"id":"n1820938190","loc":[-85.1501793,42.0617351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938191":{"id":"n1820938191","loc":[-85.3350587,41.9820469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938192":{"id":"n1820938192","loc":[-85.1350731,42.0655735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938193":{"id":"n1820938193","loc":[-85.0404008,42.1028843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938194":{"id":"n1820938194","loc":[-85.6323161,41.943042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938195":{"id":"n1820938195","loc":[-85.1259593,42.0742837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938196":{"id":"n1820938196","loc":[-85.4562988,42.0033758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938197":{"id":"n1820938197","loc":[-85.256824,42.0056826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938198":{"id":"n1820938198","loc":[-85.2742103,41.9963862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938199":{"id":"n1820938199","loc":[-85.0380888,42.1037877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938200":{"id":"n1820938200","loc":[-85.47404,41.9944721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938201":{"id":"n1820938201","loc":[-85.103021,42.087948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938202":{"id":"n1820938202","loc":[-85.4030151,42.0065113],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938203":{"id":"n1820938203","loc":[-85.2113981,42.040735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938204":{"id":"n1820938204","loc":[-85.2603433,41.9965137],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938206":{"id":"n1820938206","loc":[-85.1669378,42.0607634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938207":{"id":"n1820938207","loc":[-85.0642027,42.1046076],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938208":{"id":"n1820938208","loc":[-85.2812428,41.9915696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938209":{"id":"n1820938209","loc":[-85.0839559,42.1038343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938210":{"id":"n1820938210","loc":[-85.1239946,42.0769368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938211":{"id":"n1820938211","loc":[-85.2311177,42.0283042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938212":{"id":"n1820938212","loc":[-85.2791614,41.9882682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938213":{"id":"n1820938213","loc":[-85.2674941,41.9987582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938214":{"id":"n1820938214","loc":[-85.352787,41.9919579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938215":{"id":"n1820938215","loc":[-85.0874146,42.0952182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938216":{"id":"n1820938216","loc":[-85.0069711,42.0877092],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938217":{"id":"n1820938217","loc":[-85.2059049,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938218":{"id":"n1820938218","loc":[-85.2403552,42.0227332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938219":{"id":"n1820938219","loc":[-85.2492923,42.0098915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938220":{"id":"n1820938220","loc":[-85.269778,41.9979541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938221":{"id":"n1820938221","loc":[-85.2097673,42.0389024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938222":{"id":"n1820938222","loc":[-85.0845942,42.1032015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938223":{"id":"n1820938223","loc":[-84.993206,42.0858142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938224":{"id":"n1820938224","loc":[-85.2108187,42.0402729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938225":{"id":"n1820938225","loc":[-84.9893959,42.0873043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938226":{"id":"n1820938226","loc":[-85.2952332,41.9719984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938227":{"id":"n1820938227","loc":[-85.4100961,42.0081536],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938228":{"id":"n1820938228","loc":[-85.3299088,41.9785696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938229":{"id":"n1820938229","loc":[-85.2258176,42.0340097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938230":{"id":"n1820938230","loc":[-85.3146739,41.9711449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938231":{"id":"n1820938231","loc":[-85.5447645,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938232":{"id":"n1820938232","loc":[-85.5510087,41.9705941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938233":{"id":"n1820938233","loc":[-85.5122389,41.9703445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938234":{"id":"n1820938234","loc":[-85.2792687,41.9865381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938235":{"id":"n1820938235","loc":[-85.1475229,42.0630151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938237":{"id":"n1820938237","loc":[-85.0332889,42.0996034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938238":{"id":"n1820938238","loc":[-85.2588882,41.9986877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938239":{"id":"n1820938239","loc":[-85.0656458,42.1050892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938240":{"id":"n1820938240","loc":[-84.9913915,42.086098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938241":{"id":"n1820938241","loc":[-85.4752416,41.9944402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938242":{"id":"n1820938242","loc":[-85.1214304,42.0791147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938243":{"id":"n1820938243","loc":[-85.0075183,42.0886925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938244":{"id":"n1820938244","loc":[-85.1052888,42.0872087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938245":{"id":"n1820938245","loc":[-85.3104252,41.9703393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938246":{"id":"n1820938246","loc":[-85.232109,42.0318158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938247":{"id":"n1820938247","loc":[-85.0756075,42.1059528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938248":{"id":"n1820938248","loc":[-85.0075612,42.0890866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938249":{"id":"n1820938249","loc":[-85.1013312,42.0897474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938250":{"id":"n1820938250","loc":[-85.1168076,42.0828919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938251":{"id":"n1820938251","loc":[-85.2951367,41.9723334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938252":{"id":"n1820938252","loc":[-85.0879363,42.0976053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938253":{"id":"n1820938253","loc":[-85.0354763,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938254":{"id":"n1820938254","loc":[-85.2379627,42.0236339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938255":{"id":"n1820938255","loc":[-85.1308245,42.0685364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938256":{"id":"n1820938256","loc":[-85.0914446,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938257":{"id":"n1820938257","loc":[-85.2436812,42.014069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938258":{"id":"n1820938258","loc":[-85.0682529,42.1056106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938259":{"id":"n1820938259","loc":[-85.290652,41.9766805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938260":{"id":"n1820938260","loc":[-85.0133494,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938261":{"id":"n1820938261","loc":[-85.2753047,41.9949429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938262":{"id":"n1820938262","loc":[-85.0314691,42.0950788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938263":{"id":"n1820938263","loc":[-85.3444786,41.9908359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938264":{"id":"n1820938264","loc":[-85.0443115,42.1009061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938265":{"id":"n1820938265","loc":[-85.0634853,42.1043159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938267":{"id":"n1820938267","loc":[-85.3978223,42.0053952],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938268":{"id":"n1820938268","loc":[-85.0228659,42.0911885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938269":{"id":"n1820938269","loc":[-85.0220237,42.0906272],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938270":{"id":"n1820938270","loc":[-85.1061525,42.0863369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938271":{"id":"n1820938271","loc":[-85.2382309,42.0233708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938272":{"id":"n1820938272","loc":[-85.310672,41.9702755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938273":{"id":"n1820938273","loc":[-85.1448192,42.0652613],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938274":{"id":"n1820938274","loc":[-85.6036057,41.9403766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938275":{"id":"n1820938275","loc":[-85.0778941,42.1032413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938276":{"id":"n1820938276","loc":[-85.1279374,42.0723974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938277":{"id":"n1820938277","loc":[-85.2806635,41.9847836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938278":{"id":"n1820938278","loc":[-85.2653201,41.9976352],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938279":{"id":"n1820938279","loc":[-85.0351665,42.1001805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938280":{"id":"n1820938280","loc":[-85.0718269,42.1056253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938281":{"id":"n1820938281","loc":[-85.2574248,42.0075322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938282":{"id":"n1820938282","loc":[-85.126666,42.0740778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938283":{"id":"n1820938283","loc":[-85.077705,42.1034733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938284":{"id":"n1820938284","loc":[-85.3535552,41.9919045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938286":{"id":"n1820938286","loc":[-85.2810711,41.9866657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938287":{"id":"n1820938287","loc":[-85.4567494,42.0019885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938288":{"id":"n1820938288","loc":[-85.2642419,41.9992936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938289":{"id":"n1820938289","loc":[-85.2643344,41.9980925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938290":{"id":"n1820938290","loc":[-85.3270335,41.9776125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938291":{"id":"n1820938291","loc":[-85.1200584,42.0795077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938292":{"id":"n1820938292","loc":[-85.2290792,42.0340256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938293":{"id":"n1820938293","loc":[-85.6015887,41.9401372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938294":{"id":"n1820938294","loc":[-85.5370869,41.970488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938295":{"id":"n1820938295","loc":[-85.3108866,41.9698048],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938297":{"id":"n1820938297","loc":[-85.1556511,42.0628184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938298":{"id":"n1820938298","loc":[-85.0027922,42.0875221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938300":{"id":"n1820938300","loc":[-85.3873338,42.0040614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938301":{"id":"n1820938301","loc":[-85.0350753,42.1004034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938302":{"id":"n1820938302","loc":[-85.6239476,41.9411906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938304":{"id":"n1820938304","loc":[-85.0118246,42.0897964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938306":{"id":"n1820938306","loc":[-85.4796877,41.995275],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938307":{"id":"n1820938307","loc":[-85.5388636,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938309":{"id":"n1820938309","loc":[-85.2971902,41.9727773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938310":{"id":"n1820938310","loc":[-85.5426831,41.9715513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938311":{"id":"n1820938311","loc":[-85.2798373,41.9836671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938312":{"id":"n1820938312","loc":[-85.2432198,42.0104017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938313":{"id":"n1820938313","loc":[-85.2650412,41.9987554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938317":{"id":"n1820938317","loc":[-85.0015423,42.0882386],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938318":{"id":"n1820938318","loc":[-85.1409783,42.064879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938319":{"id":"n1820938319","loc":[-85.1691908,42.058995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938320":{"id":"n1820938320","loc":[-85.1059165,42.0864882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938321":{"id":"n1820938321","loc":[-85.3664941,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938323":{"id":"n1820938323","loc":[-85.3143198,41.9710971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938324":{"id":"n1820938324","loc":[-85.0016067,42.0880675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938325":{"id":"n1820938325","loc":[-85.0148139,42.0887164],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938326":{"id":"n1820938326","loc":[-85.0324682,42.0959056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938327":{"id":"n1820938327","loc":[-85.0898661,42.0939921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938328":{"id":"n1820938328","loc":[-85.2556427,42.0004936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938329":{"id":"n1820938329","loc":[-85.6287112,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938330":{"id":"n1820938330","loc":[-84.9913392,42.0866701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938331":{"id":"n1820938331","loc":[-85.2685777,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938332":{"id":"n1820938332","loc":[-85.0078884,42.0901614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938333":{"id":"n1820938333","loc":[-84.999642,42.0878616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938334":{"id":"n1820938334","loc":[-85.0188909,42.0899186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938335":{"id":"n1820938335","loc":[-85.2830238,41.9819843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938336":{"id":"n1820938336","loc":[-85.2491421,42.0096204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938337":{"id":"n1820938337","loc":[-85.0585701,42.1034295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938338":{"id":"n1820938338","loc":[-85.0651965,42.1051636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938339":{"id":"n1820938339","loc":[-85.0583944,42.104292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938340":{"id":"n1820938340","loc":[-85.119876,42.0801567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938341":{"id":"n1820938341","loc":[-85.0943937,42.0931323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938342":{"id":"n1820938342","loc":[-85.1504583,42.0613209],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938343":{"id":"n1820938343","loc":[-85.0425426,42.1019836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938345":{"id":"n1820938345","loc":[-84.9991391,42.0878206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938346":{"id":"n1820938346","loc":[-85.2563841,42.0094614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938347":{"id":"n1820938347","loc":[-85.0515387,42.103297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938348":{"id":"n1820938348","loc":[-85.0857261,42.1003636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938349":{"id":"n1820938349","loc":[-85.078971,42.1029241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938350":{"id":"n1820938350","loc":[-85.5699558,41.958931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938351":{"id":"n1820938351","loc":[-85.3181285,41.9696533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938352":{"id":"n1820938352","loc":[-85.5998506,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938353":{"id":"n1820938353","loc":[-85.2567277,42.000317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938354":{"id":"n1820938354","loc":[-85.3082795,41.9708338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938355":{"id":"n1820938355","loc":[-85.3127856,41.9692784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938356":{"id":"n1820938356","loc":[-85.0340775,42.1010721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938357":{"id":"n1820938357","loc":[-85.3158111,41.9706583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938359":{"id":"n1820938359","loc":[-85.2312035,42.0280412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938360":{"id":"n1820938360","loc":[-85.2448613,42.018477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938361":{"id":"n1820938361","loc":[-85.29077,41.9759068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938364":{"id":"n1820938364","loc":[-85.3677387,41.9976615],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938365":{"id":"n1820938365","loc":[-85.0785204,42.1030355],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938366":{"id":"n1820938366","loc":[-85.2262039,42.0333722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938367":{"id":"n1820938367","loc":[-85.1226011,42.0780902],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938368":{"id":"n1820938368","loc":[-85.3229673,41.971129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938369":{"id":"n1820938369","loc":[-85.385334,42.0000056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938370":{"id":"n1820938370","loc":[-85.000098,42.0879094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938372":{"id":"n1820938372","loc":[-85.3852481,42.0025091],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938373":{"id":"n1820938373","loc":[-85.3770513,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938374":{"id":"n1820938374","loc":[-85.6278314,41.9405362],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938375":{"id":"n1820938375","loc":[-85.6355133,41.9344068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938376":{"id":"n1820938376","loc":[-85.635642,41.9324753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938377":{"id":"n1820938377","loc":[-85.3154463,41.970778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938378":{"id":"n1820938378","loc":[-85.0920334,42.093411],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938379":{"id":"n1820938379","loc":[-85.3269155,41.9722297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938381":{"id":"n1820938381","loc":[-85.1134334,42.0849184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938382":{"id":"n1820938382","loc":[-85.005968,42.088585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938384":{"id":"n1820938384","loc":[-85.1245203,42.0757183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938385":{"id":"n1820938385","loc":[-85.020704,42.0905396],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938386":{"id":"n1820938386","loc":[-85.119585,42.0808984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938387":{"id":"n1820938387","loc":[-85.0072447,42.0880117],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938388":{"id":"n1820938388","loc":[-85.2742908,41.9960273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938389":{"id":"n1820938389","loc":[-85.3275807,41.9696852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938390":{"id":"n1820938390","loc":[-85.2385635,42.0231556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938392":{"id":"n1820938392","loc":[-85.0202856,42.0900778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938393":{"id":"n1820938393","loc":[-85.2067847,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938394":{"id":"n1820938394","loc":[-85.5183544,41.9713495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938396":{"id":"n1820938396","loc":[-85.5073037,41.9736787],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938397":{"id":"n1820938397","loc":[-85.2519638,42.0114225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938398":{"id":"n1820938398","loc":[-85.287487,41.9793285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938399":{"id":"n1820938399","loc":[-85.2298088,42.0336431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938400":{"id":"n1820938400","loc":[-85.229444,42.0339141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938401":{"id":"n1820938401","loc":[-85.2421791,42.0220239],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938402":{"id":"n1820938402","loc":[-85.2976687,41.9737612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938403":{"id":"n1820938403","loc":[-85.3622069,41.993473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938404":{"id":"n1820938404","loc":[-85.2465458,42.014906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938405":{"id":"n1820938405","loc":[-85.5724663,41.9639412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938406":{"id":"n1820938406","loc":[-85.3708501,41.9982037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938408":{"id":"n1820938408","loc":[-85.2564592,42.0055311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938409":{"id":"n1820938409","loc":[-85.1192846,42.0810856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938410":{"id":"n1820938410","loc":[-85.5623812,41.971663],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938411":{"id":"n1820938411","loc":[-85.3221948,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938412":{"id":"n1820938412","loc":[-85.5168738,41.9710305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938413":{"id":"n1820938413","loc":[-85.4546852,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938414":{"id":"n1820938414","loc":[-85.5896153,41.9463617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938415":{"id":"n1820938415","loc":[-85.2978189,41.9722138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938416":{"id":"n1820938416","loc":[-85.1021681,42.0883581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938417":{"id":"n1820938417","loc":[-85.2797193,41.9912984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938419":{"id":"n1820938419","loc":[-85.2362461,42.0248533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938420":{"id":"n1820938420","loc":[-85.4833639,41.9846252],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820938422":{"id":"n1820938422","loc":[-85.3281064,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938424":{"id":"n1820938424","loc":[-85.2416963,42.0130088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938425":{"id":"n1820938425","loc":[-85.5718655,41.9564577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938426":{"id":"n1820938426","loc":[-85.0512812,42.1030701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938427":{"id":"n1820938427","loc":[-85.1273527,42.0723616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938428":{"id":"n1820938428","loc":[-85.0215033,42.0904083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938429":{"id":"n1820938429","loc":[-85.6169953,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938430":{"id":"n1820938430","loc":[-85.2829165,41.9907243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938431":{"id":"n1820938431","loc":[-85.2240796,42.0374203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938432":{"id":"n1820938432","loc":[-85.0167598,42.0898442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938433":{"id":"n1820938433","loc":[-85.2132649,42.0411334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938434":{"id":"n1820938434","loc":[-85.2293839,42.031513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938435":{"id":"n1820938435","loc":[-85.1203374,42.0792608],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938436":{"id":"n1820938436","loc":[-85.109571,42.086268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938437":{"id":"n1820938437","loc":[-85.1079026,42.0853842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938438":{"id":"n1820938438","loc":[-85.109237,42.0862413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938439":{"id":"n1820938439","loc":[-85.2259936,42.0350831],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938440":{"id":"n1820938440","loc":[-85.3669705,41.99679],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938441":{"id":"n1820938441","loc":[-85.2418143,42.0223507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938442":{"id":"n1820938442","loc":[-85.3101248,41.9702515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938443":{"id":"n1820938443","loc":[-85.069315,42.1059688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938444":{"id":"n1820938444","loc":[-85.205862,42.0410378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938445":{"id":"n1820938445","loc":[-85.0388076,42.1036604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938446":{"id":"n1820938446","loc":[-85.2225389,42.0370115],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938447":{"id":"n1820938447","loc":[-85.3241474,41.9719346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938448":{"id":"n1820938448","loc":[-85.3125496,41.9690789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938449":{"id":"n1820938449","loc":[-85.1146497,42.0857039],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938450":{"id":"n1820938450","loc":[-85.1333944,42.0714963],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938451":{"id":"n1820938451","loc":[-85.5619306,41.9720937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938452":{"id":"n1820938452","loc":[-85.2553651,42.0006479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938453":{"id":"n1820938453","loc":[-85.3151137,41.9710093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938454":{"id":"n1820938454","loc":[-85.2592315,41.9977947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938455":{"id":"n1820938455","loc":[-85.2655723,41.9995966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938456":{"id":"n1820938456","loc":[-85.4820652,41.9959233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938459":{"id":"n1820938459","loc":[-85.450737,42.0055068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938460":{"id":"n1820938460","loc":[-85.2428658,42.0205573],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938461":{"id":"n1820938461","loc":[-85.0835576,42.1021559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938462":{"id":"n1820938462","loc":[-85.244636,42.0194733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938463":{"id":"n1820938463","loc":[-85.5702562,41.9581332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938465":{"id":"n1820938465","loc":[-85.5680031,41.9659515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938467":{"id":"n1820938467","loc":[-85.2798752,41.9948353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938468":{"id":"n1820938468","loc":[-85.0477407,42.1015537],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938469":{"id":"n1820938469","loc":[-85.6403842,41.913732],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938470":{"id":"n1820938470","loc":[-85.0396029,42.103289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938471":{"id":"n1820938471","loc":[-85.2824702,41.9907777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938472":{"id":"n1820938472","loc":[-85.2969284,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938474":{"id":"n1820938474","loc":[-85.401041,42.0070853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938475":{"id":"n1820938475","loc":[-85.4116625,42.0073883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938476":{"id":"n1820938476","loc":[-85.0437764,42.1016214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938477":{"id":"n1820938477","loc":[-85.3643269,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938478":{"id":"n1820938478","loc":[-85.3895182,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938479":{"id":"n1820938479","loc":[-85.636157,41.9333373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938480":{"id":"n1820938480","loc":[-85.2811355,41.9858044],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938481":{"id":"n1820938481","loc":[-85.0239052,42.092153],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938482":{"id":"n1820938482","loc":[-85.2558798,42.0053557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938483":{"id":"n1820938483","loc":[-85.2544422,42.0047339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938484":{"id":"n1820938484","loc":[-85.4864683,41.9843183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938485":{"id":"n1820938485","loc":[-85.2554185,42.0031075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938486":{"id":"n1820938486","loc":[-85.3082795,41.9712486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938487":{"id":"n1820938487","loc":[-85.2433378,42.0133436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938488":{"id":"n1820938488","loc":[-85.0216696,42.0904162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938489":{"id":"n1820938489","loc":[-85.2546138,42.0050289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938490":{"id":"n1820938490","loc":[-85.2717521,41.9977349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938491":{"id":"n1820938491","loc":[-85.0100489,42.0908195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938492":{"id":"n1820938492","loc":[-85.207879,42.0392211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938493":{"id":"n1820938493","loc":[-85.0007363,42.0882836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938494":{"id":"n1820938494","loc":[-85.5775303,41.9504097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938495":{"id":"n1820938495","loc":[-85.1131584,42.0847683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938496":{"id":"n1820938496","loc":[-85.0887825,42.0941633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938497":{"id":"n1820938497","loc":[-85.1185926,42.0818938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938498":{"id":"n1820938498","loc":[-85.2748487,41.9948712],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938499":{"id":"n1820938499","loc":[-85.2566952,42.0090788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938500":{"id":"n1820938500","loc":[-85.0774757,42.1036234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938501":{"id":"n1820938501","loc":[-85.4190869,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938502":{"id":"n1820938502","loc":[-85.1140395,42.0850577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938503":{"id":"n1820938503","loc":[-85.1136104,42.0848627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938504":{"id":"n1820938504","loc":[-85.5828089,41.9480638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938505":{"id":"n1820938505","loc":[-85.625514,41.9405202],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938506":{"id":"n1820938506","loc":[-85.2063384,42.0398322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938507":{"id":"n1820938507","loc":[-85.3395476,41.9851636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938508":{"id":"n1820938508","loc":[-85.0328853,42.0963606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938510":{"id":"n1820938510","loc":[-85.1170369,42.0843702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938511":{"id":"n1820938511","loc":[-85.2784748,41.9868487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938512":{"id":"n1820938512","loc":[-85.6310501,41.9435528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938514":{"id":"n1820938514","loc":[-85.0334284,42.0981028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938515":{"id":"n1820938515","loc":[-84.9912091,42.0868226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938516":{"id":"n1820938516","loc":[-85.2806141,41.9940351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938517":{"id":"n1820938517","loc":[-85.1233025,42.0776734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938518":{"id":"n1820938518","loc":[-85.2047891,42.0429023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938519":{"id":"n1820938519","loc":[-85.1475443,42.0648312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938520":{"id":"n1820938520","loc":[-85.2644685,41.9990891],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938521":{"id":"n1820938521","loc":[-85.1056281,42.0872553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938522":{"id":"n1820938522","loc":[-85.4813184,41.9930105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938523":{"id":"n1820938523","loc":[-85.321551,41.9722936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938524":{"id":"n1820938524","loc":[-85.1564664,42.0631211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938525":{"id":"n1820938525","loc":[-85.4149885,42.0079144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938527":{"id":"n1820938527","loc":[-85.2861888,41.9803653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938528":{"id":"n1820938528","loc":[-85.1301379,42.0682178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938529":{"id":"n1820938529","loc":[-85.4156537,42.0084247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938530":{"id":"n1820938530","loc":[-85.245151,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938531":{"id":"n1820938531","loc":[-85.457818,42.0001651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938532":{"id":"n1820938532","loc":[-85.310951,41.9694538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938533":{"id":"n1820938533","loc":[-85.1509089,42.0611298],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938534":{"id":"n1820938534","loc":[-85.1108249,42.086321],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938535":{"id":"n1820938535","loc":[-85.1260344,42.0740687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938536":{"id":"n1820938536","loc":[-85.4561228,42.0042791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938537":{"id":"n1820938537","loc":[-85.2805082,41.9945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938538":{"id":"n1820938538","loc":[-85.273352,41.9981921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938539":{"id":"n1820938539","loc":[-85.1084216,42.0864364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938540":{"id":"n1820938540","loc":[-85.5009737,41.9773637],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938541":{"id":"n1820938541","loc":[-85.3960843,42.0051879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938542":{"id":"n1820938542","loc":[-85.3425088,41.9865034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938545":{"id":"n1820938545","loc":[-84.9937907,42.0860849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938546":{"id":"n1820938546","loc":[-85.1084176,42.086065],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938547":{"id":"n1820938547","loc":[-85.3492851,41.9924786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938548":{"id":"n1820938548","loc":[-85.2512235,42.0101147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938549":{"id":"n1820938549","loc":[-85.3717298,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938551":{"id":"n1820938551","loc":[-85.2573712,42.0064081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938552":{"id":"n1820938552","loc":[-85.2514596,42.010139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938553":{"id":"n1820938553","loc":[-85.416512,42.0088073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938554":{"id":"n1820938554","loc":[-85.4365964,42.0061606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938555":{"id":"n1820938555","loc":[-85.4552431,42.0057301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938556":{"id":"n1820938556","loc":[-85.2916283,41.9778769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938557":{"id":"n1820938557","loc":[-85.100709,42.0902968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938558":{"id":"n1820938558","loc":[-85.4703064,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938559":{"id":"n1820938559","loc":[-85.3134722,41.9696134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938560":{"id":"n1820938560","loc":[-85.4834213,41.9885768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938561":{"id":"n1820938561","loc":[-85.2740641,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938562":{"id":"n1820938562","loc":[-85.148334,42.0623405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938563":{"id":"n1820938563","loc":[-85.2358598,42.0263675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938565":{"id":"n1820938565","loc":[-85.2902979,41.9790892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938566":{"id":"n1820938566","loc":[-85.2528865,42.0112869],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938567":{"id":"n1820938567","loc":[-85.2595319,41.9973003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938568":{"id":"n1820938568","loc":[-85.071151,42.105689],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938570":{"id":"n1820938570","loc":[-85.299278,41.9732188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938571":{"id":"n1820938571","loc":[-85.0354669,42.1024771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938583":{"id":"n1820938583","loc":[-85.3313937,41.972562],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938585":{"id":"n1820938585","loc":[-85.0756933,42.1058334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938587":{"id":"n1820938587","loc":[-85.3130324,41.9694219],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938590":{"id":"n1820938590","loc":[-85.0934227,42.0931681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938592":{"id":"n1820938592","loc":[-85.3517956,41.9922553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938593":{"id":"n1820938593","loc":[-85.4023971,42.0065169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938594":{"id":"n1820938594","loc":[-85.3506798,41.9925583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938595":{"id":"n1820938595","loc":[-85.3673524,41.9971193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938596":{"id":"n1820938596","loc":[-85.1073608,42.0853523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938597":{"id":"n1820938597","loc":[-85.2976579,41.972477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938598":{"id":"n1820938598","loc":[-85.5616517,41.9694295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938599":{"id":"n1820938599","loc":[-85.3552074,41.9921915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938600":{"id":"n1820938600","loc":[-85.4665126,41.9999953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938601":{"id":"n1820938601","loc":[-85.2740695,41.9966226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938602":{"id":"n1820938602","loc":[-85.279376,41.9886669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938603":{"id":"n1820938603","loc":[-85.0771109,42.1040413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938604":{"id":"n1820938604","loc":[-85.2636049,41.9977895],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938605":{"id":"n1820938605","loc":[-85.3762145,41.9976456],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938606":{"id":"n1820938606","loc":[-85.2321369,42.0289577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938620":{"id":"n1820938620","loc":[-85.4947724,41.9776189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938622":{"id":"n1820938622","loc":[-85.1547069,42.0622768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938624":{"id":"n1820938624","loc":[-85.0005056,42.0880249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938626":{"id":"n1820938626","loc":[-85.0735596,42.1059357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938628":{"id":"n1820938628","loc":[-85.4665298,41.99932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938629":{"id":"n1820938629","loc":[-85.434515,42.0065273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938630":{"id":"n1820938630","loc":[-85.117462,42.0823823],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938631":{"id":"n1820938631","loc":[-85.0131777,42.0890707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938632":{"id":"n1820938632","loc":[-85.0875326,42.0961934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938634":{"id":"n1820938634","loc":[-85.6433839,41.9112042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938635":{"id":"n1820938635","loc":[-85.1366181,42.064969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938636":{"id":"n1820938636","loc":[-85.073109,42.1057925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938638":{"id":"n1820938638","loc":[-85.161406,42.0632541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938640":{"id":"n1820938640","loc":[-85.6343932,41.9188845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938642":{"id":"n1820938642","loc":[-85.2500004,42.010306],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938644":{"id":"n1820938644","loc":[-85.291918,41.9753166],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938663":{"id":"n1820938663","loc":[-85.2841611,41.9916812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938664":{"id":"n1820938664","loc":[-85.1052955,42.0868134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938665":{"id":"n1820938665","loc":[-85.4606118,42.0005534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938666":{"id":"n1820938666","loc":[-85.5672736,41.9642922],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938667":{"id":"n1820938667","loc":[-85.6348481,41.9316932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938668":{"id":"n1820938668","loc":[-85.0224904,42.0909576],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938669":{"id":"n1820938669","loc":[-85.0133856,42.0899755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938670":{"id":"n1820938670","loc":[-85.344779,41.991139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938671":{"id":"n1820938671","loc":[-85.632874,41.9425313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938673":{"id":"n1820938673","loc":[-85.4941501,41.9779698],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938675":{"id":"n1820938675","loc":[-85.0862559,42.0997519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938676":{"id":"n1820938676","loc":[-85.0097874,42.0898032],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938678":{"id":"n1820938678","loc":[-84.9913553,42.0863675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938680":{"id":"n1820938680","loc":[-85.0533666,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938682":{"id":"n1820938682","loc":[-85.2950294,41.9743914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938684":{"id":"n1820938684","loc":[-85.2517385,42.0104499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938686":{"id":"n1820938686","loc":[-85.0247971,42.0922514],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938688":{"id":"n1820938688","loc":[-85.0807037,42.1026017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938690":{"id":"n1820938690","loc":[-85.52462,41.9722748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938694":{"id":"n1820938694","loc":[-85.2586535,41.9988818],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938695":{"id":"n1820938695","loc":[-85.0931612,42.092948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938697":{"id":"n1820938697","loc":[-85.2470822,42.016564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938698":{"id":"n1820938698","loc":[-85.4143018,42.0075158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938699":{"id":"n1820938699","loc":[-85.0771484,42.104487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938700":{"id":"n1820938700","loc":[-85.0291208,42.0942775],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938701":{"id":"n1820938701","loc":[-85.6367964,41.9185971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938702":{"id":"n1820938702","loc":[-85.085419,42.1010693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938703":{"id":"n1820938703","loc":[-85.0583877,42.1040584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938705":{"id":"n1820938705","loc":[-85.2573379,42.0003182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938706":{"id":"n1820938706","loc":[-85.2655937,41.9981575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938707":{"id":"n1820938707","loc":[-85.023181,42.0915758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938708":{"id":"n1820938708","loc":[-85.2318687,42.0274674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938709":{"id":"n1820938709","loc":[-85.1056389,42.0866184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938710":{"id":"n1820938710","loc":[-85.5276265,41.9700978],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938711":{"id":"n1820938711","loc":[-85.0864128,42.0945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938712":{"id":"n1820938712","loc":[-84.9897071,42.0871888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938714":{"id":"n1820938714","loc":[-85.1328845,42.0665611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938715":{"id":"n1820938715","loc":[-85.0336537,42.0991377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938716":{"id":"n1820938716","loc":[-85.087597,42.0986692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938717":{"id":"n1820938717","loc":[-85.1241394,42.0761882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938718":{"id":"n1820938718","loc":[-85.1176002,42.0847723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938719":{"id":"n1820938719","loc":[-85.2423615,42.0216572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938721":{"id":"n1820938721","loc":[-85.2196378,42.0387908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938722":{"id":"n1820938722","loc":[-85.0164272,42.0890082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938723":{"id":"n1820938723","loc":[-85.5917182,41.9451807],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938724":{"id":"n1820938724","loc":[-85.2458806,42.0086638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938725":{"id":"n1820938725","loc":[-85.1264474,42.0740527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938726":{"id":"n1820938726","loc":[-85.1961631,42.04738],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938727":{"id":"n1820938727","loc":[-85.2784643,41.9943648],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938728":{"id":"n1820938728","loc":[-85.2905554,41.9763216],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938729":{"id":"n1820938729","loc":[-85.2913386,41.9771511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938730":{"id":"n1820938730","loc":[-85.0112519,42.0895683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938732":{"id":"n1820938732","loc":[-85.4290261,42.0064531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938733":{"id":"n1820938733","loc":[-85.3867073,42.0031629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938734":{"id":"n1820938734","loc":[-85.4943647,41.9836005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938735":{"id":"n1820938735","loc":[-85.4900303,41.9860728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938736":{"id":"n1820938736","loc":[-85.0866153,42.0944539],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938737":{"id":"n1820938737","loc":[-85.0869532,42.0990911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938738":{"id":"n1820938738","loc":[-85.6321659,41.9208851],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938739":{"id":"n1820938739","loc":[-85.5930485,41.9433453],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938740":{"id":"n1820938740","loc":[-85.0406851,42.102733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938741":{"id":"n1820938741","loc":[-85.1051131,42.0869846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938742":{"id":"n1820938742","loc":[-85.1377554,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938743":{"id":"n1820938743","loc":[-85.2795694,41.994604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938745":{"id":"n1820938745","loc":[-85.4948153,41.9826594],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938746":{"id":"n1820938746","loc":[-85.4488916,42.0050923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938747":{"id":"n1820938747","loc":[-85.1052526,42.0866144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938748":{"id":"n1820938748","loc":[-85.1468749,42.0653991],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938749":{"id":"n1820938749","loc":[-85.0856886,42.1006104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938750":{"id":"n1820938750","loc":[-85.2144022,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938751":{"id":"n1820938751","loc":[-85.277771,41.9907458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938752":{"id":"n1820938752","loc":[-85.1474542,42.0636149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938753":{"id":"n1820938753","loc":[-85.0820515,42.1028075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938754":{"id":"n1820938754","loc":[-85.1122948,42.08525],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938756":{"id":"n1820938756","loc":[-85.0173352,42.0901933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938757":{"id":"n1820938757","loc":[-85.2259721,42.0354018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938758":{"id":"n1820938758","loc":[-85.0872389,42.0987795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938759":{"id":"n1820938759","loc":[-85.2291436,42.031874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938760":{"id":"n1820938760","loc":[-85.3802485,42.0016002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938761":{"id":"n1820938761","loc":[-85.3945822,42.0057938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938762":{"id":"n1820938762","loc":[-85.5273237,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938763":{"id":"n1820938763","loc":[-85.2868862,41.9798629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938764":{"id":"n1820938764","loc":[-85.2516677,42.0107899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938766":{"id":"n1820938766","loc":[-85.3183002,41.9693103],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938768":{"id":"n1820938768","loc":[-85.2159042,42.0401932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938770":{"id":"n1820938770","loc":[-85.0094481,42.0911141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938771":{"id":"n1820938771","loc":[-85.0244538,42.0922155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938772":{"id":"n1820938772","loc":[-85.231697,42.028862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938773":{"id":"n1820938773","loc":[-85.2102394,42.0390617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938774":{"id":"n1820938774","loc":[-85.2463419,42.0151212],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938775":{"id":"n1820938775","loc":[-85.0726195,42.1056424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938776":{"id":"n1820938776","loc":[-85.0060431,42.0883262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938778":{"id":"n1820938778","loc":[-85.425889,42.0056982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938779":{"id":"n1820938779","loc":[-85.1183042,42.0820638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938780":{"id":"n1820938780","loc":[-85.441596,42.0058257],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938781":{"id":"n1820938781","loc":[-85.1124879,42.0847086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938782":{"id":"n1820938782","loc":[-85.2452733,42.0153894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938783":{"id":"n1820938783","loc":[-85.2741191,41.9969244],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938784":{"id":"n1820938784","loc":[-85.2829487,41.9822236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938785":{"id":"n1820938785","loc":[-85.3202743,41.972142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938786":{"id":"n1820938786","loc":[-85.2345402,42.0266465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938787":{"id":"n1820938787","loc":[-85.3037626,41.9724611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938789":{"id":"n1820938789","loc":[-85.2474792,42.0161973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938790":{"id":"n1820938790","loc":[-85.2951045,41.9727323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938791":{"id":"n1820938791","loc":[-85.322345,41.9712726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938792":{"id":"n1820938792","loc":[-85.2402372,42.0110394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938793":{"id":"n1820938793","loc":[-85.5135693,41.9698659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938794":{"id":"n1820938794","loc":[-85.4695339,41.9967366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938796":{"id":"n1820938796","loc":[-85.0418492,42.1011131],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938797":{"id":"n1820938797","loc":[-85.3334107,41.9806337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938798":{"id":"n1820938798","loc":[-85.5625314,41.9711685],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938799":{"id":"n1820938799","loc":[-85.3755707,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938800":{"id":"n1820938800","loc":[-85.5227532,41.9722429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938801":{"id":"n1820938801","loc":[-85.4267687,42.0052836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938803":{"id":"n1820938803","loc":[-85.0284704,42.0940837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938804":{"id":"n1820938804","loc":[-85.015585,42.0885305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938805":{"id":"n1820938805","loc":[-85.0765905,42.1053865],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938806":{"id":"n1820938806","loc":[-85.2614953,41.9964551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938808":{"id":"n1820938808","loc":[-85.0307355,42.0947313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938810":{"id":"n1820938810","loc":[-85.3894753,42.0003565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938812":{"id":"n1820938812","loc":[-85.0868848,42.095006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938813":{"id":"n1820938813","loc":[-85.3854198,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938814":{"id":"n1820938814","loc":[-85.2659692,41.9993534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938815":{"id":"n1820938815","loc":[-85.1234259,42.0765266],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938816":{"id":"n1820938816","loc":[-85.1426906,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938818":{"id":"n1820938818","loc":[-85.1014533,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938819":{"id":"n1820938819","loc":[-85.0883064,42.098067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938820":{"id":"n1820938820","loc":[-85.0503156,42.102704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938821":{"id":"n1820938821","loc":[-85.1179649,42.0821884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938822":{"id":"n1820938822","loc":[-85.3484697,41.9921596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938823":{"id":"n1820938823","loc":[-85.3732962,41.9970874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938824":{"id":"n1820938824","loc":[-85.2784104,41.9898312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938825":{"id":"n1820938825","loc":[-85.4441709,42.0052198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938826":{"id":"n1820938826","loc":[-85.3925438,42.0038326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938829":{"id":"n1820938829","loc":[-85.5717582,41.9621861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938830":{"id":"n1820938830","loc":[-85.0866314,42.0995051],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938831":{"id":"n1820938831","loc":[-85.576672,41.9522769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938832":{"id":"n1820938832","loc":[-85.1587238,42.0636205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938833":{"id":"n1820938833","loc":[-85.3804245,41.9999155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938834":{"id":"n1820938834","loc":[-85.280083,41.9948843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938836":{"id":"n1820938836","loc":[-85.561892,41.9686693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938837":{"id":"n1820938837","loc":[-85.0158975,42.0885253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938838":{"id":"n1820938838","loc":[-85.4248204,42.007633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938839":{"id":"n1820938839","loc":[-85.0352738,42.1039657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938840":{"id":"n1820938840","loc":[-85.211956,42.0411812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938841":{"id":"n1820938841","loc":[-85.4816575,41.9908997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938842":{"id":"n1820938842","loc":[-85.3807635,42.0020308],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938843":{"id":"n1820938843","loc":[-85.0100865,42.0898521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938844":{"id":"n1820938844","loc":[-85.0103936,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938848":{"id":"n1820938848","loc":[-85.2430052,42.0131363],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938849":{"id":"n1820938849","loc":[-85.112559,42.0853723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938851":{"id":"n1820938851","loc":[-85.3641553,41.9952535],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938852":{"id":"n1820938852","loc":[-85.2087373,42.0390777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938853":{"id":"n1820938853","loc":[-85.2473933,42.0148263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938854":{"id":"n1820938854","loc":[-85.0213464,42.090509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938855":{"id":"n1820938855","loc":[-85.0673208,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938856":{"id":"n1820938856","loc":[-85.1003053,42.0905528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938857":{"id":"n1820938857","loc":[-85.2617367,41.9965389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938858":{"id":"n1820938858","loc":[-85.280363,41.9916015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938859":{"id":"n1820938859","loc":[-85.0038866,42.0873469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938860":{"id":"n1820938860","loc":[-85.2476401,42.0151451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938861":{"id":"n1820938861","loc":[-85.193717,42.0499294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938862":{"id":"n1820938862","loc":[-85.3478689,41.9917609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938863":{"id":"n1820938863","loc":[-85.5638017,41.9648881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938864":{"id":"n1820938864","loc":[-85.4356308,42.0064476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938865":{"id":"n1820938865","loc":[-85.0561722,42.1023509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938867":{"id":"n1820938867","loc":[-85.2256031,42.0356034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938868":{"id":"n1820938868","loc":[-85.6102576,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938869":{"id":"n1820938869","loc":[-85.2285213,42.0339938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938870":{"id":"n1820938870","loc":[-85.0326238,42.0978003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938871":{"id":"n1820938871","loc":[-85.0131389,42.0903736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938872":{"id":"n1820938872","loc":[-85.2550859,42.0012259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938873":{"id":"n1820938873","loc":[-85.1130029,42.0846966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938874":{"id":"n1820938874","loc":[-85.1579041,42.06336],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938875":{"id":"n1820938875","loc":[-85.0430522,42.1020234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938876":{"id":"n1820938876","loc":[-85.2786679,41.9865935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938877":{"id":"n1820938877","loc":[-85.1221666,42.0788706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938878":{"id":"n1820938878","loc":[-85.2554614,42.0103303],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938879":{"id":"n1820938879","loc":[-85.2349801,42.0265748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938880":{"id":"n1820938880","loc":[-85.0997434,42.0907864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938881":{"id":"n1820938881","loc":[-85.0045464,42.0878167],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938882":{"id":"n1820938882","loc":[-85.2728048,41.9982519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938883":{"id":"n1820938883","loc":[-85.3111333,41.9691587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938884":{"id":"n1820938884","loc":[-85.3219802,41.9721899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938885":{"id":"n1820938885","loc":[-85.3091378,41.9699325],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938887":{"id":"n1820938887","loc":[-85.4242367,42.0085203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938888":{"id":"n1820938888","loc":[-84.9968377,42.0874504],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938890":{"id":"n1820938890","loc":[-85.5443139,41.9714078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938891":{"id":"n1820938891","loc":[-85.6404013,41.9154676],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938892":{"id":"n1820938892","loc":[-85.3644986,41.9962582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938893":{"id":"n1820938893","loc":[-85.0496772,42.1018323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938894":{"id":"n1820938894","loc":[-85.297261,41.9737373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938895":{"id":"n1820938895","loc":[-85.0327096,42.098071],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938896":{"id":"n1820938896","loc":[-85.3856773,41.9996867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938897":{"id":"n1820938897","loc":[-85.0493862,42.1015509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938898":{"id":"n1820938898","loc":[-84.9969879,42.0876614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938899":{"id":"n1820938899","loc":[-85.0848625,42.1013587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938900":{"id":"n1820938900","loc":[-85.5853195,41.9479201],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938901":{"id":"n1820938901","loc":[-85.6329169,41.9387964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938902":{"id":"n1820938902","loc":[-85.0843046,42.1029468],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938903":{"id":"n1820938903","loc":[-85.1228747,42.0778474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938904":{"id":"n1820938904","loc":[-85.4855456,41.984095],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938905":{"id":"n1820938905","loc":[-85.0573269,42.1026801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938906":{"id":"n1820938906","loc":[-85.2425868,42.0131523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938907":{"id":"n1820938907","loc":[-85.1149622,42.0860053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938908":{"id":"n1820938908","loc":[-85.4833097,41.9951578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938909":{"id":"n1820938909","loc":[-85.075979,42.1056372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938910":{"id":"n1820938910","loc":[-85.0338509,42.0977139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938911":{"id":"n1820938911","loc":[-85.6384272,41.9115715],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938912":{"id":"n1820938912","loc":[-85.0458363,42.1004074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938913":{"id":"n1820938913","loc":[-85.0592138,42.1048305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938914":{"id":"n1820938914","loc":[-85.2807493,41.9916653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938915":{"id":"n1820938915","loc":[-85.1103274,42.0864193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938916":{"id":"n1820938916","loc":[-85.6267156,41.9404404],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938918":{"id":"n1820938918","loc":[-85.0331374,42.0982911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938919":{"id":"n1820938919","loc":[-85.5637331,41.965409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938920":{"id":"n1820938920","loc":[-85.5457515,41.9714237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938922":{"id":"n1820938922","loc":[-85.082073,42.1030104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938923":{"id":"n1820938923","loc":[-85.0780765,42.103102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938924":{"id":"n1820938924","loc":[-85.4208035,42.0089508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938925":{"id":"n1820938925","loc":[-85.3469934,41.9914795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938926":{"id":"n1820938926","loc":[-85.0322,42.095619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938927":{"id":"n1820938927","loc":[-85.4784431,41.9949401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938928":{"id":"n1820938928","loc":[-85.1303095,42.0667523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938929":{"id":"n1820938929","loc":[-85.2463784,42.0084781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938930":{"id":"n1820938930","loc":[-85.6299986,41.9427707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938931":{"id":"n1820938931","loc":[-85.6325907,41.9238499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938932":{"id":"n1820938932","loc":[-85.4808464,41.9914476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938934":{"id":"n1820938934","loc":[-85.2411599,42.0105292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938935":{"id":"n1820938935","loc":[-85.0163213,42.0892379],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938936":{"id":"n1820938936","loc":[-85.3290934,41.9682322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938937":{"id":"n1820938937","loc":[-85.4925623,41.9853231],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938938":{"id":"n1820938938","loc":[-85.0338294,42.09892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938940":{"id":"n1820938940","loc":[-85.4174561,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938941":{"id":"n1820938941","loc":[-85.1165595,42.0838845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938942":{"id":"n1820938942","loc":[-85.2954585,41.9717192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938943":{"id":"n1820938943","loc":[-85.6330199,41.9257338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938944":{"id":"n1820938944","loc":[-85.2294654,42.0324478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938945":{"id":"n1820938945","loc":[-85.5601282,41.9728914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938946":{"id":"n1820938946","loc":[-85.1176324,42.08568],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938947":{"id":"n1820938947","loc":[-85.0210245,42.0906005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938948":{"id":"n1820938948","loc":[-85.0251887,42.09253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938949":{"id":"n1820938949","loc":[-85.0895832,42.0939551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938950":{"id":"n1820938950","loc":[-84.9915109,42.085842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938951":{"id":"n1820938951","loc":[-85.2187366,42.0393486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938952":{"id":"n1820938952","loc":[-85.006605,42.087579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938953":{"id":"n1820938953","loc":[-85.046641,42.1012393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938954":{"id":"n1820938954","loc":[-85.052102,42.103695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938955":{"id":"n1820938955","loc":[-85.283925,41.9912825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938956":{"id":"n1820938956","loc":[-85.2326626,42.0316349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938957":{"id":"n1820938957","loc":[-85.1174298,42.0859694],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938958":{"id":"n1820938958","loc":[-85.3802056,41.9994794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938959":{"id":"n1820938959","loc":[-85.4586334,41.9999737],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938960":{"id":"n1820938960","loc":[-85.4302234,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938961":{"id":"n1820938961","loc":[-85.092201,42.0930674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938962":{"id":"n1820938962","loc":[-85.3684511,41.9979382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938963":{"id":"n1820938963","loc":[-85.4618735,42.0011856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938964":{"id":"n1820938964","loc":[-85.4828205,41.9877793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938965":{"id":"n1820938965","loc":[-85.0837789,42.1025726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938966":{"id":"n1820938966","loc":[-85.0176195,42.090253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938967":{"id":"n1820938967","loc":[-85.3801627,42.001074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938968":{"id":"n1820938968","loc":[-85.4767007,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938969":{"id":"n1820938969","loc":[-85.274268,41.9957495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938970":{"id":"n1820938970","loc":[-85.2977438,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938971":{"id":"n1820938971","loc":[-85.2425546,42.0208682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938972":{"id":"n1820938972","loc":[-85.2557082,42.002382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938973":{"id":"n1820938973","loc":[-85.3187937,41.9691986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938975":{"id":"n1820938975","loc":[-85.2448077,42.0153045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938977":{"id":"n1820938977","loc":[-85.0343015,42.0997718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938978":{"id":"n1820938978","loc":[-85.2449364,42.01874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938979":{"id":"n1820938979","loc":[-85.2598391,41.9969602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938980":{"id":"n1820938980","loc":[-85.4294724,42.0067665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938981":{"id":"n1820938981","loc":[-85.428082,42.0055124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938983":{"id":"n1820938983","loc":[-85.5436315,41.9717484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938985":{"id":"n1820938985","loc":[-85.5978336,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938986":{"id":"n1820938986","loc":[-85.491661,41.9860249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938987":{"id":"n1820938987","loc":[-85.4942789,41.9801392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938988":{"id":"n1820938988","loc":[-85.0416306,42.1010841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938989":{"id":"n1820938989","loc":[-85.2653644,41.9984433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938990":{"id":"n1820938990","loc":[-85.1028266,42.0881124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938991":{"id":"n1820938991","loc":[-85.0163146,42.0887932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938992":{"id":"n1820938992","loc":[-85.5282209,41.9678112],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938993":{"id":"n1820938993","loc":[-85.5442752,41.9715888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938994":{"id":"n1820938994","loc":[-85.5634327,41.9658558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938995":{"id":"n1820938995","loc":[-85.0384227,42.1037627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938996":{"id":"n1820938996","loc":[-85.1144258,42.0854439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938997":{"id":"n1820938997","loc":[-85.1870651,42.0506305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938998":{"id":"n1820938998","loc":[-85.1256159,42.0747376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938999":{"id":"n1820938999","loc":[-85.3272695,41.9715836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939000":{"id":"n1820939000","loc":[-85.0543067,42.103098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939001":{"id":"n1820939001","loc":[-85.4678173,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939003":{"id":"n1820939003","loc":[-85.0266626,42.0933154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939004":{"id":"n1820939004","loc":[-85.0353046,42.1019728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939005":{"id":"n1820939005","loc":[-85.1237961,42.0762798],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939006":{"id":"n1820939006","loc":[-85.2812214,41.9826702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939007":{"id":"n1820939007","loc":[-85.2927763,41.9747343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939008":{"id":"n1820939008","loc":[-85.3270979,41.9720862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939009":{"id":"n1820939009","loc":[-85.488657,41.9856581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939010":{"id":"n1820939010","loc":[-85.3087301,41.9701399],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939011":{"id":"n1820939011","loc":[-85.0276939,42.093768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939012":{"id":"n1820939012","loc":[-85.2956516,41.9748779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939013":{"id":"n1820939013","loc":[-85.1298579,42.0726443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939014":{"id":"n1820939014","loc":[-85.105144,42.0870893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939015":{"id":"n1820939015","loc":[-85.0677486,42.1053917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939016":{"id":"n1820939016","loc":[-85.0333681,42.0993459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939017":{"id":"n1820939017","loc":[-85.6384272,41.910805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939018":{"id":"n1820939018","loc":[-85.399496,42.006894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939019":{"id":"n1820939019","loc":[-85.2648427,41.9998318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939020":{"id":"n1820939020","loc":[-85.1237424,42.0766779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939021":{"id":"n1820939021","loc":[-85.2515025,42.0109442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939022":{"id":"n1820939022","loc":[-85.5566306,41.9718385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939023":{"id":"n1820939023","loc":[-85.090644,42.0938369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939024":{"id":"n1820939024","loc":[-85.1245525,42.074914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939025":{"id":"n1820939025","loc":[-85.1099934,42.0863926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939026":{"id":"n1820939026","loc":[-85.1251653,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939027":{"id":"n1820939027","loc":[-85.401792,42.0068143],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939028":{"id":"n1820939028","loc":[-85.0094763,42.0899584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939029":{"id":"n1820939029","loc":[-85.1330779,42.0705605],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939030":{"id":"n1820939030","loc":[-85.4935064,41.984398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939031":{"id":"n1820939031","loc":[-85.5713334,41.9613939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939032":{"id":"n1820939032","loc":[-85.0873945,42.0964669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939033":{"id":"n1820939033","loc":[-85.0886497,42.0986481],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939034":{"id":"n1820939034","loc":[-85.3276343,41.9758897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939035":{"id":"n1820939035","loc":[-85.1304386,42.0727387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939036":{"id":"n1820939036","loc":[-85.2551932,42.0052999],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939037":{"id":"n1820939037","loc":[-85.2206936,42.0384458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939038":{"id":"n1820939038","loc":[-85.2313645,42.0286389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939039":{"id":"n1820939039","loc":[-85.0754586,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939040":{"id":"n1820939040","loc":[-85.0663324,42.1050812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939041":{"id":"n1820939041","loc":[-85.2406234,42.0106887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939042":{"id":"n1820939042","loc":[-85.0685962,42.1058175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939043":{"id":"n1820939043","loc":[-85.0689462,42.1059437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939044":{"id":"n1820939044","loc":[-85.0586144,42.1046144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939045":{"id":"n1820939045","loc":[-85.3650565,41.9965452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939047":{"id":"n1820939047","loc":[-85.5752558,41.9536014],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939048":{"id":"n1820939048","loc":[-85.5110159,41.9710624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939050":{"id":"n1820939050","loc":[-85.2832641,41.9926477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939051":{"id":"n1820939051","loc":[-85.0078402,42.0898947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939052":{"id":"n1820939052","loc":[-85.3882737,42.0017916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939053":{"id":"n1820939053","loc":[-85.1718945,42.0564937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939054":{"id":"n1820939054","loc":[-85.0947048,42.0929293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939055":{"id":"n1820939055","loc":[-85.4456944,42.0051082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939056":{"id":"n1820939056","loc":[-85.3139872,41.9706903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939057":{"id":"n1820939057","loc":[-85.3893895,42.0034021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939058":{"id":"n1820939058","loc":[-85.2425332,42.0106089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939059":{"id":"n1820939059","loc":[-85.6085624,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939060":{"id":"n1820939060","loc":[-85.210411,42.0397789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939061":{"id":"n1820939061","loc":[-85.2762542,41.9960473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939062":{"id":"n1820939062","loc":[-85.4686584,41.9969973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939063":{"id":"n1820939063","loc":[-85.3860421,42.0018394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939064":{"id":"n1820939064","loc":[-85.5636944,41.9644414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939065":{"id":"n1820939065","loc":[-85.3267331,41.9766554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939066":{"id":"n1820939066","loc":[-85.0868996,42.0943822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939067":{"id":"n1820939067","loc":[-85.104861,42.0880038],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939068":{"id":"n1820939068","loc":[-85.5537123,41.9695093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939069":{"id":"n1820939069","loc":[-85.6325092,41.9396743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939070":{"id":"n1820939070","loc":[-85.3869648,42.0024454],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939071":{"id":"n1820939071","loc":[-85.2775349,41.9957335],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939072":{"id":"n1820939072","loc":[-85.2055616,42.0421533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939073":{"id":"n1820939073","loc":[-85.4731431,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939074":{"id":"n1820939074","loc":[-85.0399609,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939075":{"id":"n1820939075","loc":[-85.3055758,41.9725169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939076":{"id":"n1820939076","loc":[-85.4834599,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939077":{"id":"n1820939077","loc":[-85.3819866,42.0023018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939078":{"id":"n1820939078","loc":[-85.1218756,42.0789992],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939079":{"id":"n1820939079","loc":[-85.2793159,41.9944458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939080":{"id":"n1820939080","loc":[-85.2495498,42.0101466],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939081":{"id":"n1820939081","loc":[-85.0035969,42.0872434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939082":{"id":"n1820939082","loc":[-85.1054243,42.0865626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939083":{"id":"n1820939083","loc":[-85.0917665,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939084":{"id":"n1820939084","loc":[-85.3442211,41.988938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939086":{"id":"n1820939086","loc":[-85.273989,41.9953588],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939087":{"id":"n1820939087","loc":[-85.1142541,42.0852488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939089":{"id":"n1820939089","loc":[-85.1526684,42.0615758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939090":{"id":"n1820939090","loc":[-85.2538843,42.0110159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939091":{"id":"n1820939091","loc":[-85.28341,41.9909635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939092":{"id":"n1820939092","loc":[-85.3963178,42.0050217],"version":"2","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:29Z","tags":{}},"n1820939093":{"id":"n1820939093","loc":[-85.0851682,42.1012472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939095":{"id":"n1820939095","loc":[-85.2811784,41.986243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939096":{"id":"n1820939096","loc":[-85.4274125,42.0052995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939097":{"id":"n1820939097","loc":[-85.0871262,42.0951652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939099":{"id":"n1820939099","loc":[-85.1314253,42.0671665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939100":{"id":"n1820939100","loc":[-85.2778997,41.991001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939101":{"id":"n1820939101","loc":[-85.112107,42.0862812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939102":{"id":"n1820939102","loc":[-85.299911,41.9729955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939103":{"id":"n1820939103","loc":[-85.639822,41.9094796],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939104":{"id":"n1820939104","loc":[-85.122294,42.0785334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939105":{"id":"n1820939105","loc":[-85.2476294,42.015719],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939106":{"id":"n1820939106","loc":[-85.4946007,41.9814631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939107":{"id":"n1820939107","loc":[-85.0879524,42.0986919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939108":{"id":"n1820939108","loc":[-85.0342814,42.098274],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939109":{"id":"n1820939109","loc":[-85.2450695,42.0095463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939110":{"id":"n1820939110","loc":[-85.3847546,42.0024135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939111":{"id":"n1820939111","loc":[-85.2961344,41.9742558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939112":{"id":"n1820939112","loc":[-85.27899,41.994317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939114":{"id":"n1820939114","loc":[-85.1017644,42.0886618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939115":{"id":"n1820939115","loc":[-85.076215,42.1056333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939116":{"id":"n1820939116","loc":[-85.1198009,42.0805349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939117":{"id":"n1820939117","loc":[-85.11988,42.0798513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939118":{"id":"n1820939118","loc":[-85.147819,42.0625476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939119":{"id":"n1820939119","loc":[-85.0585969,42.1029042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939120":{"id":"n1820939120","loc":[-85.1248596,42.0745744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939121":{"id":"n1820939121","loc":[-85.3023786,41.9725249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939123":{"id":"n1820939123","loc":[-85.0119332,42.0900699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939124":{"id":"n1820939124","loc":[-85.2466852,42.0170343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939125":{"id":"n1820939125","loc":[-85.0033019,42.0872792],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939126":{"id":"n1820939126","loc":[-85.0042084,42.0875778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939128":{"id":"n1820939128","loc":[-85.0052961,42.0885424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939130":{"id":"n1820939130","loc":[-85.0647942,42.10508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939131":{"id":"n1820939131","loc":[-85.2824123,41.9825107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939132":{"id":"n1820939132","loc":[-85.3210039,41.9723255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939133":{"id":"n1820939133","loc":[-85.0491033,42.1014184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939134":{"id":"n1820939134","loc":[-85.1127776,42.0855168],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939135":{"id":"n1820939135","loc":[-85.1243768,42.0759322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939137":{"id":"n1820939137","loc":[-85.125974,42.0747547],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939138":{"id":"n1820939138","loc":[-85.1071248,42.0859973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939139":{"id":"n1820939139","loc":[-85.5326175,41.9674833],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1820939140":{"id":"n1820939140","loc":[-85.1338715,42.0660833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939142":{"id":"n1820939142","loc":[-85.649671,41.9135675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939144":{"id":"n1820939144","loc":[-85.0236545,42.0920444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939145":{"id":"n1820939145","loc":[-85.1084391,42.0859376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939146":{"id":"n1820939146","loc":[-85.1539988,42.0618626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939147":{"id":"n1820939147","loc":[-85.2354521,42.026511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939148":{"id":"n1820939148","loc":[-85.2362246,42.0260408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939149":{"id":"n1820939149","loc":[-85.2401342,42.0115233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939150":{"id":"n1820939150","loc":[-85.295319,41.9747423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939151":{"id":"n1820939151","loc":[-85.1164696,42.0835409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939152":{"id":"n1820939152","loc":[-85.3232891,41.9712885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939153":{"id":"n1820939153","loc":[-85.2574463,42.0068944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939155":{"id":"n1820939155","loc":[-85.5704064,41.9598246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939156":{"id":"n1820939156","loc":[-85.0349077,42.0998116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939157":{"id":"n1820939157","loc":[-85.0949529,42.0925619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939159":{"id":"n1820939159","loc":[-85.0179829,42.0902343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939160":{"id":"n1820939160","loc":[-85.0405832,42.1016942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939161":{"id":"n1820939161","loc":[-85.2534015,42.0111833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939162":{"id":"n1820939162","loc":[-85.0839881,42.102708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939163":{"id":"n1820939163","loc":[-85.0341996,42.1008385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939164":{"id":"n1820939164","loc":[-85.1037761,42.0879731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939173":{"id":"n1820939173","loc":[-85.0460616,42.1005786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939177":{"id":"n1820939177","loc":[-85.0061651,42.0878059],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939181":{"id":"n1820939181","loc":[-85.1456775,42.0654684],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939183":{"id":"n1820939183","loc":[-85.1325508,42.0718439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939185":{"id":"n1820939185","loc":[-85.2485842,42.008329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939187":{"id":"n1820939187","loc":[-85.2744128,41.9949322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939189":{"id":"n1820939189","loc":[-85.2579025,41.9999542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939191":{"id":"n1820939191","loc":[-85.3358998,41.9828987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939193":{"id":"n1820939193","loc":[-85.3192658,41.9716714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939194":{"id":"n1820939194","loc":[-85.6400795,41.9130725],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939195":{"id":"n1820939195","loc":[-85.3278489,41.9780591],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939196":{"id":"n1820939196","loc":[-85.2800197,41.983061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939197":{"id":"n1820939197","loc":[-85.3278167,41.9692943],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939198":{"id":"n1820939198","loc":[-85.3366894,41.9838653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939199":{"id":"n1820939199","loc":[-85.0328383,42.0969923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939201":{"id":"n1820939201","loc":[-85.3259284,41.9720383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939217":{"id":"n1820939217","loc":[-85.1840181,42.0503277],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939220":{"id":"n1820939220","loc":[-85.422563,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939222":{"id":"n1820939222","loc":[-85.555386,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939224":{"id":"n1820939224","loc":[-85.3830809,42.002254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939226":{"id":"n1820939226","loc":[-84.9917938,42.0857517],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939227":{"id":"n1820939227","loc":[-85.2936775,41.9740484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939228":{"id":"n1820939228","loc":[-85.2632133,41.9975024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939229":{"id":"n1820939229","loc":[-85.2809424,41.9853259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939230":{"id":"n1820939230","loc":[-85.242104,42.0131204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939232":{"id":"n1820939232","loc":[-85.2610246,41.9963901],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939233":{"id":"n1820939233","loc":[-85.2335531,42.0268378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939234":{"id":"n1820939234","loc":[-85.3188839,41.9713575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939235":{"id":"n1820939235","loc":[-85.2413637,42.0225658],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939237":{"id":"n1820939237","loc":[-85.0010796,42.0887215],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939239":{"id":"n1820939239","loc":[-85.2241697,42.0362624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939243":{"id":"n1820939243","loc":[-85.0368456,42.1040134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939244":{"id":"n1820939244","loc":[-85.1327986,42.069524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939260":{"id":"n1820939260","loc":[-85.5408163,41.9711206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939261":{"id":"n1820939261","loc":[-85.2959199,41.9746546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939262":{"id":"n1820939262","loc":[-85.3298659,41.9683598],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939263":{"id":"n1820939263","loc":[-85.2240581,42.0358425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939264":{"id":"n1820939264","loc":[-85.2438206,42.0101944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939265":{"id":"n1820939265","loc":[-85.3984489,42.0059589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939266":{"id":"n1820939266","loc":[-85.2330811,42.0294279],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939268":{"id":"n1820939268","loc":[-85.1126877,42.0857704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939271":{"id":"n1820939271","loc":[-85.254925,42.0106253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939273":{"id":"n1820939273","loc":[-85.4328046,42.0064662],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820939277":{"id":"n1820939277","loc":[-85.289622,41.9789616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939279":{"id":"n1820939279","loc":[-85.4574532,42.0004043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939281":{"id":"n1820939281","loc":[-85.4803486,41.9867211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939283":{"id":"n1820939283","loc":[-85.157475,42.0631848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939285":{"id":"n1820939285","loc":[-85.2571458,42.0059935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939287":{"id":"n1820939287","loc":[-85.2818544,41.9825984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939289":{"id":"n1820939289","loc":[-85.2298302,42.0328781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939291":{"id":"n1820939291","loc":[-85.4819523,41.984821],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939301":{"id":"n1820939301","loc":[-85.3139765,41.9701159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939304":{"id":"n1820939304","loc":[-85.0424447,42.101742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939306":{"id":"n1820939306","loc":[-85.6360283,41.9338482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939310":{"id":"n1820939310","loc":[-85.3463025,41.9913622],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939312":{"id":"n1820939312","loc":[-85.4664869,41.9988097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939314":{"id":"n1820939314","loc":[-85.149364,42.0622449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939316":{"id":"n1820939316","loc":[-85.2460415,42.0153125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939318":{"id":"n1820939318","loc":[-85.4806103,41.9924523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939320":{"id":"n1820939320","loc":[-85.2449042,42.0190987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939322":{"id":"n1820939322","loc":[-85.5280165,41.9689263],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939324":{"id":"n1820939324","loc":[-85.0051204,42.0882625],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939326":{"id":"n1820939326","loc":[-85.1240925,42.0771546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939329":{"id":"n1820939329","loc":[-85.2261653,42.0342225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939331":{"id":"n1820939331","loc":[-85.5259933,41.972211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939333":{"id":"n1820939333","loc":[-85.0074754,42.0883183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939335":{"id":"n1820939335","loc":[-85.0764014,42.1055549],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939336":{"id":"n1820939336","loc":[-85.2908773,41.9769597],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939337":{"id":"n1820939337","loc":[-85.4095382,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939346":{"id":"n1820939346","loc":[-85.2514166,42.0111753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939348":{"id":"n1820939348","loc":[-85.0030377,42.0873799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939350":{"id":"n1820939350","loc":[-85.3659362,41.9964974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939352":{"id":"n1820939352","loc":[-85.226058,42.0348281],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939355":{"id":"n1820939355","loc":[-85.1902408,42.0507101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939357":{"id":"n1820939357","loc":[-85.2781854,41.9946001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939359":{"id":"n1820939359","loc":[-85.2139988,42.0405175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939361":{"id":"n1820939361","loc":[-85.0086609,42.0908262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939363":{"id":"n1820939363","loc":[-85.0627128,42.1043398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939365":{"id":"n1820939365","loc":[-85.1311346,42.072501],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939369":{"id":"n1820939369","loc":[-85.248198,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939370":{"id":"n1820939370","loc":[-84.99792,42.087794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939371":{"id":"n1820939371","loc":[-85.2786775,41.9942783],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939372":{"id":"n1820939372","loc":[-85.0342103,42.1013957],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939373":{"id":"n1820939373","loc":[-85.2022357,42.0444799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939374":{"id":"n1820939374","loc":[-85.2279205,42.0337388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939375":{"id":"n1820939375","loc":[-85.1337699,42.0712614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939376":{"id":"n1820939376","loc":[-85.317517,41.9707062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939377":{"id":"n1820939377","loc":[-85.1326326,42.070218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939394":{"id":"n1820939394","loc":[-85.0197746,42.0899118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939397":{"id":"n1820939397","loc":[-85.2590076,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939399":{"id":"n1820939399","loc":[-85.2469964,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939400":{"id":"n1820939400","loc":[-85.2470929,42.0146668],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939401":{"id":"n1820939401","loc":[-84.9984095,42.0878087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939402":{"id":"n1820939402","loc":[-85.2372653,42.0243273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939403":{"id":"n1820939403","loc":[-85.2454986,42.0091955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939404":{"id":"n1820939404","loc":[-85.0539205,42.1035995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939405":{"id":"n1820939405","loc":[-85.550601,41.9706101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939406":{"id":"n1820939406","loc":[-85.0351343,42.0999656],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939407":{"id":"n1820939407","loc":[-85.0082908,42.0905755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939408":{"id":"n1820939408","loc":[-85.0132904,42.0902251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939410":{"id":"n1820939410","loc":[-85.0892546,42.094012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939412":{"id":"n1820939412","loc":[-85.0350793,42.1030315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939416":{"id":"n1820939416","loc":[-85.0012406,42.0886777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939418":{"id":"n1820939418","loc":[-85.0577453,42.1029229],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939420":{"id":"n1820939420","loc":[-85.1230786,42.0776722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939422":{"id":"n1820939422","loc":[-85.571136,41.9649304],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939436":{"id":"n1820939436","loc":[-85.1137968,42.0848997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939437":{"id":"n1820939437","loc":[-85.3559584,41.9925105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939438":{"id":"n1820939438","loc":[-85.0080172,42.0903565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939439":{"id":"n1820939439","loc":[-85.0048897,42.0880913],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939441":{"id":"n1820939441","loc":[-85.0406959,42.1018574],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939443":{"id":"n1820939443","loc":[-85.3897328,42.0029078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939445":{"id":"n1820939445","loc":[-85.122349,42.0782814],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939448":{"id":"n1820939448","loc":[-85.4872193,41.985036],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939450":{"id":"n1820939450","loc":[-85.0120459,42.0904919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939452":{"id":"n1820939452","loc":[-85.6320543,41.921982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939456":{"id":"n1820939456","loc":[-85.0844749,42.1036843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939458":{"id":"n1820939458","loc":[-85.0968037,42.091296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939463":{"id":"n1820939463","loc":[-85.5339747,41.9681841],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939465":{"id":"n1820939465","loc":[-85.4125423,42.0072129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939467":{"id":"n1820939467","loc":[-85.6335563,41.9303626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939469":{"id":"n1820939469","loc":[-85.2821014,41.9932126],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939471":{"id":"n1820939471","loc":[-85.374691,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939485":{"id":"n1820939485","loc":[-85.4471321,42.0049806],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939487":{"id":"n1820939487","loc":[-85.3752532,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939489":{"id":"n1820939489","loc":[-85.4517283,42.005927],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939492":{"id":"n1820939492","loc":[-85.4662552,42.0005693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939494":{"id":"n1820939494","loc":[-85.0120083,42.0902928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939496":{"id":"n1820939496","loc":[-85.044463,42.1004631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939498":{"id":"n1820939498","loc":[-85.418293,42.0089667],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939500":{"id":"n1820939500","loc":[-85.0554762,42.1027358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939504":{"id":"n1820939504","loc":[-85.1246289,42.0746858],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939507":{"id":"n1820939507","loc":[-85.0408139,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939508":{"id":"n1820939508","loc":[-85.1236204,42.0775169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939509":{"id":"n1820939509","loc":[-85.0350109,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939510":{"id":"n1820939510","loc":[-85.0551583,42.1029878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939511":{"id":"n1820939511","loc":[-85.0956771,42.0916662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939512":{"id":"n1820939512","loc":[-85.2323408,42.0273638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939513":{"id":"n1820939513","loc":[-85.1232771,42.0762388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939531":{"id":"n1820939531","loc":[-85.264608,41.9997828],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939533":{"id":"n1820939533","loc":[-85.4198808,42.0087914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939535":{"id":"n1820939535","loc":[-85.3080864,41.9715677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939536":{"id":"n1820939536","loc":[-85.1189426,42.0812596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939537":{"id":"n1820939537","loc":[-85.2642741,41.9996764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939538":{"id":"n1820939538","loc":[-85.2572531,42.0079627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939539":{"id":"n1820939539","loc":[-85.2907807,41.9790174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939540":{"id":"n1820939540","loc":[-85.3171415,41.9707301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939541":{"id":"n1820939541","loc":[-85.08777,42.0953841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939542":{"id":"n1820939542","loc":[-85.1239262,42.0773218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939543":{"id":"n1820939543","loc":[-84.9973956,42.0877968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939544":{"id":"n1820939544","loc":[-85.011606,42.0896161],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939545":{"id":"n1820939545","loc":[-85.4077358,42.0082971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939546":{"id":"n1820939546","loc":[-85.3614945,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939547":{"id":"n1820939547","loc":[-85.3189118,41.9697649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939550":{"id":"n1820939550","loc":[-85.1262691,42.0740221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939551":{"id":"n1820939551","loc":[-85.3863639,41.9994635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939552":{"id":"n1820939552","loc":[-85.2836034,41.9923953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939554":{"id":"n1820939554","loc":[-85.3222377,41.9715916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939555":{"id":"n1820939555","loc":[-85.0122658,42.0906312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939556":{"id":"n1820939556","loc":[-85.0022652,42.0877581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939557":{"id":"n1820939557","loc":[-85.1011314,42.0899954],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939559":{"id":"n1820939559","loc":[-85.0008181,42.0885293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939561":{"id":"n1820939561","loc":[-85.3637046,41.9942488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939562":{"id":"n1820939562","loc":[-85.4500117,42.0052892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939563":{"id":"n1820939563","loc":[-85.0537636,42.1036365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939565":{"id":"n1820939565","loc":[-85.2367503,42.0246939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939566":{"id":"n1820939566","loc":[-85.0448479,42.1002653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939567":{"id":"n1820939567","loc":[-85.6337065,41.9295006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939568":{"id":"n1820939568","loc":[-85.0879792,42.095623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939569":{"id":"n1820939569","loc":[-85.6347623,41.9352369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939570":{"id":"n1820939570","loc":[-85.1497931,42.0620378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939571":{"id":"n1820939571","loc":[-85.5676169,41.9656324],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939572":{"id":"n1820939572","loc":[-85.638041,41.9166971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939573":{"id":"n1820939573","loc":[-85.4993429,41.9781293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939574":{"id":"n1820939574","loc":[-85.5352831,41.9692127],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939575":{"id":"n1820939575","loc":[-84.9924429,42.0857118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939577":{"id":"n1820939577","loc":[-85.0581101,42.1026721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939578":{"id":"n1820939578","loc":[-85.641088,41.9094477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939579":{"id":"n1820939579","loc":[-85.2548821,42.0052282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939580":{"id":"n1820939580","loc":[-85.1124463,42.0859734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939581":{"id":"n1820939581","loc":[-85.1083479,42.0857624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939583":{"id":"n1820939583","loc":[-85.1387424,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939584":{"id":"n1820939584","loc":[-85.5152645,41.9700892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939585":{"id":"n1820939585","loc":[-85.5463738,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939586":{"id":"n1820939586","loc":[-85.360207,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939587":{"id":"n1820939587","loc":[-85.2402372,42.0120917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939588":{"id":"n1820939588","loc":[-85.3936381,42.0047255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939589":{"id":"n1820939589","loc":[-85.3310246,41.973784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939590":{"id":"n1820939590","loc":[-85.0329403,42.096642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939591":{"id":"n1820939591","loc":[-85.0097271,42.0910981],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939593":{"id":"n1820939593","loc":[-85.0446562,42.1003437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939595":{"id":"n1820939595","loc":[-85.0856671,42.1008452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939596":{"id":"n1820939596","loc":[-85.4087228,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939597":{"id":"n1820939597","loc":[-85.0609519,42.1052564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939598":{"id":"n1820939598","loc":[-85.3432126,41.9874548],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939599":{"id":"n1820939599","loc":[-85.4041738,42.0067027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939600":{"id":"n1820939600","loc":[-85.0825437,42.1035768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939601":{"id":"n1820939601","loc":[-85.048422,42.101498],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939602":{"id":"n1820939602","loc":[-85.0336256,42.0999031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939603":{"id":"n1820939603","loc":[-85.046818,42.1014104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939605":{"id":"n1820939605","loc":[-85.2856524,41.98078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939607":{"id":"n1820939607","loc":[-85.1118173,42.0864245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939609":{"id":"n1820939609","loc":[-85.0443397,42.1006263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939610":{"id":"n1820939610","loc":[-85.0336698,42.0978361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939611":{"id":"n1820939611","loc":[-85.4630322,42.0014248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939612":{"id":"n1820939612","loc":[-85.0613127,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939613":{"id":"n1820939613","loc":[-85.0137571,42.0887801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939614":{"id":"n1820939614","loc":[-85.272487,41.9982013],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939616":{"id":"n1820939616","loc":[-85.4665727,41.9983791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939617":{"id":"n1820939617","loc":[-85.1288078,42.0725476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939618":{"id":"n1820939618","loc":[-85.4653282,42.00109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939619":{"id":"n1820939619","loc":[-85.2314717,42.0276746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939620":{"id":"n1820939620","loc":[-85.255982,42.0003569],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939621":{"id":"n1820939621","loc":[-85.2886779,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939622":{"id":"n1820939622","loc":[-85.22438,42.0367509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939623":{"id":"n1820939623","loc":[-85.0334713,42.0998382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939624":{"id":"n1820939624","loc":[-85.2236504,42.037484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939625":{"id":"n1820939625","loc":[-85.636908,41.9175162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939627":{"id":"n1820939627","loc":[-85.2669187,41.9989707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939628":{"id":"n1820939628","loc":[-85.3247268,41.9720702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939629":{"id":"n1820939629","loc":[-85.3785104,41.9987299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939630":{"id":"n1820939630","loc":[-85.5267658,41.9720515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939631":{"id":"n1820939631","loc":[-85.2445116,42.0098811],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939632":{"id":"n1820939632","loc":[-85.1271448,42.0725077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939633":{"id":"n1820939633","loc":[-85.0345751,42.099724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939634":{"id":"n1820939634","loc":[-85.4217476,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939635":{"id":"n1820939635","loc":[-85.3121848,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939636":{"id":"n1820939636","loc":[-85.2826419,41.9929985],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939637":{"id":"n1820939637","loc":[-85.3160257,41.9706344],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939638":{"id":"n1820939638","loc":[-85.5684967,41.9657919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939640":{"id":"n1820939640","loc":[-85.225131,42.0356194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939642":{"id":"n1820939642","loc":[-85.1324124,42.0693328],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939644":{"id":"n1820939644","loc":[-84.9994073,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939645":{"id":"n1820939645","loc":[-85.1087596,42.0863329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939646":{"id":"n1820939646","loc":[-85.2915532,41.9782996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939647":{"id":"n1820939647","loc":[-84.9988708,42.0877808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939648":{"id":"n1820939648","loc":[-85.2243628,42.0356728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939649":{"id":"n1820939649","loc":[-85.0427397,42.1020524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939650":{"id":"n1820939650","loc":[-85.6388392,41.9100752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939651":{"id":"n1820939651","loc":[-85.0133709,42.0888557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939652":{"id":"n1820939652","loc":[-85.318798,41.9701211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939653":{"id":"n1820939653","loc":[-85.6335778,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939654":{"id":"n1820939654","loc":[-85.6338396,41.9370247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939655":{"id":"n1820939655","loc":[-85.0939069,42.0931988],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939656":{"id":"n1820939656","loc":[-85.5702347,41.9651378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939657":{"id":"n1820939657","loc":[-85.4235286,42.0088392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939658":{"id":"n1820939658","loc":[-85.2740856,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939659":{"id":"n1820939659","loc":[-85.4824299,41.9934195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939660":{"id":"n1820939660","loc":[-85.3857846,42.0014408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939661":{"id":"n1820939661","loc":[-85.0451658,42.10028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939662":{"id":"n1820939662","loc":[-85.3893036,42.001377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939664":{"id":"n1820939664","loc":[-85.2455845,42.0088607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939665":{"id":"n1820939665","loc":[-85.2741071,41.9951116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939666":{"id":"n1820939666","loc":[-85.1298375,42.0677718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939667":{"id":"n1820939667","loc":[-85.5491848,41.9707377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939669":{"id":"n1820939669","loc":[-85.2780298,41.995238],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939670":{"id":"n1820939670","loc":[-85.1330068,42.0716926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939671":{"id":"n1820939671","loc":[-85.0811342,42.1025129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939672":{"id":"n1820939672","loc":[-85.2325124,42.0290135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939673":{"id":"n1820939673","loc":[-85.2975077,41.9716953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939674":{"id":"n1820939674","loc":[-85.0951729,42.0922394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939676":{"id":"n1820939676","loc":[-85.0363252,42.1043119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939677":{"id":"n1820939677","loc":[-85.2960057,41.97349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939678":{"id":"n1820939678","loc":[-85.3701849,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939679":{"id":"n1820939679","loc":[-85.3381486,41.9848861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939680":{"id":"n1820939680","loc":[-85.2058448,42.0417286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939682":{"id":"n1820939682","loc":[-85.0819335,42.1034443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939683":{"id":"n1820939683","loc":[-85.3872223,41.9993359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939684":{"id":"n1820939684","loc":[-85.095366,42.091909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939685":{"id":"n1820939685","loc":[-85.2327914,42.0291888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939686":{"id":"n1820939686","loc":[-85.0433459,42.1018773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939687":{"id":"n1820939687","loc":[-85.0585339,42.1027318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939688":{"id":"n1820939688","loc":[-85.0062885,42.0876347],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939689":{"id":"n1820939689","loc":[-85.246299,42.017377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939690":{"id":"n1820939690","loc":[-85.2932376,41.9742877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939691":{"id":"n1820939691","loc":[-85.2962846,41.9736815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939692":{"id":"n1820939692","loc":[-85.6052365,41.9409193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939693":{"id":"n1820939693","loc":[-85.2570536,42.0003341],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939694":{"id":"n1820939694","loc":[-85.0488458,42.1014064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939695":{"id":"n1820939695","loc":[-85.4050321,42.0069578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939696":{"id":"n1820939696","loc":[-85.4847517,41.9845894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939697":{"id":"n1820939697","loc":[-85.0844655,42.1013826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939698":{"id":"n1820939698","loc":[-85.1437206,42.0650008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939699":{"id":"n1820939699","loc":[-85.1168183,42.0864034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939700":{"id":"n1820939700","loc":[-85.5479831,41.9711366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939701":{"id":"n1820939701","loc":[-85.0349948,42.1034124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939702":{"id":"n1820939702","loc":[-85.0835589,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939703":{"id":"n1820939703","loc":[-85.0203875,42.0902649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939704":{"id":"n1820939704","loc":[-85.0371191,42.1038184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939705":{"id":"n1820939705","loc":[-85.1273312,42.0735681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939707":{"id":"n1820939707","loc":[-85.1272239,42.0730226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939710":{"id":"n1820939710","loc":[-85.0349881,42.1019012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939712":{"id":"n1820939712","loc":[-85.2440459,42.0178313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939713":{"id":"n1820939713","loc":[-85.2444751,42.0182618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939714":{"id":"n1820939714","loc":[-85.0539996,42.1032863],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939715":{"id":"n1820939715","loc":[-85.2215905,42.0373246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939716":{"id":"n1820939716","loc":[-85.0649712,42.1051994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939717":{"id":"n1820939717","loc":[-85.0927146,42.0927581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939718":{"id":"n1820939718","loc":[-85.3884668,42.0042312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939719":{"id":"n1820939719","loc":[-85.0840672,42.1013241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939720":{"id":"n1820939720","loc":[-85.304739,41.9725408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939721":{"id":"n1820939721","loc":[-85.2243585,42.0371334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939722":{"id":"n1820939722","loc":[-85.0599823,42.1049686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939723":{"id":"n1820939723","loc":[-85.0298825,42.0944288],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939724":{"id":"n1820939724","loc":[-85.0366095,42.1042443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939725":{"id":"n1820939725","loc":[-85.0698783,42.1058135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939726":{"id":"n1820939726","loc":[-85.1054551,42.0873361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939727":{"id":"n1820939727","loc":[-84.9952324,42.0864285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939728":{"id":"n1820939728","loc":[-85.3442211,41.9897993],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939729":{"id":"n1820939729","loc":[-85.4386134,42.0056822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939730":{"id":"n1820939730","loc":[-85.2438528,42.0146589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939731":{"id":"n1820939731","loc":[-85.0355581,42.1041846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939732":{"id":"n1820939732","loc":[-85.557682,41.9724447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939734":{"id":"n1820939734","loc":[-85.2299418,42.033314],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939735":{"id":"n1820939735","loc":[-85.6297412,41.9419088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939736":{"id":"n1820939736","loc":[-85.2645101,41.9980259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939738":{"id":"n1820939738","loc":[-85.082195,42.1035649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939739":{"id":"n1820939739","loc":[-85.234272,42.0267102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939740":{"id":"n1820939740","loc":[-85.0130758,42.0895006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939741":{"id":"n1820939741","loc":[-85.4594702,42.0000375],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939742":{"id":"n1820939742","loc":[-84.9946745,42.0863687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939743":{"id":"n1820939743","loc":[-85.6438775,41.9120186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939744":{"id":"n1820939744","loc":[-85.6372685,41.9168089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939745":{"id":"n1820939745","loc":[-85.2789468,41.9893208],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939747":{"id":"n1820939747","loc":[-85.3775019,41.998427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939749":{"id":"n1820939749","loc":[-85.0993571,42.0909178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939750":{"id":"n1820939750","loc":[-85.1308503,42.0669339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939751":{"id":"n1820939751","loc":[-85.4802566,41.9856659],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939752":{"id":"n1820939752","loc":[-85.2543563,42.0108804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939753":{"id":"n1820939753","loc":[-85.1041033,42.0878815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939755":{"id":"n1820939755","loc":[-85.4000969,42.0071651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939757":{"id":"n1820939757","loc":[-85.3858275,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939758":{"id":"n1820939758","loc":[-85.3653998,41.996609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939759":{"id":"n1820939759","loc":[-85.2432949,42.0202305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939760":{"id":"n1820939760","loc":[-85.3878874,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939761":{"id":"n1820939761","loc":[-85.2516741,42.0114145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939762":{"id":"n1820939762","loc":[-85.2788825,41.9865142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939763":{"id":"n1820939763","loc":[-85.0009147,42.0886686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939764":{"id":"n1820939764","loc":[-85.3918142,42.003434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939765":{"id":"n1820939765","loc":[-85.5532832,41.9696848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939766":{"id":"n1820939766","loc":[-85.5545063,41.969254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939768":{"id":"n1820939768","loc":[-85.1327989,42.0704769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939770":{"id":"n1820939770","loc":[-85.0588558,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939772":{"id":"n1820939772","loc":[-85.555798,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939773":{"id":"n1820939773","loc":[-85.0565853,42.1023589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939774":{"id":"n1820939774","loc":[-85.2582941,41.9992765],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939775":{"id":"n1820939775","loc":[-85.3007264,41.9727642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939776":{"id":"n1820939776","loc":[-85.2477045,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939777":{"id":"n1820939777","loc":[-85.2415247,42.0104973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1821006698":{"id":"n1821006698","loc":[-85.6345227,41.9382009],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006700":{"id":"n1821006700","loc":[-85.6344894,41.938975],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006704":{"id":"n1821006704","loc":[-85.6351181,41.9370157],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006706":{"id":"n1821006706","loc":[-85.6357554,41.9361657],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006708":{"id":"n1821006708","loc":[-85.6351235,41.9368481],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006710":{"id":"n1821006710","loc":[-85.6352844,41.9364211],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006712":{"id":"n1821006712","loc":[-85.6351503,41.937307],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006716":{"id":"n1821006716","loc":[-85.6350366,41.9379774],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006725":{"id":"n1821006725","loc":[-85.6352147,41.9375903],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821137607":{"id":"n1821137607","loc":[-85.5297057,41.9669915],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821137608":{"id":"n1821137608","loc":[-85.5288598,41.9673094],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821139530":{"id":"n1821139530","loc":[-85.4832228,41.9881686],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139531":{"id":"n1821139531","loc":[-85.4812101,41.9851258],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139532":{"id":"n1821139532","loc":[-85.4799127,41.9860244],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139533":{"id":"n1821139533","loc":[-85.4800313,41.9865555],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1841425201":{"id":"n1841425201","loc":[-85.4334577,42.0063713],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:57Z","tags":{}},"n1841425222":{"id":"n1841425222","loc":[-85.4382449,42.0055785],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:58Z","tags":{}},"n1914861007":{"id":"n1914861007","loc":[-85.394959,42.0057472],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:21Z","tags":{}},"n1914861057":{"id":"n1914861057","loc":[-85.3967185,42.0049695],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:22Z","tags":{}},"n1914861112":{"id":"n1914861112","loc":[-85.394179,42.0056906],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:24Z","tags":{}},"n1914861306":{"id":"n1914861306","loc":[-85.3900226,42.0028488],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:27Z","tags":{}},"n2114807565":{"id":"n2114807565","loc":[-85.6385979,41.9577824],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807568":{"id":"n2114807568","loc":[-85.6325097,41.9775713],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807572":{"id":"n2114807572","loc":[-85.6328996,41.9980965],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807578":{"id":"n2114807578","loc":[-85.6344818,41.9696956],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807583":{"id":"n2114807583","loc":[-85.6326289,41.9757853],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807593":{"id":"n2114807593","loc":[-85.6360828,41.9650674],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2130304159":{"id":"n2130304159","loc":[-85.6352537,41.9450015],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"railway":"level_crossing"}},"n2139795852":{"id":"n2139795852","loc":[-85.6374708,41.9311633],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858882":{"id":"n2139858882","loc":[-85.635178,41.9356158],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858883":{"id":"n2139858883","loc":[-85.63533,41.9355886],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858884":{"id":"n2139858884","loc":[-85.6353819,41.93556],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858885":{"id":"n2139858885","loc":[-85.6353665,41.9355157],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858886":{"id":"n2139858886","loc":[-85.6353165,41.9354971],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858887":{"id":"n2139858887","loc":[-85.6352454,41.9355328],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858888":{"id":"n2139858888","loc":[-85.6350184,41.9357846],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858889":{"id":"n2139858889","loc":[-85.634978,41.9359448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858890":{"id":"n2139858890","loc":[-85.6347723,41.9361523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858891":{"id":"n2139858891","loc":[-85.6347165,41.9362667],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858892":{"id":"n2139858892","loc":[-85.6346992,41.9364312],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858893":{"id":"n2139858893","loc":[-85.634603,41.9366329],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858894":{"id":"n2139858894","loc":[-85.6345973,41.9367488],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858895":{"id":"n2139858895","loc":[-85.6345127,41.9369734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858896":{"id":"n2139858896","loc":[-85.634478,41.9371923],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858897":{"id":"n2139858897","loc":[-85.6344838,41.9373768],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858898":{"id":"n2139858898","loc":[-85.6346242,41.9375299],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858899":{"id":"n2139858899","loc":[-85.6347723,41.9376357],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858900":{"id":"n2139858900","loc":[-85.6347607,41.9377788],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858901":{"id":"n2139858901","loc":[-85.6346204,41.9379533],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858902":{"id":"n2139858902","loc":[-85.6344184,41.9380105],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858903":{"id":"n2139858903","loc":[-85.6341627,41.9380406],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858904":{"id":"n2139858904","loc":[-85.634005,41.9381679],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858905":{"id":"n2139858905","loc":[-85.63393,41.9383353],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858906":{"id":"n2139858906","loc":[-85.6338588,41.9384597],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858907":{"id":"n2139858907","loc":[-85.6336627,41.9387759],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858908":{"id":"n2139858908","loc":[-85.6335127,41.9389361],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858933":{"id":"n2139858933","loc":[-85.6353118,41.9432646],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858934":{"id":"n2139858934","loc":[-85.6353952,41.9433002],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858935":{"id":"n2139858935","loc":[-85.6356496,41.9433255],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858936":{"id":"n2139858936","loc":[-85.6363128,41.9433373],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858937":{"id":"n2139858937","loc":[-85.6365467,41.9433779],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858938":{"id":"n2139858938","loc":[-85.6368692,41.9435265],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858939":{"id":"n2139858939","loc":[-85.6370986,41.9437039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858940":{"id":"n2139858940","loc":[-85.6372371,41.9437732],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858941":{"id":"n2139858941","loc":[-85.6374756,41.9438171],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858942":{"id":"n2139858942","loc":[-85.6376164,41.9439286],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858943":{"id":"n2139858943","loc":[-85.6377504,41.944138],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858944":{"id":"n2139858944","loc":[-85.6384204,41.9443137],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858945":{"id":"n2139858945","loc":[-85.6385726,41.9444506],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858946":{"id":"n2139858946","loc":[-85.638702,41.9445739],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858947":{"id":"n2139858947","loc":[-85.6387179,41.9446516],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858948":{"id":"n2139858948","loc":[-85.6387088,41.9447985],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858949":{"id":"n2139858949","loc":[-85.6387656,41.9449877],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858950":{"id":"n2139858950","loc":[-85.638777,41.9451448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858951":{"id":"n2139858951","loc":[-85.6387088,41.9452631],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858964":{"id":"n2139858964","loc":[-85.6383346,41.9442912],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858966":{"id":"n2139858966","loc":[-85.6384724,41.9443605],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858967":{"id":"n2139858967","loc":[-85.6354078,41.9434285],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858968":{"id":"n2139858968","loc":[-85.635271,41.943654],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858969":{"id":"n2139858969","loc":[-85.6352657,41.9437437],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858970":{"id":"n2139858970","loc":[-85.635271,41.9438195],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858971":{"id":"n2139858971","loc":[-85.6351563,41.9438906],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858972":{"id":"n2139858972","loc":[-85.6351384,41.9438882],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858973":{"id":"n2139858973","loc":[-85.6351514,41.9438034],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858974":{"id":"n2139858974","loc":[-85.6351237,41.9436641],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858975":{"id":"n2139858975","loc":[-85.6351498,41.9436108],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858976":{"id":"n2139858976","loc":[-85.6351058,41.9435345],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858977":{"id":"n2139858977","loc":[-85.6349641,41.9432051],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858986":{"id":"n2139858986","loc":[-85.6341205,41.9380746],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858990":{"id":"n2139858990","loc":[-85.6345671,41.9381816],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858995":{"id":"n2139858995","loc":[-85.6339783,41.9382273],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139859003":{"id":"n2139859003","loc":[-85.6340477,41.9373489],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139859004":{"id":"n2139859004","loc":[-85.6339784,41.9374752],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139870406":{"id":"n2139870406","loc":[-85.6342265,41.9432605],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139877106":{"id":"n2139877106","loc":[-85.6346323,41.9438746],"version":"1","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n2139982399":{"id":"n2139982399","loc":[-85.6324055,41.9408537],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982400":{"id":"n2139982400","loc":[-85.632488,41.941063],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"leisure":"slipway"}},"n2139982401":{"id":"n2139982401","loc":[-85.6327261,41.9415366],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982402":{"id":"n2139982402","loc":[-85.6326391,41.9413598],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982403":{"id":"n2139982403","loc":[-85.6327041,41.9414391],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982405":{"id":"n2139982405","loc":[-85.6322891,41.9406009],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982406":{"id":"n2139982406","loc":[-85.6325412,41.9425257],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139989333":{"id":"n2139989333","loc":[-85.6340584,41.9431731],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006331":{"id":"n2140006331","loc":[-85.6361751,41.9459744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006334":{"id":"n2140006334","loc":[-85.636528,41.9459751],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006336":{"id":"n2140006336","loc":[-85.6370918,41.9458926],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006338":{"id":"n2140006338","loc":[-85.6378806,41.9456474],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006340":{"id":"n2140006340","loc":[-85.6385831,41.9454343],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006342":{"id":"n2140006342","loc":[-85.639341,41.945157],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006344":{"id":"n2140006344","loc":[-85.6393497,41.9450232],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006346":{"id":"n2140006346","loc":[-85.6388245,41.9450145],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006348":{"id":"n2140006348","loc":[-85.6388167,41.9441739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006351":{"id":"n2140006351","loc":[-85.6382915,41.9441797],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006353":{"id":"n2140006353","loc":[-85.63828,41.9438109],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006355":{"id":"n2140006355","loc":[-85.6381949,41.9436009],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006357":{"id":"n2140006357","loc":[-85.6371904,41.9435918],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006359":{"id":"n2140006359","loc":[-85.6366966,41.9432727],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006361":{"id":"n2140006361","loc":[-85.6353755,41.9432744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006365":{"id":"n2140006365","loc":[-85.6350906,41.9435472],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006366":{"id":"n2140006366","loc":[-85.6343461,41.9441573],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006395":{"id":"n2140006395","loc":[-85.6351171,41.9437175],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006397":{"id":"n2140006397","loc":[-85.635352,41.9450206],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006399":{"id":"n2140006399","loc":[-85.6358194,41.9454937],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006401":{"id":"n2140006401","loc":[-85.6348693,41.9445739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006431":{"id":"n2140006431","loc":[-85.6376737,41.9438023],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006437":{"id":"n2140006437","loc":[-85.6382631,41.9442724],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2189123379":{"id":"n2189123379","loc":[-85.6342671,41.9352665],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w203974076":{"id":"w203974076","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870442","n2139870457","n2139870458","n2139870459","n2139870460","n2139870452"]},"w170989131":{"id":"w170989131","version":"5","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:30Z","tags":{"name":"St Joseph River","source":"Bing Imagery","waterway":"river"},"nodes":["n1820938225","n1820938712","n1820937596","n1820937574","n1820938515","n1820938330","n1820938678","n1820938240","n1820938950","n1820939226","n1820939575","n1820937913","n1820938223","n1820937668","n1820938545","n1820937584","n1820939742","n1820939727","n1820937578","n1820938149","n1820938124","n1820938888","n1820938898","n1820937922","n1820939543","n1820939370","n1820939401","n1820939647","n1820938345","n1820939644","n1820938333","n1820938370","n1820938624","n1820938493","n1820939559","n1820939763","n1820939237","n1820939416","n1820937810","n1820938317","n1820938324","n1820937558","n1820939556","n1820938298","n1820939348","n1820939125","n1820939081","n1820938859","n1820939126","n1820938881","n1820939439","n1820939324","n1820939128","n1820938101","n1820937706","n1820938382","n1820938776","n1820937815","n1820939177","n1820939688","n1820938952","n1820938216","n1820938387","n1820939333","n1820938243","n1820938248","n1820937666","n1820939051","n1820938332","n1820939438","n1820939407","n1820939361","n1820937517","n1820938770","n1820939591","n1820937857","n1820938491","n1820937993","n1820938125","n1820938166","n1820937746","n1820939028","n1820937638","n1820938676","n1820938843","n1820938844","n1820937978","n1820938730","n1820939544","n1820938304","n1820939123","n1820939494","n1820939450","n1820939555","n1820938133","n1820938129","n1820938871","n1820939408","n1820938669","n1820938260","n1820939740","n1820937625","n1820938631","n1820939651","n1820939613","n1820937850","n1820938325","n1820937736","n1820938804","n1820938837","n1820938014","n1820938991","n1820938722","n1820938935","n1820937870","n1820938432","n1820937986","n1820938756","n1820938966","n1820939159","n1820937744","n1820938334","n1820937645","n1820939394","n1820937656","n1820938392","n1820939703","n1820938385","n1820938947","n1820938854","n1820938428","n1820938488","n1820938269","n1820938668","n1820938268","n1820938707","n1820937732","n1820939144","n1820938481","n1820938771","n1820938686","n1820938948","n1820937997","n1820937769","n1820939003","n1820938083","n1820939011","n1820938803","n1820938700","n1820939723","n1820938808","n1820938262","n1820938081","n1820938926","n1820938326","n1820938102","n1820938508","n1820939590","n1820939199","n1820938084","n1820938870","n1820938895","n1820937611","n1820938918","n1820938514","n1820939610","n1820938910","n1820937523","n1820938127","n1820939108","n1820937981","n1820938938","n1820938715","n1820939016","n1820938237","n1820939623","n1820939602","n1820937734","n1820938977","n1820939633","n1820939156","n1820939406","n1820938279","n1820938301","n1820937678","n1820937671","n1820939163","n1820938356","n1820939372","n1820937568","n1820937626","n1820939710","n1820939004","n1820938253","n1820938571","n1820937513","n1820939412","n1820939701","n1820939509","n1820938839","n1820939731","n1820937798","n1820939676","n1820939724","n1820939243","n1820939704","n1820937814","n1820937599","n1820938199","n1820938995","n1820938445","n1820938069","n1820938470","n1820939074","n1820938193","n1820938740","n1820938047","n1820939507","n1820939441","n1820939160","n1820937849","n1820937840","n1820938052","n1820938988","n1820938796","n1820937724","n1820937620","n1820939304","n1820938343","n1820939649","n1820938875","n1820939686","n1820938476","n1820937801","n1820937737","n1820938264","n1820939609","n1820939496","n1820939593","n1820939566","n1820939661","n1820937782","n1820938912","n1820939173","n1820937733","n1820938953","n1820939603","n1820937607","n1820938468","n1820939601","n1820939694","n1820939133","n1820938897","n1820938893","n1820937831","n1820937730","n1820938820","n1820938046","n1820938426","n1820938347","n1820937582","n1820938954","n1820938033","n1820938104","n1820938680","n1820939563","n1820939404","n1820939714","n1820939000","n1820937992","n1820938168","n1820939510","n1820939500","n1820937509","n1820938865","n1820939773","n1820938138","n1820938905","n1820937623","n1820939418","n1820937946","n1820939577","n1820937615","n1820939687","n1820939119","n1820937988","n1820938337","n1820937750","n1820938703","n1820938339","n1820939044","n1820939770","n1820938913","n1820937672","n1820939722","n1820937768","n1820939597","n1820939612","n1820937699","n1820937682","n1820937669","n1820937657","n1820939363","n1820937800","n1820938265","n1820937760","n1820938207","n1820938115","n1820939130","n1820939716","n1820938338","n1820938239","n1820939040","n1820938064","n1820938855","n1820939015","n1820938258","n1820939042","n1820939043","n1820938443","n1820939725","n1820937675","n1820938568","n1820938280","n1820937705","n1820938775","n1820938636","n1820938626","n1820937859","n1820938096","n1820937852","n1820939039","n1820938247","n1820938585","n1820937707","n1820938117","n1820938909","n1820939115","n1820939335","n1820938805","n1820937935","n1820937876","n1820938699","n1820937869","n1820938603","n1820938100","n1820938500","n1820938283","n1820938275","n1820938923","n1820938365","n1820938349","n1820937804","n1820937903","n1820937608","n1820938688","n1820939671","n1820938092","n1820937820","n1820938753","n1820938922","n1820937990","n1820939682","n1820939738","n1820939600","n1820938167","n1820937726","n1820939702","n1820938209","n1820939456","n1820937837","n1820938222","n1820938902","n1820939162","n1820938965","n1820938461","n1820937681","n1820937514","n1820937764","n1820939719","n1820939697","n1820938899","n1820939093","n1820938702","n1820939595","n1820938749","n1820938348","n1820937606","n1820938675","n1820938830","n1820938737","n1820938758","n1820938716","n1820939107","n1820937863","n1820939033","n1820938163","n1820937867","n1820938819","n1820938034","n1820938252","n1820937563","n1820937868","n1820939032","n1820938632","n1820937982","n1820937943","n1820939568","n1820939541","n1820938215","n1820939097","n1820938812","n1820937518","n1820937952","n1820938711","n1820938736","n1820939066","n1820937591","n1820938082","n1820938108","n1820938496","n1820939410","n1820938949","n1820938327","n1820937708","n1820939023","n1820937772","n1820938256","n1820939083","n1820938378","n1820938961","n1820937610","n1820939717","n1820938695","n1820938590","n1820939655","n1820938341","n1820939054","n1820939157","n1820939674","n1820939684","n1820939511","n1820937631","n1820939458","n1820937830","n1820937709","n1820937779","n1820939749","n1820938880","n1820938856","n1820938557","n1820939557","n1820938249","n1820938818","n1820937594","n1820939114","n1820938416","n1820937508","n1820938990","n1820938201","n1820937759","n1820937987","n1820939164","n1820939753","n1820938187","n1820939067","n1820937586","n1820937941","n1820938121","n1820937807","n1820938521","n1820939726","n1820938244","n1820939014","n1820938741","n1820937629","n1820938664","n1820938747","n1820939082","n1820938709","n1820938320","n1820938270","n1820937619","n1820937777","n1820937718","n1820939138","n1820938056","n1820938155","n1820938596","n1820937775","n1820938437","n1820938128","n1820939581","n1820939145","n1820938546","n1820938184","n1820937601","n1820937794","n1820938539","n1820939645","n1820938438","n1820938436","n1820939025","n1820938915","n1820938534","n1820937605","n1820939607","n1820939101","n1820939580","n1820939268","n1820939134","n1820938849","n1820938754","n1820938079","n1820937842","n1820938781","n1820938873","n1820938495","n1820938381","n1820938503","n1820939436","n1820938502","n1820939087","n1820938996","n1820938449","n1820938907","n1820937979","n1820937780","n1820937546","n1820939699","n1820937677","n1820938957","n1820938946","n1820937776","n1820937717","n1820938718","n1820937637","n1820938510","n1820937663","n1820938941","n1820939151","n1820937603","n1820938250","n1820937951","n1820938630","n1820938821","n1820938779","n1820938497","n1820938159","n1820939536","n1820938409","n1820938386","n1820939116","n1820938340","n1820939117","n1820938291","n1820938435","n1820937819","n1820938242","n1820939078","n1820938877","n1820939104","n1820939445","n1820938367","n1820938903","n1820939420","n1820938517","n1820939508","n1820939542","n1820939326","n1820938210","n1820939020","n1820938815","n1820937832","n1820939513","n1820937818","n1820939005","n1820938717","n1820939135","n1820938384","n1820937587","n1820939024","n1820939504","n1820939120","n1820939026","n1820938015","n1820938998","n1820937648","n1820939137","n1820937761","n1820938195","n1820938535","n1820939550","n1820938725","n1820938282","n1820937781","n1820937792","n1820939705","n1820937788","n1820939707","n1820937882","n1820939632","n1820938427","n1820938276","n1820939617","n1820939013","n1820939035","n1820937543","n1820939365","n1820937752","n1820937802","n1820939183","n1820939670","n1820938450","n1820939375","n1820937813","n1820937673","n1820937783","n1820939029","n1820939768","n1820939377","n1820937974","n1820939244","n1820939642","n1820937864","n1820938255","n1820938528","n1820939666","n1820938120","n1820937812","n1820938928","n1820939750","n1820939099","n1820938073","n1820938714","n1820939140","n1820938192","n1820937844","n1820938635","n1820938742","n1820939583","n1820937887","n1820938318","n1820938816","n1820939698","n1820938273","n1820939181","n1820937652","n1820938748","n1820937651","n1820938519","n1820938019","n1820938752","n1820938235","n1820939118","n1820938562","n1820939314","n1820939570","n1820938190","n1820938342","n1820938533","n1820937977","n1820939089","n1820939146","n1820938622","n1820938297","n1820938524","n1820939283","n1820938874","n1820938832","n1820937550","n1820937843","n1820938638","n1820938116","n1820938206","n1820938319","n1820939053","n1820937845","n1820938093","n1820939217","n1820938997","n1820939355","n1820938861","n1820938726","n1820938057","n1820939373","n1820937862","n1820938518","n1820939072","n1820939680","n1820938444","n1820938217","n1820938506","n1820938393","n1820938492","n1820938852","n1820938221","n1820938773","n1820937684","n1820939060","n1820938224","n1820938203","n1820938840","n1820937525","n1820938147","n1820938433","n1820938188","n1820939359","n1820938750","n1820938016","n1820938768","n1820937621","n1820937799","n1820938951","n1820938721","n1820939037","n1820937866","n1820939715","n1820938063","n1820938446","n1820937627","n1820939624","n1820938431","n1820939721","n1820939622","n1820939239","n1820939263","n1820939648","n1820939640","n1820938867","n1820938757","n1820938439","n1820939352","n1820937740","n1820939329","n1820938229","n1820937583","n1820938180","n1820938366","n1820937767","n1820937758","n1820939374","n1820938869","n1820938292","n1820938400","n1820938399","n1820939734","n1820939289","n1820938944","n1820937755","n1820938759","n1820938434","n1820937600","n1820937825","n1820937670","n1820937793","n1820938011","n1820938246","n1820938956","n1820937770","n1820937757","n1820938059","n1820937860","n1820937569","n1820939266","n1820939685","n1820939672","n1820938606","n1820938772","n1820939038","n1820938211","n1820938359","n1820939619","n1820938708","n1820939512","n1820938065","n1820939233","n1820939739","n1820938786","n1820938879","n1820939147","n1820938563","n1820939148","n1820937839","n1820937659","n1820937786","n1820938419","n1820939565","n1820939402","n1820937710","n1820938254","n1820938271","n1820938390","n1820937680","n1820938140","n1820937817","n1820938218","n1820937985","n1820939235","n1820938441","n1820938401","n1820938719","n1820937795","n1820938971","n1820938460","n1820939759","n1820937972","n1820937841","n1820938462","n1820939320","n1820938978","n1820938360","n1820939713","n1820937676","n1820939712","n1820937939","n1820938080","n1820937754","n1820937753","n1820938530","n1820937886","n1820939689","n1820939124","n1820938697","n1820938789","n1820939105","n1820938860","n1820938853","n1820939400","n1820937561","n1820938404","n1820938774","n1820939316","n1820937696","n1820938782","n1820938975","n1820937564","n1820939730","n1820938257","n1820937853","n1820938487","n1820938848","n1820938906","n1820939230","n1820938424","n1820938051","n1820937771","n1820939587","n1820939149","n1820938792","n1820939041","n1820938934","n1820939777","n1820937515","n1820939058","n1820938312","n1820939264","n1820939631","n1820939109","n1820939403","n1820939664","n1820938724","n1820938929","n1820939399","n1820939776","n1820939369","n1820939185","n1820937701","n1820938126","n1820938336","n1820938219","n1820939080","n1820938642","n1820938043","n1820937725","n1820938548","n1820938552","n1820938035","n1820938684","n1820937778","n1820938764","n1820939021","n1820939346","n1820937712","n1820939761","n1820938397","n1820937747","n1820938566","n1820939161","n1820939090","n1820939752","n1820939271","n1820938878","n1820938110","n1820938346","n1820938499","n1820938151","n1820939538","n1820938281","n1820939153","n1820938551","n1820939285","n1820938197","n1820938408","n1820938482","n1820939036","n1820939579","n1820938489","n1820938483","n1820938189","n1820938123","n1820938087","n1820937741","n1820938485","n1820937590","n1820938972","n1820937773","n1820937520","n1820938872","n1820938131","n1820938452","n1820938328","n1820939620","n1820937641","n1820938353","n1820939693","n1820938705","n1820937640","n1820939189","n1820938144","n1820939774","n1820938694","n1820938238","n1820939397","n1820937917","n1820938454","n1820938567","n1820938979","n1820938060","n1820938204","n1820937828","n1820939232","n1820938806","n1820938857","n1820938078","n1820938105","n1820939228","n1820938604","n1820937763","n1820937854","n1820938289","n1820939736","n1820937937","n1820937714","n1820938278","n1820938058","n1820938706","n1820938989","n1820938313","n1820938520","n1820938288","n1820937689","n1820939537","n1820939531","n1820939019","n1820937527","n1820938455","n1820938814","n1820938045","n1820939627","n1820938213","n1820938161","n1820938331","n1820938024","n1820938220","n1820938062","n1820938178","n1820937796","n1820937644","n1820938490","n1820937589","n1820937879","n1820939614","n1820938882","n1820938039","n1820938538","n1820937667","n1820937719","n1820938561","n1820939658","n1820938783","n1820938601","n1820938198","n1820938388","n1820938969","n1820937687","n1820939086","n1820939665","n1820939187","n1820938498","n1820938261","n1820937983","n1820938068","n1820938136","n1820939061","n1820938137","n1820938186","n1820939071","n1820937592","n1820939669","n1820937553","n1820939357","n1820938727","n1820939371","n1820939112","n1820939079","n1820938743","n1820938467","n1820938834","n1820938022","n1820938537","n1820938122","n1820938516","n1820937614","n1820937612","n1820939469","n1820939636","n1820939050","n1820939552","n1820938157","n1820938663","n1820938955","n1820939091","n1820938430","n1820938471","n1820937809","n1820938074","n1820938208","n1820938914","n1820938858","n1820938417","n1820937531","n1820938107","n1820939100","n1820938751","n1820937711","n1820938824","n1820939745","n1820937572","n1820938602","n1820938212","n1820938097","n1820937921","n1820938090","n1820938511","n1820938876","n1820939762","n1820938234","n1820938048","n1820937774","n1820937856","n1820937749","n1820937765","n1820938286","n1820939095","n1820938480","n1820939229","n1820938277","n1820937617","n1820938311","n1820937622","n1820939196","n1820937690","n1820939006","n1820939287","n1820939131","n1820938106","n1820938784","n1820938335","n1820938095","n1820938182","n1820937715","n1820937683","n1820938070","n1820939605","n1820938527","n1820938763","n1820938398","n1820937686","n1820939621","n1820937664","n1820939277","n1820938565","n1820939539","n1820938099","n1820939646","n1820938556","n1820937548","n1820938729","n1820939336","n1820938259","n1820938728","n1820938361","n1820937643","n1820938644","n1820939007","n1820939690","n1820939227","n1820937635","n1820937950","n1820938682","n1820939150","n1820939012","n1820939261","n1820939111","n1820937805","n1820939691","n1820939677","n1820937628","n1820937811","n1820938790","n1820938251","n1820938226","n1820938942","n1820937633","n1820937984","n1820937751","n1820939673","n1820938970","n1820938415","n1820938597","n1820938309","n1820938111","n1820938472","n1820938894","n1820938402","n1820937593","n1820938570","n1820939102","n1820939775","n1820937948","n1820939121","n1820937511","n1820938787","n1820939720","n1820939075","n1820937880","n1820937742","n1820937721","n1820939535","n1820938486","n1820938354","n1820937632","n1820939010","n1820938885","n1820938089","n1820937613","n1820938442","n1820938245","n1820938272","n1820937566","n1820938295","n1820938532","n1820938883","n1820937713","n1820937674","n1820939635","n1820938448","n1820938355","n1820938587","n1820938559","n1820937787","n1820939301","n1820937723","n1820939056","n1820937560","n1820938323","n1820938230","n1820938453","n1820938377","n1820938357","n1820939637","n1820938017","n1820939540","n1820939376","n1820937639","n1820937642","n1820938075","n1820938351","n1820938766","n1820937897","n1820938973","n1820938066","n1820939547","n1820939652","n1820937944","n1820937748","n1820939234","n1820939193","n1820937891","n1820938785","n1820939132","n1820938523","n1820938884","n1820938411","n1820939554","n1820938791","n1820937655","n1820938368","n1820939152","n1820938030","n1820938447","n1820937580","n1820939628","n1820937588","n1820937894","n1820939201","n1820938086","n1820937650","n1820938379","n1820939008","n1820938999","n1820937524","n1820937872","n1820938389","n1820939197","n1820938422","n1820938936","n1820939262","n1820937634","n1820938583","n1820939589","n1820937901","n1820939034","n1820939065","n1820938290","n1820939195","n1820938228","n1820937884","n1820938797","n1820938191","n1820939191","n1820939198","n1820937892","n1820939679","n1820938507","n1820937647","n1820937909","n1820938542","n1820939598","n1820937851","n1820939084","n1820939728","n1820937688","n1820938263","n1820938670","n1820937762","n1820939310","n1820938925","n1820938862","n1820938822","n1820938547","n1820937731","n1820938594","n1820938592","n1820938214","n1820938284","n1820937835","n1820938599","n1820939437","n1820937834","n1820937576","n1820937692","n1820939586","n1820939546","n1820938403","n1820937970","n1820939561","n1820938098","n1820938851","n1820938477","n1820938892","n1820939045","n1820939758","n1820939350","n1820938321","n1820938440","n1820938595","n1820938364","n1820938962","n1820938118","n1820939678","n1820938406","n1820938549","n1820937555","n1820938823","n1820937521","n1820939471","n1820939487","n1820938799","n1820938605","n1820937928","n1820938373","n1820939747","n1820939629","n1820937557","n1820937526","n1820938958","n1820938833","n1820937636","n1820938967","n1820938760","n1820938842","n1820938067","n1820939077","n1820939224","n1820938185","n1820939110","n1820938372","n1820939757","n1820939063","n1820939660","n1820938813","n1820937528","n1820938369","n1820938896","n1820939551","n1820939683","n1820937660","n1820937873","n1820938810","n1820938478","n1820939662","n1820937595","n1820939052","n1820938113","n1820939070","n1820938733","n1820937878","n1820938300","n1820939760","n1820939718","n1820937646","n1820939057","n1820939443","n1914861306","n1820938013","n1820937529","n1820939764","n1820938826","n1820937885","n1820939588","n1820937865","n1820937833","n1914861112","n1820938761","n1914861007","n1820937905","n1820938541","n1820939092","n1914861057","n1820938153","n1820938267","n1820939265","n1820938085","n1820939018","n1820939755","n1820938474","n1820939027","n1820938593","n1820938202","n1820939599","n1820939695","n1820938077","n1820938012","n1820939545","n1820939596","n1820939337","n1820938227","n1820937698","n1820938475","n1820939465","n1820938165","n1820938698","n1820938525","n1820938529","n1820938553","n1820938940","n1820939498","n1820938501","n1820939533","n1820938924","n1820939634","n1820939220","n1820939657","n1820938887","n1820938838","n1820938114","n1820937823","n1820938778","n1820938801","n1820939096","n1820938981","n1820937953","n1820938732","n1820938980","n1820938960","n1820937949","n1820938026","n1820939273","n1841425201","n1820938629","n1820938864","n1820938554","n1820938088","n1820937685","n1841425222","n1820939729","n1820937665","n1820937838","n1820937739","n1820938780","n1820937821","n1820938825","n1820939055","n1820939485","n1820938041","n1820938746","n1820939562","n1820938459","n1820939489","n1820938050","n1820937980","n1820937695","n1820938413","n1820938555","n1820937703","n1820938536","n1820938196","n1820938287","n1820938169","n1820939279","n1820938531","n1820938959","n1820939741","n1820938665","n1820938963","n1820939611","n1820937653","n1820939618","n1820939492","n1820938600","n1820938628","n1820939312","n1820939616","n1820937738","n1820939001","n1820939062","n1820938794","n1820938558","n1820937822","n1820937532","n1820939073","n1820938200","n1820938241","n1820938968","n1820938927","n1820938306","n1820937630","n1820938456","n1820937694","n1820938908","n1820939076","n1820937522","n1820939659","n1820938522","n1820939318","n1820938932","n1820938841","n1820937579","n1820937540","n1820938560","n1821139530","n1820938964","n1820937662","n1820939281","n1821139533","n1820937797","n1821139532","n1820939751","n1821139531","n1820939291","n1820938420","n1820939696","n1820938904","n1820938484","n1820939448","n1820939009","n1820938735","n1820938986","n1820938937","n1820939030","n1820938734","n1820938745","n1820939106","n1820938987","n1820937858","n1820938673","n1820938620","n1820937808","n1820937700","n1820939573","n1820938540","n1820937661","n1820937570","n1820938396","n1820937875","n1820939048","n1820938233","n1820938793","n1820939584","n1820938412","n1820938394","n1820937846","n1820938800","n1820938690","n1820939331","n1820939630","n1820938762","n1820938710","n1820939322","n1820938992","n1821137608","n1821137607","n1820937924","n1820939139","n1820939463","n1820939574","n1820938294","n1820938071","n1820938307","n1820938061","n1820939260","n1820937899","n1820938310","n1820938983","n1820937530","n1820938993","n1820938890","n1820937915","n1820938231","n1820938040","n1820938920","n1820939585","n1820938135","n1820939700","n1820937824","n1820939667","n1820937930","n1820938134","n1820937551","n1820939405","n1820938232","n1820937716","n1820937848","n1820939765","n1820939068","n1820939766","n1820937933","n1820937720","n1820939222","n1820939772","n1820939022","n1820939732","n1820937702","n1820937691","n1820938945","n1820937756","n1820938451","n1820938410","n1820938798","n1820937945","n1820937654","n1820938598","n1820938836","n1820937571","n1820937556","n1820938994","n1820938919","n1820938863","n1820939064","n1820938018","n1820937658","n1820937537","n1820938142","n1820938666","n1820937535","n1820939571","n1820938465","n1820939638","n1820937533","n1820939656","n1820939422","n1820938109","n1820938405","n1820938028","n1820937649","n1820938829","n1820939031","n1820939155","n1820938350","n1820938463","n1820938425","n1820939047","n1820938831","n1820938494","n1820937697","n1820938504","n1820938900","n1820937784","n1820938414","n1820938076","n1820938723","n1820937722","n1820938739","n1820937791","n1820938985","n1820938352","n1820938293","n1820938274","n1820939692","n1820937871","n1820939059","n1820938868","n1820937877","n1820937743","n1820938429","n1820937545","n1820937575","n1820938302","n1820938505","n1820938916","n1820938374","n1820938329","n1820937790","n1820939735","n1820938930","n1820937995","n1820938512","n1820938130","n1820938194","n1820938671","n1820938802","n1820937542","n1820937602","n1820939069","n1820938901","n1820939654","n1820937727","n1820939569","n1820938375","n1820939306","n1820938479","n1820938376","n1820938667","n1820937766","n1820939467","n1820939567","n1820937806","n1820938943","n1820938931","n1820937745","n1820939452","n1820938738","n1820938053","n1820939653","n1820938640","n1820937604","n1820937536","n1820938701","n1820939625","n1820939744","n1820939572","n1820937577","n1820937541","n1820938891","n1820937597","n1820938469","n1820939194","n1820937539","n1820938911","n1820939017","n1820939650","n1820939103","n1820939578","n1820938132","n1820937549","n1820938634","n1820939743","n1820937544","n1820937826","n1820937598","n1820937547","n1820938032","n1820939142"]},"w17963021":{"id":"w17963021","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:22:17Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331667","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948706","n185948708","n185948710"]},"w203974069":{"id":"w203974069","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870431","n2139870432","n2139870433","n2139870434","n2139870431"]},"w209816575":{"id":"w209816575","version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199856288","n2199856289","n2199856290","n2199856291","n2199856292","n2199856293","n2199856294","n2199856295","n2199856296","n2199856297","n2199856298","n2199856299","n2199856300","n2199856301","n2199856302","n2199856303","n2199856288"]},"w203841838":{"id":"w203841838","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493826","n2138493827","n2138493828","n2138493829","n2138493830","n2138493831","n2138493833","n2138493832","n2138493826"]},"w203972937":{"id":"w203972937","version":"2","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:26Z","tags":{"highway":"path","name":"Riverwalk Trail","surface":"asphalt","width":"3"},"nodes":["n2139858882","n2139858883","n2139858884","n2139858885","n2139858886","n2139858887","n2139858882","n2139858888","n2139858889","n2139858890","n2139858891","n2139858892","n2139858893","n2139858894","n2139858895","n2139858896","n2139858897","n2139858898","n2139858899","n2139858900","n2139858901","n2139858902","n2139858903","n2139858986","n2139858904","n2139858995","n2139858905","n2139858906","n2139858907","n2139858908","n2139858909","n2139858910","n2139858911","n2139858912","n2139858913","n2139858914","n2139858915","n2139858916","n2139858917","n2139858918","n2139858919","n2139858920","n2139858921","n2139858922","n2139858923","n2139858924","n2139858925","n2139858926","n2139858927","n2139858982","n2139858928","n2139858929","n2139858930","n2139858931","n2139858932","n2139858981","n2139858933","n2139858934","n2139858935","n2139858936","n2139858937","n2139858938","n2139858939","n2139858940","n2139858941","n2139858942","n2139858943","n2140006437","n2139858964","n2139858944","n2139858966","n2139858945","n2139858946","n2139858947","n2139858948","n2139858949","n2139858950","n2139858951"]},"w17964015":{"id":"w17964015","version":"2","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326005:15326006","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185954680","n185954683","n185954685","n185954687","n185954689","n185954690","n185954691","n2139870379","n2139870456","n185954692","n185954693","n185954695"]},"w17967315":{"id":"w17967315","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"South Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981999","n185974477","n185964963"]},"w203974071":{"id":"w203974071","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870439","n2139870440","n2139870441","n2139870442","n2139870443","n2139870444","n2139870445","n2139870446","n2139870447","n2139870448","n2139870449"]},"w170848824":{"id":"w170848824","version":"3","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:30Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819858503","n1819858531","n1819858526","n1819858518","n1819858505","n1819858508","n1819858512","n1819858514","n1819858528","n1819858509","n1819858511","n1819858507","n1819858521"]},"w203986458":{"id":"w203986458","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989357","n2139989359","n2139989360","n2139989362","n2139989357"]},"w170844917":{"id":"w170844917","version":"7","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819805911","n1819805690","n1819805812","n1819805766","n1819805802","n1819805885","n1819805626","n1819805842","n1819805715","n1819805694","n1819805618","n1819805629","n1819805731","n1819805636","n1819805878","n1819805718","n1819805798","n1819849057","n1819805666","n1819805852","n1819805805","n1819805789","n1819805868","n1819805680","n1819805918","n1819848888","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n1819858521","n1819805854","n1819805876","n1819805864","n1819805922","n2139859004","n1819805702","n2139859003","n1819805614","n1819805792","n1819805786","n1819805777","n1819805645","n1819805838","n1819805889","n1819805795","n1819805707","n1819805774","n1819805808","n1819805810","n1819805724","n1819805676","n1819805728","n1819805783","n1819805687","n1819805727","n2189123379","n1819805632","n1819805641","n1819805760","n1819805887","n1819805861","n1819805722","n1819805880","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n1819805698","n1819805647","n1819805870","n1819805683","n1819805622","n1819805639","n1819805858","n1819805643","n1819805673","n1819805925","n1819805849","n1819805711","n1819805846","n1819805669","n1819805883","n1819805814","n1819805873","n1819805911"]},"w17967326":{"id":"w17967326","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985217","n185985219","n185985221","n185985222","n185985223","n185985225","n2140006431","n185985227","n185985229","n185985231","n185985233","n185985235","n185985238","n185985240","n2140018998","n185964965"]},"w134150789":{"id":"w134150789","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964971","n2139870406","n185964972"]},"w17966400":{"id":"w17966400","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"tertiary","name":"South Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958672","n185964965"]},"w203974066":{"id":"w203974066","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870417","n2139870418","n2139870420","n2139870419"]},"w17965998":{"id":"w17965998","version":"5","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:53Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972775","n185972777","n185972779","n185972781","n185972783","n185972785","n185972787","n185972788","n185972789","n185972790","n185972791","n185972793","n185972795","n185972797","n185972798","n185972800","n185972802","n185972805","n185972807","n185972809","n185972811","n185972813","n185972814","n185972815","n185972816","n185972817","n185972819","n185972821","n185972824","n185972826","n185972830","n185972832","n185972834","n185972835","n185972836","n185972839","n185990434","n2114807572","n2114807568","n185972845","n2114807583","n185972847","n185972849","n185972851","n2114807578","n1475293254","n2114807593","n1475293226","n185972862","n2114807565","n185951869","n1475293234","n1475293252","n185972868","n1475293264","n1475293222","n185972878","n1475293261","n185972882","n185972885","n1475293260","n1475293240","n185972891","n185972895","n185972897","n185972899","n2130304159","n1475284023","n185972903"]},"w134150795":{"id":"w134150795","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"bridge":"yes","highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964970","n185964971"]},"w203974067":{"id":"w203974067","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870420","n2139870421"]},"w170995908":{"id":"w170995908","version":"3","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:15Z","tags":{"highway":"residential","name":"Thomas Street","source":"Bing"},"nodes":["n1821006702","n1821006700","n1821006698","n2139858990","n1821006716","n1821006725","n1821006712","n1821006704","n1821006708","n1821006710","n1821006706"]},"w17965834":{"id":"w17965834","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"Spring Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Spring","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971361","n185971364","n185971366","n185971368","n185954695","n185964968"]},"w203974070":{"id":"w203974070","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870435","n2139870436","n2139870437","n2139870438","n2139870435"]},"w203989879":{"id":"w203989879","version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"highway":"service"},"nodes":["n2140018998","n2140018999","n2140019000"]},"w203974062":{"id":"w203974062","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870387","n2139870388","n2139870389","n2139870390","n2139870391","n2139870392","n2139870397","n2139870393","n2139870396","n2139870395","n2139870394","n2139870387"]},"w203974061":{"id":"w203974061","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2139870382","n2139870383"]},"w203049587":{"id":"w203049587","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","name":"Scidmore Park Petting Zoo","tourism":"zoo","zoo":"petting_zoo"},"nodes":["n2130304133","n2130304136","n2130304138","n2130304140","n2130304142","n2130304144","n2130304146","n2130304147","n2130304148","n2130304149","n2130304150","n2130304151","n2130304133"]},"w203972941":{"id":"w203972941","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858982","n2139858983","n2139858984","n2139858985","n2139858927"]},"w203974065":{"id":"w203974065","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service"},"nodes":["n2139870406","n2139870407","n2139870408","n2139870417","n2139870409","n2139870410","n2139870411","n2139870412","n2139870426","n2139870413","n2139870414","n2139870415","n2139870419","n2139870416","n2139870421","n2139870408"]},"w203972940":{"id":"w203972940","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858934","n2139858967","n2139858968","n2139858969","n2139858970","n2139858971","n2139858972","n2139858973","n2139858974","n2139858975","n2139858976","n2139858977","n2139858978","n2139858979","n2139858980","n2139858981"]},"w203974072":{"id":"w203974072","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139858925","n2139870450","n2139870453","n2139870451","n2139870452","n2139870441"]},"w203974074":{"id":"w203974074","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870454","n2139870456","n2139870429"]},"w203974060":{"id":"w203974060","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870383","n2139870384","n2139870422","n2139870385","n2139870386","n2139870388"]},"w203841837":{"id":"w203841837","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493807","n2138493808","n2138493809","n2138493810","n2138493811","n2138493812","n2138493813","n2138493814","n2138493815","n2138493816","n2138493825","n2138493817","n2138493824","n2138493818","n2138493819","n2138493820","n2138493821","n2138493822","n2138493823","n2138493807"]},"w134150845":{"id":"w134150845","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{"bridge":"yes","name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324560:15329061:15329062:15333515:15333516:15333517:15328802:15312982:15312984:15312980:15326010:15326011:15313203:15322169:15324562:15312971:15312973:15312977:15328799:15328907:15328908:15322175:15329059:15333626:15333627:15325105:15322549:15337756:153","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185972903","n185972905"]},"w203974059":{"id":"w203974059","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870430","n2139870439","n2139870429","n2139870428","n2139870379","n2139870455","n2139870380","n2139870381","n2139858925","n2139870382"]},"w203986457":{"id":"w203986457","version":"2","changeset":"15287771","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T21:56:30Z","tags":{"area":"yes","ele":"241","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417887","gnis:state_id":"26","leisure":"park","name":"Scidmore Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139989333","n2139989335","n2139989337","n2139989339","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n2139989341","n2139989344","n2139989346","n2139989348","n2139989350","n2139989351","n2139989353","n2139989355","n2139989333"]},"w170848331":{"id":"w170848331","version":"4","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:29Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819848937","n1819849104","n1819849076","n1819849183","n1819848928","n1819848972","n1819848948","n1819848971","n1819848859","n1819849008","n1819848889","n1819849026","n1819849094","n1819849083","n1819849079","n1819849187","n1819848992","n1819849060","n1819849056","n1819849071","n1819849067","n1819849048","n1819849036","n1819849150","n1819849075","n1819849051","n1819849062","n1819848926","n1819849035","n1819848987","n1819849012","n1819848933","n1819848996","n1819848990","n1819849005","n1819849021","n1819848892","n1819849092","n1819848863","n1819848922","n1819848858","n1819848855","n1819848974","n1819848953","n1819849019","n1819849049","n1819848979","n1819849140","n1819849193","n1819849147","n1819849151","n1819849163","n1819849023","n1819848878","n1819849004","n1819848857","n1819848879","n1819849041","n1819849165","n1819849107","n1819849156","n1819848934","n1819848914","n1819848955","n1819848931","n1819848927","n1819849084","n1819849169","n1819849045","n1819848945","n1819849095","n1819848924","n1819849171","n1819849141","n1819849046","n1819849197","n1819849011","n1819849108","n1819849158","n1819849160","n1819848870","n1819849006","n1819849157","n1819848993","n1819848970","n1819849202","n1819848903","n1819848975","n1819848849","n1819849025","n1819849105","n1819849033","n1819849176","n1819849099","n1819849086","n1819848960","n1819848961","n1819849001","n1819848980","n1819849038","n1819848854","n1819849127","n1819849170","n1819849139","n1819848873","n1819848929","n1819849201","n1819849121","n1819849031","n1819849131","n1819848875","n1819849080","n1819849066","n1819849081","n1819849096","n1819849172","n1819849114","n1819849182","n1819848905","n1819849054","n1819848920","n1819848851","n1819848968","n1819848917","n1819849111","n1819849119","n1819849074","n1819848893","n1819849129","n1819848850","n1819848956","n1819849154","n1819848877","n1819848986","n1819849191","n1819848952","n1819848954","n1819848942","n1819849028","n1819849195","n1819848938","n1819848962","n1819849070","n1819849034","n1819849052","n1819849059","n1819848916","n1819849162","n1819849167","n1819849093","n1819849030","n1819849002","n1819849161","n1819848886","n1819848958","n1819849064","n1819849112","n1819849148","n1819848856","n1819848976","n1819848977","n1819849144","n1819848918","n1819849200","n1819848919","n1819849042","n1819849166","n1819849186","n1819849152","n1819849058","n1819849185","n1819849199","n1819849053","n1819849194","n1819849068","n1819849146","n1819849174","n1819848967","n1819848932","n1819849155","n1819849198","n1819848964","n1819848894","n1819848969","n1819849184","n1819849055","n1819849179","n1819848865","n1819848860","n1819849082","n1819848966","n1819849040","n1819849069","n1819849078","n1819849077","n1819848904","n1819848959","n1819849133","n1819849089","n1819849000","n1819849124","n1819849032","n1819849097","n1819848939","n1819849072","n1819848915","n1819849196","n1819848946","n1819849047","n1819849029","n1819849164","n1819848994","n1819849022","n1819858513","n1819849126","n1819849063","n1819848941","n1819849085","n1819848871","n1819848943","n1819849192","n1819858501","n1819849159","n1819858523","n1819848901","n1819849189","n1819858503","n1819849065","n2139877106","n1819848909","n1819848930","n1819848888"]},"w17967397":{"id":"w17967397","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964963","n185985217"]},"w17964497":{"id":"w17964497","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:05Z","tags":{"highway":"tertiary","name":"Constantine St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958643","n185958645","n2139795852","n185958647","n185958649","n185958651","n185958653","n185958656","n185958658","n185958660","n185958662","n185958664","n185958666","n185958668","n185958670","n185948710","n185958672"]},"w203974068":{"id":"w203974068","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870422","n2139870423","n2139870424","n2139870425","n2139870426","n2139870427"]},"w203974063":{"id":"w203974063","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870398","n2139870399","n2139870400","n2139870401","n2139870398"]},"w203986459":{"id":"w203986459","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989364","n2139989366","n2139989368","n2139989370","n2139989364"]},"w203988286":{"id":"w203988286","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","leisure":"park","name":"Memory Isle Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2140006331","n2140006334","n2140006336","n2140006338","n2140006340","n2140006342","n2140006344","n2140006346","n2140006348","n2140006351","n2140006353","n2140006355","n2140006357","n2140006359","n2140006361","n2140006363","n2140006364","n2140006365","n2140006395","n2140006366","n2140006401","n2140006397","n2140006399","n2140006331"]},"w203974073":{"id":"w203974073","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870453","n2139870454","n2139870455"]},"w203974064":{"id":"w203974064","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870402","n2139870403","n2139870404","n2139870405","n2139870402"]},"n185966959":{"id":"n185966959","loc":[-85.642185,41.946411],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n1475283980":{"id":"n1475283980","loc":[-85.6398249,41.9451425],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284013":{"id":"n1475284013","loc":[-85.6396448,41.9451666],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284042":{"id":"n1475284042","loc":[-85.6386382,41.9454789],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185975925":{"id":"n185975925","loc":[-85.6393332,41.9452388],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975919":{"id":"n185975919","loc":[-85.6391279,41.9453044],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975917":{"id":"n185975917","loc":[-85.6389034,41.9453872],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2140006369":{"id":"n2140006369","loc":[-85.6386163,41.9451631],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006370":{"id":"n2140006370","loc":[-85.6385144,41.9449357],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006417":{"id":"n2140006417","loc":[-85.6385785,41.9450299],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006419":{"id":"n2140006419","loc":[-85.6385781,41.9452152],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123361":{"id":"n2189123361","loc":[-85.6404948,41.947015],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123363":{"id":"n2189123363","loc":[-85.6395765,41.946495],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123365":{"id":"n2189123365","loc":[-85.6389347,41.9460875],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n185966962":{"id":"n185966962","loc":[-85.644417,41.946364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185975911":{"id":"n185975911","loc":[-85.637532,41.9458276],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975913":{"id":"n185975913","loc":[-85.6376323,41.9457936],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185975915":{"id":"n185975915","loc":[-85.6383596,41.9455425],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975932":{"id":"n185975932","loc":[-85.644403,41.945088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975934":{"id":"n185975934","loc":[-85.645486,41.945084],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185979974":{"id":"n185979974","loc":[-85.644381,41.943831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n2139795809":{"id":"n2139795809","loc":[-85.6464756,41.9450813],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795810":{"id":"n2139795810","loc":[-85.6466646,41.945174],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139858952":{"id":"n2139858952","loc":[-85.6383567,41.9454039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858953":{"id":"n2139858953","loc":[-85.6380506,41.9455301],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858954":{"id":"n2139858954","loc":[-85.6377321,41.9455546],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858955":{"id":"n2139858955","loc":[-85.6376571,41.9455245],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858956":{"id":"n2139858956","loc":[-85.6375859,41.9454544],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858957":{"id":"n2139858957","loc":[-85.6376686,41.9453185],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858958":{"id":"n2139858958","loc":[-85.6378936,41.9451712],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858959":{"id":"n2139858959","loc":[-85.6379225,41.9450825],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858960":{"id":"n2139858960","loc":[-85.6379302,41.9447564],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858961":{"id":"n2139858961","loc":[-85.6379763,41.9446963],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858962":{"id":"n2139858962","loc":[-85.6380436,41.9446706],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858963":{"id":"n2139858963","loc":[-85.6381286,41.9445969],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858965":{"id":"n2139858965","loc":[-85.6382523,41.9444134],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2140006367":{"id":"n2140006367","loc":[-85.6380923,41.9454418],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006368":{"id":"n2140006368","loc":[-85.6384089,41.9453146],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006372":{"id":"n2140006372","loc":[-85.6383252,41.9447706],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006374":{"id":"n2140006374","loc":[-85.6381033,41.9447436],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006376":{"id":"n2140006376","loc":[-85.6379759,41.9447815],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006378":{"id":"n2140006378","loc":[-85.6379832,41.9448654],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006380":{"id":"n2140006380","loc":[-85.6380632,41.9450738],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006382":{"id":"n2140006382","loc":[-85.6380414,41.9452064],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006389":{"id":"n2140006389","loc":[-85.6379068,41.9453092],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006391":{"id":"n2140006391","loc":[-85.637925,41.9453904],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006393":{"id":"n2140006393","loc":[-85.6379977,41.94545],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123275":{"id":"n2189123275","loc":[-85.6371346,41.9462544],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123278":{"id":"n2189123278","loc":[-85.6368371,41.9466153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123280":{"id":"n2189123280","loc":[-85.6379537,41.9489088],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123282":{"id":"n2189123282","loc":[-85.6383816,41.9497858],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123285":{"id":"n2189123285","loc":[-85.6393673,41.9512417],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123287":{"id":"n2189123287","loc":[-85.640554,41.9517766],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123289":{"id":"n2189123289","loc":[-85.6411,41.9522344],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123291":{"id":"n2189123291","loc":[-85.6417418,41.9526574],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123293":{"id":"n2189123293","loc":[-85.642321,41.9529407],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123295":{"id":"n2189123295","loc":[-85.6427697,41.9532278],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123297":{"id":"n2189123297","loc":[-85.6433332,41.9538254],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123300":{"id":"n2189123300","loc":[-85.6435785,41.9543648],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123301":{"id":"n2189123301","loc":[-85.6444394,41.9541048],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123303":{"id":"n2189123303","loc":[-85.6450603,41.954],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123312":{"id":"n2189123312","loc":[-85.6454829,41.9539108],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123314":{"id":"n2189123314","loc":[-85.6460464,41.9538526],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123315":{"id":"n2189123315","loc":[-85.6463178,41.9537167],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123316":{"id":"n2189123316","loc":[-85.646276,41.9534141],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123317":{"id":"n2189123317","loc":[-85.6459995,41.9531541],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123318":{"id":"n2189123318","loc":[-85.645222,41.9531929],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123319":{"id":"n2189123319","loc":[-85.6447316,41.9531813],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123320":{"id":"n2189123320","loc":[-85.6440637,41.9532977],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123321":{"id":"n2189123321","loc":[-85.6438185,41.9531774],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123322":{"id":"n2189123322","loc":[-85.6440011,41.9528398],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123323":{"id":"n2189123323","loc":[-85.6442672,41.9525914],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123324":{"id":"n2189123324","loc":[-85.6442881,41.9523276],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123326":{"id":"n2189123326","loc":[-85.644262,41.952153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123328":{"id":"n2189123328","loc":[-85.6441681,41.9520404],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123330":{"id":"n2189123330","loc":[-85.6442098,41.9517494],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123333":{"id":"n2189123333","loc":[-85.6438498,41.9515864],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123336":{"id":"n2189123336","loc":[-85.6435889,41.9513225],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123339":{"id":"n2189123339","loc":[-85.6425349,41.9510315],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123342":{"id":"n2189123342","loc":[-85.6422688,41.9508802],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123345":{"id":"n2189123345","loc":[-85.6418775,41.9508142],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123348":{"id":"n2189123348","loc":[-85.6415488,41.9508064],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123351":{"id":"n2189123351","loc":[-85.6411027,41.9505488],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123353":{"id":"n2189123353","loc":[-85.6410374,41.9498208],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123355":{"id":"n2189123355","loc":[-85.6410061,41.9494327],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123357":{"id":"n2189123357","loc":[-85.6411522,41.9482569],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123359":{"id":"n2189123359","loc":[-85.6410548,41.9473036],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123368":{"id":"n2189123368","loc":[-85.6380216,41.9458974],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123370":{"id":"n2189123370","loc":[-85.6386721,41.9507782],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w17968193":{"id":"w17968193","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:35Z","tags":{"highway":"residential","name":"French St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"French","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312389:15312396","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185970906","n185982877","n185967774","n185985823","n185979974"]},"w203972939":{"id":"w203972939","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858965","n2139858966"]},"w203988289":{"id":"w203988289","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","natural":"water"},"nodes":["n2140006367","n2140006368","n2140006419","n2140006369","n2140006417","n2140006370","n2140006372","n2140006374","n2140006376","n2140006378","n2140006380","n2140006382","n2140006389","n2140006391","n2140006393","n2140006367"]},"w208640157":{"id":"w208640157","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n1819849029","n2189123275","n2189123278","n2189123280","n2189123282","n2189123370","n2189123285","n2189123287","n2189123289","n2189123291","n2189123293","n2189123295","n2189123297","n2189123300","n2189123301","n2189123303","n2189123312","n2189123314","n2189123315","n2189123316","n2189123317","n2189123318","n2189123319","n2189123320","n2189123321","n2189123322","n2189123323","n2189123324","n2189123326","n2189123328","n2189123330","n2189123333","n2189123336","n2189123339","n2189123342","n2189123345","n2189123348","n2189123351","n2189123353","n2189123355","n2189123357","n2189123359","n2189123361","n2189123363","n2189123365","n2189123368","n1819849029"]},"w17966281":{"id":"w17966281","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:03Z","tags":{"highway":"residential","name":"Pealer St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pealer","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312363:15312366:15312367:15312368:15325990:15325991:15324554","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975911","n185975913","n185975915","n1475284042","n185975917","n185975919","n185975925","n185970909","n1475284013","n1475283980","n185975928","n185967775","n185975930","n185975932","n185975934","n2139795809","n2139795810"]},"w17965353":{"id":"w17965353","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:36:24Z","tags":{"highway":"residential","name":"Yauney St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Yauney","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312346:15312347","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185966958","n185966959","n185966960","n185966962"]},"w203972938":{"id":"w203972938","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858964","n2139858965","n2139858963","n2139858962","n2139858961","n2139858960","n2139858959","n2139858958","n2139858957","n2139858956","n2139858955","n2139858954","n2139858953","n2139858952","n2139858951"]},"n354002665":{"id":"n354002665","loc":[-85.6366599,41.9444923],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:26Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624726","gnis:state_id":"26","name":"Memory Isle","place":"island"}},"n354031301":{"id":"n354031301","loc":[-85.635,41.9463889],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:12:53Z","tags":{"amenity":"post_office","ele":"248","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418163","gnis:state_id":"26","name":"Three Rivers Post Office"}},"n185963454":{"id":"n185963454","loc":[-85.633686,41.946072],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963455":{"id":"n185963455","loc":[-85.633815,41.946131],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963456":{"id":"n185963456","loc":[-85.633951,41.946174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185978375":{"id":"n185978375","loc":[-85.634385,41.94559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978377":{"id":"n185978377","loc":[-85.634544,41.945725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978379":{"id":"n185978379","loc":[-85.634573,41.945764],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978381":{"id":"n185978381","loc":[-85.634616,41.945849],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978383":{"id":"n185978383","loc":[-85.634629,41.945893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185984011":{"id":"n185984011","loc":[-85.636058,41.946201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984013":{"id":"n185984013","loc":[-85.636112,41.946366],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984015":{"id":"n185984015","loc":[-85.636143,41.946551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185988237":{"id":"n185988237","loc":[-85.6354162,41.946044],"version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{}},"n185988969":{"id":"n185988969","loc":[-85.635374,41.945325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988971":{"id":"n185988971","loc":[-85.635643,41.945585],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988972":{"id":"n185988972","loc":[-85.635853,41.94586],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n1475283992":{"id":"n1475283992","loc":[-85.6372968,41.9459007],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284011":{"id":"n1475284011","loc":[-85.6359415,41.9459797],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284019":{"id":"n1475284019","loc":[-85.6364433,41.9460423],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185984009":{"id":"n185984009","loc":[-85.6360524,41.9460485],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988239":{"id":"n185988239","loc":[-85.6358187,41.9460423],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988243":{"id":"n185988243","loc":[-85.6366156,41.9460282],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988244":{"id":"n185988244","loc":[-85.6368316,41.9460046],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988245":{"id":"n185988245","loc":[-85.6370133,41.9459704],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988241":{"id":"n185988241","loc":[-85.636291,41.9460461],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964976":{"id":"n185964976","loc":[-85.633923,41.9434157],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185964980":{"id":"n185964980","loc":[-85.6333656,41.9437293],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185978388":{"id":"n185978388","loc":[-85.6346449,41.9460571],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819858504":{"id":"n1819858504","loc":[-85.6365343,41.9447926],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858506":{"id":"n1819858506","loc":[-85.6370546,41.9451882],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858516":{"id":"n1819858516","loc":[-85.6358369,41.9444654],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858519":{"id":"n1819858519","loc":[-85.6361534,41.9446176],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858525":{"id":"n1819858525","loc":[-85.6368025,41.9449442],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858527":{"id":"n1819858527","loc":[-85.6334199,41.9457495],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185963452":{"id":"n185963452","loc":[-85.633564,41.9458519],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963453":{"id":"n185963453","loc":[-85.6336152,41.9459804],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963451":{"id":"n185963451","loc":[-85.6332888,41.9456871],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n2130304152":{"id":"n2130304152","loc":[-85.6359466,41.9454599],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304153":{"id":"n2130304153","loc":[-85.6362773,41.9452683],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304154":{"id":"n2130304154","loc":[-85.6352028,41.9442868],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304155":{"id":"n2130304155","loc":[-85.6348756,41.9444769],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304156":{"id":"n2130304156","loc":[-85.6349723,41.9444207],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304157":{"id":"n2130304157","loc":[-85.6338698,41.9434443],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304158":{"id":"n2130304158","loc":[-85.635094,41.9451026],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304160":{"id":"n2130304160","loc":[-85.6353716,41.9449322],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304162":{"id":"n2130304162","loc":[-85.6365942,41.9459352],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304163":{"id":"n2130304163","loc":[-85.6369006,41.9457469],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304164":{"id":"n2130304164","loc":[-85.6363292,41.9452278],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304165":{"id":"n2130304165","loc":[-85.6360248,41.9454175],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2139824683":{"id":"n2139824683","loc":[-85.6339825,41.9446441],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824689":{"id":"n2139824689","loc":[-85.6340437,41.9446925],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824702":{"id":"n2139824702","loc":[-85.6340961,41.9447551],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824705":{"id":"n2139824705","loc":[-85.6337467,41.944809],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824707":{"id":"n2139824707","loc":[-85.6341598,41.9448129],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824710":{"id":"n2139824710","loc":[-85.6342771,41.9448223],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824712":{"id":"n2139824712","loc":[-85.6346058,41.944841],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824713":{"id":"n2139824713","loc":[-85.633808,41.9448574],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824714":{"id":"n2139824714","loc":[-85.6340889,41.9448589],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824716":{"id":"n2139824716","loc":[-85.6343335,41.944871],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824717":{"id":"n2139824717","loc":[-85.6343341,41.9448717],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824720":{"id":"n2139824720","loc":[-85.6338757,41.9449069],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824721":{"id":"n2139824721","loc":[-85.6341445,41.9449071],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824724":{"id":"n2139824724","loc":[-85.6334787,41.9449262],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824726":{"id":"n2139824726","loc":[-85.6347119,41.9449332],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824727":{"id":"n2139824727","loc":[-85.6347175,41.9449418],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824728":{"id":"n2139824728","loc":[-85.6344284,41.9449538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824729":{"id":"n2139824729","loc":[-85.6339339,41.9449573],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824730":{"id":"n2139824730","loc":[-85.6339179,41.9449682],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824732":{"id":"n2139824732","loc":[-85.6335472,41.9449895],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824733":{"id":"n2139824733","loc":[-85.6339736,41.9450164],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824735":{"id":"n2139824735","loc":[-85.6336034,41.9450415],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824736":{"id":"n2139824736","loc":[-85.6348317,41.945043],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824737":{"id":"n2139824737","loc":[-85.63403,41.9450651],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824738":{"id":"n2139824738","loc":[-85.6336611,41.9450949],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824740":{"id":"n2139824740","loc":[-85.6336582,41.9450966],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824744":{"id":"n2139824744","loc":[-85.6331702,41.9451107],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824745":{"id":"n2139824745","loc":[-85.6333388,41.9451142],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824746":{"id":"n2139824746","loc":[-85.6337131,41.9451341],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824747":{"id":"n2139824747","loc":[-85.6337021,41.9451372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824748":{"id":"n2139824748","loc":[-85.6341244,41.9451472],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824749":{"id":"n2139824749","loc":[-85.6333952,41.945166],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824750":{"id":"n2139824750","loc":[-85.633395,41.9451661],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824751":{"id":"n2139824751","loc":[-85.6346258,41.9451725],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824752":{"id":"n2139824752","loc":[-85.6332387,41.9451741],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824753":{"id":"n2139824753","loc":[-85.6346901,41.9451853],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824754":{"id":"n2139824754","loc":[-85.6346611,41.9452035],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824755":{"id":"n2139824755","loc":[-85.6346574,41.9452059],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824756":{"id":"n2139824756","loc":[-85.6345611,41.9452133],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824757":{"id":"n2139824757","loc":[-85.633453,41.9452194],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824758":{"id":"n2139824758","loc":[-85.6335508,41.9452283],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824759":{"id":"n2139824759","loc":[-85.6347424,41.9452312],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824760":{"id":"n2139824760","loc":[-85.6342305,41.9452395],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824761":{"id":"n2139824761","loc":[-85.6342319,41.9452449],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824762":{"id":"n2139824762","loc":[-85.6334969,41.94526],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824763":{"id":"n2139824763","loc":[-85.63468,41.9452706],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824764":{"id":"n2139824764","loc":[-85.6346772,41.9452724],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824765":{"id":"n2139824765","loc":[-85.6338611,41.9452763],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824766":{"id":"n2139824766","loc":[-85.6347811,41.9452939],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824767":{"id":"n2139824767","loc":[-85.6347375,41.9453211],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824768":{"id":"n2139824768","loc":[-85.6339171,41.9453301],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824769":{"id":"n2139824769","loc":[-85.6348307,41.9453377],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824770":{"id":"n2139824770","loc":[-85.6347067,41.9453405],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824771":{"id":"n2139824771","loc":[-85.6343461,41.9453461],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824772":{"id":"n2139824772","loc":[-85.6343481,41.9453475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824773":{"id":"n2139824773","loc":[-85.634805,41.9453538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824774":{"id":"n2139824774","loc":[-85.6336997,41.9453692],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824775":{"id":"n2139824775","loc":[-85.6339709,41.9453818],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824776":{"id":"n2139824776","loc":[-85.6336229,41.9454134],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824777":{"id":"n2139824777","loc":[-85.6349022,41.9454141],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824778":{"id":"n2139824778","loc":[-85.6348854,41.9454246],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824779":{"id":"n2139824779","loc":[-85.6340286,41.9454373],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824780":{"id":"n2139824780","loc":[-85.6336963,41.9454572],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824781":{"id":"n2139824781","loc":[-85.6336789,41.9454672],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824782":{"id":"n2139824782","loc":[-85.6344933,41.945475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824783":{"id":"n2139824783","loc":[-85.6340854,41.9454918],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824784":{"id":"n2139824784","loc":[-85.6350036,41.9455034],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824785":{"id":"n2139824785","loc":[-85.6337501,41.9455089],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824786":{"id":"n2139824786","loc":[-85.6337497,41.9455091],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824787":{"id":"n2139824787","loc":[-85.6345425,41.9455186],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824788":{"id":"n2139824788","loc":[-85.6341459,41.9455372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824789":{"id":"n2139824789","loc":[-85.6341376,41.945542],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824790":{"id":"n2139824790","loc":[-85.6338394,41.9455462],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824791":{"id":"n2139824791","loc":[-85.6349171,41.9455588],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824792":{"id":"n2139824792","loc":[-85.6338074,41.9455646],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824793":{"id":"n2139824793","loc":[-85.6346229,41.9455894],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824794":{"id":"n2139824794","loc":[-85.6338983,41.9455995],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824795":{"id":"n2139824795","loc":[-85.6338962,41.9456007],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824796":{"id":"n2139824796","loc":[-85.6342475,41.9456348],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824797":{"id":"n2139824797","loc":[-85.6339505,41.9456497],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824798":{"id":"n2139824798","loc":[-85.6347243,41.9456788],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824799":{"id":"n2139824799","loc":[-85.635057,41.9456831],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824800":{"id":"n2139824800","loc":[-85.635287,41.9457056],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824801":{"id":"n2139824801","loc":[-85.6350753,41.9457068],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824802":{"id":"n2139824802","loc":[-85.6347753,41.9457252],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824803":{"id":"n2139824803","loc":[-85.6340521,41.9457473],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824804":{"id":"n2139824804","loc":[-85.6352875,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824805":{"id":"n2139824805","loc":[-85.6352941,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824806":{"id":"n2139824806","loc":[-85.6350758,41.9457623],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824807":{"id":"n2139824807","loc":[-85.6348194,41.9457638],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824808":{"id":"n2139824808","loc":[-85.635296,41.9459428],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824809":{"id":"n2139824809","loc":[-85.6348212,41.9459455],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139832635":{"id":"n2139832635","loc":[-85.6354612,41.9448791],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832636":{"id":"n2139832636","loc":[-85.6360241,41.9453844],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832637":{"id":"n2139832637","loc":[-85.6361452,41.9453121],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832639":{"id":"n2139832639","loc":[-85.6355997,41.944797],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832641":{"id":"n2139832641","loc":[-85.6351346,41.9443541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832647":{"id":"n2139832647","loc":[-85.6329883,41.9453692],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832653":{"id":"n2139832653","loc":[-85.6333643,41.9456293],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832663":{"id":"n2139832663","loc":[-85.6335394,41.9455339],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832665":{"id":"n2139832665","loc":[-85.6332375,41.9452476],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832667":{"id":"n2139832667","loc":[-85.6331664,41.9452161],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832669":{"id":"n2139832669","loc":[-85.6331144,41.9451875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832671":{"id":"n2139832671","loc":[-85.6330779,41.9451274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832673":{"id":"n2139832673","loc":[-85.6330664,41.9450802],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832678":{"id":"n2139832678","loc":[-85.6332218,41.9453585],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832686":{"id":"n2139832686","loc":[-85.6334246,41.945541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832691":{"id":"n2139832691","loc":[-85.6329898,41.9454997],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832693":{"id":"n2139832693","loc":[-85.6343554,41.9443274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832694":{"id":"n2139832694","loc":[-85.6336339,41.9437089],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832696":{"id":"n2139832696","loc":[-85.633532,41.9437708],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832697":{"id":"n2139832697","loc":[-85.6338316,41.9440868],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832698":{"id":"n2139832698","loc":[-85.6342258,41.9444141],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832699":{"id":"n2139832699","loc":[-85.6339164,41.9442166],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832700":{"id":"n2139832700","loc":[-85.6341389,41.944384],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832701":{"id":"n2139832701","loc":[-85.634235,41.9443259],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832702":{"id":"n2139832702","loc":[-85.633613,41.9437875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832703":{"id":"n2139832703","loc":[-85.633915,41.9436132],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832704":{"id":"n2139832704","loc":[-85.6340019,41.9435613],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832706":{"id":"n2139832706","loc":[-85.6343197,41.9438427],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832708":{"id":"n2139832708","loc":[-85.6342361,41.9438936],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832709":{"id":"n2139832709","loc":[-85.6353839,41.9460401],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832710":{"id":"n2139832710","loc":[-85.6354032,41.9456763],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832711":{"id":"n2139832711","loc":[-85.6356839,41.9459252],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832712":{"id":"n2139832712","loc":[-85.6356109,41.945735],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832713":{"id":"n2139832713","loc":[-85.6353997,41.9457421],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832714":{"id":"n2139832714","loc":[-85.6353895,41.9459347],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832715":{"id":"n2139832715","loc":[-85.6334777,41.9436628],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832716":{"id":"n2139832716","loc":[-85.6333137,41.9435382],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832717":{"id":"n2139832717","loc":[-85.6330938,41.9435406],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832721":{"id":"n2139832721","loc":[-85.6333023,41.9434922],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832722":{"id":"n2139832722","loc":[-85.6330466,41.943623],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832723":{"id":"n2139832723","loc":[-85.6332746,41.9435624],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832724":{"id":"n2139832724","loc":[-85.6333511,41.9435176],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832725":{"id":"n2139832725","loc":[-85.6332241,41.9434001],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832726":{"id":"n2139832726","loc":[-85.6332355,41.9433686],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139870373":{"id":"n2139870373","loc":[-85.6351783,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870374":{"id":"n2139870374","loc":[-85.6351431,41.9439217],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870375":{"id":"n2139870375","loc":[-85.6348853,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870376":{"id":"n2139870376","loc":[-85.6348317,41.9439105],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870377":{"id":"n2139870377","loc":[-85.6346384,41.944007],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870378":{"id":"n2139870378","loc":[-85.6345563,41.9440523],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2140006403":{"id":"n2140006403","loc":[-85.6359942,41.9450097],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006405":{"id":"n2140006405","loc":[-85.6363884,41.9446079],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006407":{"id":"n2140006407","loc":[-85.6362148,41.9447874],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006409":{"id":"n2140006409","loc":[-85.6379476,41.9445869],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006411":{"id":"n2140006411","loc":[-85.6378485,41.9445674],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006413":{"id":"n2140006413","loc":[-85.6378952,41.9444547],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006415":{"id":"n2140006415","loc":[-85.6379962,41.944477],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006421":{"id":"n2140006421","loc":[-85.6355248,41.9433702],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006423":{"id":"n2140006423","loc":[-85.6378471,41.9439233],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006425":{"id":"n2140006425","loc":[-85.6378913,41.9441238],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006426":{"id":"n2140006426","loc":[-85.6381674,41.9442289],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006427":{"id":"n2140006427","loc":[-85.6382359,41.9440975],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006428":{"id":"n2140006428","loc":[-85.6382071,41.9440252],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006429":{"id":"n2140006429","loc":[-85.6381409,41.9439973],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006430":{"id":"n2140006430","loc":[-85.6380569,41.9440153],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006433":{"id":"n2140006433","loc":[-85.6379071,41.9442467],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006435":{"id":"n2140006435","loc":[-85.6381634,41.9443125],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006436":{"id":"n2140006436","loc":[-85.6382407,41.944301],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006438":{"id":"n2140006438","loc":[-85.6382761,41.9442188],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006439":{"id":"n2140006439","loc":[-85.6382429,41.9441761],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006440":{"id":"n2140006440","loc":[-85.6382016,41.9441632],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006441":{"id":"n2140006441","loc":[-85.6378185,41.9439835],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2166205688":{"id":"n2166205688","loc":[-85.6349963,41.9444392],"version":"1","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{}},"n2168544780":{"id":"n2168544780","loc":[-85.633944,41.945807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544781":{"id":"n2168544781","loc":[-85.6340783,41.9458621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544782":{"id":"n2168544782","loc":[-85.6338184,41.9457548],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544783":{"id":"n2168544783","loc":[-85.6339925,41.9459777],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544784":{"id":"n2168544784","loc":[-85.6337317,41.9458698],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544785":{"id":"n2168544785","loc":[-85.6337297,41.9460042],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544786":{"id":"n2168544786","loc":[-85.633919,41.9460797],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544787":{"id":"n2168544787","loc":[-85.6338672,41.9459263],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544788":{"id":"n2168544788","loc":[-85.6338246,41.9459853],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544789":{"id":"n2168544789","loc":[-85.6337615,41.9459601],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544790":{"id":"n2168544790","loc":[-85.6342079,41.9460399],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544791":{"id":"n2168544791","loc":[-85.6343346,41.9458503],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544792":{"id":"n2168544792","loc":[-85.6343759,41.9458116],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544793":{"id":"n2168544793","loc":[-85.6344394,41.9458109],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544795":{"id":"n2168544795","loc":[-85.6344827,41.945851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544797":{"id":"n2168544797","loc":[-85.6344807,41.945969],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544798":{"id":"n2168544798","loc":[-85.6344404,41.9459697],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544799":{"id":"n2168544799","loc":[-85.6344413,41.9460333],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544800":{"id":"n2168544800","loc":[-85.6342173,41.9460705],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544801":{"id":"n2168544801","loc":[-85.6342162,41.9460392],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544802":{"id":"n2168544802","loc":[-85.6344251,41.9460351],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544805":{"id":"n2168544805","loc":[-85.6344257,41.9460507],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544807":{"id":"n2168544807","loc":[-85.6344721,41.9460498],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544809":{"id":"n2168544809","loc":[-85.6344754,41.9461427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544811":{"id":"n2168544811","loc":[-85.6344311,41.9461435],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544813":{"id":"n2168544813","loc":[-85.6344317,41.9461592],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544815":{"id":"n2168544815","loc":[-85.6343708,41.9461604],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544817":{"id":"n2168544817","loc":[-85.6343715,41.9461786],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544819":{"id":"n2168544819","loc":[-85.6343229,41.9461795],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544821":{"id":"n2168544821","loc":[-85.6343222,41.9461606],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544823":{"id":"n2168544823","loc":[-85.6342476,41.9461621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544825":{"id":"n2168544825","loc":[-85.6342444,41.94607],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544827":{"id":"n2168544827","loc":[-85.634138,41.9461632],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544829":{"id":"n2168544829","loc":[-85.6342016,41.9460703],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544830":{"id":"n2168544830","loc":[-85.6332929,41.9463092],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544831":{"id":"n2168544831","loc":[-85.633122,41.946239],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544832":{"id":"n2168544832","loc":[-85.6332954,41.9460055],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544833":{"id":"n2168544833","loc":[-85.6333954,41.9460466],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544834":{"id":"n2168544834","loc":[-85.6334044,41.9460345],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544835":{"id":"n2168544835","loc":[-85.6334594,41.9460571],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544836":{"id":"n2168544836","loc":[-85.6333871,41.9461544],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544837":{"id":"n2168544837","loc":[-85.633403,41.9461609],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544838":{"id":"n2168544838","loc":[-85.6341683,41.9464167],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544839":{"id":"n2168544839","loc":[-85.6341711,41.9463411],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544840":{"id":"n2168544840","loc":[-85.6344471,41.9463469],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544841":{"id":"n2168544841","loc":[-85.6344441,41.9464243],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544842":{"id":"n2168544842","loc":[-85.6343622,41.9464226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544843":{"id":"n2168544843","loc":[-85.6343593,41.9464989],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544844":{"id":"n2168544844","loc":[-85.6342812,41.9464973],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544845":{"id":"n2168544845","loc":[-85.634283,41.9464504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544846":{"id":"n2168544846","loc":[-85.6342609,41.9464499],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544847":{"id":"n2168544847","loc":[-85.6342621,41.9464187],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544848":{"id":"n2168544848","loc":[-85.6348414,41.9463396],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544849":{"id":"n2168544849","loc":[-85.6348387,41.9461872],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544850":{"id":"n2168544850","loc":[-85.6351186,41.9461844],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544851":{"id":"n2168544851","loc":[-85.635119,41.9462112],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544852":{"id":"n2168544852","loc":[-85.6351918,41.9462104],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544853":{"id":"n2168544853","loc":[-85.6351944,41.9463515],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544854":{"id":"n2168544854","loc":[-85.6351049,41.9463524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544855":{"id":"n2168544855","loc":[-85.6351046,41.946337],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2189153180":{"id":"n2189153180","loc":[-85.6340369,41.9469572],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153181":{"id":"n2189153181","loc":[-85.6342531,41.946953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153183":{"id":"n2189153183","loc":[-85.6348115,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153184":{"id":"n2189153184","loc":[-85.6348105,41.9464569],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153185":{"id":"n2189153185","loc":[-85.6351431,41.9464549],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153186":{"id":"n2189153186","loc":[-85.6351441,41.9465448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153187":{"id":"n2189153187","loc":[-85.6350077,41.9465456],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153188":{"id":"n2189153188","loc":[-85.635008,41.9465721],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153189":{"id":"n2189153189","loc":[-85.6348965,41.9465727],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153190":{"id":"n2189153190","loc":[-85.6348962,41.9465463],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153191":{"id":"n2189153191","loc":[-85.6348963,41.9471586],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153192":{"id":"n2189153192","loc":[-85.6348944,41.947032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153193":{"id":"n2189153193","loc":[-85.6350241,41.947031],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153194":{"id":"n2189153194","loc":[-85.635026,41.9471575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153195":{"id":"n2189153195","loc":[-85.6352328,41.9471053],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153196":{"id":"n2189153196","loc":[-85.6352359,41.9469906],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153197":{"id":"n2189153197","loc":[-85.6353694,41.9469925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153198":{"id":"n2189153198","loc":[-85.6353664,41.9471072],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153199":{"id":"n2189153199","loc":[-85.6348241,41.9469287],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153200":{"id":"n2189153200","loc":[-85.6348248,41.9468185],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153201":{"id":"n2189153201","loc":[-85.6351199,41.9468195],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153202":{"id":"n2189153202","loc":[-85.6351192,41.9469298],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153203":{"id":"n2189153203","loc":[-85.6347965,41.9468057],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153204":{"id":"n2189153204","loc":[-85.634792,41.9466044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153205":{"id":"n2189153205","loc":[-85.6349483,41.9466025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153206":{"id":"n2189153206","loc":[-85.6349493,41.9466448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153207":{"id":"n2189153207","loc":[-85.6349753,41.9466445],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153208":{"id":"n2189153208","loc":[-85.6349743,41.9465995],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153209":{"id":"n2189153209","loc":[-85.6351173,41.9465977],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153210":{"id":"n2189153210","loc":[-85.6351219,41.9468015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153211":{"id":"n2189153211","loc":[-85.6349806,41.9468032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153212":{"id":"n2189153212","loc":[-85.6349794,41.9467519],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153213":{"id":"n2189153213","loc":[-85.6349521,41.9467523],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153214":{"id":"n2189153214","loc":[-85.6349532,41.9468037],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153215":{"id":"n2189153215","loc":[-85.6346302,41.9468381],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153216":{"id":"n2189153216","loc":[-85.6343028,41.9468449],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153217":{"id":"n2189153217","loc":[-85.6342006,41.9468297],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153218":{"id":"n2189153218","loc":[-85.6336698,41.9465918],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153219":{"id":"n2189153219","loc":[-85.6344663,41.9466639],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153220":{"id":"n2189153220","loc":[-85.6344639,41.9466015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153221":{"id":"n2189153221","loc":[-85.6342283,41.9466065],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153222":{"id":"n2189153222","loc":[-85.6342303,41.9466587],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153223":{"id":"n2189153223","loc":[-85.6342843,41.9466575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153224":{"id":"n2189153224","loc":[-85.6342851,41.9466794],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153225":{"id":"n2189153225","loc":[-85.6343475,41.9466781],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153226":{"id":"n2189153226","loc":[-85.634347,41.9466664],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153227":{"id":"n2189153227","loc":[-85.6354428,41.9470148],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153228":{"id":"n2189153228","loc":[-85.6354432,41.9468005],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153229":{"id":"n2189153229","loc":[-85.6360277,41.9468011],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153230":{"id":"n2189153230","loc":[-85.6360273,41.9470154],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153231":{"id":"n2189153231","loc":[-85.6354565,41.9465823],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153232":{"id":"n2189153232","loc":[-85.6354496,41.946218],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153233":{"id":"n2189153233","loc":[-85.6356355,41.9465788],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153234":{"id":"n2189153234","loc":[-85.6357155,41.9468008],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153235":{"id":"n2189153235","loc":[-85.6359539,41.9467969],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153236":{"id":"n2189153236","loc":[-85.6359561,41.9463036],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153237":{"id":"n2189153237","loc":[-85.6360129,41.9464793],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153238":{"id":"n2189153238","loc":[-85.6360152,41.9463898],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153239":{"id":"n2189153239","loc":[-85.6359607,41.9464928],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153240":{"id":"n2189153240","loc":[-85.6356903,41.9462227],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153242":{"id":"n2189153242","loc":[-85.6354163,41.946142],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153243":{"id":"n2189153243","loc":[-85.6357546,41.9462214],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153244":{"id":"n2189153244","loc":[-85.6357937,41.9462542],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153245":{"id":"n2189153245","loc":[-85.6358723,41.9467048],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153246":{"id":"n2189153246","loc":[-85.6361494,41.946757],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153247":{"id":"n2189153247","loc":[-85.6354173,41.9469082],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153248":{"id":"n2189153248","loc":[-85.635443,41.9469079],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153249":{"id":"n2189153249","loc":[-85.6360275,41.9469093],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153250":{"id":"n2189153250","loc":[-85.6361542,41.946915],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153251":{"id":"n2189153251","loc":[-85.6358654,41.9464843],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153252":{"id":"n2189153252","loc":[-85.6359549,41.9467499],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153253":{"id":"n2189153253","loc":[-85.6357172,41.9466335],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153254":{"id":"n2189153254","loc":[-85.6355644,41.9461768],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153255":{"id":"n2189153255","loc":[-85.6355655,41.946528],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153256":{"id":"n2189153256","loc":[-85.6357055,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153257":{"id":"n2189153257","loc":[-85.635869,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153259":{"id":"n2189153259","loc":[-85.6354561,41.9470278],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153260":{"id":"n2189153260","loc":[-85.6357961,41.9470233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153261":{"id":"n2189153261","loc":[-85.6357977,41.9470907],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153262":{"id":"n2189153262","loc":[-85.6357297,41.9470916],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153263":{"id":"n2189153263","loc":[-85.635733,41.947233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153264":{"id":"n2189153264","loc":[-85.6362674,41.9468637],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153265":{"id":"n2189153265","loc":[-85.6362646,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153266":{"id":"n2189153266","loc":[-85.6363267,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153267":{"id":"n2189153267","loc":[-85.6362633,41.9465848],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153268":{"id":"n2189153268","loc":[-85.6363805,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153269":{"id":"n2189153269","loc":[-85.6364604,41.9466842],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153270":{"id":"n2189153270","loc":[-85.6364604,41.9468647],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2199109756":{"id":"n2199109756","loc":[-85.6337134,41.9471841],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109757":{"id":"n2199109757","loc":[-85.6336514,41.94716],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109758":{"id":"n2199109758","loc":[-85.6337043,41.9470847],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109759":{"id":"n2199109759","loc":[-85.6335997,41.9470441],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109760":{"id":"n2199109760","loc":[-85.6335064,41.9471771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185960195":{"id":"n185960195","loc":[-85.6295992,41.9524346],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960796":{"id":"n185960796","loc":[-85.634723,41.953681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961396":{"id":"n185961396","loc":[-85.634767,41.959009],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185962625":{"id":"n185962625","loc":[-85.635175,41.97201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:29Z","tags":{}},"n185964982":{"id":"n185964982","loc":[-85.632799,41.9440543],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185965289":{"id":"n185965289","loc":[-85.634621,41.947323],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965291":{"id":"n185965291","loc":[-85.636166,41.947296],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965399":{"id":"n185965399","loc":[-85.634776,41.959834],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966937":{"id":"n185966937","loc":[-85.633183,41.947315],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966948":{"id":"n185966948","loc":[-85.626406,41.957188],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967422":{"id":"n185967422","loc":[-85.6320229,41.9490123],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185967917":{"id":"n185967917","loc":[-85.634763,41.958292],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185967918":{"id":"n185967918","loc":[-85.636271,41.958311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185968100":{"id":"n185968100","loc":[-85.630835,41.950656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185970515":{"id":"n185970515","loc":[-85.634832,41.963866],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:41Z","tags":{}},"n185971578":{"id":"n185971578","loc":[-85.634641,41.948627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:05Z","tags":{}},"n185971580":{"id":"n185971580","loc":[-85.6361818,41.9486135],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971631":{"id":"n185971631","loc":[-85.634729,41.954667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971632":{"id":"n185971632","loc":[-85.636236,41.954656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185972155":{"id":"n185972155","loc":[-85.623333,41.961987],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185974583":{"id":"n185974583","loc":[-85.634686,41.951158],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:21Z","tags":{}},"n185974585":{"id":"n185974585","loc":[-85.6362059,41.9511457],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185975064":{"id":"n185975064","loc":[-85.636218,41.953667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975735":{"id":"n185975735","loc":[-85.634923,41.969269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:09Z","tags":{}},"n185978390":{"id":"n185978390","loc":[-85.634668,41.949875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978392":{"id":"n185978392","loc":[-85.634686,41.952415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978394":{"id":"n185978394","loc":[-85.634726,41.955921],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978399":{"id":"n185978399","loc":[-85.6347861,41.9606613],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978402":{"id":"n185978402","loc":[-85.634806,41.961485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978406":{"id":"n185978406","loc":[-85.6348298,41.964783],"version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:00Z","tags":{}},"n185978410":{"id":"n185978410","loc":[-85.6348766,41.9677088],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978414":{"id":"n185978414","loc":[-85.634938,41.971566],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978415":{"id":"n185978415","loc":[-85.634942,41.971611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978417":{"id":"n185978417","loc":[-85.634952,41.971655],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978419":{"id":"n185978419","loc":[-85.634989,41.971741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978420":{"id":"n185978420","loc":[-85.635063,41.971864],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978787":{"id":"n185978787","loc":[-85.627936,41.954693],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978790":{"id":"n185978790","loc":[-85.626832,41.954677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978967":{"id":"n185978967","loc":[-85.632278,41.948613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185980735":{"id":"n185980735","loc":[-85.628639,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:47Z","tags":{}},"n185982163":{"id":"n185982163","loc":[-85.636233,41.952398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:31Z","tags":{}},"n185982193":{"id":"n185982193","loc":[-85.6313855,41.9499125],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982195":{"id":"n185982195","loc":[-85.6304857,41.9511945],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982196":{"id":"n185982196","loc":[-85.626336,41.957291],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982197":{"id":"n185982197","loc":[-85.625578,41.958664],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982198":{"id":"n185982198","loc":[-85.624619,41.960145],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982200":{"id":"n185982200","loc":[-85.624494,41.960338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185984017":{"id":"n185984017","loc":[-85.636163,41.947382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984020":{"id":"n185984020","loc":[-85.636188,41.9498803],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185984022":{"id":"n185984022","loc":[-85.636276,41.955919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185984024":{"id":"n185984024","loc":[-85.636279,41.956901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185988036":{"id":"n185988036","loc":[-85.631422,41.948294],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185988867":{"id":"n185988867","loc":[-85.63102,41.948805],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988869":{"id":"n185988869","loc":[-85.630773,41.949209],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988871":{"id":"n185988871","loc":[-85.63005,41.95016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988872":{"id":"n185988872","loc":[-85.629423,41.951016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988873":{"id":"n185988873","loc":[-85.629252,41.951256],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988875":{"id":"n185988875","loc":[-85.629126,41.951489],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988877":{"id":"n185988877","loc":[-85.628991,41.951704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988878":{"id":"n185988878","loc":[-85.628689,41.952112],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988879":{"id":"n185988879","loc":[-85.628313,41.952666],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988880":{"id":"n185988880","loc":[-85.627687,41.953529],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988882":{"id":"n185988882","loc":[-85.627394,41.953947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988884":{"id":"n185988884","loc":[-85.627287,41.954128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:14Z","tags":{}},"n1819858502":{"id":"n1819858502","loc":[-85.6328435,41.9455473],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858510":{"id":"n1819858510","loc":[-85.6324841,41.9453438],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858515":{"id":"n1819858515","loc":[-85.6318511,41.9446409],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858520":{"id":"n1819858520","loc":[-85.6326558,41.9454708],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858522":{"id":"n1819858522","loc":[-85.6319048,41.9447407],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858524":{"id":"n1819858524","loc":[-85.6317718,41.9443666],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858530":{"id":"n1819858530","loc":[-85.632055,41.9449128],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2139795768":{"id":"n2139795768","loc":[-85.6243023,41.9606102],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139832645":{"id":"n2139832645","loc":[-85.6324455,41.9448607],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832649":{"id":"n2139832649","loc":[-85.6328043,41.9454773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832651":{"id":"n2139832651","loc":[-85.6322547,41.9449621],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832675":{"id":"n2139832675","loc":[-85.6327356,41.944757],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832677":{"id":"n2139832677","loc":[-85.6325433,41.9448599],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832680":{"id":"n2139832680","loc":[-85.6328885,41.9455614],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832682":{"id":"n2139832682","loc":[-85.6320913,41.9449492],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832684":{"id":"n2139832684","loc":[-85.6325366,41.9447133],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832688":{"id":"n2139832688","loc":[-85.6322786,41.94485],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832718":{"id":"n2139832718","loc":[-85.6327486,41.9432475],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832719":{"id":"n2139832719","loc":[-85.6327926,41.9431773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832720":{"id":"n2139832720","loc":[-85.6329033,41.943153],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832727":{"id":"n2139832727","loc":[-85.6328975,41.9430783],"version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2139844839":{"id":"n2139844839","loc":[-85.6326261,41.9432308],"version":"1","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2189015992":{"id":"n2189015992","loc":[-85.6347706,41.9593383],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189153179":{"id":"n2189153179","loc":[-85.6340476,41.9472565],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153182":{"id":"n2189153182","loc":[-85.6342638,41.9472522],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153241":{"id":"n2189153241","loc":[-85.6354184,41.9473091],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153258":{"id":"n2189153258","loc":[-85.6354611,41.9472366],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153277":{"id":"n2189153277","loc":[-85.6328948,41.9462374],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2199109755":{"id":"n2199109755","loc":[-85.6336729,41.9472417],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"w203970139":{"id":"w203970139","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824793","n2139824787","n2139824773","n2139824778","n2139824793"]},"w203970098":{"id":"w203970098","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824712","n2139824726","n2139824760","n2139824748"]},"w208643132":{"id":"w208643132","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153195","n2189153196","n2189153197","n2189153198","n2189153195"]},"w203970094":{"id":"w203970094","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824755","n2139824753","n2139824759","n2139824764","n2139824763","n2139824767","n2139824770","n2139824782","n2139824772","n2139824756","n2139824751","n2139824754","n2139824755"]},"w208643138":{"id":"w208643138","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153231","n2189153232","n2189153240","n2189153244","n2189153236","n2189153238","n2189153237","n2189153239","n2189153252","n2189153235","n2189153234","n2189153253","n2189153233","n2189153231"]},"w203970125":{"id":"w203970125","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824738","n2139824757","n2139824749","n2139824735"]},"w170848823":{"id":"w170848823","version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:39Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819849189","n1819858516","n1819858519","n1819858504","n1819858525","n1819858506","n1819858513"]},"w203970898":{"id":"w203970898","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832645","n2139832647","n2139832649","n2139832651","n2139832645"]},"w203970134":{"id":"w203970134","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824796","n2139824803","n2139824797","n2139824788","n2139824796"]},"w203970104":{"id":"w203970104","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824733","n2139824730","n2139824714","n2139824721","n2139824733"]},"w206805245":{"id":"w206805245","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544780","n2168544781","n2139824796","n2139824803","n2168544780"]},"w206805252":{"id":"w206805252","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544838","n2168544839","n2168544840","n2168544841","n2168544842","n2168544843","n2168544844","n2168544845","n2168544846","n2168544847","n2168544838"]},"w203970099":{"id":"w203970099","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824783","n2139824795","n2139824790","n2139824779","n2139824783"]},"w17967730":{"id":"w17967730","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:18Z","tags":{"highway":"residential","name":"Water St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963451","n2189153277","n185988036","n185988867","n185988869","n185988871","n185988872","n185988873","n185988875","n185988877","n185988878","n185988879","n185988880","n185988882","n185988884","n185978790"]},"w208643133":{"id":"w208643133","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153199","n2189153200","n2189153201","n2189153202","n2189153199"]},"w203970127":{"id":"w203970127","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824794","n2139824783","n2139824789","n2139824797","n2139824794"]},"w208643139":{"id":"w208643139","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service"},"nodes":["n185988237","n2189153242","n2189153247","n2189153241"]},"w203988297":{"id":"w203988297","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140006423","n2140006441","n2140006425","n2140006426","n2140006440","n2140006427","n2140006428","n2140006429","n2140006430","n2140006423"]},"w206805250":{"id":"w206805250","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544827","n2168544823","n2168544825","n2168544800","n2168544829","n2168544827"]},"w208643140":{"id":"w208643140","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153242","n2189153254","n2189153243","n2189153244","n2189153251","n2189153257","n2189153245","n2189153252","n2189153246"]},"w203974055":{"id":"w203974055","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870376","n2139870377"]},"w206805247":{"id":"w206805247","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544785","n2168544786","n2168544783","n2168544787","n2168544788","n2168544789","n2168544785"]},"w17964996":{"id":"w17964996","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Foster St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Foster","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312360","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1819858524","n1819858515","n1819858522","n1819858530","n2139832682","n1819858510","n1819858520","n1819858502","n2139832680","n185963451","n1819858527","n185963452","n185963453","n185963454","n185963455","n185963456"]},"w208643144":{"id":"w208643144","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153264","n2189153265","n2189153266","n2189153267","n2189153268","n2189153269","n2189153270","n2189153264"]},"w203970914":{"id":"w203970914","version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832722","n2139832723","n2139832724","n2139832725","n2139832726","n2139832727","n2139844839","n2139832722"]},"w208643143":{"id":"w208643143","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153258","n2189153259","n2189153260","n2189153261","n2189153262","n2189153263","n2189153258"]},"w203049590":{"id":"w203049590","version":"3","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2130304152","n2130304153","n2140006403","n2130304154","n2130304156","n2130304155","n2130304160","n2130304152"]},"w203974054":{"id":"w203974054","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858971","n2139870373","n2139870374"]},"w203049595":{"id":"w203049595","version":"2","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service"},"nodes":["n2130304158","n2130304159","n2130304160","n2139832635","n2139832639"]},"w203970913":{"id":"w203970913","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832715","n2139832716","n2139832717","n2139832718","n2139832719","n2139832720","n2139832721","n2139832716"]},"w208643134":{"id":"w208643134","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153203","n2189153204","n2189153205","n2189153206","n2189153207","n2189153208","n2189153209","n2189153210","n2189153211","n2189153212","n2189153213","n2189153214","n2189153203"]},"w134150808":{"id":"w134150808","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:53Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988239","n185984009","n185988241","n1475284019"]},"w203970115":{"id":"w203970115","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824761","n2139824727","n2139824736","n2139824771","n2139824761"]},"w208643130":{"id":"w208643130","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153183","n2189153184","n2189153185","n2189153186","n2189153187","n2189153188","n2189153189","n2189153190","n2189153183"]},"w206805246":{"id":"w206805246","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544782","n2168544780","n2168544781","n2168544783","n2168544787","n2168544784","n2168544782"]},"w203970138":{"id":"w203970138","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824729","n2139824720","n2139824702","n2139824707","n2139824729"]},"w203970133":{"id":"w203970133","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824737","n2139824717","n2139824728","n2139824748"]},"w203970907":{"id":"w203970907","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832700","n2139832701","n2139832702"]},"w203974056":{"id":"w203974056","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870377","n2139870378"]},"w203970897":{"id":"w203970897","version":"2","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2130304156","n2166205688","n2139832635","n2139832636","n2139832637","n2139832639","n2139832641","n2166205688"]},"w203974057":{"id":"w203974057","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870375","n2139870376"]},"w203049594":{"id":"w203049594","version":"3","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"service"},"nodes":["n2130304156","n2139870378","n2139832706","n2139832704","n2130304157"]},"w203970122":{"id":"w203970122","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824757","n2139824740","n2139824747","n2139824762","n2139824757"]},"w208643136":{"id":"w208643136","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153219","n2189153220","n2189153221","n2189153222","n2189153223","n2189153224","n2189153225","n2189153226","n2189153219"]},"w203970128":{"id":"w203970128","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824732","n2139824752","n2139824744","n2139824724","n2139824732"]},"w203970097":{"id":"w203970097","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824737","n2139824733","n2139824710","n2139824716","n2139824737"]},"w203970137":{"id":"w203970137","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824765","n2139824774","n2139824758","n2139824746","n2139824765"]},"w134150840":{"id":"w134150840","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475284019","n185988243","n185988244","n185988245"]},"w17967628":{"id":"w17967628","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978388","n2139832709","n185988237","n185988239"]},"w203988292":{"id":"w203988292","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2140006407","n2140006405"]},"w203970118":{"id":"w203970118","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824775","n2139824785","n2139824780","n2139824768","n2139824775"]},"w203970121":{"id":"w203970121","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824768","n2139824781","n2139824776","n2139824765","n2139824768"]},"w17967752":{"id":"w17967752","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Railroad Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Railroad","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964980","n2139832699","n2139832700","n2130304158","n185988969","n185988971","n185988972","n1475284011"]},"w203970136":{"id":"w203970136","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824793","n2139824777","n2139824784","n2139824798"]},"w203970142":{"id":"w203970142","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824808","n2139824809","n2139824807","n2139824806","n2139824801","n2139824800","n2139824804","n2139824805","n2139824808"]},"w208643137":{"id":"w208643137","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153227","n2189153248","n2189153228","n2189153234","n2189153235","n2189153229","n2189153249","n2189153230","n2189153227"]},"w208643129":{"id":"w208643129","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153179","n2189153180","n2189153181","n2189153182","n2189153179"]},"w203970909":{"id":"w203970909","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832703","n2139832704","n2139832706","n2139832708","n2139832703"]},"w203970905":{"id":"w203970905","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832688","n2139832691"]},"w203988298":{"id":"w203988298","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"service"},"nodes":["n2140006431","n2140006433","n2140006435","n2140006436","n2140006437","n2140006438","n2140006439","n2140006440"]},"w203970106":{"id":"w203970106","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824791","n2139824799","n2139824802","n2139824798"]},"w203970129":{"id":"w203970129","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824787","n2139824782","n2139824766","n2139824769","n2139824787"]},"w208643131":{"id":"w208643131","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153191","n2189153192","n2189153193","n2189153194","n2189153191"]},"w206805249":{"id":"w206805249","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544800","n2168544801","n2168544802","n2168544805","n2168544807","n2168544809","n2168544811","n2168544813","n2168544815","n2168544817","n2168544819","n2168544821","n2168544823","n2168544825","n2168544800"]},"w134150800":{"id":"w134150800","version":"3","changeset":"13675000","user":"NE2","uid":"207745","visible":"true","timestamp":"2012-10-29T15:08:54Z","tags":{"bridge":"yes","highway":"primary","name":"W Michigan Ave","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964972","n185964976"]},"w17966984":{"id":"w17966984","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Portage Avenue","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Portage","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978375","n185963456","n2189153218","n185966937","n185978967","n185967422","n185982193","n185968100","n185982195","n185960195","n185980735","n185978787","n185966948","n185982196","n185982197","n185982198","n185982200","n2139795768","n185972155"]},"w203988294":{"id":"w203988294","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2140006409","n2140006411","n2140006413","n2140006415","n2140006409"]},"w203970912":{"id":"w203970912","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832711","n2139832712","n2139832713","n2139832714","n2139832711"]},"w203970119":{"id":"w203970119","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824713","n2139824705","n2139824683","n2139824689","n2139824713"]},"w203970114":{"id":"w203970114","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824750","n2139824745","n2139824732","n2139824735"]},"w208643142":{"id":"w208643142","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153254","n2189153255","n2189153256","n2189153257"]},"w206805253":{"id":"w206805253","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544848","n2168544849","n2168544850","n2168544851","n2168544852","n2168544853","n2168544854","n2168544855","n2168544848"]},"w143497377":{"id":"w143497377","version":"7","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"North Main Street","old_ref":"US 131","ref":"US 131 Business","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_left_1":"49093","tiger:zip_right":"49093","tiger:zip_right_1":"49093"},"nodes":["n185962625","n185978420","n185978419","n185978417","n185978415","n185978414","n185975735","n1475293254","n185978410","n185978406","n185970515","n185978402","n185978399","n185965399","n2189015992","n185961396","n185967917","n185978394","n185971631","n185960796","n185978392","n185974583","n185978390","n185971578","n185965289","n2189153215","n185978388","n185978383","n185978381","n185978379","n185978377","n185978375","n185964982"]},"w134150811":{"id":"w134150811","version":"6","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964976","n2130304157","n1475284023","n2139832715","n185964980","n185964982"]},"w208643135":{"id":"w208643135","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153215","n2189153216","n2189153217","n2189153218"]},"w17967183":{"id":"w17967183","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"West","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n1475284011","n185984011","n185984013","n185984015","n2189153246","n2189153250","n185965291","n185984017","n185971580","n185984020","n185974585","n185982163","n185975064","n185971632","n185984022","n185984024","n185967918"]},"w134150778":{"id":"w134150778","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988245","n1475283992","n185975911"]},"w206805248":{"id":"w206805248","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544790","n2168544791","n2168544792","n2168544793","n2168544795","n2168544797","n2168544798","n2168544799","n2168544802","n2168544801","n2168544790"]},"w203974058":{"id":"w203974058","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870374","n2139870375"]},"w203970902":{"id":"w203970902","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832678","n2139832691","n2139832680"]},"w203988296":{"id":"w203988296","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"path"},"nodes":["n2139858967","n2140006421","n2139858935"]},"w206805251":{"id":"w206805251","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544830","n2168544831","n2168544832","n2168544833","n2168544834","n2168544835","n2168544836","n2168544837","n2168544830"]},"w203970906":{"id":"w203970906","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832693","n2139832694","n2139832696","n2139832697","n2139832698","n2139832693"]},"w203049598":{"id":"w203049598","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2130304162","n2130304163","n2130304164","n2130304165","n2130304162"]},"w203970911":{"id":"w203970911","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832709","n2139832714","n2139832713","n2139832710","n185988971"]},"w203970105":{"id":"w203970105","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824779","n2139824792","n2139824786","n2139824775","n2139824779"]},"w203988290":{"id":"w203988290","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"footway"},"nodes":["n2140006403","n2140006407"]},"w203970900":{"id":"w203970900","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832653","n2139832663","n2139832665","n2139832667","n2139832669","n2139832671","n2139832673","n2139832675","n2139832677","n2139832653"]},"w209717048":{"id":"w209717048","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109755","n2199109756","n2199109757","n2199109758","n2199109759","n2199109760","n2199109755"]},"w208643141":{"id":"w208643141","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153247","n2189153248","n2189153249","n2189153250"]},"w203970903":{"id":"w203970903","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832682","n2139832688","n2139832684","n2139832678","n2139832686"]},"n354002527":{"id":"n354002527","loc":[-85.6236039,41.9458813],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:07Z","tags":{"amenity":"school","ele":"246","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/21/2008","gnis:feature_id":"1624371","gnis:state_id":"26","name":"Barrows School"}},"n185963396":{"id":"n185963396","loc":[-85.627401,41.943496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963397":{"id":"n185963397","loc":[-85.627403,41.943625],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965101":{"id":"n185965101","loc":[-85.626409,41.943215],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185971474":{"id":"n185971474","loc":[-85.624884,41.943508],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971475":{"id":"n185971475","loc":[-85.625191,41.943509],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971482":{"id":"n185971482","loc":[-85.624882,41.94382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185983135":{"id":"n185983135","loc":[-85.624893,41.945616],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983137":{"id":"n185983137","loc":[-85.624912,41.946524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185988027":{"id":"n185988027","loc":[-85.622721,41.946535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185963398":{"id":"n185963398","loc":[-85.6273993,41.9446899],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185983238":{"id":"n185983238","loc":[-85.6227157,41.9456321],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980374":{"id":"n185980374","loc":[-85.6248856,41.9447242],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980373":{"id":"n185980373","loc":[-85.6226744,41.9447371],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n2196831342":{"id":"n2196831342","loc":[-85.6250924,41.945063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831343":{"id":"n2196831343","loc":[-85.6252335,41.9450636],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831344":{"id":"n2196831344","loc":[-85.6252286,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831345":{"id":"n2196831345","loc":[-85.6250661,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831346":{"id":"n2196831346","loc":[-85.6250243,41.9449012],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831347":{"id":"n2196831347","loc":[-85.6250251,41.9449244],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831348":{"id":"n2196831348","loc":[-85.6250867,41.9449257],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831349":{"id":"n2196831349","loc":[-85.625349,41.9445058],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831350":{"id":"n2196831350","loc":[-85.6253471,41.9443882],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831351":{"id":"n2196831351","loc":[-85.6251516,41.94439],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831352":{"id":"n2196831352","loc":[-85.6251522,41.9444308],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831353":{"id":"n2196831353","loc":[-85.6251344,41.9444309],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831354":{"id":"n2196831354","loc":[-85.6251356,41.9445077],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831355":{"id":"n2196831355","loc":[-85.6232357,41.9463406],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831356":{"id":"n2196831356","loc":[-85.6232409,41.9460668],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831357":{"id":"n2196831357","loc":[-85.6232072,41.9460665],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831358":{"id":"n2196831358","loc":[-85.6232117,41.9458272],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831359":{"id":"n2196831359","loc":[-85.6229808,41.9458248],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831360":{"id":"n2196831360","loc":[-85.6229763,41.9460627],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831361":{"id":"n2196831361","loc":[-85.623006,41.946063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831362":{"id":"n2196831362","loc":[-85.6230023,41.9462557],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831363":{"id":"n2196831363","loc":[-85.6230755,41.9462565],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831364":{"id":"n2196831364","loc":[-85.6230739,41.9463389],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947349":{"id":"n185947349","loc":[-85.618327,41.945607],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947359":{"id":"n185947359","loc":[-85.615453,41.945597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947378":{"id":"n185947378","loc":[-85.617231,41.945603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947474":{"id":"n185947474","loc":[-85.616136,41.945602],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948972":{"id":"n185948972","loc":[-85.615273,41.945637],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:02Z","tags":{}},"n185955019":{"id":"n185955019","loc":[-85.620172,41.945627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185960682":{"id":"n185960682","loc":[-85.622759,41.951845],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185961369":{"id":"n185961369","loc":[-85.622758,41.947444],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961371":{"id":"n185961371","loc":[-85.624908,41.947416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185963392":{"id":"n185963392","loc":[-85.6270462,41.9409953],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185963393":{"id":"n185963393","loc":[-85.627295,41.941304],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:51Z","tags":{}},"n185963394":{"id":"n185963394","loc":[-85.627352,41.94148],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963395":{"id":"n185963395","loc":[-85.62737,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965099":{"id":"n185965099","loc":[-85.6264,41.942263],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965108":{"id":"n185965108","loc":[-85.622769,41.949224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965110":{"id":"n185965110","loc":[-85.624937,41.949237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185966295":{"id":"n185966295","loc":[-85.6299942,41.9446689],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185966342":{"id":"n185966342","loc":[-85.624873,41.942022],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185970222":{"id":"n185970222","loc":[-85.622761,41.948357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185970224":{"id":"n185970224","loc":[-85.624924,41.9483338],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185971477":{"id":"n185971477","loc":[-85.620051,41.94383],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971478":{"id":"n185971478","loc":[-85.621219,41.943801],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971481":{"id":"n185971481","loc":[-85.621812,41.943807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185973866":{"id":"n185973866","loc":[-85.627629,41.946498],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185974699":{"id":"n185974699","loc":[-85.6227688,41.950119],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185978800":{"id":"n185978800","loc":[-85.623953,41.954684],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185980372":{"id":"n185980372","loc":[-85.621459,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980378":{"id":"n185980378","loc":[-85.6286375,41.9446764],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980380":{"id":"n185980380","loc":[-85.630139,41.944661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980382":{"id":"n185980382","loc":[-85.630298,41.944635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980384":{"id":"n185980384","loc":[-85.630759,41.94454],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980386":{"id":"n185980386","loc":[-85.6312369,41.9444548],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185983133":{"id":"n185983133","loc":[-85.6248672,41.9415903],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185983139":{"id":"n185983139","loc":[-85.624951,41.950239],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983140":{"id":"n185983140","loc":[-85.624934,41.950681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983141":{"id":"n185983141","loc":[-85.624813,41.950983],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983143":{"id":"n185983143","loc":[-85.6246225,41.951591],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983144":{"id":"n185983144","loc":[-85.623908,41.9539165],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983145":{"id":"n185983145","loc":[-85.6238903,41.9540956],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983146":{"id":"n185983146","loc":[-85.623898,41.95431],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983236":{"id":"n185983236","loc":[-85.628481,41.945611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:05Z","tags":{}},"n185985914":{"id":"n185985914","loc":[-85.620072,41.946538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185986812":{"id":"n185986812","loc":[-85.6227785,41.9510005],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185988028":{"id":"n185988028","loc":[-85.6281401,41.9469632],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988030":{"id":"n185988030","loc":[-85.6282451,41.9470314],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988032":{"id":"n185988032","loc":[-85.6283312,41.9470656],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"w17964989":{"id":"w17964989","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:33:37Z","tags":{"highway":"residential","name":"Middle St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Middle","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312433:15328741:15312403:15312465","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963392","n185963393","n185963394","n185963395","n185963396","n185963397","n185963398"]},"w17965158":{"id":"w17965158","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"access":"private","highway":"service","name":"Battle St","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Battle","tiger:name_type":"St","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313281","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185965101"]},"w41074896":{"id":"w41074896","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980373","n185980374","n185963398","n185980378","n185966295","n185980380","n185980382","n185980384","n185980386"]},"w17965846":{"id":"w17965846","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313726","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971477","n185971478","n185971481","n185971482"]},"w209470306":{"id":"w209470306","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831349","n2196831350","n2196831351","n2196831352","n2196831353","n2196831354","n2196831349"]},"w17965845":{"id":"w17965845","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335065","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971474","n185971475","n185963396"]},"w209470307":{"id":"w209470307","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831355","n2196831356","n2196831357","n2196831358","n2196831359","n2196831360","n2196831361","n2196831362","n2196831363","n2196831364","n2196831355"]},"w17968192":{"id":"w17968192","version":"2","changeset":"15473162","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:43:17Z","tags":{"highway":"residential","name":"Washington St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Washington","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980373","n185983238","n185988027","n185961369","n185970222","n185965108","n185974699","n185986812","n185960682"]},"w17967603":{"id":"w17967603","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:23Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985914","n185988027","n185983137","n185973866","n185988028","n185988030","n185988032"]},"w209470305":{"id":"w209470305","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831342","n2196831343","n2196831344","n2196831345","n2196831346","n2196831347","n2196831348","n2196831342"]},"w17967092":{"id":"w17967092","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:18Z","tags":{"highway":"residential","name":"Wood St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wood","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313653:15313659:15313679:15314060","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983133","n185966342","n185971474","n185971482","n185980374","n185983135","n185983137","n185961371","n185970224","n185965110","n185983139","n185983140","n185983141","n185983143","n185983144","n185983145","n185983146","n185978800"]},"w17967107":{"id":"w17967107","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:23Z","tags":{"highway":"residential","name":"4th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314053:15314054:15313697:15313698:15313700:15313701:15313699:15314427","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983236","n185983135","n185983238","n185955019","n185947349","n185947378","n185947474","n185947359","n185948972"]},"n354030330":{"id":"n354030330","loc":[-85.6297222,41.9444444],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:10:58Z","tags":{"ele":"243","gnis:county_id":"149","gnis:created":"03/21/2008","gnis:feature_id":"2401246","gnis:state_id":"26","leisure":"park","name":"Scouter Park"}},"n185966296":{"id":"n185966296","loc":[-85.629998,41.944078],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966298":{"id":"n185966298","loc":[-85.629972,41.943927],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966300":{"id":"n185966300","loc":[-85.629948,41.943783],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185980391":{"id":"n185980391","loc":[-85.6322992,41.9442766],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980393":{"id":"n185980393","loc":[-85.6324925,41.9442136],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980389":{"id":"n185980389","loc":[-85.6320272,41.9443281],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980388":{"id":"n185980388","loc":[-85.6315778,41.9443959],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n354031320":{"id":"n354031320","loc":[-85.6280556,41.9447222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:21Z","tags":{"amenity":"place_of_worship","ele":"245","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417881","gnis:state_id":"26","name":"Riverside Church","religion":"christian"}},"n185987309":{"id":"n185987309","loc":[-85.6286497,41.9453531],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185987311":{"id":"n185987311","loc":[-85.6285942,41.9454805],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185988034":{"id":"n185988034","loc":[-85.6285815,41.9471692],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988896":{"id":"n185988896","loc":[-85.6318433,41.9437929],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185977764":{"id":"n185977764","loc":[-85.6322988,41.943472],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848852":{"id":"n1819848852","loc":[-85.6315188,41.9448808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848912":{"id":"n1819848912","loc":[-85.6284289,41.9472189],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848925":{"id":"n1819848925","loc":[-85.6314501,41.9451617],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848949":{"id":"n1819848949","loc":[-85.6309394,41.9455192],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848951":{"id":"n1819848951","loc":[-85.6290297,41.9457187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848963":{"id":"n1819848963","loc":[-85.630521,41.9455591],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848981":{"id":"n1819848981","loc":[-85.6292936,41.9455846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848989":{"id":"n1819848989","loc":[-85.6298451,41.9455431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848998":{"id":"n1819848998","loc":[-85.6314973,41.9446254],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849018":{"id":"n1819849018","loc":[-85.6302807,41.9455527],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849043":{"id":"n1819849043","loc":[-85.6285533,41.9469731],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849087":{"id":"n1819849087","loc":[-85.6314501,41.9453532],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849090":{"id":"n1819849090","loc":[-85.628843,41.9461033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849109":{"id":"n1819849109","loc":[-85.6311926,41.9454729],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849116":{"id":"n1819849116","loc":[-85.6288967,41.9459437],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849177":{"id":"n1819849177","loc":[-85.6287894,41.9464544],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819858529":{"id":"n1819858529","loc":[-85.6325485,41.9445625],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2189112797":{"id":"n2189112797","loc":[-85.6275271,41.944555],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112798":{"id":"n2189112798","loc":[-85.6275196,41.9437258],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112799":{"id":"n2189112799","loc":[-85.6278937,41.943723],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112800":{"id":"n2189112800","loc":[-85.6278969,41.9439191],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112801":{"id":"n2189112801","loc":[-85.6279907,41.9439345],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112802":{"id":"n2189112802","loc":[-85.6280817,41.9439663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112803":{"id":"n2189112803","loc":[-85.6281768,41.9440145],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112804":{"id":"n2189112804","loc":[-85.6281933,41.9440483],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112805":{"id":"n2189112805","loc":[-85.6281671,41.9440535],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112806":{"id":"n2189112806","loc":[-85.6281933,41.9440935],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112807":{"id":"n2189112807","loc":[-85.6282126,41.9441437],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112808":{"id":"n2189112808","loc":[-85.628214,41.9441991],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112809":{"id":"n2189112809","loc":[-85.6283298,41.944196],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112810":{"id":"n2189112810","loc":[-85.6283285,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112811":{"id":"n2189112811","loc":[-85.6281727,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112812":{"id":"n2189112812","loc":[-85.6281713,41.9442934],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112813":{"id":"n2189112813","loc":[-85.6280386,41.9442963],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112814":{"id":"n2189112814","loc":[-85.6280405,41.9443292],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112815":{"id":"n2189112815","loc":[-85.627829,41.9443349],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112816":{"id":"n2189112816","loc":[-85.6278347,41.9445495],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189153271":{"id":"n2189153271","loc":[-85.6321053,41.9460342],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153272":{"id":"n2189153272","loc":[-85.632278,41.9457841],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153273":{"id":"n2189153273","loc":[-85.632823,41.9459936],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153274":{"id":"n2189153274","loc":[-85.6326845,41.9461963],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153275":{"id":"n2189153275","loc":[-85.6325664,41.9461507],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153276":{"id":"n2189153276","loc":[-85.6325323,41.946198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153278":{"id":"n2189153278","loc":[-85.6321916,41.9459733],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153279":{"id":"n2189153279","loc":[-85.6322598,41.9458703],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153280":{"id":"n2189153280","loc":[-85.6327208,41.9460358],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153281":{"id":"n2189153281","loc":[-85.6326413,41.9461422],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n185959079":{"id":"n185959079","loc":[-85.6293702,41.9474668],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185966301":{"id":"n185966301","loc":[-85.629692,41.943136],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966304":{"id":"n185966304","loc":[-85.629565,41.942916],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966308":{"id":"n185966308","loc":[-85.629501,41.942751],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966315":{"id":"n185966315","loc":[-85.629472,41.942578],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966319":{"id":"n185966319","loc":[-85.629444,41.942414],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966321":{"id":"n185966321","loc":[-85.629391,41.94205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966323":{"id":"n185966323","loc":[-85.629369,41.941858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966327":{"id":"n185966327","loc":[-85.629297,41.941604],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966331":{"id":"n185966331","loc":[-85.629233,41.941549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966336":{"id":"n185966336","loc":[-85.628504,41.941364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966338":{"id":"n185966338","loc":[-85.628275,41.941303],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966340":{"id":"n185966340","loc":[-85.6269038,41.9410983],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185973867":{"id":"n185973867","loc":[-85.626843,41.947333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185977762":{"id":"n185977762","loc":[-85.6318441,41.9429453],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848853":{"id":"n1819848853","loc":[-85.625854,41.9492218],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848861":{"id":"n1819848861","loc":[-85.6251459,41.9552376],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848874":{"id":"n1819848874","loc":[-85.6267445,41.9482961],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848882":{"id":"n1819848882","loc":[-85.6257209,41.9552396],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848883":{"id":"n1819848883","loc":[-85.624706,41.9523173],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848907":{"id":"n1819848907","loc":[-85.62609,41.9561471],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848908":{"id":"n1819848908","loc":[-85.6244013,41.9549284],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848911":{"id":"n1819848911","loc":[-85.6265578,41.9553672],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848923":{"id":"n1819848923","loc":[-85.6246802,41.9550959],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848936":{"id":"n1819848936","loc":[-85.6241588,41.9539291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848940":{"id":"n1819848940","loc":[-85.62506,41.9511129],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848944":{"id":"n1819848944","loc":[-85.624942,41.9515912],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848950":{"id":"n1819848950","loc":[-85.6273989,41.9475461],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848957":{"id":"n1819848957","loc":[-85.627695,41.947404],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819849009":{"id":"n1819849009","loc":[-85.6259248,41.94896],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849037":{"id":"n1819849037","loc":[-85.6257252,41.9502112],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849061":{"id":"n1819849061","loc":[-85.6270084,41.9479626],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849073":{"id":"n1819849073","loc":[-85.6243734,41.9534583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849091":{"id":"n1819849091","loc":[-85.6241373,41.9543918],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849130":{"id":"n1819849130","loc":[-85.6282572,41.9473067],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849143":{"id":"n1819849143","loc":[-85.625281,41.9506596],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849153":{"id":"n1819849153","loc":[-85.6258647,41.9498043],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849168":{"id":"n1819849168","loc":[-85.6265084,41.9559317],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849173":{"id":"n1819849173","loc":[-85.6263325,41.9552156],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849175":{"id":"n1819849175","loc":[-85.6266372,41.9556764],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849178":{"id":"n1819849178","loc":[-85.6242232,41.9545993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849181":{"id":"n1819849181","loc":[-85.6262187,41.9486712],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849188":{"id":"n1819849188","loc":[-85.6245558,41.9530434],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849190":{"id":"n1819849190","loc":[-85.6255982,41.9563017],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n2168544738":{"id":"n2168544738","loc":[-85.6245707,41.9529711],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"w208643145":{"id":"w208643145","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153271","n2189153272","n2189153273","n2189153274","n2189153275","n2189153276","n2189153271"]},"w17967561":{"id":"w17967561","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:21Z","tags":{"highway":"residential","name":"Garden St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Garden","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312361:15322884:15322885","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980378","n185987309","n185987311","n185983236","n185973866"]},"w134150802":{"id":"w134150802","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"bridge":"yes","highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980386","n185980388"]},"w208639462":{"id":"w208639462","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112797","n2189112798","n2189112799","n2189112800","n2189112801","n2189112802","n2189112803","n2189112804","n2189112805","n2189112806","n2189112807","n2189112808","n2189112809","n2189112810","n2189112811","n2189112812","n2189112813","n2189112814","n2189112815","n2189112816","n2189112797"]},"w134150830":{"id":"w134150830","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"bridge":"yes","highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977762","n185977764"]},"w134150801":{"id":"w134150801","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977764","n185964982"]},"w208643146":{"id":"w208643146","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153277","n2189153281","n2189153278","n2189153279","n2189153280","n2189153281"]},"w17966061":{"id":"w17966061","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:00Z","tags":{"highway":"residential","name":"John Glenn Ct","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"John Glenn","tiger:name_type":"Ct","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313190","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185973866","n185973867"]},"w134150772":{"id":"w134150772","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988034","n185959079","n185988036","n185978967"]},"w134150836":{"id":"w134150836","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980388","n1819858524","n185980389","n185980391","n185980393","n185964982"]},"w17967734":{"id":"w17967734","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Water Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988896","n185980391","n1819858529"]},"w17965305":{"id":"w17965305","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:57Z","tags":{"highway":"residential","name":"River Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312440:15338837","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966295","n185966296","n185966298","n185966300","n185966301","n185966304","n185966308","n185966315","n185966319","n185966321","n185966323","n185966327","n185966331","n185966336","n185966338","n185963392","n185966340","n185966342"]},"w134150826":{"id":"w134150826","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"bridge":"yes","highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988032","n185988034"]},"w170848330":{"id":"w170848330","version":"3","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1819849190","n1819848907","n1819849168","n1819849175","n1819848911","n1819849173","n1819848882","n1819848861","n1819848923","n1819848908","n1819849178","n1819849091","n1819848936","n1819849073","n1819849188","n2168544738","n1819848883","n1819848944","n1819848940","n1819849143","n1819849037","n1819849153","n1819848853","n1819849009","n1819849181","n1819848874","n1819849061","n1819848950","n1819848957","n1819849130","n1819848912","n1819849043","n1819849177","n1819849090","n1819849116","n1819848951","n1819848981","n1819848989","n1819849018","n1819848963","n1819848949","n1819849109","n1819849087","n1819848925","n1819848852","n1819848998","n1819849057"]},"r270264":{"id":"r270264","version":"8","changeset":"13611326","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-23T23:35:16Z","tags":{"network":"US:MI","ref":"86","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-86_%28Michigan_highway%29"},"members":[{"id":"w17737723","type":"way","role":""},{"id":"w17735949","type":"way","role":""},{"id":"w17740404","type":"way","role":""},{"id":"w17966273","type":"way","role":""},{"id":"w17964745","type":"way","role":""},{"id":"w151538068","type":"way","role":""},{"id":"w151538067","type":"way","role":""},{"id":"w17964960","type":"way","role":""},{"id":"w17966099","type":"way","role":""},{"id":"w17968009","type":"way","role":""},{"id":"w41259499","type":"way","role":""},{"id":"w151540401","type":"way","role":""},{"id":"w151540418","type":"way","role":""},{"id":"w17967997","type":"way","role":""},{"id":"w17966029","type":"way","role":""},{"id":"w17964801","type":"way","role":""},{"id":"w41259496","type":"way","role":""},{"id":"w151540399","type":"way","role":""},{"id":"w17968004","type":"way","role":""},{"id":"w17966462","type":"way","role":""},{"id":"w134150830","type":"way","role":""},{"id":"w134150801","type":"way","role":""},{"id":"w17732295","type":"way","role":""}]},"n185980093":{"id":"n185980093","loc":[-85.6271414,41.9407274],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964330":{"id":"n185964330","loc":[-85.6235688,41.9399111],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964328":{"id":"n185964328","loc":[-85.6235609,41.9391301],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185958034":{"id":"n185958034","loc":[-85.627102,41.939125],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185964331":{"id":"n185964331","loc":[-85.623571,41.940124],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964329":{"id":"n185964329","loc":[-85.623562,41.9392411],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972756":{"id":"n185972756","loc":[-85.623802,41.939102],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972757":{"id":"n185972757","loc":[-85.623584,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185975325":{"id":"n185975325","loc":[-85.624835,41.939318],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975326":{"id":"n185975326","loc":[-85.624811,41.939435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975327":{"id":"n185975327","loc":[-85.624635,41.939703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975328":{"id":"n185975328","loc":[-85.624366,41.940055],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975330":{"id":"n185975330","loc":[-85.624287,41.940113],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975332":{"id":"n185975332","loc":[-85.624215,41.940134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185980088":{"id":"n185980088","loc":[-85.627127,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185988943":{"id":"n185988943","loc":[-85.622643,41.940128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:15Z","tags":{}},"n185988961":{"id":"n185988961","loc":[-85.627263,41.940082],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990192":{"id":"n185990192","loc":[-85.622933,41.939224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990194":{"id":"n185990194","loc":[-85.621976,41.939203],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185991378":{"id":"n185991378","loc":[-85.622643,41.940635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:34Z","tags":{}},"n1475283999":{"id":"n1475283999","loc":[-85.6271165,41.9408429],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n185980090":{"id":"n185980090","loc":[-85.6271315,41.9402001],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185958036":{"id":"n185958036","loc":[-85.6248366,41.9391615],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819800188":{"id":"n1819800188","loc":[-85.6246947,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800199":{"id":"n1819800199","loc":[-85.6233686,41.9430896],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800204":{"id":"n1819800204","loc":[-85.6223236,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800213":{"id":"n1819800213","loc":[-85.6247526,41.9414138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800216":{"id":"n1819800216","loc":[-85.6230961,41.9407151],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800218":{"id":"n1819800218","loc":[-85.621991,41.9429336],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800221":{"id":"n1819800221","loc":[-85.6246088,41.9424708],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800227":{"id":"n1819800227","loc":[-85.6241368,41.9403081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800230":{"id":"n1819800230","loc":[-85.6226776,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800231":{"id":"n1819800231","loc":[-85.6243728,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800232":{"id":"n1819800232","loc":[-85.6249629,41.9408907],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800248":{"id":"n1819800248","loc":[-85.6238685,41.9405555],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800266":{"id":"n1819800266","loc":[-85.6246882,41.9418367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800271":{"id":"n1819800271","loc":[-85.62492,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800294":{"id":"n1819800294","loc":[-85.6243556,41.9427465],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800304":{"id":"n1819800304","loc":[-85.6251453,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800325":{"id":"n1819800325","loc":[-85.6248234,41.9405714],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800362":{"id":"n1819800362","loc":[-85.6239544,41.9429416],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800368":{"id":"n1819800368","loc":[-85.6243406,41.9402283],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800375":{"id":"n1819800375","loc":[-85.6226562,41.940755],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800377":{"id":"n1819800377","loc":[-85.6232033,41.9406512],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n185945133":{"id":"n185945133","loc":[-85.623501,41.933232],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945135":{"id":"n185945135","loc":[-85.624776,41.933205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945395":{"id":"n185945395","loc":[-85.624741,41.93019],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185952239":{"id":"n185952239","loc":[-85.615166,41.9382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:12Z","tags":{}},"n185954490":{"id":"n185954490","loc":[-85.624721,41.929278],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:27Z","tags":{}},"n185957831":{"id":"n185957831","loc":[-85.625041,41.938662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:57:55Z","tags":{}},"n185958030":{"id":"n185958030","loc":[-85.629033,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958032":{"id":"n185958032","loc":[-85.628429,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958498":{"id":"n185958498","loc":[-85.621605,41.940143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185961186":{"id":"n185961186","loc":[-85.624792,41.935214],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:34Z","tags":{}},"n185963099":{"id":"n185963099","loc":[-85.6204461,41.9401485],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n185963698":{"id":"n185963698","loc":[-85.6297342,41.9400783],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185964320":{"id":"n185964320","loc":[-85.623511,41.934216],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964322":{"id":"n185964322","loc":[-85.6235312,41.9362084],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964324":{"id":"n185964324","loc":[-85.6235488,41.9371726],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964326":{"id":"n185964326","loc":[-85.6235512,41.9381718],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967077":{"id":"n185967077","loc":[-85.617359,41.940161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n185967634":{"id":"n185967634","loc":[-85.6248039,41.9362012],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185970833":{"id":"n185970833","loc":[-85.6248019,41.9381684],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185972752":{"id":"n185972752","loc":[-85.624582,41.938848],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972754":{"id":"n185972754","loc":[-85.6242,41.939008],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185973251":{"id":"n185973251","loc":[-85.602727,41.936012],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:49Z","tags":{}},"n185974509":{"id":"n185974509","loc":[-85.62478,41.93217],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185975315":{"id":"n185975315","loc":[-85.624703,41.925597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:56Z","tags":{}},"n185975316":{"id":"n185975316","loc":[-85.624716,41.927359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975317":{"id":"n185975317","loc":[-85.62475,41.93119],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975318":{"id":"n185975318","loc":[-85.624782,41.934218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975320":{"id":"n185975320","loc":[-85.6247949,41.9371708],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185977754":{"id":"n185977754","loc":[-85.6276,41.937412],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185980075":{"id":"n185980075","loc":[-85.627451,41.937549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980077":{"id":"n185980077","loc":[-85.627375,41.937618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980078":{"id":"n185980078","loc":[-85.627278,41.937728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980079":{"id":"n185980079","loc":[-85.627199,41.937842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980081":{"id":"n185980081","loc":[-85.627141,41.937981],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980083":{"id":"n185980083","loc":[-85.627109,41.938153],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980085":{"id":"n185980085","loc":[-85.627101,41.938699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185981173":{"id":"n185981173","loc":[-85.61433,41.940167],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:02Z","tags":{}},"n185987021":{"id":"n185987021","loc":[-85.628311,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:07Z","tags":{}},"n185988963":{"id":"n185988963","loc":[-85.628439,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990195":{"id":"n185990195","loc":[-85.621225,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990196":{"id":"n185990196","loc":[-85.620576,41.939033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990198":{"id":"n185990198","loc":[-85.619081,41.938804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990200":{"id":"n185990200","loc":[-85.617593,41.938552],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990202":{"id":"n185990202","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990204":{"id":"n185990204","loc":[-85.616087,41.93832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990206":{"id":"n185990206","loc":[-85.615754,41.938289],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990209":{"id":"n185990209","loc":[-85.615438,41.938251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990211":{"id":"n185990211","loc":[-85.613469,41.937867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990212":{"id":"n185990212","loc":[-85.610172,41.937298],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990213":{"id":"n185990213","loc":[-85.605537,41.936497],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990214":{"id":"n185990214","loc":[-85.604014,41.936234],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n1819800180":{"id":"n1819800180","loc":[-85.588775,41.9455032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800181":{"id":"n1819800181","loc":[-85.6074212,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800182":{"id":"n1819800182","loc":[-85.6131397,41.9427022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800183":{"id":"n1819800183","loc":[-85.6171523,41.9416807],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800184":{"id":"n1819800184","loc":[-85.602465,41.9397415],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800185":{"id":"n1819800185","loc":[-85.6109296,41.9410583],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800186":{"id":"n1819800186","loc":[-85.6165729,41.9418004],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800189":{"id":"n1819800189","loc":[-85.5866293,41.9458224],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800191":{"id":"n1819800191","loc":[-85.5853311,41.9466603],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800201":{"id":"n1819800201","loc":[-85.6101142,41.9433406],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800202":{"id":"n1819800202","loc":[-85.600963,41.9428618],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800206":{"id":"n1819800206","loc":[-85.6154357,41.9427501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800207":{"id":"n1819800207","loc":[-85.6040309,41.9414094],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800209":{"id":"n1819800209","loc":[-85.6113694,41.943189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800211":{"id":"n1819800211","loc":[-85.618032,41.9416408],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800214":{"id":"n1819800214","loc":[-85.5959419,41.9402602],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800219":{"id":"n1819800219","loc":[-85.5972117,41.9420043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800223":{"id":"n1819800223","loc":[-85.6117171,41.9430019],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800224":{"id":"n1819800224","loc":[-85.5977873,41.9395579],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800226":{"id":"n1819800226","loc":[-85.5917362,41.9432209],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800228":{"id":"n1819800228","loc":[-85.6055759,41.9419122],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800229":{"id":"n1819800229","loc":[-85.6203395,41.9425595],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800233":{"id":"n1819800233","loc":[-85.6107579,41.9433007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800234":{"id":"n1819800234","loc":[-85.6039773,41.9412498],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800235":{"id":"n1819800235","loc":[-85.6000977,41.9412861],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800236":{"id":"n1819800236","loc":[-85.6026689,41.9407231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800237":{"id":"n1819800237","loc":[-85.615161,41.9428662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800238":{"id":"n1819800238","loc":[-85.5878953,41.9454314],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800239":{"id":"n1819800239","loc":[-85.6035267,41.941569],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800240":{"id":"n1819800240","loc":[-85.5929738,41.9450208],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800241":{"id":"n1819800241","loc":[-85.6186329,41.9416488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800242":{"id":"n1819800242","loc":[-85.5881136,41.9483963],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800243":{"id":"n1819800243","loc":[-85.5909208,41.9466922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800244":{"id":"n1819800244","loc":[-85.5997721,41.9394941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800245":{"id":"n1819800245","loc":[-85.6202064,41.9425712],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800246":{"id":"n1819800246","loc":[-85.591071,41.9448808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800247":{"id":"n1819800247","loc":[-85.5866078,41.9490622],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800250":{"id":"n1819800250","loc":[-85.602383,41.9420841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800251":{"id":"n1819800251","loc":[-85.5957418,41.9426906],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800255":{"id":"n1819800255","loc":[-85.6157039,41.9416727],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800256":{"id":"n1819800256","loc":[-85.6080328,41.9410982],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800258":{"id":"n1819800258","loc":[-85.6192551,41.9414892],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800260":{"id":"n1819800260","loc":[-85.6104253,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800261":{"id":"n1819800261","loc":[-85.6204503,41.9425709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800263":{"id":"n1819800263","loc":[-85.5872194,41.9455431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800264":{"id":"n1819800264","loc":[-85.616176,41.9418244],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800268":{"id":"n1819800268","loc":[-85.6120883,41.9426703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800269":{"id":"n1819800269","loc":[-85.5894547,41.9474946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800272":{"id":"n1819800272","loc":[-85.6209181,41.9425027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800274":{"id":"n1819800274","loc":[-85.6122814,41.9412817],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800276":{"id":"n1819800276","loc":[-85.5895153,41.9452798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800277":{"id":"n1819800277","loc":[-85.5884317,41.9455272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800279":{"id":"n1819800279","loc":[-85.5884103,41.9480966],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800287":{"id":"n1819800287","loc":[-85.5904917,41.9453915],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800288":{"id":"n1819800288","loc":[-85.6212292,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800289":{"id":"n1819800289","loc":[-85.5954377,41.9406832],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800290":{"id":"n1819800290","loc":[-85.593721,41.9420957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800291":{"id":"n1819800291","loc":[-85.6162832,41.9427102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800292":{"id":"n1819800292","loc":[-85.605018,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800293":{"id":"n1819800293","loc":[-85.6086443,41.941146],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800296":{"id":"n1819800296","loc":[-85.6204675,41.9413775],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800297":{"id":"n1819800297","loc":[-85.612496,41.9424947],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800299":{"id":"n1819800299","loc":[-85.6065629,41.9423431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800301":{"id":"n1819800301","loc":[-85.6036125,41.9398452],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800303":{"id":"n1819800303","loc":[-85.6114767,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800306":{"id":"n1819800306","loc":[-85.592616,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800308":{"id":"n1819800308","loc":[-85.6023041,41.9419521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800310":{"id":"n1819800310","loc":[-85.6218944,41.9411061],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800311":{"id":"n1819800311","loc":[-85.6097816,41.941162],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800312":{"id":"n1819800312","loc":[-85.5922549,41.9457869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800313":{"id":"n1819800313","loc":[-85.5986027,41.9417206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800314":{"id":"n1819800314","loc":[-85.5918687,41.946138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800315":{"id":"n1819800315","loc":[-85.5872875,41.948883],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800316":{"id":"n1819800316","loc":[-85.594272,41.9436642],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800317":{"id":"n1819800317","loc":[-85.6176351,41.941577],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800318":{"id":"n1819800318","loc":[-85.6137834,41.9430853],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800319":{"id":"n1819800319","loc":[-85.6195383,41.942622],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"slipway"}},"n1819800320":{"id":"n1819800320","loc":[-85.5971006,41.9398053],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800321":{"id":"n1819800321","loc":[-85.601714,41.9406752],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800322":{"id":"n1819800322","loc":[-85.5908028,41.9453117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800323":{"id":"n1819800323","loc":[-85.6062732,41.9404597],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800324":{"id":"n1819800324","loc":[-85.62124,41.9425905],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800327":{"id":"n1819800327","loc":[-85.6008664,41.942766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800328":{"id":"n1819800328","loc":[-85.6179355,41.9428538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800330":{"id":"n1819800330","loc":[-85.6045566,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800331":{"id":"n1819800331","loc":[-85.5944935,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800333":{"id":"n1819800333","loc":[-85.6088911,41.943181],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800334":{"id":"n1819800334","loc":[-85.5946367,41.943369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800336":{"id":"n1819800336","loc":[-85.6150494,41.9429656],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800343":{"id":"n1819800343","loc":[-85.6096099,41.9433326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800345":{"id":"n1819800345","loc":[-85.5915216,41.9435401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800347":{"id":"n1819800347","loc":[-85.607786,41.9428698],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800349":{"id":"n1819800349","loc":[-85.6187616,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800350":{"id":"n1819800350","loc":[-85.6012527,41.9426064],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800352":{"id":"n1819800352","loc":[-85.6214867,41.9428379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800354":{"id":"n1819800354","loc":[-85.61338,41.94293],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800355":{"id":"n1819800355","loc":[-85.5923156,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800357":{"id":"n1819800357","loc":[-85.5901591,41.9453197],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800359":{"id":"n1819800359","loc":[-85.6033979,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800360":{"id":"n1819800360","loc":[-85.6186543,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800363":{"id":"n1819800363","loc":[-85.6128607,41.9425665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800365":{"id":"n1819800365","loc":[-85.614234,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800367":{"id":"n1819800367","loc":[-85.6089662,41.9410902],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800369":{"id":"n1819800369","loc":[-85.6197379,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800370":{"id":"n1819800370","loc":[-85.6037348,41.941733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800371":{"id":"n1819800371","loc":[-85.5993467,41.9415654],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800372":{"id":"n1819800372","loc":[-85.598077,41.94196],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800373":{"id":"n1819800373","loc":[-85.5984203,41.9394781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800374":{"id":"n1819800374","loc":[-85.6013315,41.9427066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800376":{"id":"n1819800376","loc":[-85.5934673,41.944167],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800378":{"id":"n1819800378","loc":[-85.6011062,41.9407753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800379":{"id":"n1819800379","loc":[-85.6150602,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800380":{"id":"n1819800380","loc":[-85.6132148,41.9412338],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800381":{"id":"n1819800381","loc":[-85.5889038,41.9453835],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n2139966621":{"id":"n2139966621","loc":[-85.6198719,41.9426184],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966622":{"id":"n2139966622","loc":[-85.6197551,41.9426123],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966623":{"id":"n2139966623","loc":[-85.6196467,41.9426279],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966624":{"id":"n2139966624","loc":[-85.6191519,41.9426221],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966625":{"id":"n2139966625","loc":[-85.6194153,41.9426256],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966626":{"id":"n2139966626","loc":[-85.6200497,41.9425812],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966629":{"id":"n2139966629","loc":[-85.6192123,41.9426229],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2203933101":{"id":"n2203933101","loc":[-85.6030009,41.9360592],"version":"1","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:36Z","tags":{}},"w17967539":{"id":"w17967539","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:28Z","tags":{"highway":"residential","name":"1st Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"1st","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335113:15313280","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185963395","n185987021"]},"w17967751":{"id":"w17967751","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:03Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312481:15312487","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980088","n185988961","n185988963","n185963698"]},"w17965088":{"id":"w17965088","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:20Z","tags":{"highway":"residential","name":"9th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314207:15313759:15313772:15313802:15313796:15313781:15314179","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185945133","n185964320","n185964322","n185964324","n185964326","n185964328","n185964329","n185964330","n185964331"]},"w17964467":{"id":"w17964467","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:37Z","tags":{"highway":"residential","name":"Mechanic St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Mechanic","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312501:15312497:15335073","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958030","n185958032","n185958034","n185958036"]},"w134150842":{"id":"w134150842","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"bridge":"yes","highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980090","n185980093"]},"w17966740":{"id":"w17966740","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185977754","n185980075","n185980077","n185980078","n185980079","n185980081","n185980083","n185980085","n185958034","n185980088","n185980090"]},"w170844765":{"id":"w170844765","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{"waterway":"dam"},"nodes":["n1819800304","n1819800232","n1819800325","n1819800188"]},"w17967745":{"id":"w17967745","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:21Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981173","n185967077","n185963099","n185958498","n185988943","n185964331","n185975332"]},"w17968113":{"id":"w17968113","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:09Z","tags":{"highway":"residential","name":"Green St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Green","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314409","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988943","n185991378"]},"w134150833":{"id":"w134150833","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980093","n1475283999","n185963392"]},"w17967935":{"id":"w17967935","version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"name":"Michigan Central Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan Central Railroad","tiger:reviewed":"no"},"nodes":["n185972757","n185990192","n185990194","n185990195","n185990196","n185990198","n185990200","n185990202","n185990204","n185990206","n185990209","n185952239","n185990211","n185990212","n185990213","n185990214","n2203933101","n185973251"]},"w17965993":{"id":"w17965993","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:19Z","tags":{"name":"Conrail Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314180:15314177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185957831","n185972752","n185972754","n185972756","n185972757"]},"w17966211":{"id":"w17966211","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"8th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313757:15313771:15313791:15313794:15313799:15313811:15313814:15313824:15313846:15314618:15313817:15313788:15314178:15324590","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975315","n185975316","n185954490","n185945395","n185975317","n185974509","n185945135","n185975318","n185961186","n185967634","n185975320","n185970833","n185958036","n185975325","n185975326","n185975327","n185975328","n185975330","n185975332"]},"w170844766":{"id":"w170844766","version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819800229","n1819800245","n2139966626","n2139966621","n2139966622","n2139966623","n1819800319","n2139966625","n2139966629","n2139966624","n1819800349","n1819800328","n1819800291","n1819800206","n1819800237","n1819800336","n1819800318","n1819800354","n1819800182","n1819800363","n1819800297","n1819800268","n1819800223","n1819800209","n1819800233","n1819800201","n1819800343","n1819800333","n1819800347","n1819800299","n1819800228","n1819800330","n1819800370","n1819800250","n1819800374","n1819800202","n1819800327","n1819800350","n1819800308","n1819800239","n1819800207","n1819800234","n1819800359","n1819800236","n1819800321","n1819800378","n1819800235","n1819800371","n1819800313","n1819800372","n1819800219","n1819800251","n1819800334","n1819800316","n1819800376","n1819800240","n1819800312","n1819800314","n1819800243","n1819800269","n1819800279","n1819800242","n1819800315","n1819800247","n1819800191","n1819800189","n1819800263","n1819800238","n1819800277","n1819800180","n1819800381","n1819800276","n1819800357","n1819800287","n1819800322","n1819800246","n1819800345","n1819800226","n1819800355","n1819800306","n1819800290","n1819800331","n1819800289","n1819800214","n1819800320","n1819800224","n1819800373","n1819800244","n1819800184","n1819800301","n1819800292","n1819800323","n1819800181","n1819800256","n1819800293","n1819800367","n1819800311","n1819800260","n1819800185","n1819800303","n1819800274","n1819800380","n1819800365","n1819800379","n1819800255","n1819800264","n1819800186","n1819800183","n1819800317","n1819800211","n1819800241","n1819800360","n1819800258","n1819800369","n1819800296","n1819800288","n1819800310","n1819800204","n1819800375","n1819800216","n1819800377","n1819800248","n1819800227","n1819800368","n1819800231","n1819800188","n1819800325","n1819800232","n1819800304","n1819800271","n1819800213","n1819800266","n1819800221","n1819800294","n1819800362","n1819800199","n1819800230","n1819800218","n1819800352","n1819800324","n1819800272","n1819800261","n1819800229"]},"n1875654132":{"id":"n1875654132","loc":[-85.6297439,41.939808],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:36Z","tags":{}},"n1475293263":{"id":"n1475293263","loc":[-85.6296235,41.939922],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n185947850":{"id":"n185947850","loc":[-85.631594,41.942613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:22Z","tags":{}},"n185952745":{"id":"n185952745","loc":[-85.630986,41.941786],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:25Z","tags":{}},"n185972907":{"id":"n185972907","loc":[-85.631797,41.9420055],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972911":{"id":"n185972911","loc":[-85.6309723,41.9411623],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972915":{"id":"n185972915","loc":[-85.6295971,41.939267],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n1475293223":{"id":"n1475293223","loc":[-85.6313962,41.9416114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293231":{"id":"n1475293231","loc":[-85.6318779,41.9415447],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293241":{"id":"n1475293241","loc":[-85.6304613,41.9405499],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293246":{"id":"n1475293246","loc":[-85.6297512,41.9395393],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475293251":{"id":"n1475293251","loc":[-85.6316633,41.9415128],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n2139982404":{"id":"n2139982404","loc":[-85.6313283,41.9413748],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982407":{"id":"n2139982407","loc":[-85.6325545,41.9417787],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982408":{"id":"n2139982408","loc":[-85.6324499,41.9417693],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982409":{"id":"n2139982409","loc":[-85.6324753,41.9416444],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982410":{"id":"n2139982410","loc":[-85.6325814,41.9416538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982411":{"id":"n2139982411","loc":[-85.6319572,41.9413515],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982412":{"id":"n2139982412","loc":[-85.6322925,41.941139],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982413":{"id":"n2139982413","loc":[-85.6323153,41.941153],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982414":{"id":"n2139982414","loc":[-85.6323019,41.9412617],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982415":{"id":"n2139982415","loc":[-85.6323703,41.9412667],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982416":{"id":"n2139982416","loc":[-85.6323555,41.941538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982417":{"id":"n2139982417","loc":[-85.6321343,41.9416777],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982418":{"id":"n2139982418","loc":[-85.6319425,41.9416866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982419":{"id":"n2139982419","loc":[-85.6320303,41.9416941],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982420":{"id":"n2139982420","loc":[-85.6321665,41.9415554],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982421":{"id":"n2139982421","loc":[-85.632412,41.9414164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982422":{"id":"n2139982422","loc":[-85.6324801,41.9413421],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982423":{"id":"n2139982423","loc":[-85.6325023,41.9412585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982424":{"id":"n2139982424","loc":[-85.6324532,41.9411607],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982425":{"id":"n2139982425","loc":[-85.6323502,41.941103],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982426":{"id":"n2139982426","loc":[-85.6322362,41.9411183],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982427":{"id":"n2139982427","loc":[-85.6318941,41.9413551],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982428":{"id":"n2139982428","loc":[-85.6318592,41.9414105],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982429":{"id":"n2139982429","loc":[-85.6320111,41.9415866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982430":{"id":"n2139982430","loc":[-85.632446,41.9413792],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982431":{"id":"n2139982431","loc":[-85.6325112,41.941416],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982432":{"id":"n2139982432","loc":[-85.6325449,41.9416345],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982433":{"id":"n2139982433","loc":[-85.6326122,41.94164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982434":{"id":"n2139982434","loc":[-85.6325954,41.9421966],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982435":{"id":"n2139982435","loc":[-85.6325655,41.9422411],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982436":{"id":"n2139982436","loc":[-85.632515,41.9422564],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982437":{"id":"n2139982437","loc":[-85.6324495,41.94223],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982438":{"id":"n2139982438","loc":[-85.6324009,41.9421743],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982439":{"id":"n2139982439","loc":[-85.6323915,41.9421145],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982440":{"id":"n2139982440","loc":[-85.6320287,41.9418585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982441":{"id":"n2139982441","loc":[-85.6318285,41.9416387],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n1475293258":{"id":"n1475293258","loc":[-85.6318289,41.9415077],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n2168544754":{"id":"n2168544754","loc":[-85.6312814,41.9431198],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544755":{"id":"n2168544755","loc":[-85.6314212,41.9430646],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544756":{"id":"n2168544756","loc":[-85.6313387,41.942949],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544757":{"id":"n2168544757","loc":[-85.6311989,41.9430041],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544758":{"id":"n2168544758","loc":[-85.6311024,41.9429313],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544759":{"id":"n2168544759","loc":[-85.6310087,41.9428087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544760":{"id":"n2168544760","loc":[-85.6313831,41.9426504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544761":{"id":"n2168544761","loc":[-85.6314768,41.9427729],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544762":{"id":"n2168544762","loc":[-85.6306376,41.942809],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544763":{"id":"n2168544763","loc":[-85.6307378,41.9429427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544764":{"id":"n2168544764","loc":[-85.630841,41.9428998],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544765":{"id":"n2168544765","loc":[-85.6307408,41.9427662],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544766":{"id":"n2168544766","loc":[-85.6305404,41.9426029],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544767":{"id":"n2168544767","loc":[-85.6304976,41.9426194],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544768":{"id":"n2168544768","loc":[-85.6305673,41.9427184],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544769":{"id":"n2168544769","loc":[-85.6306164,41.9426984],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544770":{"id":"n2168544770","loc":[-85.6306418,41.9427302],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544771":{"id":"n2168544771","loc":[-85.6306861,41.9427137],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544772":{"id":"n2168544772","loc":[-85.6307146,41.9427537],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544773":{"id":"n2168544773","loc":[-85.6308999,41.9426807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544774":{"id":"n2168544774","loc":[-85.6308429,41.9426053],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544775":{"id":"n2168544775","loc":[-85.6308999,41.9425806],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544776":{"id":"n2168544776","loc":[-85.6308318,41.9424875],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544777":{"id":"n2168544777","loc":[-85.6307732,41.9425087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544778":{"id":"n2168544778","loc":[-85.6307178,41.9424357],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544779":{"id":"n2168544779","loc":[-85.630485,41.942524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2189099387":{"id":"n2189099387","loc":[-85.631203,41.9393371],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099404":{"id":"n2189099404","loc":[-85.6301963,41.9391363],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099405":{"id":"n2189099405","loc":[-85.6304447,41.9391352],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099406":{"id":"n2189099406","loc":[-85.6304463,41.9393391],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099407":{"id":"n2189099407","loc":[-85.6308435,41.9393373],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099408":{"id":"n2189099408","loc":[-85.6308418,41.9391251],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099409":{"id":"n2189099409","loc":[-85.6310929,41.939124],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099410":{"id":"n2189099410","loc":[-85.6310946,41.9393376],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189112720":{"id":"n2189112720","loc":[-85.6314677,41.9412327],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112721":{"id":"n2189112721","loc":[-85.6313337,41.9411397],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112722":{"id":"n2189112722","loc":[-85.6320521,41.9405678],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112723":{"id":"n2189112723","loc":[-85.6321899,41.9406633],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112724":{"id":"n2189112724","loc":[-85.6313229,41.9408344],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112725":{"id":"n2189112725","loc":[-85.6311223,41.9410018],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112726":{"id":"n2189112726","loc":[-85.6313205,41.9411333],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112727":{"id":"n2189112727","loc":[-85.6315211,41.9409659],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112728":{"id":"n2189112728","loc":[-85.6311035,41.9402529],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112729":{"id":"n2189112729","loc":[-85.631226,41.9402107],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112730":{"id":"n2189112730","loc":[-85.6315966,41.9408051],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112731":{"id":"n2189112731","loc":[-85.6314741,41.9408473],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112732":{"id":"n2189112732","loc":[-85.6318114,41.940534],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112733":{"id":"n2189112733","loc":[-85.631588,41.94061],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112734":{"id":"n2189112734","loc":[-85.6314379,41.940366],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112735":{"id":"n2189112735","loc":[-85.6316613,41.94029],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112736":{"id":"n2189112736","loc":[-85.6306214,41.9400415],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112737":{"id":"n2189112737","loc":[-85.6304362,41.9397728],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112738":{"id":"n2189112738","loc":[-85.6305899,41.9397142],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112739":{"id":"n2189112739","loc":[-85.6307751,41.9399828],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112740":{"id":"n2189112740","loc":[-85.6304695,41.9401673],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112741":{"id":"n2189112741","loc":[-85.6301298,41.9396855],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112742":{"id":"n2189112742","loc":[-85.6303016,41.9396184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112743":{"id":"n2189112743","loc":[-85.6306413,41.9401003],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112744":{"id":"n2189112744","loc":[-85.6309656,41.9406189],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112745":{"id":"n2189112745","loc":[-85.6308738,41.940493],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112746":{"id":"n2189112746","loc":[-85.6309333,41.940469],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112747":{"id":"n2189112747","loc":[-85.6307634,41.9402358],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112748":{"id":"n2189112748","loc":[-85.6308798,41.9401889],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112749":{"id":"n2189112749","loc":[-85.6311416,41.940548],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112750":{"id":"n2189112750","loc":[-85.6309577,41.9408708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112751":{"id":"n2189112751","loc":[-85.630874,41.9407777],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112752":{"id":"n2189112752","loc":[-85.6310622,41.9406841],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112753":{"id":"n2189112753","loc":[-85.6311459,41.9407772],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112754":{"id":"n2189112754","loc":[-85.6320308,41.9405747],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112755":{"id":"n2189112755","loc":[-85.6317769,41.9401857],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112756":{"id":"n2189112756","loc":[-85.6313462,41.9401785],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112757":{"id":"n2189112757","loc":[-85.6313423,41.9401199],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112758":{"id":"n2189112758","loc":[-85.6318308,41.9401184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112759":{"id":"n2189112759","loc":[-85.6321154,41.9405433],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112760":{"id":"n2189112760","loc":[-85.6310307,41.941683],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112761":{"id":"n2189112761","loc":[-85.6309808,41.9416078],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112762":{"id":"n2189112762","loc":[-85.6312094,41.9415156],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112763":{"id":"n2189112763","loc":[-85.6312636,41.9415865],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112764":{"id":"n2189112764","loc":[-85.6309384,41.94155],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112765":{"id":"n2189112765","loc":[-85.631156,41.9414619],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112766":{"id":"n2189112766","loc":[-85.6311968,41.94152],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112767":{"id":"n2189112767","loc":[-85.6308946,41.9414851],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112768":{"id":"n2189112768","loc":[-85.6308237,41.9413888],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112769":{"id":"n2189112769","loc":[-85.6309858,41.9413228],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112770":{"id":"n2189112770","loc":[-85.6310567,41.9414192],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112771":{"id":"n2189112771","loc":[-85.6307774,41.9413276],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112772":{"id":"n2189112772","loc":[-85.6309068,41.9412735],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112773":{"id":"n2189112773","loc":[-85.6309531,41.9413347],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112774":{"id":"n2189112774","loc":[-85.6307975,41.9412466],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112775":{"id":"n2189112775","loc":[-85.6307006,41.9411699],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112776":{"id":"n2189112776","loc":[-85.6308289,41.941113],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112777":{"id":"n2189112777","loc":[-85.6308997,41.9412012],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112778":{"id":"n2189112778","loc":[-85.630765,41.9412062],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112779":{"id":"n2189112779","loc":[-85.630739,41.9412177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112780":{"id":"n2189112780","loc":[-85.6305822,41.9410391],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112781":{"id":"n2189112781","loc":[-85.6304117,41.9408177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112782":{"id":"n2189112782","loc":[-85.6305086,41.9407769],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112783":{"id":"n2189112783","loc":[-85.6306779,41.9410044],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112784":{"id":"n2189112784","loc":[-85.6307734,41.9421663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112785":{"id":"n2189112785","loc":[-85.630708,41.9420741],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112786":{"id":"n2189112786","loc":[-85.630863,41.9420133],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112787":{"id":"n2189112787","loc":[-85.6309285,41.9421055],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112788":{"id":"n2189112788","loc":[-85.6307014,41.9420263],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112789":{"id":"n2189112789","loc":[-85.6306648,41.941971],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112790":{"id":"n2189112790","loc":[-85.6307927,41.9419178],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112791":{"id":"n2189112791","loc":[-85.6308366,41.9419696],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112792":{"id":"n2189112792","loc":[-85.6307574,41.9418708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112793":{"id":"n2189112793","loc":[-85.6306288,41.9419231],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112794":{"id":"n2189112794","loc":[-85.6306943,41.9417835],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112795":{"id":"n2189112795","loc":[-85.6305344,41.9418474],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112796":{"id":"n2189112796","loc":[-85.6305981,41.9419355],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189123410":{"id":"n2189123410","loc":[-85.6315476,41.9393801],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123412":{"id":"n2189123412","loc":[-85.6315247,41.9399188],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123415":{"id":"n2189123415","loc":[-85.6316484,41.9400433],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n185945138":{"id":"n185945138","loc":[-85.627073,41.93319],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945142":{"id":"n185945142","loc":[-85.6296891,41.9331674],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185945401":{"id":"n185945401","loc":[-85.6269,41.930199],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185945405":{"id":"n185945405","loc":[-85.6296598,41.9301676],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185956891":{"id":"n185956891","loc":[-85.6251617,41.9255049],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185959979":{"id":"n185959979","loc":[-85.626333,41.928347],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:03Z","tags":{}},"n185959983":{"id":"n185959983","loc":[-85.6296419,41.9283288],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961192":{"id":"n185961192","loc":[-85.627053,41.9352031],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961200":{"id":"n185961200","loc":[-85.6297088,41.9351902],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185963655":{"id":"n185963655","loc":[-85.6296112,41.9273948],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185963665":{"id":"n185963665","loc":[-85.626047,41.92737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:01Z","tags":{}},"n185963688":{"id":"n185963688","loc":[-85.6296503,41.9292199],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963689":{"id":"n185963689","loc":[-85.6296694,41.931157],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963690":{"id":"n185963690","loc":[-85.6296791,41.9321485],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963691":{"id":"n185963691","loc":[-85.6296991,41.9341973],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967638":{"id":"n185967638","loc":[-85.627089,41.9361884],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185972917":{"id":"n185972917","loc":[-85.6293759,41.9388605],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972919":{"id":"n185972919","loc":[-85.6290337,41.9380234],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972921":{"id":"n185972921","loc":[-85.628424,41.936212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185972923":{"id":"n185972923","loc":[-85.628367,41.936029],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185974511":{"id":"n185974511","loc":[-85.627064,41.932169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185977728":{"id":"n185977728","loc":[-85.625605,41.925842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977729":{"id":"n185977729","loc":[-85.625685,41.926163],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977731":{"id":"n185977731","loc":[-85.6257845,41.9264872],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977733":{"id":"n185977733","loc":[-85.62663,41.929251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977734":{"id":"n185977734","loc":[-85.627008,41.930642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977736":{"id":"n185977736","loc":[-85.627029,41.930775],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977738":{"id":"n185977738","loc":[-85.627041,41.930946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977739":{"id":"n185977739","loc":[-85.6270379,41.9311746],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977742":{"id":"n185977742","loc":[-85.627055,41.934206],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977744":{"id":"n185977744","loc":[-85.627084,41.936804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977746":{"id":"n185977746","loc":[-85.627104,41.936914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977748":{"id":"n185977748","loc":[-85.627156,41.937026],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977750":{"id":"n185977750","loc":[-85.6272406,41.9371672],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977752":{"id":"n185977752","loc":[-85.627317,41.93723],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977753":{"id":"n185977753","loc":[-85.627422,41.937312],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977755":{"id":"n185977755","loc":[-85.627754,41.937504],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977757":{"id":"n185977757","loc":[-85.627883,41.937623],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977761":{"id":"n185977761","loc":[-85.627984,41.93773],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n1475283996":{"id":"n1475283996","loc":[-85.6270514,41.9317122],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284004":{"id":"n1475284004","loc":[-85.6278177,41.9342117],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284014":{"id":"n1475284014","loc":[-85.6251877,41.9255913],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284017":{"id":"n1475284017","loc":[-85.6274992,41.9331816],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284021":{"id":"n1475284021","loc":[-85.6297108,41.9353939],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475284027":{"id":"n1475284027","loc":[-85.62811,41.935198],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475284035":{"id":"n1475284035","loc":[-85.626888,41.9311757],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475293245":{"id":"n1475293245","loc":[-85.6286047,41.9367881],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1875654302":{"id":"n1875654302","loc":[-85.6296367,41.927491],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:43Z","tags":{}},"n2189099388":{"id":"n2189099388","loc":[-85.6312007,41.9389988],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099389":{"id":"n2189099389","loc":[-85.6311003,41.9389992],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099390":{"id":"n2189099390","loc":[-85.6310988,41.9387847],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099391":{"id":"n2189099391","loc":[-85.6312165,41.9387843],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099392":{"id":"n2189099392","loc":[-85.6312152,41.9385857],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099393":{"id":"n2189099393","loc":[-85.6310877,41.9385862],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099394":{"id":"n2189099394","loc":[-85.6310858,41.9383161],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099395":{"id":"n2189099395","loc":[-85.6302002,41.9383196],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099396":{"id":"n2189099396","loc":[-85.6302011,41.9384472],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099397":{"id":"n2189099397","loc":[-85.6301018,41.9384476],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099398":{"id":"n2189099398","loc":[-85.6301025,41.9385419],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099399":{"id":"n2189099399","loc":[-85.6299275,41.9385427],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099400":{"id":"n2189099400","loc":[-85.62993,41.9388653],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099401":{"id":"n2189099401","loc":[-85.630107,41.9388645],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099402":{"id":"n2189099402","loc":[-85.6301079,41.9389908],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099403":{"id":"n2189099403","loc":[-85.6301951,41.9389904],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189123382":{"id":"n2189123382","loc":[-85.6336279,41.9354365],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123384":{"id":"n2189123384","loc":[-85.6328492,41.9355177],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123387":{"id":"n2189123387","loc":[-85.6323762,41.9357396],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123388":{"id":"n2189123388","loc":[-85.6315174,41.9358966],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123389":{"id":"n2189123389","loc":[-85.6304331,41.936124],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123390":{"id":"n2189123390","loc":[-85.6302075,41.9364271],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123391":{"id":"n2189123391","loc":[-85.6303458,41.9367953],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123392":{"id":"n2189123392","loc":[-85.6299601,41.9369739],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123393":{"id":"n2189123393","loc":[-85.6299164,41.9374882],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123394":{"id":"n2189123394","loc":[-85.6299455,41.9378022],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123395":{"id":"n2189123395","loc":[-85.6299771,41.9379053],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123396":{"id":"n2189123396","loc":[-85.6301597,41.9379091],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123397":{"id":"n2189123397","loc":[-85.6308042,41.9377913],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123398":{"id":"n2189123398","loc":[-85.6316885,41.9378082],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123399":{"id":"n2189123399","loc":[-85.6316848,41.9380079],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123400":{"id":"n2189123400","loc":[-85.6318449,41.9381161],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123401":{"id":"n2189123401","loc":[-85.6320705,41.9381811],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123402":{"id":"n2189123402","loc":[-85.6321433,41.9383706],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123404":{"id":"n2189123404","loc":[-85.632056,41.9384355],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123406":{"id":"n2189123406","loc":[-85.6317867,41.9384572],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123409":{"id":"n2189123409","loc":[-85.6316572,41.9387281],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123417":{"id":"n2189123417","loc":[-85.6315946,41.93775],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123419":{"id":"n2189123419","loc":[-85.6302641,41.9378393],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"w208640158":{"id":"w208640158","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n2189123379","n2189123382","n2189123384","n2189123387","n2189123388","n2189123389","n2189123390","n2189123391","n2189123392","n2189123393","n2189123394","n2189123395","n2189123396","n2189123419","n2189123397","n2189123417","n2189123398","n2189123399","n2189123400","n2189123401","n2189123402","n2189123404","n2189123406","n2189123409","n2189123410","n2189123412","n2189123415","n1819805722","n1819805861","n1819805887","n1819805760","n1819805641","n1819805632","n2189123379"]},"w134150787":{"id":"w134150787","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972905","n185972907","n1475293223","n185972911","n1475293241","n1475293246","n185972915","n185972917","n185972919","n1475293245","n185972921","n185972923","n1475284027","n1475284004","n1475284017","n1475283996","n1475284035","n1475284014","n185956891"]},"w208639443":{"id":"w208639443","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112720","n2189112721","n2189112722","n2189112723","n2189112720"]},"w17966462":{"id":"w17966462","version":"9","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977728","n185977729","n185977731","n185963665","n185959979","n185977733","n185945401","n185977734","n185977736","n185977738","n185977739","n1475283996","n185974511","n185945138","n185977742","n185961192","n185967638","n185977744","n185977746","n185977748","n185977750","n185977752","n185977753","n185977754","n185977755","n185977757","n185977761","n185958030","n1475293263","n185963698","n185952745","n185947850","n185977762"]},"w203985741":{"id":"w203985741","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"area":"yes","leisure":"park","name":"Conservation Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139982404","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n2139982404"]},"w17963676":{"id":"w17963676","version":"3","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312976","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475293258","n2139982428","n2139982427","n2139982426","n2139982425","n2139982424","n2139982423","n2139982422","n2139982430","n2139982421","n2139982420","n2139982429","n1475293231","n1475293258","n1475293251","n1475293223","n185952745"]},"w203985745":{"id":"w203985745","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"footway"},"nodes":["n2139982430","n2139982431","n2139982432","n2139982433","n2139982434","n2139982435","n2139982436","n2139982437","n2139982438","n2139982439","n2139982440","n2139982441","n1475293231"]},"w208639451":{"id":"w208639451","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112754","n2189112755","n2189112756","n2189112757","n2189112758","n2189112759","n2189112754"]},"w208639452":{"id":"w208639452","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112760","n2189112761","n2189112766","n2189112762","n2189112763","n2189112760"]},"w206805244":{"id":"w206805244","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544766","n2168544767","n2168544768","n2168544769","n2168544770","n2168544771","n2168544772","n2168544773","n2168544774","n2168544775","n2168544776","n2168544777","n2168544778","n2168544779","n2168544766"]},"w208639444":{"id":"w208639444","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112724","n2189112725","n2189112726","n2189112727","n2189112724"]},"w208639450":{"id":"w208639450","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112750","n2189112751","n2189112752","n2189112753","n2189112750"]},"w208639448":{"id":"w208639448","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112740","n2189112741","n2189112742","n2189112743","n2189112740"]},"w208637859":{"id":"w208637859","version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:06Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189099387","n2189099388","n2189099389","n2189099390","n2189099391","n2189099392","n2189099393","n2189099394","n2189099395","n2189099396","n2189099397","n2189099398","n2189099399","n2189099400","n2189099401","n2189099402","n2189099403","n2189099404","n2189099405","n2189099406","n2189099407","n2189099408","n2189099409","n2189099410","n2189099387"]},"w208639453":{"id":"w208639453","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112764","n2189112765","n2189112766","n2189112761","n2189112764"]},"w208639456":{"id":"w208639456","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112774","n2189112778","n2189112779","n2189112775","n2189112776","n2189112777","n2189112774"]},"w208639445":{"id":"w208639445","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112728","n2189112729","n2189112730","n2189112731","n2189112728"]},"w17967776":{"id":"w17967776","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:17Z","tags":{"highway":"residential","name":"5th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312495","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958032","n185988963"]},"w208639461":{"id":"w208639461","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112794","n2189112795","n2189112796","n2189112793","n2189112792"]},"w206805241":{"id":"w206805241","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544754","n2168544755","n2168544756","n2168544757","n2168544754"]},"w208639449":{"id":"w208639449","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112744","n2189112745","n2189112746","n2189112747","n2189112748","n2189112749","n2189112744"]},"w208639455":{"id":"w208639455","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112771","n2189112772","n2189112773","n2189112768","n2189112771"]},"w208639457":{"id":"w208639457","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112780","n2189112781","n2189112782","n2189112783","n2189112780"]},"w208639446":{"id":"w208639446","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112732","n2189112733","n2189112734","n2189112735","n2189112732"]},"w208639454":{"id":"w208639454","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112767","n2189112768","n2189112773","n2189112769","n2189112770","n2189112767"]},"w203985743":{"id":"w203985743","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139982411","n2139982412","n2139982413","n2139982414","n2139982415","n2139982416","n2139982417","n2139982419","n2139982418","n2139982411"]},"w17965023":{"id":"w17965023","version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:10Z","tags":{"highway":"residential","name":"4th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313205","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185963655","n1875654302","n185959983","n185963688","n185945405","n185963689","n185963690","n185945142","n185963691","n185961200","n1475284021","n1475293246","n1875654132","n1475293263"]},"w206805242":{"id":"w206805242","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544758","n2168544759","n2168544760","n2168544761","n2168544758"]},"w208639460":{"id":"w208639460","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112793","n2189112789","n2189112790","n2189112792"]},"w208639447":{"id":"w208639447","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112736","n2189112737","n2189112738","n2189112739","n2189112736"]},"w208639458":{"id":"w208639458","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112784","n2189112785","n2189112786","n2189112787","n2189112784"]},"w203985744":{"id":"w203985744","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service"},"nodes":["n2139982425","n2139982400"]},"w208639459":{"id":"w208639459","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112788","n2189112789","n2189112790","n2189112791","n2189112788"]},"w203985742":{"id":"w203985742","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139982407","n2139982408","n2139982409","n2139982410","n2139982407"]},"w206805243":{"id":"w206805243","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544762","n2168544763","n2168544764","n2168544765","n2168544762"]},"n185959081":{"id":"n185959081","loc":[-85.628469,41.948674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:41Z","tags":{}},"n185967427":{"id":"n185967427","loc":[-85.632054,41.951174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967424":{"id":"n185967424","loc":[-85.6320391,41.9499109],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185968101":{"id":"n185968101","loc":[-85.6308395,41.9511969],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960792":{"id":"n185960792","loc":[-85.632074,41.953707],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961389":{"id":"n185961389","loc":[-85.630935,41.959037],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961391":{"id":"n185961391","loc":[-85.632169,41.959025],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185965395":{"id":"n185965395","loc":[-85.63216,41.959859],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966953":{"id":"n185966953","loc":[-85.630894,41.957428],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966955":{"id":"n185966955","loc":[-85.632122,41.957427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967430":{"id":"n185967430","loc":[-85.632077,41.952453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967432":{"id":"n185967432","loc":[-85.632095,41.954685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967434":{"id":"n185967434","loc":[-85.632121,41.955914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967436":{"id":"n185967436","loc":[-85.632128,41.9583],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967438":{"id":"n185967438","loc":[-85.632187,41.960681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967440":{"id":"n185967440","loc":[-85.632182,41.961493],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185968102":{"id":"n185968102","loc":[-85.630855,41.952452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968104":{"id":"n185968104","loc":[-85.630887,41.953714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968106":{"id":"n185968106","loc":[-85.630883,41.954692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968108":{"id":"n185968108","loc":[-85.630904,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968110":{"id":"n185968110","loc":[-85.630904,41.958058],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968112":{"id":"n185968112","loc":[-85.630952,41.960667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968114":{"id":"n185968114","loc":[-85.630972,41.961495],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968116":{"id":"n185968116","loc":[-85.630962,41.961967],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185978969":{"id":"n185978969","loc":[-85.633214,41.948618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185985812":{"id":"n185985812","loc":[-85.633274,41.951159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185986155":{"id":"n185986155","loc":[-85.633258,41.949893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n2208608826":{"id":"n2208608826","loc":[-85.6339222,41.9486225],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"w17964531":{"id":"w17964531","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:22Z","tags":{"highway":"residential","name":"Willow Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Willow","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313189","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185959079","n185959081"]},"w17967386":{"id":"w17967386","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982195","n185968101","n185967427","n185985812","n185974583"]},"w17965502":{"id":"w17965502","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Elm Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Elm","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185968100","n185968101","n185968102","n185968104","n185968106","n185968108","n185966953","n185968110","n185961389","n185968112","n185968114","n185968116"]},"w17967844":{"id":"w17967844","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185982193","n185967424","n185986155","n185978390"]},"w17966581":{"id":"w17966581","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978967","n185978969","n2208608826","n185971578"]},"w17965402":{"id":"w17965402","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Walnut Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Walnut","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967422","n185967424","n185967427","n185967430","n185960792","n185967432","n185967434","n185966955","n185967436","n185961391","n185965395","n185967438","n185967440"]},"n2199093506":{"id":"n2199093506","loc":[-85.6251879,41.9478322],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093505":{"id":"n2199093505","loc":[-85.6252076,41.9477749],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093504":{"id":"n2199093504","loc":[-85.6252289,41.9477602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093503":{"id":"n2199093503","loc":[-85.625201,41.9477492],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093502":{"id":"n2199093502","loc":[-85.6251682,41.9477066],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093501":{"id":"n2199093501","loc":[-85.6251715,41.947609],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093500":{"id":"n2199093500","loc":[-85.6252125,41.9475639],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093499":{"id":"n2199093499","loc":[-85.6252896,41.9475602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093498":{"id":"n2199093498","loc":[-85.6253027,41.9475334],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093497":{"id":"n2199093497","loc":[-85.6253437,41.9474822],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093496":{"id":"n2199093496","loc":[-85.6254421,41.9474675],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093495":{"id":"n2199093495","loc":[-85.6256503,41.9474944],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093494":{"id":"n2199093494","loc":[-85.6257257,41.9476127],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093493":{"id":"n2199093493","loc":[-85.6257028,41.9477285],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093492":{"id":"n2199093492","loc":[-85.6255339,41.9478102],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093491":{"id":"n2199093491","loc":[-85.6253912,41.9478224],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093490":{"id":"n2199093490","loc":[-85.6253043,41.947859],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093489":{"id":"n2199093489","loc":[-85.6252027,41.9478846],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093458":{"id":"n2199093458","loc":[-85.6246876,41.9486617],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093457":{"id":"n2199093457","loc":[-85.6243127,41.9486583],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093456":{"id":"n2199093456","loc":[-85.624306,41.9490569],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093455":{"id":"n2199093455","loc":[-85.624681,41.9490603],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093514":{"id":"n2199093514","loc":[-85.6236228,41.9496059],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093513":{"id":"n2199093513","loc":[-85.6236231,41.9496997],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093512":{"id":"n2199093512","loc":[-85.623357,41.9497002],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093511":{"id":"n2199093511","loc":[-85.6233567,41.9496136],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093508":{"id":"n2199093508","loc":[-85.6239735,41.9494287],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093507":{"id":"n2199093507","loc":[-85.6239741,41.9496052],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093488":{"id":"n2199093488","loc":[-85.624497,41.9512286],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093487":{"id":"n2199093487","loc":[-85.6244966,41.9511259],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093486":{"id":"n2199093486","loc":[-85.6243151,41.9511263],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093485":{"id":"n2199093485","loc":[-85.6243154,41.951229],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093484":{"id":"n2199093484","loc":[-85.6241205,41.9508665],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093483":{"id":"n2199093483","loc":[-85.624115,41.9505249],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093482":{"id":"n2199093482","loc":[-85.6243149,41.9505231],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093481":{"id":"n2199093481","loc":[-85.6243203,41.9508648],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093480":{"id":"n2199093480","loc":[-85.624393,41.9508668],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093479":{"id":"n2199093479","loc":[-85.6243904,41.9505956],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093478":{"id":"n2199093478","loc":[-85.6246727,41.950594],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093477":{"id":"n2199093477","loc":[-85.624675,41.9508203],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093476":{"id":"n2199093476","loc":[-85.6245097,41.9508212],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093475":{"id":"n2199093475","loc":[-85.6245101,41.9508662],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093474":{"id":"n2199093474","loc":[-85.6241008,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093473":{"id":"n2199093473","loc":[-85.6242442,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093472":{"id":"n2199093472","loc":[-85.6242442,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093471":{"id":"n2199093471","loc":[-85.6243397,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093470":{"id":"n2199093470","loc":[-85.6243417,41.9493511],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093469":{"id":"n2199093469","loc":[-85.6247251,41.9493485],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093468":{"id":"n2199093468","loc":[-85.6247548,41.9504949],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093467":{"id":"n2199093467","loc":[-85.6241214,41.9505017],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093466":{"id":"n2199093466","loc":[-85.6254398,41.950174],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093465":{"id":"n2199093465","loc":[-85.6254412,41.9499872],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093464":{"id":"n2199093464","loc":[-85.6255363,41.9499876],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093463":{"id":"n2199093463","loc":[-85.6255374,41.9498439],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093462":{"id":"n2199093462","loc":[-85.6255638,41.949844],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093461":{"id":"n2199093461","loc":[-85.6255652,41.9496672],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093460":{"id":"n2199093460","loc":[-85.6251823,41.9496656],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093459":{"id":"n2199093459","loc":[-85.6251785,41.9501729],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093510":{"id":"n2199093510","loc":[-85.6229922,41.9496143],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093509":{"id":"n2199093509","loc":[-85.6229915,41.9494306],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n185948903":{"id":"n185948903","loc":[-85.616514,41.947449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955120":{"id":"n185955120","loc":[-85.620103,41.951],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185955143":{"id":"n185955143","loc":[-85.619784,41.94746],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960124":{"id":"n185960124","loc":[-85.615238,41.947468],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:07Z","tags":{}},"n185961362":{"id":"n185961362","loc":[-85.617437,41.947451],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961364":{"id":"n185961364","loc":[-85.61861,41.947456],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961367":{"id":"n185961367","loc":[-85.620088,41.947458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185965105":{"id":"n185965105","loc":[-85.620087,41.94924],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185970220":{"id":"n185970220","loc":[-85.62156,41.948333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185974697":{"id":"n185974697","loc":[-85.6201059,41.950132],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n2138420778":{"id":"n2138420778","loc":[-85.616948,41.9474499],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"w17967535":{"id":"w17967535","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:19Z","tags":{"highway":"residential","name":"10th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"10th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313652:15313654","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185955120","n185986812","n185983141"]},"w209716130":{"id":"w209716130","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093485","n2199093486","n2199093487","n2199093488","n2199093485"]},"w17964788":{"id":"w17964788","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:15Z","tags":{"highway":"residential","name":"6th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313681:15313682:15329115:15329116:15330465:15330466","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960124","n185948903","n2138420778","n185961362","n185961364","n185955143","n185961367","n185961369","n185961371"]},"w17965159":{"id":"w17965159","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"highway":"residential","name":"8th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313660","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965105","n185965108","n185965110"]},"w209716125":{"id":"w209716125","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093459","n2199093460","n2199093461","n2199093462","n2199093463","n2199093464","n2199093465","n2199093466","n2199093459"]},"w17965699":{"id":"w17965699","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:03Z","tags":{"highway":"residential","name":"7th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"7th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313667:15314407","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970220","n185970222","n185970224"]},"w209716132":{"id":"w209716132","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093507","n2199093508","n2199093509","n2199093510","n2199093511","n2199093512","n2199093513","n2199093514","n2199093507"]},"w17966129":{"id":"w17966129","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:41Z","tags":{"highway":"residential","name":"9th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313656","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974697","n185974699"]},"w209716127":{"id":"w209716127","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093475","n2199093476","n2199093477","n2199093478","n2199093479","n2199093480","n2199093475"]},"w209716131":{"id":"w209716131","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","natural":"water","water":"pond"},"nodes":["n2199093489","n2199093490","n2199093491","n2199093492","n2199093493","n2199093494","n2199093495","n2199093496","n2199093497","n2199093498","n2199093499","n2199093500","n2199093501","n2199093502","n2199093503","n2199093504","n2199093505","n2199093506","n2199093489"]},"w209716126":{"id":"w209716126","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093467","n2199093468","n2199093469","n2199093470","n2199093471","n2199093472","n2199093473","n2199093474","n2199093467"]},"w209716124":{"id":"w209716124","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093455","n2199093456","n2199093457","n2199093458","n2199093455"]},"w209716128":{"id":"w209716128","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093481","n2199093482","n2199093483","n2199093484","n2199093481"]},"n185949872":{"id":"n185949872","loc":[-85.643009,41.949264],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949875":{"id":"n185949875","loc":[-85.642598,41.94929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949877":{"id":"n185949877","loc":[-85.642127,41.949382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949881":{"id":"n185949881","loc":[-85.64169,41.949936],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185988165":{"id":"n185988165","loc":[-85.642167,41.947657],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988167":{"id":"n185988167","loc":[-85.642347,41.947662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988169":{"id":"n185988169","loc":[-85.642621,41.947659],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185965019":{"id":"n185965019","loc":[-85.6385084,41.951127],"version":"4","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293248":{"id":"n1475293248","loc":[-85.6386095,41.9512214],"version":"2","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:04Z","tags":{}},"n185962639":{"id":"n185962639","loc":[-85.649669,41.949161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:30Z","tags":{}},"n185962810":{"id":"n185962810","loc":[-85.649907,41.949157],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:34Z","tags":{}},"n185964355":{"id":"n185964355","loc":[-85.637412,41.9511359],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185965021":{"id":"n185965021","loc":[-85.638661,41.952386],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965023":{"id":"n185965023","loc":[-85.638654,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965025":{"id":"n185965025","loc":[-85.638694,41.954649],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965027":{"id":"n185965027","loc":[-85.638724,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185971415":{"id":"n185971415","loc":[-85.644466,41.949246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971417":{"id":"n185971417","loc":[-85.647021,41.949193],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971420":{"id":"n185971420","loc":[-85.648476,41.949169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185979975":{"id":"n185979975","loc":[-85.644429,41.947633],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n185988171":{"id":"n185988171","loc":[-85.645377,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:34Z","tags":{}},"w17963211":{"id":"w17963211","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:23:06Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313193","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185949870","n185949872","n185949875","n185949877","n185949881"]},"w17965839":{"id":"w17965839","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:10Z","tags":{"highway":"residential","name":"Arnold St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Arnold","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327930:15324550:15312304:15324551","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185949870","n185971415","n185971417","n185971420","n185962639","n185962810"]},"w17967618":{"id":"w17967618","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:53:22Z","tags":{"highway":"residential","name":"Pierson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pierson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313265:15312333:15324553","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185967777","n185988165","n185988167","n185988169","n185985824","n185979975","n185988171"]},"w17965149":{"id":"w17965149","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:56Z","tags":{"highway":"residential","name":"Oak St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Oak","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331522","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965019","n1475293248","n185965021","n185965023","n185965025","n185965027"]},"w17966118":{"id":"w17966118","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974583","n185974585","n185964355","n185965019"]},"n2208608800":{"id":"n2208608800","loc":[-85.6354294,41.9486201],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109806":{"id":"n2199109806","loc":[-85.6350474,41.9477884],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109804":{"id":"n2199109804","loc":[-85.6350476,41.9477962],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109802":{"id":"n2199109802","loc":[-85.635002,41.9477969],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109799":{"id":"n2199109799","loc":[-85.6350018,41.9477883],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109797":{"id":"n2199109797","loc":[-85.6349141,41.9477897],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109795":{"id":"n2199109795","loc":[-85.6349131,41.9477535],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109793":{"id":"n2199109793","loc":[-85.6349395,41.9477531],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109791":{"id":"n2199109791","loc":[-85.6349382,41.9477077],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109789":{"id":"n2199109789","loc":[-85.6351236,41.9477049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109787":{"id":"n2199109787","loc":[-85.6351259,41.9477872],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109785":{"id":"n2199109785","loc":[-85.634972,41.9475992],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109783":{"id":"n2199109783","loc":[-85.6349206,41.9475997],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109770":{"id":"n2199109770","loc":[-85.6348499,41.9475461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109768":{"id":"n2199109768","loc":[-85.6348499,41.9475084],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109765":{"id":"n2199109765","loc":[-85.6349241,41.9474569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109763":{"id":"n2199109763","loc":[-85.634967,41.9474564],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109762":{"id":"n2199109762","loc":[-85.6350405,41.9475121],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109761":{"id":"n2199109761","loc":[-85.6350405,41.9475419],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109753":{"id":"n2199109753","loc":[-85.6342443,41.9478391],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109751":{"id":"n2199109751","loc":[-85.6342427,41.9477927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109745":{"id":"n2199109745","loc":[-85.6342439,41.9476859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109743":{"id":"n2199109743","loc":[-85.6342429,41.9476575],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109741":{"id":"n2199109741","loc":[-85.6344615,41.9476533],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109739":{"id":"n2199109739","loc":[-85.6344678,41.9478348],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109737":{"id":"n2199109737","loc":[-85.634416,41.9480059],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109735":{"id":"n2199109735","loc":[-85.6344145,41.9478983],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109733":{"id":"n2199109733","loc":[-85.6342749,41.9478993],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109731":{"id":"n2199109731","loc":[-85.6342753,41.9479272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109729":{"id":"n2199109729","loc":[-85.6342498,41.9479274],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109727":{"id":"n2199109727","loc":[-85.6342505,41.9479762],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109725":{"id":"n2199109725","loc":[-85.6342743,41.947976],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109723":{"id":"n2199109723","loc":[-85.6342747,41.948007],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109721":{"id":"n2199109721","loc":[-85.6343415,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109719":{"id":"n2199109719","loc":[-85.6343391,41.9474973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109717":{"id":"n2199109717","loc":[-85.6343133,41.9474798],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109715":{"id":"n2199109715","loc":[-85.6342874,41.9474737],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109709":{"id":"n2199109709","loc":[-85.6349804,41.94815],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109707":{"id":"n2199109707","loc":[-85.6348915,41.9481505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109705":{"id":"n2199109705","loc":[-85.6348917,41.9481692],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109702":{"id":"n2199109702","loc":[-85.6348522,41.9481694],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109700":{"id":"n2199109700","loc":[-85.6348532,41.9482679],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109698":{"id":"n2199109698","loc":[-85.6348315,41.948268],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109696":{"id":"n2199109696","loc":[-85.6348318,41.9482955],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109694":{"id":"n2199109694","loc":[-85.6349653,41.9482946],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109692":{"id":"n2199109692","loc":[-85.6349656,41.9483211],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109690":{"id":"n2199109690","loc":[-85.634999,41.9483209],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109688":{"id":"n2199109688","loc":[-85.6349987,41.9482947],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109686":{"id":"n2199109686","loc":[-85.6351753,41.9482935],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109684":{"id":"n2199109684","loc":[-85.6351749,41.9482617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109682":{"id":"n2199109682","loc":[-85.6351588,41.9482618],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109680":{"id":"n2199109680","loc":[-85.6351575,41.9481518],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109678":{"id":"n2199109678","loc":[-85.6350671,41.9481524],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109676":{"id":"n2199109676","loc":[-85.6350649,41.9479659],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109674":{"id":"n2199109674","loc":[-85.6349785,41.9479665],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109671":{"id":"n2199109671","loc":[-85.6343069,41.9483263],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109669":{"id":"n2199109669","loc":[-85.6343052,41.9482981],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109658":{"id":"n2199109658","loc":[-85.6343314,41.9480549],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109656":{"id":"n2199109656","loc":[-85.6343305,41.9480461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109654":{"id":"n2199109654","loc":[-85.634435,41.9480468],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109652":{"id":"n2199109652","loc":[-85.6344342,41.9483746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109650":{"id":"n2199109650","loc":[-85.6344629,41.9483727],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109648":{"id":"n2199109648","loc":[-85.6344637,41.9484561],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109645":{"id":"n2199109645","loc":[-85.63443,41.9484567],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109642":{"id":"n2199109642","loc":[-85.6344317,41.948505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n185964352":{"id":"n185964352","loc":[-85.6373958,41.9489943],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185964351":{"id":"n185964351","loc":[-85.637113,41.9486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n2208608825":{"id":"n2208608825","loc":[-85.6354483,41.9494241],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608823":{"id":"n2208608823","loc":[-85.6360418,41.949416],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608821":{"id":"n2208608821","loc":[-85.6360458,41.9495802],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608811":{"id":"n2208608811","loc":[-85.6357458,41.9495843],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608808":{"id":"n2208608808","loc":[-85.6357508,41.9497835],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608806":{"id":"n2208608806","loc":[-85.6354573,41.9497875],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608795":{"id":"n2208608795","loc":[-85.6354595,41.9498778],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109638":{"id":"n2199109638","loc":[-85.6349605,41.949749],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109636":{"id":"n2199109636","loc":[-85.6349605,41.9497639],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109634":{"id":"n2199109634","loc":[-85.6349061,41.94971],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109632":{"id":"n2199109632","loc":[-85.6349048,41.9496569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109630":{"id":"n2199109630","loc":[-85.6348835,41.9496571],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109628":{"id":"n2199109628","loc":[-85.6348829,41.9497103],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109626":{"id":"n2199109626","loc":[-85.635227,41.9497738],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109624":{"id":"n2199109624","loc":[-85.6352184,41.9497787],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109622":{"id":"n2199109622","loc":[-85.6351181,41.9497806],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109620":{"id":"n2199109620","loc":[-85.6351181,41.9497456],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109618":{"id":"n2199109618","loc":[-85.6348842,41.9497651],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109616":{"id":"n2199109616","loc":[-85.6348827,41.9496238],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109615":{"id":"n2199109615","loc":[-85.6351268,41.9496206],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109614":{"id":"n2199109614","loc":[-85.6351261,41.9495891],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109613":{"id":"n2199109613","loc":[-85.6351957,41.9495881],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109612":{"id":"n2199109612","loc":[-85.6351924,41.9494515],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109611":{"id":"n2199109611","loc":[-85.6353997,41.9494488],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109610":{"id":"n2199109610","loc":[-85.6354074,41.9497715],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2189015681":{"id":"n2189015681","loc":[-85.6344229,41.9509639],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015677":{"id":"n2189015677","loc":[-85.634424,41.9507396],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493843":{"id":"n2138493843","loc":[-85.6343935,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493840":{"id":"n2138493840","loc":[-85.634398,41.9506264],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n354002838":{"id":"n354002838","loc":[-85.6345197,41.9510631],"version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{}},"n2114807590":{"id":"n2114807590","loc":[-85.634511,41.9499767],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185964353":{"id":"n185964353","loc":[-85.6374092,41.9498755],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1819849180":{"id":"n1819849180","loc":[-85.6348236,41.94996],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849115":{"id":"n1819849115","loc":[-85.6354372,41.9499538],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819848921":{"id":"n1819848921","loc":[-85.6348439,41.951064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848885":{"id":"n1819848885","loc":[-85.6354575,41.9510578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n185984281":{"id":"n185984281","loc":[-85.638075,41.949872],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n2208608827":{"id":"n2208608827","loc":[-85.6339169,41.9473191],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2199109749":{"id":"n2199109749","loc":[-85.6342082,41.9477934],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109747":{"id":"n2199109747","loc":[-85.6342045,41.9476867],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109713":{"id":"n2199109713","loc":[-85.6342404,41.9474746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109711":{"id":"n2199109711","loc":[-85.6342404,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109673":{"id":"n2199109673","loc":[-85.6340886,41.9483282],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109667":{"id":"n2199109667","loc":[-85.6342403,41.9482988],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109665":{"id":"n2199109665","loc":[-85.6342386,41.9482116],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109662":{"id":"n2199109662","loc":[-85.6340861,41.9482135],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109660":{"id":"n2199109660","loc":[-85.6340802,41.9480562],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109640":{"id":"n2199109640","loc":[-85.6340928,41.9485063],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n354031366":{"id":"n354031366","loc":[-85.6341667,41.9477778],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:25Z","tags":{"amenity":"place_of_worship","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417877","gnis:state_id":"26","name":"Faith Tabernacle Church","religion":"christian"}},"n2189015686":{"id":"n2189015686","loc":[-85.6337798,41.95099],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015684":{"id":"n2189015684","loc":[-85.6337794,41.9509674],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015673":{"id":"n2189015673","loc":[-85.6337501,41.9507457],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015669":{"id":"n2189015669","loc":[-85.6337501,41.9506974],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015665":{"id":"n2189015665","loc":[-85.6339034,41.9506959],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015662":{"id":"n2189015662","loc":[-85.6339015,41.950436],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015658":{"id":"n2189015658","loc":[-85.6334916,41.9504376],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015655":{"id":"n2189015655","loc":[-85.6334939,41.9507558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015650":{"id":"n2189015650","loc":[-85.6334543,41.950756],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015649":{"id":"n2189015649","loc":[-85.633456,41.9509915],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493842":{"id":"n2138493842","loc":[-85.6339937,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493841":{"id":"n2138493841","loc":[-85.6339983,41.9506281],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2114807579":{"id":"n2114807579","loc":[-85.6333644,41.9510682],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807573":{"id":"n2114807573","loc":[-85.6333557,41.9499819],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n354031330":{"id":"n354031330","loc":[-85.6341667,41.9497222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:24Z","tags":{"amenity":"place_of_worship","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417879","gnis:state_id":"26","name":"Trinity Episcopal Church","religion":"christian"}},"n185960794":{"id":"n185960794","loc":[-85.633307,41.9537],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185964357":{"id":"n185964357","loc":[-85.637432,41.952399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964358":{"id":"n185964358","loc":[-85.637452,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964359":{"id":"n185964359","loc":[-85.63746,41.954658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964360":{"id":"n185964360","loc":[-85.637473,41.95592],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964361":{"id":"n185964361","loc":[-85.637468,41.956906],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964362":{"id":"n185964362","loc":[-85.637483,41.958313],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185966957":{"id":"n185966957","loc":[-85.633361,41.957422],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185975351":{"id":"n185975351","loc":[-85.63334,41.9559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:58Z","tags":{}},"n185978784":{"id":"n185978784","loc":[-85.633311,41.954679],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185986157":{"id":"n185986157","loc":[-85.633287,41.952426],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n185986158":{"id":"n185986158","loc":[-85.6333607,41.9582301],"version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"turning_circle"}},"w17965182":{"id":"w17965182","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:17Z","tags":{"highway":"residential","name":"W Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185965289","n2189153241","n185965291"]},"w208627205":{"id":"w208627205","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015649","n2189015650","n2189015655","n2189015658","n2189015662","n2189015665","n2189015669","n2189015673","n2189015677","n2189015681","n2189015684","n2189015686","n2189015649"]},"w209717042":{"id":"w209717042","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"presbyterian","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417878","gnis:state_id":"26","name":"First Presbyterian Church","religion":"christian"},"nodes":["n2199109610","n2199109611","n2199109612","n2199109613","n2199109614","n2199109615","n2199109616","n2199109630","n2199109632","n2199109634","n2199109628","n2199109618","n2199109636","n2199109638","n2199109620","n2199109622","n2199109624","n2199109626","n2199109610"]},"w209717045":{"id":"w209717045","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109711","n2199109713","n2199109715","n2199109717","n2199109719","n2199109721","n2199109711"]},"w209717047":{"id":"w209717047","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109739","n2199109741","n2199109743","n2199109745","n2199109747","n2199109749","n2199109751","n2199109753","n2199109739"]},"w209717044":{"id":"w209717044","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109674","n2199109676","n2199109678","n2199109680","n2199109682","n2199109684","n2199109686","n2199109688","n2199109690","n2199109692","n2199109694","n2199109696","n2199109698","n2199109700","n2199109702","n2199109705","n2199109707","n2199109709","n2199109674"]},"w210822776":{"id":"w210822776","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley","surface":"unpaved"},"nodes":["n2208608795","n2208608806","n2208608825","n2208608800","n2189153241"]},"w210822778":{"id":"w210822778","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley"},"nodes":["n2208608826","n2208608827"]},"w209717050":{"id":"w209717050","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109787","n2199109789","n2199109791","n2199109793","n2199109795","n2199109797","n2199109799","n2199109802","n2199109804","n2199109806","n2199109787"]},"w17965097":{"id":"w17965097","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"Maple Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Maple","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185964351","n185964352","n185964353","n185964355","n185964357","n185964358","n185964359","n185964360","n185964361","n185964362"]},"w17965856":{"id":"w17965856","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"W Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971578","n2208608800","n185971580","n185964351"]},"w17967444":{"id":"w17967444","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"East","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966937","n185978969","n185986155","n185985812","n185986157","n185960794","n185978784","n185975351","n185966957","n185986158"]},"w17967764":{"id":"w17967764","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:14Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312338","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185984017","n185964351"]},"w170848329":{"id":"w170848329","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418164","gnis:state_id":"26","leisure":"park","name":"LaFayette Park","source":"Bing"},"nodes":["n1819849180","n1819849115","n1819848885","n1819848921","n1819849180"]},"w17967208":{"id":"w17967208","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185978390","n2208608795","n185984020","n185964353","n185984281"]},"w17965349":{"id":"w17965349","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185966937","n2208608827","n185965289"]},"w209717049":{"id":"w209717049","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109761","n2199109762","n2199109763","n2199109765","n2199109768","n2199109770","n2199109783","n2199109785","n2199109761"]},"w203841840":{"id":"w203841840","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493840","n2138493841","n2138493842","n2138493843","n2138493840"]},"w209717043":{"id":"w209717043","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"church","denomination":"methodist","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417880","gnis:state_id":"26","name":"First United Methodist Church","religion":"christian"},"nodes":["n2199109640","n2199109642","n2199109645","n2199109648","n2199109650","n2199109652","n2199109654","n2199109656","n2199109658","n2199109660","n2199109662","n2199109665","n2199109667","n2199109669","n2199109671","n2199109673","n2199109640"]},"w201484341":{"id":"w201484341","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"amenity":"school","ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/22/2008","gnis:feature_id":"1624612","gnis:state_id":"26","name":"Hoppin School"},"nodes":["n354002838","n2114807579","n2114807573","n2114807590","n354002838"]},"w209717046":{"id":"w209717046","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109723","n2199109725","n2199109727","n2199109729","n2199109731","n2199109733","n2199109735","n2199109737","n2199109723"]},"w210822777":{"id":"w210822777","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2208608806","n2208608808","n2208608811","n2208608821","n2208608823","n2208608825","n2208608806"]},"n185954965":{"id":"n185954965","loc":[-85.6191189,41.9441922],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185954968":{"id":"n185954968","loc":[-85.6194384,41.9442405],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954970":{"id":"n185954970","loc":[-85.6196543,41.9443252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954972":{"id":"n185954972","loc":[-85.6197862,41.9444539],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n354002931":{"id":"n354002931","loc":[-85.6198991,41.9455269],"version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n354030853":{"id":"n354030853","loc":[-85.6219444,41.9455556],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:19Z","tags":{"amenity":"place_of_worship","ele":"246","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417869","gnis:state_id":"26","name":"Grant Chapel","religion":"christian"}},"n367815963":{"id":"n367815963","loc":[-85.6202778,41.9461111],"version":"1","changeset":"871579","user":"amillar","uid":"28145","visible":"true","timestamp":"2009-03-31T07:45:44Z","tags":{"addr:state":"MI","building":"yes","ele":"247","gnis:county_name":"St. Joseph","gnis:feature_id":"2418176","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"George Washington Carver Community Center","source":"USGS Geonames"}},"n185947331":{"id":"n185947331","loc":[-85.618779,41.943269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947333":{"id":"n185947333","loc":[-85.618795,41.943511],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947336":{"id":"n185947336","loc":[-85.618711,41.94413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947338":{"id":"n185947338","loc":[-85.618704,41.944189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947339":{"id":"n185947339","loc":[-85.618597,41.944337],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947340":{"id":"n185947340","loc":[-85.618485,41.944528],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947343":{"id":"n185947343","loc":[-85.618442,41.944716],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947345":{"id":"n185947345","loc":[-85.618457,41.945107],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947347":{"id":"n185947347","loc":[-85.618296,41.945338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947374":{"id":"n185947374","loc":[-85.616748,41.944453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947375":{"id":"n185947375","loc":[-85.616813,41.944646],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947376":{"id":"n185947376","loc":[-85.616859,41.945196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947377":{"id":"n185947377","loc":[-85.616941,41.945352],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947406":{"id":"n185947406","loc":[-85.618184,41.944227],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947409":{"id":"n185947409","loc":[-85.617911,41.943875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947410":{"id":"n185947410","loc":[-85.617579,41.943682],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947411":{"id":"n185947411","loc":[-85.61713,41.943589],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947412":{"id":"n185947412","loc":[-85.616549,41.943559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947414":{"id":"n185947414","loc":[-85.616482,41.943556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947464":{"id":"n185947464","loc":[-85.616526,41.943788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947466":{"id":"n185947466","loc":[-85.616504,41.944002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948863":{"id":"n185948863","loc":[-85.619017,41.943391],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185948865":{"id":"n185948865","loc":[-85.619059,41.943368],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955022":{"id":"n185955022","loc":[-85.620088,41.945571],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955025":{"id":"n185955025","loc":[-85.620051,41.945505],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955028":{"id":"n185955028","loc":[-85.62001,41.94541],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185980371":{"id":"n185980371","loc":[-85.620982,41.944742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980398":{"id":"n185980398","loc":[-85.621305,41.944782],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980401":{"id":"n185980401","loc":[-85.621174,41.944819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980403":{"id":"n185980403","loc":[-85.621029,41.944871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980405":{"id":"n185980405","loc":[-85.620741,41.945011],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980407":{"id":"n185980407","loc":[-85.620616,41.945085],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980409":{"id":"n185980409","loc":[-85.620506,41.945172],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980411":{"id":"n185980411","loc":[-85.620394,41.945273],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980413":{"id":"n185980413","loc":[-85.620316,41.94536],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980415":{"id":"n185980415","loc":[-85.620257,41.945452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980417":{"id":"n185980417","loc":[-85.620212,41.945535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185985910":{"id":"n185985910","loc":[-85.620101,41.945811],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:41Z","tags":{}},"n185985912":{"id":"n185985912","loc":[-85.620081,41.945937],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n1475283972":{"id":"n1475283972","loc":[-85.6198991,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:45Z","tags":{}},"n1475283982":{"id":"n1475283982","loc":[-85.6195022,41.9433463],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284007":{"id":"n1475284007","loc":[-85.6193037,41.9433383],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284040":{"id":"n1475284040","loc":[-85.6197329,41.9434121],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284044":{"id":"n1475284044","loc":[-85.6198756,41.9435363],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284050":{"id":"n1475284050","loc":[-85.6199689,41.9432106],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284053":{"id":"n1475284053","loc":[-85.6198943,41.9432921],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n185954974":{"id":"n185954974","loc":[-85.6198296,41.94473],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954977":{"id":"n185954977","loc":[-85.6200474,41.9447384],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2196831365":{"id":"n2196831365","loc":[-85.6202259,41.9460883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831366":{"id":"n2196831366","loc":[-85.6202245,41.9458642],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831367":{"id":"n2196831367","loc":[-85.6205184,41.9458631],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831368":{"id":"n2196831368","loc":[-85.6205189,41.9459437],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831369":{"id":"n2196831369","loc":[-85.6203879,41.9459441],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831370":{"id":"n2196831370","loc":[-85.6203888,41.9460878],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831371":{"id":"n2196831371","loc":[-85.6184046,41.9465663],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831372":{"id":"n2196831372","loc":[-85.6191563,41.9465618],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831373":{"id":"n2196831373","loc":[-85.6191536,41.946319],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831374":{"id":"n2196831374","loc":[-85.6187356,41.9463216],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831375":{"id":"n2196831375","loc":[-85.6187334,41.9461197],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831376":{"id":"n2196831376","loc":[-85.6193167,41.9461162],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831377":{"id":"n2196831377","loc":[-85.6193156,41.9460229],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831378":{"id":"n2196831378","loc":[-85.619622,41.946021],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831379":{"id":"n2196831379","loc":[-85.6196237,41.9461712],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831380":{"id":"n2196831380","loc":[-85.6197702,41.9461703],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831381":{"id":"n2196831381","loc":[-85.6197685,41.9460202],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831382":{"id":"n2196831382","loc":[-85.6197323,41.9460204],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831383":{"id":"n2196831383","loc":[-85.6197305,41.9458563],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831384":{"id":"n2196831384","loc":[-85.6196165,41.945857],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831385":{"id":"n2196831385","loc":[-85.6196156,41.9457764],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831386":{"id":"n2196831386","loc":[-85.6194472,41.9457775],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831387":{"id":"n2196831387","loc":[-85.6194151,41.9457777],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831388":{"id":"n2196831388","loc":[-85.6183779,41.9457883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831389":{"id":"n2196831389","loc":[-85.6183842,41.9461317],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831390":{"id":"n2196831390","loc":[-85.6185026,41.9461304],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831391":{"id":"n2196831391","loc":[-85.6185061,41.9463194],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831392":{"id":"n2196831392","loc":[-85.6184001,41.9463205],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831393":{"id":"n2196831393","loc":[-85.6182482,41.9464163],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831394":{"id":"n2196831394","loc":[-85.6182467,41.9463193],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831395":{"id":"n2196831395","loc":[-85.6180389,41.946321],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831397":{"id":"n2196831397","loc":[-85.6180404,41.946418],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947303":{"id":"n185947303","loc":[-85.611074,41.943389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947304":{"id":"n185947304","loc":[-85.611332,41.943267],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947305":{"id":"n185947305","loc":[-85.611635,41.943218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947306":{"id":"n185947306","loc":[-85.612762,41.943311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947308":{"id":"n185947308","loc":[-85.613027,41.943327],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947310":{"id":"n185947310","loc":[-85.615377,41.942996],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947312":{"id":"n185947312","loc":[-85.615701,41.943007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947314":{"id":"n185947314","loc":[-85.61604,41.943067],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947315":{"id":"n185947315","loc":[-85.61626,41.943083],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947316":{"id":"n185947316","loc":[-85.616507,41.943048],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947319":{"id":"n185947319","loc":[-85.616702,41.94299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947321":{"id":"n185947321","loc":[-85.617078,41.942918],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947322":{"id":"n185947322","loc":[-85.617366,41.942973],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947323":{"id":"n185947323","loc":[-85.617601,41.943033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947325":{"id":"n185947325","loc":[-85.617799,41.943027],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947327":{"id":"n185947327","loc":[-85.618264,41.942961],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947328":{"id":"n185947328","loc":[-85.618508,41.942972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947329":{"id":"n185947329","loc":[-85.618707,41.943076],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947361":{"id":"n185947361","loc":[-85.615356,41.944922],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947363":{"id":"n185947363","loc":[-85.61536,41.944893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947365":{"id":"n185947365","loc":[-85.615406,41.944547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947367":{"id":"n185947367","loc":[-85.61548,41.944351],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947369":{"id":"n185947369","loc":[-85.615805,41.94419],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947371":{"id":"n185947371","loc":[-85.616166,41.944156],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947373":{"id":"n185947373","loc":[-85.616411,41.944197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947416":{"id":"n185947416","loc":[-85.616335,41.94343],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947417":{"id":"n185947417","loc":[-85.616069,41.943293],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947419":{"id":"n185947419","loc":[-85.615803,41.943249],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947420":{"id":"n185947420","loc":[-85.615524,41.943342],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947421":{"id":"n185947421","loc":[-85.615311,41.94353],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947422":{"id":"n185947422","loc":[-85.614338,41.943558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947423":{"id":"n185947423","loc":[-85.61422,41.94369],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947425":{"id":"n185947425","loc":[-85.614221,41.944224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947427":{"id":"n185947427","loc":[-85.614198,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947429":{"id":"n185947429","loc":[-85.614221,41.945439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947468":{"id":"n185947468","loc":[-85.615908,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947470":{"id":"n185947470","loc":[-85.615871,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947472":{"id":"n185947472","loc":[-85.615878,41.94507],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185955153":{"id":"n185955153","loc":[-85.620087,41.947701],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960690":{"id":"n185960690","loc":[-85.620141,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978817":{"id":"n185978817","loc":[-85.617193,41.954706],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185985916":{"id":"n185985916","loc":[-85.620088,41.94758],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985918":{"id":"n185985918","loc":[-85.620133,41.951538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985919":{"id":"n185985919","loc":[-85.62013,41.952104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985920":{"id":"n185985920","loc":[-85.620104,41.952305],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985921":{"id":"n185985921","loc":[-85.620062,41.952499],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985922":{"id":"n185985922","loc":[-85.619993,41.952702],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985925":{"id":"n185985925","loc":[-85.619879,41.952986],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985927":{"id":"n185985927","loc":[-85.619689,41.95329],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985928":{"id":"n185985928","loc":[-85.619508,41.953521],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985929":{"id":"n185985929","loc":[-85.619286,41.953728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985930":{"id":"n185985930","loc":[-85.618925,41.954007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985931":{"id":"n185985931","loc":[-85.618638,41.954189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985932":{"id":"n185985932","loc":[-85.61831,41.954358],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985934":{"id":"n185985934","loc":[-85.618015,41.954485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n185985936":{"id":"n185985936","loc":[-85.617606,41.954611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n1475283975":{"id":"n1475283975","loc":[-85.6150935,41.9434118],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283979":{"id":"n1475283979","loc":[-85.6193367,41.9430252],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283989":{"id":"n1475283989","loc":[-85.6104771,41.9455269],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283990":{"id":"n1475283990","loc":[-85.6104771,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283994":{"id":"n1475283994","loc":[-85.6198042,41.9429763],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283998":{"id":"n1475283998","loc":[-85.6192101,41.9426716],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284000":{"id":"n1475284000","loc":[-85.6198622,41.942836],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284002":{"id":"n1475284002","loc":[-85.6163262,41.9427688],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284006":{"id":"n1475284006","loc":[-85.6179527,41.9429168],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284029":{"id":"n1475284029","loc":[-85.6197195,41.9427278],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284038":{"id":"n1475284038","loc":[-85.6194405,41.9427837],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284052":{"id":"n1475284052","loc":[-85.6153225,41.942841],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284055":{"id":"n1475284055","loc":[-85.6129233,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n2139966627":{"id":"n2139966627","loc":[-85.61958,41.9427558],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"w17966773":{"id":"w17966773","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:43Z","tags":{"highway":"secondary","name":"E Michigan Ave","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313712","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980398","n185980401","n185980403","n185980405","n185980407","n185980409","n185980411","n185980413","n185980415","n185980417","n185955019"]},"w17964043":{"id":"w17964043","version":"3","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:19Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326065:15326068","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955019","n185955022","n185955025","n185955028","n185954977","n185971477","n1475284050","n1475284000","n1475284029","n2139966627","n1475284038"]},"w17962834":{"id":"w17962834","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313719:15313728:15331618","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947316","n185947414","n185947464","n185947466","n185947373","n185947468","n185947470","n185947472","n185947474"]},"w209470310":{"id":"w209470310","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831393","n2196831394","n2196831395","n2196831397","n2196831393"]},"w17963058":{"id":"w17963058","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:05Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326058:15326066:15326067","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947333","n185948863","n185948865","n1475284007","n1475283982","n1475284040","n1475284044"]},"w17962823":{"id":"w17962823","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313714:15313704:15313720:15313721","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947359","n185947361","n185947363","n185947365","n185947367","n185947369","n185947371","n185947373","n185947374","n185947375","n185947376","n185947377","n185947378"]},"w17962821":{"id":"w17962821","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313713:15313734:15313731:15313735:15313737:15313723","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947303","n185947304","n185947305","n185947306","n185947308","n185947310","n185947312","n185947314","n185947315","n185947316","n185947319","n185947321","n185947322","n185947323","n185947325","n185947327","n185947328","n185947329","n185947331","n185947333","n185947336","n185947338","n185947339","n185947340","n185947343","n185947345","n185947347","n185947349"]},"w134150798":{"id":"w134150798","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:52Z","tags":{"amenity":"grave_yard","ele":"249","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624862","gnis:state_id":"26","name":"Riverside Cemetery"},"nodes":["n354002931","n1475283972","n1475284053","n1475283994","n1475283979","n1475283998","n1475284006","n1475284002","n1475284052","n1475283975","n1475284055","n1475283990","n1475283989","n354002931"]},"w17964040":{"id":"w17964040","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:02Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326063:15326064","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947336","n185954965","n185954968","n185954970","n185954972","n185954974","n185954977"]},"w209470308":{"id":"w209470308","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831365","n2196831366","n2196831367","n2196831368","n2196831369","n2196831370","n2196831365"]},"w17962828":{"id":"w17962828","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313715:15313706:15328746:15313727:15313729","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947340","n185947406","n185947409","n185947410","n185947411","n185947412","n185947414","n185947416","n185947417","n185947419","n185947420","n185947421","n185947422","n185947423","n185947425","n185947427","n185947429"]},"w209470309":{"id":"w209470309","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831371","n2196831372","n2196831373","n2196831374","n2196831375","n2196831376","n2196831377","n2196831378","n2196831379","n2196831380","n2196831381","n2196831382","n2196831383","n2196831384","n2196831385","n2196831386","n2196831387","n2196831388","n2196831389","n2196831390","n2196831391","n2196831392","n2196831371"]},"w17967415":{"id":"w17967415","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:41Z","tags":{"highway":"secondary","name":"Jefferson St","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Jefferson","tiger:name_base_1":"State Highway 60","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313637:15313662:15313657:15328403","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185955019","n185985910","n185985912","n185985914","n185961367","n185985916","n185955153","n185965105","n185974697","n185955120","n185985918","n185960690","n185985919","n185985920","n185985921","n185985922","n185985925","n185985927","n185985928","n185985929","n185985930","n185985931","n185985932","n185985934","n185985936","n185978817"]},"w17966772":{"id":"w17966772","version":"4","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"unclassified","name":"E Michigan Ave","name_1":"State Highway 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313710:15313711:15314052:15312385:15312378","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954977","n185980371","n185980372"]},"n185958500":{"id":"n185958500","loc":[-85.621591,41.941075],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185963110":{"id":"n185963110","loc":[-85.6204416,41.9408882],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n2139966628":{"id":"n2139966628","loc":[-85.6196431,41.9426467],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"fishing"}},"n2139966630":{"id":"n2139966630","loc":[-85.6199354,41.9429616],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2199127051":{"id":"n2199127051","loc":[-85.6170556,41.939696],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127052":{"id":"n2199127052","loc":[-85.6170536,41.9392909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127053":{"id":"n2199127053","loc":[-85.6172067,41.9392905],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127054":{"id":"n2199127054","loc":[-85.6172061,41.9391853],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127055":{"id":"n2199127055","loc":[-85.6171481,41.9391854],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127060":{"id":"n2199127060","loc":[-85.6167389,41.9392896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127061":{"id":"n2199127061","loc":[-85.6168728,41.9392892],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127062":{"id":"n2199127062","loc":[-85.6168747,41.9396965],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127071":{"id":"n2199127071","loc":[-85.620196,41.9399446],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127072":{"id":"n2199127072","loc":[-85.620193,41.9397316],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127073":{"id":"n2199127073","loc":[-85.6200381,41.9397328],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127074":{"id":"n2199127074","loc":[-85.6200412,41.9399458],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127075":{"id":"n2199127075","loc":[-85.6203606,41.9399939],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127076":{"id":"n2199127076","loc":[-85.6205527,41.9399922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127077":{"id":"n2199127077","loc":[-85.6205482,41.9397115],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127078":{"id":"n2199127078","loc":[-85.6204132,41.9397124],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127079":{"id":"n2199127079","loc":[-85.6204144,41.9396341],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127080":{"id":"n2199127080","loc":[-85.6205699,41.9396324],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127081":{"id":"n2199127081","loc":[-85.6205722,41.939498],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127082":{"id":"n2199127082","loc":[-85.6204064,41.9394997],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127083":{"id":"n2199127083","loc":[-85.6204087,41.939561],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127084":{"id":"n2199127084","loc":[-85.6203103,41.9395618],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127085":{"id":"n2199127085","loc":[-85.620308,41.9396069],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127086":{"id":"n2199127086","loc":[-85.6200347,41.9396086],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127087":{"id":"n2199127087","loc":[-85.6200382,41.9397141],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127088":{"id":"n2199127088","loc":[-85.6202257,41.9397149],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127089":{"id":"n2199127089","loc":[-85.6202269,41.9399182],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127090":{"id":"n2199127090","loc":[-85.6203595,41.9399199],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127091":{"id":"n2199127091","loc":[-85.6212335,41.939688],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127092":{"id":"n2199127092","loc":[-85.6212328,41.939595],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127093":{"id":"n2199127093","loc":[-85.6208807,41.9395966],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127094":{"id":"n2199127094","loc":[-85.6208815,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127095":{"id":"n2199127095","loc":[-85.6208676,41.9396872],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127096":{"id":"n2199127096","loc":[-85.6208583,41.9393539],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127097":{"id":"n2199127097","loc":[-85.6207006,41.9393563],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127098":{"id":"n2199127098","loc":[-85.6207099,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n185967054":{"id":"n185967054","loc":[-85.6173384,41.9356126],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967063":{"id":"n185967063","loc":[-85.617371,41.936243],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967065":{"id":"n185967065","loc":[-85.617337,41.936299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967068":{"id":"n185967068","loc":[-85.617321,41.936373],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967070":{"id":"n185967070","loc":[-85.6173562,41.9366969],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967074":{"id":"n185967074","loc":[-85.6173635,41.9377414],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967075":{"id":"n185967075","loc":[-85.6173696,41.9381886],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185967076":{"id":"n185967076","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n2199127056":{"id":"n2199127056","loc":[-85.617147,41.9389616],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127057":{"id":"n2199127057","loc":[-85.6172136,41.9389614],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127058":{"id":"n2199127058","loc":[-85.6172123,41.9386909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127059":{"id":"n2199127059","loc":[-85.616736,41.9386922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2203921041":{"id":"n2203921041","loc":[-85.6173018,41.9346369],"version":"1","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"w203983952":{"id":"w203983952","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"highway":"service"},"nodes":["n2139966627","n1819800319"]},"w209718301":{"id":"w209718301","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127051","n2199127052","n2199127053","n2199127054","n2199127055","n2199127056","n2199127057","n2199127058","n2199127059","n2199127060","n2199127061","n2199127062","n2199127051"]},"w209718304":{"id":"w209718304","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127071","n2199127072","n2199127073","n2199127074","n2199127071"]},"w17964961":{"id":"w17964961","version":"2","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"highway":"residential","name":"Whipple St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Whipple","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185963099","n185963110"]},"w17964489":{"id":"w17964489","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:56Z","tags":{"highway":"residential","name":"Jackson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Jackson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314430","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958498","n185958500"]},"w203983953":{"id":"w203983953","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"area":"yes","leisure":"park","name":"Marina Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n1475283994","n1475283979","n1475283998","n2139966629","n2139966625","n1819800319","n2139966623","n2139966622","n2139966621","n2139966630","n1475283994"]},"w17965366":{"id":"w17965366","version":"2","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{"highway":"residential","name":"14th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"14th","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n2203921041","n185967054","n185967063","n185967065","n185967068","n185967070","n185967074","n185967075","n185967076","n185967077"]},"w209718306":{"id":"w209718306","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127091","n2199127092","n2199127093","n2199127094","n2199127091"]},"w209718307":{"id":"w209718307","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127095","n2199127096","n2199127097","n2199127098","n2199127095"]},"w209718305":{"id":"w209718305","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127075","n2199127076","n2199127077","n2199127078","n2199127079","n2199127080","n2199127081","n2199127082","n2199127083","n2199127084","n2199127085","n2199127086","n2199127087","n2199127088","n2199127089","n2199127090","n2199127075"]},"n185960199":{"id":"n185960199","loc":[-85.62965,41.95469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:08Z","tags":{}},"n185980737":{"id":"n185980737","loc":[-85.629083,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:48Z","tags":{}},"n2114807561":{"id":"n2114807561","loc":[-85.6297681,41.9524688],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807597":{"id":"n2114807597","loc":[-85.6296517,41.952563],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185960197":{"id":"n185960197","loc":[-85.629676,41.9537314],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978791":{"id":"n185978791","loc":[-85.6244542,41.9547066],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"w17967573":{"id":"w17967573","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"E Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960195","n2114807561","n185968102","n185967430","n185986157","n185978392"]},"w17966553":{"id":"w17966553","version":"5","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971631","n185978784","n185967432","n185968106","n185960199","n185978787","n185978790","n185978791"]},"w17966787":{"id":"w17966787","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"East Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185980735","n185980737","n185960197","n185968104","n185960792"]},"w17964723":{"id":"w17964723","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960792","n185960794","n185960796"]},"w17964654":{"id":"w17964654","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Pine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960195","n2114807597","n185960197","n185960199"]},"n1819848862":{"id":"n1819848862","loc":[-85.6346087,41.9545845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848935":{"id":"n1819848935","loc":[-85.6345948,41.9537717],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848973":{"id":"n1819848973","loc":[-85.6334247,41.9537827],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848997":{"id":"n1819848997","loc":[-85.6334386,41.9545956],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n2189015861":{"id":"n2189015861","loc":[-85.6375906,41.954836],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015865":{"id":"n2189015865","loc":[-85.6383307,41.9548291],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015867":{"id":"n2189015867","loc":[-85.6383337,41.9550072],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015868":{"id":"n2189015868","loc":[-85.6380986,41.9550094],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015869":{"id":"n2189015869","loc":[-85.6381005,41.9551226],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109808":{"id":"n2199109808","loc":[-85.6372702,41.9522894],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109810":{"id":"n2199109810","loc":[-85.6372677,41.9521583],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109812":{"id":"n2199109812","loc":[-85.6369505,41.9521617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109814":{"id":"n2199109814","loc":[-85.636953,41.9522927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185952156":{"id":"n185952156","loc":[-85.640983,41.9546557],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185953423":{"id":"n185953423","loc":[-85.641871,41.954652],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971637":{"id":"n185971637","loc":[-85.641583,41.95465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971639":{"id":"n185971639","loc":[-85.6421344,41.9546444],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971642":{"id":"n185971642","loc":[-85.6428264,41.9545612],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971648":{"id":"n185971648","loc":[-85.6436023,41.9544262],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185975066":{"id":"n185975066","loc":[-85.640532,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975067":{"id":"n185975067","loc":[-85.64079,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185982166":{"id":"n185982166","loc":[-85.6399012,41.9523817],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n2189015858":{"id":"n2189015858","loc":[-85.6376104,41.9560138],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015870":{"id":"n2189015870","loc":[-85.6386794,41.9551172],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015871":{"id":"n2189015871","loc":[-85.6386817,41.955256],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015873":{"id":"n2189015873","loc":[-85.6385437,41.9552573],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015876":{"id":"n2189015876","loc":[-85.638555,41.9559278],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015879":{"id":"n2189015879","loc":[-85.6384954,41.9559283],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015882":{"id":"n2189015882","loc":[-85.6384965,41.9559935],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015885":{"id":"n2189015885","loc":[-85.6383533,41.9559949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015888":{"id":"n2189015888","loc":[-85.638351,41.9558607],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015891":{"id":"n2189015891","loc":[-85.6382178,41.9558619],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015894":{"id":"n2189015894","loc":[-85.6382203,41.956008],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627223":{"id":"w208627223","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015858","n2189015861","n2189015865","n2189015867","n2189015868","n2189015869","n2189015870","n2189015871","n2189015873","n2189015876","n2189015879","n2189015882","n2189015885","n2189015888","n2189015891","n2189015894","n2189015858"]},"w170848328":{"id":"w170848328","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624408","gnis:state_id":"26","leisure":"park","name":"Bowman Park","source":"Bing"},"nodes":["n1819848935","n1819848973","n1819848997","n1819848862","n1819848935"]},"w17965866":{"id":"w17965866","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185971631","n185971632","n185964359","n185965025","n1475293264","n185952156","n185971637","n185953423","n185971639","n185971642","n185971648"]},"w209717051":{"id":"w209717051","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"baptist","ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417886","gnis:state_id":"26","name":"Calvary Missionary Baptist Church","religion":"christian"},"nodes":["n2199109808","n2199109810","n2199109812","n2199109814","n2199109808"]},"w17966172":{"id":"w17966172","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960796","n185975064","n185964358","n185965023","n1475293222","n185975066","n185975067"]},"w17966975":{"id":"w17966975","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:06Z","tags":{"highway":"residential","name":"W Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312250:15312254","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978392","n185982163","n185964357","n185965021","n1475293261","n185982166"]},"n185960684":{"id":"n185960684","loc":[-85.622687,41.951885],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185960686":{"id":"n185960686","loc":[-85.622492,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978795":{"id":"n185978795","loc":[-85.6240991,41.954708],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978803":{"id":"n185978803","loc":[-85.623348,41.954547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978806":{"id":"n185978806","loc":[-85.623123,41.954502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978808":{"id":"n185978808","loc":[-85.622923,41.954469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978810":{"id":"n185978810","loc":[-85.622787,41.954457],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978811":{"id":"n185978811","loc":[-85.622612,41.954458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978813":{"id":"n185978813","loc":[-85.622368,41.954472],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n1819790545":{"id":"n1819790545","loc":[-85.6240295,41.9548949],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790621":{"id":"n1819790621","loc":[-85.6235789,41.954855],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790664":{"id":"n1819790664","loc":[-85.6238363,41.9549507],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790683":{"id":"n1819790683","loc":[-85.6224727,41.9545921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790730":{"id":"n1819790730","loc":[-85.6227527,41.9545795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790740":{"id":"n1819790740","loc":[-85.6240402,41.9550784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790831":{"id":"n1819790831","loc":[-85.624126,41.9549986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790861":{"id":"n1819790861","loc":[-85.6231712,41.9546872],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790887":{"id":"n1819790887","loc":[-85.6242762,41.955206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n2168544739":{"id":"n2168544739","loc":[-85.6249102,41.952801],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544740":{"id":"n2168544740","loc":[-85.6251859,41.9527564],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544741":{"id":"n2168544741","loc":[-85.6255515,41.9527921],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544742":{"id":"n2168544742","loc":[-85.626001,41.9529481],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544743":{"id":"n2168544743","loc":[-85.6265284,41.9529838],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544744":{"id":"n2168544744","loc":[-85.626942,41.9528857],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544745":{"id":"n2168544745","loc":[-85.6270918,41.9526851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544746":{"id":"n2168544746","loc":[-85.6272117,41.95244],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544747":{"id":"n2168544747","loc":[-85.6271578,41.952226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544748":{"id":"n2168544748","loc":[-85.6270019,41.9519719],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544749":{"id":"n2168544749","loc":[-85.6268221,41.9518382],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544750":{"id":"n2168544750","loc":[-85.6265284,41.951807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544751":{"id":"n2168544751","loc":[-85.6256534,41.9518516],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544752":{"id":"n2168544752","loc":[-85.6253477,41.9518338],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544753":{"id":"n2168544753","loc":[-85.6251139,41.9517669],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n185955747":{"id":"n185955747","loc":[-85.620674,41.954709],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185960688":{"id":"n185960688","loc":[-85.621032,41.951913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185972054":{"id":"n185972054","loc":[-85.6186728,41.9547335],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185978814":{"id":"n185978814","loc":[-85.6201708,41.9547403],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n1819790532":{"id":"n1819790532","loc":[-85.6244908,41.9555731],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790536":{"id":"n1819790536","loc":[-85.6217925,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790538":{"id":"n1819790538","loc":[-85.6233954,41.9600014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790539":{"id":"n1819790539","loc":[-85.6204611,41.9562117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790546":{"id":"n1819790546","loc":[-85.6210898,41.9567657],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790548":{"id":"n1819790548","loc":[-85.6202465,41.9562237],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790550":{"id":"n1819790550","loc":[-85.6250165,41.9560677],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790551":{"id":"n1819790551","loc":[-85.6227946,41.9597023],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790553":{"id":"n1819790553","loc":[-85.6215726,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790556":{"id":"n1819790556","loc":[-85.6196306,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790557":{"id":"n1819790557","loc":[-85.6209503,41.9563109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790558":{"id":"n1819790558","loc":[-85.6196939,41.9574085],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790561":{"id":"n1819790561","loc":[-85.621079,41.957751],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790562":{"id":"n1819790562","loc":[-85.6224255,41.9611417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790565":{"id":"n1819790565","loc":[-85.6232506,41.9604841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790566":{"id":"n1819790566","loc":[-85.6190835,41.9562909],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790567":{"id":"n1819790567","loc":[-85.622227,41.9593028],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790569":{"id":"n1819790569","loc":[-85.620976,41.9591039],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790571":{"id":"n1819790571","loc":[-85.6212078,41.9565303],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790572":{"id":"n1819790572","loc":[-85.6235306,41.9595102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790581":{"id":"n1819790581","loc":[-85.6235563,41.9579351],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790584":{"id":"n1819790584","loc":[-85.6230371,41.9574598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790586":{"id":"n1819790586","loc":[-85.6211748,41.9564272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790588":{"id":"n1819790588","loc":[-85.6226508,41.9601086],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790591":{"id":"n1819790591","loc":[-85.6218032,41.9607468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790593":{"id":"n1819790593","loc":[-85.6207915,41.9618735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790596":{"id":"n1819790596","loc":[-85.6252955,41.9567858],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790598":{"id":"n1819790598","loc":[-85.6196618,41.9568939],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790600":{"id":"n1819790600","loc":[-85.6224416,41.9587084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790602":{"id":"n1819790602","loc":[-85.6217442,41.9558641],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790603":{"id":"n1819790603","loc":[-85.6213355,41.9592116],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790604":{"id":"n1819790604","loc":[-85.622801,41.9573042],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790608":{"id":"n1819790608","loc":[-85.6199729,41.9574325],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790610":{"id":"n1819790610","loc":[-85.6195555,41.9557165],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790611":{"id":"n1819790611","loc":[-85.622978,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790613":{"id":"n1819790613","loc":[-85.6253963,41.9562636],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790614":{"id":"n1819790614","loc":[-85.6235252,41.9580342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790616":{"id":"n1819790616","loc":[-85.6232988,41.9596305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790617":{"id":"n1819790617","loc":[-85.6226776,41.9598732],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790619":{"id":"n1819790619","loc":[-85.625553,41.9561794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790620":{"id":"n1819790620","loc":[-85.6235574,41.959231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790624":{"id":"n1819790624","loc":[-85.6228429,41.9573726],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790626":{"id":"n1819790626","loc":[-85.6193785,41.9556766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790628":{"id":"n1819790628","loc":[-85.620092,41.9554253],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790630":{"id":"n1819790630","loc":[-85.6226658,41.9604402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790638":{"id":"n1819790638","loc":[-85.6219964,41.9602561],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790640":{"id":"n1819790640","loc":[-85.6232731,41.9599969],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790643":{"id":"n1819790643","loc":[-85.6247698,41.9568895],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790650":{"id":"n1819790650","loc":[-85.6216412,41.9550149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790652":{"id":"n1819790652","loc":[-85.6224952,41.9603918],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790656":{"id":"n1819790656","loc":[-85.61918,41.9555649],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790661":{"id":"n1819790661","loc":[-85.6200169,41.955505],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790662":{"id":"n1819790662","loc":[-85.6217389,41.9563149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790666":{"id":"n1819790666","loc":[-85.6229566,41.9598373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790667":{"id":"n1819790667","loc":[-85.6209117,41.9609189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790669":{"id":"n1819790669","loc":[-85.6252311,41.9562353],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790670":{"id":"n1819790670","loc":[-85.6209758,41.961868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790672":{"id":"n1819790672","loc":[-85.6209557,41.9589078],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790673":{"id":"n1819790673","loc":[-85.6190352,41.9561393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790675":{"id":"n1819790675","loc":[-85.6236432,41.9586685],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790676":{"id":"n1819790676","loc":[-85.6194901,41.9565389],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790678":{"id":"n1819790678","loc":[-85.6219266,41.9582417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790680":{"id":"n1819790680","loc":[-85.6208258,41.9557211],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790681":{"id":"n1819790681","loc":[-85.6212024,41.9613212],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790682":{"id":"n1819790682","loc":[-85.624877,41.9559401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790684":{"id":"n1819790684","loc":[-85.6206499,41.9583693],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790699":{"id":"n1819790699","loc":[-85.6215243,41.956279],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790701":{"id":"n1819790701","loc":[-85.6246625,41.9559321],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790703":{"id":"n1819790703","loc":[-85.6230478,41.9585089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790708":{"id":"n1819790708","loc":[-85.6211102,41.9575402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790710":{"id":"n1819790710","loc":[-85.6215082,41.9548468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790711":{"id":"n1819790711","loc":[-85.6206552,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790713":{"id":"n1819790713","loc":[-85.6215404,41.9549705],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790715":{"id":"n1819790715","loc":[-85.6216906,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790717":{"id":"n1819790717","loc":[-85.6215404,41.9547391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790722":{"id":"n1819790722","loc":[-85.6219964,41.9599131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790723":{"id":"n1819790723","loc":[-85.622286,41.9606989],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790725":{"id":"n1819790725","loc":[-85.6228439,41.9572005],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790727":{"id":"n1819790727","loc":[-85.6202518,41.9554458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790728":{"id":"n1819790728","loc":[-85.623434,41.9575276],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790729":{"id":"n1819790729","loc":[-85.6234287,41.9568576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790732":{"id":"n1819790732","loc":[-85.6229566,41.9571369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790733":{"id":"n1819790733","loc":[-85.6225543,41.9590275],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790734":{"id":"n1819790734","loc":[-85.6232892,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790736":{"id":"n1819790736","loc":[-85.622977,41.9608551],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790737":{"id":"n1819790737","loc":[-85.624008,41.9569533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790741":{"id":"n1819790741","loc":[-85.6212775,41.9608545],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790742":{"id":"n1819790742","loc":[-85.6231282,41.9569932],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790743":{"id":"n1819790743","loc":[-85.6224523,41.9591831],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790744":{"id":"n1819790744","loc":[-85.6210951,41.9610819],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790745":{"id":"n1819790745","loc":[-85.6220114,41.960544],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790755":{"id":"n1819790755","loc":[-85.6216369,41.9553854],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790757":{"id":"n1819790757","loc":[-85.6209986,41.9592709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790758":{"id":"n1819790758","loc":[-85.6200437,41.9563468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790764":{"id":"n1819790764","loc":[-85.6219363,41.9596823],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790765":{"id":"n1819790765","loc":[-85.6237612,41.9568496],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790769":{"id":"n1819790769","loc":[-85.6212389,41.9593433],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790771":{"id":"n1819790771","loc":[-85.6210726,41.9560123],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790772":{"id":"n1819790772","loc":[-85.6212711,41.9561838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790776":{"id":"n1819790776","loc":[-85.6234437,41.9577795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790777":{"id":"n1819790777","loc":[-85.6212502,41.9618599],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790783":{"id":"n1819790783","loc":[-85.6216895,41.9610585],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790784":{"id":"n1819790784","loc":[-85.6200115,41.9556367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790785":{"id":"n1819790785","loc":[-85.6210576,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790786":{"id":"n1819790786","loc":[-85.621138,41.9576632],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790788":{"id":"n1819790788","loc":[-85.6207733,41.9578946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790789":{"id":"n1819790789","loc":[-85.6200705,41.9571566],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790790":{"id":"n1819790790","loc":[-85.6245337,41.9558443],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790792":{"id":"n1819790792","loc":[-85.621932,41.9608066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790793":{"id":"n1819790793","loc":[-85.6233578,41.9581385],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790794":{"id":"n1819790794","loc":[-85.6204557,41.9555136],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790797":{"id":"n1819790797","loc":[-85.6235038,41.9576074],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790800":{"id":"n1819790800","loc":[-85.6214438,41.9607508],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790801":{"id":"n1819790801","loc":[-85.623492,41.9602129],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790802":{"id":"n1819790802","loc":[-85.6216691,41.9546553],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790803":{"id":"n1819790803","loc":[-85.6231057,41.9586851],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790804":{"id":"n1819790804","loc":[-85.6209224,41.9578673],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790813":{"id":"n1819790813","loc":[-85.620092,41.9572962],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790814":{"id":"n1819790814","loc":[-85.6216691,41.9552218],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790816":{"id":"n1819790816","loc":[-85.6216144,41.9609668],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790818":{"id":"n1819790818","loc":[-85.6216906,41.9557324],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790820":{"id":"n1819790820","loc":[-85.6192069,41.9564186],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790823":{"id":"n1819790823","loc":[-85.6211155,41.9566027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790825":{"id":"n1819790825","loc":[-85.6233106,41.9569294],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790839":{"id":"n1819790839","loc":[-85.625671,41.9564986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790842":{"id":"n1819790842","loc":[-85.6235252,41.9567379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790844":{"id":"n1819790844","loc":[-85.6253813,41.9566342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790847":{"id":"n1819790847","loc":[-85.6200963,41.9567702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790849":{"id":"n1819790849","loc":[-85.6238031,41.9587449],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790851":{"id":"n1819790851","loc":[-85.6234984,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790856":{"id":"n1819790856","loc":[-85.6242226,41.9570092],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790865":{"id":"n1819790865","loc":[-85.6200265,41.9569458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790869":{"id":"n1819790869","loc":[-85.6230049,41.9601245],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790871":{"id":"n1819790871","loc":[-85.6190727,41.9558322],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790873":{"id":"n1819790873","loc":[-85.6217442,41.9550104],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790875":{"id":"n1819790875","loc":[-85.6208044,41.9587808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790879":{"id":"n1819790879","loc":[-85.6198444,41.9574484],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790883":{"id":"n1819790883","loc":[-85.623713,41.9588719],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790885":{"id":"n1819790885","loc":[-85.6223289,41.9605075],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790889":{"id":"n1819790889","loc":[-85.6208044,41.9562437],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790893":{"id":"n1819790893","loc":[-85.6218183,41.9559684],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790906":{"id":"n1819790906","loc":[-85.6214052,41.958697],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790913":{"id":"n1819790913","loc":[-85.6209981,41.9609957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790917":{"id":"n1819790917","loc":[-85.6216208,41.9604436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790919":{"id":"n1819790919","loc":[-85.6209406,41.9616373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790920":{"id":"n1819790920","loc":[-85.6221948,41.9583334],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790922":{"id":"n1819790922","loc":[-85.6216681,41.9615292],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790924":{"id":"n1819790924","loc":[-85.6210147,41.9570489],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790929":{"id":"n1819790929","loc":[-85.6193678,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"w17964707":{"id":"w17964707","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:31:34Z","tags":{"highway":"residential","name":"11th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"11th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314405","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960682","n185960684","n185960686","n185960688","n185960690"]},"w201484345":{"id":"w201484345","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"bridge":"yes","highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978791","n185978795"]},"w201484348":{"id":"w201484348","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978795","n185978800","n185978803","n185978806","n185978808","n185978810","n185978811","n185978813","n185955747","n185978814","n185972054","n185978817"]},"w170843845":{"id":"w170843845","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:23Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624607","gnis:state_id":"26","landuse":"reservoir","name":"Hoffman Pond","natural":"water","source":"Bing"},"nodes":["n1819790732","n1819790742","n1819790825","n1819790729","n1819790842","n1819790765","n1819790737","n1819790856","n1819790643","n1819790596","n1819790844","n1819790839","n1819849190","n1819790619","n1819790613","n1819790669","n1819790550","n1819790682","n1819790701","n1819790790","n1819790532","n1819790887","n1819790740","n1819790831","n1819790545","n1819790664","n1819790621","n1819790861","n1819790730","n1819790683","n1819790802","n1819790717","n1819790710","n1819790713","n1819790650","n1819790873","n1819790814","n1819790755","n1819790715","n1819790818","n1819790602","n1819790893","n1819790662","n1819790699","n1819790772","n1819790771","n1819790680","n1819790794","n1819790727","n1819790628","n1819790661","n1819790784","n1819790610","n1819790626","n1819790929","n1819790656","n1819790871","n1819790673","n1819790566","n1819790820","n1819790676","n1819790598","n1819790556","n1819790558","n1819790879","n1819790608","n1819790813","n1819790789","n1819790865","n1819790847","n1819790758","n1819790548","n1819790539","n1819790889","n1819790557","n1819790586","n1819790571","n1819790823","n1819790546","n1819790924","n1819790785","n1819790708","n1819790786","n1819790561","n1819790804","n1819790788","n1819790684","n1819790711","n1819790875","n1819790672","n1819790569","n1819790757","n1819790769","n1819790603","n1819790906","n1819790553","n1819790536","n1819790678","n1819790920","n1819790600","n1819790733","n1819790743","n1819790567","n1819790764","n1819790722","n1819790638","n1819790917","n1819790800","n1819790741","n1819790667","n1819790913","n1819790744","n1819790816","n1819790591","n1819790745","n1819790885","n1819790652","n1819790588","n1819790617","n1819790551","n1819790666","n1819790869","n1819790630","n1819790723","n1819790792","n1819790783","n1819790681","n1819790919","n1819790593","n1819790670","n1819790777","n1819790922","n1819790562","n1819790736","n1819790565","n1819790801","n1819790538","n1819790640","n1819790616","n1819790572","n1819790620","n1819790883","n1819790849","n1819790675","n1819790851","n1819790803","n1819790611","n1819790703","n1819790734","n1819790793","n1819790614","n1819790581","n1819790776","n1819790797","n1819790728","n1819790584","n1819790624","n1819790604","n1819790725","n1819790732"]},"w206805240":{"id":"w206805240","version":"2","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"waterway":"river"},"nodes":["n2168544738","n2168544739","n2168544740","n2168544741","n2168544742","n2168544743","n2168544744","n2168544745","n2168544746","n2168544747","n2168544748","n2168544749","n2168544750","n2168544751","n2168544752","n2168544753","n1819848944"]},"n394490429":{"id":"n394490429","loc":[-85.643883,41.954365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n185953421":{"id":"n185953421","loc":[-85.641876,41.954946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185953417":{"id":"n185953417","loc":[-85.6418306,41.9551597],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185977233":{"id":"n185977233","loc":[-85.642987,41.95486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n185977232":{"id":"n185977232","loc":[-85.642894,41.9547842],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293244":{"id":"n1475293244","loc":[-85.63974,41.9521543],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1819848890":{"id":"n1819848890","loc":[-85.6410004,41.9552822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848965":{"id":"n1819848965","loc":[-85.6409795,41.9553892],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n2189015846":{"id":"n2189015846","loc":[-85.6420457,41.9549528],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015849":{"id":"n2189015849","loc":[-85.6425867,41.9551392],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015852":{"id":"n2189015852","loc":[-85.6426877,41.9549771],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109816":{"id":"n2199109816","loc":[-85.6399215,41.9540925],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109818":{"id":"n2199109818","loc":[-85.6399182,41.9538236],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109820":{"id":"n2199109820","loc":[-85.6402201,41.9538216],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109822":{"id":"n2199109822","loc":[-85.640222,41.9539771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109825":{"id":"n2199109825","loc":[-85.6402904,41.9539766],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109827":{"id":"n2199109827","loc":[-85.6402918,41.95409],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109829":{"id":"n2199109829","loc":[-85.6395845,41.9544626],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109831":{"id":"n2199109831","loc":[-85.6395792,41.9540671],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109833":{"id":"n2199109833","loc":[-85.6397173,41.9540661],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109835":{"id":"n2199109835","loc":[-85.6397226,41.9544616],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109837":{"id":"n2199109837","loc":[-85.6399641,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109839":{"id":"n2199109839","loc":[-85.6399637,41.9541859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109841":{"id":"n2199109841","loc":[-85.6401098,41.9541858],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109843":{"id":"n2199109843","loc":[-85.64011,41.9543272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109845":{"id":"n2199109845","loc":[-85.6400783,41.9543273],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109847":{"id":"n2199109847","loc":[-85.6400785,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109853":{"id":"n2199109853","loc":[-85.6396184,41.9554049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109855":{"id":"n2199109855","loc":[-85.6396825,41.9553713],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185949745":{"id":"n185949745","loc":[-85.6442727,41.9553112],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949748":{"id":"n185949748","loc":[-85.6448804,41.9555238],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185949755":{"id":"n185949755","loc":[-85.6420011,41.9603536],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{}},"n185949763":{"id":"n185949763","loc":[-85.6408843,41.9555822],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949765":{"id":"n185949765","loc":[-85.6414548,41.9557751],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185952158":{"id":"n185952158","loc":[-85.640066,41.956854],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952160":{"id":"n185952160","loc":[-85.639848,41.957229],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952161":{"id":"n185952161","loc":[-85.6396089,41.9576192],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185952163":{"id":"n185952163","loc":[-85.63892,41.957957],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185953413":{"id":"n185953413","loc":[-85.64162,41.955475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971651":{"id":"n185971651","loc":[-85.6440766,41.9543462],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185977234":{"id":"n185977234","loc":[-85.645044,41.955581],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n394490395":{"id":"n394490395","loc":[-85.657336,41.936762],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490396":{"id":"n394490396","loc":[-85.653896,41.936978],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490397":{"id":"n394490397","loc":[-85.653732,41.937386],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490398":{"id":"n394490398","loc":[-85.65182,41.937378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490399":{"id":"n394490399","loc":[-85.651843,41.938445],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490400":{"id":"n394490400","loc":[-85.652536,41.938447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490401":{"id":"n394490401","loc":[-85.652533,41.938901],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490402":{"id":"n394490402","loc":[-85.652084,41.9389],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490403":{"id":"n394490403","loc":[-85.6521,41.939627],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490404":{"id":"n394490404","loc":[-85.652301,41.939628],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490405":{"id":"n394490405","loc":[-85.652302,41.939755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490406":{"id":"n394490406","loc":[-85.652783,41.939747],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490407":{"id":"n394490407","loc":[-85.652835,41.94112],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490408":{"id":"n394490408","loc":[-85.651968,41.941123],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490409":{"id":"n394490409","loc":[-85.651983,41.941969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490410":{"id":"n394490410","loc":[-85.652908,41.941961],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490411":{"id":"n394490411","loc":[-85.65292,41.94278],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490412":{"id":"n394490412","loc":[-85.651698,41.942816],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490413":{"id":"n394490413","loc":[-85.651509,41.942823],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490414":{"id":"n394490414","loc":[-85.651272,41.942837],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490415":{"id":"n394490415","loc":[-85.651272,41.943325],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490416":{"id":"n394490416","loc":[-85.65122,41.944053],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490417":{"id":"n394490417","loc":[-85.651193,41.944449],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490418":{"id":"n394490418","loc":[-85.651088,41.944969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490419":{"id":"n394490419","loc":[-85.650949,41.945554],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490420":{"id":"n394490420","loc":[-85.650907,41.945719],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490421":{"id":"n394490421","loc":[-85.650808,41.946016],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490422":{"id":"n394490422","loc":[-85.650712,41.946516],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490423":{"id":"n394490423","loc":[-85.650493,41.947166],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490424":{"id":"n394490424","loc":[-85.650626,41.947213],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490425":{"id":"n394490425","loc":[-85.650201,41.948109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490426":{"id":"n394490426","loc":[-85.649868,41.948797],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490427":{"id":"n394490427","loc":[-85.649669,41.949161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490428":{"id":"n394490428","loc":[-85.64659,41.954067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490430":{"id":"n394490430","loc":[-85.644034,41.95444],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490431":{"id":"n394490431","loc":[-85.644248,41.954507],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490432":{"id":"n394490432","loc":[-85.64491,41.954481],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490433":{"id":"n394490433","loc":[-85.645213,41.954433],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490434":{"id":"n394490434","loc":[-85.645426,41.954477],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490435":{"id":"n394490435","loc":[-85.6458,41.954704],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490436":{"id":"n394490436","loc":[-85.64605,41.954804],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490437":{"id":"n394490437","loc":[-85.646125,41.954817],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490438":{"id":"n394490438","loc":[-85.646002,41.954997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490439":{"id":"n394490439","loc":[-85.645764,41.955366],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490440":{"id":"n394490440","loc":[-85.645525,41.955734],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490441":{"id":"n394490441","loc":[-85.64443,41.957424],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490442":{"id":"n394490442","loc":[-85.641712,41.961723],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490443":{"id":"n394490443","loc":[-85.640747,41.963246],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490444":{"id":"n394490444","loc":[-85.637803,41.967894],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490445":{"id":"n394490445","loc":[-85.637673,41.967861],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490446":{"id":"n394490446","loc":[-85.636637,41.969275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490447":{"id":"n394490447","loc":[-85.634923,41.969269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490448":{"id":"n394490448","loc":[-85.634893,41.968537],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490449":{"id":"n394490449","loc":[-85.634544,41.96927],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490450":{"id":"n394490450","loc":[-85.630835,41.969274],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490451":{"id":"n394490451","loc":[-85.630834,41.968348],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490452":{"id":"n394490452","loc":[-85.630857,41.968179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490453":{"id":"n394490453","loc":[-85.630924,41.968044],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490454":{"id":"n394490454","loc":[-85.631004,41.967925],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490455":{"id":"n394490455","loc":[-85.631143,41.967811],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490456":{"id":"n394490456","loc":[-85.631311,41.967736],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490457":{"id":"n394490457","loc":[-85.631595,41.967693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490458":{"id":"n394490458","loc":[-85.63325,41.967702],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490459":{"id":"n394490459","loc":[-85.633247,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490460":{"id":"n394490460","loc":[-85.634858,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490461":{"id":"n394490461","loc":[-85.634865,41.967711],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490462":{"id":"n394490462","loc":[-85.634884,41.968231],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490463":{"id":"n394490463","loc":[-85.636559,41.963867],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490464":{"id":"n394490464","loc":[-85.634832,41.963866],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490465":{"id":"n394490465","loc":[-85.63481,41.961899],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490466":{"id":"n394490466","loc":[-85.637219,41.961842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490467":{"id":"n394490467","loc":[-85.637837,41.960019],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490468":{"id":"n394490468","loc":[-85.637459,41.960022],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490469":{"id":"n394490469","loc":[-85.635295,41.959987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490470":{"id":"n394490470","loc":[-85.634783,41.959979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490471":{"id":"n394490471","loc":[-85.634776,41.959834],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490472":{"id":"n394490472","loc":[-85.634767,41.959009],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490473":{"id":"n394490473","loc":[-85.634763,41.958292],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490474":{"id":"n394490474","loc":[-85.633346,41.958287],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490475":{"id":"n394490475","loc":[-85.632128,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490476":{"id":"n394490476","loc":[-85.631414,41.958318],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490477":{"id":"n394490477","loc":[-85.63137,41.959033],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490478":{"id":"n394490478","loc":[-85.631325,41.959753],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490479":{"id":"n394490479","loc":[-85.631494,41.95977],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490480":{"id":"n394490480","loc":[-85.631456,41.960673],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490481":{"id":"n394490481","loc":[-85.631421,41.961494],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490482":{"id":"n394490482","loc":[-85.631404,41.961887],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490483":{"id":"n394490483","loc":[-85.631401,41.961968],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490484":{"id":"n394490484","loc":[-85.630962,41.961967],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490485":{"id":"n394490485","loc":[-85.6299,41.961973],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490486":{"id":"n394490486","loc":[-85.624929,41.962002],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490487":{"id":"n394490487","loc":[-85.623333,41.961987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490488":{"id":"n394490488","loc":[-85.621894,41.963956],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490489":{"id":"n394490489","loc":[-85.62131,41.963727],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490490":{"id":"n394490490","loc":[-85.621216,41.963868],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490491":{"id":"n394490491","loc":[-85.620356,41.965119],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490492":{"id":"n394490492","loc":[-85.620848,41.965341],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490493":{"id":"n394490493","loc":[-85.620684,41.965558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490494":{"id":"n394490494","loc":[-85.620621,41.965658],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490495":{"id":"n394490495","loc":[-85.618165,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490496":{"id":"n394490496","loc":[-85.618071,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490497":{"id":"n394490497","loc":[-85.617986,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490498":{"id":"n394490498","loc":[-85.605673,41.965764],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490499":{"id":"n394490499","loc":[-85.605668,41.963548],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490500":{"id":"n394490500","loc":[-85.605664,41.962094],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490501":{"id":"n394490501","loc":[-85.595828,41.962159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490502":{"id":"n394490502","loc":[-85.587869,41.962169],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490503":{"id":"n394490503","loc":[-85.586289,41.962179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490504":{"id":"n394490504","loc":[-85.583774,41.962178],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490505":{"id":"n394490505","loc":[-85.583774,41.961789],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490506":{"id":"n394490506","loc":[-85.581303,41.961783],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490507":{"id":"n394490507","loc":[-85.581304,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490508":{"id":"n394490508","loc":[-85.581292,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490509":{"id":"n394490509","loc":[-85.581247,41.959244],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490510":{"id":"n394490510","loc":[-85.581245,41.958394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490511":{"id":"n394490511","loc":[-85.581276,41.958372],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490512":{"id":"n394490512","loc":[-85.581302,41.958353],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490513":{"id":"n394490513","loc":[-85.581376,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490514":{"id":"n394490514","loc":[-85.582256,41.957663],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490515":{"id":"n394490515","loc":[-85.585299,41.955483],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490516":{"id":"n394490516","loc":[-85.585588,41.955331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490517":{"id":"n394490517","loc":[-85.586053,41.955163],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490518":{"id":"n394490518","loc":[-85.58632,41.955076],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490519":{"id":"n394490519","loc":[-85.586478,41.955025],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490520":{"id":"n394490520","loc":[-85.58692,41.954947],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490521":{"id":"n394490521","loc":[-85.587327,41.954914],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490522":{"id":"n394490522","loc":[-85.587345,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490523":{"id":"n394490523","loc":[-85.587358,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490524":{"id":"n394490524","loc":[-85.58963,41.954877],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490525":{"id":"n394490525","loc":[-85.591077,41.954865],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490526":{"id":"n394490526","loc":[-85.594824,41.954843],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490527":{"id":"n394490527","loc":[-85.594804,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490528":{"id":"n394490528","loc":[-85.599336,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490529":{"id":"n394490529","loc":[-85.599336,41.954825],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490530":{"id":"n394490530","loc":[-85.597828,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490531":{"id":"n394490531","loc":[-85.597833,41.95614],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490532":{"id":"n394490532","loc":[-85.596586,41.956151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490533":{"id":"n394490533","loc":[-85.596586,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490534":{"id":"n394490534","loc":[-85.595933,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490535":{"id":"n394490535","loc":[-85.595933,41.958176],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490536":{"id":"n394490536","loc":[-85.597635,41.958179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490537":{"id":"n394490537","loc":[-85.597717,41.958177],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490538":{"id":"n394490538","loc":[-85.601671,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490539":{"id":"n394490539","loc":[-85.605619,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490540":{"id":"n394490540","loc":[-85.608054,41.958187],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490542":{"id":"n394490542","loc":[-85.6080762,41.9547864],"version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:47:47Z","tags":{}},"n394490545":{"id":"n394490545","loc":[-85.6104354,41.9548263],"version":"2","changeset":"12747630","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-16T08:22:38Z","tags":{}},"n394490546":{"id":"n394490546","loc":[-85.610274,41.951106],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490547":{"id":"n394490547","loc":[-85.610278,41.950829],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490548":{"id":"n394490548","loc":[-85.610309,41.948377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490549":{"id":"n394490549","loc":[-85.610314,41.947986],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490550":{"id":"n394490550","loc":[-85.610464,41.947985],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490551":{"id":"n394490551","loc":[-85.610447,41.947468],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490552":{"id":"n394490552","loc":[-85.612469,41.947471],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490553":{"id":"n394490553","loc":[-85.612494,41.945576],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490554":{"id":"n394490554","loc":[-85.610292,41.94558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490555":{"id":"n394490555","loc":[-85.608412,41.945625],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490556":{"id":"n394490556","loc":[-85.608412,41.943036],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490557":{"id":"n394490557","loc":[-85.608702,41.943087],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490558":{"id":"n394490558","loc":[-85.609196,41.943224],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490559":{"id":"n394490559","loc":[-85.609571,41.943263],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490560":{"id":"n394490560","loc":[-85.610116,41.943295],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490561":{"id":"n394490561","loc":[-85.610273,41.943275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490562":{"id":"n394490562","loc":[-85.611339,41.943075],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490563":{"id":"n394490563","loc":[-85.611575,41.942997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490564":{"id":"n394490564","loc":[-85.611847,41.942849],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490565":{"id":"n394490565","loc":[-85.612164,41.942568],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490566":{"id":"n394490566","loc":[-85.612341,41.942529],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490567":{"id":"n394490567","loc":[-85.612562,41.942524],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490568":{"id":"n394490568","loc":[-85.612768,41.942546],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490569":{"id":"n394490569","loc":[-85.612938,41.942633],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490570":{"id":"n394490570","loc":[-85.6131,41.942782],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490571":{"id":"n394490571","loc":[-85.613299,41.942919],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490572":{"id":"n394490572","loc":[-85.613498,41.942996],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490573":{"id":"n394490573","loc":[-85.614698,41.942842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490574":{"id":"n394490574","loc":[-85.615288,41.942698],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490575":{"id":"n394490575","loc":[-85.616054,41.942693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490576":{"id":"n394490576","loc":[-85.61603,41.942175],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490577":{"id":"n394490577","loc":[-85.616004,41.941741],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490578":{"id":"n394490578","loc":[-85.615994,41.940156],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490579":{"id":"n394490579","loc":[-85.615144,41.940159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490580":{"id":"n394490580","loc":[-85.614915,41.940161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490582":{"id":"n394490582","loc":[-85.614875,41.938532],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490583":{"id":"n394490583","loc":[-85.616167,41.938787],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490585":{"id":"n394490585","loc":[-85.616176,41.938589],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490586":{"id":"n394490586","loc":[-85.614537,41.938282],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490588":{"id":"n394490588","loc":[-85.610141,41.937459],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490589":{"id":"n394490589","loc":[-85.610172,41.937298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490590":{"id":"n394490590","loc":[-85.609918,41.935495],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490592":{"id":"n394490592","loc":[-85.610092,41.935451],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490594":{"id":"n394490594","loc":[-85.610681,41.935247],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490595":{"id":"n394490595","loc":[-85.611446,41.934955],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490596":{"id":"n394490596","loc":[-85.612057,41.934696],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490598":{"id":"n394490598","loc":[-85.613256,41.934084],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490599":{"id":"n394490599","loc":[-85.613948,41.933682],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490601":{"id":"n394490601","loc":[-85.61436,41.933417],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490602":{"id":"n394490602","loc":[-85.614638,41.933212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490604":{"id":"n394490604","loc":[-85.615249,41.9332],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490605":{"id":"n394490605","loc":[-85.618218,41.933223],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490607":{"id":"n394490607","loc":[-85.618241,41.933479],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490608":{"id":"n394490608","loc":[-85.618257,41.93365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490609":{"id":"n394490609","loc":[-85.618298,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490611":{"id":"n394490611","loc":[-85.619791,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490612":{"id":"n394490612","loc":[-85.619794,41.933301],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490613":{"id":"n394490613","loc":[-85.619795,41.932692],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490614":{"id":"n394490614","loc":[-85.619729,41.929517],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490615":{"id":"n394490615","loc":[-85.619801,41.929305],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490616":{"id":"n394490616","loc":[-85.619809,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490617":{"id":"n394490617","loc":[-85.620883,41.927378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490618":{"id":"n394490618","loc":[-85.620988,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490619":{"id":"n394490619","loc":[-85.621076,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490620":{"id":"n394490620","loc":[-85.621156,41.927376],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490621":{"id":"n394490621","loc":[-85.621685,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490622":{"id":"n394490622","loc":[-85.624716,41.927359],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490623":{"id":"n394490623","loc":[-85.625308,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490624":{"id":"n394490624","loc":[-85.625655,41.927377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490625":{"id":"n394490625","loc":[-85.625093,41.925591],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490626":{"id":"n394490626","loc":[-85.625174,41.92559],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490627":{"id":"n394490627","loc":[-85.625249,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490628":{"id":"n394490628","loc":[-85.625532,41.925604],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490629":{"id":"n394490629","loc":[-85.625761,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490630":{"id":"n394490630","loc":[-85.625955,41.926153],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490631":{"id":"n394490631","loc":[-85.626209,41.926155],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490632":{"id":"n394490632","loc":[-85.627757,41.926151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490633":{"id":"n394490633","loc":[-85.627825,41.926298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490634":{"id":"n394490634","loc":[-85.627994,41.926315],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490635":{"id":"n394490635","loc":[-85.628049,41.927196],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490636":{"id":"n394490636","loc":[-85.62949,41.927221],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490637":{"id":"n394490637","loc":[-85.629602,41.927277],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490638":{"id":"n394490638","loc":[-85.6297102,41.9273279],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n394490639":{"id":"n394490639","loc":[-85.630958,41.927398],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490699":{"id":"n394490699","loc":[-85.632741,41.927388],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490700":{"id":"n394490700","loc":[-85.632997,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490701":{"id":"n394490701","loc":[-85.633149,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490702":{"id":"n394490702","loc":[-85.633334,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490703":{"id":"n394490703","loc":[-85.633468,41.927561],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490704":{"id":"n394490704","loc":[-85.633563,41.927755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490705":{"id":"n394490705","loc":[-85.633662,41.928192],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490706":{"id":"n394490706","loc":[-85.633679,41.928807],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490707":{"id":"n394490707","loc":[-85.633687,41.929107],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490708":{"id":"n394490708","loc":[-85.633927,41.929109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490709":{"id":"n394490709","loc":[-85.634126,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490710":{"id":"n394490710","loc":[-85.634207,41.92911],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490711":{"id":"n394490711","loc":[-85.634323,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490712":{"id":"n394490712","loc":[-85.636712,41.929128],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490713":{"id":"n394490713","loc":[-85.63808,41.9291],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490714":{"id":"n394490714","loc":[-85.639213,41.929088],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490715":{"id":"n394490715","loc":[-85.639189,41.92852],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490716":{"id":"n394490716","loc":[-85.639204,41.925488],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490717":{"id":"n394490717","loc":[-85.644204,41.925452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490718":{"id":"n394490718","loc":[-85.651425,41.925406],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490719":{"id":"n394490719","loc":[-85.651449,41.926321],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490720":{"id":"n394490720","loc":[-85.651451,41.926969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490721":{"id":"n394490721","loc":[-85.651458,41.928052],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490722":{"id":"n394490722","loc":[-85.651446,41.928892],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490723":{"id":"n394490723","loc":[-85.651456,41.929447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490724":{"id":"n394490724","loc":[-85.651707,41.929454],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490725":{"id":"n394490725","loc":[-85.652369,41.929473],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490726":{"id":"n394490726","loc":[-85.6525,41.929452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490727":{"id":"n394490727","loc":[-85.654066,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490728":{"id":"n394490728","loc":[-85.654816,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490729":{"id":"n394490729","loc":[-85.654816,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490730":{"id":"n394490730","loc":[-85.654587,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490731":{"id":"n394490731","loc":[-85.654548,41.931072],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490732":{"id":"n394490732","loc":[-85.654538,41.931701],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490733":{"id":"n394490733","loc":[-85.654898,41.931689],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490734":{"id":"n394490734","loc":[-85.654898,41.932505],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490735":{"id":"n394490735","loc":[-85.654854,41.932514],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490736":{"id":"n394490736","loc":[-85.655497,41.932499],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490737":{"id":"n394490737","loc":[-85.656405,41.932493],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490738":{"id":"n394490738","loc":[-85.656422,41.933416],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490739":{"id":"n394490739","loc":[-85.657322,41.933438],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n1475293233":{"id":"n1475293233","loc":[-85.6385522,41.9585167],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293242":{"id":"n1475293242","loc":[-85.64609,41.9540815],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293249":{"id":"n1475293249","loc":[-85.6358079,41.9692721],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293256":{"id":"n1475293256","loc":[-85.6387369,41.9581583],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293259":{"id":"n1475293259","loc":[-85.6455882,41.9541138],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293266":{"id":"n1475293266","loc":[-85.6451008,41.9541821],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1819800253":{"id":"n1819800253","loc":[-85.6134286,41.9429692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n2114807558":{"id":"n2114807558","loc":[-85.6365609,41.963866],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{"railway":"level_crossing"}},"n2189015728":{"id":"n2189015728","loc":[-85.6383956,41.9590576],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015838":{"id":"n2189015838","loc":[-85.6435144,41.9563705],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015842":{"id":"n2189015842","loc":[-85.6415782,41.9557035],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015855":{"id":"n2189015855","loc":[-85.6440829,41.9554577],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109849":{"id":"n2199109849","loc":[-85.6393434,41.9565591],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109851":{"id":"n2199109851","loc":[-85.6393208,41.9565002],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109857":{"id":"n2199109857","loc":[-85.6401986,41.955545],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109859":{"id":"n2199109859","loc":[-85.6402362,41.955587],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109861":{"id":"n2199109861","loc":[-85.6395958,41.9565675],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109863":{"id":"n2199109863","loc":[-85.639528,41.9566011],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"w209717053":{"id":"w209717053","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109829","n2199109831","n2199109833","n2199109835","n2199109829"]},"w17966415":{"id":"w17966415","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","name":"Manufacturing Way","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manufacturing","tiger:name_type":"Way","tiger:reviewed":"no"},"nodes":["n185971642","n185977232","n185977233","n185949745","n185949748","n185977234"]},"w209717054":{"id":"w209717054","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109837","n2199109839","n2199109841","n2199109843","n2199109845","n2199109847","n2199109837"]},"w208627214":{"id":"w208627214","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949755","n2189015728","n1475293233","n1475293256","n185952163","n185952161","n185952160","n185952158","n185949763","n1819848965","n1819848890","n185952156"]},"w17963817":{"id":"w17963817","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949765","n185953413","n185953417","n185953421","n185953423"]},"w34369809":{"id":"w34369809","version":"7","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:19Z","tags":{"admin_level":"8","boundary":"administrative","landuse":"residential","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490395","n394490396","n394490397","n394490398","n394490399","n394490400","n394490401","n394490402","n394490403","n394490404","n394490405","n394490406","n394490407","n394490408","n394490409","n394490410","n394490411","n394490412","n394490413","n394490414","n394490415","n394490416","n394490417","n394490418","n394490419","n394490420","n394490421","n394490422","n394490423","n394490424","n394490425","n394490426","n394490427","n394490428","n1475293242","n1475293259","n1475293266","n394490429","n394490430","n394490431","n394490432","n394490433","n394490434","n394490435","n394490436","n394490437","n394490438","n394490439","n394490440","n394490441","n394490442","n394490443","n394490444","n394490445","n394490446","n1475293249","n394490447","n394490448","n394490449","n394490450","n394490451","n394490452","n394490453","n394490454","n394490455","n394490456","n394490457","n394490458","n394490459","n394490460","n394490461","n394490462","n2114807558","n394490463","n1475293226","n394490464","n394490465","n394490466","n394490467","n394490468","n394490469","n394490470","n394490471","n394490472","n394490473","n394490474","n394490475","n394490476","n394490477","n394490478","n394490479","n394490480","n394490481","n394490482","n394490483","n394490484","n394490485","n394490486","n394490487","n394490488","n394490489","n394490490","n394490491","n394490492","n394490493","n394490494","n394490495","n394490496","n394490497","n394490498","n394490499","n394490500","n394490501","n394490502","n394490503","n394490504","n394490505","n394490506","n394490507","n394490508","n394490509","n394490510","n394490511","n394490512","n394490513","n394490514","n394490515","n394490516","n394490517","n394490518","n394490519","n394490520","n394490521","n394490522","n394490523","n394490524","n394490525","n394490526","n394490527","n394490528","n394490529","n394490530","n394490531","n394490532","n394490533","n394490534","n394490535","n394490536","n394490537","n394490538","n394490539","n394490540","n394490542","n394490545","n394490546","n394490547","n394490548","n394490549","n394490550","n394490551","n394490552","n394490553","n394490554","n394490555","n394490556","n394490557","n394490558","n394490559","n394490560","n394490561","n394490562","n394490563","n394490564","n394490565","n394490566","n394490567","n394490568","n394490569","n394490570","n394490571","n1819800253","n394490572","n394490573","n394490574","n394490575","n394490576","n394490577","n394490578","n394490579","n394490580","n394490582","n394490583","n394490585","n394490586","n394490588","n394490589","n394490590","n394490592","n394490594","n394490595","n394490596","n394490598","n394490599","n394490601","n394490602","n394490604","n394490605","n394490607","n394490608","n394490609","n394490611","n394490612","n394490613","n394490614","n394490615","n394490616","n394490617","n394490618","n394490619","n394490620","n394490621","n394490622","n394490623","n394490624","n394490625","n394490626","n394490627","n394490628","n394490629","n394490630","n394490631","n394490632","n394490633","n394490634","n394490635","n394490636","n394490637","n394490638","n394490639","n394490699","n394490700","n394490701","n394490702","n394490703","n394490704","n394490705","n394490706","n394490707","n394490708","n394490709","n394490710","n394490711","n394490712","n394490713","n394490714","n394490715","n394490716","n394490717","n394490718","n394490719","n394490720","n394490721","n394490722","n394490723","n394490724","n394490725","n394490726","n394490727","n394490728","n394490729","n394490730","n394490731","n394490732","n394490733","n394490734","n394490735","n394490736","n394490737","n394490738","n394490739","n394490395"]},"w208627221":{"id":"w208627221","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015838","n2189015842","n2189015846","n2189015849","n2189015852","n2189015855","n2189015838"]},"w209717052":{"id":"w209717052","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109816","n2199109818","n2199109820","n2199109822","n2199109825","n2199109827","n2199109816"]},"w134151784":{"id":"w134151784","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"bridge":"yes","highway":"residential","name":"W Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312195:15312958:15312207:15313273:15328372:15328373","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185971648","n185971651"]},"w209717055":{"id":"w209717055","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","landuse":"basin"},"nodes":["n2199109849","n2199109851","n2199109853","n2199109855","n2199109857","n2199109859","n2199109861","n2199109863","n2199109849"]},"w17967763":{"id":"w17967763","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:04Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312230:15312252:15335064:15333550","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n1475293244","n185982166","n185975067","n185971637"]},"r134949":{"id":"r134949","version":"2","changeset":"14979874","user":"malenki","uid":"39504","visible":"true","timestamp":"2013-02-10T12:18:08Z","tags":{"admin_level":"8","border_type":"city","boundary":"administrative","is_in":"USA, Michigan","is_in:country":"USA","is_in:country_code":"US","is_in:iso_3166_2":"US:MI","is_in:state":"Michigan","is_in:state_code":"MI","name":"Three Rivers","place":"city","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)","tiger:CLASSFP":"C5","tiger:CPI":"Y","tiger:FUNCSTAT":"A","tiger:LSAD":"25","tiger:MTFCC":"G4110","tiger:NAME":"Three Rivers","tiger:NAMELSAD":"Three Rivers city","tiger:PCICBSA":"N","tiger:PCINECTA":"N","tiger:PLACEFP":"79760","tiger:PLACENS":"01627164","tiger:PLCIDFP":"2679760","tiger:STATEFP":"26","type":"boundary","wikipedia":"en:Three Rivers, Michigan"},"members":[{"id":"w34369809","type":"way","role":"outer"},{"id":"w34369821","type":"way","role":"outer"},{"id":"w34369822","type":"way","role":"outer"},{"id":"w34369823","type":"way","role":"outer"},{"id":"w34369824","type":"way","role":"outer"},{"id":"w34369825","type":"way","role":"outer"},{"id":"w34369826","type":"way","role":"outer"},{"id":"w34369810","type":"way","role":"inner"},{"id":"w34369811","type":"way","role":"inner"},{"id":"w34369812","type":"way","role":"inner"},{"id":"w34367079","type":"way","role":"inner"},{"id":"w34369814","type":"way","role":"inner"},{"id":"w34367080","type":"way","role":"inner"},{"id":"w34369815","type":"way","role":"inner"},{"id":"w34369820","type":"way","role":"inner"}]},"n1819848881":{"id":"n1819848881","loc":[-85.638562,41.9569965],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848947":{"id":"n1819848947","loc":[-85.6384348,41.9576565],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819849044":{"id":"n1819849044","loc":[-85.6385749,41.9573345],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n2114807547":{"id":"n2114807547","loc":[-85.6384626,41.9583756],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807564":{"id":"n2114807564","loc":[-85.638535,41.9581283],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015691":{"id":"n2189015691","loc":[-85.6435584,41.9565243],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015696":{"id":"n2189015696","loc":[-85.6435805,41.9566049],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015722":{"id":"n2189015722","loc":[-85.6435035,41.9567438],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015744":{"id":"n2189015744","loc":[-85.6437991,41.9569582],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015747":{"id":"n2189015747","loc":[-85.6433042,41.9567742],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015750":{"id":"n2189015750","loc":[-85.6433827,41.9566844],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015753":{"id":"n2189015753","loc":[-85.6430447,41.9565588],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015756":{"id":"n2189015756","loc":[-85.6431111,41.956451],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015759":{"id":"n2189015759","loc":[-85.6420247,41.956083],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015760":{"id":"n2189015760","loc":[-85.6419945,41.9561369],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015764":{"id":"n2189015764","loc":[-85.6413729,41.9558945],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015766":{"id":"n2189015766","loc":[-85.6412884,41.9560606],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015770":{"id":"n2189015770","loc":[-85.6411798,41.9560112],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015771":{"id":"n2189015771","loc":[-85.6410651,41.9562132],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015774":{"id":"n2189015774","loc":[-85.6409504,41.9561728],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015778":{"id":"n2189015778","loc":[-85.6407996,41.9564241],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015781":{"id":"n2189015781","loc":[-85.6406889,41.9563892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015785":{"id":"n2189015785","loc":[-85.6404857,41.9567024],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015789":{"id":"n2189015789","loc":[-85.6406909,41.9567877],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015793":{"id":"n2189015793","loc":[-85.6405642,41.9570165],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015796":{"id":"n2189015796","loc":[-85.6415359,41.9573711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015800":{"id":"n2189015800","loc":[-85.6411738,41.9579501],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015804":{"id":"n2189015804","loc":[-85.6411119,41.957921],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015808":{"id":"n2189015808","loc":[-85.6403186,41.9591751],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015909":{"id":"n2189015909","loc":[-85.6389293,41.9564636],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015926":{"id":"n2189015926","loc":[-85.6385431,41.9564617],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015929":{"id":"n2189015929","loc":[-85.6385457,41.9561823],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015932":{"id":"n2189015932","loc":[-85.6389319,41.9561843],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109865":{"id":"n2199109865","loc":[-85.6400768,41.956776],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109867":{"id":"n2199109867","loc":[-85.639902,41.9567153],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109869":{"id":"n2199109869","loc":[-85.640004,41.956553],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109871":{"id":"n2199109871","loc":[-85.6401788,41.9566137],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109873":{"id":"n2199109873","loc":[-85.6399316,41.9564506],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"man_made":"water_tower"}},"n2199109876":{"id":"n2199109876","loc":[-85.6397689,41.9572354],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109878":{"id":"n2199109878","loc":[-85.6399229,41.9569826],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109880":{"id":"n2199109880","loc":[-85.639706,41.9569095],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109882":{"id":"n2199109882","loc":[-85.639552,41.9571623],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109884":{"id":"n2199109884","loc":[-85.6391028,41.9569517],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109886":{"id":"n2199109886","loc":[-85.6392876,41.956646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109888":{"id":"n2199109888","loc":[-85.639484,41.9567117],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109889":{"id":"n2199109889","loc":[-85.6394322,41.9567973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109890":{"id":"n2199109890","loc":[-85.6393718,41.9567771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109891":{"id":"n2199109891","loc":[-85.6392387,41.9569972],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n1819848900":{"id":"n1819848900","loc":[-85.638281,41.9576578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848978":{"id":"n1819848978","loc":[-85.6377186,41.9580867],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849039":{"id":"n1819849039","loc":[-85.6384217,41.9573405],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849050":{"id":"n1819849050","loc":[-85.6377011,41.9570042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849088":{"id":"n1819849088","loc":[-85.6382879,41.9580817],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n2114807549":{"id":"n2114807549","loc":[-85.6362551,41.96473],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807587":{"id":"n2114807587","loc":[-85.6368694,41.9629829],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015725":{"id":"n2189015725","loc":[-85.644156,41.9569753],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015741":{"id":"n2189015741","loc":[-85.6419825,41.9597632],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"w208627217":{"id":"w208627217","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015741","n2189015744","n2189015747","n2189015750","n2189015753","n2189015756","n2189015759","n2189015760","n2189015764","n2189015766","n2189015770","n2189015771","n2189015774","n2189015778","n2189015781","n2189015785","n2189015789","n2189015793","n2189015796","n2189015800","n2189015804","n2189015808","n2189015741"]},"w208627212":{"id":"w208627212","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service"},"nodes":["n2189015691","n2189015696","n2189015722","n2189015725"]},"w209717057":{"id":"w209717057","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109876","n2199109878","n2199109880","n2199109882","n2199109876"]},"w209717056":{"id":"w209717056","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109865","n2199109867","n2199109869","n2199109871","n2199109865"]},"w208627231":{"id":"w208627231","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015909","n2189015926","n2189015929","n2189015932","n2189015909"]},"w170848326":{"id":"w170848326","version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{"building":"yes","source":"Bing"},"nodes":["n1819848881","n1819849050","n1819848978","n1819849088","n1819848900","n1819848947","n1819849039","n1819849044","n1819848881"]},"w17963182":{"id":"w17963182","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949763","n185949765","n2189015691","n185949745"]},"w201484340":{"id":"w201484340","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807565","n2114807564","n2114807547","n2114807587","n2114807558","n2114807549","n2114807593"]},"w209717058":{"id":"w209717058","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109884","n2199109886","n2199109888","n2199109889","n2199109890","n2199109891","n2199109884"]},"n185954650":{"id":"n185954650","loc":[-85.627331,41.957439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:31Z","tags":{}},"n185966949":{"id":"n185966949","loc":[-85.626868,41.957314],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185989335":{"id":"n185989335","loc":[-85.62529,41.958568],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989337":{"id":"n185989337","loc":[-85.624962,41.958453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989339":{"id":"n185989339","loc":[-85.624832,41.958399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989340":{"id":"n185989340","loc":[-85.624707,41.958325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989342":{"id":"n185989342","loc":[-85.624636,41.958251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989345":{"id":"n185989345","loc":[-85.624578,41.95818],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989347":{"id":"n185989347","loc":[-85.624533,41.958099],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989349":{"id":"n185989349","loc":[-85.624507,41.957985],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989351":{"id":"n185989351","loc":[-85.624495,41.957807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989353":{"id":"n185989353","loc":[-85.624514,41.957663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989354":{"id":"n185989354","loc":[-85.624577,41.957593],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989356":{"id":"n185989356","loc":[-85.624685,41.95754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989357":{"id":"n185989357","loc":[-85.624802,41.957523],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989359":{"id":"n185989359","loc":[-85.624996,41.957524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989361":{"id":"n185989361","loc":[-85.625409,41.957515],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989364":{"id":"n185989364","loc":[-85.625634,41.957496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989367":{"id":"n185989367","loc":[-85.625832,41.957453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989368":{"id":"n185989368","loc":[-85.626044,41.957394],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n354031352":{"id":"n354031352","loc":[-85.6252778,41.9586111],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:26Z","tags":{"amenity":"place_of_worship","denomination":"baptist","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417873","gnis:state_id":"26","name":"First Baptist Church","religion":"christian"}},"n2199109892":{"id":"n2199109892","loc":[-85.6261578,41.9589963],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109893":{"id":"n2199109893","loc":[-85.6263191,41.9586865],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109894":{"id":"n2199109894","loc":[-85.6261186,41.9586288],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109895":{"id":"n2199109895","loc":[-85.6260644,41.9587329],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109896":{"id":"n2199109896","loc":[-85.6261547,41.9587589],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109898":{"id":"n2199109898","loc":[-85.6260476,41.9589646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185966951":{"id":"n185966951","loc":[-85.628404,41.957438],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"w17965351":{"id":"w17965351","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"residential","name":"Flower Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Flower","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185966948","n185966949","n185954650","n185966951","n185966953","n185966955","n185966957"]},"w17967809":{"id":"w17967809","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Azaleamum Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Azaleamum","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982197","n185989335","n185989337","n185989339","n185989340","n185989342","n185989345","n185989347","n185989349","n185989351","n185989353","n185989354","n185989356","n185989357","n185989359","n185989361","n185989364","n185989367","n185989368","n185982196"]},"w209717059":{"id":"w209717059","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109892","n2199109893","n2199109894","n2199109895","n2199109896","n2199109898","n2199109892"]},"n185961390":{"id":"n185961390","loc":[-85.63137,41.959033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961393":{"id":"n185961393","loc":[-85.634315,41.959017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"w17966214":{"id":"w17966214","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Adams Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185975351","n185967434","n185968108"]},"w17964793":{"id":"w17964793","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:32:05Z","tags":{"highway":"residential","name":"Morris Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Morris","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312148:15328241:15328242","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185961389","n185961390","n185961391","n185961393","n185961396"]},"n185952166":{"id":"n185952166","loc":[-85.638174,41.95831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:11Z","tags":{}},"n2114807552":{"id":"n2114807552","loc":[-85.6383526,41.9593788],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807591":{"id":"n2114807591","loc":[-85.6383741,41.9593968],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015731":{"id":"n2189015731","loc":[-85.6368404,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015734":{"id":"n2189015734","loc":[-85.6368404,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015737":{"id":"n2189015737","loc":[-85.6376009,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015738":{"id":"n2189015738","loc":[-85.6376009,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015897":{"id":"n2189015897","loc":[-85.6376839,41.9566137],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015900":{"id":"n2189015900","loc":[-85.6376831,41.9564865],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015903":{"id":"n2189015903","loc":[-85.6381161,41.9564851],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015906":{"id":"n2189015906","loc":[-85.6381168,41.9566122],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015937":{"id":"n2189015937","loc":[-85.6364789,41.9590634],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015940":{"id":"n2189015940","loc":[-85.6361137,41.9590672],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015943":{"id":"n2189015943","loc":[-85.6361169,41.9594033],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015945":{"id":"n2189015945","loc":[-85.6363456,41.9594021],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015952":{"id":"n2189015952","loc":[-85.636112,41.958892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015955":{"id":"n2189015955","loc":[-85.6364757,41.9588894],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015957":{"id":"n2189015957","loc":[-85.6364729,41.9586747],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015958":{"id":"n2189015958","loc":[-85.6361103,41.9586765],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015959":{"id":"n2189015959","loc":[-85.6364719,41.9585562],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015960":{"id":"n2189015960","loc":[-85.6361093,41.958558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015961":{"id":"n2189015961","loc":[-85.6355494,41.9586403],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015962":{"id":"n2189015962","loc":[-85.635549,41.9584711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015963":{"id":"n2189015963","loc":[-85.6351831,41.9584715],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015964":{"id":"n2189015964","loc":[-85.6351834,41.9586408],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015966":{"id":"n2189015966","loc":[-85.6359579,41.9586359],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015968":{"id":"n2189015968","loc":[-85.6359561,41.9585465],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015971":{"id":"n2189015971","loc":[-85.6355476,41.9585509],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015974":{"id":"n2189015974","loc":[-85.6359516,41.9592934],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015977":{"id":"n2189015977","loc":[-85.635949,41.9586697],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015980":{"id":"n2189015980","loc":[-85.6351329,41.9586716],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015983":{"id":"n2189015983","loc":[-85.6351318,41.9583949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015986":{"id":"n2189015986","loc":[-85.6349148,41.9583954],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015989":{"id":"n2189015989","loc":[-85.6349186,41.9592958],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015995":{"id":"n2189015995","loc":[-85.6360173,41.9593286],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015998":{"id":"n2189015998","loc":[-85.6360278,41.9583079],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2114807550":{"id":"n2114807550","loc":[-85.6383392,41.9595404],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807551":{"id":"n2114807551","loc":[-85.6375855,41.9616107],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807559":{"id":"n2114807559","loc":[-85.6373978,41.9621273],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807562":{"id":"n2114807562","loc":[-85.6373361,41.9622609],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807563":{"id":"n2114807563","loc":[-85.6376472,41.9613953],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807574":{"id":"n2114807574","loc":[-85.636974,41.9627695],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807589":{"id":"n2114807589","loc":[-85.6383017,41.9595005],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807592":{"id":"n2114807592","loc":[-85.6377169,41.9613494],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807595":{"id":"n2114807595","loc":[-85.6371081,41.962574],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015934":{"id":"n2189015934","loc":[-85.6364855,41.9595098],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015949":{"id":"n2189015949","loc":[-85.6363466,41.9595105],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627244":{"id":"w208627244","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"highway":"service"},"nodes":["n2189015992","n2189015995","n2189015998"]},"w208627240":{"id":"w208627240","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015971","n2189015962","n2189015963","n2189015964","n2189015961"]},"w17967437":{"id":"w17967437","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:44Z","tags":{"highway":"residential","name":"Lyman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lyman","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313234","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964361","n185984024"]},"w208627237":{"id":"w208627237","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015955","n2189015957","n2189015958","n2189015952","n2189015955"]},"w17967465":{"id":"w17967465","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:57Z","tags":{"highway":"residential","name":"W Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978394","n185984022","n185964360"]},"w208627228":{"id":"w208627228","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015897","n2189015900","n2189015903","n2189015906","n2189015897"]},"w201484351":{"id":"w201484351","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807587","n2114807574","n2114807595","n2114807562","n2114807559","n2114807551","n2114807563","n2114807589","n2114807552"]},"w208627239":{"id":"w208627239","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015957","n2189015959","n2189015960","n2189015958","n2189015957"]},"w208627233":{"id":"w208627233","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015934","n2189015937","n2189015940","n2189015943","n2189015945","n2189015949","n2189015934"]},"w208627241":{"id":"w208627241","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015966","n2189015968","n2189015971","n2189015961"]},"w17967970":{"id":"w17967970","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:20Z","tags":{"highway":"residential","name":"Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312180","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975351","n185978394"]},"w208627235":{"id":"w208627235","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015940","n2189015952","n2189015955","n2189015937","n2189015940"]},"w17965468":{"id":"w17965468","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Armstrong Blvd","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armstrong","tiger:name_type":"Blvd","tiger:reviewed":"no"},"nodes":["n185967917","n2189015998","n185967918","n185964362","n185952166"]},"w201484346":{"id":"w201484346","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807551","n2114807592","n2114807550","n2114807591"]},"w208627242":{"id":"w208627242","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015974","n2189015977","n2189015980","n2189015983","n2189015986","n2189015989","n2189015974"]},"w208627216":{"id":"w208627216","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015731","n2189015734","n2189015737","n2189015738","n2189015731"]},"n185984309":{"id":"n185984309","loc":[-85.631421,41.961494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n185987987":{"id":"n185987987","loc":[-85.631456,41.960673],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:29Z","tags":{}},"n185965397":{"id":"n185965397","loc":[-85.634603,41.959838],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"w17965196":{"id":"w17965196","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:10Z","tags":{"highway":"residential","name":"Burke Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Burke","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312145","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965395","n185965397","n185965399"]},"w17967215":{"id":"w17967215","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Kellogg Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kellogg","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968114","n185984309","n185967440","n185978402"]},"w17967597":{"id":"w17967597","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"Barnard Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Barnard","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968112","n185987987","n185967438","n185978399"]},"n394490857":{"id":"n394490857","loc":[-85.633952,41.960664],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490858":{"id":"n394490858","loc":[-85.633938,41.960227],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490859":{"id":"n394490859","loc":[-85.634794,41.960212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490860":{"id":"n394490860","loc":[-85.634815,41.960662],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490861":{"id":"n394490861","loc":[-85.634103,41.961268],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490862":{"id":"n394490862","loc":[-85.634103,41.961001],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490863":{"id":"n394490863","loc":[-85.634504,41.961003],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490864":{"id":"n394490864","loc":[-85.634561,41.961269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n1057629869":{"id":"n1057629869","loc":[-85.6382599,41.9612134],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629937":{"id":"n1057629937","loc":[-85.6380035,41.9616137],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"n2189016014":{"id":"n2189016014","loc":[-85.6360365,41.9626496],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016017":{"id":"n2189016017","loc":[-85.6360374,41.9623228],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016020":{"id":"n2189016020","loc":[-85.6367557,41.9623239],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016022":{"id":"n2189016022","loc":[-85.6367566,41.9619919],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016025":{"id":"n2189016025","loc":[-85.6351794,41.9619893],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016028":{"id":"n2189016028","loc":[-85.6351788,41.9622011],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016031":{"id":"n2189016031","loc":[-85.6350855,41.9622009],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016034":{"id":"n2189016034","loc":[-85.6350845,41.962527],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016037":{"id":"n2189016037","loc":[-85.6352732,41.9625273],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016039":{"id":"n2189016039","loc":[-85.6352738,41.9623178],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016042":{"id":"n2189016042","loc":[-85.6357712,41.9623186],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016044":{"id":"n2189016044","loc":[-85.6357702,41.9626492],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n1057629880":{"id":"n1057629880","loc":[-85.638817,41.9619017],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629923":{"id":"n1057629923","loc":[-85.6390733,41.9615014],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"w91092312":{"id":"w91092312","version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:12Z","tags":{"power":"station"},"nodes":["n1057629923","n1057629869","n1057629937","n1057629880","n1057629923"]},"w34369826":{"id":"w34369826","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490861","n394490862","n394490863","n394490864","n394490861"]},"w34369825":{"id":"w34369825","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490857","n394490858","n394490859","n394490860","n394490857"]},"w208627248":{"id":"w208627248","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189016014","n2189016017","n2189016020","n2189016022","n2189016025","n2189016028","n2189016031","n2189016034","n2189016037","n2189016039","n2189016042","n2189016044","n2189016014"]},"n394490766":{"id":"n394490766","loc":[-85.616777,41.955642],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490768":{"id":"n394490768","loc":[-85.617239,41.955644],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490792":{"id":"n394490792","loc":[-85.619034,41.95543],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185972055":{"id":"n185972055","loc":[-85.6185905,41.9568211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972057":{"id":"n185972057","loc":[-85.6186688,41.9570086],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972059":{"id":"n185972059","loc":[-85.6186924,41.9581453],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972060":{"id":"n185972060","loc":[-85.6187082,41.9588211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n1819790724":{"id":"n1819790724","loc":[-85.6182155,41.9555703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790735":{"id":"n1819790735","loc":[-85.6184059,41.9566188],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790799":{"id":"n1819790799","loc":[-85.6182372,41.9563771],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790896":{"id":"n1819790896","loc":[-85.6181431,41.9557227],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n185971405":{"id":"n185971405","loc":[-85.6186766,41.9577468],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971565":{"id":"n185971565","loc":[-85.6181613,41.9560879],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967985":{"id":"n185967985","loc":[-85.6186798,41.9585791],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955753":{"id":"n185955753","loc":[-85.620773,41.9555854],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955755":{"id":"n185955755","loc":[-85.6212652,41.9559891],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955748":{"id":"n185955748","loc":[-85.620722,41.954858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185955751":{"id":"n185955751","loc":[-85.6206912,41.955367],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967987":{"id":"n185967987","loc":[-85.6159351,41.9585809],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971407":{"id":"n185971407","loc":[-85.6159142,41.9577578],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971570":{"id":"n185971570","loc":[-85.6162248,41.95603],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971572":{"id":"n185971572","loc":[-85.6160402,41.9560749],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971574":{"id":"n185971574","loc":[-85.61593,41.956201],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185981301":{"id":"n185981301","loc":[-85.6158973,41.9581601],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n394490762":{"id":"n394490762","loc":[-85.617193,41.954706],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490764":{"id":"n394490764","loc":[-85.616773,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490787":{"id":"n394490787","loc":[-85.618972,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490790":{"id":"n394490790","loc":[-85.619046,41.954929],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490794":{"id":"n394490794","loc":[-85.619922,41.955296],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490796":{"id":"n394490796","loc":[-85.61991,41.95501],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490798":{"id":"n394490798","loc":[-85.619974,41.954751],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n1819790677":{"id":"n1819790677","loc":[-85.6187031,41.9550522],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790787":{"id":"n1819790787","loc":[-85.6186436,41.9552022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790828":{"id":"n1819790828","loc":[-85.6185127,41.9553393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"w17966857":{"id":"w17966857","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:55Z","tags":{"access":"private","highway":"service","name":"Sable River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sable River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326128","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972059","n185981301"]},"w34369814":{"id":"w34369814","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490787","n394490790","n394490792","n394490794","n394490796","n394490798","n394490787"]},"w17964176":{"id":"w17964176","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:42Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314404","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955747","n185955748","n185955751","n185955753","n185955755"]},"w17965838":{"id":"w17965838","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:09Z","tags":{"access":"private","highway":"service","name":"Pine River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326123","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971405","n185971407"]},"w17965476":{"id":"w17965476","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:16Z","tags":{"access":"private","highway":"service","name":"Raisin River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Raisin River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326112","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967985","n185967987"]},"w17965913":{"id":"w17965913","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Shiawassee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Shiawassee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326124:15326125:15326111:15326113:15326119","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972054","n1819790677","n1819790787","n1819790828","n1819790724","n1819790896","n185971565","n1819790799","n1819790735","n185972055","n185972057","n185971405","n185972059","n185967985","n185972060"]},"w34369811":{"id":"w34369811","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490762","n394490764","n394490766","n394490768","n394490762"]},"w17965854":{"id":"w17965854","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Sturgeon River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sturgeon River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326117","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971565","n185971570","n185971572","n185971574"]},"n2139795769":{"id":"n2139795769","loc":[-85.6250804,41.9608796],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795770":{"id":"n2139795770","loc":[-85.6250315,41.9613684],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795771":{"id":"n2139795771","loc":[-85.6249671,41.9614362],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795772":{"id":"n2139795772","loc":[-85.6249698,41.961522],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795773":{"id":"n2139795773","loc":[-85.6250798,41.9615838],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795774":{"id":"n2139795774","loc":[-85.6252273,41.9615639],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795775":{"id":"n2139795775","loc":[-85.6252863,41.9614622],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795776":{"id":"n2139795776","loc":[-85.6252273,41.9613764],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795777":{"id":"n2139795777","loc":[-85.6251227,41.9613525],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795778":{"id":"n2139795778","loc":[-85.6249564,41.9612527],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795779":{"id":"n2139795779","loc":[-85.6249846,41.9610254],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795780":{"id":"n2139795780","loc":[-85.6266725,41.9599647],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795781":{"id":"n2139795781","loc":[-85.6259162,41.9599711],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795782":{"id":"n2139795782","loc":[-85.6257185,41.960019],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795783":{"id":"n2139795783","loc":[-85.6255509,41.9601213],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n185963539":{"id":"n185963539","loc":[-85.615718,41.983893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:58Z","tags":{}},"n185964418":{"id":"n185964418","loc":[-85.616626,42.049512],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:23Z","tags":{}},"n185966614":{"id":"n185966614","loc":[-85.615514,41.976603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:41Z","tags":{}},"n185966635":{"id":"n185966635","loc":[-85.616118,42.013017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:42Z","tags":{}},"n185969040":{"id":"n185969040","loc":[-85.615632,41.972357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:45Z","tags":{}},"n185969070":{"id":"n185969070","loc":[-85.619145,41.967648],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:46Z","tags":{}},"n185972156":{"id":"n185972156","loc":[-85.621894,41.963956],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972157":{"id":"n185972157","loc":[-85.621806,41.964077],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972158":{"id":"n185972158","loc":[-85.620848,41.965341],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972159":{"id":"n185972159","loc":[-85.620684,41.965558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972160":{"id":"n185972160","loc":[-85.620621,41.965658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972161":{"id":"n185972161","loc":[-85.617844,41.969359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972162":{"id":"n185972162","loc":[-85.616843,41.97068],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972164":{"id":"n185972164","loc":[-85.616714,41.970839],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972166":{"id":"n185972166","loc":[-85.615879,41.971969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972168":{"id":"n185972168","loc":[-85.615748,41.972159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972170":{"id":"n185972170","loc":[-85.615589,41.972502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972172":{"id":"n185972172","loc":[-85.615542,41.972733],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972175":{"id":"n185972175","loc":[-85.615524,41.972947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972177":{"id":"n185972177","loc":[-85.615512,41.973715],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972179":{"id":"n185972179","loc":[-85.615513,41.976496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972180":{"id":"n185972180","loc":[-85.615538,41.977246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972181":{"id":"n185972181","loc":[-85.61558,41.982139],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972184":{"id":"n185972184","loc":[-85.61557,41.983317],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972186":{"id":"n185972186","loc":[-85.615591,41.983463],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972188":{"id":"n185972188","loc":[-85.615763,41.984146],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972190":{"id":"n185972190","loc":[-85.615814,41.98435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972192":{"id":"n185972192","loc":[-85.615965,41.998453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972194":{"id":"n185972194","loc":[-85.615982,42.001237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972195":{"id":"n185972195","loc":[-85.616055,42.00555],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972197":{"id":"n185972197","loc":[-85.616134,42.014887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972199":{"id":"n185972199","loc":[-85.616177,42.018465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972201":{"id":"n185972201","loc":[-85.616298,42.027627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972203":{"id":"n185972203","loc":[-85.616513,42.042212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"w203968015":{"id":"w203968015","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential"},"nodes":["n2139795768","n2139795769"]},"w17965932":{"id":"w17965932","version":"2","changeset":"14531170","user":"bot-mode","uid":"451693","visible":"true","timestamp":"2013-01-04T21:15:18Z","tags":{"highway":"residential","name":"Buckhorn Road","name_1":"County Highway 122","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Buckhorn","tiger:name_base_1":"County Highway 122","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972155","n185972156","n185972157","n185972158","n185972159","n185972160","n185969070","n185972161","n185972162","n185972164","n185972166","n185972168","n185969040","n185972170","n185972172","n185972175","n185972177","n185972179","n185966614","n185972180","n185972181","n185972184","n185972186","n185963539","n185972188","n185972190","n185972192","n185972194","n185972195","n185966635","n185972197","n185972199","n185972201","n185972203","n185964418"]},"w203968016":{"id":"w203968016","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"New Jersey Court"},"nodes":["n2139795770","n2139795771","n2139795772","n2139795773","n2139795774","n2139795775","n2139795776","n2139795777","n2139795770","n2139795778","n2139795779","n2139795769"]},"w203968017":{"id":"w203968017","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"Oklahoma Drive"},"nodes":["n2139795780","n2139795781","n2139795782","n2139795783","n2139795769"]},"n1819790528":{"id":"n1819790528","loc":[-85.6184827,41.960025],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790530":{"id":"n1819790530","loc":[-85.6168626,41.9605834],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790534":{"id":"n1819790534","loc":[-85.6197379,41.9617163],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790541":{"id":"n1819790541","loc":[-85.6198881,41.9620833],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790543":{"id":"n1819790543","loc":[-85.619695,41.9619397],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790547":{"id":"n1819790547","loc":[-85.6190298,41.9609504],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790555":{"id":"n1819790555","loc":[-85.6180471,41.9609788],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790559":{"id":"n1819790559","loc":[-85.6203817,41.9605436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790583":{"id":"n1819790583","loc":[-85.6201564,41.9603282],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790590":{"id":"n1819790590","loc":[-85.617045,41.9598894],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790609":{"id":"n1819790609","loc":[-85.6177638,41.9598495],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790618":{"id":"n1819790618","loc":[-85.6195234,41.9610143],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790642":{"id":"n1819790642","loc":[-85.6181179,41.9627933],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790659":{"id":"n1819790659","loc":[-85.6174634,41.962897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790665":{"id":"n1819790665","loc":[-85.6170343,41.9630885],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790674":{"id":"n1819790674","loc":[-85.6194697,41.9601925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790685":{"id":"n1819790685","loc":[-85.6207722,41.9610665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790687":{"id":"n1819790687","loc":[-85.6202315,41.9622109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790697":{"id":"n1819790697","loc":[-85.6184505,41.9624662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790726":{"id":"n1819790726","loc":[-85.6178926,41.9628492],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790738":{"id":"n1819790738","loc":[-85.6173347,41.9598016],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790762":{"id":"n1819790762","loc":[-85.6186221,41.9609105],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790774":{"id":"n1819790774","loc":[-85.6175922,41.9608308],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790781":{"id":"n1819790781","loc":[-85.6167768,41.9633198],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790796":{"id":"n1819790796","loc":[-85.619856,41.961461],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790811":{"id":"n1819790811","loc":[-85.6208215,41.9620195],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790833":{"id":"n1819790833","loc":[-85.618311,41.9612536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790854":{"id":"n1819790854","loc":[-85.6183646,41.9626417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790863":{"id":"n1819790863","loc":[-85.6204997,41.9608547],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790867":{"id":"n1819790867","loc":[-85.6184934,41.9621391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790877":{"id":"n1819790877","loc":[-85.6206928,41.9621152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790881":{"id":"n1819790881","loc":[-85.6170879,41.960735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790891":{"id":"n1819790891","loc":[-85.6168304,41.9601207],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790898":{"id":"n1819790898","loc":[-85.619813,41.9612297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790909":{"id":"n1819790909","loc":[-85.6167982,41.960376],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790912":{"id":"n1819790912","loc":[-85.6205855,41.9610462],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790544":{"id":"n1819790544","loc":[-85.612968,41.9707781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790549":{"id":"n1819790549","loc":[-85.614395,41.9697172],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790552":{"id":"n1819790552","loc":[-85.6180535,41.9655536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790554":{"id":"n1819790554","loc":[-85.6111227,41.9703713],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790560":{"id":"n1819790560","loc":[-85.6112729,41.9701958],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790563":{"id":"n1819790563","loc":[-85.6137512,41.9689917],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790564":{"id":"n1819790564","loc":[-85.6181072,41.9659205],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790595":{"id":"n1819790595","loc":[-85.6170021,41.9666863],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790605":{"id":"n1819790605","loc":[-85.6168948,41.9644527],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790606":{"id":"n1819790606","loc":[-85.6128071,41.9701081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790607":{"id":"n1819790607","loc":[-85.6129251,41.9704032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790612":{"id":"n1819790612","loc":[-85.6177638,41.9663912],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790615":{"id":"n1819790615","loc":[-85.6152533,41.9670373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790622":{"id":"n1819790622","loc":[-85.6146739,41.9673804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790623":{"id":"n1819790623","loc":[-85.6180428,41.9661838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790625":{"id":"n1819790625","loc":[-85.6172918,41.9646202],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790645":{"id":"n1819790645","loc":[-85.6178067,41.965043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790647":{"id":"n1819790647","loc":[-85.6143306,41.9712488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790649":{"id":"n1819790649","loc":[-85.6147383,41.9707702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790654":{"id":"n1819790654","loc":[-85.6157361,41.9668459],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790657":{"id":"n1819790657","loc":[-85.6145666,41.9710733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790668":{"id":"n1819790668","loc":[-85.6166909,41.9642692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790671":{"id":"n1819790671","loc":[-85.6141482,41.9696538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790679":{"id":"n1819790679","loc":[-85.6148349,41.9705388],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790686":{"id":"n1819790686","loc":[-85.6139551,41.9695501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790696":{"id":"n1819790696","loc":[-85.6119703,41.9699087],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790704":{"id":"n1819790704","loc":[-85.6140731,41.9684174],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790706":{"id":"n1819790706","loc":[-85.6124745,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790718":{"id":"n1819790718","loc":[-85.6165407,41.9636868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790720":{"id":"n1819790720","loc":[-85.61388,41.9687365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790731":{"id":"n1819790731","loc":[-85.6165193,41.9639421],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790739":{"id":"n1819790739","loc":[-85.6146739,41.9699964],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790753":{"id":"n1819790753","loc":[-85.6173883,41.9665747],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790760":{"id":"n1819790760","loc":[-85.6133221,41.9712089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790767":{"id":"n1819790767","loc":[-85.6116698,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790779":{"id":"n1819790779","loc":[-85.6130753,41.9710573],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790791":{"id":"n1819790791","loc":[-85.6137083,41.9692869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790795":{"id":"n1819790795","loc":[-85.6141482,41.9679627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790798":{"id":"n1819790798","loc":[-85.6137727,41.9694305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790836":{"id":"n1819790836","loc":[-85.6143842,41.9676037],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790915":{"id":"n1819790915","loc":[-85.6148456,41.9702756],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790926":{"id":"n1819790926","loc":[-85.6138371,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790927":{"id":"n1819790927","loc":[-85.6141053,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790931":{"id":"n1819790931","loc":[-85.6162832,41.966814],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1821014625":{"id":"n1821014625","loc":[-85.5960611,41.9808498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014627":{"id":"n1821014627","loc":[-85.5565843,42.010982],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014629":{"id":"n1821014629","loc":[-85.5971541,41.9805808],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014632":{"id":"n1821014632","loc":[-85.6061837,41.9725907],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014633":{"id":"n1821014633","loc":[-85.5247773,42.025766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014635":{"id":"n1821014635","loc":[-85.5908938,41.9902384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014636":{"id":"n1821014636","loc":[-85.5917682,41.9860637],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014637":{"id":"n1821014637","loc":[-85.5456556,42.0166797],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014638":{"id":"n1821014638","loc":[-85.5795749,42.0032352],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014639":{"id":"n1821014639","loc":[-85.6103988,41.9723456],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014642":{"id":"n1821014642","loc":[-85.5818816,42.0022466],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014643":{"id":"n1821014643","loc":[-85.5570604,42.0091586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014644":{"id":"n1821014644","loc":[-85.5952886,41.9803792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014645":{"id":"n1821014645","loc":[-85.5780366,42.0040343],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014646":{"id":"n1821014646","loc":[-85.6050505,41.9751971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014647":{"id":"n1821014647","loc":[-85.5854435,41.9946162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014648":{"id":"n1821014648","loc":[-85.5452278,42.0168768],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014649":{"id":"n1821014649","loc":[-85.6023254,41.9780166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014651":{"id":"n1821014651","loc":[-85.5761899,42.0046783],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014653":{"id":"n1821014653","loc":[-85.5897351,41.9876707],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014657":{"id":"n1821014657","loc":[-85.5963601,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014658":{"id":"n1821014658","loc":[-85.5892952,41.9951983],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014660":{"id":"n1821014660","loc":[-85.5778328,42.0037194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014661":{"id":"n1821014661","loc":[-85.5541475,42.0125705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014663":{"id":"n1821014663","loc":[-85.5914047,41.9856469],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014664":{"id":"n1821014664","loc":[-85.6101681,41.9727723],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014665":{"id":"n1821014665","loc":[-85.5910172,41.9854696],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014666":{"id":"n1821014666","loc":[-85.5398688,42.0187699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014667":{"id":"n1821014667","loc":[-85.5218752,42.0282884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014668":{"id":"n1821014668","loc":[-85.5159582,42.0329384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014669":{"id":"n1821014669","loc":[-85.5898102,41.9847319],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014670":{"id":"n1821014670","loc":[-85.5734809,42.0066235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014671":{"id":"n1821014671","loc":[-85.5922939,41.980852],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014672":{"id":"n1821014672","loc":[-85.6023629,41.9781163],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014674":{"id":"n1821014674","loc":[-85.5409953,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014676":{"id":"n1821014676","loc":[-85.584435,41.9949909],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014677":{"id":"n1821014677","loc":[-85.5972399,41.9783835],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014678":{"id":"n1821014678","loc":[-85.5616738,42.0071337],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014681":{"id":"n1821014681","loc":[-85.5202994,42.0310755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014682":{"id":"n1821014682","loc":[-85.5915912,41.9857767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014684":{"id":"n1821014684","loc":[-85.6022288,41.977897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014687":{"id":"n1821014687","loc":[-85.5933024,41.9846362],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014688":{"id":"n1821014688","loc":[-85.5846871,41.9956169],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014689":{"id":"n1821014689","loc":[-85.5898209,41.99037],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014691":{"id":"n1821014691","loc":[-85.5448939,42.0149261],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014692":{"id":"n1821014692","loc":[-85.5977763,41.9786348],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014694":{"id":"n1821014694","loc":[-85.5767706,42.0034523],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014695":{"id":"n1821014695","loc":[-85.6103559,41.9726766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014697":{"id":"n1821014697","loc":[-85.5922134,41.9809876],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014698":{"id":"n1821014698","loc":[-85.5935277,41.9831728],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014700":{"id":"n1821014700","loc":[-85.5674674,42.0078273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014703":{"id":"n1821014703","loc":[-85.6021,41.9778053],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014704":{"id":"n1821014704","loc":[-85.5756763,42.0053737],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014705":{"id":"n1821014705","loc":[-85.5887695,41.9895207],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014707":{"id":"n1821014707","loc":[-85.6061073,41.9746866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014708":{"id":"n1821014708","loc":[-85.6033446,41.9751692],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014710":{"id":"n1821014710","loc":[-85.5180986,42.0322332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014711":{"id":"n1821014711","loc":[-85.543365,42.0163569],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014712":{"id":"n1821014712","loc":[-85.6030656,41.9753646],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014713":{"id":"n1821014713","loc":[-85.6104417,41.9704792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014714":{"id":"n1821014714","loc":[-85.5205716,42.030998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014716":{"id":"n1821014716","loc":[-85.516382,42.032536],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014717":{"id":"n1821014717","loc":[-85.5932863,41.9820882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014718":{"id":"n1821014718","loc":[-85.5361928,42.0194974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014720":{"id":"n1821014720","loc":[-85.6011613,41.9773586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014721":{"id":"n1821014721","loc":[-85.554287,42.0109124],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014722":{"id":"n1821014722","loc":[-85.5577524,42.0103425],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014725":{"id":"n1821014725","loc":[-85.5867256,41.9921004],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014726":{"id":"n1821014726","loc":[-85.5856045,41.9968807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014727":{"id":"n1821014727","loc":[-85.5545445,42.0106454],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014728":{"id":"n1821014728","loc":[-85.5923797,41.9842534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014729":{"id":"n1821014729","loc":[-85.5696346,42.0081462],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014730":{"id":"n1821014730","loc":[-85.5998322,41.9786884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014735":{"id":"n1821014735","loc":[-85.5337426,42.0218266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014736":{"id":"n1821014736","loc":[-85.5847944,41.994672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014740":{"id":"n1821014740","loc":[-85.5315271,42.0238669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014741":{"id":"n1821014741","loc":[-85.5248846,42.027085],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014742":{"id":"n1821014742","loc":[-85.5853376,41.997018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014743":{"id":"n1821014743","loc":[-85.5894883,41.988811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014745":{"id":"n1821014745","loc":[-85.6095311,41.9726226],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014746":{"id":"n1821014746","loc":[-85.5531511,42.0133416],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014747":{"id":"n1821014747","loc":[-85.5735882,42.007058],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014749":{"id":"n1821014749","loc":[-85.5428554,42.0164366],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014751":{"id":"n1821014751","loc":[-85.5395255,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014752":{"id":"n1821014752","loc":[-85.571378,42.0083176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014754":{"id":"n1821014754","loc":[-85.5541918,42.0113925],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014755":{"id":"n1821014755","loc":[-85.5278029,42.0250806],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014756":{"id":"n1821014756","loc":[-85.5936725,41.9827102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014757":{"id":"n1821014757","loc":[-85.5176266,42.0346677],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014758":{"id":"n1821014758","loc":[-85.6096692,41.9714245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014759":{"id":"n1821014759","loc":[-85.5770321,42.0034266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014761":{"id":"n1821014761","loc":[-85.5988921,41.9779369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014762":{"id":"n1821014762","loc":[-85.5811788,42.0024499],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014763":{"id":"n1821014763","loc":[-85.5154003,42.0381101],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014764":{"id":"n1821014764","loc":[-85.5155827,42.0374089],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014765":{"id":"n1821014765","loc":[-85.5891249,41.9884978],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014766":{"id":"n1821014766","loc":[-85.5313863,42.0238293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014768":{"id":"n1821014768","loc":[-85.593297,41.9833363],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014769":{"id":"n1821014769","loc":[-85.5849446,41.9957245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014770":{"id":"n1821014770","loc":[-85.5537774,42.0130847],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014771":{"id":"n1821014771","loc":[-85.6111766,41.9706069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014772":{"id":"n1821014772","loc":[-85.5585477,42.008989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014774":{"id":"n1821014774","loc":[-85.5928142,41.9852623],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014777":{"id":"n1821014777","loc":[-85.5891933,41.9882608],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014778":{"id":"n1821014778","loc":[-85.5926909,41.9817532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014779":{"id":"n1821014779","loc":[-85.5260272,42.0252201],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014781":{"id":"n1821014781","loc":[-85.5894615,41.9950468],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014782":{"id":"n1821014782","loc":[-85.5461063,42.0143242],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014783":{"id":"n1821014783","loc":[-85.5711527,42.0085886],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014784":{"id":"n1821014784","loc":[-85.5329379,42.0218624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014786":{"id":"n1821014786","loc":[-85.583047,42.0020252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014787":{"id":"n1821014787","loc":[-85.5758962,42.0054095],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014788":{"id":"n1821014788","loc":[-85.5626354,42.0077733],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014789":{"id":"n1821014789","loc":[-85.6029852,41.9755999],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014790":{"id":"n1821014790","loc":[-85.5892362,41.9886755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014791":{"id":"n1821014791","loc":[-85.5157597,42.0372017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014793":{"id":"n1821014793","loc":[-85.6054582,41.9751094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014794":{"id":"n1821014794","loc":[-85.5986936,41.9778412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014795":{"id":"n1821014795","loc":[-85.5880775,41.98976],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014796":{"id":"n1821014796","loc":[-85.5858727,41.9963624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014798":{"id":"n1821014798","loc":[-85.5792543,42.0035958],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014799":{"id":"n1821014799","loc":[-85.5921665,41.9838326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014801":{"id":"n1821014801","loc":[-85.599214,41.9782599],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014802":{"id":"n1821014802","loc":[-85.5571905,42.0090967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014803":{"id":"n1821014803","loc":[-85.5426891,42.0173612],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014804":{"id":"n1821014804","loc":[-85.5889626,41.9896404],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014805":{"id":"n1821014805","loc":[-85.5491264,42.0141648],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014806":{"id":"n1821014806","loc":[-85.5618897,42.0072631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014808":{"id":"n1821014808","loc":[-85.5573501,42.0109802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014809":{"id":"n1821014809","loc":[-85.5983463,41.9778031],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014810":{"id":"n1821014810","loc":[-85.5885173,41.9895128],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014811":{"id":"n1821014811","loc":[-85.6084998,41.9721143],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014812":{"id":"n1821014812","loc":[-85.5737598,42.0056389],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014814":{"id":"n1821014814","loc":[-85.5542173,42.0118132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014816":{"id":"n1821014816","loc":[-85.5277868,42.024451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014817":{"id":"n1821014817","loc":[-85.5403999,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014819":{"id":"n1821014819","loc":[-85.5983879,41.9791452],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014820":{"id":"n1821014820","loc":[-85.5891302,41.9897578],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014822":{"id":"n1821014822","loc":[-85.5930731,41.9805108],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014824":{"id":"n1821014824","loc":[-85.515395,42.0378471],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014825":{"id":"n1821014825","loc":[-85.5352755,42.0205136],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014826":{"id":"n1821014826","loc":[-85.5502744,42.0133398],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014828":{"id":"n1821014828","loc":[-85.5701295,42.0088256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014830":{"id":"n1821014830","loc":[-85.5888929,41.9953099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014832":{"id":"n1821014832","loc":[-85.5880077,41.9901547],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014833":{"id":"n1821014833","loc":[-85.5451192,42.0157072],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014834":{"id":"n1821014834","loc":[-85.6096478,41.9711932],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014835":{"id":"n1821014835","loc":[-85.5806424,42.0026532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014836":{"id":"n1821014836","loc":[-85.5911674,41.9868732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014838":{"id":"n1821014838","loc":[-85.5930302,41.9836571],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014839":{"id":"n1821014839","loc":[-85.588925,41.9938148],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014840":{"id":"n1821014840","loc":[-85.6111874,41.9705311],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014841":{"id":"n1821014841","loc":[-85.5680843,42.0075842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014842":{"id":"n1821014842","loc":[-85.6012793,41.9775062],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014843":{"id":"n1821014843","loc":[-85.5855562,41.9989777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014844":{"id":"n1821014844","loc":[-85.5506137,42.0131662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014845":{"id":"n1821014845","loc":[-85.5270049,42.025457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014846":{"id":"n1821014846","loc":[-85.5257054,42.025244],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014847":{"id":"n1821014847","loc":[-85.6011184,41.9771832],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014848":{"id":"n1821014848","loc":[-85.515534,42.0389234],"version":"2","changeset":"15306911","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:57:21Z","tags":{}},"n1821014850":{"id":"n1821014850","loc":[-85.5847032,42.0010347],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014853":{"id":"n1821014853","loc":[-85.5361499,42.019063],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014854":{"id":"n1821014854","loc":[-85.5439176,42.0165721],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014855":{"id":"n1821014855","loc":[-85.5838825,42.0017284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014857":{"id":"n1821014857","loc":[-85.5542173,42.0122317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014859":{"id":"n1821014859","loc":[-85.5708201,42.0089195],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014860":{"id":"n1821014860","loc":[-85.5844833,41.9954415],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014862":{"id":"n1821014862","loc":[-85.5223204,42.0295396],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014863":{"id":"n1821014863","loc":[-85.5777898,42.0035918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014864":{"id":"n1821014864","loc":[-85.591044,41.9898078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014865":{"id":"n1821014865","loc":[-85.5973204,41.980182],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014866":{"id":"n1821014866","loc":[-85.5699578,42.0085825],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014867":{"id":"n1821014867","loc":[-85.5210598,42.0305278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014868":{"id":"n1821014868","loc":[-85.5929108,41.9819008],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014869":{"id":"n1821014869","loc":[-85.5279799,42.0242995],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014870":{"id":"n1821014870","loc":[-85.5196114,42.0320539],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014871":{"id":"n1821014871","loc":[-85.5785449,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014872":{"id":"n1821014872","loc":[-85.588292,41.9895766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014873":{"id":"n1821014873","loc":[-85.5160172,42.0331775],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014874":{"id":"n1821014874","loc":[-85.5688849,42.0077016],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014876":{"id":"n1821014876","loc":[-85.5857976,41.9996036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014879":{"id":"n1821014879","loc":[-85.5990906,41.9780765],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014881":{"id":"n1821014881","loc":[-85.5483647,42.0144279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014883":{"id":"n1821014883","loc":[-85.5691209,42.0077972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014885":{"id":"n1821014885","loc":[-85.6076844,41.9721103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014886":{"id":"n1821014886","loc":[-85.6015489,41.9766147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014887":{"id":"n1821014887","loc":[-85.574822,42.0052802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014888":{"id":"n1821014888","loc":[-85.5880024,41.9899593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014890":{"id":"n1821014890","loc":[-85.5909421,41.9893772],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014892":{"id":"n1821014892","loc":[-85.5497326,42.0138141],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014893":{"id":"n1821014893","loc":[-85.5167106,42.0357811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014895":{"id":"n1821014895","loc":[-85.5844404,41.9952501],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014896":{"id":"n1821014896","loc":[-85.5362465,42.0192662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014898":{"id":"n1821014898","loc":[-85.5906095,41.9889147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014899":{"id":"n1821014899","loc":[-85.5590667,42.0089354],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014900":{"id":"n1821014900","loc":[-85.5921598,41.9844209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014902":{"id":"n1821014902","loc":[-85.5778971,42.0039266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014903":{"id":"n1821014903","loc":[-85.603012,41.9761981],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014904":{"id":"n1821014904","loc":[-85.6108977,41.9706787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014905":{"id":"n1821014905","loc":[-85.5685738,42.0076139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014906":{"id":"n1821014906","loc":[-85.5392787,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014907":{"id":"n1821014907","loc":[-85.5227885,42.0274972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014908":{"id":"n1821014908","loc":[-85.5857547,41.9961431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014910":{"id":"n1821014910","loc":[-85.5610354,42.0072812],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014911":{"id":"n1821014911","loc":[-85.5209632,42.0308705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014912":{"id":"n1821014912","loc":[-85.5709757,42.0087959],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014913":{"id":"n1821014913","loc":[-85.59231,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014914":{"id":"n1821014914","loc":[-85.5375245,42.0185865],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014916":{"id":"n1821014916","loc":[-85.5901548,41.9839841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014917":{"id":"n1821014917","loc":[-85.5611213,42.0086405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014918":{"id":"n1821014918","loc":[-85.5360426,42.0198122],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014919":{"id":"n1821014919","loc":[-85.5862817,41.9948691],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014921":{"id":"n1821014921","loc":[-85.5469807,42.0144438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014922":{"id":"n1821014922","loc":[-85.5761309,42.0053838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014924":{"id":"n1821014924","loc":[-85.516264,42.0332971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014925":{"id":"n1821014925","loc":[-85.5277224,42.0246661],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014926":{"id":"n1821014926","loc":[-85.5980016,41.9798231],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014928":{"id":"n1821014928","loc":[-85.5924548,41.9806965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014930":{"id":"n1821014930","loc":[-85.5899121,41.985023],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014931":{"id":"n1821014931","loc":[-85.5706015,42.0089492],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014932":{"id":"n1821014932","loc":[-85.515926,42.033046],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014933":{"id":"n1821014933","loc":[-85.5982377,41.9796796],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014936":{"id":"n1821014936","loc":[-85.5475721,42.0145253],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014938":{"id":"n1821014938","loc":[-85.5895701,41.9902323],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014939":{"id":"n1821014939","loc":[-85.6030495,41.9759947],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014942":{"id":"n1821014942","loc":[-85.6094721,41.9724989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014944":{"id":"n1821014944","loc":[-85.5921973,41.9811112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014945":{"id":"n1821014945","loc":[-85.5223526,42.0291332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014946":{"id":"n1821014946","loc":[-85.5965103,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014948":{"id":"n1821014948","loc":[-85.517766,42.0349227],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014950":{"id":"n1821014950","loc":[-85.5889894,41.990996],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014951":{"id":"n1821014951","loc":[-85.5601932,42.0092902],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014954":{"id":"n1821014954","loc":[-85.6028135,41.9764055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014955":{"id":"n1821014955","loc":[-85.5520621,42.0130666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014956":{"id":"n1821014956","loc":[-85.593002,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014957":{"id":"n1821014957","loc":[-85.515926,42.0369666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014960":{"id":"n1821014960","loc":[-85.5761255,42.003877],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014961":{"id":"n1821014961","loc":[-85.5716355,42.007911],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014962":{"id":"n1821014962","loc":[-85.5575378,42.0109045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014963":{"id":"n1821014963","loc":[-85.5735667,42.0068188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014964":{"id":"n1821014964","loc":[-85.5915214,41.9865861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014965":{"id":"n1821014965","loc":[-85.5866344,41.9923157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014967":{"id":"n1821014967","loc":[-85.5283138,42.0242256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014968":{"id":"n1821014968","loc":[-85.5177875,42.0355801],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014969":{"id":"n1821014969","loc":[-85.548071,42.0144934],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014972":{"id":"n1821014972","loc":[-85.5611159,42.0088557],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014973":{"id":"n1821014973","loc":[-85.541686,42.0188757],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014974":{"id":"n1821014974","loc":[-85.5917628,41.9862631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014975":{"id":"n1821014975","loc":[-85.5854864,41.9959478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014977":{"id":"n1821014977","loc":[-85.609102,41.9722317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014980":{"id":"n1821014980","loc":[-85.5761202,42.0042438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014982":{"id":"n1821014982","loc":[-85.5465944,42.0143601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014983":{"id":"n1821014983","loc":[-85.5173261,42.0342732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014984":{"id":"n1821014984","loc":[-85.5897297,41.9888509],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014985":{"id":"n1821014985","loc":[-85.5856688,41.999181],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014986":{"id":"n1821014986","loc":[-85.5344011,42.0217251],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014987":{"id":"n1821014987","loc":[-85.601467,41.9768203],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014988":{"id":"n1821014988","loc":[-85.5457254,42.0165123],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014989":{"id":"n1821014989","loc":[-85.6023482,41.9784332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014991":{"id":"n1821014991","loc":[-85.5361606,42.01823],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014992":{"id":"n1821014992","loc":[-85.5178465,42.0351139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014995":{"id":"n1821014995","loc":[-85.5634293,42.0078092],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014996":{"id":"n1821014996","loc":[-85.573497,42.0072015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014997":{"id":"n1821014997","loc":[-85.5976328,41.9799725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014998":{"id":"n1821014998","loc":[-85.5210651,42.0303166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015003":{"id":"n1821015003","loc":[-85.5222131,42.0288064],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015004":{"id":"n1821015004","loc":[-85.5897941,41.984405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015005":{"id":"n1821015005","loc":[-85.5975725,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015006":{"id":"n1821015006","loc":[-85.5765708,42.0034903],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015007":{"id":"n1821015007","loc":[-85.5250187,42.026559],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015009":{"id":"n1821015009","loc":[-85.5426998,42.0166279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015010":{"id":"n1821015010","loc":[-85.5957606,41.9806584],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015011":{"id":"n1821015011","loc":[-85.5262753,42.0252497],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015012":{"id":"n1821015012","loc":[-85.5266455,42.0253374],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015014":{"id":"n1821015014","loc":[-85.5515632,42.0130187],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015015":{"id":"n1821015015","loc":[-85.6024058,41.9765212],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015017":{"id":"n1821015017","loc":[-85.5175032,42.0357156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015018":{"id":"n1821015018","loc":[-85.5302718,42.0236039],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015019":{"id":"n1821015019","loc":[-85.6024005,41.9782759],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015020":{"id":"n1821015020","loc":[-85.5907758,41.9890821],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015021":{"id":"n1821015021","loc":[-85.6019445,41.9777215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015022":{"id":"n1821015022","loc":[-85.5942854,41.9800881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015024":{"id":"n1821015024","loc":[-85.5325826,42.0222711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015029":{"id":"n1821015029","loc":[-85.555093,42.0105316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015033":{"id":"n1821015033","loc":[-85.5249704,42.0270372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015034":{"id":"n1821015034","loc":[-85.5243965,42.0272205],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015038":{"id":"n1821015038","loc":[-85.5413426,42.0190749],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015039":{"id":"n1821015039","loc":[-85.5920431,41.9848175],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015041":{"id":"n1821015041","loc":[-85.5577685,42.0106015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015042":{"id":"n1821015042","loc":[-85.5453606,42.0158866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015045":{"id":"n1821015045","loc":[-85.5333228,42.0217889],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015046":{"id":"n1821015046","loc":[-85.5426891,42.0175924],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015048":{"id":"n1821015048","loc":[-85.5886836,41.9936474],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015050":{"id":"n1821015050","loc":[-85.6001152,41.9786467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015051":{"id":"n1821015051","loc":[-85.6094064,41.9723655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015053":{"id":"n1821015053","loc":[-85.605721,41.9749738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015055":{"id":"n1821015055","loc":[-85.6106791,41.9705048],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015057":{"id":"n1821015057","loc":[-85.5210437,42.0307071],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015059":{"id":"n1821015059","loc":[-85.5995694,41.9786725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015060":{"id":"n1821015060","loc":[-85.5371638,42.0182938],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015062":{"id":"n1821015062","loc":[-85.6111766,41.9704593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015065":{"id":"n1821015065","loc":[-85.577704,42.0034921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015067":{"id":"n1821015067","loc":[-85.5570067,42.0093699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015068":{"id":"n1821015068","loc":[-85.5920364,41.9845525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015069":{"id":"n1821015069","loc":[-85.5252065,42.0253954],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015072":{"id":"n1821015072","loc":[-85.5664159,42.0088517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015073":{"id":"n1821015073","loc":[-85.5880399,41.991905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015075":{"id":"n1821015075","loc":[-85.6099871,41.9727861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015076":{"id":"n1821015076","loc":[-85.5319603,42.0231478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015078":{"id":"n1821015078","loc":[-85.6036088,41.9751112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015080":{"id":"n1821015080","loc":[-85.5983128,41.9789179],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015082":{"id":"n1821015082","loc":[-85.5614069,42.0071395],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015083":{"id":"n1821015083","loc":[-85.60968,41.9709738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015086":{"id":"n1821015086","loc":[-85.5914195,41.9837351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015087":{"id":"n1821015087","loc":[-85.5895473,41.9948036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015090":{"id":"n1821015090","loc":[-85.5929913,41.9851905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015093":{"id":"n1821015093","loc":[-85.5907396,41.9838485],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015095":{"id":"n1821015095","loc":[-85.5893864,41.9880176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015096":{"id":"n1821015096","loc":[-85.5788024,42.0039807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015097":{"id":"n1821015097","loc":[-85.5630592,42.0078411],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015098":{"id":"n1821015098","loc":[-85.5350609,42.0211274],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015099":{"id":"n1821015099","loc":[-85.5967195,41.9808679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015100":{"id":"n1821015100","loc":[-85.5666734,42.0088119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015101":{"id":"n1821015101","loc":[-85.564694,42.0077675],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015103":{"id":"n1821015103","loc":[-85.6066544,41.9726527],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015104":{"id":"n1821015104","loc":[-85.6011827,41.9769838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015105":{"id":"n1821015105","loc":[-85.5972131,41.9776697],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015106":{"id":"n1821015106","loc":[-85.5880828,41.9903341],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015107":{"id":"n1821015107","loc":[-85.5510268,42.0130626],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015108":{"id":"n1821015108","loc":[-85.6102164,41.970543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015109":{"id":"n1821015109","loc":[-85.5905344,41.9853899],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015111":{"id":"n1821015111","loc":[-85.5888821,41.9913429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015112":{"id":"n1821015112","loc":[-85.606295,41.9741921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015114":{"id":"n1821015114","loc":[-85.5969556,41.9807443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015115":{"id":"n1821015115","loc":[-85.5882223,41.9934081],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015116":{"id":"n1821015116","loc":[-85.6104471,41.9724971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015118":{"id":"n1821015118","loc":[-85.5406091,42.0192162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015120":{"id":"n1821015120","loc":[-85.589955,41.9888429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015121":{"id":"n1821015121","loc":[-85.5598821,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015122":{"id":"n1821015122","loc":[-85.545598,42.0144097],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015123":{"id":"n1821015123","loc":[-85.5649528,42.0079965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015125":{"id":"n1821015125","loc":[-85.5883993,41.9917814],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015126":{"id":"n1821015126","loc":[-85.5295785,42.0239967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015129":{"id":"n1821015129","loc":[-85.5648723,42.0078809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015132":{"id":"n1821015132","loc":[-85.564989,42.0081103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015133":{"id":"n1821015133","loc":[-85.5946127,41.9800841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015134":{"id":"n1821015134","loc":[-85.583448,42.0019078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015135":{"id":"n1821015135","loc":[-85.5905934,41.9871842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015137":{"id":"n1821015137","loc":[-85.610608,41.9704752],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015138":{"id":"n1821015138","loc":[-85.5752257,42.0052939],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015139":{"id":"n1821015139","loc":[-85.5893864,41.9943491],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015140":{"id":"n1821015140","loc":[-85.5426247,42.0169866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015141":{"id":"n1821015141","loc":[-85.562001,42.0074526],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015142":{"id":"n1821015142","loc":[-85.5212046,42.0301094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015143":{"id":"n1821015143","loc":[-85.602214,41.9784531],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015144":{"id":"n1821015144","loc":[-85.5858687,41.9948293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015145":{"id":"n1821015145","loc":[-85.5608477,42.0074805],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015146":{"id":"n1821015146","loc":[-85.5651607,42.0083614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015147":{"id":"n1821015147","loc":[-85.5288288,42.0242495],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015149":{"id":"n1821015149","loc":[-85.5450334,42.0146989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015151":{"id":"n1821015151","loc":[-85.5578275,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015154":{"id":"n1821015154","loc":[-85.6056634,41.9724511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015155":{"id":"n1821015155","loc":[-85.5902179,41.9852742],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015156":{"id":"n1821015156","loc":[-85.5156256,42.0387157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015157":{"id":"n1821015157","loc":[-85.5734433,42.0059459],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015158":{"id":"n1821015158","loc":[-85.6050773,41.9731273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015160":{"id":"n1821015160","loc":[-85.5223419,42.0275233],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015163":{"id":"n1821015163","loc":[-85.6053562,41.972525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015164":{"id":"n1821015164","loc":[-85.5850412,41.9946082],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015165":{"id":"n1821015165","loc":[-85.5359031,42.0186326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015166":{"id":"n1821015166","loc":[-85.5608745,42.0077635],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015169":{"id":"n1821015169","loc":[-85.572876,42.0073189],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015171":{"id":"n1821015171","loc":[-85.5875424,41.9919188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015172":{"id":"n1821015172","loc":[-85.5240116,42.0272581],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015173":{"id":"n1821015173","loc":[-85.5318369,42.0236818],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015174":{"id":"n1821015174","loc":[-85.566888,42.0086923],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015175":{"id":"n1821015175","loc":[-85.5931522,41.9850669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015176":{"id":"n1821015176","loc":[-85.5604842,42.0093199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015177":{"id":"n1821015177","loc":[-85.5868168,41.9927543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015178":{"id":"n1821015178","loc":[-85.6052275,41.9732549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015179":{"id":"n1821015179","loc":[-85.5910118,41.9900431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015182":{"id":"n1821015182","loc":[-85.5610032,42.0082897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015183":{"id":"n1821015183","loc":[-85.5425443,42.0179431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015184":{"id":"n1821015184","loc":[-85.5843277,42.0014055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015186":{"id":"n1821015186","loc":[-85.5733307,42.0063564],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015188":{"id":"n1821015188","loc":[-85.5277385,42.0248694],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015189":{"id":"n1821015189","loc":[-85.5558427,42.0108168],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015190":{"id":"n1821015190","loc":[-85.5650587,42.0082618],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015191":{"id":"n1821015191","loc":[-85.5660351,42.0088278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015192":{"id":"n1821015192","loc":[-85.5849768,41.9980049],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015194":{"id":"n1821015194","loc":[-85.5359139,42.0188199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015195":{"id":"n1821015195","loc":[-85.593238,41.9849194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015197":{"id":"n1821015197","loc":[-85.5850841,41.9983239],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015199":{"id":"n1821015199","loc":[-85.5983396,41.9794283],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015204":{"id":"n1821015204","loc":[-85.5452801,42.0145355],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015205":{"id":"n1821015205","loc":[-85.5340685,42.0218407],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015207":{"id":"n1821015207","loc":[-85.5773272,42.0034186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015209":{"id":"n1821015209","loc":[-85.5535212,42.0132419],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015211":{"id":"n1821015211","loc":[-85.6107703,41.9706045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015212":{"id":"n1821015212","loc":[-85.6030066,41.9758193],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015213":{"id":"n1821015213","loc":[-85.5359943,42.0184213],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015214":{"id":"n1821015214","loc":[-85.5922993,41.9813305],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015215":{"id":"n1821015215","loc":[-85.5672689,42.0080465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015217":{"id":"n1821015217","loc":[-85.5160494,42.0365682],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015218":{"id":"n1821015218","loc":[-85.5401142,42.0190351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015219":{"id":"n1821015219","loc":[-85.5607632,42.0092282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015220":{"id":"n1821015220","loc":[-85.5866197,41.9947894],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015221":{"id":"n1821015221","loc":[-85.6017889,41.9765132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015222":{"id":"n1821015222","loc":[-85.5595978,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015226":{"id":"n1821015226","loc":[-85.5871494,41.9929018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015227":{"id":"n1821015227","loc":[-85.5857708,41.9998866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015228":{"id":"n1821015228","loc":[-85.5317135,42.0238094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015231":{"id":"n1821015231","loc":[-85.5733521,42.0061372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015233":{"id":"n1821015233","loc":[-85.5855991,42.0001936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015234":{"id":"n1821015234","loc":[-85.5213924,42.029962],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015235":{"id":"n1821015235","loc":[-85.6052221,41.9726567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015236":{"id":"n1821015236","loc":[-85.5763723,42.0035422],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015237":{"id":"n1821015237","loc":[-85.5858512,41.9966215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015238":{"id":"n1821015238","loc":[-85.567061,42.008439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015239":{"id":"n1821015239","loc":[-85.5250563,42.0269057],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015240":{"id":"n1821015240","loc":[-85.5347551,42.0214263],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015241":{"id":"n1821015241","loc":[-85.6098463,41.9707066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015242":{"id":"n1821015242","loc":[-85.5676927,42.0076519],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015243":{"id":"n1821015243","loc":[-85.516775,42.0322669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015244":{"id":"n1821015244","loc":[-85.5762275,42.0036538],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015245":{"id":"n1821015245","loc":[-85.5583639,42.0090949],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015246":{"id":"n1821015246","loc":[-85.5554041,42.0106432],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015247":{"id":"n1821015247","loc":[-85.5973364,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015248":{"id":"n1821015248","loc":[-85.6098945,41.9717513],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015249":{"id":"n1821015249","loc":[-85.6045315,41.9751511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015250":{"id":"n1821015250","loc":[-85.5579938,42.0092264],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015253":{"id":"n1821015253","loc":[-85.6058873,41.9724652],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015254":{"id":"n1821015254","loc":[-85.5869456,41.9947517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015255":{"id":"n1821015255","loc":[-85.5936565,41.9823713],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015256":{"id":"n1821015256","loc":[-85.5218269,42.0278102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015258":{"id":"n1821015258","loc":[-85.5887802,41.9905534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015259":{"id":"n1821015259","loc":[-85.5901924,41.9904515],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015263":{"id":"n1821015263","loc":[-85.5249222,42.0255787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015265":{"id":"n1821015265","loc":[-85.5175206,42.0321672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015266":{"id":"n1821015266","loc":[-85.5275722,42.0254034],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015267":{"id":"n1821015267","loc":[-85.6016226,41.9765451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015269":{"id":"n1821015269","loc":[-85.5569316,42.011032],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015271":{"id":"n1821015271","loc":[-85.6010714,41.9785209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015272":{"id":"n1821015272","loc":[-85.6050666,41.9729917],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015273":{"id":"n1821015273","loc":[-85.5891235,41.99529],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015274":{"id":"n1821015274","loc":[-85.515454,42.0376439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015276":{"id":"n1821015276","loc":[-85.5776021,42.0034443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015277":{"id":"n1821015277","loc":[-85.6041707,41.9751453],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015278":{"id":"n1821015278","loc":[-85.5444701,42.0167435],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015280":{"id":"n1821015280","loc":[-85.5923274,41.9852202],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015283":{"id":"n1821015283","loc":[-85.5893649,41.9900271],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015284":{"id":"n1821015284","loc":[-85.5933453,41.9804412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015285":{"id":"n1821015285","loc":[-85.5247237,42.026017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015286":{"id":"n1821015286","loc":[-85.5286182,42.0242477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015287":{"id":"n1821015287","loc":[-85.5904003,41.9888549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015288":{"id":"n1821015288","loc":[-85.6062146,41.9739369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015290":{"id":"n1821015290","loc":[-85.5762596,42.0052602],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015292":{"id":"n1821015292","loc":[-85.5849715,41.9975465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015293":{"id":"n1821015293","loc":[-85.585229,42.0006241],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015294":{"id":"n1821015294","loc":[-85.5926922,41.9805946],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015295":{"id":"n1821015295","loc":[-85.5703387,42.0089133],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015299":{"id":"n1821015299","loc":[-85.5789955,42.0038611],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015301":{"id":"n1821015301","loc":[-85.6072888,41.9721918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015302":{"id":"n1821015302","loc":[-85.5356349,42.0200992],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015304":{"id":"n1821015304","loc":[-85.5891772,41.994066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015306":{"id":"n1821015306","loc":[-85.606295,41.9744952],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015307":{"id":"n1821015307","loc":[-85.538871,42.0186583],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015308":{"id":"n1821015308","loc":[-85.587997,41.994971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015311":{"id":"n1821015311","loc":[-85.606869,41.9725809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015312":{"id":"n1821015312","loc":[-85.5171974,42.0339943],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015314":{"id":"n1821015314","loc":[-85.5327435,42.0220479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015315":{"id":"n1821015315","loc":[-85.5383439,42.0187282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015316":{"id":"n1821015316","loc":[-85.5248095,42.0263119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015318":{"id":"n1821015318","loc":[-85.5732502,42.0073051],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015319":{"id":"n1821015319","loc":[-85.5924226,41.9852663],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015321":{"id":"n1821015321","loc":[-85.5179001,42.0353052],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015322":{"id":"n1821015322","loc":[-85.5456771,42.0162413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015323":{"id":"n1821015323","loc":[-85.5936618,41.9829096],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015325":{"id":"n1821015325","loc":[-85.5656931,42.0086582],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015326":{"id":"n1821015326","loc":[-85.5448456,42.0150975],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015327":{"id":"n1821015327","loc":[-85.5220039,42.027615],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015329":{"id":"n1821015329","loc":[-85.517884,42.0354885],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015330":{"id":"n1821015330","loc":[-85.5576666,42.0101671],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015332":{"id":"n1821015332","loc":[-85.5368754,42.0181402],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015333":{"id":"n1821015333","loc":[-85.5367078,42.0181145],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015334":{"id":"n1821015334","loc":[-85.5903909,41.9904316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015335":{"id":"n1821015335","loc":[-85.5430767,42.0163587],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015336":{"id":"n1821015336","loc":[-85.5277492,42.0252878],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015337":{"id":"n1821015337","loc":[-85.5312146,42.0236898],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015338":{"id":"n1821015338","loc":[-85.5886568,41.991614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015339":{"id":"n1821015339","loc":[-85.5782498,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015341":{"id":"n1821015341","loc":[-85.562233,42.0076457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015342":{"id":"n1821015342","loc":[-85.588626,41.9952479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015343":{"id":"n1821015343","loc":[-85.5762865,42.005033],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015344":{"id":"n1821015344","loc":[-85.5850841,41.9971478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015346":{"id":"n1821015346","loc":[-85.5643144,42.0076936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015347":{"id":"n1821015347","loc":[-85.5164893,42.0359467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015348":{"id":"n1821015348","loc":[-85.5906846,41.9903541],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015349":{"id":"n1821015349","loc":[-85.557688,42.0107769],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015350":{"id":"n1821015350","loc":[-85.5363698,42.0181424],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015351":{"id":"n1821015351","loc":[-85.5939636,41.9801918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015352":{"id":"n1821015352","loc":[-85.5524041,42.0131644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015354":{"id":"n1821015354","loc":[-85.5308606,42.0236221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015355":{"id":"n1821015355","loc":[-85.5877449,41.9932367],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015356":{"id":"n1821015356","loc":[-85.519885,42.0318586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015357":{"id":"n1821015357","loc":[-85.5454035,42.0168431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015358":{"id":"n1821015358","loc":[-85.5970629,41.9781881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015359":{"id":"n1821015359","loc":[-85.5932541,41.9844767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015360":{"id":"n1821015360","loc":[-85.5970736,41.9778252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015361":{"id":"n1821015361","loc":[-85.537031,42.0181601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015362":{"id":"n1821015362","loc":[-85.5548355,42.0105156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015363":{"id":"n1821015363","loc":[-85.5168648,42.0336158],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015365":{"id":"n1821015365","loc":[-85.5870435,41.9919507],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015366":{"id":"n1821015366","loc":[-85.5719681,42.0075443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015367":{"id":"n1821015367","loc":[-85.5969985,41.9780446],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015368":{"id":"n1821015368","loc":[-85.5926761,41.98528],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015369":{"id":"n1821015369","loc":[-85.5224009,42.0293444],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015371":{"id":"n1821015371","loc":[-85.518737,42.0322651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015372":{"id":"n1821015372","loc":[-85.6064573,41.9726465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015373":{"id":"n1821015373","loc":[-85.5201103,42.0313088],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015375":{"id":"n1821015375","loc":[-85.5378182,42.0186844],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015376":{"id":"n1821015376","loc":[-85.6109741,41.9706882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015377":{"id":"n1821015377","loc":[-85.5993333,41.9785488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015378":{"id":"n1821015378","loc":[-85.5889787,41.9907368],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015380":{"id":"n1821015380","loc":[-85.6060161,41.9737375],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015381":{"id":"n1821015381","loc":[-85.5743016,42.0053679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015382":{"id":"n1821015382","loc":[-85.6014724,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015383":{"id":"n1821015383","loc":[-85.5574426,42.0091644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015385":{"id":"n1821015385","loc":[-85.5208613,42.0309302],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015386":{"id":"n1821015386","loc":[-85.5919023,41.9837789],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015387":{"id":"n1821015387","loc":[-85.5455484,42.0160221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015392":{"id":"n1821015392","loc":[-85.5801757,42.0028964],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015395":{"id":"n1821015395","loc":[-85.5493785,42.0139974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015396":{"id":"n1821015396","loc":[-85.5449475,42.015488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015398":{"id":"n1821015398","loc":[-85.611123,41.9706627],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015400":{"id":"n1821015400","loc":[-85.5935706,41.9822477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015401":{"id":"n1821015401","loc":[-85.5724254,42.0073508],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015403":{"id":"n1821015403","loc":[-85.5486812,42.0143442],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015404":{"id":"n1821015404","loc":[-85.5161835,42.0327711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015406":{"id":"n1821015406","loc":[-85.5921705,41.9851107],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015407":{"id":"n1821015407","loc":[-85.531912,42.0234069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015410":{"id":"n1821015410","loc":[-85.5292566,42.024176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015411":{"id":"n1821015411","loc":[-85.5845316,41.9948315],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015413":{"id":"n1821015413","loc":[-85.5217947,42.0280413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015414":{"id":"n1821015414","loc":[-85.5527367,42.013272],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015415":{"id":"n1821015415","loc":[-85.5191179,42.0321973],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015416":{"id":"n1821015416","loc":[-85.5540241,42.0128655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015418":{"id":"n1821015418","loc":[-85.5272892,42.0254849],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015419":{"id":"n1821015419","loc":[-85.5449744,42.016867],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015420":{"id":"n1821015420","loc":[-85.5852665,41.9986787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015421":{"id":"n1821015421","loc":[-85.6102701,41.972186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015423":{"id":"n1821015423","loc":[-85.6026365,41.9764972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015427":{"id":"n1821015427","loc":[-85.5898692,41.9841498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015429":{"id":"n1821015429","loc":[-85.5422546,42.0183855],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015430":{"id":"n1821015430","loc":[-85.5866505,41.9925549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015431":{"id":"n1821015431","loc":[-85.5234376,42.0273577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015432":{"id":"n1821015432","loc":[-85.6096746,41.9727284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015433":{"id":"n1821015433","loc":[-85.5824891,42.0021567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015434":{"id":"n1821015434","loc":[-85.5923905,41.9841139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015435":{"id":"n1821015435","loc":[-85.5874565,41.9948014],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015437":{"id":"n1821015437","loc":[-85.6055279,41.9734423],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015438":{"id":"n1821015438","loc":[-85.5299379,42.0237376],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015439":{"id":"n1821015439","loc":[-85.5155022,42.0383651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015442":{"id":"n1821015442","loc":[-85.527422,42.0254711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015443":{"id":"n1821015443","loc":[-85.5920699,41.9849291],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015444":{"id":"n1821015444","loc":[-85.5639711,42.0077494],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015445":{"id":"n1821015445","loc":[-85.5162586,42.0361777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015446":{"id":"n1821015446","loc":[-85.5220039,42.029695],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015448":{"id":"n1821015448","loc":[-85.5176641,42.0356956],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015449":{"id":"n1821015449","loc":[-85.5930556,41.9841577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015451":{"id":"n1821015451","loc":[-85.5320783,42.0228848],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015452":{"id":"n1821015452","loc":[-85.5170096,42.0357235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015453":{"id":"n1821015453","loc":[-85.5571355,42.009613],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015454":{"id":"n1821015454","loc":[-85.5609979,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015455":{"id":"n1821015455","loc":[-85.6097336,41.9708342],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015456":{"id":"n1821015456","loc":[-85.5884476,41.9904218],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"w170843846":{"id":"w170843846","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{"source":"Bing","waterway":"river"},"nodes":["n1819790555","n1819790762","n1819790547","n1819790618","n1819790898","n1819790796","n1819790534","n1819790543","n1819790541","n1819790687","n1819790877","n1819790811","n1819790670"]},"w209083541":{"id":"w209083541","version":"1","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:46Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1821014848","n1821015156","n1821015439","n1821014763","n1821014824","n1821015274","n1821014764","n1821014791","n1821014957","n1821015217","n1821015445","n1821015347","n1821014893","n1821015452","n1821015017","n1821015448","n1821014968","n1821015329","n1821015321","n1821014992","n1821014948","n1821014757","n1821014983","n1821015312","n1821015363","n1821014924","n1821014873","n1821014932","n1821014668","n1821015404","n1821014716","n1821015243","n1821015265","n1821014710","n1821015371","n1821015415","n1821014870","n1821015356","n1821015373","n1821014681","n1821014714","n1821015385","n1821014911","n1821015057","n1821014867","n1821014998","n1821015142","n1821015234","n1821015446","n1821014862","n1821015369","n1821014945","n1821015003","n1821014667","n1821015413","n1821015256","n1821015327","n1821015160","n1821014907","n1821015431","n1821015172","n1821015034","n1821014741","n1821015033","n1821015239","n1821015007","n1821015316","n1821015285","n1821014633","n1821015263","n1821015069","n1821014846","n1821014779","n1821015011","n1821015012","n1821014845","n1821015418","n1821015442","n1821015266","n1821015336","n1821014755","n1821015188","n1821014925","n1821014816","n1821014869","n1821014967","n1821015286","n1821015147","n1821015410","n1821015126","n1821015438","n1821015018","n1821015354","n1821015337","n1821014766","n1821014740","n1821015228","n1821015173","n1821015407","n1821015076","n1821015451","n1821015024","n1821015314","n1821014784","n1821015045","n1821014735","n1821015205","n1821014986","n1821015240","n1821015098","n1821014825","n1821015302","n1821014918","n1821014718","n1821014896","n1821014853","n1821015194","n1821015165","n1821015213","n1821014991","n1821015350","n1821015333","n1821015332","n1821015361","n1821015060","n1821014914","n1821015375","n1821015315","n1821015307","n1821014906","n1821014751","n1821014666","n1821015218","n1821014817","n1821015118","n1821014674","n1821015038","n1821014973","n1821015429","n1821015183","n1821015046","n1821014803","n1821015140","n1821015009","n1821014749","n1821015335","n1821014711","n1821014854","n1821015278","n1821015419","n1821014648","n1821015357","n1821014637","n1821014988","n1821015322","n1821015387","n1821015042","n1821014833","n1821015396","n1821015326","n1821014691","n1821015149","n1821015204","n1821015122","n1821014782","n1821014982","n1821014921","n1821014936","n1821014969","n1821014881","n1821015403","n1821014805","n1821015395","n1821014892","n1821014826","n1821014844","n1821015107","n1821015014","n1821014955","n1821015352","n1821015414","n1821014746","n1821015209","n1821014770","n1821015416","n1821014661","n1821014857","n1821014814","n1821014754","n1821014721","n1821014727","n1821015362","n1821015029","n1821015246","n1821015189","n1821014627","n1821015269","n1821014808","n1821014962","n1821015349","n1821015041","n1821014722","n1821015330","n1821015453","n1821015067","n1821014643","n1821014802","n1821015383","n1821015151","n1821015250","n1821015245","n1821014772","n1821014899","n1821015222","n1821015121","n1821014951","n1821015176","n1821015219","n1821015454","n1821014972","n1821014917","n1821015182","n1821015166","n1821015145","n1821014910","n1821015082","n1821014678","n1821014806","n1821015141","n1821015341","n1821014788","n1821015097","n1821014995","n1821015444","n1821015346","n1821015101","n1821015129","n1821015123","n1821015132","n1821015190","n1821015146","n1821015325","n1821015191","n1821015072","n1821015100","n1821015174","n1821015238","n1821015215","n1821014700","n1821015242","n1821014841","n1821014905","n1821014874","n1821014883","n1821014729","n1821014866","n1821014828","n1821015295","n1821014931","n1821014859","n1821014912","n1821014783","n1821014752","n1821014961","n1821015366","n1821015401","n1821015169","n1821015318","n1821014996","n1821014747","n1821014963","n1821014670","n1821015186","n1821015231","n1821015157","n1821014812","n1821015381","n1821014887","n1821015138","n1821014704","n1821014787","n1821014922","n1821015290","n1821015343","n1821014651","n1821014980","n1821014960","n1821015244","n1821015236","n1821015006","n1821014694","n1821014759","n1821015207","n1821015276","n1821015065","n1821014863","n1821014660","n1821014902","n1821014645","n1821015339","n1821014871","n1821015096","n1821015299","n1821014798","n1821014638","n1821015392","n1821014835","n1821014762","n1821014642","n1821015433","n1821014786","n1821015134","n1821014855","n1821015184","n1821014850","n1821015293","n1821015233","n1821015227","n1821014876","n1821014985","n1821014843","n1821015420","n1821015197","n1821015192","n1821015292","n1821015344","n1821014742","n1821014726","n1821015237","n1821014796","n1821014908","n1821014975","n1821014769","n1821014688","n1821014860","n1821014895","n1821014676","n1821015411","n1821014736","n1821015164","n1821014647","n1821015144","n1821014919","n1821015220","n1821015254","n1821015435","n1821015308","n1821015342","n1821014830","n1821015273","n1821014658","n1821014781","n1821015087","n1821015139","n1821015304","n1821014839","n1821015048","n1821015115","n1821015355","n1821015226","n1821015177","n1821015430","n1821014965","n1821014725","n1821015365","n1821015171","n1821015073","n1821015125","n1821015338","n1821015111","n1821014950","n1821015378","n1821015258","n1821015456","n1821015106","n1821014832","n1821014888","n1821014795","n1821014872","n1821014810","n1821014705","n1821014804","n1821014820","n1821015283","n1821014938","n1821014689","n1821015259","n1821015334","n1821015348","n1821014635","n1821015179","n1821014864","n1821014890","n1821015020","n1821014898","n1821015287","n1821015120","n1821014984","n1821014743","n1821014790","n1821014765","n1821014777","n1821015095","n1821014653","n1821015135","n1821014836","n1821014964","n1821014974","n1821014636","n1821014682","n1821014663","n1821014665","n1821015109","n1821015155","n1821014930","n1821014669","n1821015004","n1821015427","n1821014916","n1821015093","n1821015086","n1821015386","n1821014799","n1821014913","n1821015434","n1821014728","n1821014900","n1821015068","n1821015039","n1821015443","n1821015406","n1821015280","n1821015319","n1821015368","n1821014774","n1821015090","n1821015175","n1821015195","n1821014687","n1821015359","n1821015449","n1821014956","n1821014838","n1821014768","n1821014698","n1821015323","n1821014756","n1821015255","n1821015400","n1821014717","n1821014868","n1821014778","n1821015214","n1821014944","n1821014697","n1821014671","n1821014928","n1821015294","n1821014822","n1821015284","n1821015351","n1821015022","n1821015133","n1821014644","n1821015010","n1821014625","n1821014657","n1821014946","n1821015099","n1821015114","n1821014629","n1821014865","n1821014997","n1821014926","n1821014933","n1821015199","n1821014819","n1821015080","n1821014692","n1821014677","n1821015358","n1821015367","n1821015360","n1821015105","n1821015247","n1821015005","n1821014809","n1821014794","n1821014761","n1821014879","n1821014801","n1821015377","n1821015059","n1821014730","n1821015050","n1821015271","n1821015143","n1821014989","n1821015019","n1821014672","n1821014649","n1821014684","n1821014703","n1821015021","n1821015382","n1821014842","n1821014720","n1821014847","n1821015104","n1821014987","n1821014886","n1821015267","n1821015221","n1821015015","n1821015423","n1821014954","n1821014903","n1821014939","n1821015212","n1821014789","n1821014712","n1821014708","n1821015078","n1821015277","n1821015249","n1821014646","n1821014793","n1821015053","n1821014707","n1821015306","n1821015112","n1821015288","n1821015380","n1821015437","n1821015178","n1821015158","n1821015272","n1821015235","n1821015163","n1821015154","n1821015253","n1821014632","n1821015372","n1821015103","n1821015311","n1821015301","n1821014885","n1821014811","n1821014977","n1821015051","n1821014942","n1821014745","n1821015432","n1821015075","n1821014664","n1821014695","n1821015116","n1821014639","n1821015421","n1821015248","n1821014758","n1821014834","n1821015083","n1821015455","n1821015241","n1821015108","n1821014713","n1821015137","n1821015055","n1821015211","n1821014904","n1821015376","n1821015398","n1821014771","n1821014840","n1821015062","n1819790554","n1819790560","n1819790767","n1819790696","n1819790706","n1819790606","n1819790607","n1819790544","n1819790779","n1819790760","n1819790926","n1819790927","n1819790647","n1819790657","n1819790649","n1819790679","n1819790915","n1819790739","n1819790549","n1819790671","n1819790686","n1819790798","n1819790791","n1819790563","n1819790720","n1819790704","n1819790795","n1819790836","n1819790622","n1819790615","n1819790654","n1819790931","n1819790595","n1819790753","n1819790612","n1819790623","n1819790564","n1819790552","n1819790645","n1819790625","n1819790605","n1819790668","n1819790731","n1819790718","n1819790781","n1819790665","n1819790659","n1819790726","n1819790642","n1819790854","n1819790697","n1819790867","n1819790833","n1819790555","n1819790774","n1819790881","n1819790530","n1819790909","n1819790891","n1819790590","n1819790738","n1819790609","n1819790528","n1819790674","n1819790583","n1819790559","n1819790863","n1819790912","n1819790685","n1819790913"]},"n185955128":{"id":"n185955128","loc":[-85.6189367,41.9519432],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948818":{"id":"n185948818","loc":[-85.616755,41.952231],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:44Z","tags":{}},"n185978819":{"id":"n185978819","loc":[-85.616773,41.954737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978821":{"id":"n185978821","loc":[-85.616699,41.954742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n2138420714":{"id":"n2138420714","loc":[-85.6176304,41.9515154],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420715":{"id":"n2138420715","loc":[-85.6177355,41.9515717],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420716":{"id":"n2138420716","loc":[-85.6192901,41.951573],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420718":{"id":"n2138420718","loc":[-85.6171481,41.9513579],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420719":{"id":"n2138420719","loc":[-85.6165981,41.9519199],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420720":{"id":"n2138420720","loc":[-85.6165719,41.9519922],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420721":{"id":"n2138420721","loc":[-85.6165832,41.9520757],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420722":{"id":"n2138420722","loc":[-85.6166355,41.9521453],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420723":{"id":"n2138420723","loc":[-85.6169161,41.9522788],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420724":{"id":"n2138420724","loc":[-85.6170882,41.9522538],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420725":{"id":"n2138420725","loc":[-85.6189204,41.9514674],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420726":{"id":"n2138420726","loc":[-85.6180346,41.9514735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420727":{"id":"n2138420727","loc":[-85.6180362,41.9515719],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420728":{"id":"n2138420728","loc":[-85.6189204,41.9515727],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420744":{"id":"n2138420744","loc":[-85.618919,41.9519571],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420745":{"id":"n2138420745","loc":[-85.6194575,41.9522374],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420746":{"id":"n2138420746","loc":[-85.6181777,41.9536179],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420747":{"id":"n2138420747","loc":[-85.6176582,41.9533658],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420748":{"id":"n2138420748","loc":[-85.6179871,41.9530242],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420749":{"id":"n2138420749","loc":[-85.618429,41.9532476],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420750":{"id":"n2138420750","loc":[-85.6185538,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420751":{"id":"n2138420751","loc":[-85.6180765,41.9528677],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420752":{"id":"n2138420752","loc":[-85.6180394,41.9528855],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420753":{"id":"n2138420753","loc":[-85.6193752,41.9521695],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420754":{"id":"n2138420754","loc":[-85.6181374,41.9535376],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420755":{"id":"n2138420755","loc":[-85.6179898,41.9535545],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420756":{"id":"n2138420756","loc":[-85.6177286,41.9534228],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420757":{"id":"n2138420757","loc":[-85.6181011,41.9530292],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420759":{"id":"n2138420759","loc":[-85.6185158,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420760":{"id":"n2138420760","loc":[-85.6191318,41.9520425],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420761":{"id":"n2138420761","loc":[-85.6182348,41.9529815],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420762":{"id":"n2138420762","loc":[-85.6184853,41.9524248],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420763":{"id":"n2138420763","loc":[-85.6186764,41.9525193],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420764":{"id":"n2138420764","loc":[-85.6189421,41.9526483],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420765":{"id":"n2138420765","loc":[-85.6182875,41.9531222],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420766":{"id":"n2138420766","loc":[-85.6179141,41.9535163],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420767":{"id":"n2138420767","loc":[-85.6178363,41.9535735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n185948824":{"id":"n185948824","loc":[-85.6165667,41.9529715],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n2138420758":{"id":"n2138420758","loc":[-85.6184408,41.953201],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138422349":{"id":"n2138422349","loc":[-85.6175136,41.9533346],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422350":{"id":"n2138422350","loc":[-85.6171867,41.9531679],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422351":{"id":"n2138422351","loc":[-85.61722,41.9531305],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422352":{"id":"n2138422352","loc":[-85.6171889,41.9531158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422353":{"id":"n2138422353","loc":[-85.6171733,41.9531284],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422354":{"id":"n2138422354","loc":[-85.616765,41.9529207],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422355":{"id":"n2138422355","loc":[-85.6167565,41.9529355],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422356":{"id":"n2138422356","loc":[-85.6164772,41.9527911],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422357":{"id":"n2138422357","loc":[-85.6168227,41.9524261],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422358":{"id":"n2138422358","loc":[-85.6171913,41.9526158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422359":{"id":"n2138422359","loc":[-85.6172403,41.9525589],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422360":{"id":"n2138422360","loc":[-85.6172097,41.952542],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422361":{"id":"n2138422361","loc":[-85.6173948,41.9523512],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422362":{"id":"n2138422362","loc":[-85.6174256,41.9523678],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422363":{"id":"n2138422363","loc":[-85.6174831,41.9523086],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422364":{"id":"n2138422364","loc":[-85.6173316,41.9522289],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422365":{"id":"n2138422365","loc":[-85.6174507,41.9521024],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422366":{"id":"n2138422366","loc":[-85.6174773,41.9521155],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422367":{"id":"n2138422367","loc":[-85.6176577,41.9519232],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422368":{"id":"n2138422368","loc":[-85.6176336,41.9519105],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422369":{"id":"n2138422369","loc":[-85.617747,41.9517861],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422370":{"id":"n2138422370","loc":[-85.6182675,41.9520559],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422371":{"id":"n2138422371","loc":[-85.6182105,41.9521219],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422372":{"id":"n2138422372","loc":[-85.6183863,41.9522203],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422373":{"id":"n2138422373","loc":[-85.6180984,41.9525266],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422374":{"id":"n2138422374","loc":[-85.6179159,41.9524295],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422375":{"id":"n2138422375","loc":[-85.617854,41.9524979],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422376":{"id":"n2138422376","loc":[-85.6177686,41.9524531],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422377":{"id":"n2138422377","loc":[-85.6174716,41.9527765],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422378":{"id":"n2138422378","loc":[-85.6178545,41.9529756],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138425424":{"id":"n2138425424","loc":[-85.6171736,41.9536385],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425425":{"id":"n2138425425","loc":[-85.6180159,41.9535782],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425426":{"id":"n2138425426","loc":[-85.6181068,41.9536282],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425427":{"id":"n2138425427","loc":[-85.6180673,41.9542678],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425428":{"id":"n2138425428","loc":[-85.6178636,41.9542634],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425429":{"id":"n2138425429","loc":[-85.6176204,41.9542046],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425430":{"id":"n2138425430","loc":[-85.6174366,41.9541031],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425431":{"id":"n2138425431","loc":[-85.6172942,41.9539781],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425432":{"id":"n2138425432","loc":[-85.6172171,41.9538399],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425433":{"id":"n2138425433","loc":[-85.6168138,41.9543266],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425434":{"id":"n2138425434","loc":[-85.6167779,41.9538098],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425435":{"id":"n2138425435","loc":[-85.6165849,41.9537073],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425441":{"id":"n2138425441","loc":[-85.616458,41.9543184],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425442":{"id":"n2138425442","loc":[-85.6166428,41.954345],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425445":{"id":"n2138425445","loc":[-85.6181332,41.9514117],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425446":{"id":"n2138425446","loc":[-85.6183263,41.9514111],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425447":{"id":"n2138425447","loc":[-85.6185033,41.9514102],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425449":{"id":"n2138425449","loc":[-85.6186809,41.9514093],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425451":{"id":"n2138425451","loc":[-85.6188681,41.9514082],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138436008":{"id":"n2138436008","loc":[-85.6170474,41.9513604],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436009":{"id":"n2138436009","loc":[-85.6164937,41.9519586],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436010":{"id":"n2138436010","loc":[-85.616497,41.9520725],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436011":{"id":"n2138436011","loc":[-85.6165654,41.9521645],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436012":{"id":"n2138436012","loc":[-85.6166631,41.9522178],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436013":{"id":"n2138436013","loc":[-85.6167327,41.9522554],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436014":{"id":"n2138436014","loc":[-85.6172383,41.9525125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138439319":{"id":"n2138439319","loc":[-85.6170432,41.9524057],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439320":{"id":"n2138439320","loc":[-85.617691,41.9517107],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439321":{"id":"n2138439321","loc":[-85.6177727,41.9516794],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439322":{"id":"n2138439322","loc":[-85.619085,41.9516811],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439323":{"id":"n2138439323","loc":[-85.6179432,41.952895],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439324":{"id":"n2138439324","loc":[-85.6180389,41.9529384],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439325":{"id":"n2138439325","loc":[-85.6176303,41.9533604],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439326":{"id":"n2138439326","loc":[-85.6175538,41.9534396],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439327":{"id":"n2138439327","loc":[-85.6173806,41.9523658],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439328":{"id":"n2138439328","loc":[-85.6171841,41.9522542],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439329":{"id":"n2138439329","loc":[-85.6172077,41.9524958],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439330":{"id":"n2138439330","loc":[-85.6171235,41.9525809],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439331":{"id":"n2138439331","loc":[-85.6180938,41.9527349],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439332":{"id":"n2138439332","loc":[-85.6177023,41.9525253],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439333":{"id":"n2138439333","loc":[-85.6175543,41.9526865],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439334":{"id":"n2138439334","loc":[-85.6179589,41.9528783],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n185948820":{"id":"n185948820","loc":[-85.6163249,41.952701],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948822":{"id":"n185948822","loc":[-85.6163757,41.952855],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185955123":{"id":"n185955123","loc":[-85.6198103,41.9510408],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185958839":{"id":"n185958839","loc":[-85.611651,41.954761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965033":{"id":"n185965033","loc":[-85.614195,41.954754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185976502":{"id":"n185976502","loc":[-85.617375,41.947559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:32Z","tags":{}},"n185976504":{"id":"n185976504","loc":[-85.6174164,41.9510804],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185978828":{"id":"n185978828","loc":[-85.613542,41.954756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n185978830":{"id":"n185978830","loc":[-85.610373,41.954774],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n2138420713":{"id":"n2138420713","loc":[-85.6174641,41.9506942],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:11Z","tags":{}},"n2138420717":{"id":"n2138420717","loc":[-85.6173027,41.9512895],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420768":{"id":"n2138420768","loc":[-85.61745,41.9501974],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420773":{"id":"n2138420773","loc":[-85.6174135,41.9489136],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138425436":{"id":"n2138425436","loc":[-85.6159148,41.9538036],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425437":{"id":"n2138425437","loc":[-85.6159534,41.9539677],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425438":{"id":"n2138425438","loc":[-85.6160306,41.9540846],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425439":{"id":"n2138425439","loc":[-85.6161354,41.954181],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425440":{"id":"n2138425440","loc":[-85.6162733,41.954263],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425443":{"id":"n2138425443","loc":[-85.6183273,41.9510826],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425444":{"id":"n2138425444","loc":[-85.6181354,41.9510835],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425448":{"id":"n2138425448","loc":[-85.6185033,41.9510816],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425450":{"id":"n2138425450","loc":[-85.6186816,41.9510808],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425452":{"id":"n2138425452","loc":[-85.6188641,41.9510818],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138435984":{"id":"n2138435984","loc":[-85.6167607,41.9501009],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138436000":{"id":"n2138436000","loc":[-85.6173169,41.947558],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436001":{"id":"n2138436001","loc":[-85.6173362,41.948883],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436002":{"id":"n2138436002","loc":[-85.6167791,41.9492952],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436003":{"id":"n2138436003","loc":[-85.6167543,41.949349],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436004":{"id":"n2138436004","loc":[-85.6167648,41.9509125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436005":{"id":"n2138436005","loc":[-85.6168832,41.9510412],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436006":{"id":"n2138436006","loc":[-85.6170045,41.9511417],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436007":{"id":"n2138436007","loc":[-85.6170624,41.9512483],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436017":{"id":"n2138436017","loc":[-85.6168094,41.9492729],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436021":{"id":"n2138436021","loc":[-85.6167553,41.9494886],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436023":{"id":"n2138436023","loc":[-85.6167585,41.9499707],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436025":{"id":"n2138436025","loc":[-85.6167567,41.9497018],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"w203838284":{"id":"w203838284","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425424","n2138425425","n2138425426","n2138425427","n2138425428","n2138425429","n2138425430","n2138425431","n2138425432","n2138425424"]},"w203837928":{"id":"w203837928","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"highway":"service"},"nodes":["n2138420717","n2138420718","n2138420719","n2138420720","n2138420721","n2138420722","n185948818","n2138420723","n2138420724","n2138420715"]},"w203839364":{"id":"w203839364","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439331","n2138439332"]},"w203837932":{"id":"w203837932","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420744","n2138420745","n2138420746","n2138420747","n2138420748","n2138420749","n2138420750","n2138420751","n2138420744"]},"w203839362":{"id":"w203839362","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439327","n2138439328"]},"w203839363":{"id":"w203839363","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439329","n2138439330"]},"w203837933":{"id":"w203837933","version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:42Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n185955128","n2138420760","n2138420753","n2138420764","n2138420759","n2138420758","n2138420754","n2138420755","n2138420766","n2138420756"]},"w203837936":{"id":"w203837936","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420765","n2138420766"]},"w17966364":{"id":"w17966364","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"access":"private","highway":"service","name":"Collins Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Collins","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313686","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185961362","n185976502","n2138420773","n2138420768","n2138420713","n185976504","n2138420717","n2138420714","n2138420715","n2138420727","n2138420728","n2138420716"]},"w203838040":{"id":"w203838040","version":"3","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"amenity":"school","area":"yes","building":"yes","name":"Three Rivers Middle School"},"nodes":["n2138422349","n2138422350","n2138422351","n2138422352","n2138422353","n2138422354","n2138422355","n2138422356","n2138422357","n2138439330","n2138422358","n2138422359","n2138422360","n2138436014","n2138439327","n2138422361","n2138422362","n2138422363","n2138422364","n2138422365","n2138422366","n2138422367","n2138422368","n2138422369","n2138422370","n2138422371","n2138422372","n2138422373","n2138422374","n2138422375","n2138422376","n2138439332","n2138439333","n2138422377","n2138422378","n2138422349"]},"w17964049":{"id":"w17964049","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:46Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335181","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955120","n185955123","n2138420716","n185955128","n2138420762","n2138420752","n2138420761","n2138420759"]},"w41074899":{"id":"w41074899","version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"highway":"secondary","name":"E Hoffman St","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978817","n185978819","n185978821","n185965033","n185978828","n185958839","n185978830"]},"w203839365":{"id":"w203839365","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439333","n2138439334"]},"w203837935":{"id":"w203837935","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420762","n2138420763","n2138420764"]},"w203838287":{"id":"w203838287","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425446","n2138425447","n2138425448","n2138425443","n2138425446"]},"w203837934":{"id":"w203837934","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420760","n2138420763","n2138420761"]},"w203838289":{"id":"w203838289","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425449","n2138425451","n2138425452","n2138425450","n2138425449"]},"w17963047":{"id":"w17963047","version":"4","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331535","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948818","n2138436013","n185948820","n185948822","n185948824","n2138439326","n2138420767","n2138420766"]},"w203839091":{"id":"w203839091","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:44Z","tags":{"highway":"footway"},"nodes":["n185976502","n2138436000","n2138436001","n2138436017","n2138436002","n2138436003","n2138436021","n2138436025","n2138436023","n2138435984","n2138436004","n2138436005","n2138436006","n2138436007","n2138436008","n2138436009","n2138436010","n2138436011","n2138436012","n2138436013","n2138439319","n2138439329","n2138436014"]},"w204830797":{"id":"w204830797","version":"1","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:37Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420756","n2138420757","n2138420765","n2138420758"]},"w203838288":{"id":"w203838288","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425447","n2138425449","n2138425450","n2138425448","n2138425447"]},"w203838285":{"id":"w203838285","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425433","n2138425434","n2138425435","n2138425436","n2138425437","n2138425438","n2138425439","n2138425440","n2138425441","n2138425442","n2138425433"]},"w203838286":{"id":"w203838286","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425443","n2138425444","n2138425445","n2138425446","n2138425443"]},"w203837929":{"id":"w203837929","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420725","n2138420726","n2138420727","n2138420728","n2138420725"]},"w203839361":{"id":"w203839361","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439319","n2138439328","n2138439320","n2138439321","n2138439322","n2138439331","n2138439334","n2138439323","n2138439324","n2138439325","n2138439326"]},"n394381698":{"id":"n394381698","loc":[-85.614471,41.954755],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381699":{"id":"n394381699","loc":[-85.6152,41.954744],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381700":{"id":"n394381700","loc":[-85.615201,41.954081],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381701":{"id":"n394381701","loc":[-85.614426,41.954042],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381702":{"id":"n394381702","loc":[-85.616319,41.954749],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381704":{"id":"n394381704","loc":[-85.616152,41.954752],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381706":{"id":"n394381706","loc":[-85.615201,41.95483],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490775":{"id":"n394490775","loc":[-85.613971,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490782":{"id":"n394490782","loc":[-85.614372,41.954841],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185958835":{"id":"n185958835","loc":[-85.611615,41.953704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958837":{"id":"n185958837","loc":[-85.611636,41.953938],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958842":{"id":"n185958842","loc":[-85.611187,41.951686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958844":{"id":"n185958844","loc":[-85.611087,41.951741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958845":{"id":"n185958845","loc":[-85.611034,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958847":{"id":"n185958847","loc":[-85.611016,41.95196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958849":{"id":"n185958849","loc":[-85.610989,41.95328],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958851":{"id":"n185958851","loc":[-85.611021,41.953484],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958852":{"id":"n185958852","loc":[-85.611091,41.953603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958853":{"id":"n185958853","loc":[-85.6112,41.953661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958855":{"id":"n185958855","loc":[-85.611364,41.953686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965031":{"id":"n185965031","loc":[-85.614204,41.953696],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965032":{"id":"n185965032","loc":[-85.6142,41.953978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965062":{"id":"n185965062","loc":[-85.614617,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965064":{"id":"n185965064","loc":[-85.61463,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965066":{"id":"n185965066","loc":[-85.614642,41.953436],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965068":{"id":"n185965068","loc":[-85.6146,41.953551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965071":{"id":"n185965071","loc":[-85.614487,41.95363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965073":{"id":"n185965073","loc":[-85.614354,41.953672],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185966288":{"id":"n185966288","loc":[-85.61179,41.953695],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966290":{"id":"n185966290","loc":[-85.612232,41.953685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966293":{"id":"n185966293","loc":[-85.613438,41.953677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966349":{"id":"n185966349","loc":[-85.611323,41.951653],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966351":{"id":"n185966351","loc":[-85.611892,41.951642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966352":{"id":"n185966352","loc":[-85.612216,41.951641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966353":{"id":"n185966353","loc":[-85.613111,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966354":{"id":"n185966354","loc":[-85.613396,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966355":{"id":"n185966355","loc":[-85.614221,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185973839":{"id":"n185973839","loc":[-85.61341,41.951919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185973840":{"id":"n185973840","loc":[-85.613438,41.953308],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185980222":{"id":"n185980222","loc":[-85.613781,41.955164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980223":{"id":"n185980223","loc":[-85.613815,41.955237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980225":{"id":"n185980225","loc":[-85.613837,41.955316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185990345":{"id":"n185990345","loc":[-85.612211,41.951977],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:01Z","tags":{}},"n185955743":{"id":"n185955743","loc":[-85.613873,41.95635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185980227":{"id":"n185980227","loc":[-85.613851,41.955415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980229":{"id":"n185980229","loc":[-85.613918,41.957134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n394381703":{"id":"n394381703","loc":[-85.616287,41.955674],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381705":{"id":"n394381705","loc":[-85.615164,41.955676],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490777":{"id":"n394490777","loc":[-85.613973,41.955979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490780":{"id":"n394490780","loc":[-85.614364,41.955987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"w17965307":{"id":"w17965307","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:58Z","tags":{"highway":"residential","name":"Bates Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bates","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313640:15313641","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185966349","n185966351","n185966352","n185966353","n185966354","n185966355","n185965062"]},"w17967957":{"id":"w17967957","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:16Z","tags":{"highway":"residential","name":"Krum Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Krum","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313643","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966352","n185990345","n185966290"]},"w17964508":{"id":"w17964508","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:11Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185958844","n185958845","n185958847","n185958849","n185958851","n185958852","n185958853","n185958855","n185958835"]},"w17964507":{"id":"w17964507","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:10Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313629","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185958837","n185958839"]},"w34367080":{"id":"w34367080","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381699","n394381706","n394381705","n394381703","n394381702","n394381704","n394381699"]},"w17965302":{"id":"w17965302","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:55Z","tags":{"highway":"residential","name":"Clausen Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Clausen","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313630:15313631:15313632","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185966288","n185966290","n185966293","n185965031"]},"w17965156":{"id":"w17965156","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:54Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327962","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965062","n185965064","n185965066","n185965068","n185965071","n185965073","n185965031"]},"w34369812":{"id":"w34369812","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490775","n394490777","n394490780","n394490782","n394490775"]},"w17965151":{"id":"w17965151","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:52Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965031","n185965032","n185965033"]},"w17966756":{"id":"w17966756","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:10Z","tags":{"access":"private","highway":"service","name":"Lockport Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Lockport","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313621:15314402","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978828","n185980222","n185980223","n185980225","n185980227","n185955743","n185980229"]},"w17966056":{"id":"w17966056","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:57Z","tags":{"highway":"residential","name":"Angell Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Angell","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313639","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966354","n185973839","n185973840","n185966293"]},"w34367079":{"id":"w34367079","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381700","n394381701","n394381698","n394381699","n394381700"]},"n185955744":{"id":"n185955744","loc":[-85.611753,41.956208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185988932":{"id":"n185988932","loc":[-85.6159,41.956336],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988934":{"id":"n185988934","loc":[-85.6159158,41.9590646],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988935":{"id":"n185988935","loc":[-85.6157358,41.959364],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n2138447007":{"id":"n2138447007","loc":[-85.6130784,41.9590689],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447008":{"id":"n2138447008","loc":[-85.6133328,41.9593805],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447003":{"id":"n2138447003","loc":[-85.610238,41.9547745],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447004":{"id":"n2138447004","loc":[-85.6102652,41.9566041],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447005":{"id":"n2138447005","loc":[-85.610325,41.9568823],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447006":{"id":"n2138447006","loc":[-85.6105644,41.9571383],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447009":{"id":"n2138447009","loc":[-85.6135946,41.959948],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447010":{"id":"n2138447010","loc":[-85.6136071,41.9629372],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447011":{"id":"n2138447011","loc":[-85.6134392,41.9633182],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447012":{"id":"n2138447012","loc":[-85.6130151,41.9636073],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447013":{"id":"n2138447013","loc":[-85.6122729,41.9637125],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447014":{"id":"n2138447014","loc":[-85.6056682,41.963752],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"w17964174":{"id":"w17964174","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:41Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314401","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955743","n185955744"]},"w17967743":{"id":"w17967743","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:06Z","tags":{"access":"private","highway":"service","name":"Manistee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manistee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326121:15326126:15326127:15326116","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971574","n185988932","n185971407","n185981301","n185967987","n185988934","n185988935"]},"w203839666":{"id":"w203839666","version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{"highway":"residential","name":"Hov Aire Drive"},"nodes":["n2138447003","n2138447004","n2138447005","n2138447006","n2138447007","n2138447008","n2138447009","n2138447010","n2138447011","n2138447012","n2138447013","n2138447014"]}}';/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+            if (entity.tags.oneway === '-1') coordinates.reverse();
+
+            d3.geo.stream({
+                type: 'LineString',
+                coordinates: coordinates
+            }, projection.stream(clip({
+                lineStart: function() {},
+                lineEnd: function() {
+                    a = null;
+                },
+                point: function(x, y) {
+                    b = [x, y];
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+                    if (a) {
+                        var span = iD.geo.euclideanDistance(a, b) - offset;
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+                        if (span >= 0) {
+                            var angle = Math.atan2(b[1] - a[1], b[0] - a[0]),
+                                dx = dt * Math.cos(angle),
+                                dy = dt * Math.sin(angle),
+                                p = [a[0] + offset * Math.cos(angle),
+                                     a[1] + offset * Math.sin(angle)];
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.af = {};
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+                            var segment = 'M' + a[0] + ',' + a[1] +
+                                          'L' + p[0] + ',' + p[1];
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+                            for (span -= dt; span >= 0; span -= dt) {
+                                p[0] += dx;
+                                p[1] += dy;
+                                segment += 'L' + p[0] + ',' + p[1];
+                            }
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+                            segment += 'L' + b[0] + ',' + b[1];
+                            segments.push({id: entity.id, index: i, d: segment});
+                        }
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.cs = {
-    "modes": {
-        "add_area": {
-            "title": "Plocha",
-            "description": "Přidat do mapy parky, budovy, jezera či jiné plochy.",
-            "tail": "Klikněte na mapu a začněte tak kreslit plochu, jako třeba park, jezero nebo budovu."
-        },
-        "add_line": {
-            "title": "Cesta",
-            "description": "Přidat do mapy silnice, ulice, stezky, potoky či jiné cesty.",
-            "tail": "Klikněte na mapu a začněte tak kreslit silnice, stezky nebo trasy."
-        },
-        "add_point": {
-            "title": "Uzel",
-            "description": "Přidat do mapy restaurace, poštovní schránky, zastávky či jiné uzly.",
-            "tail": "Klikněte na mapu a přidejte tak uzel."
-        },
-        "browse": {
-            "title": "Procházet",
-            "description": "Posunutí a zvětšení mapy."
-        },
-        "draw_area": {
-            "tail": "Uzly k oblasti přidáte kliknutím. Oblast uzavřete kliknutím na první uzel."
-        },
-        "draw_line": {
-            "tail": "Uzly k cestě přidáte kliknutím. Když kliknete na jinou cestu, připojíte cesty k sobě. Cestu ukončíte dvojklikem."
-        }
+                        offset = -span;
+                        i++;
+                    }
+
+                    a = b;
+                }
+            })));
+
+            return segments;
+        };
     },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Uzel přidán.",
-                "vertex": "Uzel byl přidán k cestě."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Vytvořen začátek cesty.",
-                "area": "Vytvořen začátek plochy."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Cesta pokračuje.",
-                "area": "Plocha pokračuje."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Kreslení přerušeno."
-        },
-        "change_tags": {
-            "annotation": "Upraveny vlastnosti."
-        },
-        "circularize": {
-            "title": "Zakulatit",
-            "description": {
-                "line": "Udělat z této cesty kruh.",
-                "area": "Udělat z této plochy kruh."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Cesta zakulacena.",
-                "area": "Plocha zakulacena."
-            },
-            "not_closed": "Z objektu nelze udělat kruh, protože nejde o smyčku."
-        },
-        "orthogonalize": {
-            "title": "Zhranatit",
-            "description": "Udělat do pravého úhle.",
-            "key": "Q",
-            "annotation": {
-                "line": "Úhly cesty do pravého úhle.",
-                "area": "Rohy plochy do pravého úhle."
-            },
-            "not_closed": "Nejde udělat do pravého úhle, protože to není smyčka."
-        },
-        "delete": {
-            "title": "Smazat",
-            "description": "Odstranit objekt z mapy.",
-            "annotation": {
-                "point": "Uzel byl smazán.",
-                "vertex": "Uzel byl odstraněn z cesty.",
-                "line": "Cesta byla smazána.",
-                "area": "Plocha byla smazána.",
-                "relation": "Relace byla smazána.",
-                "multiple": "Bylo odstraněno {n} objektů."
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Cesta byla připojena k uzlu.",
-                "vertex": "Cesta byla připojena k jiné cestě.",
-                "line": "Cesta byla připojena k cestě.",
-                "area": "Cesta byla připojena k ploše."
-            }
-        },
-        "disconnect": {
-            "title": "Rozpojit",
-            "description": "Rozpojit tyto cesty.",
-            "key": "D",
-            "annotation": "Odpojené cesty.",
-            "not_connected": "Není tu žádná cesta/plocha, kterou by bylo možné rozdělit."
-        },
-        "merge": {
-            "title": "Spojit",
-            "description": "Spojit tyto cesty.",
-            "key": "C",
-            "annotation": "Bylo spojeno {n} cest.",
-            "not_eligible": "Objekty nelze spojit v jeden.",
-            "not_adjacent": "Tyto cesty nelze spojit v jednu, protože nekončí v jednom bodě."
-        },
-        "move": {
-            "title": "Posunout",
-            "description": "Posunout objekt na jiné místo.",
-            "key": "M",
-            "annotation": {
-                "point": "Uzel posunut.",
-                "vertex": "Uzel v cestě byl posunut.",
-                "line": "Cesta byla posunuta.",
-                "area": "Plocha byla posunuta.",
-                "multiple": "Objekty byly posunuty."
-            },
-            "incomplete_relation": "Tento objekt nelze posunout, protože je stažený jen částečně."
-        },
-        "rotate": {
-            "title": "Otočit",
-            "description": "Otočit tento objekt okolo středu.",
-            "key": "R",
-            "annotation": {
-                "line": "Cesta byla otočena.",
-                "area": "Plocha byla pootočena."
+
+    MultipolygonMemberTags: function(graph) {
+        return function(entity) {
+            var tags = entity.tags;
+            graph.parentRelations(entity).forEach(function(relation) {
+                if (relation.isMultipolygon()) {
+                    tags = _.extend({}, relation.tags, tags);
+                }
+            });
+            return tags;
+        };
+    }
+};
+iD.svg.Areas = function(projection) {
+    // Patterns only work in Firefox when set directly on element.
+    // (This is not a bug: https://bugzilla.mozilla.org/show_bug.cgi?id=750632)
+    var patterns = {
+        wetland: 'wetland',
+        beach: 'beach',
+        scrub: 'scrub',
+        construction: 'construction',
+        military: 'construction',
+        cemetery: 'cemetery',
+        grave_yard: 'cemetery',
+        meadow: 'meadow',
+        farm: 'farmland',
+        farmland: 'farmland',
+        orchard: 'orchard'
+    };
+
+    var patternKeys = ['landuse', 'natural', 'amenity'];
+
+    function setPattern(d) {
+        for (var i = 0; i < patternKeys.length; i++) {
+            if (patterns.hasOwnProperty(d.tags[patternKeys[i]])) {
+                this.style.fill = this.style.stroke = 'url("#pattern-' + patterns[d.tags[patternKeys[i]]] + '")';
+                return;
             }
-        },
-        "reverse": {
-            "title": "Převrátit",
-            "description": "Změnit směr cesty na opačný.",
-            "key": "V",
-            "annotation": "Ceta byla převrácena."
-        },
-        "split": {
-            "title": "Rozdělit",
-            "description": {
-                "line": "Zvolenou cestu rozdělit v tomto uzlu na dvě.",
-                "area": "Rozdělit hranici této plochy na dvě.",
-                "multiple": "Cestu/hranici plochy v tomto uzlu rozdělit na dvě."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Rozdělit cestu.",
-                "area": "Rozdělit hranici plochy.",
-                "multiple": "Rozdělit {n} cest/hranic plochy."
-            },
-            "not_eligible": "Cestu není možné rozdělit v jejím začátku ani konci.",
-            "multiple_ways": "Není jasné, kterou cestu rozdělit."
         }
-    },
-    "nothing_to_undo": "Není co vracet.",
-    "nothing_to_redo": "Není co znovu provádět.",
-    "just_edited": "Právě jste upravil OpenStreetMap!",
-    "browser_notice": "Tento editor funguje ve Firefoxu, Chrome, Safari, Opeře a Internet Exploreru od verze 9. Musíte tedy upgradovat na novější verzi prohlížeče; nebo použijte editor Potlatch 2.",
-    "view_on_osm": "Zobrazit na OSM",
-    "zoom_in_edit": "zvětšit mapu kvůli editaci",
-    "logout": "odhlásit",
-    "loading_auth": "Připojuji se na OpenStreetMap...",
-    "report_a_bug": "ohlásit chybu",
-    "commit": {
-        "title": "Uložit změny",
-        "description_placeholder": "Stručný popis vašich úprav",
-        "message_label": "Zpráva k publikaci",
-        "upload_explanation": "Změny provedené pod jménem {user} budou viditelné na všech mapách postavených na datech z OpenStreetMap.",
-        "save": "Uložit",
-        "cancel": "Storno",
-        "warnings": "Varování",
-        "modified": "Upraveno",
-        "deleted": "Smazáno",
-        "created": "Vytvořeno"
-    },
-    "contributors": {
-        "list": "Přispěli {users}",
-        "truncated_list": "Přispěli {users} a {count} další."
-    },
-    "geocoder": {
-        "title": "Hledat místo",
-        "placeholder": "Hledat místo",
-        "no_results": "Místo '{name}' nenalezeno"
-    },
-    "geolocate": {
-        "title": "Ukázat moji polohu"
-    },
-    "inspector": {
-        "no_documentation_combination": "K této kombinaci tagů není k dispozici dokumentace",
-        "no_documentation_key": "K tomuto klíči není k dispozici dokumentace",
-        "show_more": "Zobrazit víc",
-        "new_tag": "Nová vlastnost",
-        "view_on_osm": "Zobrazit na openstreetmap.org",
-        "editing_feature": "Editace {feature}",
-        "additional": "Další vlastnosti",
-        "choose": "Zvolte typ objektu",
-        "results": "{search} nalezeno {n} krát",
-        "reference": "Zobrazit na Wiki OpenStreetMap",
-        "back_tooltip": "Změnit typ vlastnosti"
-    },
-    "background": {
-        "title": "Pozadí",
-        "description": "Nastavení pozadí",
-        "percent_brightness": "{opacity}% viditelnost",
-        "fix_misalignment": "Zarovnat pozadí",
-        "reset": "vrátit na začátek"
-    },
-    "restore": {
-        "heading": "Vaše úpravy nebyly uloženy",
-        "description": "Přejete si obnovit úpravy, které při minulém spuštění nebyly uloženy?",
-        "restore": "Obnovit",
-        "reset": "Zahodit"
-    },
-    "save": {
-        "title": "Uložit",
-        "help": "Uložit změny do OpenStreetMap, aby je viděli ostatní uživatelé.",
-        "no_changes": "Není co uložit.",
-        "error": "Při ukládání došlo k chybě.",
-        "uploading": "Ukládám úpravy na OpenStreetMap.",
-        "unsaved_changes": "Vaše úpravy nebyly uloženy"
-    },
-    "splash": {
-        "welcome": "Vítá vás iD, program pro editaci OpenStreetMap",
-        "text": "iD je uživatelsky přátelský, ale silný nástroj pro editaci nejrozsáhlejší svobodné mapy světa. Toto je vývojová verze {version}. Více informací na {website}, chybová hlášení na {github}.",
-        "walkthrough": "Prohlídka editoru",
-        "start": "Začít s editací"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "Vaše úpravy nebyly uloženy. Když přepnete mapový server, změny budou ztraceny. Opravdu chcete přepnout server?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Popis",
-        "on_wiki": "{tag} na wiki.osm.org",
-        "used_with": "užito s {type}"
-    },
-    "validations": {
-        "untagged_point": "Neotagovaný bod",
-        "untagged_line": "Neotagovaná cesta",
-        "untagged_area": "Neotagovaná plocha",
-        "many_deletions": "Pokoušíte se smazat {n} objektů. Opravdu to chcete provést? Odstranilo by je z globální mapy na openstreetmap.org.",
-        "tag_suggests_area": "Tag {tag} obvykle označuje oblast - ale objekt není oblast",
-        "deprecated_tags": "Zastaralé tagy: {tag}"
-    },
-    "zoom": {
-        "in": "Zvětšit",
-        "out": "Zmenšit"
-    },
-    "cannot_zoom": "Aktuální nastavení nedovoluje větší zvětšení.",
-    "gpx": {
-        "local_layer": "Vlastní GPX soubor",
-        "drag_drop": "Přetáhněte do editoru soubor .gpx"
-    },
-    "help": {
-        "title": "Pomoc",
-        "help": "# Pomoc\n\nToto je editor [OpenStreetMap](http://www.openstreetmap.org/), svobodné a otevřené mapy světa, vytvářené jako open-source a open-data. S pomocí editoru můžete přidávat a upravovat data v mapě třeba ve svém okolí, a zlepšovat tak celou mapu pro každého.\n\nVaše úpravy mapy budou viditelné každým, kdo používá OpenStreetMap. Je ovšem třeba mít uživatelský účet na OpenStreetMap, který si můžete [snadno a zdarma zřídit](https://www.openstreetmap.org/user/new).\n\n[iD editor](http://ideditor.com/) je projekt vytvářený spoluprácí více lidí, se [zdrojovým kódem na GitHubu](https://github.com/systemed/iD).\n",
-        "editing_saving": "# Editace a publikace\n\nTento editor pracuje primárně online - právě teď k němu přistupujete prostřednictvím webové stránky.\n\n### Výběr objektů\n\nChcete-li vybrat objekt, jako třeba silnici nebo obchod, klikněte na něj v mapě. Objekt se takto označí, otevře se boční panel s vlastnostmi objektu a zobrazí se nabídka akcemi, které lze s objektem provést.\n\nMůžete označit a pracovat s několika objekty najednou: podržte klávesu 'Shift', klikněte na mapu a táhněte myší či prstem. Takto se označí všechny objekty uvnitř příslušného obdélníku - a můžete pracovat se všemi najednou.\n\n### Publikace změn\n\nKdyž provedete nějaké úpravy objektů v mapě, úpravy jsou uloženy lokálně ve vašem prohlížeči. Nebojte se, když uděláte chybu - úpravy lze vrátit zpět tlačítkem Zpět, a naopak je znovu provést tlačítkem Znovu.\n\nPo dokončení bloku úprav klikněte na 'Uložit' - například když jste upravili jednu část města, a chcete začít úpravy někde jinde. Zobrazí se přehled úprav, které jste provedli, editor tyto úpravy zkontroluje, a když se mu něco nebude zdát, zobrazí varování a návrhy.\n\nKdyž bude všechno v pořádku, můžete přidat krátký komentář s vysvětlením vašich úprav a kliknout znovu 'Uložit'. Úpravy se tímto publikují na [OpenStreetMap.org](http://www.openstreetmap.org/), kde za chvíli budou viditelné pro všechny uživatele a bude na nich možné provádět další úpravy.\n\nPokud nechcete nebo nemůžete pravy dokončit teď, stačí prostě odejít ze stránky pryč. Až příště navštívíte stránku (na stejném počítači, ve stejném prohlížeči), editor vám nabídne možnost znovu načíst neuložené úpravy.\n",
-        "gps": "# GPS\n\nData z GPS jsou nejdůvěryhodnějším zdrojem informací pro OpenStreetMap. Tento editor podporuje zobrazení tras ve formátu `.gpx` nahrané z vašeho počítače. Takovou trasu můžete nasbírat s pomocí nejrůznějších aplikací pro mobily nebo s pomocí specializované navigace.\n\nPro více informací, jak provést takový sběr dat z GPS, viz např. návod anglicky:\n[Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/).\n\nPokud už máte záznam ve formátu GPX, přetáhněte soubor myší či prstem nad editor. Rozpozná-li editor formát souboru, zobrazí se trasa v mapě jako světle zelená čára. Pokud chcete tuto novou vrstvu zapnout, vypnout nebo zvětšit na velikost pracovní plochy, klikněte na menu 'Nastavení pozadí' na levé straně.\n\nTrasa GPX nebude přímo nahrána na OpenStreetMap - pouze slouží jako vodítko, podle kterého se můžete orientovat, a podle kterého můžete kreslit nové objekty do mapy.\n",
-        "imagery": "# Podkladové snímky\n\nSatelitní a letecké snímky jsou důležitým zdrojem mapových dat. V menu 'Nastavení pozadí' na levé straně editoru je k dispozici kombinace leteckých snímků, satelitních snímků a dalších volně dostupných podkladů.\n\nImplicitní vrstvou jsou satelitní snímky [Bing](http://www.bing.com/maps/), ale jakmile se přesunete do konkrétní geografické oblasti a nastavíte dostatečné zvětšení, nabídnou se vám nové mapové podklady. V některých státech, jako jsou Spojené státy, Francie či Dánskou, jsou k dispozici snímky ve vysoké kvalitě. Pro velkou část České republiky jsou také dostupné velmi detailní satelitní snímky (data z katastru nemovitostí zatím editor nepodporuje).\n\nPodklady jsou někdy posunuté vůči mapě, kvůli chybám na straně poskytovatele snímů. Pokud uvidíte, že je mnoho cest v mapě posunuto vůči pozadí, nesnažte se je přesunout - posun obvykle znamená chybu v podkladu a ne chybu v mapě. V menu 'Nastavení pozadí' klikněte na 'Zarovnat pozadí' - to vám dovolí posunout podklad, aby lícoval s mapou.\n",
-        "addresses": "# Adresy\n\nJednou z nejužitečnějších součástí mapy jsou adresy.\n\nAdresy jsou sice někdy chápány jako označení kousku ulice, ale v OpenStreetMap jsou uloženy v budovách či objektech podél ulice. V České republice jsou adresy většinou samostatným uzlem uvnitř budovy.\n\nMůžete tedy data o adrese vkládat jak k samostatnému bodu, tak k ploše označující budovu.\nNejlepším zdrojem informací o adresách je průzkum přímo v terénu či jeho dobrá znalost - stejně jako u celého projektu OpenStreetMap je přebírání dat z komerčních zdrojů typu Google Maps přísně zakázáno.\n"
-    },
-    "intro": {
-        "startediting": {
-            "save": "Nezapomeňte pravidelně ukládat své úpravy!",
-            "start": "Začít mapovat!"
+        this.style.fill = this.style.stroke = '';
+    }
+
+    return function drawAreas(surface, graph, entities, filter) {
+        var path = iD.svg.Path(projection, graph, true),
+            areas = {},
+            multipolygon;
+
+        for (var i = 0; i < entities.length; i++) {
+            var entity = entities[i];
+            if (entity.geometry(graph) !== 'area') continue;
+
+            multipolygon = iD.geo.isSimpleMultipolygonOuterMember(entity, graph);
+            if (multipolygon) {
+                areas[multipolygon.id] = {
+                    entity: multipolygon.mergeTags(entity.tags),
+                    area: Math.abs(entity.area(graph))
+                };
+            } else if (!areas[entity.id]) {
+                areas[entity.id] = {
+                    entity: entity,
+                    area: Math.abs(entity.area(graph))
+                };
+            }
         }
-    },
-    "presets": {
-        "categories": {
-            "category-landuse": {
-                "name": "Využití krajiny"
-            },
-            "category-path": {
-                "name": "Pěšina"
-            },
-            "category-rail": {
-                "name": "Železnice"
-            },
-            "category-road": {
-                "name": "Silnice"
-            },
-            "category-water": {
-                "name": "Vodní tok"
+
+        areas = d3.values(areas).filter(function hasPath(a) { return path(a.entity); });
+        areas.sort(function areaSort(a, b) { return b.area - a.area; });
+        areas = _.pluck(areas, 'entity');
+
+        var strokes = areas.filter(function(area) {
+            return area.type === 'way';
+        });
+
+        var data = {
+            clip: areas,
+            shadow: strokes,
+            stroke: strokes,
+            fill: areas
+        };
+
+        var clipPaths = surface.selectAll('defs').selectAll('.clipPath')
+           .filter(filter)
+           .data(data.clip, iD.Entity.key);
+
+        clipPaths.enter()
+           .append('clipPath')
+           .attr('class', 'clipPath')
+           .attr('id', function(entity) { return entity.id + '-clippath'; })
+           .append('path');
+
+        clipPaths.selectAll('path')
+           .attr('d', path);
+
+        clipPaths.exit()
+           .remove();
+
+        var areagroup = surface
+            .select('.layer-areas')
+            .selectAll('g.areagroup')
+            .data(['fill', 'shadow', 'stroke']);
+
+        areagroup.enter()
+            .append('g')
+            .attr('class', function(d) { return 'layer areagroup area-' + d; });
+
+        var paths = areagroup
+            .selectAll('path')
+            .filter(filter)
+            .data(function(layer) { return data[layer]; }, iD.Entity.key);
+
+        // Remove exiting areas first, so they aren't included in the `fills`
+        // array used for sorting below (https://github.com/openstreetmap/iD/issues/1903).
+        paths.exit()
+            .remove();
+
+        var fills = surface.selectAll('.area-fill path.area')[0];
+
+        var bisect = d3.bisector(function(node) {
+            return -node.__data__.area(graph);
+        }).left;
+
+        function sortedByArea(entity) {
+            if (this.__data__ === 'fill') {
+                return fills[bisect(fills, -entity.area(graph))];
             }
-        },
-        "fields": {
-            "access": {
-                "label": "Přístup",
-                "types": {
-                    "access": "Všem",
-                    "foot": "Pěší",
-                    "motor_vehicle": "Motorová vozidla",
-                    "bicycle": "Jízdní kola",
-                    "horse": "Koně"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Povolen",
-                        "description": "Přístup oficiálně, ze zákona povolen"
-                    },
-                    "no": {
-                        "title": "Zakázán",
-                        "description": "Přístup širší veřejnosti zakázán"
-                    },
-                    "permissive": {
-                        "title": "Do odvolání",
-                        "description": "Vstup je povolen do té doby, než majitel povolení zruší"
-                    },
-                    "private": {
-                        "title": "Soukromé",
-                        "description": "Přístup je povolen jen s individuálním svolením majitele"
-                    },
-                    "designated": {
-                        "title": "Explicitně povolen",
-                        "description": "Přístup je povolen podle značení či místních předpisů"
-                    },
-                    "destination": {
-                        "title": "Jen do místa",
-                        "description": "Průjezd zakázán, průchod zakázán apod."
-                    }
-                }
-            },
-            "address": {
-                "label": "Adresa",
-                "placeholders": {
-                    "housename": "Název budovy",
-                    "number": "123",
-                    "street": "Ulice",
-                    "city": "Město"
-                }
-            },
-            "admin_level": {
-                "label": "Administrativní úroveň"
-            },
-            "aeroway": {
-                "label": "Typ"
-            },
-            "amenity": {
-                "label": "Typ"
-            },
-            "atm": {
-                "label": "Bankomat"
-            },
-            "barrier": {
-                "label": "Typ"
-            },
-            "bicycle_parking": {
-                "label": "Typ"
-            },
-            "building": {
-                "label": "Budova"
-            },
-            "building_area": {
-                "label": "Budova"
-            },
-            "building_yes": {
-                "label": "Budova"
-            },
-            "capacity": {
-                "label": "Kapacita"
-            },
-            "cardinal_direction": {
-                "label": "Směr"
-            },
-            "clock_direction": {
-                "label": "Směr",
-                "options": {
-                    "clockwise": "Po směru hod. ručiček",
-                    "anticlockwise": "Proti směru hod. ručiček"
-                }
-            },
-            "collection_times": {
-                "label": "Čas výběru"
-            },
-            "construction": {
-                "label": "Typ"
-            },
-            "country": {
-                "label": "Stát"
-            },
-            "crossing": {
-                "label": "Typ"
-            },
-            "cuisine": {
-                "label": "Kuchyně"
-            },
-            "denomination": {
-                "label": "Vyznání"
-            },
-            "denotation": {
-                "label": "Označení"
-            },
-            "elevation": {
-                "label": "Nadmořská výška"
-            },
-            "emergency": {
-                "label": "Pohotovost"
-            },
-            "entrance": {
-                "label": "Typ"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Poplatek"
-            },
-            "highway": {
-                "label": "Typ"
-            },
-            "historic": {
-                "label": "Typ"
-            },
-            "internet_access": {
-                "label": "Přístup k internetu",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Přes kabel",
-                    "terminal": "Terminál"
-                }
-            },
-            "landuse": {
-                "label": "Typ"
-            },
-            "lanes": {
-                "label": "Pruhů"
-            },
-            "layer": {
-                "label": "Vrstva"
-            },
-            "leisure": {
-                "label": "Typ"
-            },
-            "levels": {
-                "label": "Počet pater"
-            },
-            "man_made": {
-                "label": "Typ"
-            },
-            "maxspeed": {
-                "label": "Povolená rychlost"
-            },
-            "name": {
-                "label": "Název"
-            },
-            "natural": {
-                "label": "Přírodní objekt"
-            },
-            "network": {
-                "label": "Síť"
-            },
-            "note": {
-                "label": "Poznámka"
-            },
-            "office": {
-                "label": "Typ"
-            },
-            "oneway": {
-                "label": "Jednosměrka"
-            },
-            "oneway_yes": {
-                "label": "Jednosměrka"
-            },
-            "opening_hours": {
-                "label": "Provozní doba"
-            },
-            "operator": {
-                "label": "Provozovatel"
-            },
-            "park_ride": {
-                "label": "Parkoviště P+R"
-            },
-            "parking": {
-                "label": "Typ"
-            },
-            "phone": {
-                "label": "Telefon"
-            },
-            "place": {
-                "label": "Typ"
-            },
-            "power": {
-                "label": "yp"
-            },
-            "railway": {
-                "label": "Typ"
-            },
-            "ref": {
-                "label": "Označení"
-            },
-            "religion": {
-                "label": "Náboženství",
-                "options": {
-                    "christian": "Křesťanství",
-                    "muslim": "Islám",
-                    "buddhist": "Buddhismus",
-                    "jewish": "Judaismus",
-                    "hindu": "Hinduismus",
-                    "shinto": "Šintoismus",
-                    "taoist": "Taoismus"
+        }
+
+        paths.enter()
+            .insert('path', sortedByArea)
+            .each(function(entity) {
+                var layer = this.parentNode.__data__;
+
+                this.setAttribute('class', entity.type + ' area ' + layer + ' ' + entity.id);
+
+                if (layer === 'fill') {
+                    this.setAttribute('clip-path', 'url(#' + entity.id + '-clippath)');
+                    setPattern.apply(this, arguments);
                 }
-            },
-            "service": {
-                "label": "Typ"
-            },
-            "shelter": {
-                "label": "Přístřešek"
-            },
-            "shop": {
-                "label": "Typ"
-            },
-            "source": {
-                "label": "Zdroj"
-            },
-            "sport": {
-                "label": "Spor"
-            },
-            "structure": {
-                "label": "Struktura",
-                "options": {
-                    "bridge": "Most",
-                    "tunnel": "Tunel",
-                    "embankment": "Násep",
-                    "cutting": "Zářez"
+            })
+            .call(iD.svg.TagClasses());
+
+        paths
+            .attr('d', path);
+    };
+};
+/*
+    A standalone SVG element that contains only a `defs` sub-element. To be
+    used once globally, since defs IDs must be unique within a document.
+*/
+iD.svg.Defs = function(context) {
+
+    function SVGSpriteDefinition(id, href) {
+        return function(defs) {
+            d3.xml(href, 'image/svg+xml', function(err, svg) {
+                if (err) return;
+                defs.node().appendChild(
+                    d3.select(svg.documentElement).attr('id', id).node()
+                );
+            });
+        };
+    }
+
+    return function (selection) {
+        var defs = selection.append('defs');
+
+        // marker
+        defs.append('marker')
+            .attr({
+                id: 'oneway-marker',
+                viewBox: '0 0 10 10',
+                refY: 2.5,
+                refX: 5,
+                markerWidth: 2,
+                markerHeight: 2,
+                markerUnits: 'strokeWidth',
+                orient: 'auto'
+            })
+            .append('path')
+            .attr('class', 'oneway')
+            .attr('d', 'M 5 3 L 0 3 L 0 2 L 5 2 L 5 0 L 10 2.5 L 5 5 z')
+            .attr('stroke', 'none')
+            .attr('fill', '#000')
+            .attr('opacity', '0.5');
+
+        // patterns
+        var patterns = defs.selectAll('pattern')
+            .data([
+                // pattern name, pattern image name
+                ['wetland', 'wetland'],
+                ['construction', 'construction'],
+                ['cemetery', 'cemetery'],
+                ['orchard', 'orchard'],
+                ['farmland', 'farmland'],
+                ['beach', 'dots'],
+                ['scrub', 'dots'],
+                ['meadow', 'dots']
+            ])
+            .enter()
+            .append('pattern')
+            .attr({
+                id: function (d) {
+                    return 'pattern-' + d[0];
+                },
+                width: 32,
+                height: 32,
+                patternUnits: 'userSpaceOnUse'
+            });
+
+        patterns.append('rect')
+            .attr({
+                x: 0,
+                y: 0,
+                width: 32,
+                height: 32,
+                'class': function (d) {
+                    return 'pattern-color-' + d[0];
                 }
-            },
-            "supervised": {
-                "label": "Hlídané"
-            },
-            "surface": {
-                "label": "Povrch"
-            },
-            "tourism": {
-                "label": "Typ"
-            },
-            "tracktype": {
-                "label": "Typ"
-            },
-            "water": {
-                "label": "Typ"
-            },
-            "waterway": {
-                "label": "Typ"
-            },
-            "website": {
-                "label": "Webová stránka"
-            },
-            "wetland": {
-                "label": "Typ"
-            },
-            "wheelchair": {
-                "label": "Pro vozíčkáře"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Typ"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Přistávací dráha"
-            },
-            "aeroway/aerodrome": {
-                "name": "Letiště",
-                "terms": "letadlo,letiště,přistávací dráha"
-            },
-            "aeroway/helipad": {
-                "name": "Helipor",
-                "terms": "vrtulník,helikoptéra,heliport"
-            },
-            "amenity": {
-                "name": "Zařízení"
-            },
-            "amenity/bank": {
-                "name": "Banka"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Lavička"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Parkování kol"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Půjčovna kol"
-            },
-            "amenity/cafe": {
-                "name": "Kavárna",
-                "terms": "káva,kafe,kavárna,čaj,čajovna"
-            },
-            "amenity/cinema": {
-                "name": "Kino",
-                "terms": "kino,film,cinema,multikino,bio,biograf,kinematograf"
-            },
-            "amenity/courthouse": {
-                "name": "Soud"
-            },
-            "amenity/embassy": {
-                "name": "Velvyslanectví"
-            },
-            "amenity/fast_food": {
-                "name": "Rychlé občerstvení"
-            },
-            "amenity/fire_station": {
-                "name": "Hasiči"
-            },
-            "amenity/fuel": {
-                "name": "Čerpací stanice"
-            },
-            "amenity/grave_yard": {
-                "name": "Pohřebiště"
-            },
-            "amenity/hospital": {
-                "name": "Nemocnice",
-                "terms": "nemocnice,klinika,špitál,středisko,hospic,LDN,sanatorium,nemocniční,lazaret,ambulance,poliklinika,pohotovost"
-            },
-            "amenity/library": {
-                "name": "Knihovna"
-            },
-            "amenity/marketplace": {
-                "name": "Trhoviště"
-            },
-            "amenity/parking": {
-                "name": "Parkoviště"
-            },
-            "amenity/pharmacy": {
-                "name": "Lékárna"
-            },
-            "amenity/place_of_worship": {
-                "name": "Chrám",
-                "terms": "křesťanský,křesťanství,kostel,kostelík,chrám,bazilika,katedrála,kaple,kaplička,chrám páně,rotunda,farnost,diecéze,mešita,minaret,synagoga,pagoda,stúpa,oratorium,motlitebna,náboženský,náboženská,náboženské,sakrální,svatyně"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Kostel",
-                "terms": "křesťanský,křesťanství,kostel,kostelík,chrám,bazilika,katedrála,kaple,kaplička,chrám páně,rotunda,farnost,diecéze"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Synagoga",
-                "terms": "synagoga,židovský,židovská,židovské"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Mešita",
-                "terms": "mešita,islám,muslim,muslimský,muslimská,muslimské"
-            },
-            "amenity/police": {
-                "name": "Policie",
-                "terms": "policie,strážníci,stráž,hlídka,městská policie,státní policie,vojenská policie,esenbé,esenbáci,SNB,veřejná bezpečnost,šerif,policista,interpol"
-            },
-            "amenity/post_box": {
-                "name": "Poštovní schránka",
-                "terms": "schránka,poštovní schránka,schránka na dopisy"
-            },
-            "amenity/post_office": {
-                "name": "Pošta"
-            },
-            "amenity/pub": {
-                "name": "Hospoda"
-            },
-            "amenity/restaurant": {
-                "name": "Restaurace",
-                "terms": "bar,jídelna,kantýna,bistro,bufet,rychlé občerstvení,fast food,hamburger,restaurace,restaurant,hostinec,pohostinství,gastronomie,občerstvení,stánek,jídlo,obědy,gril,pizzeria,čína,kebab"
-            },
-            "amenity/school": {
-                "name": "Škola",
-                "terms": "univerzita,universita,fakulta,vysoká škola,univerzitní,universitní,katedra,ústav,college"
-            },
-            "amenity/swimming_pool": {
-                "name": "Plavecký bazén"
-            },
-            "amenity/telephone": {
-                "name": "Telefon"
-            },
-            "amenity/theatre": {
-                "name": "Divadlo",
-                "terms": "divadlo,divadelní,představení,muzikál"
-            },
-            "amenity/toilets": {
-                "name": "Záchodky"
-            },
-            "amenity/townhall": {
-                "name": "Radnice",
-                "terms": "radnice,místní správa,obecní správa,obecní úřad"
-            },
-            "amenity/university": {
-                "name": "Univerzita"
-            },
-            "barrier": {
-                "name": "Zábrana"
-            },
-            "barrier/block": {
-                "name": "Masivní blok"
-            },
-            "barrier/bollard": {
-                "name": "Sloupek"
-            },
-            "barrier/cattle_grid": {
-                "name": "Přejezdový rošt"
-            },
-            "barrier/city_wall": {
-                "name": "Hradby"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Zábrana proti kolům"
-            },
-            "barrier/ditch": {
-                "name": "Příkop"
-            },
-            "barrier/entrance": {
-                "name": "Vchod"
-            },
-            "barrier/fence": {
-                "name": "Plot"
-            },
-            "barrier/gate": {
-                "name": "Brána"
-            },
-            "barrier/hedge": {
-                "name": "Živý plot"
-            },
-            "barrier/kissing_gate": {
-                "name": "Turniket"
-            },
-            "barrier/lift_gate": {
-                "name": "Závora"
-            },
-            "barrier/retaining_wall": {
-                "name": "Opěrná zeď"
-            },
-            "barrier/stile": {
-                "name": "Schůdky přes ohradu"
-            },
-            "barrier/toll_booth": {
-                "name": "Mýtná brána"
-            },
-            "barrier/wall": {
-                "name": "Zeď"
-            },
-            "boundary/administrative": {
-                "name": "Administrativní hranice"
-            },
-            "building": {
-                "name": "Budova"
-            },
-            "building/apartments": {
-                "name": "Byty"
-            },
-            "building/entrance": {
-                "name": "Vchod"
-            },
-            "building/house": {
-                "name": "Dům"
-            },
-            "entrance": {
-                "name": "Vchod"
-            },
-            "highway": {
-                "name": "Silnice"
-            },
-            "highway/bridleway": {
-                "name": "Jezdecká stezka",
-                "terms": "jezdecká stezka,jezdecká trasa,stezka pro jezdce,stezka pro koně,koňská stezka"
-            },
-            "highway/bus_stop": {
-                "name": "Autobusová zastávka"
-            },
-            "highway/crossing": {
-                "name": "Přechod",
-                "terms": "přechod,zebra"
-            },
-            "highway/cycleway": {
-                "name": "Cyklostezka"
-            },
-            "highway/footway": {
-                "name": "Pěšina",
-                "terms": "cesta,silnice,ulice,ulička,chodník,třída,bulvár,avenue,pasáž,stezka,trasa,trať,magistrála,radiála,pěšina"
-            },
-            "highway/living_street": {
-                "name": "Obytná zóna"
-            },
-            "highway/mini_roundabout": {
-                "name": "Malý kruhový objezd"
-            },
-            "highway/motorway": {
-                "name": "Dálnice"
-            },
-            "highway/motorway_junction": {
-                "name": "Dálniční sjezd"
-            },
-            "highway/motorway_link": {
-                "name": "Dálnice - nájezd"
-            },
-            "highway/path": {
-                "name": "Cesta"
-            },
-            "highway/pedestrian": {
-                "name": "Pěší zóna"
-            },
-            "highway/primary": {
-                "name": "Silnice 1. třídy"
-            },
-            "highway/primary_link": {
-                "name": "Silnice 1. třídy - nájezd"
-            },
-            "highway/residential": {
-                "name": "Ulice"
-            },
-            "highway/road": {
-                "name": "Silnice neznámého typu"
-            },
-            "highway/secondary": {
-                "name": "Silnice 2. třídy"
-            },
-            "highway/secondary_link": {
-                "name": "Silnice 2. třídy - nájezd"
-            },
-            "highway/service": {
-                "name": "Účelová komunikace, příjezd"
-            },
-            "highway/steps": {
-                "name": "Schody",
-                "terms": "schody,schodiště"
-            },
-            "highway/tertiary": {
-                "name": "Silnice 3. třídy"
-            },
-            "highway/tertiary_link": {
-                "name": "Silnice 3. třídy - nájezd"
-            },
-            "highway/track": {
-                "name": "Polní, lesní cesta"
-            },
-            "highway/traffic_signals": {
-                "name": "Semafory",
-                "terms": "světla,semafor,dopravní signalizace"
-            },
-            "highway/trunk": {
-                "name": "Víceproudá silnice"
-            },
-            "highway/trunk_link": {
-                "name": "Víceproudá silnice - nájezd"
-            },
-            "highway/turning_circle": {
-                "name": "Obratiště"
-            },
-            "highway/unclassified": {
-                "name": "Silnice bez klasifikace"
-            },
-            "historic": {
-                "name": "Památné místo"
-            },
-            "historic/archaeological_site": {
-                "name": "Archeologické naleziště"
-            },
-            "historic/boundary_stone": {
-                "name": "Hraniční káme"
-            },
-            "historic/castle": {
-                "name": "Hrad, zámek"
-            },
-            "historic/memorial": {
-                "name": "Památník"
-            },
-            "historic/monument": {
-                "name": "Monument"
-            },
-            "historic/ruins": {
-                "name": "Zřícenina, ruiny"
-            },
-            "historic/wayside_cross": {
-                "name": "Kříž"
-            },
-            "historic/wayside_shrine": {
-                "name": "Boží muka"
-            },
-            "landuse": {
-                "name": "Užití krajiny"
-            },
-            "landuse/allotments": {
-                "name": "Zahrádky"
-            },
-            "landuse/basin": {
-                "name": "Umělá vodní plocha"
-            },
-            "landuse/cemetery": {
-                "name": "Hřbitov"
-            },
-            "landuse/commercial": {
-                "name": "Obchody"
-            },
-            "landuse/construction": {
-                "name": "Výstavba"
-            },
-            "landuse/farm": {
-                "name": "Zemědělská půda"
-            },
-            "landuse/farmyard": {
-                "name": "Farma"
-            },
-            "landuse/forest": {
-                "name": "Les"
-            },
-            "landuse/grass": {
-                "name": "Tráva"
-            },
-            "landuse/industrial": {
-                "name": "Průmysl"
-            },
-            "landuse/meadow": {
-                "name": "Louka"
-            },
-            "landuse/orchard": {
-                "name": "Sad"
-            },
-            "landuse/quarry": {
-                "name": "Lom"
-            },
-            "landuse/residential": {
-                "name": "Rezidenční oblast"
-            },
-            "landuse/retail": {
-                "name": "Obchody"
-            },
-            "landuse/vineyard": {
-                "name": "Vinice"
-            },
-            "leisure": {
-                "name": "Volný čas"
-            },
-            "leisure/garden": {
-                "name": "Zahrada"
-            },
-            "leisure/golf_course": {
-                "name": "Golfové hřiště"
-            },
-            "leisure/marina": {
-                "name": "Přístaviště"
-            },
-            "leisure/park": {
-                "name": "Park",
-                "terms": "les,prales,louka,trávník,park,hřiště,parčík,zeleň,lesní,strom,křoví"
-            },
-            "leisure/pitch": {
-                "name": "Hřiště"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Hřiště pro americký fotbal"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Baseballové hřiště"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Basketbalové hřiště"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Fotbalové hřiště"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Tenisové kurty"
-            },
-            "leisure/playground": {
-                "name": "Dětské hřiště"
-            },
-            "leisure/slipway": {
-                "name": "Vodní skluz"
-            },
-            "leisure/stadium": {
-                "name": "Stadion"
-            },
-            "leisure/swimming_pool": {
-                "name": "Plavecký bazén"
-            },
-            "man_made": {
-                "name": "Umělý objekt"
-            },
-            "man_made/lighthouse": {
-                "name": "Maják"
-            },
-            "man_made/pier": {
-                "name": "Molo"
-            },
-            "man_made/survey_point": {
-                "name": "Triangulační bod"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Čistička odpadních vod",
-                "terms": "čistírna,čistička,čistírna odpadních vod,ČOV,čovka"
-            },
-            "man_made/water_tower": {
-                "name": "Vodárenská věž"
-            },
-            "man_made/water_works": {
-                "name": "Vodárna"
-            },
-            "natural": {
-                "name": "Přírodní objekt"
-            },
-            "natural/bay": {
-                "name": "Záliv"
-            },
-            "natural/beach": {
-                "name": "Pláž"
-            },
-            "natural/cliff": {
-                "name": "Útes"
-            },
-            "natural/coastline": {
-                "name": "Pobřeží",
-                "terms": "pobřeží,břeh,nábřeží"
-            },
-            "natural/glacier": {
-                "name": "Ledove"
-            },
-            "natural/grassland": {
-                "name": "Travnatá plocha"
-            },
-            "natural/heath": {
-                "name": "Vřesoviště"
-            },
-            "natural/peak": {
-                "name": "Vrchol",
-                "terms": "hora,vrch,vrchol,vrcholek,kopec,kopeček,kóta,mont,mount,pik"
-            },
-            "natural/scrub": {
-                "name": "Křoví"
-            },
-            "natural/spring": {
-                "name": "Pramen"
-            },
-            "natural/tree": {
-                "name": "Strom"
-            },
-            "natural/water": {
-                "name": "Vodní plocha"
-            },
-            "natural/water/lake": {
-                "name": "Jezero"
-            },
-            "natural/water/pond": {
-                "name": "Rybník",
-                "terms": "jezero,jezírko,pleso,oko,tůň"
-            },
-            "natural/water/reservoir": {
-                "name": "Přehrada"
-            },
-            "natural/wetland": {
-                "name": "Močál"
-            },
-            "natural/wood": {
-                "name": "Les"
-            },
-            "office": {
-                "name": "Kanceláře"
-            },
-            "other": {
-                "name": "Jiné"
-            },
-            "other_area": {
-                "name": "Jiné"
-            },
-            "place": {
-                "name": "Místo"
-            },
-            "place/city": {
-                "name": "Velkoměsto"
-            },
-            "place/hamlet": {
-                "name": "Vesnička"
-            },
-            "place/island": {
-                "name": "Ostro",
-                "terms": "ostrov,ostrůvek,souostroví,archipel,atol,útes"
-            },
-            "place/isolated_dwelling": {
-                "name": "Samota"
-            },
-            "place/locality": {
-                "name": "Neobydlené místo"
-            },
-            "place/town": {
-                "name": "Město"
-            },
-            "place/village": {
-                "name": "Vesnice"
-            },
-            "power": {
-                "name": "Energetika"
-            },
-            "power/generator": {
-                "name": "Elektrárna"
-            },
-            "power/line": {
-                "name": "Elektrické vedení"
-            },
-            "power/pole": {
-                "name": "Eletrický sloup"
-            },
-            "power/sub_station": {
-                "name": "Transformátorová stanice"
-            },
-            "power/tower": {
-                "name": "Elektrický stožár"
-            },
-            "power/transformer": {
-                "name": "Transformátor"
-            },
-            "railway": {
-                "name": "Železnice"
-            },
-            "railway/abandoned": {
-                "name": "Opuštěná železnice"
-            },
-            "railway/disused": {
-                "name": "Nepoužívaná železnice"
-            },
-            "railway/level_crossing": {
-                "name": "Úrovňové křížení",
-                "terms": "přejezd,železniční přejezd,přejezd přes koleje,přejezd přes železnici,přejezd přes vlak,vlakový přejezd"
-            },
-            "railway/monorail": {
-                "name": "Jednokolejka"
-            },
-            "railway/platform": {
-                "name": "Nástupiště"
-            },
-            "railway/rail": {
-                "name": "Kolej"
-            },
-            "railway/station": {
-                "name": "Nádraží"
-            },
-            "railway/subway": {
-                "name": "Metro"
-            },
-            "railway/subway_entrance": {
-                "name": "Vstup do metra"
-            },
-            "railway/tram": {
-                "name": "Tramvaj",
-                "terms": "tramvaj,tranvaj,šalina,šmirgl,tramvajka,elektrika,električka,tram"
-            },
-            "shop": {
-                "name": "Obchod"
-            },
-            "shop/alcohol": {
-                "name": "Prodejna alkoholu"
-            },
-            "shop/bakery": {
-                "name": "Pekařství"
-            },
-            "shop/beauty": {
-                "name": "Kosmetický salón"
-            },
-            "shop/beverages": {
-                "name": "Prodejna nápojů"
-            },
-            "shop/bicycle": {
-                "name": "Cykloprodejna"
-            },
-            "shop/books": {
-                "name": "Knihkupectví"
-            },
-            "shop/boutique": {
-                "name": "Módní butik"
-            },
-            "shop/butcher": {
-                "name": "Řeznictví"
-            },
-            "shop/car": {
-                "name": "Prodejna aut"
-            },
-            "shop/car_parts": {
-                "name": "Náhradní díly pro auta"
-            },
-            "shop/car_repair": {
-                "name": "Autoopravna"
-            },
-            "shop/chemist": {
-                "name": "Drogérie"
-            },
-            "shop/clothes": {
-                "name": "Oblečení"
-            },
-            "shop/computer": {
-                "name": "Počítače"
-            },
-            "shop/confectionery": {
-                "name": "Cukrovinky"
-            },
-            "shop/convenience": {
-                "name": "Smíšené zboží"
-            },
-            "shop/deli": {
-                "name": "Lahůdkářství"
-            },
-            "shop/department_store": {
-                "name": "Obchodní dům"
-            },
-            "shop/doityourself": {
-                "name": "Obchod pro kutily"
-            },
-            "shop/dry_cleaning": {
-                "name": "Čistírna"
-            },
-            "shop/electronics": {
-                "name": "Elektro"
-            },
-            "shop/fishmonger": {
-                "name": "Rybárna"
-            },
-            "shop/florist": {
-                "name": "Květinářství"
-            },
-            "shop/furniture": {
-                "name": "Nábytek"
-            },
-            "shop/garden_centre": {
-                "name": "Zahradnictví"
-            },
-            "shop/gift": {
-                "name": "Dárky, suvenýry"
-            },
-            "shop/greengrocer": {
-                "name": "Ovoce a zelenina"
-            },
-            "shop/hairdresser": {
-                "name": "Kadeřnictví"
-            },
-            "shop/hardware": {
-                "name": "Železářství"
-            },
-            "shop/hifi": {
-                "name": "Hifi elektronika"
-            },
-            "shop/jewelry": {
-                "name": "Klenotnictví"
-            },
-            "shop/kiosk": {
-                "name": "Stánek"
-            },
-            "shop/laundry": {
-                "name": "Prádelna"
-            },
-            "shop/mall": {
-                "name": "Obchodní centrum"
-            },
-            "shop/mobile_phone": {
-                "name": "Obchod s mobily"
-            },
-            "shop/motorcycle": {
-                "name": "Obchod s motocykly"
-            },
-            "shop/music": {
-                "name": "Obchod s hudbou"
-            },
-            "shop/newsagent": {
-                "name": "Trafika"
-            },
-            "shop/optician": {
-                "name": "Optika"
-            },
-            "shop/outdoor": {
-                "name": "Vybavení do přírody"
-            },
-            "shop/pet": {
-                "name": "Chovatelské potřeby"
-            },
-            "shop/shoes": {
-                "name": "Obuvnictví"
-            },
-            "shop/sports": {
-                "name": "Sportovní potřeby"
-            },
-            "shop/stationery": {
-                "name": "Kancelářské potřeby"
-            },
-            "shop/supermarket": {
-                "name": "Supermarket",
-                "terms": "obchod,market,supermarket,butik,bazar,řetězec,hypermarket,diskont,diskontní,bleší trh,trh,tržiště,outlet,obchodní,centrum,nákupní,obchodní dům,večerka,prodejní"
-            },
-            "shop/toys": {
-                "name": "Hračkářství"
-            },
-            "shop/travel_agency": {
-                "name": "Cestovní kancelář"
-            },
-            "shop/tyres": {
-                "name": "Pneuservis"
-            },
-            "shop/vacant": {
-                "name": "Neobsazený obchod"
-            },
-            "shop/variety_store": {
-                "name": "Laciné zboží"
-            },
-            "shop/video": {
-                "name": "Video obchod"
-            },
-            "tourism": {
-                "name": "Turismus"
-            },
-            "tourism/alpine_hut": {
-                "name": "Horská chata"
-            },
-            "tourism/artwork": {
-                "name": "Umělecké dílo"
-            },
-            "tourism/attraction": {
-                "name": "Pamětihodnost"
-            },
-            "tourism/camp_site": {
-                "name": "Kemp"
-            },
-            "tourism/caravan_site": {
-                "name": "Místo pro karavany"
-            },
-            "tourism/chalet": {
-                "name": "Horská bouda"
-            },
-            "tourism/guest_house": {
-                "name": "Penzion",
-                "terms": "B&B,Bed & Breakfast,Bed and Breakfast"
-            },
-            "tourism/hostel": {
-                "name": "Hostel"
-            },
-            "tourism/hotel": {
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "name": "Informace"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Muzeum",
-                "terms": "knihovna,galerie,výstavní,muzeum,repozitář,depozitář,archiv,sklad,lapidárium"
-            },
-            "tourism/picnic_site": {
-                "name": "Místo pro piknik"
-            },
-            "tourism/theme_park": {
-                "name": "Zábavní park"
-            },
-            "tourism/viewpoint": {
-                "name": "Výhled"
-            },
-            "tourism/zoo": {
-                "name": "ZOO"
-            },
-            "waterway": {
-                "name": "Vodní tok"
-            },
-            "waterway/canal": {
-                "name": "Vodní kanál"
-            },
-            "waterway/dam": {
-                "name": "Hráz"
-            },
-            "waterway/ditch": {
-                "name": "Příkop"
-            },
-            "waterway/drain": {
-                "name": "Odvodňovací strouha"
-            },
-            "waterway/river": {
-                "name": "Řeka",
-                "terms": "potok,potůček,strouha,říčka,přítok,koryto"
-            },
-            "waterway/riverbank": {
-                "name": "Břeh řeky"
-            },
-            "waterway/stream": {
-                "name": "Potok",
-                "terms": "potok,potůček,strouha,tok,říčka,přítok,koryto,řeka,proud,vír,odtok,příliv,odliv"
-            },
-            "waterway/weir": {
-                "name": "Jez"
+            });
+
+        patterns.append('image')
+            .attr({
+                x: 0,
+                y: 0,
+                width: 32,
+                height: 32
+            })
+            .attr('xlink:href', function (d) {
+                return context.imagePath('pattern/' + d[1] + '.png');
+            });
+
+        // clip paths
+        defs.selectAll()
+            .data([12, 18, 20, 32, 45])
+            .enter().append('clipPath')
+            .attr('id', function (d) {
+                return 'clip-square-' + d;
+            })
+            .append('rect')
+            .attr('x', 0)
+            .attr('y', 0)
+            .attr('width', function (d) {
+                return d;
+            })
+            .attr('height', function (d) {
+                return d;
+            });
+
+        defs.call(SVGSpriteDefinition(
+            'iD-sprite',
+            context.imagePath('iD-sprite.svg')));
+
+        defs.call(SVGSpriteDefinition(
+            'maki-sprite',
+            context.imagePath('maki-sprite.svg')));
+    };
+};
+iD.svg.Icon = function(name, svgklass, useklass) {
+    return function (selection) {
+        selection.selectAll('svg')
+            .data([0])
+            .enter()
+            .append('svg')
+            .attr('class', 'icon ' + (svgklass || ''))
+            .append('use')
+            .attr('xlink:href', name)
+            .attr('class', useklass);
+    };
+};
+iD.svg.Labels = function(projection, context) {
+    var path = d3.geo.path().projection(projection);
+
+    // Replace with dict and iterate over entities tags instead?
+    var label_stack = [
+        ['line', 'aeroway'],
+        ['line', 'highway'],
+        ['line', 'railway'],
+        ['line', 'waterway'],
+        ['area', 'aeroway'],
+        ['area', 'amenity'],
+        ['area', 'building'],
+        ['area', 'historic'],
+        ['area', 'leisure'],
+        ['area', 'man_made'],
+        ['area', 'natural'],
+        ['area', 'shop'],
+        ['area', 'tourism'],
+        ['point', 'aeroway'],
+        ['point', 'amenity'],
+        ['point', 'building'],
+        ['point', 'historic'],
+        ['point', 'leisure'],
+        ['point', 'man_made'],
+        ['point', 'natural'],
+        ['point', 'shop'],
+        ['point', 'tourism'],
+        ['line', 'name'],
+        ['area', 'name'],
+        ['point', 'name']
+    ];
+
+    var default_size = 12;
+
+    var font_sizes = label_stack.map(function(d) {
+        var style = iD.util.getStyle('text.' + d[0] + '.tag-' + d[1]),
+            m = style && style.cssText.match('font-size: ([0-9]{1,2})px;');
+        if (m) return parseInt(m[1], 10);
+
+        style = iD.util.getStyle('text.' + d[0]);
+        m = style && style.cssText.match('font-size: ([0-9]{1,2})px;');
+        if (m) return parseInt(m[1], 10);
+
+        return default_size;
+    });
+
+    var iconSize = 18;
+
+    var pointOffsets = [
+        [15, -11, 'start'], // right
+        [10, -11, 'start'], // unused right now
+        [-15, -11, 'end']
+    ];
+
+    var lineOffsets = [50, 45, 55, 40, 60, 35, 65, 30, 70, 25,
+        75, 20, 80, 15, 95, 10, 90, 5, 95];
+
+
+    var noIcons = ['building', 'landuse', 'natural'];
+    function blacklisted(preset) {
+        return _.any(noIcons, function(s) {
+            return preset.id.indexOf(s) >= 0;
+        });
+    }
+
+    function get(array, prop) {
+        return function(d, i) { return array[i][prop]; };
+    }
+
+    var textWidthCache = {};
+
+    function textWidth(text, size, elem) {
+        var c = textWidthCache[size];
+        if (!c) c = textWidthCache[size] = {};
+
+        if (c[text]) {
+            return c[text];
+
+        } else if (elem) {
+            c[text] = elem.getComputedTextLength();
+            return c[text];
+
+        } else {
+            var str = encodeURIComponent(text).match(/%[CDEFcdef]/g);
+            if (str === null) {
+                return size / 3 * 2 * text.length;
+            } else {
+                return size / 3 * (2 * text.length + str.length);
             }
         }
     }
-};
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    function drawLineLabels(group, entities, filter, classes, labels) {
+        var texts = group.selectAll('text.' + classes)
+            .filter(filter)
+            .data(entities, iD.Entity.key);
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        texts.enter()
+            .append('text')
+            .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; })
+            .append('textPath')
+            .attr('class', 'textpath');
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.da = {
-    "modes": {
-        "add_area": {
-            "title": "Område",
-            "description": "Tilføj parker, bygninger, søer, eller andre områder til kortet.",
-            "tail": "Klik på kortet for at indtegne et område fx en park, sø eller bygning."
-        },
-        "add_line": {
-            "title": "Linje",
-            "description": "Linjer kan være veje, gader eller stier selv kanaler kan være linjer.",
-            "tail": "Klik på kortet for at indtegne en vej, sti eller rute."
-        },
-        "add_point": {
-            "title": "Punkt",
-            "description": "Restauranter, mindesmærker og postkasser er punkter.",
-            "tail": "Klik på kortet for at tilføje et punkt."
-        },
-        "browse": {
-            "title": "Gennemse",
-            "description": "Træk rundt og zoom på kortet."
-        },
-        "draw_area": {
-            "tail": "Klik for at tilføje punkter til dit område. Klik på det første punkt for at færdiggøre området."
-        },
-        "draw_line": {
-            "tail": "Klik her for at tilføje flere punkter til linjen. Klik på andre linjer for at forbinde dem og dobbeltklik for at afslutte linjen."
+
+        texts.selectAll('.textpath')
+            .filter(filter)
+            .data(entities, iD.Entity.key)
+            .attr({
+                'startOffset': '50%',
+                'xlink:href': function(d) { return '#labelpath-' + d.id; }
+            })
+            .text(iD.util.displayName);
+
+        texts.exit().remove();
+    }
+
+    function drawLinePaths(group, entities, filter, classes, labels) {
+        var halos = group.selectAll('path')
+            .filter(filter)
+            .data(entities, iD.Entity.key);
+
+        halos.enter()
+            .append('path')
+            .style('stroke-width', get(labels, 'font-size'))
+            .attr('id', function(d) { return 'labelpath-' + d.id; })
+            .attr('class', classes);
+
+        halos.attr('d', get(labels, 'lineString'));
+
+        halos.exit().remove();
+    }
+
+    function drawPointLabels(group, entities, filter, classes, labels) {
+
+        var texts = group.selectAll('text.' + classes)
+            .filter(filter)
+            .data(entities, iD.Entity.key);
+
+        texts.enter()
+            .append('text')
+            .attr('class', function(d, i) { return classes + ' ' + labels[i].classes + ' ' + d.id; });
+
+        texts.attr('x', get(labels, 'x'))
+            .attr('y', get(labels, 'y'))
+            .style('text-anchor', get(labels, 'textAnchor'))
+            .text(iD.util.displayName)
+            .each(function(d, i) { textWidth(iD.util.displayName(d), labels[i].height, this); });
+
+        texts.exit().remove();
+        return texts;
+    }
+
+    function drawAreaLabels(group, entities, filter, classes, labels) {
+        entities = entities.filter(hasText);
+        labels = labels.filter(hasText);
+        return drawPointLabels(group, entities, filter, classes, labels);
+
+        function hasText(d, i) {
+            return labels[i].hasOwnProperty('x') && labels[i].hasOwnProperty('y');
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Tilføjede et punkt.",
-                "vertex": "Tilføjede en node til en vej."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Startede en linje.",
-                "area": "Startede et område."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Fortsatte en linje.",
-                "area": "Fortsatte et område."
+    }
+
+    function drawAreaIcons(group, entities, filter, classes, labels) {
+        var icons = group.selectAll('use')
+            .filter(filter)
+            .data(entities, iD.Entity.key);
+
+        icons.enter()
+            .append('use')
+            .attr('class', 'icon areaicon')
+            .attr('width', '18px')
+            .attr('height', '18px');
+
+        icons.attr('transform', get(labels, 'transform'))
+            .attr('xlink:href', function(d) {
+                var icon = context.presets().match(d, context.graph()).icon;
+                return '#' + icon + (icon === 'hairdresser' ? '-24': '-18');    // workaround: maki hairdresser-18 broken?
+            });
+
+
+        icons.exit().remove();
+    }
+
+    function reverse(p) {
+        var angle = Math.atan2(p[1][1] - p[0][1], p[1][0] - p[0][0]);
+        return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > -Math.PI/2);
+    }
+
+    function lineString(nodes) {
+        return 'M' + nodes.join('L');
+    }
+
+    function subpath(nodes, from, to) {
+        function segmentLength(i) {
+            var dx = nodes[i][0] - nodes[i + 1][0];
+            var dy = nodes[i][1] - nodes[i + 1][1];
+            return Math.sqrt(dx * dx + dy * dy);
+        }
+
+        var sofar = 0,
+            start, end, i0, i1;
+        for (var i = 0; i < nodes.length - 1; i++) {
+            var current = segmentLength(i);
+            var portion;
+            if (!start && sofar + current >= from) {
+                portion = (from - sofar) / current;
+                start = [
+                    nodes[i][0] + portion * (nodes[i + 1][0] - nodes[i][0]),
+                    nodes[i][1] + portion * (nodes[i + 1][1] - nodes[i][1])
+                ];
+                i0 = i + 1;
             }
-        },
-        "cancel_draw": {
-            "annotation": "Annullerede indtegning."
-        },
-        "change_tags": {
-            "annotation": "Ændret tags."
-        },
-        "circularize": {
-            "title": "Cirkularisere",
-            "description": {
-                "line": "Lav denne linje cirkulær.",
-                "area": "Lav dette område rundt."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Lavede en linje rund.",
-                "area": "Lave et område rundt."
-            },
-            "not_closed": "Dette kan ikke laves rundt da det ikke er område."
-        },
-        "orthogonalize": {
-            "title": "Ortogonalisering",
-            "description": "Gør disse hjørner firkantet.",
-            "key": "Q",
-            "annotation": {
-                "line": "Lavede hjørner på en linje firkantet.",
-                "area": "Lavede hjørner på et område firkantet."
-            },
-            "not_closed": "Dette kan ikke laves firkantet da det ikke er et område."
-        },
-        "delete": {
-            "title": "Slet",
-            "description": "Fjern dette fra kortet.",
-            "annotation": {
-                "point": "Slettede et punkt.",
-                "vertex": "Slettede en node fra en vej.",
-                "line": "Slettede en linje.",
-                "area": "Slettede et område.",
-                "relation": "Sletede en relation.",
-                "multiple": "Slettede {n} objekter."
+            if (!end && sofar + current >= to) {
+                portion = (to - sofar) / current;
+                end = [
+                    nodes[i][0] + portion * (nodes[i + 1][0] - nodes[i][0]),
+                    nodes[i][1] + portion * (nodes[i + 1][1] - nodes[i][1])
+                ];
+                i1 = i + 1;
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Forbandt en vej til et punkt.",
-                "vertex": "Forbandt en vej til en anden vej.",
-                "line": "Forbandt en vej til en linje.",
-                "area": "Forbandt en vej til et område."
+            sofar += current;
+
+        }
+        var ret = nodes.slice(i0, i1);
+        ret.unshift(start);
+        ret.push(end);
+        return ret;
+
+    }
+
+    function hideOnMouseover() {
+        var layers = d3.select(this)
+            .selectAll('.layer-label, .layer-halo');
+
+        layers.selectAll('.proximate')
+            .classed('proximate', false);
+
+        var mouse = context.mouse(),
+            pad = 50,
+            rect = [mouse[0] - pad, mouse[1] - pad, mouse[0] + pad, mouse[1] + pad],
+            ids = _.pluck(rtree.search(rect), 'id');
+
+        if (!ids.length) return;
+        layers.selectAll('.' + ids.join(', .'))
+            .classed('proximate', true);
+    }
+
+    var rtree = rbush(),
+        rectangles = {};
+
+    function labels(surface, graph, entities, filter, dimensions, fullRedraw) {
+
+        var hidePoints = !surface.select('.node.point').node();
+
+        var labelable = [], i, k, entity;
+        for (i = 0; i < label_stack.length; i++) labelable.push([]);
+
+        if (fullRedraw) {
+            rtree.clear();
+            rectangles = {};
+        } else {
+            for (i = 0; i < entities.length; i++) {
+                rtree.remove(rectangles[entities[i].id]);
             }
-        },
-        "disconnect": {
-            "title": "Afbryd",
-            "description": "Afbryd disse veje fra hinanden.",
-            "key": "D",
-            "annotation": "Afbryd linjer/områder.",
-            "not_connected": "Der er ikke nok linjer/områder her til at fraklippe."
-        },
-        "merge": {
-            "title": "Flet",
-            "description": "Flet disse linjer.",
-            "key": "C",
-            "annotation": "Flettede {n} linjer.",
-            "not_eligible": "Disse funktioner kan ikke fusioneres.",
-            "not_adjacent": "Disse linjer kan ikke fusioneres da de ikke er forbundet."
-        },
-        "move": {
-            "title": "Flyt",
-            "description": "Flyt dette til en anden lokation.",
-            "key": "M",
-            "annotation": {
-                "point": "Flyttede et punkt.",
-                "vertex": "Flyttede en node i en vej.",
-                "line": "Flyttede en linje.",
-                "area": "Flyttede et område.",
-                "multiple": "Flyttede flere objekter."
-            },
-            "incomplete_relation": "Disse kortegenskaber kan ikke flyttes, da de ikke er blevet downloadet fuldstændigt."
-        },
-        "rotate": {
-            "title": "Roter",
-            "description": "Roter dette objekt omkring centerpunktet.",
-            "key": "R",
-            "annotation": {
-                "line": "Roterede en linje.",
-                "area": "Roterede et område."
+        }
+
+        // Split entities into groups specified by label_stack
+        for (i = 0; i < entities.length; i++) {
+            entity = entities[i];
+            var geometry = entity.geometry(graph);
+
+            if (geometry === 'vertex')
+                continue;
+            if (hidePoints && geometry === 'point')
+                continue;
+
+            var preset = geometry === 'area' && context.presets().match(entity, graph),
+                icon = preset && !blacklisted(preset) && preset.icon;
+
+            if (!icon && !iD.util.displayName(entity))
+                continue;
+
+            for (k = 0; k < label_stack.length; k++) {
+                if (geometry === label_stack[k][0] && entity.tags[label_stack[k][1]]) {
+                    labelable[k].push(entity);
+                    break;
+                }
             }
-        },
-        "reverse": {
-            "title": "Omvendt",
-            "description": "Lad denne linje gå i modsat retning.",
-            "key": "V",
-            "annotation": "Omvendte en linje."
-        },
-        "split": {
-            "title": "Del op",
-            "description": {
-                "line": "Split denne linje i to dele ved dette her punkt.",
-                "area": "Klip grænsen af dette område i to dele.",
-                "multiple": "Split linjerne/områdernes grænser ved dette punkt i to dele."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Klip en linje op.",
-                "area": "Spilt et områdes grænse op.",
-                "multiple": "Split {n} linjer/områder for grænserne."
-            },
-            "not_eligible": "Linje kan ikke splittes op ved deres begyndelse eller ende.",
-            "multiple_ways": "Der er for mange linjer her der kan blive splittet."
         }
-    },
-    "nothing_to_undo": "Ingenting at fortryde.",
-    "nothing_to_redo": "Ingenting at gendanne.",
-    "just_edited": "Du har lige rettet i OpenStreetMap!",
-    "browser_notice": "Dette værktøj er understøttet i Firefox, Chrome, Safari, Opera og Internet Explorer 9 og højere. Vær venlig at opgradere din browser eller benyt Potlatch 2 for at rette i kortet.",
-    "view_on_osm": "Vis på OSM",
-    "zoom_in_edit": "zoom ind for at rette på kortet",
-    "logout": "log ud",
-    "loading_auth": "Forbinder til OpenStreetMap...",
-    "report_a_bug": "rapportere en fejl",
-    "commit": {
-        "title": "Gem ændringer",
-        "description_placeholder": "Kort beskrivelse af dine bidrag",
-        "message_label": "Tilføj en besked",
-        "upload_explanation": "Dine ændringer vil som brugernavn {user} blive synligt på alle kort der bruger OpenStreetMap data.",
-        "save": "Gem",
-        "cancel": "Fortryd",
-        "warnings": "Advarsler",
-        "modified": "Modificeret",
-        "deleted": "Slettede",
-        "created": "Lavede"
-    },
-    "contributors": {
-        "list": "Vis bidrag fra {users}",
-        "truncated_list": "Vis bidrag fra {users} og {count} andre"
-    },
-    "geocoder": {
-        "title": "Find et sted",
-        "placeholder": "Find et sted",
-        "no_results": "Kunne ikke finde '{name}'"
-    },
-    "geolocate": {
-        "title": "Vis min lokalitet"
-    },
-    "inspector": {
-        "no_documentation_combination": "Der er ingen dokumentation for denne tag kombination",
-        "no_documentation_key": "Der er ingen dokumentation tilgængelig for denne nøgle",
-        "show_more": "Vis mere",
-        "new_tag": "Nyt tag",
-        "view_on_osm": "Se på openstreetmap.org",
-        "editing_feature": "Redigerer {feature}",
-        "additional": "Flere tags",
-        "choose": "Vælg funktionstype",
-        "results": "{n} resultater for {search}",
-        "reference": "Se på OpenStreetMap Wiki",
-        "back_tooltip": "Gem funktionstype",
-        "remove": "Fjern"
-    },
-    "background": {
-        "title": "Baggrund",
-        "description": "Baggrundsindstillinger",
-        "percent_brightness": "{opacity}% lysstyrke",
-        "fix_misalignment": "Lav fejljustering",
-        "reset": "nulstil"
-    },
-    "restore": {
-        "heading": "Du har ændringer der ikke er gemt endnu",
-        "description": "Du har ændringer fra forrige session som ikke er gemt. Ønsker du at gendanne disse ændringer?",
-        "restore": "Gendan",
-        "reset": "Nulstil"
-    },
-    "save": {
-        "title": "Gem",
-        "help": "Gem ændringer til OpenStreetMap vil gøre dem synlige for andre brugere.",
-        "no_changes": "Ingen ændringer at gemme.",
-        "error": "Der skete en fejl da du prøvede at gemme",
-        "uploading": "Gemmer nu ændringer til OpenStreetMap.",
-        "unsaved_changes": "Du har ændringer der ikke er gemt endnu"
-    },
-    "splash": {
-        "welcome": "Velkommen til iD OpenStreetMap værktøjet",
-        "text": "Dette er udviklingsversion {version}. Mere information se {website} og rapportere fejl på {github}.",
-        "walkthrough": "Start gennemgangen",
-        "start": "Redigerer nu"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "Du har ændringer som ikke er blevet gemt endnu. Ved at skifte kort server vil du miste disse ændringer. Er du sikker på at du vil skifte server?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Beskrivelse",
-        "on_wiki": "{tag} på wiki.osm.org",
-        "used_with": "brugt med {type}"
-    },
-    "validations": {
-        "untagged_point": "Ej tagget punkt",
-        "untagged_line": "Mangler tag på linje",
-        "untagged_area": "Mangler tag på område",
-        "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
-        "tag_suggests_area": "Dette tag {tag} mener denne linje skule være et område, men dette er ikke et område",
-        "deprecated_tags": "Uønskede tags: {tags}"
-    },
-    "zoom": {
-        "in": "Zoom ind",
-        "out": "Zoom ud"
-    },
-    "cannot_zoom": "Kan ikke zoome ud mere.",
-    "gpx": {
-        "local_layer": "Lokal GPX fil",
-        "drag_drop": "Træk og slip en .gpx fil på denne her side"
-    },
-    "help": {
-        "title": "Hjælp",
-        "addresses": "#Adresser⏎\n⏎\nAdresser er noget af det mest brugbare til kortet.⏎\n⏎\nSelvom adresser ofte er repræsenteret som dele af veje i OpenStreetMap⏎\nDisse er lagret som attributter for bygninger og steder langs veje.⏎\n⏎\nDu kan også tilføje adresseinformation til steder som er kortlagt som bygningspolygoner⏎\nligesom bygninger der er markeret som enkeltpunkter. Den optimale kilde til⏎\nadresser⏎\ner indsamling på selve stedet eller personlig kendkskab - som med ethvert andet⏎\ngeografisk objekt, så er kopiering fra kommercielle kilder som fx Google Maps\nstrengt⏎\nforbudt.⏎\n\n\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "Grundkortet viser OpenStreetMap data oven på et baggrundkort. Du kan navigere ved at trække og scrolle lige som ethvert andet webkort.**Træk i kortet!**",
-            "select": "Kortets objekter kun beskrives på tre måder: ved brug af punkter, linjer eller områder. Alle kortets objekter kan vælges ved at klikke på dem.**Klik på et punkt for at vælge dette.**",
-            "header": "Overskriften viser os kortfunktionstyperne."
-        },
-        "points": {
-            "add": "Punkter kan bruges til at beskrive ting som fx butikker, restauranter og mindesmærker. De markerer en bestemt lokalitet og beskriver hvad der er lige der.**Klik på punktknappen for at tilføje et nyt punkt.**",
-            "place": "Et punkt kan placeres ved at klikke på kortet.**Placerer punktet på toppen af bygningen.**",
-            "search": "Punkter kan repræsenteres på mange måder. Punktet du lige tilføjede var en cafe.**Søg efter 'cafe'**",
-            "choose": "**Vælg cafe fra gitteret.**",
-            "describe": "Punktet er nu markeret som en cafe. Ved at bruge funktionsredigeringsværktøjet kan vi tilføje mere information.**Tilføj et navn**",
-            "close": "Funktionsredigeringsværktøjet  kan lukkes med luk knappen.\n**Luk funktionsredigeringsværktøjet**",
-            "reselect": "Ofte vil punkter allerede findes, men har fejl eller mangler. Vi kan rette i allerede indsatte punkter.**Vælg punktet du lige lavede.**",
-            "fixname": "**Omdøb navnet og luk funktionsredigeringsværktøjet.**",
-            "reselect_delete": "Alle geografiske objekter på kortet kan slettes.**Klik på punktet du har lavet.**",
-            "delete": "Menuen omkring punkter har værktøjer der kan bruges til forskellige operationer inkl. sletning.**Slet punktet.**"
-        },
-        "areas": {
-            "add": "Områder er en mere detaljeret måde at beskrive kortet. Områder giver information om grænserne til det geografiske område. Områder kan bruges for de fleste typer af punkter og er ofte den bedste måde.**Klik på områdeknappen for at tilføje et nyt område.**",
-            "corner": "Områder indtegnes ved at placere punkter der afgrænser ydre området.**Placerer startpunktet i et af hjørnerne for legepladsen.**",
-            "place": "Indtegn området ved at placere flere punkter. Afslut området ved at klikke på det først indtegnet punkt.**Indtegn legepladsens område.**",
-            "search": "**Søg efter legeplads.**",
-            "choose": "**Vælg baggrund fra gitteret.**",
-            "describe": "**Tilføj et navn og luk så funktionsværktøjet**"
-        },
-        "lines": {
-            "add": "Linjer bruges til at beskrive ting som fx veje, jernbanespor og floder.**Klik på linjeknappen for at tilføje en ny linje.**",
-            "start": "**Start linjen ved at klikke ved enden af en vej**",
-            "intersect": "Klik for at tilføje punkter til linjen. Du kan trække i kortet hvis det er nødvendigt mens du tegner. Veje og mange andre type af linjer er dele af et større netværk. Det er meget vigtigt at disse linjer er forbundet korrekt for at få rutenavigationsværktøjer til at virke.**Klik på Flower Street for at lave en sammenkædning af de to linjer.**",
-            "finish": "Linjer kan afsluttes ved at klikke på det sidste punkt igen.**Afslut indtegning af vejen.**",
-            "road": "**Vælg vej fra gitteret**",
-            "residential": "Der er mange typer af veje, den mest brugte er villaveje.**Vælg villaveje**",
-            "describe": "**Navngiv vejen og luk funktionsredigeringsværktøjet.**",
-            "restart": "Vejen skal berøre Flower Street."
-        },
-        "startediting": {
-            "help": "Mere dokumentation samt denne gennemgang kan ses her.",
-            "save": "Glem ikke regelmæssigt at gemme dine ændringer!",
-            "start": "Start kortlægning!"
-        }
-    },
-    "presets": {
-        "categories": {
-            "category-landuse": {
-                "name": "Områdebrug"
-            },
-            "category-path": {
-                "name": "Sti"
-            },
-            "category-rail": {
-                "name": "Jernbane"
-            },
-            "category-road": {
-                "name": "Vej"
-            },
-            "category-water": {
-                "name": "Vand"
-            }
-        },
-        "fields": {
-            "access": {
-                "label": "Adgang",
-                "types": {
-                    "access": "Generelt",
-                    "foot": "Fod",
-                    "motor_vehicle": "Motorkøretøjer",
-                    "bicycle": "Cykler",
-                    "horse": "Heste"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Tilladt",
-                        "description": "Adgang tilladt i følge loven"
-                    },
-                    "no": {
-                        "title": "Forbudt",
-                        "description": "Adgang ikke tilladt for offentligheden"
-                    },
-                    "permissive": {
-                        "title": "Adgang efter tilladelse",
-                        "description": "Adgang tilladt indtil ejer tilbagekalder tilladelsen"
-                    },
-                    "private": {
-                        "title": "Privat",
-                        "description": "Adgang tilladt ved udstedelse af  individuelle  tilladelser fra ejer"
-                    },
-                    "designated": {
-                        "title": "Udpeget til netop dette formål",
-                        "description": "Adgang tilladt iflg. trafikskilte eller lokale bestemmelser"
-                    },
-                    "destination": {
-                        "title": "Destination",
-                        "description": "Ærindekørsel tilladt"
-                    }
-                }
-            },
-            "address": {
-                "label": "Adresse",
-                "placeholders": {
-                    "housename": "Husnavn",
-                    "number": "123",
-                    "street": "Gade",
-                    "city": "By"
-                }
-            },
-            "admin_level": {
-                "label": "Administrativt niveau"
-            },
-            "aeroway": {
-                "label": "Type"
-            },
-            "amenity": {
-                "label": "Type"
-            },
-            "atm": {
-                "label": "Pengeautomat"
-            },
-            "barrier": {
-                "label": "Type"
-            },
-            "bicycle_parking": {
-                "label": "Type"
-            },
-            "building": {
-                "label": "Bygning"
-            },
-            "building_area": {
-                "label": "Bygning"
-            },
-            "building_yes": {
-                "label": "Bygning"
-            },
-            "capacity": {
-                "label": "Kapacitet"
-            },
-            "cardinal_direction": {
-                "label": "Retning"
-            },
-            "clock_direction": {
-                "label": "Retning",
-                "options": {
-                    "clockwise": "Retning med uret",
-                    "anticlockwise": "Retning mod uret"
-                }
-            },
-            "collection_times": {
-                "label": "Indsamlingstid"
-            },
-            "construction": {
-                "label": "Type"
-            },
-            "country": {
-                "label": "Land"
-            },
-            "crossing": {
-                "label": "Type"
-            },
-            "cuisine": {
-                "label": "Cuisine"
-            },
-            "denomination": {
-                "label": "Trosretning"
-            },
-            "denotation": {
-                "label": "Denotation"
-            },
-            "elevation": {
-                "label": "Højde over havet"
-            },
-            "emergency": {
-                "label": "Nødkald"
-            },
-            "entrance": {
-                "label": "Type"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Gebyr"
-            },
-            "highway": {
-                "label": "Type"
-            },
-            "historic": {
-                "label": "Type"
-            },
-            "internet_access": {
-                "label": "Internetadgang",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Kabeladgang",
-                    "terminal": "Terminal"
-                }
-            },
-            "landuse": {
-                "label": "Type"
-            },
-            "lanes": {
-                "label": "Vejbaner"
-            },
-            "layer": {
-                "label": "Lag"
-            },
-            "leisure": {
-                "label": "Type"
-            },
-            "levels": {
-                "label": "Niveauer"
-            },
-            "man_made": {
-                "label": "Type"
-            },
-            "maxspeed": {
-                "label": "Hastighedsbegræsning"
-            },
-            "name": {
-                "label": "Navn"
-            },
-            "natural": {
-                "label": "Naturlig"
-            },
-            "network": {
-                "label": "Netværk"
-            },
-            "note": {
-                "label": "Bemærkning"
-            },
-            "office": {
-                "label": "Type"
-            },
-            "oneway": {
-                "label": "Ensrettet vej"
-            },
-            "oneway_yes": {
-                "label": "Ensrettet vej"
-            },
-            "opening_hours": {
-                "label": "Timer"
-            },
-            "operator": {
-                "label": "Operatør"
-            },
-            "park_ride": {
-                "label": "Park and ride-anlæg"
-            },
-            "parking": {
-                "label": "Type"
-            },
-            "phone": {
-                "label": "Telefon"
-            },
-            "place": {
-                "label": "Type"
-            },
-            "power": {
-                "label": "Type"
-            },
-            "railway": {
-                "label": "Type"
-            },
-            "ref": {
-                "label": "Reference"
-            },
-            "religion": {
-                "label": "Religion",
-                "options": {
-                    "christian": "Kristen",
-                    "muslim": "Muslimsk",
-                    "buddhist": "Buddhist",
-                    "jewish": "Jødisk",
-                    "hindu": "Hinduisme",
-                    "shinto": "Shinto",
-                    "taoist": "Taoist"
+
+        var positions = {
+            point: [],
+            line: [],
+            area: []
+        };
+
+        var labelled = {
+            point: [],
+            line: [],
+            area: []
+        };
+
+        // Try and find a valid label for labellable entities
+        for (k = 0; k < labelable.length; k++) {
+            var font_size = font_sizes[k];
+            for (i = 0; i < labelable[k].length; i++) {
+                entity = labelable[k][i];
+                var name = iD.util.displayName(entity),
+                    width = name && textWidth(name, font_size),
+                    p;
+                if (entity.geometry(graph) === 'point') {
+                    p = getPointLabel(entity, width, font_size);
+                } else if (entity.geometry(graph) === 'line') {
+                    p = getLineLabel(entity, width, font_size);
+                } else if (entity.geometry(graph) === 'area') {
+                    p = getAreaLabel(entity, width, font_size);
                 }
-            },
-            "service": {
-                "label": "Type"
-            },
-            "shelter": {
-                "label": "Shelter"
-            },
-            "shop": {
-                "label": "Type"
-            },
-            "source": {
-                "label": "Kilde"
-            },
-            "sport": {
-                "label": "Sport"
-            },
-            "structure": {
-                "label": "Struktur",
-                "options": {
-                    "bridge": "Bro",
-                    "tunnel": "Tunnel",
-                    "embankment": "Forhøjning til tog, vej",
-                    "cutting": "Udskæring"
+                if (p) {
+                    p.classes = entity.geometry(graph) + ' tag-' + label_stack[k][1];
+                    positions[entity.geometry(graph)].push(p);
+                    labelled[entity.geometry(graph)].push(entity);
                 }
-            },
-            "supervised": {
-                "label": "Supervision"
-            },
-            "surface": {
-                "label": "Overflade"
-            },
-            "tourism": {
-                "label": "Type"
-            },
-            "tracktype": {
-                "label": "Type"
-            },
-            "water": {
-                "label": "Type"
-            },
-            "waterway": {
-                "label": "Type"
-            },
-            "website": {
-                "label": "Webside"
-            },
-            "wetland": {
-                "label": "Type"
-            },
-            "wheelchair": {
-                "label": "Kørestolsadgang"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Type"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Lufthavnsveje"
-            },
-            "aeroway/aerodrome": {
-                "name": "Lufthavn",
-                "terms": "fly,lufthavn,lufthavnsområde"
-            },
-            "aeroway/helipad": {
-                "name": "Helikopterlandningsplads",
-                "terms": "helikopter,helipad,helikopterlandsplads"
-            },
-            "amenity": {
-                "name": "Faciliteter"
-            },
-            "amenity/bank": {
-                "name": "Bank",
-                "terms": "kreditfirma,investeringsfirma,investeringsforening,kreditrådgivning"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Bænk"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Cykelparkering"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Cykeludlejning"
-            },
-            "amenity/cafe": {
-                "name": "Cafe",
-                "terms": "kaffe,te, kaffebutik"
-            },
-            "amenity/cinema": {
-                "name": "Biograf",
-                "terms": "storskærm,drive-in-bio,film,bio,biograf,biografteater,film"
-            },
-            "amenity/courthouse": {
-                "name": "Domstolsbygning"
-            },
-            "amenity/embassy": {
-                "name": "Ambassade"
-            },
-            "amenity/fast_food": {
-                "name": "Fast food"
-            },
-            "amenity/fire_station": {
-                "name": "Brandstation"
-            },
-            "amenity/fuel": {
-                "name": "Tankstation"
-            },
-            "amenity/grave_yard": {
-                "name": "Gravsted"
-            },
-            "amenity/hospital": {
-                "name": "Hospital",
-                "terms": "klinik, skadestue, sundhedsvæsen, hospice, ambulatorium, institution, plejehjem,ældrebolig,sanatorium,kirurgi"
-            },
-            "amenity/library": {
-                "name": "Bibliotek"
-            },
-            "amenity/marketplace": {
-                "name": "Markedsplads"
-            },
-            "amenity/parking": {
-                "name": "Parkering"
-            },
-            "amenity/pharmacy": {
-                "name": "Apotek"
-            },
-            "amenity/place_of_worship": {
-                "name": "Religiøst tilbedelsessted",
-                "terms": "katedral,kapel, kirke,Guds hus, bedehus,missionshus, moske, sogn,fristed,synagoge,tempel"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Kirke",
-                "terms": "katedral,kapel, kirke,Guds hus, bedehus,missionshus, moske, sogn,fristed,synagoge,tempel"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Synagoge",
-                "terms": "jødisk,synagoge"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Moské",
-                "terms": "muslimsk,moské"
-            },
-            "amenity/police": {
-                "name": "Politi",
-                "terms": "spejder,betjent, politikorps, strisser,detektiv, retshåndhævelse,politi"
-            },
-            "amenity/post_box": {
-                "name": "Postkasse",
-                "terms": "brevkasse,postboks"
-            },
-            "amenity/post_office": {
-                "name": "Postkontor"
-            },
-            "amenity/pub": {
-                "name": "Værtshus"
-            },
-            "amenity/restaurant": {
-                "name": "Restaurant",
-                "terms": "bar, cafeteria, cafe, kantine,kaffebar,spisestue,drive-in, spisested, spisehus,fastfood sted,grill, hamburgerbar,pølsevogn, kro, madpakkerum,natklub,pizzeria, salon,vandingshul"
-            },
-            "amenity/school": {
-                "name": "Skole",
-                "terms": "akademi,kollegium, afdeling, disciplin,fakultet,institut, institution, fængsel*, skole, seminarium, universitet"
-            },
-            "amenity/swimming_pool": {
-                "name": "Svømmebassin"
-            },
-            "amenity/telephone": {
-                "name": "Telefon"
-            },
-            "amenity/theatre": {
-                "name": "Teater",
-                "terms": "teater,performance,skuespil,musical"
-            },
-            "amenity/toilets": {
-                "name": "Toiletter"
-            },
-            "amenity/townhall": {
-                "name": "Rådhus",
-                "terms": "medborgerhus,forsamlingshus,rådhus,medborgercenter"
-            },
-            "amenity/university": {
-                "name": "Universitet"
-            },
-            "barrier": {
-                "name": "Barrier"
-            },
-            "barrier/block": {
-                "name": "Blok"
-            },
-            "barrier/bollard": {
-                "name": "Pullert"
-            },
-            "barrier/cattle_grid": {
-                "name": "Kreaturrist"
-            },
-            "barrier/city_wall": {
-                "name": "Bymur"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Cykelbarrier"
-            },
-            "barrier/ditch": {
-                "name": "Grøft"
-            },
-            "barrier/entrance": {
-                "name": "Indgang"
-            },
-            "barrier/fence": {
-                "name": "Hegn"
-            },
-            "barrier/gate": {
-                "name": "Port"
-            },
-            "barrier/hedge": {
-                "name": "Læhegn"
-            },
-            "barrier/kissing_gate": {
-                "name": "Dyrefoldsport"
-            },
-            "barrier/lift_gate": {
-                "name": "Løftebom"
-            },
-            "barrier/retaining_wall": {
-                "name": "Stengærde"
-            },
-            "barrier/stile": {
-                "name": "Stente"
-            },
-            "barrier/toll_booth": {
-                "name": "Vejafgifthus"
-            },
-            "barrier/wall": {
-                "name": "Mur"
-            },
-            "boundary/administrative": {
-                "name": "Administrativt grænse"
-            },
-            "building": {
-                "name": "Bygning"
-            },
-            "building/apartments": {
-                "name": "Lejligheder"
-            },
-            "building/entrance": {
-                "name": "Indgang"
-            },
-            "building/house": {
-                "name": "Hus"
-            },
-            "entrance": {
-                "name": "Indgang"
-            },
-            "highway": {
-                "name": "Veje"
-            },
-            "highway/bridleway": {
-                "name": "Hestesti",
-                "terms": "ridesti, ridning sti,hestesti"
-            },
-            "highway/bus_stop": {
-                "name": "Busstoppested"
-            },
-            "highway/crossing": {
-                "name": "Kryds",
-                "terms": "fodgængerovergang"
-            },
-            "highway/cycleway": {
-                "name": "Cykelsti"
-            },
-            "highway/footway": {
-                "name": "Gangsti",
-                "terms": "sti,boulevard,gangsti,vej,bane,linje,passage,sti,jernbane,jernbanespor,vej,gade,rute,gennemkørsel,spor,gå"
-            },
-            "highway/living_street": {
-                "name": "Stillevej"
-            },
-            "highway/mini_roundabout": {
-                "name": "Vendeplads"
-            },
-            "highway/motorway": {
-                "name": "Motorvej"
-            },
-            "highway/motorway_junction": {
-                "name": "Motorvejsfletningsvej"
-            },
-            "highway/motorway_link": {
-                "name": "Motorvejsafkørsel",
-                "terms": "rampe, tilkørelsesrampe, afkørelsesrampe"
-            },
-            "highway/path": {
-                "name": "Sti"
-            },
-            "highway/pedestrian": {
-                "name": "Fodgænger"
-            },
-            "highway/primary": {
-                "name": "Primærvej"
-            },
-            "highway/primary_link": {
-                "name": "Primærvej",
-                "terms": "rampe, påkørelsesrampe, afkørelsesrampe"
-            },
-            "highway/residential": {
-                "name": "Villavej"
-            },
-            "highway/road": {
-                "name": "Ukendt vejtype"
-            },
-            "highway/secondary": {
-                "name": "Mindre stor vej"
-            },
-            "highway/secondary_link": {
-                "name": "Sekundærvej",
-                "terms": "ramp,on ramp,off ramp"
-            },
-            "highway/service": {
-                "name": "Servicevej"
-            },
-            "highway/steps": {
-                "name": "Trappe",
-                "terms": "trapper,trappe"
-            },
-            "highway/tertiary": {
-                "name": " Tertiær vej"
-            },
-            "highway/tertiary_link": {
-                "name": "Afkørsel motortrafikvej",
-                "terms": "ramp,on ramp,off ramp"
-            },
-            "highway/track": {
-                "name": "Mark/Skovvej"
-            },
-            "highway/traffic_signals": {
-                "name": "Trafiksignal",
-                "terms": "lys,stoplys,traffiklys"
-            },
-            "highway/trunk": {
-                "name": "Motortrafikvej "
-            },
-            "highway/trunk_link": {
-                "name": "Afkørsel motortrafikvej",
-                "terms": "rampe, påkørelsesrampe, afkørelsesrampe"
-            },
-            "highway/turning_circle": {
-                "name": "Vendeplads"
-            },
-            "highway/unclassified": {
-                "name": "Mindre vej"
-            },
-            "historic": {
-                "name": "Historisk sted"
-            },
-            "historic/archaeological_site": {
-                "name": "Arkæologisksted"
-            },
-            "historic/boundary_stone": {
-                "name": "Grænsesten"
-            },
-            "historic/castle": {
-                "name": "Slot"
-            },
-            "historic/memorial": {
-                "name": "Mindesmærke"
-            },
-            "historic/monument": {
-                "name": "Monument"
-            },
-            "historic/ruins": {
-                "name": "Ruiner"
-            },
-            "historic/wayside_cross": {
-                "name": "Vejsidemindesmærker"
-            },
-            "historic/wayside_shrine": {
-                "name": "Vejsideskrin"
-            },
-            "landuse": {
-                "name": "Områdebrug"
-            },
-            "landuse/allotments": {
-                "name": "Kolonihaver"
-            },
-            "landuse/basin": {
-                "name": "Basin"
-            },
-            "landuse/cemetery": {
-                "name": " Begravelsesplads "
-            },
-            "landuse/commercial": {
-                "name": "Indkøbsområde"
-            },
-            "landuse/construction": {
-                "name": "Under konstruktion"
-            },
-            "landuse/farm": {
-                "name": "Landbrug"
-            },
-            "landuse/farmyard": {
-                "name": "Gård"
-            },
-            "landuse/forest": {
-                "name": "Skov"
-            },
-            "landuse/grass": {
-                "name": "Græs"
-            },
-            "landuse/industrial": {
-                "name": "Industriområde"
-            },
-            "landuse/meadow": {
-                "name": "Eng"
-            },
-            "landuse/orchard": {
-                "name": "Frugtplantage"
-            },
-            "landuse/quarry": {
-                "name": "Råstofudvinding"
-            },
-            "landuse/residential": {
-                "name": "Beboelsesområde"
-            },
-            "landuse/retail": {
-                "name": "Handelsområde"
-            },
-            "landuse/vineyard": {
-                "name": "Vingård"
-            },
-            "leisure": {
-                "name": "Fritid"
-            },
-            "leisure/garden": {
-                "name": "Have"
-            },
-            "leisure/golf_course": {
-                "name": "Golfbane"
-            },
-            "leisure/marina": {
-                "name": "Lystbådehavn"
-            },
-            "leisure/park": {
-                "name": "Park",
-                "terms": "have,græsplæne,eng,park,rekreativt område,legeplads"
-            },
-            "leisure/pitch": {
-                "name": "Sportsbane"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Amerikansk fodboldbane"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Baseballbane"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Basketballbane"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Fodboldbane"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Tenninsbane"
-            },
-            "leisure/playground": {
-                "name": "Legeplads"
-            },
-            "leisure/slipway": {
-                "name": "Bådrampe"
-            },
-            "leisure/stadium": {
-                "name": "Stadion"
-            },
-            "leisure/swimming_pool": {
-                "name": "Svømmebassin"
-            },
-            "man_made": {
-                "name": "Menneskeskabt"
-            },
-            "man_made/lighthouse": {
-                "name": "Fyr (navigation)"
-            },
-            "man_made/pier": {
-                "name": "Bade-gang bro (ved vandet)"
-            },
-            "man_made/survey_point": {
-                "name": "Geografisk fixpunkt"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Rensningsanlæg ",
-                "terms": "rensningsanlæg, genvindingsanlæg"
-            },
-            "man_made/water_tower": {
-                "name": "Vandtårn"
-            },
-            "man_made/water_works": {
-                "name": "Vandforsyning"
-            },
-            "natural": {
-                "name": "Naturlig"
-            },
-            "natural/bay": {
-                "name": "Bugt"
-            },
-            "natural/beach": {
-                "name": "Strand"
-            },
-            "natural/cliff": {
-                "name": "Klint"
-            },
-            "natural/coastline": {
-                "name": "Kystlinje",
-                "terms": "Kysten"
-            },
-            "natural/glacier": {
-                "name": "Gletsjer"
-            },
-            "natural/grassland": {
-                "name": "Græsmark"
-            },
-            "natural/heath": {
-                "name": "Hede"
-            },
-            "natural/peak": {
-                "name": "Højdedrag",
-                "terms": "alpetop,bjergtop,bakke,bjerg,top,bakketop"
-            },
-            "natural/scrub": {
-                "name": "Buskområde"
-            },
-            "natural/spring": {
-                "name": "Kilde (vand)"
-            },
-            "natural/tree": {
-                "name": "Træ"
-            },
-            "natural/water": {
-                "name": "Vand"
-            },
-            "natural/water/lake": {
-                "name": "Sø",
-                "terms": "sø, dam, mose"
-            },
-            "natural/water/pond": {
-                "name": "Dam",
-                "terms": "mølledam,pool"
-            },
-            "natural/water/reservoir": {
-                "name": "Reservoir"
-            },
-            "natural/wetland": {
-                "name": "Vådområde"
-            },
-            "natural/wood": {
-                "name": "Naturskov"
-            },
-            "office": {
-                "name": "Kontor"
-            },
-            "other": {
-                "name": "Andet"
-            },
-            "other_area": {
-                "name": "Andet"
-            },
-            "place": {
-                "name": "Lokalitet"
-            },
-            "place/city": {
-                "name": "Storby"
-            },
-            "place/hamlet": {
-                "name": "Mindre beboet område"
-            },
-            "place/island": {
-                "name": "Ø",
-                "terms": "skærgård, atol,holm,rev,"
-            },
-            "place/isolated_dwelling": {
-                "name": "Lille beboet område (1-2 hustande)"
-            },
-            "place/locality": {
-                "name": "Lokalitet"
-            },
-            "place/town": {
-                "name": "By"
-            },
-            "place/village": {
-                "name": "Landsby"
-            },
-            "power": {
-                "name": "Energi"
-            },
-            "power/generator": {
-                "name": "Kraftværk"
-            },
-            "power/line": {
-                "name": "Elledning"
-            },
-            "power/pole": {
-                "name": "Elmast (telefonmast)"
-            },
-            "power/sub_station": {
-                "name": "Transformatorstation"
-            },
-            "power/tower": {
-                "name": "Højspændingsmast"
-            },
-            "power/transformer": {
-                "name": "Transformer"
-            },
-            "railway": {
-                "name": "Jernbane"
-            },
-            "railway/abandoned": {
-                "name": "Ej brugt jernbanespor"
-            },
-            "railway/disused": {
-                "name": "Ej brugt jernbanespor"
-            },
-            "railway/level_crossing": {
-                "name": "Jernbaneoverskæring",
-                "terms": "passage,jernbaneoverskæring, jernbaneoverskæring, vej gennem jernbane"
-            },
-            "railway/monorail": {
-                "name": "Monorail"
-            },
-            "railway/platform": {
-                "name": "Stationsplatform"
-            },
-            "railway/rail": {
-                "name": "Jernbanespor"
-            },
-            "railway/station": {
-                "name": "Togstation"
-            },
-            "railway/subway": {
-                "name": "S-togspor"
-            },
-            "railway/subway_entrance": {
-                "name": "S-togstationsindgang"
-            },
-            "railway/tram": {
-                "name": "Sporvogn",
-                "terms": "delebil"
-            },
-            "shop": {
-                "name": "Butik"
-            },
-            "shop/alcohol": {
-                "name": "Vinforhandler"
-            },
-            "shop/bakery": {
-                "name": "Bager"
-            },
-            "shop/beauty": {
-                "name": "Parfumebutik"
-            },
-            "shop/beverages": {
-                "name": "Vinforhandler"
-            },
-            "shop/bicycle": {
-                "name": "Cykelbutik"
-            },
-            "shop/books": {
-                "name": "Boghandler"
-            },
-            "shop/boutique": {
-                "name": "Boutique"
-            },
-            "shop/butcher": {
-                "name": "Slagter"
-            },
-            "shop/car": {
-                "name": "Bilforhandler"
-            },
-            "shop/car_parts": {
-                "name": "Autoudstyrsbutik"
-            },
-            "shop/car_repair": {
-                "name": "Autoværksted"
-            },
-            "shop/chemist": {
-                "name": "Kemiforhandler"
-            },
-            "shop/clothes": {
-                "name": "Tøjbutik"
-            },
-            "shop/computer": {
-                "name": "Computerforhandler"
-            },
-            "shop/confectionery": {
-                "name": "Slikbutik"
-            },
-            "shop/convenience": {
-                "name": "Minimarked"
-            },
-            "shop/deli": {
-                "name": "Deli"
-            },
-            "shop/department_store": {
-                "name": "Stormagasin"
-            },
-            "shop/doityourself": {
-                "name": "Gør-det-selv butik"
-            },
-            "shop/dry_cleaning": {
-                "name": "Tøjrenseri"
-            },
-            "shop/electronics": {
-                "name": "Elektronikbutik"
-            },
-            "shop/fishmonger": {
-                "name": "Fiskeforretning"
-            },
-            "shop/florist": {
-                "name": "Blomsterbutik"
-            },
-            "shop/furniture": {
-                "name": "Møbelforhandler"
-            },
-            "shop/garden_centre": {
-                "name": "Havecenter"
-            },
-            "shop/gift": {
-                "name": "Gavebutik"
-            },
-            "shop/greengrocer": {
-                "name": "Grønthandler"
-            },
-            "shop/hairdresser": {
-                "name": "Frisør"
-            },
-            "shop/hardware": {
-                "name": "Værktøjsbutik"
-            },
-            "shop/hifi": {
-                "name": "Radioforhandler"
-            },
-            "shop/jewelry": {
-                "name": "Juvelér"
-            },
-            "shop/kiosk": {
-                "name": "Kiosk"
-            },
-            "shop/laundry": {
-                "name": "Vaskeri"
-            },
-            "shop/mall": {
-                "name": "Indkøbscenter"
-            },
-            "shop/mobile_phone": {
-                "name": "Mobiltelefonforhandler"
-            },
-            "shop/motorcycle": {
-                "name": "Motorcykelforhandler"
-            },
-            "shop/music": {
-                "name": "Musikbutik"
-            },
-            "shop/newsagent": {
-                "name": "Bladforhandler"
-            },
-            "shop/optician": {
-                "name": "Optiker"
-            },
-            "shop/outdoor": {
-                "name": "Friluftudstyrsbutik"
-            },
-            "shop/pet": {
-                "name": "Kæledyrsbutik"
-            },
-            "shop/shoes": {
-                "name": "Skobutik"
-            },
-            "shop/sports": {
-                "name": "Sportsudstyrsbutik"
-            },
-            "shop/stationery": {
-                "name": "Papirforhandler"
-            },
-            "shop/supermarket": {
-                "name": "Supermarked",
-                "terms": "basar, butik, butikskæde,discountbutik,loppemarked, galleri,outlet-butik, shop, shoppingcenter, shopping,butik, supermarked"
-            },
-            "shop/toys": {
-                "name": "Legetøjsbutik"
-            },
-            "shop/travel_agency": {
-                "name": "Rejsebureau"
-            },
-            "shop/tyres": {
-                "name": "Dækforhandler"
-            },
-            "shop/vacant": {
-                "name": "Lukket butik (ingen salg pt)"
-            },
-            "shop/variety_store": {
-                "name": "Spøg og skæmtbutik "
-            },
-            "shop/video": {
-                "name": "Videobutik"
-            },
-            "tourism": {
-                "name": "Turisme"
-            },
-            "tourism/alpine_hut": {
-                "name": "Bjerghytte"
-            },
-            "tourism/artwork": {
-                "name": "Kunstværk"
-            },
-            "tourism/attraction": {
-                "name": "Turistattraktion"
-            },
-            "tourism/camp_site": {
-                "name": "Campingplads"
-            },
-            "tourism/caravan_site": {
-                "name": "Autocamperplads"
-            },
-            "tourism/chalet": {
-                "name": "Bjergferiehytte"
-            },
-            "tourism/guest_house": {
-                "name": "Gæstehus",
-                "terms": "B&B,Bed & Breakfast,Bed and Breakfast"
-            },
-            "tourism/hostel": {
-                "name": "Vandrehjem"
-            },
-            "tourism/hotel": {
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "name": "Information"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Museum",
-                "terms": "udstilling, udstillinger,arkiver,galleri,bibliotek,salon"
-            },
-            "tourism/picnic_site": {
-                "name": "Picnic"
-            },
-            "tourism/theme_park": {
-                "name": "Forlystelsespark"
-            },
-            "tourism/viewpoint": {
-                "name": "Udsigtspunkt"
-            },
-            "tourism/zoo": {
-                "name": "Zoologisk have"
-            },
-            "waterway": {
-                "name": "Vandvej"
-            },
-            "waterway/canal": {
-                "name": "Kanal"
-            },
-            "waterway/dam": {
-                "name": "Dam"
-            },
-            "waterway/ditch": {
-                "name": "Grøft"
-            },
-            "waterway/drain": {
-                "name": "Drænløb"
-            },
-            "waterway/river": {
-                "name": "Flod",
-                "terms": "bæk,kurs,å,vandvej"
-            },
-            "waterway/riverbank": {
-                "name": "Flodbred"
-            },
-            "waterway/stream": {
-                "name": "Å",
-                "terms": "vandløb, kanal,flod, vand,å"
-            },
-            "waterway/weir": {
-                "name": "Stemmeværk"
             }
         }
-    }
-};
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+        function getPointLabel(entity, width, height) {
+            var coord = projection(entity.loc),
+                m = 5,  // margin
+                offset = pointOffsets[0],
+                p = {
+                    height: height,
+                    width: width,
+                    x: coord[0] + offset[0],
+                    y: coord[1] + offset[1],
+                    textAnchor: offset[2]
+                };
+            var rect = [p.x - m, p.y - m, p.x + width + m, p.y + height + m];
+            if (tryInsert(rect, entity.id)) return p;
+        }
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.de = {
-    "modes": {
-        "add_area": {
-            "title": "Fläche.",
-            "description": "Füge Parks, Gebäude, Seen oder andere Flächen zur Karte hinzu.",
-            "tail": "Klicke auf die Karte, um das Zeichnen einer Fläche wie einen Park, einen See oder Gebäude zu starten."
-        },
-        "add_line": {
-            "title": "Linie",
-            "description": "Füge Autobahnen, Straßen, Fußwege, Kanäle oder andere Linien zur Karte hinzu.",
-            "tail": "Klicke in die Karte, um das Zeichnen einer Straße, eines Pfades oder einer Route zu starten."
-        },
-        "add_point": {
-            "title": "Punkt",
-            "description": "Füge Restaurants, Denkmäler, Briefkästen oder andere Punkte hinzu.",
-            "tail": "Klicke in die Karte, um einen Punkt hinzuzufügen."
-        },
-        "browse": {
-            "title": "Durchsuchen.",
-            "description": "Verschieben und Vergrößern/Verkleinern des Kartenausschnitts."
-        },
-        "draw_area": {
-            "tail": "Klicke, um Punkte zur Fläche hinzuzufügen. Klicke auf den ersten Punkt, um die Fläche abzuschließen."
-        },
-        "draw_line": {
-            "tail": "Klicke, um mehr Punkte zur Linie hizuzufügen. Klicke auf eine andere Linie, um die Linien zu verbinden und klicke doppelt, um die Linie zu beenden."
-        }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Punkt hinzugefügt.",
-                "vertex": "Stützpunkt einem Weg hinzugefügt."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Linie begonnen.",
-                "area": "Fläche begonnen."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Linie fortgesetzt.",
-                "area": "Fläche fortgesetzt."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Zeichnen abgebrochen."
-        },
-        "change_tags": {
-            "annotation": "Tags verändert."
-        },
-        "circularize": {
-            "title": "Abrunden",
-            "description": {
-                "line": "Diese Linie kreisförmig machen.",
-                "area": "Dieses Gebiet kreisförmig machen."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Runde eine Linie ab.",
-                "area": "Runde eine Fläche ab."
-            },
-            "not_closed": "Dieses Objekt kann nicht kreisförmig gemacht werden, da es keine geschlossene Linie ist."
-        },
-        "orthogonalize": {
-            "title": "Rechtwinkligkeit herstellen",
-            "description": "Diese Ecken rechtwinklig ausrichten.",
-            "key": "Q",
-            "annotation": {
-                "line": "Die Ecken einer Linie rechtwinklig ausgerichtet.",
-                "area": "Die Ecken einer Fläche rechtwinklig ausgerichtet."
-            },
-            "not_closed": "Dieses Objekt kann nicht rechtwinklig gemacht werden, da es keine geschlossene Linie ist."
-        },
-        "delete": {
-            "title": "Löschen",
-            "description": "Lösche dies aus der Karte.",
-            "annotation": {
-                "point": "Punkt gelöscht.",
-                "vertex": "Stützpunkt aus einem Weg gelöscht.",
-                "line": "Linie gelöscht.",
-                "area": "Fläche gelöscht.",
-                "relation": "Verbindung gelöscht.",
-                "multiple": "{n} Objekte gelöscht."
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Weg mit einem Punkt verbunden.",
-                "vertex": "Weg mit einem anderem Weg verbunden.",
-                "line": "Weg mit einer Linie verbunden.",
-                "area": "Weg mit einer Fläche verbunden."
+        function getLineLabel(entity, width, height) {
+            var nodes = _.pluck(graph.childNodes(entity), 'loc').map(projection),
+                length = iD.geo.pathLength(nodes);
+            if (length < width + 20) return;
+
+            for (var i = 0; i < lineOffsets.length; i++) {
+                var offset = lineOffsets[i],
+                    middle = offset / 100 * length,
+                    start = middle - width/2;
+                if (start < 0 || start + width > length) continue;
+                var sub = subpath(nodes, start, start + width),
+                    rev = reverse(sub),
+                    rect = [
+                        Math.min(sub[0][0], sub[sub.length - 1][0]) - 10,
+                        Math.min(sub[0][1], sub[sub.length - 1][1]) - 10,
+                        Math.max(sub[0][0], sub[sub.length - 1][0]) + 20,
+                        Math.max(sub[0][1], sub[sub.length - 1][1]) + 30
+                    ];
+                if (rev) sub = sub.reverse();
+                if (tryInsert(rect, entity.id)) return {
+                    'font-size': height + 2,
+                    lineString: lineString(sub),
+                    startOffset: offset + '%'
+                };
             }
-        },
-        "disconnect": {
-            "title": "Trennen",
-            "description": "Trenne diese Wege voneinander.",
-            "key": "D",
-            "annotation": "Wege getrennt.",
-            "not_connected": "Es gibt nicht hier nicht genug Linien/Gebiete, um diese zu trennen."
-        },
-        "merge": {
-            "title": "Vereinigen",
-            "description": "Vereinige diese Linien.",
-            "key": "C",
-            "annotation": "{n} Linien vereinigt.",
-            "not_eligible": "Diese Objekte können nicht vereint werden.",
-            "not_adjacent": "Diese Linien können nicht vereint werden, da sie nicht verbunden sind."
-        },
-        "move": {
-            "title": "Verschieben",
-            "description": "Verschiebe dieses Objekt an einen anderen Ort.",
-            "key": "M",
-            "annotation": {
-                "point": "Punkt verschoben.",
-                "vertex": "Stützpunkt in einen Weg veschoben.",
-                "line": "Linie verschoben.",
-                "area": "Fläche verschoben.",
-                "multiple": "Mehrere Objekte verschoben."
-            },
-            "incomplete_relation": "Dieses Objekt kann nicht verschoben werden, da es nicht vollständig heruntergeladen wurde."
-        },
-        "rotate": {
-            "title": "Drehen",
-            "description": "Dieses Objekt um seinen Mittelpunkt drehen.",
-            "key": "R",
-            "annotation": {
-                "line": "Linie gedreht.",
-                "area": "Fläche gedreht."
+        }
+
+        function getAreaLabel(entity, width, height) {
+            var centroid = path.centroid(entity.asGeoJSON(graph, true)),
+                extent = entity.extent(graph),
+                entitywidth = projection(extent[1])[0] - projection(extent[0])[0],
+                rect;
+
+            if (isNaN(centroid[0]) || entitywidth < 20) return;
+
+            var iconX = centroid[0] - (iconSize/2),
+                iconY = centroid[1] - (iconSize/2),
+                textOffset = iconSize + 5;
+
+            var p = {
+                transform: 'translate(' + iconX + ',' + iconY + ')'
+            };
+
+            if (width && entitywidth >= width + 20) {
+                p.x = centroid[0];
+                p.y = centroid[1] + textOffset;
+                p.textAnchor = 'middle';
+                p.height = height;
+                rect = [p.x - width/2, p.y, p.x + width/2, p.y + height + textOffset];
+            } else {
+                rect = [iconX, iconY, iconX + iconSize, iconY + iconSize];
             }
-        },
-        "reverse": {
-            "title": "Umkehren",
-            "description": "Ändere die Richtung dieser Linie.",
-            "key": "V",
-            "annotation": "Linienrichtung umgekehrt."
-        },
-        "split": {
-            "title": "Teilen",
-            "description": {
-                "line": "Die Linie an diesem Punkt teilen.",
-                "area": "Die Gebietsgrenze teilen.",
-                "multiple": "Die Linie/Gebietsgrenze an diesem Punkt teilen."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Linie teilen.",
-                "area": "Gebietsgrenze teilen.",
-                "multiple": "{n} Linien/Gebietsgrenzen teilen."
-            },
-            "not_eligible": "Linien können nicht am Anfang oder Ende geteilt werden.",
-            "multiple_ways": "Es gibt hier zu viele Linien, um diese teilen zu können."
+
+            if (tryInsert(rect, entity.id)) return p;
+
         }
-    },
-    "nothing_to_undo": "Nichts zum Rückgängigmachen.",
-    "nothing_to_redo": "Nichts zum Wiederherstellen.",
-    "just_edited": "Sie haben gerade OpenStreetMap editiert!",
-    "browser_notice": "Dieser Editor wird von Firefox, Chrome, Safari, Opera, und Internet Explorer (Version 9 und höher) unterstützt. Bitte aktualisieren Sie Ihren Browser oder nutzen Sie Potlatch 2, um die Karte zu modifizieren.",
-    "view_on_osm": "Auf OpenStreetMap anschauen",
-    "zoom_in_edit": "Hineinzoomen, um die Karte zu bearbeiten",
-    "logout": "Abmelden",
-    "loading_auth": "Verbinde mit OpenStreetMap....",
-    "report_a_bug": "Programmfehler melden",
-    "commit": {
-        "title": "Änderungen speichern",
-        "description_placeholder": "Eine kurze Beschreibung deiner Beiträge",
-        "message_label": "Änderungskommentar",
-        "upload_explanation": "Änderungen, die du als {user} hochlädst werden sichtbar auf allen Karte, die OpenStreetMap nutzen.",
-        "save": "Speichern",
-        "cancel": "Abbrechen",
-        "warnings": "Warnungen",
-        "modified": "Verändert",
-        "deleted": "Gelöscht",
-        "created": "Erstellt"
-    },
-    "contributors": {
-        "list": "Diese Kartenansicht enthält Beiträge von:",
-        "truncated_list": "Diese Kartenansicht enthält Beiträge von: {users} und {count} anderen"
-    },
-    "geocoder": {
-        "title": "Suche einen Ort",
-        "placeholder": "suche einen Ort",
-        "no_results": "Der Ort '{name}' konnte nicht gefunden werden"
-    },
-    "geolocate": {
-        "title": "Zeige meine Position"
-    },
-    "inspector": {
-        "no_documentation_combination": "Für dieses Attribut ist keine Dokumentation verfügbar.",
-        "no_documentation_key": "Für dises Schlüsselwort ist keine Dokumentation verfügbar",
-        "show_more": "Zeige mehr",
-        "new_tag": "Neues Attribut",
-        "view_on_osm": "Auf openstreetmap.org ansehen",
-        "editing_feature": "In Bearbeitung {feature}",
-        "additional": "Weitere Merkmale",
-        "choose": "Eigenschafts-Typ auswählen",
-        "results": "{n} Resultate für {search}",
-        "reference": "In der OpenSteetMap Wiki anschauen",
-        "back_tooltip": "Eigenschafts-Typ ändern"
-    },
-    "background": {
-        "title": "Hintergrund",
-        "description": "Hintergrundeinstellungen",
-        "percent_brightness": "{opacity}% Helligkeit",
-        "fix_misalignment": "Fehlerhafte Ausrichtung reparieren",
-        "reset": "Zurücksetzen"
-    },
-    "restore": {
-        "heading": "Ungespeicherte Änderungen vorhanden",
-        "description": "Es gibt ungespeicherte Änderungen aus einer vorherigen Sitzung. Möchtest du diese Änderungen wiederherstellen?",
-        "restore": "Wiederherstellen",
-        "reset": "Zurücksetzen"
-    },
-    "save": {
-        "title": "Speichern",
-        "help": "Speichere Änderungen auf OpenStreetMap, um diese für andere Nutzer sichtbar zu machen.",
-        "no_changes": "Keine zu speichernden Änderungen.",
-        "error": "Beim Speichern ist ein Fehler aufgetreten",
-        "uploading": "Änderungen werden zu OpenStreetMap hochgeladen.",
-        "unsaved_changes": "Ungespeicherte Änderungen vorhanden"
-    },
-    "splash": {
-        "welcome": "Willkommen beim iD OpenStreetMap-Editor",
-        "text": "Dies ist eine Entwicklungsversion {version}. Für weitere Informationen besuche {website} und melde Fehler unter {github}.",
-        "walkthrough": "Starte das Walkthrough",
-        "start": "Jetzt bearbeiten"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "Es gibt ungespeicherte Änderungen. Durch Wechsel des Karten-Servers, gehen diese verloren. Sind Sie sicher, dass Sie die Server wechseln wollen?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Beschreibung",
-        "on_wiki": "{tag} auf wiki.osm.org",
-        "used_with": "benutzt mit {type}"
-    },
-    "validations": {
-        "untagged_point": "Punkt ohne Attribute",
-        "untagged_line": "Linie ohne Attribute",
-        "untagged_area": "Fläche ohne Attribute",
-        "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
-        "tag_suggests_area": "Das Attribut {tag} suggeriert eine Fläche, ist aber keine Fläche",
-        "deprecated_tags": "Veraltete Attribute: {tags}"
-    },
-    "zoom": {
-        "in": "Hineinzoomen",
-        "out": "Herauszoomen"
-    },
-    "cannot_zoom": "Es kann im aktuellen Modus nicht weiter herausgezoomt werden.",
-    "gpx": {
-        "local_layer": "Lokale GPX-Datei",
-        "drag_drop": "Eine GPX-Datei per Drag & Drop auf die Seite ziehen"
-    },
-    "help": {
-        "title": "Hilfe",
-        "help": "#Hilfe\n\nDies ist ein Editor für [OpenStreetMap](http://www.openstreetmap.org/), der freien und editierbaren Weltkarte. Du kannst ihn verwenden um Daten in deiner Umgebung hinzuzufügen oder zu verändern und so die Karte für jeden verbessern.\n\nVeränderungen werden für alle Nutzer von OpenStreetMap sichtbar. Um Veränderungen vornehmen zu können, musst du einen [kostenloses OpenStreetMap Profil](https://www.openstreetmap.org/user/new) anlegen.\n\nDer [iD editor](http://ideditor.com/) ist ein Gemeinschaftsprojekt dessem [Quellcode\nauf GitHub verfügbar ist](https://github.com/systemed/iD).\n\n",
-        "editing_saving": "# Editieren & Speichern\n\nDieser Editor wurde entworfen um online zu arbeiten und du erreichst ihn über diese Webseite.\n\n###Objekte auswählen\n\nUm ein Kartenobjekt, wie eine Straße oder ein Sonderziel (POI) auszuwählen, klicke auf der Karte darauf. Dadurch wird das Objekt hervorgehoben und ein Bedienfeld mit Details und Möglichkeiten zur Veränderung aufgerufen. \n\nMehrere Objekte kannst du auswählen indem du die Shift-taste (Umschaltaste) drückst und die Objekte einzeln anklickst oder klickst und einen Rahmen drumherum ziehst.\nDas erlaubt die Veränderungen für mehrere Objekte gleichzeitig zu machen.\n\n### Speichern der Änderungen\n\nWenn du Veränderungen an einer Straße, eines Gebäudes oder einem Platz vorgenommen hast, sind diese lokal gespeichert, bis du sie auf dem Server speicherst, Keine Sorge falls du einen Fehler machen solltest. Du kannst Änderungen jederzeit über den Rückgängig-Knopf\nrückgängig machen, oder über den Wiederherstellen-Knopf noch einmal ausführen.\n\nKlicke auf \"Speichern\" um eine Gruppe von Veränderungen zu speichern. Zum Beispiel, wenn\ndu wenn du in einem Stadtteil fertig bist und in einer neuen Gegend etwas verändern willst.\nDu bekommst dann die Möglichkeiten noch einmal nachvollziehen zu können, was du gerade getan hast und der Editor zeigt dir nützliche Hinweise oder mögliche Fehler, wenn etwas nicht in Ordnung zu sein scheint.\n\nWenn alles gut aussieht kannst du einen kurzen Kommentar schreiben, der erklärt, was du gemacht hast. Drücke nun \"Speicher\" um die Änderungen auf dem Server zu speichern.\nNun können es alle auf [OpenStreetMap.org](http://www.openstreetmap.org/) sehen und darauf aufbauen.\n\nWenn du es zeitlich nicht schaffst, kannst du das Editor Fenster einfach schließen und wenn du  die Seite wieder aufrufst, (gleicher Browser und Computer) wird die angeboten die letzte Sitzung wieder herzustellen. \n",
-        "gps": "# GPS\n\nGPS Daten sind die vertrauenswürdigste Quelle für OpenStreetMap.\nDieser Editor unterstützt Lokale GPS-Spuren - \".gpx\" Datein auf deinem Computer. \nDu kannst diese GPS-Spuren mit Hilfe diverser Smartphone Apps oder anderen GPS Geräten aufnehmen.\n\nFür Informationen über das sammeln von GPS Daten kannst du dir folgende Anleitung durchlesen: [Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/) (bis jetzt nur auf Englisch)\n\nUm GPX Tracks zu verwenden, ziehe sie einfach in den Karteneditor.\nWenn er erkannt wurde, wird dieser Track als leuchtend grüne Linie auf der Karte dargestellt.\nKlicke auf \"Hintergrundeinstellungen\", um sie zu deaktivieren und zu aktivieren, oder zum Gebiet des Tracks zu gelangen (Lupe).\n\nDer GPX Track wird nicht automatisch direkt zu OpenStreetMap hochgeladen. Am besten verwendest du ihn um neue Wege hinzuzufügen. \nMöchtest du den GPX Track jedem zugänglich machen, kannst du ihn über [Track-Upload-Seite](http://www.openstreetmap.org/trace/create) hochladen.\n",
-        "imagery": "# Bildmaterial\n\nLuftbilder sind eine wichtige Quelle für das kartografieren. Eine Kombination aus Luftbildern von Flugzeugen, Satellitenbilder und freien Quellen sind im Editor über das \"Hintergrundeinstellungen\"- Menü auf der Linken Seite verfügbar. \n\nAls Standard ist der [Bing Maps](http://www.bing.com/maps/) Satelliten-Layer ausgewählt. Je nach Gegenden werden dir verschiedene andere Quellen angezeigt.\nEinige Länder wie den USA, Frankreich, Deutschland und Dänemark stehen zum Teil sehr hochauflösende Luftbilder zur Verfügung.\n\nLuftbilder sind manchmal durch Fehler der Luftbild-Anbieter verschoben. \nWenn du feststellst, dass viele  Straßen gegenüber dem Hintergrund verschoben sind, dann verschiebe nicht die Straßen, sondern das Luftbild, bis sie übereinstimmen. Um das Luftbid zu korrigieren klickte auf \"Fehlerhafte Ausrichtung korrigieren\" in den Hintergrundeinstellungen.\n\n",
-        "addresses": "# Adressen\n\nAdressen sind eine der wichtigsten Informationen auf einer Karte.\n\nObwohl Adressen oft als Teil einer Straße repräsentiert werden, werden sie in OpenStreetMap  als Attribute von Gebäuden oder Objekten neben der Straße eingetragen.\n\nDu kannst Adressinformationen sowohl zu Flächen die als Gebäudegrundriss gezeichnet sind, als auch zu einzelnen Punkten hinzufügen. Adressen musst du über eine Stadtbegehung oder dein eigenes Wissen herausfinden, da die Nutzung kommerzieller Quellen wie Google Maps strikt verboten ist.\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "Die Karte zeigt OpenStreetMap Daten auf einem Hintergrund. Du kannst sie wie jede andere Karte im Internet durch ziehen bewegen. **Verschiebe die Karte**",
-            "select": "Kartenobjekte werden in drei verschiedenen Weisen dargestellt: als Punkte, als Linie oder als Flächen. Alle Objekte können durch Klicken ausgewählt werden. **Klicke auf einen Punkt, um ihn auszuwählen**",
-            "header": "Die Kopfzeile zeigt den Typ des Objektes.",
-            "pane": "Wird ein Objekt ausgewählt, wird der Eigenschaftseditor angezeigt. Die Kopfzeile zeigt den Typ des Objektes an. Im Hauptfenster werden die Eigenschaften des Objektes angezeigt, wie etwa sein Name und seine Adresse.\n**Schließe den Eigenschaftseditor mit dem Schließen-Button rechts oben.**"
-        },
-        "points": {
-            "add": "Punkte können verwendet werden, um Objekte wie Läden, Restaurants oder Denkmäler darzustellen. Sie markieren eine bestimmte Stelle und beschreiben, was sich dort befindet. **Klicke den Punkt-Knopf an, um einen neuen Punkt hinzuzufügen**",
-            "place": "Punkte können durch Klicken auf die Karte platziert werden. **Platziere einen Punkt auf dem Gebäude**",
-            "search": "Es gibt viele verschiedene Objekte, die ein Punkt repräsentieren kann. Der Punkt, den du gerade hinzugefügt hast, ist ein Café. **Suche nach \"Café\"**",
-            "choose": "**Wähle Café aus dem Raster**",
-            "describe": "Der Knoten wurde nun als Café markiert. Mit dem Eigenschaftseditor können wir mehr Informationen über das Objekt angeben. **Füge einen Namen hinzu.**",
-            "close": "Der Eigenschaftseditor kann mithilfe des Schließen-Buttons beendet werden. **Schließe den Eigenschaftseditor.**",
-            "reselect": "Oftmals existieren Knoten bereits, haben aber falsche oder unvollständige Eigenschaften. Wir können vorhandene Knoten bearbeiten. **Wähle den Punkt aus, den du gerade erstellt hast.**",
-            "fixname": "**Ändere den Namen und schließe den Eigenschaftseditor.**",
-            "reselect_delete": "Alle Sachen auf der Karte können gelöscht werden. **Klicke auf den von dir erzeugten Punkt**",
-            "delete": "Das Menü um den Knoten herum beinhaltet Werkzeuge, um diesen zu bearbeiten. So kann man ihn unter anderem auch löschen. **Lösche den Knoten.**"
-        },
-        "areas": {
-            "add": "Gebiete sind eine Möglichkeit, Objekte detailliert wiederzugeben. Diese bieten Information über die Grenzen des Objektes. Gebiete können fast immer da verwendet werden, wo auch Knoten Verwendung finden, werden aber oft bevorzugt. **Benutze den Gebiets-Button, um ein neues Gebiet hinzuzufügen.**",
-            "corner": "Flächen werden gezeichnet, indem man Punkte platziert, die den Umriss der Fläche repräsentieren. **Setze den Startpunkt auf eine Ecke des Spielplatzes**",
-            "place": "Zeichne eine Fläche indem du mehr Punkte hinzufügst. Beende die Fläche, indem du auf den Startpunkt klickst. **Zeichne eine Fläche für den Spielplatz.**",
-            "search": "**Suche nach Spieplatz**",
-            "choose": "**Wähle \"Spielplatz\" aus der Liste aus.**",
-            "describe": "**Füge einen Namen hinzu und schließe den Eigenschaftseditor**"
-        },
-        "lines": {
-            "add": "Linien werden verwendet um Sachen wie Straßen, Bahngleise und Flüsse zu erzeugen. **Klicke auf den Linien-Knopf um eine neue Linie zu zeichnen**",
-            "start": "**Beginne die Linie, indem du auf das Ende der Straße klickst.**",
-            "intersect": "Klicke um mehr Punkte zu einer Linie hinzuzufügen. Du kannst während des Zeichnens die Karte verschieben. Straßen und andere Wege sind teil eines großen Netzwerk und müssen ordnungsgemäß mit einander verbunden sein, um sie für Routenführung nutzen zu können. **Klicke auf die Flower Street um eine Kreuzung zu erzeugen und beide Linien zu verbinden.**",
-            "finish": "Linien können vollendet werden, indem man den letzten Punkt erneut anklickt **Zeichnen der Straße beenden**",
-            "road": "**Wähle eine Straße aus dem Raster**",
-            "residential": "Es gibt verschiedene Straßenarten. Die Häufigste davon ist die Wohngebietsstraße. **Wähle die Wohngebietsstraße**",
-            "describe": "**Benenne die Straße und schließe den Eigenschaftseditor**",
-            "restart": "Die Straße muss die Flower Street schneiden."
-        },
-        "startediting": {
-            "help": "Mehr Informationen und Anleitungen findest du hier.",
-            "save": "Vergiss nicht regelmäßig zu speichern!",
-            "start": "Fange an zu mappen!"
-        }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Zugang",
-                "types": {
-                    "foot": "zu Fuß",
-                    "motor_vehicle": "Motorfahrzeuge",
-                    "bicycle": "Fahrräder",
-                    "horse": "Pferde"
-                },
-                "options": {
-                    "permissive": {
-                        "description": "Zugang solange gewährt, bis der Besitzer seine Erlaubnis zurück nimmt."
-                    },
-                    "private": {
-                        "title": "Privat"
-                    }
-                }
-            },
-            "address": {
-                "label": "Adresse",
-                "placeholders": {
-                    "housename": "Hausname",
-                    "number": "123",
-                    "street": "Straße",
-                    "city": "Stadt"
-                }
-            },
-            "aeroway": {
-                "label": "Typ"
-            },
-            "amenity": {
-                "label": "Typ"
-            },
-            "atm": {
-                "label": "Geldautomat"
-            },
-            "barrier": {
-                "label": "Typ"
-            },
-            "bicycle_parking": {
-                "label": "Typ"
-            },
-            "building": {
-                "label": "Gebäude"
-            },
-            "building_area": {
-                "label": "Gebäude"
-            },
-            "building_yes": {
-                "label": "Gebäude"
-            },
-            "capacity": {
-                "label": "Kapazität"
-            },
-            "collection_times": {
-                "label": "Leerungszeiten"
-            },
-            "construction": {
-                "label": "Typ"
-            },
-            "country": {
-                "label": "Land"
-            },
-            "crossing": {
-                "label": "Typ"
-            },
-            "cuisine": {
-                "label": "Küche"
-            },
-            "denomination": {
-                "label": "Glaubensrichtung"
-            },
-            "denotation": {
-                "label": "Vorgesehene Verwendung"
-            },
-            "elevation": {
-                "label": "Erhöhung"
-            },
-            "emergency": {
-                "label": "Notfall"
-            },
-            "entrance": {
-                "label": "Art"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Gebühr"
-            },
-            "highway": {
-                "label": "Art"
-            },
-            "historic": {
-                "label": "Art"
-            },
-            "internet_access": {
-                "label": "Internetzugang",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Kabelgebunden",
-                    "terminal": "Terminal"
-                }
-            },
-            "landuse": {
-                "label": "Art"
-            },
-            "layer": {
-                "label": "Ebene"
-            },
-            "leisure": {
-                "label": "Art"
-            },
-            "levels": {
-                "label": "Etagen"
-            },
-            "man_made": {
-                "label": "Art"
-            },
-            "maxspeed": {
-                "label": "Höchstgeschwindigkeit"
-            },
-            "name": {
-                "label": "Name"
-            },
-            "natural": {
-                "label": "Natur"
-            },
-            "network": {
-                "label": "Netzwerk"
-            },
-            "note": {
-                "label": "Notiz"
-            },
-            "office": {
-                "label": "Typ"
-            },
-            "oneway": {
-                "label": "Einbahnstraße"
-            },
-            "oneway_yes": {
-                "label": "Einbahnstraße"
-            },
-            "opening_hours": {
-                "label": "Öffnungszeiten"
-            },
-            "operator": {
-                "label": "Betreiber"
-            },
-            "park_ride": {
-                "label": "Park and Ride"
-            },
-            "parking": {
-                "label": "Typ"
-            },
-            "phone": {
-                "label": "Telefon"
-            },
-            "place": {
-                "label": "Art"
-            },
-            "power": {
-                "label": "Typ"
-            },
-            "railway": {
-                "label": "Art"
-            },
-            "ref": {
-                "label": "Bezug"
-            },
-            "religion": {
-                "label": "Religion",
-                "options": {
-                    "christian": "Christlich",
-                    "muslim": "Muslimisch",
-                    "buddhist": "Buddhistisch",
-                    "jewish": "Jüdisch",
-                    "hindu": "Hindu",
-                    "shinto": "Shinto",
-                    "taoist": "Tao"
-                }
-            },
-            "service": {
-                "label": "Art"
-            },
-            "shelter": {
-                "label": "Unterstand"
-            },
-            "shop": {
-                "label": "Art"
-            },
-            "source": {
-                "label": "Quelle"
-            },
-            "sport": {
-                "label": "Sport"
-            },
-            "structure": {
-                "label": "Struktur",
-                "options": {
-                    "bridge": "Brücke",
-                    "tunnel": "Tunnel",
-                    "embankment": "Fahrdamm",
-                    "cutting": "Senke"
-                }
-            },
-            "supervised": {
-                "label": "überwacht"
-            },
-            "surface": {
-                "label": "Oberfläche"
-            },
-            "tourism": {
-                "label": "Art"
-            },
-            "tracktype": {
-                "label": "Typ"
-            },
-            "water": {
-                "label": "Art"
-            },
-            "waterway": {
-                "label": "Art"
-            },
-            "website": {
-                "label": "Webseite"
-            },
-            "wetland": {
-                "label": "Art"
-            },
-            "wheelchair": {
-                "label": "Rollstuhlzugang"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Art"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Luftfahrt"
-            },
-            "aeroway/aerodrome": {
-                "name": "Flughafen",
-                "terms": "Flughafen"
-            },
-            "aeroway/helipad": {
-                "name": "Hubschrauberlandeplatz",
-                "terms": "Heliport"
-            },
-            "amenity": {
-                "name": "Einrichtungen"
-            },
-            "amenity/bank": {
-                "name": "Bank"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Bank"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Fahrradparkplatz"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Fahrradverleih"
-            },
-            "amenity/cafe": {
-                "name": "Café",
-                "terms": "Kaffee,Tee,Kaffeehandlung"
-            },
-            "amenity/cinema": {
-                "name": "Kino"
-            },
-            "amenity/courthouse": {
-                "name": "Gericht"
-            },
-            "amenity/embassy": {
-                "name": "Botschaft"
-            },
-            "amenity/fast_food": {
-                "name": "Fast Food"
-            },
-            "amenity/fire_station": {
-                "name": "Feuerwehrhaus"
-            },
-            "amenity/fuel": {
-                "name": "Tankstelle"
-            },
-            "amenity/grave_yard": {
-                "name": "Friedhof"
-            },
-            "amenity/hospital": {
-                "name": "Krankenhaus"
-            },
-            "amenity/library": {
-                "name": "Bibliothek"
-            },
-            "amenity/marketplace": {
-                "name": "Marktplatz"
-            },
-            "amenity/parking": {
-                "name": "Parkplatz"
-            },
-            "amenity/pharmacy": {
-                "name": "Apotheke"
-            },
-            "amenity/place_of_worship": {
-                "name": "Gebetsort"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Kirche"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Sy­n­a­go­ge",
-                "terms": "jüdisch,Synagoge"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Moschee",
-                "terms": "muslimisch,Moschee"
-            },
-            "amenity/police": {
-                "name": "Polizei"
-            },
-            "amenity/post_box": {
-                "name": "Briefkasten"
-            },
-            "amenity/post_office": {
-                "name": "Poststelle"
-            },
-            "amenity/pub": {
-                "name": "Pub"
-            },
-            "amenity/restaurant": {
-                "name": "Restaurant"
-            },
-            "amenity/school": {
-                "name": "Schule"
-            },
-            "amenity/swimming_pool": {
-                "name": "Schwimmbecken"
-            },
-            "amenity/telephone": {
-                "name": "Telefon"
-            },
-            "amenity/theatre": {
-                "name": "The­a­ter",
-                "terms": "Theater,Aufführung,Schauspiel,Musical"
-            },
-            "amenity/toilets": {
-                "name": "Toilette"
-            },
-            "amenity/townhall": {
-                "name": "Rathaus"
-            },
-            "amenity/university": {
-                "name": "Universität"
-            },
-            "barrier": {
-                "name": "Barrieren"
-            },
-            "barrier/block": {
-                "name": "Steinblock"
-            },
-            "barrier/bollard": {
-                "name": "Poller"
-            },
-            "barrier/cattle_grid": {
-                "name": "Weiderost"
-            },
-            "barrier/city_wall": {
-                "name": "Stadtmauer"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Umlaufgitter"
-            },
-            "barrier/ditch": {
-                "name": "Graben"
-            },
-            "barrier/entrance": {
-                "name": "Eingang"
-            },
-            "barrier/fence": {
-                "name": "Zaun"
-            },
-            "barrier/gate": {
-                "name": "Tor"
-            },
-            "barrier/hedge": {
-                "name": "Hecke"
-            },
-            "barrier/kissing_gate": {
-                "name": "Schwinggatter"
-            },
-            "barrier/lift_gate": {
-                "name": "Schlagbaum"
-            },
-            "barrier/retaining_wall": {
-                "name": "Stützmauer"
-            },
-            "barrier/stile": {
-                "name": "Zaunübertritt"
-            },
-            "barrier/toll_booth": {
-                "name": "Mautstation"
-            },
-            "barrier/wall": {
-                "name": "Mauer"
-            },
-            "boundary/administrative": {
-                "name": "Administrative Grenze"
-            },
-            "building": {
-                "name": "Gebäude"
-            },
-            "building/apartments": {
-                "name": "Wohnungen"
-            },
-            "building/entrance": {
-                "name": "Eingang"
-            },
-            "building/house": {
-                "name": "Haus"
-            },
-            "entrance": {
-                "name": "Eingang"
-            },
-            "highway": {
-                "name": "Straße/Weg"
-            },
-            "highway/bridleway": {
-                "name": "Reitweg",
-                "terms": "Reitweg"
-            },
-            "highway/bus_stop": {
-                "name": "Bushaltestelle"
-            },
-            "highway/crossing": {
-                "name": "Fußgängerüberweg",
-                "terms": "Zebrastreifen"
-            },
-            "highway/cycleway": {
-                "name": "Radweg"
-            },
-            "highway/footway": {
-                "name": "Fußweg"
-            },
-            "highway/motorway": {
-                "name": "Autobahn"
-            },
-            "highway/motorway_link": {
-                "name": "Autobahnanschluss",
-                "terms": "Auffahrt"
-            },
-            "highway/path": {
-                "name": "Pfad"
-            },
-            "highway/primary": {
-                "name": "Hauptverbindungsstraße"
-            },
-            "highway/primary_link": {
-                "name": "Bundesstraßenanschluss",
-                "terms": "Auffahrt"
-            },
-            "highway/residential": {
-                "name": "Wohngebietsstraße"
-            },
-            "highway/road": {
-                "name": "Unbekannter Straßentyp"
-            },
-            "highway/secondary": {
-                "name": "Landstraße"
-            },
-            "highway/secondary_link": {
-                "name": "Landesstraßenanschluss",
-                "terms": "Auffahrt"
-            },
-            "highway/service": {
-                "name": "Erschließungsweg"
-            },
-            "highway/steps": {
-                "name": "Treppen",
-                "terms": "Treppe"
-            },
-            "highway/tertiary": {
-                "name": "Kreisstraße"
-            },
-            "highway/tertiary_link": {
-                "name": "Kreisstraßenanschluss",
-                "terms": "Auffahrt"
-            },
-            "highway/track": {
-                "name": "Feld-/Waldweg"
-            },
-            "highway/traffic_signals": {
-                "name": "Ampeln",
-                "terms": "Ampel"
-            },
-            "highway/trunk": {
-                "name": "Kraftfahrstraße"
-            },
-            "highway/trunk_link": {
-                "name": "Schnellstraßenanschluss",
-                "terms": "Auffahrt"
-            },
-            "highway/turning_circle": {
-                "name": "Wendestelle"
-            },
-            "highway/unclassified": {
-                "name": "Nebenstraße"
-            },
-            "historic": {
-                "name": "Historische Stätte"
-            },
-            "historic/archaeological_site": {
-                "name": "Archeologische Stätte"
-            },
-            "historic/boundary_stone": {
-                "name": "Grenzstein"
-            },
-            "historic/castle": {
-                "name": "Burg"
-            },
-            "historic/memorial": {
-                "name": "Denkmal"
-            },
-            "historic/monument": {
-                "name": "Monument"
-            },
-            "historic/ruins": {
-                "name": "Ruine"
-            },
-            "historic/wayside_cross": {
-                "name": "Wegkreuz"
-            },
-            "historic/wayside_shrine": {
-                "name": "Bildstock"
-            },
-            "landuse": {
-                "name": "Landnutzung"
-            },
-            "landuse/allotments": {
-                "name": "Kleigartenanlage"
-            },
-            "landuse/basin": {
-                "name": "Becken"
-            },
-            "landuse/cemetery": {
-                "name": "Friedhof"
-            },
-            "landuse/commercial": {
-                "name": "Geschäfte"
-            },
-            "landuse/construction": {
-                "name": "Baustelle"
-            },
-            "landuse/farm": {
-                "name": "Bauernhof"
-            },
-            "landuse/farmyard": {
-                "name": "Bauernhof"
-            },
-            "landuse/forest": {
-                "name": "Wald"
-            },
-            "landuse/grass": {
-                "name": "Gras"
-            },
-            "landuse/industrial": {
-                "name": "Industrie"
-            },
-            "landuse/meadow": {
-                "name": "Weide"
-            },
-            "landuse/orchard": {
-                "name": "Obstplantage"
-            },
-            "landuse/quarry": {
-                "name": "Steinbruch"
-            },
-            "landuse/residential": {
-                "name": "Wohngebiet"
-            },
-            "landuse/vineyard": {
-                "name": "Weinberg"
-            },
-            "leisure": {
-                "name": "Erholung"
-            },
-            "leisure/garden": {
-                "name": "Garten"
-            },
-            "leisure/golf_course": {
-                "name": "Golfplatz"
-            },
-            "leisure/marina": {
-                "name": "Yachthafen"
-            },
-            "leisure/park": {
-                "name": "Park"
-            },
-            "leisure/pitch": {
-                "name": "Sportplatz"
-            },
-            "leisure/pitch/american_football": {
-                "name": "American Football Feld"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Baseballfeld"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Basketballfeld"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Fußballplatz"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Tennisplatz"
-            },
-            "leisure/playground": {
-                "name": "Spieplatz"
-            },
-            "leisure/slipway": {
-                "name": "Gleitbahn"
-            },
-            "leisure/stadium": {
-                "name": "Stadium"
-            },
-            "leisure/swimming_pool": {
-                "name": "Schwimmbecken"
-            },
-            "man_made": {
-                "name": "Zivilbauten"
-            },
-            "man_made/lighthouse": {
-                "name": "Leuchtturm"
-            },
-            "man_made/pier": {
-                "name": "Steg"
-            },
-            "man_made/survey_point": {
-                "name": "Vermessungspunkt"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Kläranlage"
-            },
-            "man_made/water_tower": {
-                "name": "Wasserturm"
-            },
-            "natural": {
-                "name": "Natur"
-            },
-            "natural/bay": {
-                "name": "Bucht"
-            },
-            "natural/beach": {
-                "name": "Strand"
-            },
-            "natural/cliff": {
-                "name": "Klippe"
-            },
-            "natural/coastline": {
-                "name": "Küstenlinie",
-                "terms": "Ufer"
-            },
-            "natural/glacier": {
-                "name": "Gletscher"
-            },
-            "natural/grassland": {
-                "name": "Grasland"
-            },
-            "natural/heath": {
-                "name": "Heide"
-            },
-            "natural/peak": {
-                "name": "Gipfel"
-            },
-            "natural/scrub": {
-                "name": "Gestrübb"
-            },
-            "natural/spring": {
-                "name": "Quelle"
-            },
-            "natural/tree": {
-                "name": "Baum"
-            },
-            "natural/water": {
-                "name": "Wasser"
-            },
-            "natural/water/lake": {
-                "name": "See"
-            },
-            "natural/water/pond": {
-                "name": "Teich"
-            },
-            "natural/water/reservoir": {
-                "name": "Speicherbecken"
-            },
-            "natural/wetland": {
-                "name": "Feuchtgebiet"
-            },
-            "natural/wood": {
-                "name": "Wald"
-            },
-            "office": {
-                "name": "Büro"
-            },
-            "other": {
-                "name": "Andere"
-            },
-            "other_area": {
-                "name": "Andere"
-            },
-            "place": {
-                "name": "Ort"
-            },
-            "place/city": {
-                "name": "Großstadt"
-            },
-            "place/hamlet": {
-                "name": "Siedlung"
-            },
-            "place/island": {
-                "name": "Insel"
-            },
-            "place/isolated_dwelling": {
-                "name": "abgelegene Siedlung"
-            },
-            "place/locality": {
-                "name": "Ortschaft"
-            },
-            "place/town": {
-                "name": "Kleinstadt"
-            },
-            "place/village": {
-                "name": "Dorf"
-            },
-            "power": {
-                "name": "Energieversorgung"
-            },
-            "power/generator": {
-                "name": "Kraftwerk"
-            },
-            "power/line": {
-                "name": "Stromleitung"
-            },
-            "power/pole": {
-                "name": "Strommast"
-            },
-            "power/sub_station": {
-                "name": "Umspannwerk"
-            },
-            "power/tower": {
-                "name": "Hochspannungsmast"
-            },
-            "power/transformer": {
-                "name": "Transformator"
-            },
-            "railway": {
-                "name": "Eisenbahn"
-            },
-            "railway/abandoned": {
-                "name": "Stillgelegte Eisenbahnstrecke"
-            },
-            "railway/disused": {
-                "name": "ungenutzte Eisenbahnstrecke"
-            },
-            "railway/level_crossing": {
-                "name": "Bahnübergang",
-                "terms": "Bahnübergang"
-            },
-            "railway/monorail": {
-                "name": "Einschienenbahn"
-            },
-            "railway/rail": {
-                "name": "Eisenbahn"
-            },
-            "railway/station": {
-                "name": "Bahnhof"
-            },
-            "railway/subway": {
-                "name": "U-Bahn"
-            },
-            "railway/subway_entrance": {
-                "name": "U-Bahn-Eingang"
-            },
-            "railway/tram": {
-                "name": "Straßenbahn",
-                "terms": "Straßenbahn"
-            },
-            "shop": {
-                "name": "Laden"
-            },
-            "shop/alcohol": {
-                "name": "Spirituosenladen"
-            },
-            "shop/bakery": {
-                "name": "Bäcker"
-            },
-            "shop/beauty": {
-                "name": "Kosmetikladen"
-            },
-            "shop/beverages": {
-                "name": "Getränkeladen"
-            },
-            "shop/bicycle": {
-                "name": "Fahrradladen"
-            },
-            "shop/books": {
-                "name": "Buchhandlung"
-            },
-            "shop/boutique": {
-                "name": "Boutique"
-            },
-            "shop/butcher": {
-                "name": "Fleischer"
-            },
-            "shop/car": {
-                "name": "Autohändler"
-            },
-            "shop/car_parts": {
-                "name": "Autoteilehandel"
-            },
-            "shop/car_repair": {
-                "name": "Autowerkstatt"
-            },
-            "shop/chemist": {
-                "name": "Apotheke"
-            },
-            "shop/clothes": {
-                "name": "Bekleidungsgeschäft"
-            },
-            "shop/computer": {
-                "name": "Computerfachhandel"
-            },
-            "shop/confectionery": {
-                "name": "Konditor"
-            },
-            "shop/convenience": {
-                "name": "Gemischtwarenhandel"
-            },
-            "shop/deli": {
-                "name": "Feinkostladen"
-            },
-            "shop/department_store": {
-                "name": "Kaufhaus"
-            },
-            "shop/doityourself": {
-                "name": "Heimwerkerladen"
-            },
-            "shop/dry_cleaning": {
-                "name": "Chemische Reinigung"
-            },
-            "shop/electronics": {
-                "name": "Elektronikfachgeschäft"
-            },
-            "shop/fishmonger": {
-                "name": "Fischhändler"
-            },
-            "shop/florist": {
-                "name": "Blumenhändler"
-            },
-            "shop/furniture": {
-                "name": "Möbelhaus"
-            },
-            "shop/garden_centre": {
-                "name": "Gartenzentrum"
-            },
-            "shop/gift": {
-                "name": "Geschenkladen"
-            },
-            "shop/greengrocer": {
-                "name": "Obst- u. Gemüsehändler"
-            },
-            "shop/hairdresser": {
-                "name": "Friseur"
-            },
-            "shop/hardware": {
-                "name": "Eisenwarenhandel"
-            },
-            "shop/hifi": {
-                "name": "Hifi-Laden"
-            },
-            "shop/jewelry": {
-                "name": "Juwelier"
-            },
-            "shop/kiosk": {
-                "name": "Kiosk"
-            },
-            "shop/laundry": {
-                "name": "Wächerei"
-            },
-            "shop/mall": {
-                "name": "Einkaufzentrum"
-            },
-            "shop/mobile_phone": {
-                "name": "Handy- Laden"
-            },
-            "shop/motorcycle": {
-                "name": "Motorradhändler"
-            },
-            "shop/music": {
-                "name": "Musikgeschäft"
-            },
-            "shop/newsagent": {
-                "name": "Zeitschriftenladen"
-            },
-            "shop/optician": {
-                "name": "Optiker"
-            },
-            "shop/outdoor": {
-                "name": "Outdoor-Geschäft"
-            },
-            "shop/pet": {
-                "name": "Tierhandlung"
-            },
-            "shop/shoes": {
-                "name": "Schuhgeschäft"
-            },
-            "shop/sports": {
-                "name": "Sportgeschäft"
-            },
-            "shop/stationery": {
-                "name": "Schreibwarengeschäft"
-            },
-            "shop/supermarket": {
-                "name": "Supermarkt"
-            },
-            "shop/toys": {
-                "name": "Spielwarengeschäft"
-            },
-            "shop/travel_agency": {
-                "name": "Reisebüro"
-            },
-            "shop/tyres": {
-                "name": "Reifenhandel"
-            },
-            "shop/video": {
-                "name": "Videothek"
-            },
-            "tourism": {
-                "name": "Tourismus"
-            },
-            "tourism/alpine_hut": {
-                "name": "Alpenhütte"
-            },
-            "tourism/artwork": {
-                "name": "Kunst"
-            },
-            "tourism/attraction": {
-                "name": "Touristenattracktion"
-            },
-            "tourism/camp_site": {
-                "name": "Campingplatz"
-            },
-            "tourism/caravan_site": {
-                "name": "Wohnmobilstellplatz"
-            },
-            "tourism/chalet": {
-                "name": "Ferienhaus"
-            },
-            "tourism/guest_house": {
-                "name": "Gästehaus",
-                "terms": "Frühstückspension,Frühstückspension,Frühstückspension"
-            },
-            "tourism/hostel": {
-                "name": "Hostel"
-            },
-            "tourism/hotel": {
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "name": "Information"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Museum"
-            },
-            "tourism/picnic_site": {
-                "name": "Picknickplatz"
-            },
-            "tourism/theme_park": {
-                "name": "Themenpark"
-            },
-            "tourism/viewpoint": {
-                "name": "Aussichtspunkt"
-            },
-            "tourism/zoo": {
-                "name": "Zoo"
-            },
-            "waterway": {
-                "name": "Wasserweg"
-            },
-            "waterway/canal": {
-                "name": "Kanal"
-            },
-            "waterway/dam": {
-                "name": "Damm"
-            },
-            "waterway/ditch": {
-                "name": "Graben"
-            },
-            "waterway/drain": {
-                "name": "Ablauf"
-            },
-            "waterway/river": {
-                "name": "Fluss"
-            },
-            "waterway/riverbank": {
-                "name": "Flussufer"
-            },
-            "waterway/stream": {
-                "name": "Bach"
-            },
-            "waterway/weir": {
-                "name": "Wehr"
-            }
+
+        function tryInsert(rect, id) {
+            // Check that label is visible
+            if (rect[0] < 0 || rect[1] < 0 || rect[2] > dimensions[0] ||
+                rect[3] > dimensions[1]) return false;
+            var v = rtree.search(rect).length === 0;
+            if (v) {
+                rect.id = id;
+                rtree.insert(rect);
+                rectangles[id] = rect;
+            }
+            return v;
         }
+
+        var label = surface.select('.layer-label'),
+            halo = surface.select('.layer-halo');
+
+        // points
+        drawPointLabels(label, labelled.point, filter, 'pointlabel', positions.point);
+        drawPointLabels(halo, labelled.point, filter, 'pointlabel-halo', positions.point);
+
+        // lines
+        drawLinePaths(halo, labelled.line, filter, '', positions.line);
+        drawLineLabels(label, labelled.line, filter, 'linelabel', positions.line);
+        drawLineLabels(halo, labelled.line, filter, 'linelabel-halo', positions.line);
+
+        // areas
+        drawAreaLabels(label, labelled.area, filter, 'arealabel', positions.area);
+        drawAreaLabels(halo, labelled.area, filter, 'arealabel-halo', positions.area);
+        drawAreaIcons(label, labelled.area, filter, 'arealabel-icon', positions.area);
     }
+
+    labels.supersurface = function(supersurface) {
+        supersurface
+            .on('mousemove.hidelabels', hideOnMouseover)
+            .on('mousedown.hidelabels', function () {
+                supersurface.on('mousemove.hidelabels', null);
+            })
+            .on('mouseup.hidelabels', function () {
+                supersurface.on('mousemove.hidelabels', hideOnMouseover);
+            });
+    };
+
+    return labels;
 };
-locale.en = {
-    "modes": {
-        "add_area": {
-            "title": "Area",
-            "description": "Add parks, buildings, lakes or other areas to the map.",
-            "tail": "Click on the map to start drawing an area, like a park, lake, or building."
-        },
-        "add_line": {
-            "title": "Line",
-            "description": "Add highways, streets, pedestrian paths, canals or other lines to the map.",
-            "tail": "Click on the map to start drawing a road, path, or route."
-        },
-        "add_point": {
-            "title": "Point",
-            "description": "Add restaurants, monuments, postal boxes or other points to the map.",
-            "tail": "Click on the map to add a point."
-        },
-        "browse": {
-            "title": "Browse",
-            "description": "Pan and zoom the map."
-        },
-        "draw_area": {
-            "tail": "Click to add nodes to your area. Click the first node to finish the area."
-        },
-        "draw_line": {
-            "tail": "Click to add more nodes to the line. Click on other lines to connect to them, and double-click to end the line."
-        }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Added a point.",
-                "vertex": "Added a node to a way."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Started a line.",
-                "area": "Started an area."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Continued a line.",
-                "area": "Continued an area."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Canceled drawing."
-        },
-        "change_tags": {
-            "annotation": "Changed tags."
-        },
-        "circularize": {
-            "title": "Circularize",
-            "description": {
-                "line": "Make this line circular.",
-                "area": "Make this area circular."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Made a line circular.",
-                "area": "Made an area circular."
-            },
-            "not_closed": "This can't be made circular because it's not a loop."
-        },
-        "orthogonalize": {
-            "title": "Orthogonalize",
-            "description": "Square these corners.",
-            "key": "Q",
-            "annotation": {
-                "line": "Squared the corners of a line.",
-                "area": "Squared the corners of an area."
-            },
-            "not_closed": "This can't be made square because it's not a loop."
-        },
-        "delete": {
-            "title": "Delete",
-            "description": "Remove this from the map.",
-            "annotation": {
-                "point": "Deleted a point.",
-                "vertex": "Deleted a node from a way.",
-                "line": "Deleted a line.",
-                "area": "Deleted an area.",
-                "relation": "Deleted a relation.",
-                "multiple": "Deleted {n} objects."
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Connected a way to a point.",
-                "vertex": "Connected a way to another.",
-                "line": "Connected a way to a line.",
-                "area": "Connected a way to an area."
-            }
-        },
-        "disconnect": {
-            "title": "Disconnect",
-            "description": "Disconnect these lines/areas from each other.",
-            "key": "D",
-            "annotation": "Disconnected lines/areas.",
-            "not_connected": "There aren't enough lines/areas here to disconnect."
-        },
-        "merge": {
-            "title": "Merge",
-            "description": "Merge these lines.",
-            "key": "C",
-            "annotation": "Merged {n} lines.",
-            "not_eligible": "These features can't be merged.",
-            "not_adjacent": "These lines can't be merged because they aren't connected."
-        },
-        "move": {
-            "title": "Move",
-            "description": "Move this to a different location.",
-            "key": "M",
-            "annotation": {
-                "point": "Moved a point.",
-                "vertex": "Moved a node in a way.",
-                "line": "Moved a line.",
-                "area": "Moved an area.",
-                "multiple": "Moved multiple objects."
-            },
-            "incomplete_relation": "This feature can't be moved because it hasn't been fully downloaded."
-        },
-        "rotate": {
-            "title": "Rotate",
-            "description": "Rotate this object around its centre point.",
-            "key": "R",
-            "annotation": {
-                "line": "Rotated a line.",
-                "area": "Rotated an area."
+iD.svg.Lines = function(projection) {
+
+    var highway_stack = {
+        motorway: 0,
+        motorway_link: 1,
+        trunk: 2,
+        trunk_link: 3,
+        primary: 4,
+        primary_link: 5,
+        secondary: 6,
+        tertiary: 7,
+        unclassified: 8,
+        residential: 9,
+        service: 10,
+        footway: 11
+    };
+
+    function waystack(a, b) {
+        var as = 0, bs = 0;
+
+        if (a.tags.highway) { as -= highway_stack[a.tags.highway]; }
+        if (b.tags.highway) { bs -= highway_stack[b.tags.highway]; }
+        return as - bs;
+    }
+
+    return function drawLines(surface, graph, entities, filter) {
+        var ways = [], pathdata = {}, onewaydata = {},
+            getPath = iD.svg.Path(projection, graph);
+
+        for (var i = 0; i < entities.length; i++) {
+            var entity = entities[i],
+                outer = iD.geo.simpleMultipolygonOuterMember(entity, graph);
+            if (outer) {
+                ways.push(entity.mergeTags(outer.tags));
+            } else if (entity.geometry(graph) === 'line') {
+                ways.push(entity);
             }
-        },
-        "reverse": {
-            "title": "Reverse",
-            "description": "Make this line go in the opposite direction.",
-            "key": "V",
-            "annotation": "Reversed a line."
-        },
-        "split": {
-            "title": "Split",
-            "description": {
-                "line": "Split this line into two at this node.",
-                "area": "Split the boundary of this area into two.",
-                "multiple": "Split the lines/area boundaries at this node into two."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Split a line.",
-                "area": "Split an area boundary.",
-                "multiple": "Split {n} lines/area boundaries."
-            },
-            "not_eligible": "Lines can't be split at their beginning or end.",
-            "multiple_ways": "There are too many lines here to split."
         }
-    },
-    "nothing_to_undo": "Nothing to undo.",
-    "nothing_to_redo": "Nothing to redo.",
-    "just_edited": "You just edited OpenStreetMap!",
-    "browser_notice": "This editor is supported in Firefox, Chrome, Safari, Opera, and Internet Explorer 9 and above. Please upgrade your browser or use Potlatch 2 to edit the map.",
-    "view_on_osm": "View on OSM",
-    "zoom_in_edit": "zoom in to edit the map",
-    "logout": "logout",
-    "loading_auth": "Connecting to OpenStreetMap...",
-    "report_a_bug": "report a bug",
-    "status": {
-        "error": "Unable to connect to API.",
-        "offline": "The API is offline. Please try editing later.",
-        "readonly": "The API is read-only. You will need to wait to save your changes."
-    },
-    "commit": {
-        "title": "Save Changes",
-        "description_placeholder": "Brief description of your contributions",
-        "message_label": "Commit message",
-        "upload_explanation": "The changes you upload as {user} will be visible on all maps that use OpenStreetMap data.",
-        "save": "Save",
-        "cancel": "Cancel",
-        "warnings": "Warnings",
-        "modified": "Modified",
-        "deleted": "Deleted",
-        "created": "Created"
-    },
-    "contributors": {
-        "list": "Contributed by {users}",
-        "truncated_list": "Contributed by {users} and {count} others"
-    },
-    "geocoder": {
-        "title": "Find a place",
-        "placeholder": "Find a place",
-        "no_results": "Couldn't locate a place named '{name}'"
-    },
-    "geolocate": {
-        "title": "Show My Location"
-    },
-    "inspector": {
-        "no_documentation_combination": "There is no documentation available for this tag combination",
-        "no_documentation_key": "There is no documentation available for this key",
-        "show_more": "Show More",
-        "new_tag": "New tag",
-        "view_on_osm": "View on openstreetmap.org",
-        "editing_feature": "Editing {feature}",
-        "additional": "Additional tags",
-        "choose": "Select feature type",
-        "results": "{n} results for {search}",
-        "reference": "View on OpenStreetMap Wiki",
-        "back_tooltip": "Change feature type",
-        "remove": "Remove"
-    },
-    "background": {
-        "title": "Background",
-        "description": "Background settings",
-        "percent_brightness": "{opacity}% brightness",
-        "fix_misalignment": "Fix misalignment",
-        "reset": "reset"
-    },
-    "restore": {
-        "heading": "You have unsaved changes",
-        "description": "Do you wish to restore unsaved changes from a previous editing session?",
-        "restore": "Restore",
-        "reset": "Reset"
-    },
-    "save": {
-        "title": "Save",
-        "help": "Save changes to OpenStreetMap, making them visible to other users.",
-        "no_changes": "No changes to save.",
-        "error": "An error occurred while trying to save",
-        "uploading": "Uploading changes to OpenStreetMap.",
-        "unsaved_changes": "You have unsaved changes"
-    },
-    "splash": {
-        "welcome": "Welcome to the iD OpenStreetMap editor",
-        "text": "iD is a friendly but powerful tool for contributing to the world's best free world map. This is development version {version}. For more information see {website} and report bugs at {github}.",
-        "walkthrough": "Start the Walkthrough",
-        "start": "Edit Now"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "You have unsaved changes. Switching the map server will discard them. Are you sure you want to switch servers?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Description",
-        "on_wiki": "{tag} on wiki.osm.org",
-        "used_with": "used with {type}"
-    },
-    "validations": {
-        "untagged_point": "Untagged point",
-        "untagged_line": "Untagged line",
-        "untagged_area": "Untagged area",
-        "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
-        "tag_suggests_area": "The tag {tag} suggests line should be area, but it is not an area",
-        "deprecated_tags": "Deprecated tags: {tags}"
-    },
-    "zoom": {
-        "in": "Zoom In",
-        "out": "Zoom Out"
-    },
-    "cannot_zoom": "Cannot zoom out further in current mode.",
-    "gpx": {
-        "local_layer": "Local GPX file",
-        "drag_drop": "Drag and drop a .gpx file on the page"
-    },
-    "help": {
-        "title": "Help",
-        "help": "# Help\n\nThis is an editor for [OpenStreetMap](http://www.openstreetmap.org/), the\nfree and editable map of the world. You can use it to add and update\ndata in your area, making an open-source and open-data map of the world\nbetter for everyone.\n\nEdits that you make on this map will be visible to everyone who uses\nOpenStreetMap. In order to make an edit, you'll need a\n[free OpenStreetMap account](https://www.openstreetmap.org/user/new).\n\nThe [iD editor](http://ideditor.com/) is a collaborative project with [source\ncode available on GitHub](https://github.com/systemed/iD).\n",
-        "editing_saving": "# Editing & Saving\n\nThis editor is designed to work primarily online, and you're accessing\nit through a website right now.\n\n### Selecting Features\n\nTo select a map feature, like a road or point of interest, click\non it on the map. This will highlight the selected feature, open a panel with\ndetails about it, and show a menu of things you can do with the feature.\n\nMultiple features can be selected by holding the 'Shift' key, clicking,\nand dragging on the map. This will select all features within the box\nthat's drawn, allowing you to do things with several features at once.\n\n### Saving Edits\n\nWhen you make changes like editing roads, buildings, and places, these are\nstored locally until you save them to the server. Don't worry if you make\na mistake - you can undo changes by clicking the undo button, and redo\nchanges by clicking the redo button.\n\nClick 'Save' to finish a group of edits - for instance, if you've completed\nan area of town and would like to start on a new area. You'll have a chance\nto review what you've done, and the editor supplies helpful suggestions\nand warnings if something doesn't seem right about the changes.\n\nIf everything looks good, you can enter a short comment explaining the change\nyou made, and click 'Save' again to post the changes\nto [OpenStreetMap.org](http://www.openstreetmap.org/), where they are visible\nto all other users and available for others to build and improve upon.\n\nIf you can't finish your edits in one sitting, you can leave the editor\nwindow and come back (on the same browser and computer), and the\neditor application will offer to restore your work.\n",
-        "roads": "# Roads\n\nYou can create, fix, and delete roads with this editor. Roads can be all\nkinds: paths, highways, trails, cycleways, and more - any often-crossed\nsegment should be mappable.\n\n### Selecting\n\nClick on a road to select it. An outline should become visible, along\nwith a small tools menu on the map and a sidebar showing more information\nabout the road.\n\n### Modifying\n\nOften you'll see roads that aren't aligned to the imagery behind them\nor to a GPS track. You can adjust these roads so they are in the correct\nplace.\n\nFirst click on the road you want to change. This will highlight it and show\ncontrol points along it that you can drag to better locations. If\nyou want to add new control points for more detail, double-click a part\nof the road without a node, and one will be added.\n\nIf the road connects to another road, but doesn't properly connect on\nthe map, you can drag one of its control points onto the other road in\norder to join them. Having roads connect is important for the map\nand essential for providing driving directions.\n\nYou can also click the 'Move' tool or press the `M` shortcut key to move the entire road at\none time, and then click again to save that movement.\n\n### Deleting\n\nIf a road is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the road could simply be newly built.\n\nYou can delete a road by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n\n### Creating\n\nFound somewhere there should be a road but there isn't? Click the 'Line'\nicon in the top-left of the editor or press the shortcut key `2` to start drawing\na line.\n\nClick on the start of the road on the map to start drawing. If the road\nbranches off from an existing road, start by clicking on the place where they connect.\n\nThen click on points along the road so that it follows the right path, according\nto satellite imagery or GPS. If the road you are drawing crosses another road, connect\nit by clicking on the intersection point. When you're done drawing, double-click\nor press 'Return' or 'Enter' on your keyboard.\n",
-        "gps": "# GPS\n\nGPS data is the most trusted source of data for OpenStreetMap. This editor\nsupports local traces - `.gpx` files on your local computer. You can collect\nthis kind of GPS trace with a number of smartphone applications as well as\npersonal GPS hardware.\n\nFor information on how to perform a GPS survey, read\n[Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/).\n\nTo use a GPX track for mapping, drag and drop the GPX file onto the map\neditor. If it's recognized, it will be added to the map as a bright green\nline. Click on the 'Background Settings' menu on the left side to enable,\ndisable, or zoom to this new GPX-powered layer.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add.\n",
-        "imagery": "# Imagery\n\nAerial imagery is an important resource for mapping. A combination of\nairplane flyovers, satellite views, and freely-compiled sources are available\nin the editor under the 'Background Settings' menu on the left.\n\nBy default a [Bing Maps](http://www.bing.com/maps/) satellite layer is\npresented in the editor, but as you pan and zoom the map to new geographical\nareas, new sources will become available. Some countries, like the United\nStates, France, and Denmark have very high-quality imagery available for some areas.\n\nImagery is sometimes offset from the map data because of a mistake on the\nimagery provider's side. If you see a lot of roads shifted from the background,\ndon't immediately move them all to match the background. Instead you can adjust\nthe imagery so that it matches the existing data by clicking 'Fix alignment' at\nthe bottom of the Background Settings UI.\n",
-        "addresses": "# Addresses\n\nAddresses are some of the most useful information for the map.\n\nAlthough addresses are often represented as parts of streets, in OpenStreetMap\nthey're recorded as attributes of buildings and places along streets.\n\nYou can add address information to places mapped as building outlines as well\nas well as those mapped as single points. The optimal source of address\ndata is from an on-the-ground survey or personal knowledge - as with any\nother feature, copying from commercial sources like Google Maps is strictly\nforbidden.\n",
-        "inspector": "# Using the Inspector\n\nThe inspector is the user interface element on the right-hand side of the\npage that appears when a feature is selected and allows you to edit its details.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click icons to add other details,\nlike [Wikipedia](http://www.wikipedia.org/) information, wheelchair\naccess, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n\n### Closing the Inspector\n\nYou can close the inspector by clicking the close button in the top-right,\npressing the 'Escape' key, or clicking on the map.\n",
-        "buildings": "# Buildings\n\nOpenStreetMap is the world's largest database of buildings. You can create\nand improve this database.\n\n### Selecting\n\nYou can select a building by clicking on its border. This will highlight the\nbuilding and open a small tools menu and a sidebar showing more information\nabout the building.\n\n### Modifying\n\nSometimes buildings are incorrectly placed or have incorrect tags.\n\nTo move an entire building, select it, then click the 'Move' tool. Move your\nmouse to shift the building, and click when it's correctly placed.\n\nTo fix the specific shape of a building, click and drag the nodes that form\nits border into better places.\n\n### Creating\n\nOne of the main questions around adding buildings to the map is that\nOpenStreetMap records buildings both as shapes and points. The rule of thumb\nis to _map a building as a shape whenever possible_, and map companies, homes,\namenities, and other things that operate out of buildings as points placed\nwithin the building shape.\n\nStart drawing a building as a shape by clicking the 'Area' button in the top\nleft of the interface, and end it either by pressing 'Return' on your keyboard\nor clicking on the first node drawn to close the shape.\n\n### Deleting\n\nIf a building is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the road could simply be newly built.\n\nYou can delete a building by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "The main map area shows OpenStreetMap data on top of a background. You can navigate by dragging and scrolling, just like any web map. **Drag the map!**",
-            "select": "Map features are represented three ways: using points, lines or areas. All features can be selected by clicking on them. **Click on the point to select it.**",
-            "header": "The header shows us the feature type.",
-            "pane": "When a feature is selected, the feature editor is displayed. The header shows us the feature type and the main pane shows the feature's attributes, such as its name and address. **Close the feature editor with the close button in the top right.**"
-        },
-        "points": {
-            "add": "Points can be used to represent features such as shops, restaurants and monuments. They mark a specific location, and describe what's there. **Click the Point button to add a new point.**",
-            "place": "The point can be placed by clicking on the map. **Place the point on top of the building.**",
-            "search": "There many different features that can be represented by points. The point you just added is a Cafe. **Search for 'Cafe' **",
-            "choose": "**Choose Cafe from the grid.**",
-            "describe": "The point is now marked as a cafe. Using the feature editor, we can add more information about the feature. **Add a name**",
-            "close": "The feature editor can be closed by clicking on the close button. **Close the feature editor**",
-            "reselect": "Often points will already exist, but have mistakes or be incomplete. We can edit existing points. **Select the point you just created.**",
-            "fixname": "**Change the name and close the feature editor.**",
-            "reselect_delete": "All features on the map can be deleted. **Click on the point you created.**",
-            "delete": "The menu around the point contains operations that can be performed on it, including delete. **Delete the point.**"
-        },
-        "areas": {
-            "add": "Areas are a more detailed way to represent features. They provide information on the boundaries of the feature. Areas can be used for most features types points can be used for, and are often preferred. **Click the Area button to add a new area.**",
-            "corner": "Areas are drawn by placing nodes that mark the boundary of the area. **Place the starting node on one of the corners of the playground.**",
-            "place": "Draw the area by placing more nodes. Finish the area by clicking on the starting node. **Draw an area for the playground.**",
-            "search": "**Search for Playground.**",
-            "choose": "**Choose Playground from the grid.**",
-            "describe": "**Add a name, and close the feature editor**"
-        },
-        "lines": {
-            "add": "Lines are used to represent features such as roads, railways and rivers. **Click the Line button to add a new line.**",
-            "start": "**Start the line by clicking on the end of the road.**",
-            "intersect": "Click to add more nodes to the line. You can drag the map while drawing if necessary. Roads, and many other types of lines, are part of a larger network. It is important for these lines to be connected properly in order for routing applications to work. **Click on Flower Street, to create an intersection connecting the two lines.**",
-            "finish": "Lines can be finished by clicking on the last node again. **Finish drawing the road.**",
-            "road": "**Select Road from the grid**",
-            "residential": "There are different types of roads, the most common of which is Residential. **Choose the Residential road type**",
-            "describe": "**Name the road and close the feature editor.**",
-            "restart": "The road needs to intersect Flower Street."
-        },
-        "startediting": {
-            "help": "More documentation and this walkthrough are available here.",
-            "save": "Don't forget to regularly save your changes!",
-            "start": "Start mapping!"
+
+        ways = ways.filter(getPath);
+
+        pathdata = _.groupBy(ways, function(way) { return way.layer(); });
+
+        _.forOwn(pathdata, function(v, k) {
+            onewaydata[k] = _(v)
+                .filter(function(d) { return d.isOneWay(); })
+                .map(iD.svg.OneWaySegments(projection, graph, 35))
+                .flatten()
+                .valueOf();
+        });
+
+        var layergroup = surface
+            .select('.layer-lines')
+            .selectAll('g.layergroup')
+            .data(d3.range(-10, 11));
+
+        layergroup.enter()
+            .append('g')
+            .attr('class', function(d) { return 'layer layergroup layer' + String(d); });
+
+
+        var linegroup = layergroup
+            .selectAll('g.linegroup')
+            .data(['shadow', 'casing', 'stroke']);
+
+        linegroup.enter()
+            .append('g')
+            .attr('class', function(d) { return 'layer linegroup line-' + d; });
+
+
+        var lines = linegroup
+            .selectAll('path')
+            .filter(filter)
+            .data(
+                function() { return pathdata[this.parentNode.parentNode.__data__] || []; },
+                iD.Entity.key
+            );
+
+        // Optimization: call simple TagClasses only on enter selection. This
+        // works because iD.Entity.key is defined to include the entity v attribute.
+        lines.enter()
+            .append('path')
+            .attr('class', function(d) { return 'way line ' + this.parentNode.__data__ + ' ' + d.id; })
+            .call(iD.svg.TagClasses());
+
+        lines
+            .sort(waystack)
+            .attr('d', getPath)
+            .call(iD.svg.TagClasses().tags(iD.svg.MultipolygonMemberTags(graph)));
+
+        lines.exit()
+            .remove();
+
+
+        var onewaygroup = layergroup
+            .selectAll('g.onewaygroup')
+            .data(['oneway']);
+
+        onewaygroup.enter()
+            .append('g')
+            .attr('class', 'layer onewaygroup');
+
+
+        var oneways = onewaygroup
+            .selectAll('path')
+            .filter(filter)
+            .data(
+                function() { return onewaydata[this.parentNode.parentNode.__data__] || []; },
+                function(d) { return [d.id, d.index]; }
+            );
+
+        oneways.enter()
+            .append('path')
+            .attr('class', 'oneway')
+            .attr('marker-mid', 'url(#oneway-marker)');
+
+        oneways
+            .attr('d', function(d) { return d.d; });
+
+        if (iD.detect().ie) {
+            oneways.each(function() { this.parentNode.insertBefore(this, this); });
         }
-    },
-    "presets": {
-        "categories": {
-            "category-landuse": {
-                "name": "Land Use"
-            },
-            "category-path": {
-                "name": "Path"
-            },
-            "category-rail": {
-                "name": "Rail"
-            },
-            "category-road": {
-                "name": "Road"
-            },
-            "category-water": {
-                "name": "Water"
-            }
-        },
-        "fields": {
-            "access": {
-                "label": "Access",
-                "types": {
-                    "access": "General",
-                    "foot": "Foot",
-                    "motor_vehicle": "Motor Vehicles",
-                    "bicycle": "Bicycles",
-                    "horse": "Horses"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Allowed",
-                        "description": "Access permitted by law; a right of way"
-                    },
-                    "no": {
-                        "title": "Prohibited",
-                        "description": "Access not permitted to the general public"
-                    },
-                    "permissive": {
-                        "title": "Permissive",
-                        "description": "Access permitted until such time as the owner revokes the permission"
-                    },
-                    "private": {
-                        "title": "Private",
-                        "description": "Access permitted only with permission of the owner on an individual basis"
-                    },
-                    "designated": {
-                        "title": "Designated",
-                        "description": "Access permitted according to signs or specific local laws"
-                    },
-                    "destination": {
-                        "title": "Destination",
-                        "description": "Access permitted only to reach a destination"
+
+        oneways.exit()
+            .remove();
+
+    };
+};
+iD.svg.Midpoints = function(projection, context) {
+    return function drawMidpoints(surface, graph, entities, filter, extent) {
+        var poly = extent.polygon(),
+            midpoints = {};
+
+        for (var i = 0; i < entities.length; i++) {
+            var entity = entities[i];
+
+            if (entity.type !== 'way')
+                continue;
+            if (!filter(entity))
+                continue;
+            if (context.selectedIDs().indexOf(entity.id) < 0)
+                continue;
+
+            var nodes = graph.childNodes(entity);
+            for (var j = 0; j < nodes.length - 1; j++) {
+
+                var a = nodes[j],
+                    b = nodes[j + 1],
+                    id = [a.id, b.id].sort().join('-');
+
+                if (midpoints[id]) {
+                    midpoints[id].parents.push(entity);
+                } else {
+                    if (iD.geo.euclideanDistance(projection(a.loc), projection(b.loc)) > 40) {
+                        var point = iD.geo.interp(a.loc, b.loc, 0.5),
+                            loc = null;
+
+                        if (extent.intersects(point)) {
+                            loc = point;
+                        } else {
+                            for (var k = 0; k < 4; k++) {
+                                point = iD.geo.lineIntersection([a.loc, b.loc], [poly[k], poly[k+1]]);
+                                if (point &&
+                                    iD.geo.euclideanDistance(projection(a.loc), projection(point)) > 20 &&
+                                    iD.geo.euclideanDistance(projection(b.loc), projection(point)) > 20)
+                                {
+                                    loc = point;
+                                    break;
+                                }
+                            }
+                        }
+
+                        if (loc) {
+                            midpoints[id] = {
+                                type: 'midpoint',
+                                id: id,
+                                loc: loc,
+                                edge: [a.id, b.id],
+                                parents: [entity]
+                            };
+                        }
                     }
                 }
-            },
-            "address": {
-                "label": "Address",
-                "placeholders": {
-                    "housename": "Housename",
-                    "number": "123",
-                    "street": "Street",
-                    "city": "City"
-                }
-            },
-            "admin_level": {
-                "label": "Admin Level"
-            },
-            "aeroway": {
-                "label": "Type"
-            },
-            "amenity": {
-                "label": "Type"
-            },
-            "atm": {
-                "label": "ATM"
-            },
-            "barrier": {
-                "label": "Type"
-            },
-            "bicycle_parking": {
-                "label": "Type"
-            },
-            "building": {
-                "label": "Building"
-            },
-            "building_area": {
-                "label": "Building"
-            },
-            "building_yes": {
-                "label": "Building"
-            },
-            "capacity": {
-                "label": "Capacity"
-            },
-            "cardinal_direction": {
-                "label": "Direction"
-            },
-            "clock_direction": {
-                "label": "Direction",
-                "options": {
-                    "clockwise": "Clockwise",
-                    "anticlockwise": "Counterclockwise"
-                }
-            },
-            "collection_times": {
-                "label": "Collection Times"
-            },
-            "construction": {
-                "label": "Type"
-            },
-            "country": {
-                "label": "Country"
-            },
-            "crossing": {
-                "label": "Type"
-            },
-            "cuisine": {
-                "label": "Cuisine"
-            },
-            "denomination": {
-                "label": "Denomination"
-            },
-            "denotation": {
-                "label": "Denotation"
-            },
-            "elevation": {
-                "label": "Elevation"
-            },
-            "emergency": {
-                "label": "Emergency"
-            },
-            "entrance": {
-                "label": "Type"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Fee"
-            },
-            "highway": {
-                "label": "Type"
-            },
-            "historic": {
-                "label": "Type"
-            },
-            "internet_access": {
-                "label": "Internet Access",
-                "options": {
-                    "yes": "Yes",
-                    "no": "No",
-                    "wlan": "Wifi",
-                    "wired": "Wired",
-                    "terminal": "Terminal"
-                }
-            },
-            "landuse": {
-                "label": "Type"
-            },
-            "lanes": {
-                "label": "Lanes"
-            },
-            "layer": {
-                "label": "Layer"
-            },
-            "leisure": {
-                "label": "Type"
-            },
-            "levels": {
-                "label": "Levels"
-            },
-            "man_made": {
-                "label": "Type"
-            },
-            "maxspeed": {
-                "label": "Speed Limit"
-            },
-            "name": {
-                "label": "Name"
-            },
-            "natural": {
-                "label": "Natural"
-            },
-            "network": {
-                "label": "Network"
-            },
-            "note": {
-                "label": "Note"
-            },
-            "office": {
-                "label": "Type"
-            },
-            "oneway": {
-                "label": "One Way"
-            },
-            "oneway_yes": {
-                "label": "One Way"
-            },
-            "opening_hours": {
-                "label": "Hours"
-            },
-            "operator": {
-                "label": "Operator"
-            },
-            "park_ride": {
-                "label": "Park and Ride"
-            },
-            "parking": {
-                "label": "Type"
-            },
-            "phone": {
-                "label": "Phone"
-            },
-            "place": {
-                "label": "Type"
-            },
-            "power": {
-                "label": "Type"
-            },
-            "railway": {
-                "label": "Type"
-            },
-            "ref": {
-                "label": "Reference"
-            },
-            "religion": {
-                "label": "Religion",
-                "options": {
-                    "christian": "Christian",
-                    "muslim": "Muslim",
-                    "buddhist": "Buddhist",
-                    "jewish": "Jewish",
-                    "hindu": "Hindu",
-                    "shinto": "Shinto",
-                    "taoist": "Taoist"
-                }
-            },
-            "service": {
-                "label": "Type"
-            },
-            "shelter": {
-                "label": "Shelter"
-            },
-            "shop": {
-                "label": "Type"
-            },
-            "source": {
-                "label": "Source"
-            },
-            "sport": {
-                "label": "Sport"
-            },
-            "structure": {
-                "label": "Structure",
-                "options": {
-                    "bridge": "Bridge",
-                    "tunnel": "Tunnel",
-                    "embankment": "Embankment",
-                    "cutting": "Cutting"
-                }
-            },
-            "supervised": {
-                "label": "Supervised"
-            },
-            "surface": {
-                "label": "Surface"
-            },
-            "tourism": {
-                "label": "Type"
-            },
-            "tracktype": {
-                "label": "Type"
-            },
-            "water": {
-                "label": "Type"
-            },
-            "waterway": {
-                "label": "Type"
-            },
-            "website": {
-                "label": "Website"
-            },
-            "wetland": {
-                "label": "Type"
-            },
-            "wheelchair": {
-                "label": "Wheelchair Access"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Type"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Aeroway",
-                "terms": ""
-            },
-            "aeroway/aerodrome": {
-                "name": "Airport",
-                "terms": "airplane,airport,aerodrome"
-            },
-            "aeroway/helipad": {
-                "name": "Helipad",
-                "terms": "helicopter,helipad,heliport"
-            },
-            "amenity": {
-                "name": "Amenity",
-                "terms": ""
-            },
-            "amenity/bank": {
-                "name": "Bank",
-                "terms": "coffer,countinghouse,credit union,depository,exchequer,fund,hoard,investment firm,repository,reserve,reservoir,safe,savings,stock,stockpile,store,storehouse,thrift,treasury,trust company,vault"
-            },
-            "amenity/bar": {
-                "name": "Bar",
-                "terms": ""
-            },
-            "amenity/bench": {
-                "name": "Bench",
-                "terms": ""
-            },
-            "amenity/bicycle_parking": {
-                "name": "Bicycle Parking",
-                "terms": ""
-            },
-            "amenity/bicycle_rental": {
-                "name": "Bicycle Rental",
-                "terms": ""
-            },
-            "amenity/cafe": {
-                "name": "Cafe",
-                "terms": "coffee,tea,coffee shop"
-            },
-            "amenity/cinema": {
-                "name": "Cinema",
-                "terms": "big screen,bijou,cine,drive-in,film,flicks,motion pictures,movie house,movie theater,moving pictures,nabes,photoplay,picture show,pictures,playhouse,show,silver screen"
-            },
-            "amenity/courthouse": {
-                "name": "Courthouse",
-                "terms": ""
-            },
-            "amenity/embassy": {
-                "name": "Embassy",
-                "terms": ""
-            },
-            "amenity/fast_food": {
-                "name": "Fast Food",
-                "terms": ""
-            },
-            "amenity/fire_station": {
-                "name": "Fire Station",
-                "terms": ""
-            },
-            "amenity/fuel": {
-                "name": "Gas Station",
-                "terms": ""
-            },
-            "amenity/grave_yard": {
-                "name": "Graveyard",
-                "terms": ""
-            },
-            "amenity/hospital": {
-                "name": "Hospital",
-                "terms": "clinic,emergency room,health service,hospice,infirmary,institution,nursing home,rest home,sanatorium,sanitarium,sick bay,surgery,ward"
-            },
-            "amenity/library": {
-                "name": "Library",
-                "terms": ""
-            },
-            "amenity/marketplace": {
-                "name": "Marketplace",
-                "terms": ""
-            },
-            "amenity/parking": {
-                "name": "Parking",
-                "terms": ""
-            },
-            "amenity/pharmacy": {
-                "name": "Pharmacy",
-                "terms": ""
-            },
-            "amenity/place_of_worship": {
-                "name": "Place of Worship",
-                "terms": "abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Church",
-                "terms": "christian,abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,oratory,parish,sacellum,sanctuary,shrine,tabernacle,temple"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Synagogue",
-                "terms": "jewish,synagogue"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Mosque",
-                "terms": "muslim,mosque"
-            },
-            "amenity/police": {
-                "name": "Police",
-                "terms": "badge,bear,blue,bluecoat,bobby,boy scout,bull,constable,constabulary,cop,copper,corps,county mounty,detective,fed,flatfoot,force,fuzz,gendarme,gumshoe,heat,law,law enforcement,man,narc,officers,patrolman,police"
-            },
-            "amenity/post_box": {
-                "name": "Mailbox",
-                "terms": "letter drop,letterbox,mail drop,mailbox,pillar box,postbox"
-            },
-            "amenity/post_office": {
-                "name": "Post Office",
-                "terms": ""
-            },
-            "amenity/pub": {
-                "name": "Pub",
-                "terms": ""
-            },
-            "amenity/restaurant": {
-                "name": "Restaurant",
-                "terms": "bar,cafeteria,café,canteen,chophouse,coffee shop,diner,dining room,dive*,doughtnut shop,drive-in,eatery,eating house,eating place,fast-food place,greasy spoon,grill,hamburger stand,hashery,hideaway,hotdog stand,inn,joint*,luncheonette,lunchroom,night club,outlet*,pizzeria,saloon,soda fountain,watering hole"
-            },
-            "amenity/school": {
-                "name": "School",
-                "terms": "academy,alma mater,blackboard,college,department,discipline,establishment,faculty,hall,halls of ivy,institute,institution,jail*,schoolhouse,seminary,university"
-            },
-            "amenity/swimming_pool": {
-                "name": "Swimming Pool",
-                "terms": ""
-            },
-            "amenity/telephone": {
-                "name": "Telephone",
-                "terms": ""
-            },
-            "amenity/theatre": {
-                "name": "Theater",
-                "terms": "theatre,performance,play,musical"
-            },
-            "amenity/toilets": {
-                "name": "Toilets",
-                "terms": ""
-            },
-            "amenity/townhall": {
-                "name": "Town Hall",
-                "terms": "village hall,city government,courthouse,municipal building,municipal center"
-            },
-            "amenity/university": {
-                "name": "University",
-                "terms": ""
-            },
-            "barrier": {
-                "name": "Barrier",
-                "terms": ""
-            },
-            "barrier/block": {
-                "name": "Block",
-                "terms": ""
-            },
-            "barrier/bollard": {
-                "name": "Bollard",
-                "terms": ""
-            },
-            "barrier/cattle_grid": {
-                "name": "Cattle Grid",
-                "terms": ""
-            },
-            "barrier/city_wall": {
-                "name": "City Wall",
-                "terms": ""
-            },
-            "barrier/cycle_barrier": {
-                "name": "Cycle Barrier",
-                "terms": ""
-            },
-            "barrier/ditch": {
-                "name": "Ditch",
-                "terms": ""
-            },
-            "barrier/entrance": {
-                "name": "Entrance",
-                "terms": ""
-            },
-            "barrier/fence": {
-                "name": "Fence",
-                "terms": ""
-            },
-            "barrier/gate": {
-                "name": "Gate",
-                "terms": ""
-            },
-            "barrier/hedge": {
-                "name": "Hedge",
-                "terms": ""
-            },
-            "barrier/kissing_gate": {
-                "name": "Kissing Gate",
-                "terms": ""
-            },
-            "barrier/lift_gate": {
-                "name": "Lift Gate",
-                "terms": ""
-            },
-            "barrier/retaining_wall": {
-                "name": "Retaining Wall",
-                "terms": ""
-            },
-            "barrier/stile": {
-                "name": "Stile",
-                "terms": ""
-            },
-            "barrier/toll_booth": {
-                "name": "Toll Booth",
-                "terms": ""
-            },
-            "barrier/wall": {
-                "name": "Wall",
-                "terms": ""
-            },
-            "boundary/administrative": {
-                "name": "Administrative Boundary",
-                "terms": ""
-            },
-            "building": {
-                "name": "Building",
-                "terms": ""
-            },
-            "building/apartments": {
-                "name": "Apartments",
-                "terms": ""
-            },
-            "building/entrance": {
-                "name": "Entrance",
-                "terms": ""
-            },
-            "building/house": {
-                "name": "House",
-                "terms": ""
-            },
-            "entrance": {
-                "name": "Entrance",
-                "terms": ""
-            },
-            "highway": {
-                "name": "Highway",
-                "terms": ""
-            },
-            "highway/bridleway": {
-                "name": "Bridle Path",
-                "terms": "bridleway,equestrian trail,horse riding path,bridle road,horse trail"
-            },
-            "highway/bus_stop": {
-                "name": "Bus Stop",
-                "terms": ""
-            },
-            "highway/crossing": {
-                "name": "Crossing",
-                "terms": "crosswalk,zebra crossing"
-            },
-            "highway/cycleway": {
-                "name": "Cycle Path",
-                "terms": ""
-            },
-            "highway/footway": {
-                "name": "Foot Path",
-                "terms": "beaten path,boulevard,clearing,course,cut*,drag*,footpath,highway,lane,line,orbit,passage,pathway,rail,rails,road,roadway,route,street,thoroughfare,trackway,trail,trajectory,walk"
-            },
-            "highway/living_street": {
-                "name": "Living Street",
-                "terms": ""
-            },
-            "highway/mini_roundabout": {
-                "name": "Mini-Roundabout",
-                "terms": ""
-            },
-            "highway/motorway": {
-                "name": "Motorway",
-                "terms": ""
-            },
-            "highway/motorway_junction": {
-                "name": "Motorway Junction",
-                "terms": ""
-            },
-            "highway/motorway_link": {
-                "name": "Motorway Link",
-                "terms": "ramp,on ramp,off ramp"
-            },
-            "highway/path": {
-                "name": "Path",
-                "terms": ""
-            },
-            "highway/pedestrian": {
-                "name": "Pedestrian",
-                "terms": ""
-            },
-            "highway/primary": {
-                "name": "Primary Road",
-                "terms": ""
-            },
-            "highway/primary_link": {
-                "name": "Primary Link",
-                "terms": "ramp,on ramp,off ramp"
-            },
-            "highway/residential": {
-                "name": "Residential Road",
-                "terms": ""
-            },
-            "highway/road": {
-                "name": "Unknown Road",
-                "terms": ""
-            },
-            "highway/secondary": {
-                "name": "Secondary Road",
-                "terms": ""
-            },
-            "highway/secondary_link": {
-                "name": "Secondary Link",
-                "terms": "ramp,on ramp,off ramp"
-            },
-            "highway/service": {
-                "name": "Service Road",
-                "terms": ""
-            },
-            "highway/steps": {
-                "name": "Steps",
-                "terms": "stairs,staircase"
-            },
-            "highway/tertiary": {
-                "name": "Tertiary Road",
-                "terms": ""
-            },
-            "highway/tertiary_link": {
-                "name": "Tertiary Link",
-                "terms": "ramp,on ramp,off ramp"
-            },
-            "highway/track": {
-                "name": "Track",
-                "terms": ""
-            },
-            "highway/traffic_signals": {
-                "name": "Traffic Signals",
-                "terms": "light,stoplight,traffic light"
-            },
-            "highway/trunk": {
-                "name": "Trunk Road",
-                "terms": ""
-            },
-            "highway/trunk_link": {
-                "name": "Trunk Link",
-                "terms": "ramp,on ramp,off ramp"
-            },
-            "highway/turning_circle": {
-                "name": "Turning Circle",
-                "terms": ""
-            },
-            "highway/unclassified": {
-                "name": "Unclassified Road",
-                "terms": ""
-            },
-            "historic": {
-                "name": "Historic Site",
-                "terms": ""
-            },
-            "historic/archaeological_site": {
-                "name": "Archaeological Site",
-                "terms": ""
-            },
-            "historic/boundary_stone": {
-                "name": "Boundary Stone",
-                "terms": ""
-            },
-            "historic/castle": {
-                "name": "Castle",
-                "terms": ""
-            },
-            "historic/memorial": {
-                "name": "Memorial",
-                "terms": ""
-            },
-            "historic/monument": {
-                "name": "Monument",
-                "terms": ""
-            },
-            "historic/ruins": {
-                "name": "Ruins",
-                "terms": ""
-            },
-            "historic/wayside_cross": {
-                "name": "Wayside Cross",
-                "terms": ""
-            },
-            "historic/wayside_shrine": {
-                "name": "Wayside Shrine",
-                "terms": ""
-            },
-            "landuse": {
-                "name": "Landuse",
-                "terms": ""
-            },
-            "landuse/allotments": {
-                "name": "Allotments",
-                "terms": ""
-            },
-            "landuse/basin": {
-                "name": "Basin",
-                "terms": ""
-            },
-            "landuse/cemetery": {
-                "name": "Cemetery",
-                "terms": ""
-            },
-            "landuse/commercial": {
-                "name": "Commercial",
-                "terms": ""
-            },
-            "landuse/construction": {
-                "name": "Construction",
-                "terms": ""
-            },
-            "landuse/farm": {
-                "name": "Farm",
-                "terms": ""
-            },
-            "landuse/farmyard": {
-                "name": "Farmyard",
-                "terms": ""
-            },
-            "landuse/forest": {
-                "name": "Forest",
-                "terms": ""
-            },
-            "landuse/grass": {
-                "name": "Grass",
-                "terms": ""
-            },
-            "landuse/industrial": {
-                "name": "Industrial",
-                "terms": ""
-            },
-            "landuse/meadow": {
-                "name": "Meadow",
-                "terms": ""
-            },
-            "landuse/orchard": {
-                "name": "Orchard",
-                "terms": ""
-            },
-            "landuse/quarry": {
-                "name": "Quarry",
-                "terms": ""
-            },
-            "landuse/residential": {
-                "name": "Residential",
-                "terms": ""
-            },
-            "landuse/retail": {
-                "name": "Retail",
-                "terms": ""
-            },
-            "landuse/vineyard": {
-                "name": "Vineyard",
-                "terms": ""
-            },
-            "leisure": {
-                "name": "Leisure",
-                "terms": ""
-            },
-            "leisure/garden": {
-                "name": "Garden",
-                "terms": ""
-            },
-            "leisure/golf_course": {
-                "name": "Golf Course",
-                "terms": ""
-            },
-            "leisure/marina": {
-                "name": "Marina",
-                "terms": ""
-            },
-            "leisure/park": {
-                "name": "Park",
-                "terms": "esplanade,estate,forest,garden,grass,green,grounds,lawn,lot,meadow,parkland,place,playground,plaza,pleasure garden,recreation area,square,tract,village green,woodland"
-            },
-            "leisure/pitch": {
-                "name": "Sport Pitch",
-                "terms": ""
-            },
-            "leisure/pitch/american_football": {
-                "name": "American Football Field",
-                "terms": ""
-            },
-            "leisure/pitch/baseball": {
-                "name": "Baseball Diamond",
-                "terms": ""
-            },
-            "leisure/pitch/basketball": {
-                "name": "Basketball Court",
-                "terms": ""
-            },
-            "leisure/pitch/soccer": {
-                "name": "Soccer Field",
-                "terms": ""
-            },
-            "leisure/pitch/tennis": {
-                "name": "Tennis Court",
-                "terms": ""
-            },
-            "leisure/playground": {
-                "name": "Playground",
-                "terms": ""
-            },
-            "leisure/slipway": {
-                "name": "Slipway",
-                "terms": ""
-            },
-            "leisure/stadium": {
-                "name": "Stadium",
-                "terms": ""
-            },
-            "leisure/swimming_pool": {
-                "name": "Swimming Pool",
-                "terms": ""
-            },
-            "man_made": {
-                "name": "Man Made",
-                "terms": ""
-            },
-            "man_made/lighthouse": {
-                "name": "Lighthouse",
-                "terms": ""
-            },
-            "man_made/pier": {
-                "name": "Pier",
-                "terms": ""
-            },
-            "man_made/survey_point": {
-                "name": "Survey Point",
-                "terms": ""
-            },
-            "man_made/wastewater_plant": {
-                "name": "Wastewater Plant",
-                "terms": "sewage works,sewage treatment plant,water treatment plant,reclamation plant"
-            },
-            "man_made/water_tower": {
-                "name": "Water Tower",
-                "terms": ""
-            },
-            "man_made/water_works": {
-                "name": "Water Works",
-                "terms": ""
-            },
-            "natural": {
-                "name": "Natural",
-                "terms": ""
-            },
-            "natural/bay": {
-                "name": "Bay",
-                "terms": ""
-            },
-            "natural/beach": {
-                "name": "Beach",
-                "terms": ""
-            },
-            "natural/cliff": {
-                "name": "Cliff",
-                "terms": ""
-            },
-            "natural/coastline": {
-                "name": "Coastline",
-                "terms": "shore"
-            },
-            "natural/glacier": {
-                "name": "Glacier",
-                "terms": ""
-            },
-            "natural/grassland": {
-                "name": "Grassland",
-                "terms": ""
-            },
-            "natural/heath": {
-                "name": "Heath",
-                "terms": ""
-            },
-            "natural/peak": {
-                "name": "Peak",
-                "terms": "acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top"
-            },
-            "natural/scrub": {
-                "name": "Scrub",
-                "terms": ""
-            },
-            "natural/spring": {
-                "name": "Spring",
-                "terms": ""
-            },
-            "natural/tree": {
-                "name": "Tree",
-                "terms": ""
-            },
-            "natural/water": {
-                "name": "Water",
-                "terms": ""
-            },
-            "natural/water/lake": {
-                "name": "Lake",
-                "terms": "lakelet,loch,mere"
-            },
-            "natural/water/pond": {
-                "name": "Pond",
-                "terms": "lakelet,millpond,tarn,pool,mere"
-            },
-            "natural/water/reservoir": {
-                "name": "Reservoir",
-                "terms": ""
-            },
-            "natural/wetland": {
-                "name": "Wetland",
-                "terms": ""
-            },
-            "natural/wood": {
-                "name": "Wood",
-                "terms": ""
-            },
-            "office": {
-                "name": "Office",
-                "terms": ""
-            },
-            "other": {
-                "name": "Other",
-                "terms": ""
-            },
-            "other_area": {
-                "name": "Other",
-                "terms": ""
-            },
-            "place": {
-                "name": "Place",
-                "terms": ""
-            },
-            "place/city": {
-                "name": "City",
-                "terms": ""
-            },
-            "place/hamlet": {
-                "name": "Hamlet",
-                "terms": ""
-            },
-            "place/island": {
-                "name": "Island",
-                "terms": "archipelago,atoll,bar,cay,isle,islet,key,reef"
-            },
-            "place/isolated_dwelling": {
-                "name": "Isolated Dwelling",
-                "terms": ""
-            },
-            "place/locality": {
-                "name": "Locality",
-                "terms": ""
-            },
-            "place/town": {
-                "name": "Town",
-                "terms": ""
-            },
-            "place/village": {
-                "name": "Village",
-                "terms": ""
-            },
-            "power": {
-                "name": "Power",
-                "terms": ""
-            },
-            "power/generator": {
-                "name": "Power Plant",
-                "terms": ""
-            },
-            "power/line": {
-                "name": "Power Line",
-                "terms": ""
-            },
-            "power/pole": {
-                "name": "Power Pole",
-                "terms": ""
-            },
-            "power/sub_station": {
-                "name": "Substation",
-                "terms": ""
-            },
-            "power/tower": {
-                "name": "High-Voltage Tower",
-                "terms": ""
-            },
-            "power/transformer": {
-                "name": "Transformer",
-                "terms": ""
-            },
-            "railway": {
-                "name": "Railway",
-                "terms": ""
-            },
-            "railway/abandoned": {
-                "name": "Abandoned Railway",
-                "terms": ""
-            },
-            "railway/disused": {
-                "name": "Disused Railway",
-                "terms": ""
-            },
-            "railway/level_crossing": {
-                "name": "Level Crossing",
-                "terms": "crossing,railroad crossing,railway crossing,grade crossing,road through railroad,train crossing"
-            },
-            "railway/monorail": {
-                "name": "Monorail",
-                "terms": ""
-            },
-            "railway/platform": {
-                "name": "Railway Platform",
-                "terms": ""
-            },
-            "railway/rail": {
-                "name": "Rail",
-                "terms": ""
-            },
-            "railway/station": {
-                "name": "Railway Station",
-                "terms": ""
-            },
-            "railway/subway": {
-                "name": "Subway",
-                "terms": ""
-            },
-            "railway/subway_entrance": {
-                "name": "Subway Entrance",
-                "terms": ""
-            },
-            "railway/tram": {
-                "name": "Tram",
-                "terms": "streetcar"
-            },
-            "shop": {
-                "name": "Shop",
-                "terms": ""
-            },
-            "shop/alcohol": {
-                "name": "Liquor Store",
-                "terms": ""
-            },
-            "shop/bakery": {
-                "name": "Bakery",
-                "terms": ""
-            },
-            "shop/beauty": {
-                "name": "Beauty Shop",
-                "terms": ""
-            },
-            "shop/beverages": {
-                "name": "Beverage Store",
-                "terms": ""
-            },
-            "shop/bicycle": {
-                "name": "Bicycle Shop",
-                "terms": ""
-            },
-            "shop/books": {
-                "name": "Bookstore",
-                "terms": ""
-            },
-            "shop/boutique": {
-                "name": "Boutique",
-                "terms": ""
-            },
-            "shop/butcher": {
-                "name": "Butcher",
-                "terms": ""
-            },
-            "shop/car": {
-                "name": "Car Dealership",
-                "terms": ""
-            },
-            "shop/car_parts": {
-                "name": "Car Parts Store",
-                "terms": ""
-            },
-            "shop/car_repair": {
-                "name": "Car Repair Shop",
-                "terms": ""
-            },
-            "shop/chemist": {
-                "name": "Chemist",
-                "terms": ""
-            },
-            "shop/clothes": {
-                "name": "Clothing Store",
-                "terms": ""
-            },
-            "shop/computer": {
-                "name": "Computer Store",
-                "terms": ""
-            },
-            "shop/confectionery": {
-                "name": "Confectionery",
-                "terms": ""
-            },
-            "shop/convenience": {
-                "name": "Convenience Store",
-                "terms": ""
-            },
-            "shop/deli": {
-                "name": "Deli",
-                "terms": ""
-            },
-            "shop/department_store": {
-                "name": "Department Store",
-                "terms": ""
-            },
-            "shop/doityourself": {
-                "name": "DIY Store",
-                "terms": ""
-            },
-            "shop/dry_cleaning": {
-                "name": "Dry Cleaners",
-                "terms": ""
-            },
-            "shop/electronics": {
-                "name": "Electronics Store",
-                "terms": ""
-            },
-            "shop/fishmonger": {
-                "name": "Fishmonger",
-                "terms": ""
-            },
-            "shop/florist": {
-                "name": "Florist",
-                "terms": ""
-            },
-            "shop/furniture": {
-                "name": "Furniture Store",
-                "terms": ""
-            },
-            "shop/garden_centre": {
-                "name": "Garden Center",
-                "terms": ""
-            },
-            "shop/gift": {
-                "name": "Gift Shop",
-                "terms": ""
-            },
-            "shop/greengrocer": {
-                "name": "Greengrocer",
-                "terms": ""
-            },
-            "shop/hairdresser": {
-                "name": "Hairdresser",
-                "terms": ""
-            },
-            "shop/hardware": {
-                "name": "Hardware Store",
-                "terms": ""
-            },
-            "shop/hifi": {
-                "name": "Hifi Store",
-                "terms": ""
-            },
-            "shop/jewelry": {
-                "name": "Jeweler",
-                "terms": ""
-            },
-            "shop/kiosk": {
-                "name": "Kiosk",
-                "terms": ""
-            },
-            "shop/laundry": {
-                "name": "Laundry",
-                "terms": ""
-            },
-            "shop/mall": {
-                "name": "Mall",
-                "terms": ""
-            },
-            "shop/mobile_phone": {
-                "name": "Mobile Phone Store",
-                "terms": ""
-            },
-            "shop/motorcycle": {
-                "name": "Motorcycle Dealership",
-                "terms": ""
-            },
-            "shop/music": {
-                "name": "Music Store",
-                "terms": ""
-            },
-            "shop/newsagent": {
-                "name": "Newsagent",
-                "terms": ""
-            },
-            "shop/optician": {
-                "name": "Optician",
-                "terms": ""
-            },
-            "shop/outdoor": {
-                "name": "Outdoor Store",
-                "terms": ""
-            },
-            "shop/pet": {
-                "name": "Pet Store",
-                "terms": ""
-            },
-            "shop/shoes": {
-                "name": "Shoe Store",
-                "terms": ""
-            },
-            "shop/sports": {
-                "name": "Sporting Goods Store",
-                "terms": ""
-            },
-            "shop/stationery": {
-                "name": "Stationery Store",
-                "terms": ""
-            },
-            "shop/supermarket": {
-                "name": "Supermarket",
-                "terms": "bazaar,boutique,chain,co-op,cut-rate store,discount store,five-and-dime,flea market,galleria,mall,mart,outlet,outlet store,shop,shopping center,shopping plaza,stand,store,supermarket,thrift shop"
-            },
-            "shop/toys": {
-                "name": "Toy Store",
-                "terms": ""
-            },
-            "shop/travel_agency": {
-                "name": "Travel Agency",
-                "terms": ""
-            },
-            "shop/tyres": {
-                "name": "Tire Store",
-                "terms": ""
-            },
-            "shop/vacant": {
-                "name": "Vacant Shop",
-                "terms": ""
-            },
-            "shop/variety_store": {
-                "name": "Variety Store",
-                "terms": ""
-            },
-            "shop/video": {
-                "name": "Video Store",
-                "terms": ""
-            },
-            "tourism": {
-                "name": "Tourism",
-                "terms": ""
-            },
-            "tourism/alpine_hut": {
-                "name": "Alpine Hut",
-                "terms": ""
-            },
-            "tourism/artwork": {
-                "name": "Artwork",
-                "terms": ""
-            },
-            "tourism/attraction": {
-                "name": "Tourist Attraction",
-                "terms": ""
-            },
-            "tourism/camp_site": {
-                "name": "Camp Site",
-                "terms": ""
-            },
-            "tourism/caravan_site": {
-                "name": "RV Park",
-                "terms": ""
-            },
-            "tourism/chalet": {
-                "name": "Chalet",
-                "terms": ""
-            },
-            "tourism/guest_house": {
-                "name": "Guest House",
-                "terms": "B&B,Bed & Breakfast,Bed and Breakfast"
-            },
-            "tourism/hostel": {
-                "name": "Hostel",
-                "terms": ""
-            },
-            "tourism/hotel": {
-                "name": "Hotel",
-                "terms": ""
-            },
-            "tourism/information": {
-                "name": "Information",
-                "terms": ""
-            },
-            "tourism/motel": {
-                "name": "Motel",
-                "terms": ""
-            },
-            "tourism/museum": {
-                "name": "Museum",
-                "terms": "exhibition,exhibits archive,foundation,gallery,hall,institution,library,menagerie,repository,salon,storehouse,treasury,vault"
-            },
-            "tourism/picnic_site": {
-                "name": "Picnic Site",
-                "terms": ""
-            },
-            "tourism/theme_park": {
-                "name": "Theme Park",
-                "terms": ""
-            },
-            "tourism/viewpoint": {
-                "name": "Viewpoint",
-                "terms": ""
-            },
-            "tourism/zoo": {
-                "name": "Zoo",
-                "terms": ""
-            },
-            "waterway": {
-                "name": "Waterway",
-                "terms": ""
-            },
-            "waterway/canal": {
-                "name": "Canal",
-                "terms": ""
-            },
-            "waterway/dam": {
-                "name": "Dam",
-                "terms": ""
-            },
-            "waterway/ditch": {
-                "name": "Ditch",
-                "terms": ""
-            },
-            "waterway/drain": {
-                "name": "Drain",
-                "terms": ""
-            },
-            "waterway/river": {
-                "name": "River",
-                "terms": "beck,branch,brook,course,creek,estuary,rill,rivulet,run,runnel,stream,tributary,watercourse"
-            },
-            "waterway/riverbank": {
-                "name": "Riverbank",
-                "terms": ""
-            },
-            "waterway/stream": {
-                "name": "Stream",
-                "terms": "beck,branch,brook,burn,course,creek,current,drift,flood,flow,freshet,race,rill,rindle,rivulet,run,runnel,rush,spate,spritz,surge,tide,torrent,tributary,watercourse"
-            },
-            "waterway/weir": {
-                "name": "Weir",
-                "terms": ""
             }
         }
-    }
-};/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+        function midpointFilter(d) {
+            if (midpoints[d.id])
+                return true;
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+            for (var i = 0; i < d.parents.length; i++)
+                if (filter(d.parents[i]))
+                    return true;
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.es = {
-    "modes": {
-        "add_area": {
-            "title": "Área",
-            "description": "Agregar parques, edificios, lagos u otras áreas al mapa.",
-            "tail": "Haga clic en el mapa para empezar a dibujar un área, como un parque, lago o edificio."
-        },
-        "add_line": {
-            "title": "Línea",
-            "description": "Agregar autopistas, calles, pasos peatonales o canales en el mapa.",
-            "tail": "Haga clic para empezar a dibujar en el mapa, una calle, camino o ruta."
-        },
-        "add_point": {
-            "title": "Punto",
-            "description": "Agregar restaurantes, monumentos, buzones u otros puntos en el mapa.",
-            "tail": "Haga clic para agregar un punto en el mapa."
-        },
-        "browse": {
-            "title": "Navegar",
-            "description": "Desplazar y acercar el mapa."
-        },
-        "draw_area": {
-            "tail": "Haz clic para agregar vértices en tu área. Haz clic de nuevo en el primer vértice para cerrar el área."
-        },
-        "draw_line": {
-            "tail": "Haz clic para agregar más vértices a la línea. Haz clic en otras líneas para conectarlas y doble clic para finalizar."
+            return false;
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Punto añadido.",
-                "vertex": "Vértice añadido a la vía."
+
+        var groups = surface.select('.layer-hit').selectAll('g.midpoint')
+            .filter(midpointFilter)
+            .data(_.values(midpoints), function(d) { return d.id; });
+
+        var enter = groups.enter()
+            .insert('g', ':first-child')
+            .attr('class', 'midpoint');
+
+        enter.append('polygon')
+            .attr('points', '-6,8 10,0 -6,-8')
+            .attr('class', 'shadow');
+
+        enter.append('polygon')
+            .attr('points', '-3,4 5,0 -3,-4')
+            .attr('class', 'fill');
+
+        groups
+            .attr('transform', function(d) {
+                var translate = iD.svg.PointTransform(projection),
+                    a = context.entity(d.edge[0]),
+                    b = context.entity(d.edge[1]),
+                    angle = Math.round(iD.geo.angle(a, b, projection) * (180 / Math.PI));
+                return translate(d) + ' rotate(' + angle + ')';
+            })
+            .call(iD.svg.TagClasses().tags(
+                function(d) { return d.parents[0].tags; }
+            ));
+
+        // Propagate data bindings.
+        groups.select('polygon.shadow');
+        groups.select('polygon.fill');
+
+        groups.exit()
+            .remove();
+    };
+};
+iD.svg.Points = function(projection, context) {
+    function markerPath(selection, klass) {
+        selection
+            .attr('class', klass)
+            .attr('transform', 'translate(-8, -23)')
+            .attr('d', 'M 17,8 C 17,13 11,21 8.5,23.5 C 6,21 0,13 0,8 C 0,4 4,-0.5 8.5,-0.5 C 13,-0.5 17,4 17,8 z');
+    }
+
+    function sortY(a, b) {
+        return b.loc[1] - a.loc[1];
+    }
+
+    return function drawPoints(surface, entities, filter) {
+        var graph = context.graph(),
+            wireframe = surface.classed('fill-wireframe'),
+            points = wireframe ? [] : _.filter(entities, function(e) {
+                return e.geometry(graph) === 'point';
+            });
+
+        points.sort(sortY);
+
+        var groups = surface.select('.layer-hit').selectAll('g.point')
+            .filter(filter)
+            .data(points, iD.Entity.key);
+
+        var group = groups.enter()
+            .append('g')
+            .attr('class', function(d) { return 'node point ' + d.id; })
+            .order();
+
+        group.append('path')
+            .call(markerPath, 'shadow');
+
+        group.append('path')
+            .call(markerPath, 'stroke');
+
+        group.append('use')
+            .attr('transform', 'translate(-6, -20)')
+            .attr('class', 'icon')
+            .attr('width', '12px')
+            .attr('height', '12px');
+
+        groups.attr('transform', iD.svg.PointTransform(projection))
+            .call(iD.svg.TagClasses());
+
+        // Selecting the following implicitly
+        // sets the data (point entity) on the element
+        groups.select('.shadow');
+        groups.select('.stroke');
+        groups.select('.icon')
+            .attr('xlink:href', function(entity) {
+                var preset = context.presets().match(entity, context.graph());
+                return preset.icon ? '#' + preset.icon + '-12' : '';
+            });
+
+        groups.exit()
+            .remove();
+    };
+};
+iD.svg.Surface = function() {
+    return function (selection) {
+        selection.selectAll('defs')
+            .data([0])
+            .enter()
+            .append('defs');
+
+        var layers = selection.selectAll('.layer')
+            .data(['areas', 'lines', 'hit', 'halo', 'label']);
+
+        layers.enter().append('g')
+            .attr('class', function(d) { return 'layer layer-' + d; });
+    };
+};
+iD.svg.TagClasses = function() {
+    var primaries = [
+            'building', 'highway', 'railway', 'waterway', 'aeroway',
+            'motorway', 'boundary', 'power', 'amenity', 'natural', 'landuse',
+            'leisure', 'place'
+        ],
+        statuses = [
+            'proposed', 'construction', 'disused', 'abandoned', 'dismantled',
+            'razed', 'demolished', 'obliterated'
+        ],
+        secondaries = [
+            'oneway', 'bridge', 'tunnel', 'embankment', 'cutting', 'barrier',
+            'surface', 'tracktype'
+        ],
+        tagClassRe = /^tag-/,
+        tags = function(entity) { return entity.tags; };
+
+
+    var tagClasses = function(selection) {
+        selection.each(function tagClassesEach(entity) {
+            var value = this.className,
+                classes, primary, status;
+
+            if (value.baseVal !== undefined) value = value.baseVal;
+
+            classes = value.trim().split(/\s+/).filter(function(name) {
+                return name.length && !tagClassRe.test(name);
+            }).join(' ');
+
+            var t = tags(entity), i, k, v;
+
+            // pick at most one primary classification tag..
+            for (i = 0; i < primaries.length; i++) {
+                k = primaries[i];
+                v = t[k];
+                if (!v || v === 'no') continue;
+
+                primary = k;
+                if (statuses.indexOf(v) !== -1) {   // e.g. `railway=abandoned`
+                    status = v;
+                    classes += ' tag-' + k;
+                } else {
+                    classes += ' tag-' + k + ' tag-' + k + '-' + v;
+                }
+
+                break;
             }
-        },
-        "start": {
-            "annotation": {
-                "line": "Línea iniciada.",
-                "area": "Área iniciada."
+
+            // add at most one status tag, only if relates to primary tag..
+            if (!status) {
+                for (i = 0; i < statuses.length; i++) {
+                    k = statuses[i];
+                    v = t[k];
+                    if (!v || v === 'no') continue;
+
+                    if (v === 'yes') {   // e.g. `railway=rail + abandoned=yes`
+                        status = k;
+                    }
+                    else if (primary && primary === v) {  // e.g. `railway=rail + abandoned=railway`
+                        status = k;
+                    } else if (!primary && primaries.indexOf(v) !== -1) {  // e.g. `abandoned=railway`
+                        status = k;
+                        primary = v;
+                        classes += ' tag-' + v;
+                    }  // else ignore e.g.  `highway=path + abandoned=railway`
+
+                    if (status) break;
+                }
             }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Línea continuada.",
-                "area": "Área continuada."
+
+            if (status) {
+                classes += ' tag-status tag-status-' + status;
             }
-        },
-        "cancel_draw": {
-            "annotation": "Dibujo cancelado."
-        },
-        "change_tags": {
-            "annotation": "Etiquetas modificadas."
-        },
-        "circularize": {
-            "title": "Redondear",
-            "description": {
-                "line": "Redondear línea",
-                "area": "Redondear área."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Redondear línea.",
-                "area": "Redondear área."
-            },
-            "not_closed": "Esto no se puede redondear porque no es un bucle."
-        },
-        "orthogonalize": {
-            "title": "Escuadrar",
-            "description": "Escuadrar esquinas.",
-            "key": "E",
-            "annotation": {
-                "line": "Esquinas de la línea escuadrados.",
-                "area": "Esquinas del área escuadrados."
-            },
-            "not_closed": "Esto no se puede encuadrar porque no es un bucle."
-        },
-        "delete": {
-            "title": "Eliminar",
-            "description": "Eliminar del mapa.",
-            "annotation": {
-                "point": "Punto eliminado.",
-                "vertex": "Vértice elimnado de la ruta.",
-                "line": "Línea eliminada.",
-                "area": "Área eliminada.",
-                "relation": "Relación eliminada.",
-                "multiple": "{n} objetos eliminados."
+
+            // add any secondary (structure) tags
+            for (i = 0; i < secondaries.length; i++) {
+                k = secondaries[i];
+                v = t[k];
+                if (!v || v === 'no') continue;
+                classes += ' tag-' + k + ' tag-' + k + '-' + v;
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Punto conectado a la línea.",
-                "vertex": "Vía conectada a otra.",
-                "line": "Vía conectada a la línea.",
-                "area": "Vía conectada al área."
+
+            // For highways, look for surface tagging..
+            if (primary === 'highway') {
+                var paved = (t.highway !== 'track');
+                for (k in t) {
+                    v = t[k];
+                    if (k in iD.pavedTags) {
+                        paved = !!iD.pavedTags[k][v];
+                        break;
+                    }
+                }
+                if (!paved) {
+                    classes += ' tag-unpaved';
+                }
             }
-        },
-        "disconnect": {
-            "title": "Desconectar",
-            "description": "Desconectar líneas.",
-            "key": "D",
-            "annotation": "Líneas desconectadas.",
-            "not_connected": "No hay suficientes líneas/áreas aquí para desconectar."
-        },
-        "merge": {
-            "title": "Combinar",
-            "description": "Combinar líneas.",
-            "key": "C",
-            "annotation": "{n} líneas combinadas.",
-            "not_eligible": "Estos elementos no pueden ser fusionados.",
-            "not_adjacent": "Estas líneas no pueden ser fusionadas porque no están conectadas"
-        },
-        "move": {
-            "title": "Mover",
-            "description": "Mover a otra ubicación.",
-            "key": "M",
-            "annotation": {
-                "point": "Punto movido.",
-                "vertex": "Vértice movido.",
-                "line": "Línea movida.",
-                "area": "Área movida",
-                "multiple": "Múltiples objetos movidos."
-            },
-            "incomplete_relation": "Este elemento del mapa no puede ser desplazado porque no se ha descargado completamente."
-        },
-        "rotate": {
-            "title": "Rotar",
-            "description": "Rotar este objeto sobre su punto central.",
-            "key": "R",
-            "annotation": {
-                "line": "Línea rotada.",
-                "area": "Área rotada."
+
+            classes = classes.trim();
+
+            if (classes !== value) {
+                d3.select(this).attr('class', classes);
             }
-        },
-        "reverse": {
-            "title": "Invertir",
-            "description": "Invertir sentido de la línea.",
-            "key": "I",
-            "annotation": "Sentido de la línea invertido."
-        },
-        "split": {
-            "title": "Dividir",
-            "description": {
-                "line": "Dividir la línea en dos en este nodo.",
-                "area": "Dividir el límite de esta área en dos.",
-                "multiple": "Dividir las líneas/límites de área en este nodo."
-            },
-            "key": "D",
-            "annotation": {
-                "line": "Dividir línea.",
-                "area": "Dividir el límite de un área.",
-                "multiple": "Dividir límites de {n} líneas/áreas."
-            },
-            "not_eligible": "Las líneas no pueden ser divididas en su inicio o termino.",
-            "multiple_ways": "Hay demasiadas líneas para dividir."
+        });
+    };
+
+    tagClasses.tags = function(_) {
+        if (!arguments.length) return tags;
+        tags = _;
+        return tagClasses;
+    };
+
+    return tagClasses;
+};
+iD.svg.Turns = function(projection) {
+    return function(surface, graph, turns) {
+        function key(turn) {
+            return [turn.from.node + turn.via.node + turn.to.node].join('-');
         }
-    },
-    "nothing_to_undo": "Nada que deshacer.",
-    "nothing_to_redo": "Nada que rehacer.",
-    "just_edited": "¡Acaba de editar OpenStreetMap!",
-    "browser_notice": "Este editor soporta Firefox, Chrome, Safari, Opera e Internet Explorer 9 o superior. Por favor actualice su navegador o utilice Potlatch 2 para editar el mapa.",
-    "view_on_osm": "Ver en OSM",
-    "zoom_in_edit": "Acerca para editar el mapa",
-    "logout": "Cerrar sesión",
-    "loading_auth": "Conectando a OpenStreetMap...",
-    "report_a_bug": "Informar de un error",
-    "commit": {
-        "title": "Guardar cambios",
-        "description_placeholder": "Breve descripción de tus contribuciones",
-        "message_label": "Mensaje del registro",
-        "upload_explanation": "Los cambios que sube como {user} serán visibles en todos los mapas que usen datos de OpenStreetMap.",
-        "save": "Guardar",
-        "cancel": "Cancelar",
-        "warnings": "Avisos",
-        "modified": "Modificado",
-        "deleted": "Borrado",
-        "created": "Creado"
-    },
-    "contributors": {
-        "list": "Viendo las contribuciones de {users}",
-        "truncated_list": "Viendo las contribuciones de {users} y {count} más"
-    },
-    "geocoder": {
-        "title": "Buscar un lugar",
-        "placeholder": "buscar un lugar",
-        "no_results": "No se pudo encontrar el lugar llamado '{name}'"
-    },
-    "geolocate": {
-        "title": "Mostrar mi Localización"
-    },
-    "inspector": {
-        "no_documentation_combination": "No hay documentación disponible para esta combinación de etiquetas",
-        "no_documentation_key": "No hay documentación disponible para esta tecla",
-        "show_more": "Ver más",
-        "new_tag": "Nueva etiqueta",
-        "view_on_osm": "Ver en openstreetmap.org",
-        "editing_feature": "Editando {feature}",
-        "additional": "Etiquetas adicionales",
-        "choose": "Selecciona tipo de elemento",
-        "results": "{n} resultados para {search}",
-        "reference": "Ver en la wiki de OpenStreetMap",
-        "back_tooltip": "Cambiar tipo de elemento"
-    },
-    "background": {
-        "title": "Fondo",
-        "description": "Configuración de fondo",
-        "percent_brightness": "{opacity}% brillo",
-        "fix_misalignment": "Corregir alineación",
-        "reset": "reiniciar"
-    },
-    "restore": {
-        "heading": "Tiene cambios sin guardar",
-        "description": "Tiene cambios no guardados de una sesión de edición previa. ¿Quiere recuperar sus cambios?",
-        "restore": "Restaurar",
-        "reset": "Descartar"
-    },
-    "save": {
-        "title": "Guardar",
-        "help": "Guardar los cambios en OpenStreetMap haciéndolos visibles a otros usuarios.",
-        "no_changes": "No hay cambios que guardar.",
-        "error": "Ha ocurrido un error tratando de guardar",
-        "uploading": "Subiendo cambios a OpenStreetMap.",
-        "unsaved_changes": "Tiene cambios sin guardar"
-    },
-    "splash": {
-        "welcome": "Bienvenido al editor de OpenStreetMap iD",
-        "text": "iD es una herramienta fácil de utilizar y potente para contribuir al mejor mapa del libre. Esto es una versión {version} de desarrollo. Para más información visite {website} e informe cualquier error en {github}.",
-        "walkthrough": "Iniciar el tutorial",
-        "start": "Editar"
-    },
-    "source_switch": {
-        "live": "conectado",
-        "lose_changes": "Tiene cambios sin guardar. Si cambia de servidor de mapas, sus cambios serán descartados. ¿Esta seguro?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Descripción",
-        "on_wiki": "{tag} en wiki.osm.org",
-        "used_with": "usado con {type}"
-    },
-    "validations": {
-        "untagged_point": "Punto sin etiquetar",
-        "untagged_line": "Línea sin etiquetar",
-        "untagged_area": "Área sin etiquetar",
-        "many_deletions": "Está eliminando {n} objetos ¿Está seguro de que quieres hacer esto? Esta acción los eliminará del mapa que todos ven en openstreetmap.org.",
-        "tag_suggests_area": "La etiqueta {tag} sugiere que esta línea debería ser una área, pero no lo es.",
-        "deprecated_tags": "Etiquetas obsoletas: {tags}"
-    },
-    "zoom": {
-        "in": "Acercar",
-        "out": "Alejar"
-    },
-    "cannot_zoom": "No se puede alejar más la imagen en el modo actual.",
-    "gpx": {
-        "local_layer": "Archivo GPX local",
-        "drag_drop": "Arrastra y suelte un fichero .gpx a la página"
-    },
-    "help": {
-        "title": "Ayuda",
-        "help": "# Ayuda\n\nEste es un editor para [OpenStreetMap](http://www.openstreetmap.org/), el mapa libre y editable del mundo. Puede utilizarlo para agregar y actualizar datos en tu área, haciendo este mapa, de fuente abierta y datos abiertos, mejor para todos.\n\nLas ediciones que haces en este mapa seran visibles para todo el que use OpenStreetMap. Para poder hacer una edición, necesitaras una [cuenta gratuita en OpenStreetMap](https://www.openstreetmap.org/user/new).\n\nEl [editor iD](http://ideditor.com/) es un proyecto colaborativo con [código fuente disponible en GitHub](https://github.com/systemed/iD).\n",
-        "editing_saving": "# Editar & Guardar\n\nEste editor está diseñado para trabajar en línea principalmente, ya que tu en estos momentos estas accediendo a través de un sitio web.\n\n### Seleccionar elementos gráficos\n\nPara seleccionar un elemento del mapa, como una carretera o un punto de interés, simplemente haz clic sobre él. Esto resaltará el elemento seleccionado, abriendo un panel con sus características, y  mostrará un menú de cosas que puedes hacer con ese elemento.\n\nMultiple features can be selected by holding the 'Shift' key, clicking,\nand dragging on the map. This will select all features within the box\nthat's drawn, allowing you to do things with several features at once.\n\nSe pueden seleccionar múltiples elementos de una vez pulsando la tecla 'Mayús' y haciendo clic y arrastrando el ratón sobre el mapa. Esto seleccionará todas los elementos que están dentro del recuadro que se dibuja, lo que le permite realizar cosas con todos ellos al mismo tiempo.\n\n### Guardar ediciones\n\nCuando hagas cambios como editar carreteras, edificios o lugares, estos se  almacenan localmente en tu ordenador hasta que decidas guardarlos en el servidor. No te preocupes si cometes un error - puede deshacer los cambios haciendo clic en el botón Deshacer, y rehacerlos de nuevo haciendo clic en el botón Rehacer.\n\nHaz clic en 'Guardar' para finalizar un grupo de ediciones (por ejemplo, si has completado una zona de la ciudad y quisiera empezar en una nueva área).  Antes de subir los cambios al servidor tendrás oportunidad de revisar lo que has hecho, y el editor proporciona avisos y sugerencias útiles si algo parece que no es correcto en los cambios.\n\nSi todo ves que todo es correcto escribir un breve comentario explicando el cambio que has hecho y haz clic en 'Guardar' otra vez para registrar los cambios en [OpenStreetMap.org](http:\\/\\/www.openstreetmap.org\\/), donde serán visibles para todos los demás usuarios y disponible para que otros puedan construir y mejorar el mapa.\n\nSi aún no has terminado tus ediciones en una sesión, puede dejar la ventana del editor abierta y volver más tarde (en el mismo navegador y ordenador), y el editor te permitirá retomar tu trabajo.\n",
-        "roads": "# Carreteras\n\nPuede crear, corregir y borrar carreteras con este editor. Las vías pueden ser de todas las clases: caminos, carreteras, senderos, ciclovías, etc. A cualquier línea dibujada en el mapa se le debe indicar el tipo de elemento lineal que es.\n\n### Seleccionar\n\nHaga clic sobre una vía para seleccionarla. Verá sobre ella como se visualiza su esquema, formando nodos y segmentos, junto con un menú de herramientas que aparece sobre el mapa y una barra lateral que muestra más información sobre la vía.\n\n### Modificar\n\nA menudo verá viales que no están alineados correctamente con la imagen aérea de fondo o con la traza GPS. Puede ajustar esas vías para situarlas en el lugar exacto.\n\nPrimero haga clic sobre la vía que desea cambiar. Esto la resaltará y mostrará los nodos o puntos de control a lo largo de la vía que la forman. A continuación simplemente arrastre esos puntos a la posición correcta. Si desea añadir nuevos puntos de control para dibujar la carretera con mayor detalle haga doble clic sobre la parte de la vía donde quiere añadir el nuevo nodo y este será creado en la vía. \n\nSi la vía conecta con otra carretera o camino pero esta conexión no aparece correctamente en el mapa puede arrastrar un de los puntos de la vía hasta la otra carretera y se unirá automáticamente a ella mediante un nodo común. Es muy importante tener las carreteras conectadas en el mapa, ya que es esencial para proporcionar instrucciones correctas para la conducción si queremos que la cartografía se útil, por ejemplo, para navegadores GPS.\n\n### Eliminar\n\nSi un camino totalmente incorrecto -ha observado que no aparece en las imágenes de satélite y de manera ideal lo ha confirmado en campo- puede eliminarlo, lo cual lo borrará del mapa. Sea precavido al eliminar elementos del mapa, como cualquier otra edición que haga este cambio será visto por todo el mundo y las imágenes de satélite a menudo no están actualizadas, por lo que una carretera que no existe en ellas pero sí en el mapa simplemente puede aparecer porque es de reciente construcción y otro usuario la ha añadido. \n\n### Crear\n\n¿Ha encontrado un lugar donde debería existir una carretera pero no aparece? Haga clic con el ratón sobre el icono 'Línea' situado en la parte superior izquierda del editor o simplemente presione la tecla '2'  de su teclado como acceso rápido para comenzar a dibujar una línea. \n\nHaga clic sobre el mapa en el inicio de la carretera para comenzar a dibujar. Si la vía se ramifica a partir de una carretera ya existente empiece haciendo clic sobre el lugar donde ambas conectan.\n\nHaga clic en puntos a lo largo de la vía para definir el trazado correcto de la carretera. La densidad de puntos dependerá de la complejidad del recorrido, por lo que es aconsejable dibujar desde un nivel de zoom apropiado. Si la vía que está dibujando atraviesa otra carretera conéctela con esta haciendo clic sobre el punto de intersección. Una vez haya terminado el dibujo haga doble clic con el ratón o presiones la tecla 'Return' o 'Intro' de su teclado para finalizar.\n",
-        "gps": "# GPS\n\nLos datos procedentes de un GPS son la fuente más fiable para OpenStreetMap. Este editor soporta archivo gpx con trazas guardadas en su equipo local.  Este tipo de trazas GPS se pueden obtener con un gran número de aplicaciones para teléfonos inteligentes, así como con receptores GPS normales.\n\nPara más información acerca de como obtener datos en campo mediante GPS lea [Capturando información mediante GPS] (http://learnosm.org/en/beginner/using-gps/)\n\nPara utilizar una traza GPX para cartografiar simplemente arrastre y suelte el archivo GPX sobre el editor de mapas. Si es reconocido, se añadirá al mapa como una línea verde brillante. Haga clic en el menú 'Configuración de fondo' de la izquierda para activar, desactivar o hacer zoom sobre esta nueva capa de con la traza GPX.\n\nTenga en cuenta que la traza GPX no es subida directamente a OpenStreetMap, sino que se utiliza para dibujar sobre ella en el mapa, ayudándole como guía para los nuevos elementos que desea añadir.\n",
-        "imagery": "# Imágenes\n\nLas imágenes aéreas son un importante recurso para para cartografiar. Una combinación de vuelos aéreos, fotografías de satélite  y otros tipos de fuentes libres se encuentran disponibles en el editor bajo el menú de la izquierda llamado 'Configuración de fondo'.\n\nPor defecto el editor muestra la capa imágenes de satélite de [Bing Maps](http://www.bing.com/maps/) , pero una vez se vaya desplazando por el mapa y haciendo zoom sobre diferentes zonas, nuevas fuentes de imágenes podrán estar disponibles.\n\nLas imágenes aéreas a veces se encuentran desplazadas del mapa debido a errores por parte de los proveedores de los datos que las suministran. Si observa que existen numerosas carreteras que no coinciden con el fondo de imagen no las muevas para ajustarlas. En vez de ello puede ajustar la fotografía aérea para que esta coincida con los datos existentes haciendo clic en 'Corregir alineación' en la parte superior de la interfaz 'Configuración de fondo'.\n",
-        "addresses": "# Addresses\n\n# Direcciones\n\nLas direcciones son parte de la información más útil que se puede añadir al mapa. \n\nAunque las direcciones se representan a menudo como parte de las calles, en OpenStreetMap esta información es guardada como atributos de los edificios y lugares presentes a lo largo de los viales.\n\nPuede agregar información sobre direcciones a lugares dibujados en el mapa  como contornos de edificios, así como aquellos localizados únicamente con un punto. La fuente óptima para obtener datos de direcciones es la consulta sobre el terreno o el conocimiento personal. El uso de fuentes comerciales, como Google Maps, para obtener estos datos está estrictamente prohibido.\n",
-        "inspector": "# Usar el inspector\n\nEl inspector es el elemento del interfaz de usuario situado al lado derecho de la pantalla, el cual aparece cuando un elemento del mapa es seleccionado. Permite editar los detalles de este.\n\n### Seleccionar una tipo de elemento\n\nDespués de agregar una punto, una línea o un área, puede indicar que tipo de elemento representa en el mapa: una carretera, una calle urbana, un supermercado o una cafetería. El inspector mostrará botones con los tipos de elementos más comunes, no obstante se pueden encontrar otros simplemente escribiendo lo que está buscando en la caja de búsqueda.\n\nHaciendo clic con el ratón en el botón 'i' que aparece en la esquina inferior derecha es posible conocer más acerca de ese tipo de elemento. Pulsando sobre el botón le seleccionaremos. \n\n### Utilizar los formularios y editar etiquetas\n\nUna vez elegido el tipo de elemento que representa el dibujo del mapa, o seleccionado un tipo de elemento ya previamente asignado, el inspector mostrará una serie de campos con las características de este, tales como su nombre o dirección.   \n\nUna vez visto los campos, puede hacer clic en los iconos para añadir nuevos detalles que lo complemente, como agregar un enlace a su artículo en la  [Wikipedia](http://www.wikipedia.org/), si es posible el acceso en silla de ruedas y muchas más.\n\nEn la parte inferior del inspector puede hacer clic sobre 'Etiquetas adicionales' para agregar tantas etiquetas como desee. [Taginfo](http://taginfo.openstreetmap.org/) es un gran recurso para aprender más acerca de la combinación de etiquetas más populares.\n\nLos cambios aplicados en el inspector se aplican automáticamente al mapa. Puede anularlo en cualquier momento haciendo clic sobre el botón 'Deshacer'.\n\n### Cerrar el inspector\n\nPuede cerrar el inspector bien pulsando clic con el ratón sobre el botón cerrar de la esquina superior derecha, bien presionando la tecla 'Escape' del teclado o sencillamente haciendo clic sobre el mapa.\n",
-        "buildings": "# Edificios\n\nOpenStreetMap es la base de datos cartográfica más grande del mundo sobre edificios. Puede crear y mejorar esta base de datos.\n\n### Seleccionar\n\nPuede seleccionar un edificio haciendo clic con el ratón sobre su borde. Esto resaltará el edificio y abrirá un pequeño menú de herramientas y una barra lateral que mostrará más información sobre la edificación. \n\n### Modifying\n\n### Modificar\n\nAlgunas veces los edificios son situados incorrectamente o poseen etiquetas erróneas.\n\nPara mover un edificio completo selecciónelo y haga clic en la herramienta 'Mover'. Desplace el ratón para trasladar el edificio y haga clic cuando esté correctamente situado. \n\nPara corregir la forma del edificio de manera puntual haga clic con el ratón sobre uno de los nodos que forma el borde del edificio y sin soltar arrástrelo al lugar adecuado\n\n### Crear\n\nUna de las principales preguntas acerca de cómo añadir edificios al mapa es cómo OpenStreetMap graba los edificios independientemente como polígonos y puntos. La regla general es \"dibujar un edificio como un polígono siempre que sea posible\" y cartografiar la situación de las empresas, hogares, servicios y otros elementos que alberga el edificio como puntos situados dentro de este. \n\nComience a dibujar un edificio como un polígono haciendo clic en el botón 'Área' situado en la parte superior izquierda de el interfaz y finalice bien pulsando la tecla 'Return' o 'Intro' de su teclado o simplemente haciendo clic en el primer nodo dibujado para cerrar el polígono.\n\n### Eliminar\n\nSi un edificio es totalmente incorrecto -puedes ver que no existe en la imagen por satélite y de manera ideal lo ha confirmado visitando el lugar- puede borrarlo para que se elimine del mapa. Sea precavido cuando suprima elementos del mapa, como en cualquier otra edición los cambios que realice serán visibles por todo el mundo y a veces las imágenes de satélite pueden estar desactualizadas, por lo que el edifico simplemente es de nueva construcción y ha sido añadido por otro usuario.\n\nPuede eliminar un edificio haciendo clic con el ratón sobre él para seleccionarlo  y a continuación pulsar en el icono de la papelera o simplemente pulsando la tecla 'Supr' de su teclado.\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "El área de mapa principal muestra datos de OpenStreetMap sobre un fondo. Puede navegar arrastrando y desplazándose como en cualquier mapa web. **¡Arrastre el mapa!** ",
-            "select": "Los elementos del mapa son representados de tres formas: usando puntos, líneas o áreas. Todos los elementos pueden ser seleccionados haciendo clic en ellos. **Haga clic en el punto para seleccionarlo.**",
-            "header": "El encabezado nos muestra el tipo de característica.",
-            "pane": "Cuando un elemento es seleccionado se muestra el editor de elementos. El encabezado nos indica el tipo de elemento y el panel principal enseña los atributos del elemento, como su nombre y dirección. **Cierre el editor de elementos con el botón cerrar arriba a la derecha.**"
-        },
-        "points": {
-            "add": "Los puntos pueden ser utilizados para representar elementos como tiendas, restaurantes y monumentos. Ellos marcan una ubicación especifica, y describen que hay ahí. **Haga clic en el botón Punto para agregar uno nuevo**",
-            "place": "El punto puede ser ubicado haciendo clic en el mapa. **Ubicar el punto sobre el edificio.**",
-            "search": "Hay muchos elementos diferentes que pueden ser representados por puntos. El punto que acabas de agregar es un café. **Buscar 'Café'**",
-            "choose": "**Elegir Café en la cuadrícula.**",
-            "describe": "El punto ahora está marcado como café. Utilizando el editor de elementos, podemos agregar más información sobre este. **Agregar un nombre**",
-            "close": "El editor de elementos puede ser cerrado haciendo clic en el botón cerrar. **Cerrar el editor de elementos**",
-            "reselect": "A menudo los puntos ya existirán, pero tendrán errores o estarán incompletos. Podemos editar puntos existentes. **Seleccione el punto que acaba de crear.**",
-            "fixname": "**Cambiar nombre y cerrar el editor.**",
-            "reselect_delete": "Todos los elementos en el mapa pueden ser eliminados. **Haga clic en el punto que creó.**",
-            "delete": "El menú alrededor del punto contiene operaciones que se puede ejecutar respecto de aquel, incluyendo eliminar. **Eliminar el punto.**"
-        },
-        "areas": {
-            "add": "Las áreas son una forma más detallada de representar elementos. Proveen información sobre los limites del elemento. Las áreas pueden ser utilizadas para la mayoría de los elementos representados con puntos y normalmente se prefieren. **Haga clic en el botón Área para agregar una nueva área.** ",
-            "corner": "Las áreas son dibujadas ubicando nodos que marcan los límites del área. **Ubique el nodo inicial en una de las esquinas de la zona de juegos.**",
-            "place": "Dibuje el área ubicando más nodos. Termine el área haciendo clic en el punto inicial. **Dibuje un área para la zona de juegos.**",
-            "search": "**Buscar zona de juegos.**",
-            "choose": "**Elija Zona de Juegos en la cuadrícula.**",
-            "describe": "**Agregue un nombre y cierre el editor de elementos**"
-        },
-        "lines": {
-            "add": "Las líneas son utilizadas para representar elementos como caminos, líneas férreas y ríos. **Haga clic en el botón Línea para agregar una nueva línea.**",
-            "start": "**Inicie la línea haciendo clic al final de la vía.**",
-            "intersect": "Haga clic para agregar más puntos a la línea. Si es necesario, puedes arrastrar el mapa mientras dibujas. Los caminos, y muchos otros tipos de líneas, son parte de una red más grande. Es importante que estas líneas estén conectadas apropiadamente para que las aplicaciones de enrutamiento puedan funcionar. **Haga clic en nodo de la calle para crear una intersección conectando las dos líneas.**   ",
-            "finish": "Las líneas pueden finalizarse haciendo clic nuevamente en el ultimo punto. **Terminar de dibujar la vía.** ",
-            "road": "**Seleccionar Vía en la cuadrícula**",
-            "residential": "Hay distintos tipos de vías, el más común de los cuales es Urbana. **Elija el tipo de vía urbana**",
-            "describe": "**Nombrar la vía y cerrar el editor de elementos.**",
-            "restart": "El vía debe intersectar con la calle Flores."
-        },
-        "startediting": {
-            "help": "Más documentación y este tutorial están disponible aquí.",
-            "save": "¡No olvides guardar tus cambios regularmente!",
-            "start": "Empezar"
+
+        function icon(turn) {
+            var u = turn.u ? '-u' : '';
+            if (!turn.restriction)
+                return '#turn-yes' + u;
+            var restriction = graph.entity(turn.restriction).tags.restriction;
+            return '#turn-' +
+                (!turn.indirect_restriction && /^only_/.test(restriction) ? 'only' : 'no') + u;
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Acceso",
-                "types": {
-                    "access": "General",
-                    "foot": "A pie",
-                    "motor_vehicle": "Estación de ferrocarril",
-                    "bicycle": "Bicicletas",
-                    "horse": "Caballos"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Permitido",
-                        "description": "Acceso permitido por la ley; un derecho de paso"
-                    },
-                    "no": {
-                        "title": "Prohibido",
-                        "description": "Acceso no permitido al público en general"
-                    },
-                    "permissive": {
-                        "title": "Permisivo",
-                        "description": "Acceso permitido hasta el momento en que el propietario revoque el permiso"
-                    },
-                    "private": {
-                        "title": "Privado",
-                        "description": "Acceso permitido sólo con permiso del propietario de manera individual"
-                    },
-                    "designated": {
-                        "title": "Designado",
-                        "description": "Acceso permitido según señales u ordenanzas locales específicas"
-                    },
-                    "destination": {
-                        "title": "Destinación",
-                        "description": "Acceso permitido sólo para llegar a un destino concreto"
-                    }
-                }
-            },
-            "address": {
-                "label": "Dirección",
-                "placeholders": {
-                    "housename": "Nombre de edificio",
-                    "number": "123",
-                    "street": "Calle",
-                    "city": "Ciudad"
-                }
-            },
-            "admin_level": {
-                "label": "Nivel administrativo"
-            },
-            "aeroway": {
-                "label": "Tipo"
-            },
-            "amenity": {
-                "label": "Tipo"
-            },
-            "atm": {
-                "label": "Cajero automático"
-            },
-            "barrier": {
-                "label": "Tipo"
-            },
-            "bicycle_parking": {
-                "label": "Tipo"
-            },
-            "building": {
-                "label": "Edificio"
-            },
-            "building_area": {
-                "label": "Edificio"
-            },
-            "building_yes": {
-                "label": "Edificio"
-            },
-            "capacity": {
-                "label": "Capacidad"
-            },
-            "cardinal_direction": {
-                "label": "Dirección"
-            },
-            "clock_direction": {
-                "label": "Dirección",
-                "options": {
-                    "clockwise": "En sentido horario",
-                    "anticlockwise": "En sentido antihorario"
-                }
-            },
-            "collection_times": {
-                "label": "Horario de recogida"
-            },
-            "construction": {
-                "label": "Tipo"
-            },
-            "country": {
-                "label": "País"
-            },
-            "crossing": {
-                "label": "Tipo"
-            },
-            "cuisine": {
-                "label": "Cocina"
-            },
-            "denomination": {
-                "label": "Denominación"
-            },
-            "denotation": {
-                "label": "Denotación"
-            },
-            "elevation": {
-                "label": "Altura"
-            },
-            "emergency": {
-                "label": "Emergencia"
-            },
-            "entrance": {
-                "label": "Tipo"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Tarifa"
-            },
-            "highway": {
-                "label": "Tipo"
-            },
-            "historic": {
-                "label": "Tipo"
-            },
-            "internet_access": {
-                "label": "Acceso a Internet",
-                "options": {
-                    "wlan": "Wi-Fi",
-                    "wired": "Por cable",
-                    "terminal": "Terminal"
-                }
-            },
-            "landuse": {
-                "label": "Tipo"
-            },
-            "lanes": {
-                "label": "Carriles"
-            },
-            "layer": {
-                "label": "Capa"
-            },
-            "leisure": {
-                "label": "Tipo"
-            },
-            "levels": {
-                "label": "Niveles"
-            },
-            "man_made": {
-                "label": "Tipo"
-            },
-            "maxspeed": {
-                "label": "Límite de velocidad"
-            },
-            "name": {
-                "label": "Nombre"
-            },
-            "natural": {
-                "label": "Natural"
-            },
-            "network": {
-                "label": "Red"
-            },
-            "note": {
-                "label": "Nota"
-            },
-            "office": {
-                "label": "Tipo"
-            },
-            "oneway": {
-                "label": "Sentido único"
-            },
-            "oneway_yes": {
-                "label": "Sentido único"
-            },
-            "opening_hours": {
-                "label": "Horas"
-            },
-            "operator": {
-                "label": "Operador"
-            },
-            "park_ride": {
-                "label": "Aparcamiento disuasorio"
-            },
-            "parking": {
-                "label": "Tipo"
-            },
-            "phone": {
-                "label": "Teléfono"
-            },
-            "place": {
-                "label": "Tipo"
-            },
-            "power": {
-                "label": "Tipo"
-            },
-            "railway": {
-                "label": "Tipo"
-            },
-            "ref": {
-                "label": "Referencia"
-            },
-            "religion": {
-                "label": "Religión",
-                "options": {
-                    "christian": "Cristiana",
-                    "muslim": "Musulmana",
-                    "buddhist": "Budista",
-                    "jewish": "Judía",
-                    "hindu": "Hindú",
-                    "shinto": "Sintoísta",
-                    "taoist": "Taoísta"
-                }
-            },
-            "service": {
-                "label": "Tipo"
-            },
-            "shelter": {
-                "label": "Refugio"
-            },
-            "shop": {
-                "label": "Tipo"
-            },
-            "source": {
-                "label": "Fuente"
-            },
-            "sport": {
-                "label": "Deporte"
-            },
-            "structure": {
-                "label": "Estructura",
-                "options": {
-                    "bridge": "Puente",
-                    "tunnel": "Túnel",
-                    "embankment": "Dique",
-                    "cutting": "Desmonte"
+
+        var groups = surface.select('.layer-hit').selectAll('g.turn')
+            .data(turns, key);
+
+        // Enter
+        var enter = groups.enter().append('g')
+            .attr('class', 'turn');
+
+        var nEnter = enter.filter(function (turn) { return !turn.u; });
+
+        nEnter.append('rect')
+            .attr('transform', 'translate(-22, -12)')
+            .attr('width', '44')
+            .attr('height', '24');
+
+        nEnter.append('use')
+            .attr('transform', 'translate(-22, -12)')
+            .attr('width', '44')
+            .attr('height', '24');
+
+
+        var uEnter = enter.filter(function (turn) { return turn.u; });
+
+        uEnter.append('circle')
+            .attr('r', '16');
+
+        uEnter.append('use')
+            .attr('transform', 'translate(-16, -16)')
+            .attr('width', '32')
+            .attr('height', '32');
+
+
+        // Update
+        groups
+            .attr('transform', function (turn) {
+                var v = graph.entity(turn.via.node),
+                    t = graph.entity(turn.to.node),
+                    a = iD.geo.angle(v, t, projection),
+                    p = projection(v.loc),
+                    r = turn.u ? 0 : 60;
+
+                return 'translate(' + (r * Math.cos(a) + p[0]) + ',' + (r * Math.sin(a) + p[1]) + ') ' +
+                    'rotate(' + a * 180 / Math.PI + ')';
+            });
+
+        groups.select('use')
+            .attr('xlink:href', icon);
+
+        groups.select('rect');
+        groups.select('circle');
+
+
+        // Exit
+        groups.exit()
+            .remove();
+
+        return this;
+    };
+};
+iD.svg.Vertices = function(projection, context) {
+    var radiuses = {
+        //       z16-, z17, z18+, tagged
+        shadow: [6,    7.5,   7.5,  11.5],
+        stroke: [2.5,  3.5,   3.5,  7],
+        fill:   [1,    1.5,   1.5,  1.5]
+    };
+
+    var hover;
+
+    function siblingAndChildVertices(ids, graph, extent) {
+        var vertices = {};
+
+        function addChildVertices(entity) {
+            if (!context.features().isHiddenFeature(entity, graph, entity.geometry(graph))) {
+                var i;
+                if (entity.type === 'way') {
+                    for (i = 0; i < entity.nodes.length; i++) {
+                        addChildVertices(graph.entity(entity.nodes[i]));
+                    }
+                } else if (entity.type === 'relation') {
+                    for (i = 0; i < entity.members.length; i++) {
+                        var member = context.hasEntity(entity.members[i].id);
+                        if (member) {
+                            addChildVertices(member);
+                        }
+                    }
+                } else if (entity.intersects(extent, graph)) {
+                    vertices[entity.id] = entity;
                 }
-            },
-            "supervised": {
-                "label": "Vigilado"
-            },
-            "surface": {
-                "label": "Superficie"
-            },
-            "tourism": {
-                "label": "Tipo"
-            },
-            "tracktype": {
-                "label": "Tipo"
-            },
-            "water": {
-                "label": "Tipo"
-            },
-            "waterway": {
-                "label": "Tipo"
-            },
-            "website": {
-                "label": "Sitio Web"
-            },
-            "wetland": {
-                "label": "Tipo"
-            },
-            "wheelchair": {
-                "label": "Acceso en silla de ruedas"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Tipo"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Aerovía"
-            },
-            "aeroway/aerodrome": {
-                "name": "Aéropuerto",
-                "terms": "avión,aeropuerto,aeródromo"
-            },
-            "aeroway/helipad": {
-                "name": "Helipuerto",
-                "terms": "helicóptero,plataforma de aterrizaje,helipuerto"
-            },
-            "amenity": {
-                "name": "Servicios"
-            },
-            "amenity/bank": {
-                "name": "Banco",
-                "terms": "arroyo,curso,estuario,arroyuelo,riachuelo, tributario,afluente,curso de agua"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Banco"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Aparcamiento de bibicletas"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Alquiler de bicicletas"
-            },
-            "amenity/cafe": {
-                "name": "Cafetería",
-                "terms": "café,cafetería,tetería,té"
-            },
-            "amenity/cinema": {
-                "name": "Cine",
-                "terms": "pantalla,cine,película,film,filmografía,gran pantalla, séptimo arte,cinematrografía"
-            },
-            "amenity/courthouse": {
-                "name": "Palacio de Justicia"
-            },
-            "amenity/embassy": {
-                "name": "Embajada"
-            },
-            "amenity/fast_food": {
-                "name": "Comida rápida"
-            },
-            "amenity/fire_station": {
-                "name": "Parque de bomberos"
-            },
-            "amenity/fuel": {
-                "name": "Gasolinera"
-            },
-            "amenity/grave_yard": {
-                "name": "Camposanto"
-            },
-            "amenity/hospital": {
-                "name": "Hospital",
-                "terms": "clínica,urgencias,servicio de salud,ambulatorio,hospicio,centro médico,enfermería,sanatorio,consultorio,dispensario"
-            },
-            "amenity/library": {
-                "name": "Biblioteca"
-            },
-            "amenity/marketplace": {
-                "name": "Mercado"
-            },
-            "amenity/parking": {
-                "name": "Aparcamiento"
-            },
-            "amenity/pharmacy": {
-                "name": "Farmacia"
-            },
-            "amenity/place_of_worship": {
-                "name": "Lugar de culto",
-                "terms": "abadía,basílica,bethel,catedral,coro,ermita,hermita,capilla,iglesia,casa de Dios,casa de oración,casa de adoración,emeritorio,misión,mezquita,oratorio,parroquia,sacellum,santuario,sinagoga,tabernáculo,templo"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Iglesia",
-                "terms": "cristiano,abadía,basílica,bethel,catedral,coro,ermita,hermita,capilla,iglesia,emeritorio,casa de Dios,casa de oración,casa de adoración, minster,misión, oratorio, parroquia, sacellum,santuario,sagrario,tabernáculo,templo"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Sinagoga",
-                "terms": "judío,sinagoga"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Mezquita",
-                "terms": "musulmán,mezquita"
-            },
-            "amenity/police": {
-                "name": "Policía",
-                "terms": "policía, policía local, guardia civil,guardia,carabinero,mossos d'esquadra,mossos,ertzaintza,gendarmería,gendarme,detective,comisario,madero,policía foral,vigilante,centinela,ley,patrullero"
-            },
-            "amenity/post_box": {
-                "name": "Buzón de correos",
-                "terms": "buzón de correos,oficina postal,estafeta,correos,buzón,carta"
-            },
-            "amenity/post_office": {
-                "name": "Oficina de correos"
-            },
-            "amenity/pub": {
-                "name": "Pub"
-            },
-            "amenity/restaurant": {
-                "name": "Restaurante",
-                "terms": "bar,cantina,tasca,restaurante,cafetería,café,comedor,lugar de comida,rápido,ambigú,bufé,mesón,taberna,restaurant,bistró,gastrobar,cervecería,pizzería,chocolatería,asador,club nocturno,pub,puesto de comida rápida,hamburguesería,horchatería,heladería,wok,kebab,parrilla,perritos calientes,merendero,picnic,barbacoa"
-            },
-            "amenity/school": {
-                "name": "Escuela",
-                "terms": "academia,alma mater,instituto,IES,colegio,seminario,universidad,formación profesional,FP,facultad, escuela,liceo,seminario,ateneo,departamento,instituto de enseñanza,conservatorio,estudios"
-            },
-            "amenity/swimming_pool": {
-                "name": "Piscina"
-            },
-            "amenity/telephone": {
-                "name": "Teléfono"
-            },
-            "amenity/theatre": {
-                "name": "Teatro",
-                "terms": "teatro,performance,musical,representación"
-            },
-            "amenity/toilets": {
-                "name": "Baños"
-            },
-            "amenity/townhall": {
-                "name": "Ayuntamiento",
-                "terms": "ayuntamiento,casa consistorial,edificio municipal,alcaldía,corporación,concejo, consistorio,cabildo"
-            },
-            "amenity/university": {
-                "name": "Universidad"
-            },
-            "barrier": {
-                "name": "Barrera"
-            },
-            "barrier/block": {
-                "name": "Bloque"
-            },
-            "barrier/bollard": {
-                "name": "Bolardo"
-            },
-            "barrier/cattle_grid": {
-                "name": "Barrera canadiense"
-            },
-            "barrier/city_wall": {
-                "name": "Muralla de la ciudad"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Barrera para bicicletas"
-            },
-            "barrier/ditch": {
-                "name": "Zanja"
-            },
-            "barrier/entrance": {
-                "name": "Entrada"
-            },
-            "barrier/fence": {
-                "name": "Cerca"
-            },
-            "barrier/gate": {
-                "name": "Puerta"
-            },
-            "barrier/hedge": {
-                "name": "Seto"
-            },
-            "barrier/kissing_gate": {
-                "name": "Portilla giratoria"
-            },
-            "barrier/lift_gate": {
-                "name": "Puerta levadiza"
-            },
-            "barrier/retaining_wall": {
-                "name": "Muro de contención"
-            },
-            "barrier/stile": {
-                "name": "Escalones"
-            },
-            "barrier/toll_booth": {
-                "name": "Peaje"
-            },
-            "barrier/wall": {
-                "name": "Pared"
-            },
-            "boundary/administrative": {
-                "name": "Límite administrativo"
-            },
-            "building": {
-                "name": "Edificio"
-            },
-            "building/apartments": {
-                "name": "Apartamentos"
-            },
-            "building/entrance": {
-                "name": "Entrada"
-            },
-            "building/house": {
-                "name": "Casa"
-            },
-            "entrance": {
-                "name": "Entrada"
-            },
-            "highway": {
-                "name": "Vía"
-            },
-            "highway/bridleway": {
-                "name": "Camino de herradura",
-                "terms": "camino de herradura,senda ecuestre,camino para caballos"
-            },
-            "highway/bus_stop": {
-                "name": "Parada de autobús"
-            },
-            "highway/crossing": {
-                "name": "Cruce peatonal",
-                "terms": "paso de peatones,paso de cebra"
-            },
-            "highway/cycleway": {
-                "name": "Senda ciclable"
-            },
-            "highway/footway": {
-                "name": "Senda peatonal",
-                "terms": "camino,boulevard,senda,sendero,carretera,vía,vial,riel,paso,pista,vereda,pasaje,calzada,travesía,avenida,bulevar,ronda,paseo,alameda,arboleda,derrotero,ramal,trocha,rastro,huella,costanilla,rúa,pasaje,callejón,pasadizo,arteria,corredera,gran vía"
-            },
-            "highway/mini_roundabout": {
-                "name": "Minirotonda"
-            },
-            "highway/motorway": {
-                "name": "Autopista"
-            },
-            "highway/motorway_junction": {
-                "name": "Cruce de autopista"
-            },
-            "highway/motorway_link": {
-                "name": "Enlace de autopista",
-                "terms": "salida de autopista,salida"
-            },
-            "highway/path": {
-                "name": "Camino"
-            },
-            "highway/pedestrian": {
-                "name": "Peatonal"
-            },
-            "highway/primary": {
-                "name": "Carretera primaria"
-            },
-            "highway/primary_link": {
-                "name": "Enlace a carretera primaria",
-                "terms": "salida"
-            },
-            "highway/residential": {
-                "name": "Calle urbana"
-            },
-            "highway/road": {
-                "name": "Carretera sin categoría conocida"
-            },
-            "highway/secondary": {
-                "name": "Carretera secundaria"
-            },
-            "highway/secondary_link": {
-                "name": "Enlace a carretera secundaria",
-                "terms": "salida"
-            },
-            "highway/service": {
-                "name": "Vía de servicio"
-            },
-            "highway/steps": {
-                "name": "Escaleras",
-                "terms": "escaleras,escalón,escalerilla,peldaños"
-            },
-            "highway/tertiary": {
-                "name": "Carretera local"
-            },
-            "highway/tertiary_link": {
-                "name": "Enlace a carretera local",
-                "terms": "salida"
-            },
-            "highway/track": {
-                "name": "Pista"
-            },
-            "highway/traffic_signals": {
-                "name": "Semáforos",
-                "terms": "farola,punto de luz,semáforo,iluminaria"
-            },
-            "highway/trunk": {
-                "name": "Carretera principal"
-            },
-            "highway/trunk_link": {
-                "name": "Enlace a carretera primaria",
-                "terms": "salida"
-            },
-            "highway/turning_circle": {
-                "name": "Círculo de giro"
-            },
-            "highway/unclassified": {
-                "name": "Carretera sin clasificación"
-            },
-            "historic": {
-                "name": "Lugar histórico"
-            },
-            "historic/archaeological_site": {
-                "name": "Sitio arqueológico"
-            },
-            "historic/boundary_stone": {
-                "name": "Mojón"
-            },
-            "historic/castle": {
-                "name": "Castillo"
-            },
-            "historic/memorial": {
-                "name": "Monumento"
-            },
-            "historic/monument": {
-                "name": "Monumento"
-            },
-            "historic/ruins": {
-                "name": "Ruinas"
-            },
-            "historic/wayside_cross": {
-                "name": "Crucero"
-            },
-            "historic/wayside_shrine": {
-                "name": "Humilladero"
-            },
-            "landuse": {
-                "name": "Uso del suelo"
-            },
-            "landuse/allotments": {
-                "name": "Huertos de ocio"
-            },
-            "landuse/basin": {
-                "name": "Cuenca "
-            },
-            "landuse/cemetery": {
-                "name": "Cementerio"
-            },
-            "landuse/commercial": {
-                "name": "de negocios"
-            },
-            "landuse/construction": {
-                "name": "Construcción"
-            },
-            "landuse/farm": {
-                "name": "Granja"
-            },
-            "landuse/farmyard": {
-                "name": "Tierras de cultivo"
-            },
-            "landuse/forest": {
-                "name": "Bosque"
-            },
-            "landuse/grass": {
-                "name": "Hierba"
-            },
-            "landuse/industrial": {
-                "name": "Industrial"
-            },
-            "landuse/meadow": {
-                "name": "Prado"
-            },
-            "landuse/orchard": {
-                "name": "Huerta"
-            },
-            "landuse/quarry": {
-                "name": "Cantera"
-            },
-            "landuse/residential": {
-                "name": "Urbano"
-            },
-            "landuse/vineyard": {
-                "name": "Viñedo"
-            },
-            "leisure": {
-                "name": "Ocio"
-            },
-            "leisure/garden": {
-                "name": "Jardín"
-            },
-            "leisure/golf_course": {
-                "name": "Campo de golf"
-            },
-            "leisure/marina": {
-                "name": "Marina"
-            },
-            "leisure/park": {
-                "name": "Parque",
-                "terms": "explanada,finca,bosque,jardín,hierba,campa,verde,terreno,pradera,prado,parque,lugar,patio,plaza,jardín de recreo, área recreativa,plaza,plazuela,"
-            },
-            "leisure/pitch": {
-                "name": "Cancha de deporte"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Campo de fútbol americano"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Diamante de Béisbol"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Cancha de Baloncesto"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Campo de fútbol"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Cancha de tenis"
-            },
-            "leisure/playground": {
-                "name": "Parque infantil"
-            },
-            "leisure/slipway": {
-                "name": "Grada"
-            },
-            "leisure/stadium": {
-                "name": "Estadio"
-            },
-            "leisure/swimming_pool": {
-                "name": "Piscina"
-            },
-            "man_made": {
-                "name": "Hecho por el hombre"
-            },
-            "man_made/lighthouse": {
-                "name": "Faro"
-            },
-            "man_made/pier": {
-                "name": "Embarcadero"
-            },
-            "man_made/survey_point": {
-                "name": "Vértice geodésico"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Planta depuradora de aguas",
-                "terms": "estación depuradora,depuradora de aguas residuales,planta de tratamiento de aguas,estación de tratamiento de aguas,Estación depuradora de aguas residuales,EDAR,PTAR"
-            },
-            "man_made/water_tower": {
-                "name": "Torre de agua"
-            },
-            "man_made/water_works": {
-                "name": "Trabajos hídricos"
-            },
-            "natural": {
-                "name": "Natural"
-            },
-            "natural/bay": {
-                "name": "Bahía"
-            },
-            "natural/beach": {
-                "name": "Playa"
-            },
-            "natural/cliff": {
-                "name": "Acantilado"
-            },
-            "natural/coastline": {
-                "name": "Línea de costa",
-                "terms": "costa"
-            },
-            "natural/glacier": {
-                "name": "Glaciar"
-            },
-            "natural/grassland": {
-                "name": "Pradera"
-            },
-            "natural/heath": {
-                "name": "Landa"
-            },
-            "natural/peak": {
-                "name": "Pico",
-                "terms": "cumbre,cima,cenit,cresta,pico,montaña,monte,promontorio,vértice,cúspide"
-            },
-            "natural/scrub": {
-                "name": "Matorral"
-            },
-            "natural/spring": {
-                "name": "Fuente o manantial"
-            },
-            "natural/tree": {
-                "name": "Árbol"
-            },
-            "natural/water": {
-                "name": "Lámina de agua"
-            },
-            "natural/water/lake": {
-                "name": "Lago",
-                "terms": "fiordo,estuario,bahía,ría"
-            },
-            "natural/water/pond": {
-                "name": "Balsa de agua",
-                "terms": "represa,laguna,ibón,piscina,balsa,embalse"
-            },
-            "natural/water/reservoir": {
-                "name": "Embalse"
-            },
-            "natural/wetland": {
-                "name": "Pantano"
-            },
-            "natural/wood": {
-                "name": "Bosque natural"
-            },
-            "office": {
-                "name": "Oficina"
-            },
-            "other": {
-                "name": "Otro"
-            },
-            "other_area": {
-                "name": "Otro"
-            },
-            "place": {
-                "name": "Lugar"
-            },
-            "place/city": {
-                "name": "Ciudad"
-            },
-            "place/hamlet": {
-                "name": "Aldea"
-            },
-            "place/island": {
-                "name": "Isla",
-                "terms": "archipiélago,atolón,barra,puntal,itsmo,cayo,isla,islote,banco,arrecife"
-            },
-            "place/isolated_dwelling": {
-                "name": "Vivienda aislada"
-            },
-            "place/locality": {
-                "name": "Paraje"
-            },
-            "place/town": {
-                "name": "Ciudad"
-            },
-            "place/village": {
-                "name": "Pueblo"
-            },
-            "power": {
-                "name": "Electricidad"
-            },
-            "power/generator": {
-                "name": "Planta de energía"
-            },
-            "power/line": {
-                "name": "Línea de alta tensión"
-            },
-            "power/pole": {
-                "name": "Poste eléctrico"
-            },
-            "power/sub_station": {
-                "name": "Subestación"
-            },
-            "power/tower": {
-                "name": "Torre de alta tensión"
-            },
-            "power/transformer": {
-                "name": "Transformador"
-            },
-            "railway": {
-                "name": "Ferrocarril"
-            },
-            "railway/abandoned": {
-                "name": "Ferrocarril abandonado"
-            },
-            "railway/disused": {
-                "name": "Ferrocarril en desuso"
-            },
-            "railway/level_crossing": {
-                "name": "Cruce a nivel",
-                "terms": "cruce,cruce de ferrocarril,cruce de tren,paso nivel"
-            },
-            "railway/monorail": {
-                "name": "Monorraíl "
-            },
-            "railway/platform": {
-                "name": "Andén"
-            },
-            "railway/rail": {
-                "name": "Raíl"
-            },
-            "railway/station": {
-                "name": "Estación de ferrocarril"
-            },
-            "railway/subway": {
-                "name": "Metro"
-            },
-            "railway/subway_entrance": {
-                "name": "Entrada de metro"
-            },
-            "railway/tram": {
-                "name": "Tranvía",
-                "terms": "tranvía"
-            },
-            "shop": {
-                "name": "Tienda"
-            },
-            "shop/alcohol": {
-                "name": "Licorería"
-            },
-            "shop/bakery": {
-                "name": "Panadería"
-            },
-            "shop/beauty": {
-                "name": "Salón de belleza"
-            },
-            "shop/beverages": {
-                "name": "Tienda de bebidas"
-            },
-            "shop/bicycle": {
-                "name": "Tienda de bicicletas"
-            },
-            "shop/books": {
-                "name": "Librería"
-            },
-            "shop/boutique": {
-                "name": "Boutique"
-            },
-            "shop/butcher": {
-                "name": "Carnicería"
-            },
-            "shop/car": {
-                "name": "Concesionario de automóviles"
-            },
-            "shop/car_parts": {
-                "name": "Tienda de componente de vehículos"
-            },
-            "shop/car_repair": {
-                "name": "Taller de reparación de vehículos"
-            },
-            "shop/chemist": {
-                "name": "Farmacia"
-            },
-            "shop/clothes": {
-                "name": "Tienda de ropa"
-            },
-            "shop/computer": {
-                "name": "Tienda de informática"
-            },
-            "shop/confectionery": {
-                "name": "Confitería"
-            },
-            "shop/convenience": {
-                "name": "Tienda de alimentación"
-            },
-            "shop/deli": {
-                "name": "Delicatessen"
-            },
-            "shop/department_store": {
-                "name": "Almacén"
-            },
-            "shop/doityourself": {
-                "name": "Tienda de bricolaje"
-            },
-            "shop/dry_cleaning": {
-                "name": "Tintorería"
-            },
-            "shop/electronics": {
-                "name": "Tienda de electrodomésticos"
-            },
-            "shop/fishmonger": {
-                "name": "Pescadería"
-            },
-            "shop/florist": {
-                "name": "Floristería"
-            },
-            "shop/furniture": {
-                "name": "Tienda de muebles"
-            },
-            "shop/garden_centre": {
-                "name": "Centro de jardinería"
-            },
-            "shop/gift": {
-                "name": "Tienda de regalos"
-            },
-            "shop/greengrocer": {
-                "name": "Frutería"
-            },
-            "shop/hairdresser": {
-                "name": "Peluquería"
-            },
-            "shop/hardware": {
-                "name": "Ferretería"
-            },
-            "shop/hifi": {
-                "name": "Tienda de sonido"
-            },
-            "shop/jewelry": {
-                "name": "Joyería"
-            },
-            "shop/kiosk": {
-                "name": "Kiosko"
-            },
-            "shop/laundry": {
-                "name": "Lavandería"
-            },
-            "shop/mall": {
-                "name": "Centro comercial"
-            },
-            "shop/mobile_phone": {
-                "name": "Tienda de teléfonos móviles"
-            },
-            "shop/motorcycle": {
-                "name": "Concesionario de motocicletas"
-            },
-            "shop/music": {
-                "name": "Tienda de música"
-            },
-            "shop/newsagent": {
-                "name": "Quiosco de prensa"
-            },
-            "shop/optician": {
-                "name": "Óptica"
-            },
-            "shop/outdoor": {
-                "name": "Tienda de actividades al aire libre"
-            },
-            "shop/pet": {
-                "name": "Tienda de mascotas"
-            },
-            "shop/shoes": {
-                "name": "Zapatería"
-            },
-            "shop/sports": {
-                "name": "Tienda de artículos deportivos"
-            },
-            "shop/stationery": {
-                "name": "Papelería"
-            },
-            "shop/supermarket": {
-                "name": "Supermercado",
-                "terms": "bazar,boutique,establecimiento, comercio, bazar, negocio, local, puesto, almacén, dependencia, trastienda, anexo,autoservicio,mercado, tienda de segunda mano,centro comercial,tienda,outlet,tienda de descuento,mall,galería comercial,hipermercado,grandes almacenes,cadena comercial,franquicia"
-            },
-            "shop/toys": {
-                "name": "Tienda de juguetes"
-            },
-            "shop/travel_agency": {
-                "name": "Agencia de viajes"
-            },
-            "shop/tyres": {
-                "name": "Tienda de neumáticos"
-            },
-            "shop/vacant": {
-                "name": "Local vacío"
-            },
-            "shop/variety_store": {
-                "name": "Tienda de variedades"
-            },
-            "shop/video": {
-                "name": "Videoclub"
-            },
-            "tourism": {
-                "name": "Turismo"
-            },
-            "tourism/alpine_hut": {
-                "name": "Cabaña alpina"
-            },
-            "tourism/artwork": {
-                "name": "Obra de arte"
-            },
-            "tourism/attraction": {
-                "name": "Atracción turística"
-            },
-            "tourism/camp_site": {
-                "name": "Lugar de acampada"
-            },
-            "tourism/caravan_site": {
-                "name": "Parque de carabanas"
-            },
-            "tourism/chalet": {
-                "name": "Cabaña o bungalow"
-            },
-            "tourism/guest_house": {
-                "name": "Pensión",
-                "terms": "B&B,Bed & Breakfast,cama y desayuno,hostal,pensión,albergue"
-            },
-            "tourism/hostel": {
-                "name": "Albergue"
-            },
-            "tourism/hotel": {
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "name": "Información"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Museo",
-                "terms": "exhibición,exposición,fundación,centro de arte,biblioteca,museo,archivo,teatro,galería,colección,pinacoteca,sala"
-            },
-            "tourism/picnic_site": {
-                "name": "Zona de picnic"
-            },
-            "tourism/theme_park": {
-                "name": "Parque temático"
-            },
-            "tourism/viewpoint": {
-                "name": "Vista panorámica"
-            },
-            "tourism/zoo": {
-                "name": "Zoo"
-            },
-            "waterway": {
-                "name": "Vía fluvial"
-            },
-            "waterway/canal": {
-                "name": "Canal"
-            },
-            "waterway/dam": {
-                "name": "Presa"
-            },
-            "waterway/ditch": {
-                "name": "Acequia"
-            },
-            "waterway/drain": {
-                "name": "Desagüe"
-            },
-            "waterway/river": {
-                "name": "Río",
-                "terms": "arroyo,curso,estuario,arroyuelo,riachuelo, tributario,afluente,curso de agua,río,curso fluvial"
-            },
-            "waterway/riverbank": {
-                "name": "Ribera de un río"
-            },
-            "waterway/stream": {
-                "name": "Arroyo",
-                "terms": "río,arroyo,riachuelo,torrente,torrentera,afluente,riachuelo,riacho,regato,rambla,cauce,lecho,uadi,wadi,jagüey"
-            },
-            "waterway/weir": {
-                "name": "Vertedero"
             }
         }
+
+        ids.forEach(function(id) {
+            var entity = context.hasEntity(id);
+            if (entity && entity.type === 'node') {
+                vertices[entity.id] = entity;
+                context.graph().parentWays(entity).forEach(function(entity) {
+                    addChildVertices(entity);
+                });
+            } else if (entity) {
+                addChildVertices(entity);
+            }
+        });
+
+        return vertices;
     }
-};
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    function draw(selection, vertices, klass, graph, zoom) {
+        var icons = {},
+            z;
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        if (zoom < 17) {
+            z = 0;
+        } else if (zoom < 18) {
+            z = 1;
+        } else {
+            z = 2;
+        }
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.fr = {
-    "modes": {
-        "add_area": {
-            "title": "Polygone",
-            "description": "Ajouter des parcs, des bâtiments, des lacs ou d'autres polygones à la carte.",
-            "tail": "Cliquez sur la carte pour ajouter un polygone tel qu'un parc, un lac ou un bâtiment."
-        },
-        "add_line": {
-            "title": "Ligne",
-            "description": "Les lignes peuvent être des autoroutes, des routes, des chemins ou encore des canaux.",
-            "tail": "Cliquez sur la carte pour ajouter une nouvelle ligne telle qu'une route ou un chemin."
-        },
-        "add_point": {
-            "title": "Point",
-            "description": "Les points peuvent être des restaurants, des monuments, ou encore des boîtes aux lettres.",
-            "tail": "Cliquez sur la carte pour ajouter un point tel qu'un restaurant ou un monument."
-        },
-        "browse": {
-            "title": "Navigation",
-            "description": "Naviguer ou zoomer sur la carte."
-        },
-        "draw_area": {
-            "tail": "Cliquez pour ajouter des nœuds au polygone. Cliquez sur le premier nœud pour terminer le polygone. "
-        },
-        "draw_line": {
-            "tail": " Cliquez pour ajouter des nœuds à la ligne. Cliquez sur d'autres lignes pour y connecter la ligne, et double-cliquez pour terminer la ligne."
+        var groups = selection.data(vertices, function(entity) {
+            return iD.Entity.key(entity);
+        });
+
+        function icon(entity) {
+            if (entity.id in icons) return icons[entity.id];
+            icons[entity.id] =
+                entity.hasInterestingTags() &&
+                context.presets().match(entity, graph).icon;
+            return icons[entity.id];
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Un point créé.",
-                "vertex": "Un nœud ajouté à une ligne."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Une ligne commencée.",
-                "area": "Un polygone commencé."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Une ligne continuée.",
-                "area": "Un polygone continué."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Modification annulée."
-        },
-        "change_tags": {
-            "annotation": "Attributs modifiés."
-        },
-        "circularize": {
-            "title": "Arrondir",
-            "description": {
-                "line": "Rendre circulaire cette ligne.",
-                "area": "Rendre circulaire ce polygone."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Ligne rendue circulaire.",
-                "area": "Polygone rendu circulaire."
-            },
-            "not_closed": "Cet élément ne peut pas être rendu circulaire car il ne boucle pas."
-        },
-        "orthogonalize": {
-            "title": "Orthogonaliser",
-            "description": "Rendre une forme orthogonale.",
-            "key": "Q",
-            "annotation": {
-                "line": "Ligne rendue orthogonale.",
-                "area": "Polygone rendu orthogonal."
-            },
-            "not_closed": "Cet élément ne peut être orthogonalisé car il ne forme pas de boucle."
-        },
-        "delete": {
-            "title": "Supprimer",
-            "description": "Supprime l'élément de la carte.",
-            "annotation": {
-                "point": "Point supprimé",
-                "vertex": "Nœud d'une ligne supprimé.",
-                "line": "Ligne supprimée.",
-                "area": "Polygone supprimé.",
-                "relation": "Relation supprimée.",
-                "multiple": "{n} objets supprimés."
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Joindre une ligne à un point.",
-                "vertex": "Joindre les noeuds à une ligne.",
-                "line": "Joindre les chemins ensemble.",
-                "area": "Joindre une ligne à un polygone."
+
+        function setClass(klass) {
+            return function(entity) {
+                this.setAttribute('class', 'node vertex ' + klass + ' ' + entity.id);
+            };
+        }
+
+        function setAttributes(selection) {
+            ['shadow','stroke','fill'].forEach(function(klass) {
+                var rads = radiuses[klass];
+                selection.selectAll('.' + klass)
+                    .each(function(entity) {
+                        var i = z && icon(entity),
+                            c = i ? 0.5 : 0,
+                            r = rads[i ? 3 : z];
+                        this.setAttribute('cx', c);
+                        this.setAttribute('cy', -c);
+                        this.setAttribute('r', r);
+                        if (i && klass === 'fill') {
+                            this.setAttribute('visibility', 'hidden');
+                        } else {
+                            this.removeAttribute('visibility');
+                        }
+                    });
+            });
+
+            selection.selectAll('use')
+                .each(function() {
+                    if (z) {
+                        this.removeAttribute('visibility');
+                    } else {
+                        this.setAttribute('visibility', 'hidden');
+                    }
+                });
+        }
+
+        var enter = groups.enter()
+            .append('g')
+            .attr('class', function(d) { return 'node vertex ' + klass + ' ' + d.id; });
+
+        enter.append('circle')
+            .each(setClass('shadow'));
+
+        enter.append('circle')
+            .each(setClass('stroke'));
+
+        // Vertices with icons get a `use`.
+        enter.filter(function(d) { return icon(d); })
+            .append('use')
+            .attr('transform', 'translate(-6, -6)')
+            .attr('xlink:href', function(d) { return '#' + icon(d) + '-12'; })
+            .attr('width', '12px')
+            .attr('height', '12px')
+            .each(setClass('icon'));
+
+        // Vertices with tags get a fill.
+        enter.filter(function(d) { return d.hasInterestingTags(); })
+            .append('circle')
+            .each(setClass('fill'));
+
+        groups
+            .attr('transform', iD.svg.PointTransform(projection))
+            .classed('shared', function(entity) { return graph.isShared(entity); })
+            .call(setAttributes);
+
+        groups.exit()
+            .remove();
+    }
+
+    function drawVertices(surface, graph, entities, filter, extent, zoom) {
+        var selected = siblingAndChildVertices(context.selectedIDs(), graph, extent),
+            wireframe = surface.classed('fill-wireframe'),
+            vertices = [];
+
+        for (var i = 0; i < entities.length; i++) {
+            var entity = entities[i],
+                geometry = entity.geometry(graph);
+
+            if (wireframe && geometry === 'point') {
+                vertices.push(entity);
+                continue;
             }
-        },
-        "disconnect": {
-            "title": "Séparer",
-            "description": "Séparer les lignes/contours l'un de l'autre.",
-            "key": "D",
-            "annotation": "Lignes non connectées.",
-            "not_connected": "Il n'y a pas ici de lignes/polygones à déconnecter."
-        },
-        "merge": {
-            "title": "Fusionner",
-            "description": "Fusionne ces lignes.",
-            "key": "C",
-            "annotation": "Fusionne les {n} ligne.",
-            "not_eligible": "Ces éléments ne peuvent pas être fusionnés.",
-            "not_adjacent": "Ces lignes ne peuvent pas être fusionnées car elles ne sont pas connectés."
-        },
-        "move": {
-            "title": "Déplacer",
-            "description": "Déplacer l'élément à un autre endroit.",
-            "key": "M",
-            "annotation": {
-                "point": "Point déplacé.",
-                "vertex": "Nœud d'une ligne déplacé.",
-                "line": "Ligne déplacée.",
-                "area": "Polygone déplacé.",
-                "multiple": "Plusieurs objets déplacés"
-            },
-            "incomplete_relation": "Cet élément ne peut pas être déplacé car il n'a pas été téléchargé dans son intégralité."
-        },
-        "rotate": {
-            "title": "Rotation",
-            "description": "Fait pivoter cet objet en fonction de son centroïde.",
-            "key": "R",
-            "annotation": {
-                "line": "Pivoter la ligne.",
-                "area": "Pivoter un polyone."
+
+            if (geometry !== 'vertex')
+                continue;
+
+            if (entity.id in selected ||
+                entity.hasInterestingTags() ||
+                entity.isIntersection(graph)) {
+                vertices.push(entity);
             }
-        },
-        "reverse": {
-            "title": "Inverser",
-            "description": "Inverse le sens d'une ligne.",
-            "key": "V",
-            "annotation": "Sens d'une ligne inversé."
-        },
-        "split": {
-            "title": "Couper",
-            "description": {
-                "line": "Divise la ligne en deux parties à l'emplacement du nœud.",
-                "area": "Couper le contour de ce polygone en deux.",
-                "multiple": "Divise la ligne ou les limites du polygone en deux parties à l'emplacement du nœud."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Coupe une ligne.",
-                "area": "Couper le contour d'un polygone.",
-                "multiple": "Couper {n} lignes/contour de polygone."
-            },
-            "not_eligible": "Les lignes ne peuvent pas être coupées à leurs extrémités.",
-            "multiple_ways": "Il y a trop de ligne à cet endroit pour pouvoir couper."
         }
-    },
-    "nothing_to_undo": "Rien à annuler.",
-    "nothing_to_redo": "Rien à refaire.",
-    "just_edited": "Vous venez de participer à OpenStreetMap !",
-    "browser_notice": "Les navigateurs supportés par cet éditeur sont : Firefox, Chrome, Safari, Opera et Internet Explorer (version 9 et supérieures). Pour éditer la carte, veuillez mettre à jour votre navigateur ou utiliser Potlatch 2.",
-    "view_on_osm": "Consulter dans OSM",
-    "zoom_in_edit": "Zoomer pour modifier la carte",
-    "logout": "Déconnexion",
-    "loading_auth": "Connexion à OpenStreetMap...",
-    "report_a_bug": "Signaler un bug",
-    "commit": {
-        "title": "Sauvegarder vos modifications",
-        "description_placeholder": "Description succinte de vos contributions",
-        "message_label": "Description de l'édition",
-        "upload_explanation": "{user} : les modifications apportées seront visibles par l'ensemble des services utilisant les données d'OpenStreetMap.",
-        "save": "Sauvegarder",
-        "cancel": "Annuler",
-        "warnings": "Attention",
-        "modified": "Modifié",
-        "deleted": "Supprimé",
-        "created": "Créé"
-    },
-    "contributors": {
-        "list": "Contributions réalisées par {users}",
-        "truncated_list": "Contributions réalisées par {users} et {count} autres personnes"
-    },
-    "geocoder": {
-        "title": "Trouver un emplacement",
-        "placeholder": "Trouver un endroit",
-        "no_results": "Impossible de localiser l'endroit nommé '{name}'"
-    },
-    "geolocate": {
-        "title": "Me localiser"
-    },
-    "inspector": {
-        "no_documentation_combination": "Aucune documentation n'est disponible pour cette combinaison de tag",
-        "no_documentation_key": "Aucune documentation n'est disponible pour cette clé",
-        "show_more": "Plus d'infornations",
-        "new_tag": "Nouvel attribut",
-        "view_on_osm": "Visualiser sur openstreetmap.org",
-        "editing_feature": "Édition de {feature}",
-        "additional": "Attributs complémentaires",
-        "choose": "Que souhaitez vous ajouter?",
-        "results": "{n} résultats pour {search}",
-        "reference": "Consulter sur le Wiki d'OpenStreetMap",
-        "back_tooltip": "Changer le type de l'objet "
-    },
-    "background": {
-        "title": "Fond de carte",
-        "description": "Paramètres du fond de carte",
-        "percent_brightness": "{opacity}% luminosité",
-        "fix_misalignment": "Corriger le décalage",
-        "reset": "réinitialiser"
-    },
-    "restore": {
-        "heading": "Vous avez des changements non sauvegardés.",
-        "description": "Vous avez des changements non sauvegardés d'une précédente édition. Souhaitez-vous restaurer ces changements ?",
-        "restore": "Restaurer",
-        "reset": "Réinitialiser"
-    },
-    "save": {
-        "title": "Sauvegarder",
-        "help": "Envoi des modifications au serveur OpenStreetMap afin qu'elles soient visibles par les autres contributeurs.",
-        "no_changes": "Aucune modification à sauvegarder",
-        "error": "Une erreur est survenue lors de l'enregistrement des données",
-        "uploading": "Envoi des modifications vers OpenStreetMap.",
-        "unsaved_changes": "Vous avez des modifications non enregistrées"
-    },
-    "splash": {
-        "welcome": "Bienvenue sur ID, l'éditeur en ligne d'OpenStreetMap",
-        "text": "Cette version {version} est une version de développement. Si vous souhaitez plus d'informations, veuillez consulter {website} ou {github} pour signaler un bug.",
-        "walkthrough": "Commencer le tutorial",
-        "start": "Editer"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "Vos dernières modifications n'ont pas été sauvées. Si vous changez de serveur de carte, celles-ci seront perdues. Êtes-vous sûr de vouloir changer de serveur de carte ?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Description",
-        "on_wiki": "{tag} sur le wiki.osm.org",
-        "used_with": "Utilisé avec {type}"
-    },
-    "validations": {
-        "untagged_point": "Point sans attribut",
-        "untagged_line": "Ligne sans aucun attribut",
-        "untagged_area": "Polygone sans aucun attribut",
-        "many_deletions": "Vous allez supprimer {n} objets. Êtes-vous sûr de vouloir faire-cela ? Ces éléments seront supprimés de la carte visible sur openstreetmap.org.",
-        "tag_suggests_area": "Cet attribut {tag} suppose que cette ligne devrait être un polygone, or ce n'est pas le cas",
-        "deprecated_tags": "Attributs obsolètes : {tags}"
-    },
-    "zoom": {
-        "in": "Zoomer",
-        "out": "Dézoomer"
-    },
-    "cannot_zoom": "Impossible de zoomer plus en arrière dans ce mode.",
-    "gpx": {
-        "local_layer": "Fichier GPX personnel",
-        "drag_drop": "Glisser et déposer un fichier .gpx sur la page"
-    },
-    "help": {
-        "title": "Aide",
-        "help": "#Aide\n\n Ceci est un éditeur pour [OpenStreetMap](http://www.openstreetmap.org/), la carte du\n monde gratuite et éditable. Vous pouvez l'utiliser pour ajouter ou corriger les données\n dans votre zone, et participer ainsi à la réalisation d'une carte du monde libre de droits.\n\n Les modifications que vous réaliserez seront visibles de tout le monde. Pour commencer\n à éditer, vous devez créer un [compte gratuit sur OpenStreetMap](https://www.openstreetmap.org/user/new).\n\n [iD editor](http://ideditor.com/) est un projet collaboratif dont le [code source est\n disponible sur GitHub](https://github.com/systemed/iD).\n",
-        "editing_saving": "# Édition et sauvegarde\n\nCet éditeur est conçu pour fonctionner en ligne - vous y accédez en ce moment-même au travers d'un site web.\n\n# Sélectionner des éléments\n\nPour sélectionner un élément de la carte, comme un route ou un point d'intérêt, cliquez dessus. Cela mettra en valeur l'élément sélectionné, ouvrira un panneau descriptif et un menu des actions possibles.\n\nPour sélectionner plusieurs éléments ensemble, maintenez la touche 'Shift' (majuscule) appuyée, cliquez et déplacez la souris sur la carte. Tous les éléments situés dans le cadre qui apparait seront sélectionnés.\n\n# Sauvegarder les modifications\n\nLes modifications apportées à la carte sont stockées localement tant qu'elles ne sont pas envoyées vers le serveur. En cas d'erreur, pas d'inquiétudes : vous pouvez annuler une action en cliquant sur 'annuler' et rétablir en cliquant sur 'rétablir'.\n\nCliquez sur 'enregistrer' pour terminer un ensemble de modifications - par exemple, si vous avez complété un secteur de votre ville et souhaitez commencer à travailler sur un autre secteur. Vous aurez la possibilité de récapituler les modifications effectuées, et l'éditeur peut faire d'utiles suggestions ou vous avertir si quoi que ce soit dans les modifications semble poser problème.\n\nSi tout vous semble être correct, vous pouvez indiquer en quelques lignes en quoi consistent les modifications. Cliquez ensuite sur 'enregistrer' pour envoyer les changements sur [OpenStreetMap.org](http://www.openstreetmap.org/), où elles seront visibles par tous, et modifiables et améliorables par d'autres utilisateurs.\n\nSi vous n'avez pas terminé vos modifications et souhaitez vous y remettre plus tard, vous pouvez quitter la fenêtre de l'éditeur et revenir plus tard (avec le même ordinateur et le même navigateur), vous retrouverez votre travail là où vous l'avez quitté.\n",
-        "roads": "# Routes\n\nVous pouvez créer, mettre à jour et supprimer des routes à l'aide de l'éditeur. Il peut s'agir de tous types de routes : chemins, autoroutes, pistes cyclables, et plus encore : toute voie régulièrement fréquentée peut être cartographiée.\n\n### Sélection\n\nCliquez sur une route pour la sélectionner. Elle sera alors surlignée et un menu 'outils' apparaîtra sur la carte, ainsi qu'une barre d'état affichant des informations supplémentaires.\n\n### Modification\n\nIl est fréquent que les routes ne soient pas bien alignées avec l'imagerie satellite ou avec les traces GPS. Vous pouvez ajuster et corriger la position des routes.\n\nCliquez d'abord sur la route à modifier. Elle est alors surlignée et des points de contrôle apparaissent qui permettent de corriger sa position. Pour ajouter des points de contrôle, double-cliquez sur un segment de la route sans nœuds.\n\nSi la route est connectée à une autre, mais que la connexion est incorrecte, vous pouvez déplacer un de ses points de contrôle sur la seconde route pour corriger la connexion. Des routes bien connectées sont essentielles pour la carte et pour fournir de bonnes informations d'itinéraire.\n\nVous pouvez également cliquer sur l'outil 'Déplacer' ou appuyer sur le raccourci `M` pour déplacer l'ensemble de la route en une fois, puis cliquer de nouveau une fois pour sauvegarder le déplacement.\n\n### Suppression\n\nSi une route est complètement fausse - c'est-à-dire qu'elle n'apparaît pas sur l'image satellite, et que dans l'idéal, vous avez confirmé qu'elle n'existe pas sur le terrain - vous pouvez la supprimer, ce qui l'enlèvera de la carte. Faites attention lorsque vous supprimez des éléments : comme n'importe quelle autre modification, le résultat sera visible par tout le monde sur la carte. Les photos aériennes sont souvent dépassées et la route est peut-être tout simplement récente.\n\nPour supprimer une route, sélectionnez-la en cliquant dessus, puis cliquez sur l'icône 'Poubelle' ou appuyez sur la touche 'Suppr'.\n\n### Création\n\nVous avez constaté qu'une route de votre connaissance manque à la carte ? Cliquez sur l'icône 'Ligne' en haut à gauche de l'éditeur ou appuyez sur le raccourci `2` pour dessiner une route. \n\nPour commencer le dessin, cliquez sur l'endroit où commence la route. Si elle commence à l'embranchement d'une autre route, commencez le dessin en cliquant à l'endroit de la connexion.\n\nCliquez ensuite régulièrement le long de la route pour ajouter des points, en utilisant l'imagerie satellite comme référence. Si la route que vous dessinez croise une autre route, connectez les deux en cliquant à l'endroit de l'intersection. Lorsque vous avez terminé le dessin, double-cliquez ou appuyez sur 'Entrée'.\n",
-        "gps": "# GPS\n\nLes traces GPS sont les données les plus sûres pour OpenStreetMap. Cet\néditeur supporte les traces au format `.gpx`. Vous pouvez enregistrer ce\ntype de traces avec un grand nombre d'applications pour smartphones\nainsi qu'avec certains GPS de randonnées.\n\nPour plus d'informations sur la manière de relever des traces GPS, vous\npouvez consulter le guide [Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/).\n\nPour utiliser un relevé GPX, il vous suffit de glisser-déposer le fichier GPX\ndirectement sur la carte. S'il est reconnu, il sera ajouté sur la carte sous\nla forme d'une ligne vert clair. Cliquez sur le menu \"Configuration du fond\nde carte\" à gauche pour activer et désactiver l'affichage de la trace, ou\nencore pour centrer le zoom sur la trace.\n\nLes traces GPX ne sont pas directement enregistrée dans OpenStreetMap.\nUne fois visible, il vous incombe de décalquer les routes empruntées à\npartir de ces traces.\n",
-        "imagery": "# Fond de carte\n\nLes photos aériennes sont une source importantes pour cartographier. Une\ncompilation de photos prises d'avion, imageries satellites, et autres sources\nlibre d'utilisation sont disponibles dans l'éditeur dans le menu \"Configuration\ndu fond de carte\" à gauche.\n\nPar défaut, l'imagerie aérienne de [Bing Maps](http://www.bing.com/maps/)\nest utilisée dans l'éditeur, mais lorsque vous zoomez sur la carte, d'autres sources\nsont parfois disponibles dans certaines zones. Certains pays tels que la France, les\nEtats-Unis ou le Danemark disposent d'image de très haute qualité sur certaines\nzones.\n\nCertaines images sont parfois décalées par rapport aux données, notamment\nà cause d'un mauvais calibrage. Si vous voyez de nombreux éléments tous décalés\npar rapport au fond de carte, ne déplacez pas immédiatement ces éléments. A la\nplace, vous pouvez ajuster le fond de carte afin qu'il soit aligné aux données en\ncliquant sur \"Corriger l'alignement\" en bas de l'interface de configuration du fond\nde carte.\n",
-        "addresses": "# Adresses\n\nLes adresses sont des informations très utiles.\n\nDans OpenStreetMap, les adresses sont enregistrées comme attributs des\nbâtiments le long des routes.\n\nVous pouvez ajouter une adresse sur les éléments modélisés avec un polygone\net sur ceux modélisés avec des points. La meilleure source de données afin\nde cartographier les adresses reste le relevé sur le terrain, car la copie de\ndonnées à partir de contenu non libre de droits est interdite.\n",
-        "inspector": "# Utilisation de l'inspecteur\n\nL'inspecteur est l'élément de l'interface utilisateur qui apparaît à droite de la page quand un élément est sélectionné. Il permet de mettre à jour les détails le concernant.\n\n### Sélectionner un type d'élément\n\nAprès ajout d'un point, d'une ligne ou d'un polygone, vous pouvez indiquer de quel type d'élément il s'agit : une route principale ou résidentielle, un supermarché, un café... L'inspecteur affiche des boutons pour les éléments les plus communs, et vous pouvez trouver les autres à l'aide du formulaire de recherche.\n\nCliquez sur 'i' dans le coin en bas à droite des boutons pour en savoir plus sur l'élément dont il s'agit. Cliquez sur le bouton pour choisir cet élément.\n\n### Utiliser les formulaires et les tags\n\nAprès avoir choisi le type d'élément, ou lorsque vous sélectionnez un élément dont la nature est déjà indiquée, l'inspecteur affiche des champs comprenant des détails sur l'élément concerné - adresse, nom, etc.\n\nEn-dessous des champs, vous pouvez cliquer sur les icônes pour ajouter des détails supplémentaires, comme des informations issues de [Wikipedia](http://www.wikipedia.org/), des renseignements sur l'accès handicapé, ou plus encore.\n\nEn bas de l'inspecteur, cliquez sur 'attributs supplémentaires' pour ajouter des attributs arbitraires à l'élément. [Taginfo](http://taginfo.openstreetmap.org/) est une excellente ressource pour en savoir plus sur les combinaisons d'attributs les plus fréquentes.\n\nLes changements que vous effectuez dans l'inspecteur sont immédiatement visibles sur la carte. Vous pouvez les annulez dès que vous le souhaitez en cliquant sur 'annuler'. \n\n### Fermer l'inspecteur\n\nPour fermer l'inspecteur, vous pouvez cliquer sur le bouton 'fermer' en haut à droite, appuyer sur Échap ou encore cliquer sur la carte.\n",
-        "buildings": "# Bâtiments\n\nOpenStreetMap est la plus grande base de données au monde sur le bâti.\nVous pouvez améliorer cette base de données.\n\n### Sélection\n\nVous pouvez sélectionner un bâtiment en cliquant sur son contour. Le bâtiment\nsera ainsi surligné, une boîte à outils apparaîtra, ainsi qu'un panneau contenant\nles informations sur le bâtiment.\n\n### Correction\n\nParfois, un bâtiment est mal placé ou possède des informations incorrectes.\n\nPour déplacer un bâtiment dans son intégralité, sélectionnez-le, puis cliquez\nsur l'outil \"Déplacer\". Déplacez ensuite la souris, puis cliquez lorsque le\nbâtiment est placé correctement.\n\nPour corriger la forme d'un bâtiment, glissez-déposez les points du contour\ndu bâtiment.\n\n### Création\n\nL'une des problématiques concernant les bâtiments est qu'ils peuvent être\nreprésentés à la fois par un point ou par un polygone. La règle d'or est de\n_dessiner les bâtiments avec des polygone dès que c'est possible_, et de\ncartographier les entreprises, équipements, adresses, et tout ce qui ne\ndépend pas directement de la construction comme des points placés\nau sein de la forme du bâtiment.\n\nDessinez un bâtiment en cliquant sur le bouton \"Polygone\" en haut à gauche\nde l'interface, ajoutez des points en cliquant sur la carte et terminez la forme\nen cliquant sur le premier point, ou en appuyant sur la touche \"Entrée\" de\nvotre clavier.\n\n### Suppression\n\nSi un bâtiment dessiné est inexistant (par exemple s'il n'existe pas sur l'image\nsatellite et que vous avez vérifié sur place que ce n'était pas une construction\nrécente), vous pouvez le supprimer. Attention avant de supprimer un élément ;\ntout le monde peut constater que vous l'avez supprimé, et il peut s'agir d'un\nélément plus récent que l'image satellite.\n\nVous pouvez supprimer un bâtiment en le sélectionnant, puis en cliquant sur\nl'icône représentant une poubelle, ou en appuyant sur la touche \"Suppr\" de\nvotre clavier.\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "La vue principale montre les données OpenStreetMap par dessus un fond de carte. Vous pouvez naviguer au sein de la vue en faisant du cliquer-glisser, ou avec les barres de navigation, comme n'importe quelle carte sur Internet. **Faites glisser la carte !**",
-            "select": "Les éléments cartographiques sont de trois types : les points, les lignes et les polygones. Chaque élément peut être sélectionné en cliquant dessus. **Cliquez sur le point pour le sélectionner.**",
-            "header": "L'entête nous montre le type d'élément.",
-            "pane": "Lorsqu'un élément est sélectionné, l'éditeur d'éléments est affiché. L'entête nous indique le type d'élément et le panneau principal nous montre les attributs de l'élément, tels que son nom et son adresse. **Fermez l'éditeur d'éléments en cliquant sur le bouton de fermeture en haut à droite.**"
-        },
-        "points": {
-            "add": "Des points peuvent être utilisés pour représenter des éléments comme des magasins, restaurants ou monuments. Ils indiquent une position précise et décrivent ce qu'il y a à cet endroit. **Cliquez sur le bouton \"Point\" pour ajouter un point.**",
-            "place": "Le point peut être placé en cliquant sur la carte. **Placer le point sur le dessus du bâtiment.**",
-            "search": "De nombreux éléments peuvent être représentés par des points. Le point que vous venez d'ajouter est un café (Cafe). **Cherchez \"Cafe\".**",
-            "choose": "**Sélectionnez \"Cafe\" dans le tableau.**",
-            "describe": "Le point est désormais marqué comme étant un café. Nous pouvons ajouter davantage d'informations grâce à l'éditeur d'élément. **Ajoutez un nom au café.**",
-            "close": "L'éditeur d'éléments peut être fermé en cliquant sur le bouton de fermeture. **Fermez l'éditeur d'éléments.**",
-            "reselect": "Souvent, des points existent déjà, mais contiennent des erreurs ou sont incomplets. Vous pouvez éditer des points déjà existants. **Sélectionnez le point que vous venez de créer.*",
-            "fixname": "**Modifier le nom et fermez l'éditeur d'éléments.**",
-            "reselect_delete": "Tous les éléments de la carte peuvent être supprimés. **Cliquez sur le point que vous venez de créer.**",
-            "delete": "Le menu autour du point contient des opérations que vous pouvez lui appliquer, notamment sa suppression. **Supprimez le point.**"
-        },
-        "areas": {
-            "add": "Les polygones permettent de détailler plus précisément des éléments cartographiques. Ils permettent de renseigner les limites géographiques d'un élément. Les polygones peuvent être utiliser pour décrire les mêmes éléments que les points, et sont souvent à privilégier. **Cliquez sur le bouton \"Polygone\" pour ajouter un nouveau polygone.**",
-            "corner": "Les polygones sont dessinés en plaçant des nœuds l'un après l'autre. **Ajoutez un premier nœud sur un coin de l'aire de jeu.**",
-            "place": "Dessinez le polygone en ajoutant des nœuds. Terminez le polygone en cliquant sur le nœud de départ. **Dessinez un polygone pour l'aire de jeu.**",
-            "search": "**Recherchez \"Aire de jeu\" (Playground).**",
-            "choose": "**Sélectionnez \"Aire de jeu\" (Playground) dans le tableau.**",
-            "describe": "**Ajouter un nom, et fermez l'éditeur d'éléments.**"
-        },
-        "lines": {
-            "add": "Les lignes sont utilisées pour représenter des éléments tels que des routes, des chemins de fer ou des rivières. **Cliquez sur le bouton \"Ligne\" pour ajouter une nouvelle ligne.**",
-            "start": "**Commencez la ligne en cliquant sur l'extrémité de la route.**",
-            "intersect": "Cliquez pour ajouter des nœuds à la ligne.Si nécessaire, Vous pouvez déplacer la carte pendant le dessin. Les routes, comme d'autres types de lignes, font partie d'un réseau plus large : il est important que ces lignes soient correctement connectées afin que les applications de \"routing\" fonctionnent. **Cliquez sur Flower Street pour créer une intersection qui connecte les deux lignes.**",
-            "finish": "Les lignes peuvent être terminées en cliquant une seconde fois sur le dernier nœud. **Terminez le dessin de la route**",
-            "road": "**Sélectionnez \"Route\" dans le tableau.**",
-            "residential": "Il y a différent types de routes, le plus commun est \"Résidentielle\" (Residential). **Sélectionnez le type \"Résidentielle\".**",
-            "describe": "**Donnez un nom à la rue et fermez l'éditeur d'éléments.**",
-            "restart": "La route nécessite d'être interconnectée avec Flower Street."
-        },
-        "startediting": {
-            "help": "Plus d'informations et ce tutorial sont disponibles ici.",
-            "save": "N'oubliez pas de sauver régulièrement vos modifications !",
-            "start": "Commencer à cartographier !"
+
+        surface.select('.layer-hit').selectAll('g.vertex.vertex-persistent')
+            .filter(filter)
+            .call(draw, vertices, 'vertex-persistent', graph, zoom);
+
+        drawHover(surface, graph, extent, zoom);
+    }
+
+    function drawHover(surface, graph, extent, zoom) {
+        var hovered = hover ? siblingAndChildVertices([hover.id], graph, extent) : {};
+
+        surface.select('.layer-hit').selectAll('g.vertex.vertex-hover')
+            .call(draw, d3.values(hovered), 'vertex-hover', graph, zoom);
+    }
+
+    drawVertices.drawHover = function(surface, graph, _, extent, zoom) {
+        if (hover !== _) {
+            hover = _;
+            drawHover(surface, graph, extent, zoom);
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Accès",
-                "types": {
-                    "access": "Général",
-                    "foot": "À pied",
-                    "motor_vehicle": "Véhicules motorisés",
-                    "bicycle": "Vélos",
-                    "horse": "Cavaliers"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Autorisé",
-                        "description": "Accès autorisé par servitude de passage"
-                    },
-                    "no": {
-                        "title": "Interdit",
-                        "description": "Accès interdit au public"
-                    },
-                    "permissive": {
-                        "title": "Accès permis",
-                        "description": "Accès laissé libre par le propriétaire, révocable à tout moment"
-                    },
-                    "private": {
-                        "title": "Privé",
-                        "description": "Accès autorisé sur demande au propriétaire"
-                    },
-                    "designated": {
-                        "title": "Restreint à certains types de véhicules",
-                        "description": "Accès autorisé par des panneaux ou par une réglementation locale"
-                    },
-                    "destination": {
-                        "title": "Interdit sauf riverains",
-                        "description": "Circulation interdite, sauf pour accéder aux zones désservies"
-                    }
-                }
-            },
-            "address": {
-                "label": "Adresse",
-                "placeholders": {
-                    "housename": "Nom du bâtiment",
-                    "number": "123",
-                    "street": "Rue",
-                    "city": "Ville"
-                }
-            },
-            "admin_level": {
-                "label": "Niveau administratif"
-            },
-            "aeroway": {
-                "label": "Type"
-            },
-            "amenity": {
-                "label": "Type"
-            },
-            "atm": {
-                "label": "Distributeur de billets"
-            },
-            "barrier": {
-                "label": "Type"
-            },
-            "bicycle_parking": {
-                "label": "Type"
-            },
-            "building": {
-                "label": "Bâtiment "
-            },
-            "building_area": {
-                "label": "Bâtiment"
-            },
-            "building_yes": {
-                "label": "Bâtiment"
-            },
-            "capacity": {
-                "label": "Capacité"
-            },
-            "cardinal_direction": {
-                "label": "Sens"
-            },
-            "clock_direction": {
-                "label": "Sens",
-                "options": {
-                    "clockwise": "Sens horaire",
-                    "anticlockwise": "Sens anti-horaire"
-                }
-            },
-            "collection_times": {
-                "label": "Horaires de collecte"
-            },
-            "construction": {
-                "label": "Type"
-            },
-            "country": {
-                "label": "Pays"
-            },
-            "crossing": {
-                "label": "Type"
-            },
-            "cuisine": {
-                "label": "Cuisine"
-            },
-            "denomination": {
-                "label": "Dénomination "
-            },
-            "denotation": {
-                "label": "Signification"
-            },
-            "elevation": {
-                "label": "Altitude"
-            },
-            "emergency": {
-                "label": "Urgence"
-            },
-            "entrance": {
-                "label": "Type"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Prix"
-            },
-            "highway": {
-                "label": "Type"
-            },
-            "historic": {
-                "label": "Type"
-            },
-            "internet_access": {
-                "label": "Accès Internet",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Par câble",
-                    "terminal": "Ordinateur"
-                }
-            },
-            "landuse": {
-                "label": "Type"
-            },
-            "lanes": {
-                "label": "Lignes"
-            },
-            "layer": {
-                "label": "Couche"
-            },
-            "leisure": {
-                "label": "Type"
-            },
-            "levels": {
-                "label": "Niveaux"
-            },
-            "man_made": {
-                "label": "Type"
-            },
-            "maxspeed": {
-                "label": "Vitesse maximale autorisée"
-            },
-            "name": {
-                "label": "Nom"
-            },
-            "natural": {
-                "label": "Nature"
-            },
-            "network": {
-                "label": "Réseau"
-            },
-            "note": {
-                "label": "Note"
-            },
-            "office": {
-                "label": "Type"
-            },
-            "oneway": {
-                "label": "Sens unique"
-            },
-            "oneway_yes": {
-                "label": "Sens unique"
-            },
-            "opening_hours": {
-                "label": "Heures"
-            },
-            "operator": {
-                "label": "Opérateur"
-            },
-            "park_ride": {
-                "label": "Parking-relais"
-            },
-            "parking": {
-                "label": "Type"
-            },
-            "phone": {
-                "label": "Téléphone "
-            },
-            "place": {
-                "label": "Type"
-            },
-            "power": {
-                "label": "Type"
-            },
-            "railway": {
-                "label": "Type"
-            },
-            "ref": {
-                "label": "Référence"
-            },
-            "religion": {
-                "label": "Religion",
-                "options": {
-                    "christian": "Chrétienne",
-                    "muslim": "Islamique",
-                    "buddhist": "Bouddhiste",
-                    "jewish": "Juive",
-                    "hindu": "Hindouiste",
-                    "shinto": "Shintoïste",
-                    "taoist": "Taoïste"
-                }
-            },
-            "service": {
-                "label": "Type"
-            },
-            "shelter": {
-                "label": "Abri"
-            },
-            "shop": {
-                "label": "Type"
-            },
-            "source": {
-                "label": "Source"
-            },
-            "sport": {
-                "label": "Sport"
-            },
-            "structure": {
-                "label": "Structure",
-                "options": {
-                    "bridge": "Pont",
-                    "tunnel": "Tunnel",
-                    "embankment": "Remblai",
-                    "cutting": "Tranchée"
-                }
-            },
-            "supervised": {
-                "label": "Supervisé"
-            },
-            "surface": {
-                "label": "Surface"
-            },
-            "tourism": {
-                "label": "Type"
-            },
-            "tracktype": {
-                "label": "Type"
-            },
-            "water": {
-                "label": "Type"
-            },
-            "waterway": {
-                "label": "Type"
-            },
-            "website": {
-                "label": "Site Internet"
-            },
-            "wetland": {
-                "label": "Type"
-            },
-            "wheelchair": {
-                "label": "Accès en fauteuil roulant"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Type"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Aviation"
-            },
-            "aeroway/aerodrome": {
-                "name": "Aéroport",
-                "terms": "avion, aéroport, aérodrome, aeroclub"
-            },
-            "aeroway/helipad": {
-                "name": "Héliport",
-                "terms": "hélicoptère, hélisurface, héliport"
-            },
-            "amenity": {
-                "name": "Équipements"
-            },
-            "amenity/bank": {
-                "name": "Banque",
-                "terms": "coffre, dépôt, économies, compte, épargne, trésorerie, caisse, banque"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Banc"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Parking à vélos "
-            },
-            "amenity/bicycle_rental": {
-                "name": "Location de vélos"
-            },
-            "amenity/cafe": {
-                "name": "Café",
-                "terms": "café, salon de thé"
-            },
-            "amenity/cinema": {
-                "name": "Cinéma",
-                "terms": "cinéma, film, ciné, cinématographe, salle obscure, projection "
-            },
-            "amenity/courthouse": {
-                "name": "Tribunal"
-            },
-            "amenity/embassy": {
-                "name": "Embassade"
-            },
-            "amenity/fast_food": {
-                "name": "Fast Food"
-            },
-            "amenity/fire_station": {
-                "name": "Caserne de pompiers"
-            },
-            "amenity/fuel": {
-                "name": "Station service"
-            },
-            "amenity/grave_yard": {
-                "name": "Cimetière"
-            },
-            "amenity/hospital": {
-                "name": "Hôpital",
-                "terms": "clinique, CHU, centre hospitalier, hôpital, infirmerie, hospice, cabinet, maison de repos, urgences, soins"
-            },
-            "amenity/library": {
-                "name": "Bibliothèque"
-            },
-            "amenity/marketplace": {
-                "name": "Place de marché"
-            },
-            "amenity/parking": {
-                "name": "Parking"
-            },
-            "amenity/pharmacy": {
-                "name": "Pharmacie"
-            },
-            "amenity/place_of_worship": {
-                "name": "Lieu de culte",
-                "terms": "église, chapelle, mosquée, synagogue, espace prière, cathédrale, sanctuaire, temple"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Église",
-                "terms": "église, chapelle, mosquée, synagogue, espace prière, cathédrale, sanctuaire, temple"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Cynagogue",
-                "terms": "juif, synagogue"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Mosquée",
-                "terms": "musulman, mosquée"
-            },
-            "amenity/police": {
-                "name": "Poste de police",
-                "terms": "police, gendarmerie, forces de l'ordre, flics, poulets, bleus"
-            },
-            "amenity/post_box": {
-                "name": "Boîte aux lettres",
-                "terms": "boîte aux lettres, poste, la poste"
-            },
-            "amenity/post_office": {
-                "name": "Bureau de poste"
-            },
-            "amenity/pub": {
-                "name": "Pub"
-            },
-            "amenity/restaurant": {
-                "name": "Restaurant",
-                "terms": "bar, cafétéria, café, restaurant, restauration, snack, fast-food, brasserie, distributeur, sandwiches"
-            },
-            "amenity/school": {
-                "name": "École",
-                "terms": "école, maternelle, collège, université, faculté, fac, institut, apprentissage, formation, cours"
-            },
-            "amenity/swimming_pool": {
-                "name": "Piscine"
-            },
-            "amenity/telephone": {
-                "name": "Téléphone"
-            },
-            "amenity/theatre": {
-                "name": "Théatre",
-                "terms": "théâtre, pièce, représentation, séance"
-            },
-            "amenity/toilets": {
-                "name": "Toilettes"
-            },
-            "amenity/townhall": {
-                "name": "Mairie",
-                "terms": "mairie, administration"
-            },
-            "amenity/university": {
-                "name": "Université"
-            },
-            "barrier": {
-                "name": "Barrière"
-            },
-            "barrier/block": {
-                "name": "Bloc"
-            },
-            "barrier/bollard": {
-                "name": "Poteau"
-            },
-            "barrier/cattle_grid": {
-                "name": "Grille à bétail"
-            },
-            "barrier/city_wall": {
-                "name": "Mur d'enceinte"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Barrière à vélos"
-            },
-            "barrier/ditch": {
-                "name": "Fossé"
-            },
-            "barrier/entrance": {
-                "name": "Ouverture"
-            },
-            "barrier/fence": {
-                "name": "Clôture"
-            },
-            "barrier/gate": {
-                "name": "Portail"
-            },
-            "barrier/hedge": {
-                "name": "Haie"
-            },
-            "barrier/kissing_gate": {
-                "name": "Portillon à chicane mobile"
-            },
-            "barrier/lift_gate": {
-                "name": "Barrière levante"
-            },
-            "barrier/retaining_wall": {
-                "name": "Mur de soutènement"
-            },
-            "barrier/stile": {
-                "name": "Échalier"
-            },
-            "barrier/toll_booth": {
-                "name": "Péage"
-            },
-            "barrier/wall": {
-                "name": "Mur"
-            },
-            "boundary/administrative": {
-                "name": "Frontière administrative"
-            },
-            "building": {
-                "name": "Bâtiment"
-            },
-            "building/apartments": {
-                "name": "Résidence"
-            },
-            "building/entrance": {
-                "name": "Entrée"
-            },
-            "building/house": {
-                "name": "Maison"
-            },
-            "entrance": {
-                "name": "Entrée"
-            },
-            "highway": {
-                "name": "Route"
-            },
-            "highway/bridleway": {
-                "name": "Sentier équestre",
-                "terms": "piste cavalière, sentier équestre, sentier pour chevaux"
-            },
-            "highway/bus_stop": {
-                "name": "Arrêt de bus"
-            },
-            "highway/crossing": {
-                "name": "Passage piéton",
-                "terms": "passage piéton, zebra"
-            },
-            "highway/cycleway": {
-                "name": "Voie cyclable"
-            },
-            "highway/footway": {
-                "name": "Voie piétonne",
-                "terms": "passage, chemin, route, rue, autoroute, avenue, boulevard, chaussée, chemin de fer, rails, piste, allée, sentier, voie"
-            },
-            "highway/mini_roundabout": {
-                "name": "Mini rond-point"
-            },
-            "highway/motorway": {
-                "name": "Autoroute"
-            },
-            "highway/motorway_junction": {
-                "name": "Bretelle d'autoroute"
-            },
-            "highway/motorway_link": {
-                "name": "Bretelle d'autoroute",
-                "terms": "rampe"
-            },
-            "highway/path": {
-                "name": "Chemin non carrossable"
-            },
-            "highway/pedestrian": {
-                "name": "Piétonnier"
-            },
-            "highway/primary": {
-                "name": "Route principale"
-            },
-            "highway/primary_link": {
-                "name": "Voie d'accès à une route primaire",
-                "terms": "rampe"
-            },
-            "highway/residential": {
-                "name": "Route résidentielle"
-            },
-            "highway/road": {
-                "name": "Voie de type inconnu"
-            },
-            "highway/secondary": {
-                "name": "Route secondaire"
-            },
-            "highway/secondary_link": {
-                "name": "Voie d'accès à une route secondaire",
-                "terms": "rampe"
-            },
-            "highway/service": {
-                "name": "Route d'accès"
-            },
-            "highway/steps": {
-                "name": "Escalier",
-                "terms": "marches, escalier"
-            },
-            "highway/tertiary": {
-                "name": "Route tertiaire"
-            },
-            "highway/tertiary_link": {
-                "name": "Voie d'accès à une route tertiaire",
-                "terms": "rampe"
-            },
-            "highway/track": {
-                "name": "Piste carrossable"
-            },
-            "highway/traffic_signals": {
-                "name": "Feux tricolores",
-                "terms": "feux, feu rouge, feu tricolore"
-            },
-            "highway/trunk": {
-                "name": "Voie rapide"
-            },
-            "highway/trunk_link": {
-                "name": "Voie d'accès à une voie rapide",
-                "terms": "rampe"
-            },
-            "highway/turning_circle": {
-                "name": "Zone de manœuvre"
-            },
-            "highway/unclassified": {
-                "name": "Route de desserte locale"
-            },
-            "historic": {
-                "name": "Site historique"
-            },
-            "historic/archaeological_site": {
-                "name": "Site archéologique"
-            },
-            "historic/boundary_stone": {
-                "name": "Borne frontière"
-            },
-            "historic/castle": {
-                "name": "Château"
-            },
-            "historic/memorial": {
-                "name": "Mémorial"
-            },
-            "historic/monument": {
-                "name": "Monument"
-            },
-            "historic/ruins": {
-                "name": "Ruines"
-            },
-            "historic/wayside_cross": {
-                "name": "Croix/Calvaire"
-            },
-            "historic/wayside_shrine": {
-                "name": "Bildstock"
-            },
-            "landuse": {
-                "name": "Type de terrain"
-            },
-            "landuse/allotments": {
-                "name": "Jardins familiaux"
-            },
-            "landuse/basin": {
-                "name": "Bassin"
-            },
-            "landuse/cemetery": {
-                "name": "Cimetière"
-            },
-            "landuse/commercial": {
-                "name": "Commerciale"
-            },
-            "landuse/construction": {
-                "name": "Construction"
-            },
-            "landuse/farm": {
-                "name": "Ferme"
-            },
-            "landuse/farmyard": {
-                "name": "Bâtiments de ferme"
-            },
-            "landuse/forest": {
-                "name": "Forêt"
-            },
-            "landuse/grass": {
-                "name": "Herbe"
-            },
-            "landuse/industrial": {
-                "name": "Industrielle"
-            },
-            "landuse/meadow": {
-                "name": "Prairie"
-            },
-            "landuse/orchard": {
-                "name": "Verger"
-            },
-            "landuse/quarry": {
-                "name": "Carrière"
-            },
-            "landuse/residential": {
-                "name": "Résidentielle"
-            },
-            "landuse/vineyard": {
-                "name": "Vigne"
-            },
-            "leisure": {
-                "name": "Loisirs"
-            },
-            "leisure/garden": {
-                "name": "Jardin"
-            },
-            "leisure/golf_course": {
-                "name": "Parcours de golf"
-            },
-            "leisure/marina": {
-                "name": "Marina"
-            },
-            "leisure/park": {
-                "name": "Parc",
-                "terms": "esplanade, forêt, jardin, gazon, pelouse, prairie, place, terrain de jeux, aire de jeux, square, bois, parc"
-            },
-            "leisure/pitch": {
-                "name": "Terrain de sport"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Terrain de football américain"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Terrain de baseball"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Terrain de basketball"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Terrain de football"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Court de tennis"
-            },
-            "leisure/playground": {
-                "name": "Jeux pour enfants"
-            },
-            "leisure/slipway": {
-                "name": "Plan incliné"
-            },
-            "leisure/stadium": {
-                "name": "Stade"
-            },
-            "leisure/swimming_pool": {
-                "name": "Piscine"
-            },
-            "man_made": {
-                "name": "Édifices"
-            },
-            "man_made/lighthouse": {
-                "name": "Phare"
-            },
-            "man_made/pier": {
-                "name": "Jetée"
-            },
-            "man_made/survey_point": {
-                "name": "Poteau de triangulation"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Station d'épuration",
-                "terms": "épuration, eaux usées"
-            },
-            "man_made/water_tower": {
-                "name": "Château d'eau"
-            },
-            "man_made/water_works": {
-                "name": "Station de pompage d'eau potable"
-            },
-            "natural": {
-                "name": "Nature"
-            },
-            "natural/bay": {
-                "name": "Baie"
-            },
-            "natural/beach": {
-                "name": "Plage"
-            },
-            "natural/cliff": {
-                "name": "Falaise"
-            },
-            "natural/coastline": {
-                "name": "Ligne de côte",
-                "terms": "ligne de côte, littoral, trait de côte"
-            },
-            "natural/glacier": {
-                "name": "Glacier"
-            },
-            "natural/grassland": {
-                "name": "Prairie"
-            },
-            "natural/heath": {
-                "name": "Lande"
-            },
-            "natural/peak": {
-                "name": "Sommet",
-                "terms": "mont, sommet, pic, aiguille, crête, colline, dent"
-            },
-            "natural/scrub": {
-                "name": "Friche, garrigue, maquis"
-            },
-            "natural/spring": {
-                "name": "Source"
-            },
-            "natural/tree": {
-                "name": "Arbre"
-            },
-            "natural/water": {
-                "name": "Eau"
-            },
-            "natural/water/lake": {
-                "name": "Lac",
-                "terms": "lac, étang, mare, marais"
-            },
-            "natural/water/pond": {
-                "name": "Étang",
-                "terms": "bassin, retenue, étang, lac"
-            },
-            "natural/water/reservoir": {
-                "name": "Bassin de retenue"
-            },
-            "natural/wetland": {
-                "name": "Zone humide"
-            },
-            "natural/wood": {
-                "name": "Bois"
-            },
-            "office": {
-                "name": "Bureau"
-            },
-            "other": {
-                "name": "Autre"
-            },
-            "other_area": {
-                "name": "Autre"
-            },
-            "place": {
-                "name": "Toponymie"
-            },
-            "place/city": {
-                "name": "Grande ville (>100.000 habitants)"
-            },
-            "place/hamlet": {
-                "name": "Hameau"
-            },
-            "place/island": {
-                "name": "Île",
-                "terms": "archipel, atoll, récif, presqu'île, haut fond, barre, îlot"
-            },
-            "place/isolated_dwelling": {
-                "name": "Lieu-dit habité"
-            },
-            "place/locality": {
-                "name": "Lieu-dit"
-            },
-            "place/town": {
-                "name": "Ville (10.000-100.000 habitants)"
-            },
-            "place/village": {
-                "name": "Village"
-            },
-            "power": {
-                "name": "Énergie"
-            },
-            "power/generator": {
-                "name": "Centrale de production d'électricité"
-            },
-            "power/line": {
-                "name": "Câble aérien"
-            },
-            "power/pole": {
-                "name": "Poteau"
-            },
-            "power/sub_station": {
-                "name": "Transformateur"
-            },
-            "power/tower": {
-                "name": "Pylône haute-tension "
-            },
-            "power/transformer": {
-                "name": "Transformateur"
-            },
-            "railway": {
-                "name": "Ferroviaire"
-            },
-            "railway/abandoned": {
-                "name": "Voie ferrée désaffectée"
-            },
-            "railway/disused": {
-                "name": "Voie ferrée désaffectée"
-            },
-            "railway/level_crossing": {
-                "name": "Passage à niveau",
-                "terms": "passage à niveau, garde-barrière"
-            },
-            "railway/monorail": {
-                "name": "Monorail"
-            },
-            "railway/platform": {
-                "name": "Quai de gare"
-            },
-            "railway/rail": {
-                "name": "Voie ferrée"
-            },
-            "railway/station": {
-                "name": "Gare"
-            },
-            "railway/subway": {
-                "name": "Métro"
-            },
-            "railway/subway_entrance": {
-                "name": "Bouche de métro"
-            },
-            "railway/tram": {
-                "name": "Tramway",
-                "terms": "Autopartage"
-            },
-            "shop": {
-                "name": "Magasin"
-            },
-            "shop/alcohol": {
-                "name": "Magasin de vente d'alcool"
-            },
-            "shop/bakery": {
-                "name": "Boulangerie"
-            },
-            "shop/beauty": {
-                "name": "Salon de beauté"
-            },
-            "shop/beverages": {
-                "name": "Vente de boissons alcolisées"
-            },
-            "shop/bicycle": {
-                "name": "Magasin de vélos"
-            },
-            "shop/books": {
-                "name": "Librairie"
-            },
-            "shop/boutique": {
-                "name": "Petit magasin de mode"
-            },
-            "shop/butcher": {
-                "name": "Boucher"
-            },
-            "shop/car": {
-                "name": "Concessionnaire automobile"
-            },
-            "shop/car_parts": {
-                "name": "Magasin de pièces automobiles"
-            },
-            "shop/car_repair": {
-                "name": "Garage"
-            },
-            "shop/chemist": {
-                "name": "Pharmacie"
-            },
-            "shop/clothes": {
-                "name": "Magasin de vêtements"
-            },
-            "shop/computer": {
-                "name": "Magasin d'informatique"
-            },
-            "shop/confectionery": {
-                "name": "Confiserie"
-            },
-            "shop/convenience": {
-                "name": "Magasin d'appoint"
-            },
-            "shop/deli": {
-                "name": "Épicerie de luxe"
-            },
-            "shop/department_store": {
-                "name": "Grand magasin"
-            },
-            "shop/doityourself": {
-                "name": "Magasin de bricolage"
-            },
-            "shop/dry_cleaning": {
-                "name": "Nettoyage à sec"
-            },
-            "shop/electronics": {
-                "name": "Magasin de matériel électronique"
-            },
-            "shop/fishmonger": {
-                "name": "Poissonnerie"
-            },
-            "shop/florist": {
-                "name": "Fleuriste"
-            },
-            "shop/furniture": {
-                "name": "Magasin de meubles"
-            },
-            "shop/garden_centre": {
-                "name": "Magasin spécialiste du jardin"
-            },
-            "shop/gift": {
-                "name": "Boutique de cadeaux"
-            },
-            "shop/greengrocer": {
-                "name": "Primeur"
-            },
-            "shop/hairdresser": {
-                "name": "Salon de coiffure"
-            },
-            "shop/hardware": {
-                "name": "Quincaillerie"
-            },
-            "shop/hifi": {
-                "name": "Magasin de matériel hi-fi"
-            },
-            "shop/jewelry": {
-                "name": "Bijouterie"
-            },
-            "shop/kiosk": {
-                "name": "Kiosque"
-            },
-            "shop/laundry": {
-                "name": "Laverie"
-            },
-            "shop/mall": {
-                "name": "Centre commercial"
-            },
-            "shop/mobile_phone": {
-                "name": "Magasin de téléphonie mobile"
-            },
-            "shop/motorcycle": {
-                "name": "Vendeur de motos"
-            },
-            "shop/music": {
-                "name": "Vente d'instruments de musique"
-            },
-            "shop/newsagent": {
-                "name": "Kiosque à journaux"
-            },
-            "shop/optician": {
-                "name": "Opticien"
-            },
-            "shop/outdoor": {
-                "name": "Magasin d'équipement de randonnée"
-            },
-            "shop/pet": {
-                "name": "Animalerie"
-            },
-            "shop/shoes": {
-                "name": "Magasin de chaussures"
-            },
-            "shop/sports": {
-                "name": "Magasin d'équipement sportif"
-            },
-            "shop/stationery": {
-                "name": "Papeterie"
-            },
-            "shop/supermarket": {
-                "name": "Supermarché",
-                "terms": "boutique, magasin, supermarché, puces, marché, hypermarché, centre commercial, ZAC, zone d'activité commerciale, kiosque, supérette"
-            },
-            "shop/toys": {
-                "name": "Magasin de jouets"
-            },
-            "shop/travel_agency": {
-                "name": "Agence de voyages"
-            },
-            "shop/tyres": {
-                "name": "Magasin de pneus"
-            },
-            "shop/vacant": {
-                "name": "Commerce désaffecté"
-            },
-            "shop/variety_store": {
-                "name": "Magasin à prix unique"
-            },
-            "shop/video": {
-                "name": "Vidéo-club"
-            },
-            "tourism": {
-                "name": "Tourisme"
-            },
-            "tourism/alpine_hut": {
-                "name": "Refuge de montagne"
-            },
-            "tourism/artwork": {
-                "name": "Œuvre d'art"
-            },
-            "tourism/attraction": {
-                "name": "Attraction touristique"
-            },
-            "tourism/camp_site": {
-                "name": "Camping"
-            },
-            "tourism/caravan_site": {
-                "name": "Aire pour caravanes"
-            },
-            "tourism/chalet": {
-                "name": "Chalet"
-            },
-            "tourism/guest_house": {
-                "name": "Chambre d'hôtes",
-                "terms": "B&B, Bed & Breakfast, Bed and Breakfast, maison d'hôtes, chambre d'hôtes"
-            },
-            "tourism/hostel": {
-                "name": "Auberge de jeunesse"
-            },
-            "tourism/hotel": {
-                "name": "Hôtel"
-            },
-            "tourism/information": {
-                "name": "Office de tourisme"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Musée",
-                "terms": "exhibition, vernissage, galerie d'art, fondation, musée, exposition"
-            },
-            "tourism/picnic_site": {
-                "name": "Aire de pique-nique"
-            },
-            "tourism/theme_park": {
-                "name": "Parc d'attraction"
-            },
-            "tourism/viewpoint": {
-                "name": "Point de vue"
-            },
-            "tourism/zoo": {
-                "name": "Zoo"
-            },
-            "waterway": {
-                "name": "Eau"
-            },
-            "waterway/canal": {
-                "name": "Canal"
-            },
-            "waterway/dam": {
-                "name": "Barrage"
-            },
-            "waterway/ditch": {
-                "name": "Fossé"
-            },
-            "waterway/drain": {
-                "name": "Canal d'évacuation d'eau pluviale"
-            },
-            "waterway/river": {
-                "name": "Rivière",
-                "terms": "ruisseau, cours d'eau, caniveau, ru, étier, ruisselet, ravine, rivière, fleuve, eau"
-            },
-            "waterway/riverbank": {
-                "name": "Berge"
-            },
-            "waterway/stream": {
-                "name": "Cours d'eau étroit",
-                "terms": "ruisseau, cours d'eau, caniveau, ru, étier, ruisselet, ravine, rivière, fleuve, eau"
-            },
-            "waterway/weir": {
-                "name": "Seuil"
-            }
+    };
+
+    return drawVertices;
+};
+iD.ui = function(context) {
+    function render(container) {
+        var map = context.map();
+
+        if (iD.detect().opera) container.classed('opera', true);
+
+        var hash = iD.behavior.Hash(context);
+
+        hash();
+
+        if (!hash.hadHash) {
+            map.centerZoom([0, 0], 2);
+        }
+
+        container.append('svg')
+            .attr('id', 'defs')
+            .call(iD.svg.Defs(context));
+
+        container.append('div')
+            .attr('id', 'sidebar')
+            .attr('class', 'col4')
+            .call(ui.sidebar);
+
+        var content = container.append('div')
+            .attr('id', 'content');
+
+        var bar = content.append('div')
+            .attr('id', 'bar')
+            .attr('class', 'fillD');
+
+        var m = content.append('div')
+            .attr('id', 'map')
+            .call(map);
+
+        content.append('div')
+            .attr('class', 'map-in-map')
+            .style('display', 'none')
+            .call(iD.ui.MapInMap(context));
+
+        content.append('div')
+            .attr('class', 'infobox fillD2')
+            .style('display', 'none')
+            .call(iD.ui.Info(context));
+
+        bar.append('div')
+            .attr('class', 'spacer col4');
+
+        var limiter = bar.append('div')
+            .attr('class', 'limiter');
+
+        limiter.append('div')
+            .attr('class', 'button-wrap joined col3')
+            .call(iD.ui.Modes(context), limiter);
+
+        limiter.append('div')
+            .attr('class', 'button-wrap joined col1')
+            .call(iD.ui.UndoRedo(context));
+
+        limiter.append('div')
+            .attr('class', 'button-wrap col1')
+            .call(iD.ui.Save(context));
+
+        bar.append('div')
+            .attr('class', 'full-screen')
+            .call(iD.ui.FullScreen(context));
+
+        bar.append('div')
+            .attr('class', 'spinner')
+            .call(iD.ui.Spinner(context));
+
+        var controls = bar.append('div')
+            .attr('class', 'map-controls');
+
+        controls.append('div')
+            .attr('class', 'map-control zoombuttons')
+            .call(iD.ui.Zoom(context));
+
+        controls.append('div')
+            .attr('class', 'map-control geolocate-control')
+            .call(iD.ui.Geolocate(map));
+
+        controls.append('div')
+            .attr('class', 'map-control background-control')
+            .call(iD.ui.Background(context));
+
+        controls.append('div')
+            .attr('class', 'map-control map-data-control')
+            .call(iD.ui.MapData(context));
+
+        controls.append('div')
+            .attr('class', 'map-control help-control')
+            .call(iD.ui.Help(context));
+
+        var about = content.append('div')
+            .attr('id', 'about');
+
+        about.append('div')
+            .attr('id', 'attrib')
+            .call(iD.ui.Attribution(context));
+
+        var footer = about.append('div')
+            .attr('id', 'footer')
+            .attr('class', 'fillD');
+
+        footer.append('div')
+            .attr('class', 'api-status')
+            .call(iD.ui.Status(context));
+
+        footer.append('div')
+            .attr('id', 'scale-block')
+            .call(iD.ui.Scale(context));
+
+        var aboutList = footer.append('div')
+            .attr('id', 'info-block')
+            .append('ul')
+            .attr('id', 'about-list');
+
+        if (!context.embed()) {
+            aboutList.call(iD.ui.Account(context));
+        }
+
+        aboutList.append('li')
+            .append('a')
+            .attr('target', '_blank')
+            .attr('tabindex', -1)
+            .attr('href', 'http://github.com/openstreetmap/iD')
+            .text(iD.version);
+
+        var issueLinks = aboutList.append('li');
+
+        issueLinks.append('a')
+            .attr('target', '_blank')
+            .attr('tabindex', -1)
+            .attr('href', 'https://github.com/openstreetmap/iD/issues')
+            .call(iD.svg.Icon('#icon-bug', 'light'))
+            .call(bootstrap.tooltip()
+                .title(t('report_a_bug'))
+                .placement('top')
+            );
+
+        issueLinks.append('a')
+            .attr('target', '_blank')
+            .attr('tabindex', -1)
+            .attr('href', 'https://github.com/openstreetmap/iD/blob/master/CONTRIBUTING.md#translating')
+            .call(iD.svg.Icon('#icon-translate', 'light'))
+            .call(bootstrap.tooltip()
+                .title(t('help_translate'))
+                .placement('top')
+            );
+
+        aboutList.append('li')
+            .attr('class', 'feature-warning')
+            .attr('tabindex', -1)
+            .call(iD.ui.FeatureInfo(context));
+
+        aboutList.append('li')
+            .attr('class', 'user-list')
+            .attr('tabindex', -1)
+            .call(iD.ui.Contributors(context));
+
+        window.onbeforeunload = function() {
+            return context.save();
+        };
+
+        window.onunload = function() {
+            context.history().unlock();
+        };
+
+        var mapDimensions = map.dimensions();
+
+        d3.select(window).on('resize.editor', function() {
+            mapDimensions = m.dimensions();
+            map.dimensions(m.dimensions());
+        });
+
+        function pan(d) {
+            return function() {
+                d3.event.preventDefault();
+                context.pan(d);
+            };
         }
+
+        // pan amount
+        var pa = 10;
+
+        var keybinding = d3.keybinding('main')
+            .on('⌫', function() { d3.event.preventDefault(); })
+            .on('←', pan([pa, 0]))
+            .on('↑', pan([0, pa]))
+            .on('→', pan([-pa, 0]))
+            .on('↓', pan([0, -pa]))
+            .on('⇧←', pan([mapDimensions[0], 0]))
+            .on('⇧↑', pan([0, mapDimensions[1]]))
+            .on('⇧→', pan([-mapDimensions[0], 0]))
+            .on('⇧↓', pan([0, -mapDimensions[1]]))
+            .on(iD.ui.cmd('⌘←'), pan([mapDimensions[0], 0]))
+            .on(iD.ui.cmd('⌘↑'), pan([0, mapDimensions[1]]))
+            .on(iD.ui.cmd('⌘→'), pan([-mapDimensions[0], 0]))
+            .on(iD.ui.cmd('⌘↓'), pan([0, -mapDimensions[1]]));
+
+        d3.select(document)
+            .call(keybinding);
+
+        context.enter(iD.modes.Browse(context));
+
+        context.container()
+            .call(iD.ui.Splash(context))
+            .call(iD.ui.Restore(context));
+
+        var authenticating = iD.ui.Loading(context)
+            .message(t('loading_auth'));
+
+        context.connection()
+            .on('authenticating.ui', function() {
+                context.container()
+                    .call(authenticating);
+            })
+            .on('authenticated.ui', function() {
+                authenticating.close();
+            });
+    }
+
+    function ui(container) {
+        context.container(container);
+        context.loadLocale(function() {
+            render(container);
+        });
     }
+
+    ui.sidebar = iD.ui.Sidebar(context);
+
+    return ui;
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+iD.ui.tooltipHtml = function(text, key) {
+    var s = '<span>' + text + '</span>';
+    if (key) {
+        s += '<div class="keyhint-wrap">' +
+            '<span> ' + (t('tooltip_keyhint')) + ' </span>' +
+            '<span class="keyhint"> ' + key + '</span></div>';
+    }
+    return s;
+};
+iD.ui.Account = function(context) {
+    var connection = context.connection();
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+    function update(selection) {
+        if (!connection.authenticated()) {
+            selection.selectAll('#userLink, #logoutLink')
+                .classed('hide', true);
+            return;
+        }
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.hr = {
-    "presets": {
-        "fields": {
-            "address": {
-                "label": "Adresa",
-                "placeholders": {
-                    "housename": "Naziv građevine",
-                    "number": "123",
-                    "street": "Ulica",
-                    "city": "Grad"
-                }
-            },
-            "atm": {
-                "label": "Bankomat"
-            },
-            "building": {
-                "label": "Građevina"
-            },
-            "building_area": {
-                "label": "Građevina"
-            },
-            "building_yes": {
-                "label": "Građevina"
-            },
-            "capacity": {
-                "label": "Kapacitet"
-            },
-            "country": {
-                "label": "Država"
-            },
-            "cuisine": {
-                "label": "Hrana"
-            },
-            "denomination": {
-                "label": "Vjeroispovijed"
-            },
-            "elevation": {
-                "label": "Visina"
-            },
-            "emergency": {
-                "label": "Hitna pomoć"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Plaćanje"
-            },
-            "internet_access": {
-                "label": "Dostupan internet",
-                "options": {
-                    "wlan": "Wifi"
-                }
-            },
-            "layer": {
-                "label": "Sloj"
-            },
-            "levels": {
-                "label": "Razina"
-            },
-            "maxspeed": {
-                "label": "Ograničenje brzine"
-            },
-            "natural": {
-                "label": "Priroda"
-            },
-            "network": {
-                "label": "Mreža"
-            },
-            "note": {
-                "label": "Bilješka"
-            },
-            "oneway": {
-                "label": "Jednosmjerna"
-            },
-            "opening_hours": {
-                "label": "Sati"
-            },
-            "operator": {
-                "label": "Operator"
-            },
-            "phone": {
-                "label": "Telefon"
-            },
-            "religion": {
-                "label": "Religija",
-                "options": {
-                    "christian": "Kršćanski",
-                    "muslim": "Muslimanski",
-                    "buddhist": "Budistički",
-                    "jewish": "Židovski",
-                    "hindu": "Hinduistički",
-                    "shinto": "Šintoistički",
-                    "taoist": "Taoistički"
-                }
-            },
-            "shelter": {
-                "label": "Sklonište"
-            },
-            "source": {
-                "label": "Izvor"
-            },
-            "sport": {
-                "label": "Sport"
-            },
-            "structure": {
-                "label": "Konstrukcija",
-                "options": {
-                    "bridge": "Most",
-                    "tunnel": "Tunel",
-                    "embankment": "Nasip",
-                    "cutting": "Usjek"
-                }
-            },
-            "surface": {
-                "label": "Površina"
-            },
-            "website": {
-                "label": "Web stranica"
-            },
-            "wheelchair": {
-                "label": "Pristup s invalidskim kolicima"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Pista"
-            },
-            "aeroway/aerodrome": {
-                "name": "Zračna luka"
-            },
-            "aeroway/helipad": {
-                "name": "Heliodrom"
-            },
-            "amenity/bank": {
-                "name": "Banka"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Klupa"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Parking za bicikle"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Najam bicikla"
-            },
-            "amenity/cafe": {
-                "name": "Kafić"
-            },
-            "amenity/cinema": {
-                "name": "Kino"
-            },
-            "amenity/courthouse": {
-                "name": "Zgrada suda"
-            },
-            "amenity/embassy": {
-                "name": "Ambasada"
-            },
-            "amenity/fast_food": {
-                "name": "Brza hrana"
-            },
-            "amenity/fire_station": {
-                "name": "Vatrogasna postaja"
-            },
-            "amenity/fuel": {
-                "name": "Benzinska postaja"
-            },
-            "amenity/grave_yard": {
-                "name": "Groblje"
-            },
-            "amenity/hospital": {
-                "name": "Bolnica"
-            },
-            "amenity/library": {
-                "name": "Knjižnica"
-            },
-            "amenity/marketplace": {
-                "name": "Tržnica"
-            },
-            "amenity/parking": {
-                "name": "Parking"
-            },
-            "amenity/pharmacy": {
-                "name": "Ljekarna"
-            },
-            "amenity/place_of_worship": {
-                "name": "Vjerski objekt"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Crkva"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Sinagoga"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Džamija"
-            },
-            "amenity/police": {
-                "name": "Policija"
-            },
-            "amenity/post_box": {
-                "name": "Poštanski sandučić"
-            },
-            "amenity/post_office": {
-                "name": "Pošta"
-            },
-            "amenity/pub": {
-                "name": "Pivnica"
-            },
-            "amenity/restaurant": {
-                "name": "Restoran"
-            },
-            "amenity/school": {
-                "name": "Škola"
-            },
-            "amenity/swimming_pool": {
-                "name": "Sportski bazen"
-            },
-            "amenity/telephone": {
-                "name": "Telefon"
-            },
-            "amenity/theatre": {
-                "name": "Kazalište"
-            },
-            "amenity/toilets": {
-                "name": "Toalet"
-            },
-            "amenity/townhall": {
-                "name": "Gradska vjećnica"
-            },
-            "amenity/university": {
-                "name": "Sveučilište"
-            },
-            "barrier": {
-                "name": "Prepreka"
-            },
-            "barrier/block": {
-                "name": "Blok"
-            },
-            "barrier/bollard": {
-                "name": "Stup"
-            },
-            "barrier/city_wall": {
-                "name": "Gradske zidine"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Biciklistička prepreka"
-            },
-            "barrier/ditch": {
-                "name": "Prokop"
-            },
-            "barrier/fence": {
-                "name": "Ograda"
-            },
-            "barrier/gate": {
-                "name": "Kapija"
-            },
-            "barrier/hedge": {
-                "name": "Živica"
-            },
-            "barrier/lift_gate": {
-                "name": "Rampa"
-            },
-            "barrier/wall": {
-                "name": "Zid"
-            },
-            "building": {
-                "name": "Zgrada"
-            },
-            "building/apartments": {
-                "name": "Apartmani"
-            },
-            "building/entrance": {
-                "name": "Ulaz"
-            },
-            "building/house": {
-                "name": "Kuća"
-            },
-            "entrance": {
-                "name": "Ulaz"
-            },
-            "highway": {
-                "name": "Prometnica"
-            },
-            "highway/bus_stop": {
-                "name": "Autobusna stanica"
-            },
-            "highway/crossing": {
-                "name": "Križanje"
-            },
-            "highway/cycleway": {
-                "name": "Biciklistička staza"
-            },
-            "highway/footway": {
-                "name": "Pješačka staza"
-            },
-            "highway/motorway": {
-                "name": "Autoput"
-            },
-            "highway/path": {
-                "name": "Staza"
-            },
-            "highway/primary": {
-                "name": "Primarna cesta"
-            },
-            "highway/residential": {
-                "name": "Lokalna cesta"
-            },
-            "highway/service": {
-                "name": "Servisna cesta"
-            },
-            "highway/traffic_signals": {
-                "name": "Prometni znak"
-            },
-            "highway/turning_circle": {
-                "name": "Kružni tok"
-            },
-            "highway/unclassified": {
-                "name": "Neklasificirana cesta"
-            },
-            "historic": {
-                "name": "Povijesno područje"
-            },
-            "historic/archaeological_site": {
-                "name": "Arheološko područje"
-            },
-            "historic/boundary_stone": {
-                "name": "Suhozid"
-            },
-            "historic/castle": {
-                "name": "Dvorac"
-            },
-            "historic/monument": {
-                "name": "Spomenik"
-            },
-            "historic/ruins": {
-                "name": "Ruševina"
-            },
-            "landuse": {
-                "name": "Korištenje"
-            },
-            "landuse/allotments": {
-                "name": "Vrtovi"
-            },
-            "landuse/cemetery": {
-                "name": "Groblje"
-            },
-            "landuse/commercial": {
-                "name": "Poslovno"
-            },
-            "landuse/construction": {
-                "name": "Građevinsko"
-            },
-            "landuse/farm": {
-                "name": "Gospodarstvo"
-            },
-            "landuse/farmyard": {
-                "name": "Gospodarsko imanje"
-            },
-            "landuse/forest": {
-                "name": "Šuma"
-            },
-            "landuse/grass": {
-                "name": "Travnjak"
-            },
-            "landuse/industrial": {
-                "name": "Industrijsko"
-            },
-            "landuse/meadow": {
-                "name": "Livada"
-            },
-            "landuse/orchard": {
-                "name": "Voćnjak"
-            },
-            "landuse/quarry": {
-                "name": "Kamenolom"
-            },
-            "landuse/residential": {
-                "name": "Stambeno"
-            },
-            "landuse/vineyard": {
-                "name": "Vinograd"
-            },
-            "leisure": {
-                "name": "Razonoda"
-            },
-            "leisure/garden": {
-                "name": "Vrt"
-            },
-            "leisure/golf_course": {
-                "name": "Golf tečaj"
-            },
-            "leisure/park": {
-                "name": "Park"
-            },
-            "leisure/pitch": {
-                "name": "Sportski teren"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Američki nogomet"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Baseball igralište"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Košarkaški teren"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Nogometno igralište"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Teniski teren"
-            },
-            "leisure/playground": {
-                "name": "Igralište"
-            },
-            "leisure/stadium": {
-                "name": "Stadion"
-            },
-            "leisure/swimming_pool": {
-                "name": "Sportski bazen"
-            },
-            "man_made/lighthouse": {
-                "name": "Svjetionik"
-            },
-            "man_made/pier": {
-                "name": "Mol"
-            },
-            "man_made/water_tower": {
-                "name": "Vodo-toranj"
-            },
-            "natural": {
-                "name": "Priroda"
-            },
-            "natural/bay": {
-                "name": "Zaljev"
-            },
-            "natural/beach": {
-                "name": "Plaža"
-            },
-            "natural/cliff": {
-                "name": "Litica"
-            },
-            "natural/coastline": {
-                "name": "Obalna linija",
-                "terms": "obala"
-            },
-            "natural/glacier": {
-                "name": "Glečer"
-            },
-            "natural/grassland": {
-                "name": "Travnjak"
-            },
-            "natural/peak": {
-                "name": "Planinski vrh"
-            },
-            "natural/scrub": {
-                "name": "Šikara"
-            },
-            "natural/tree": {
-                "name": "Stablo"
-            },
-            "natural/water": {
-                "name": "Voda"
-            },
-            "natural/water/lake": {
-                "name": "Jezero"
-            },
-            "natural/water/pond": {
-                "name": "Ribnjak"
-            },
-            "natural/water/reservoir": {
-                "name": "Akumulacija"
-            },
-            "natural/wetland": {
-                "name": "Močvara"
-            },
-            "natural/wood": {
-                "name": "Šuma"
-            },
-            "office": {
-                "name": "Ured"
-            },
-            "other": {
-                "name": "Ostalo"
-            },
-            "other_area": {
-                "name": "Ostalo"
-            },
-            "place": {
-                "name": "Mjesto"
-            },
-            "place/hamlet": {
-                "name": "Zaseok"
-            },
-            "place/island": {
-                "name": "Otok"
-            },
-            "place/locality": {
-                "name": "Lokalitet"
-            },
-            "place/village": {
-                "name": "Selo"
-            },
-            "power/sub_station": {
-                "name": "Podzemna postaja"
-            },
-            "power/transformer": {
-                "name": "Transformator"
-            },
-            "railway": {
-                "name": "Željeznička pruga"
-            },
-            "railway/rail": {
-                "name": "Željeznica"
-            },
-            "railway/station": {
-                "name": "Željeznička postaja"
-            },
-            "railway/subway": {
-                "name": "Podzemna željeznica"
-            },
-            "railway/subway_entrance": {
-                "name": "Ulaz u podzemnu željeznicu"
-            },
-            "railway/tram": {
-                "name": "Tramvaj"
-            },
-            "shop": {
-                "name": "Prodavaonica"
-            },
-            "shop/bakery": {
-                "name": "Pekara"
-            },
-            "shop/books": {
-                "name": "Knjižara"
-            },
-            "shop/butcher": {
-                "name": "Mesnica"
-            },
-            "shop/confectionery": {
-                "name": "Slastičarnica"
-            },
-            "shop/doityourself": {
-                "name": "Uradi sam"
-            },
-            "shop/fishmonger": {
-                "name": "Ribarnica"
-            },
-            "shop/florist": {
-                "name": "Cvjećarna"
-            },
-            "shop/furniture": {
-                "name": "Salon namještaja"
-            },
-            "shop/garden_centre": {
-                "name": "Vrtni centar"
-            },
-            "shop/hairdresser": {
-                "name": "Frizerski salon"
-            },
-            "shop/kiosk": {
-                "name": "Kiosk"
-            },
-            "shop/laundry": {
-                "name": "Praonica rublja"
-            },
-            "shop/supermarket": {
-                "name": "Veletrgovina"
-            },
-            "tourism": {
-                "name": "Turizam"
-            },
-            "tourism/alpine_hut": {
-                "name": "Planinska kuća"
-            },
-            "tourism/attraction": {
-                "name": "Turistička atrakcija"
-            },
-            "tourism/camp_site": {
-                "name": "Kamp"
-            },
-            "tourism/chalet": {
-                "name": "Bungalov"
-            },
-            "tourism/hostel": {
-                "name": "Hostel"
-            },
-            "tourism/hotel": {
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "name": "Informacije"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Muzej"
-            },
-            "tourism/picnic_site": {
-                "name": "Izletište"
-            },
-            "tourism/theme_park": {
-                "name": "Tematski park"
-            },
-            "tourism/viewpoint": {
-                "name": "Vidikovac"
-            },
-            "tourism/zoo": {
-                "name": "Zološki vrt"
-            },
-            "waterway": {
-                "name": "Vodni put"
-            },
-            "waterway/canal": {
-                "name": "Kanal"
-            },
-            "waterway/dam": {
-                "name": "Brana"
-            },
-            "waterway/ditch": {
-                "name": "Prokop"
-            },
-            "waterway/drain": {
-                "name": "Kanal"
-            },
-            "waterway/river": {
-                "name": "Rijeka"
-            },
-            "waterway/riverbank": {
-                "name": "Riječni tok"
-            },
-            "waterway/stream": {
-                "name": "Potok"
-            },
-            "waterway/weir": {
-                "name": "Brana"
+        connection.userDetails(function(err, details) {
+            var userLink = selection.select('#userLink'),
+                logoutLink = selection.select('#logoutLink');
+
+            userLink.html('');
+            logoutLink.html('');
+
+            if (err) return;
+
+            selection.selectAll('#userLink, #logoutLink')
+                .classed('hide', false);
+
+            // Link
+            userLink.append('a')
+                .attr('href', connection.userURL(details.display_name))
+                .attr('target', '_blank');
+
+            // Add thumbnail or dont
+            if (details.image_url) {
+                userLink.append('img')
+                    .attr('class', 'icon pre-text user-icon')
+                    .attr('src', details.image_url);
+            } else {
+                userLink
+                    .call(iD.svg.Icon('#icon-avatar', 'pre-text light'));
             }
-        }
+
+            // Add user name
+            userLink.append('span')
+                .attr('class', 'label')
+                .text(details.display_name);
+
+            logoutLink.append('a')
+                .attr('class', 'logout')
+                .attr('href', '#')
+                .text(t('logout'))
+                .on('click.logout', function() {
+                    d3.event.preventDefault();
+                    connection.logout();
+                });
+        });
     }
+
+    return function(selection) {
+        selection.append('li')
+            .attr('id', 'logoutLink')
+            .classed('hide', true);
+
+        selection.append('li')
+            .attr('id', 'userLink')
+            .classed('hide', true);
+
+        connection.on('auth.account', function() { update(selection); });
+        update(selection);
+    };
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.Attribution = function(context) {
+    var selection;
+
+    function attribution(data, klass) {
+        var div = selection.selectAll('.' + klass)
+            .data([0]);
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+        div.enter()
+            .append('div')
+            .attr('class', klass);
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        var background = div.selectAll('.attribution')
+            .data(data, function(d) { return d.name(); });
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.hu = {
-    "modes": {
-        "add_area": {
-            "title": "Terület"
-        }
+        background.enter()
+            .append('span')
+            .attr('class', 'attribution')
+            .each(function(d) {
+                if (d.terms_html) {
+                    d3.select(this)
+                        .html(d.terms_html);
+                    return;
+                }
+
+                var source = d.terms_text || d.id || d.name();
+
+                if (d.logo) {
+                    source = '<img class="source-image" src="' + context.imagePath(d.logo) + '">';
+                }
+
+                if (d.terms_url) {
+                    d3.select(this)
+                        .append('a')
+                        .attr('href', d.terms_url)
+                        .attr('target', '_blank')
+                        .html(source);
+                } else {
+                    d3.select(this)
+                        .text(source);
+                }
+            });
+
+        background.exit()
+            .remove();
+
+        var copyright = background.selectAll('.copyright-notice')
+            .data(function(d) {
+                var notice = d.copyrightNotices(context.map().zoom(), context.map().extent());
+                return notice ? [notice] : [];
+            });
+
+        copyright.enter()
+            .append('span')
+            .attr('class', 'copyright-notice');
+
+        copyright.text(String);
+
+        copyright.exit()
+            .remove();
+    }
+
+    function update() {
+        attribution([context.background().baseLayerSource()], 'base-layer-attribution');
+        attribution(context.background().overlayLayerSources().filter(function (s) {
+            return s.validZoom(context.map().zoom());
+        }), 'overlay-layer-attribution');
     }
+
+    return function(select) {
+        selection = select;
+
+        context.background()
+            .on('change.attribution', update);
+
+        context.map()
+            .on('move.attribution', _.throttle(update, 400, {leading: false}));
+
+        update();
+    };
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.Background = function(context) {
+    var key = 'B',
+        opacities = [1, 0.75, 0.5, 0.25],
+        directions = [
+            ['left', [1, 0]],
+            ['top', [0, -1]],
+            ['right', [-1, 0]],
+            ['bottom', [0, 1]]],
+        opacityDefault = (context.storage('background-opacity') !== null) ?
+            (+context.storage('background-opacity')) : 1.0,
+        customTemplate = context.storage('background-custom-template') || '';
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    // Can be 0 from <1.3.0 use or due to issue #1923.
+    if (opacityDefault === 0) opacityDefault = 1.0;
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+    function background(selection) {
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.it = {
-    "modes": {
-        "add_area": {
-            "title": "Area",
-            "description": "Aggiungi parchi, edifici, laghi, o altre aree alla mappa.",
-            "tail": "Clicca sulla mappa per iniziare a disegnare un'area, come un parco, un lago, o un edificio."
-        },
-        "add_line": {
-            "title": "Linea",
-            "description": "Aggiungi strade, vie, percorsi pedonali, canali od altre linee alla mappa.",
-            "tail": "Clicca sulla mappa per iniziare a disegnare una strada, un percorso, o un itinerario."
-        },
-        "add_point": {
-            "title": "Punto",
-            "description": "Ristoranti, monumenti, e cassette postali sono punti.",
-            "tail": "Clicca sulla mappa per inserire un punto."
-        },
-        "browse": {
-            "title": "Naviga",
-            "description": "Muovi ed ingrandisci la mappa."
-        },
-        "draw_area": {
-            "tail": "Clicca per aggiungere nodi all'area. Clicca sul primo nodo per completarla."
-        },
-        "draw_line": {
-            "tail": "Clicca per aggiungere più nodi alla linea. Clicca su altre linee per connetterle, e clicca due volte per terminare la linea."
+        function sortSources(a, b) {
+            return a.best() ? -1
+                : b.best() ? 1
+                : a.id === 'none' ? 1
+                : b.id === 'none' ? -1
+                : d3.ascending(a, b);
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Aggiunto un punto.",
-                "vertex": "Aggiunto un punto ad una linea."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Iniziata una linea.",
-                "area": "Iniziata un'area."
+
+        function setOpacity(d) {
+            var bg = context.container().selectAll('.background-layer')
+                .transition()
+                .style('opacity', d)
+                .attr('data-opacity', d);
+
+            if (!iD.detect().opera) {
+                iD.util.setTransform(bg, 0, 0);
             }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Continuata una linea.",
-                "area": "Continuata un'area."
+
+            opacityList.selectAll('li')
+                .classed('active', function(_) { return _ === d; });
+
+            context.storage('background-opacity', d);
+        }
+
+        function selectLayer() {
+            function active(d) {
+                return context.background().showsLayer(d);
             }
-        },
-        "cancel_draw": {
-            "annotation": "Cancellato il disegno."
-        },
-        "change_tags": {
-            "annotation": "Cambiati i tag."
-        },
-        "circularize": {
-            "title": "Rendi rotondo",
-            "description": {
-                "line": "Rendi questa linea circolare.",
-                "area": "Rendi quest'area circolare."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Linea resa rotonda.",
-                "area": "Area resa rotonda."
-            },
-            "not_closed": "Questo non può essere reso circolare perché non è un anello."
-        },
-        "orthogonalize": {
-            "title": "Ortogonalizza",
-            "description": "Ortogonalizza questi angoli.",
-            "key": "Q",
-            "annotation": {
-                "line": "Gli angoli della linea sono stati resi ortogonali.",
-                "area": "Gli angoli dell'area sono stati resi ortogonali."
-            },
-            "not_closed": "Questo non può essere reso squadrato perché non è un anello."
-        },
-        "delete": {
-            "title": "Cancella",
-            "description": "Cancella questo dalla mappa.",
-            "annotation": {
-                "point": "Cancellato un punto.",
-                "vertex": "Cancellato un punto da una linea.",
-                "line": "Cancellata una linea.",
-                "area": "Cancellata un'area.",
-                "relation": "Cancellata una relazione.",
-                "multiple": "Cancellati {n} oggetti."
+
+            content.selectAll('.layer, .custom_layer')
+                .classed('active', active)
+                .selectAll('input')
+                .property('checked', active);
+        }
+
+        function clickSetSource(d) {
+            d3.event.preventDefault();
+            context.background().baseLayerSource(d);
+            selectLayer();
+        }
+
+        function editCustom() {
+            d3.event.preventDefault();
+            var template = window.prompt(t('background.custom_prompt'), customTemplate);
+            if (!template ||
+                template.indexOf('google.com') !== -1 ||
+                template.indexOf('googleapis.com') !== -1 ||
+                template.indexOf('google.ru') !== -1) {
+                selectLayer();
+                return;
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Connessa una linea ad un punto.",
-                "vertex": "Connessa una linea ad un'altra.",
-                "line": "Connessa una strada ad una linea.",
-                "area": "Connessa una linea ad un'area."
+            setCustom(template);
+        }
+
+        function setCustom(template) {
+            context.background().baseLayerSource(iD.BackgroundSource.Custom(template));
+            selectLayer();
+            context.storage('background-custom-template', template);
+        }
+
+        function clickSetOverlay(d) {
+            d3.event.preventDefault();
+            context.background().toggleOverlayLayer(d);
+            selectLayer();
+        }
+
+        function drawList(layerList, type, change, filter) {
+            var sources = context.background()
+                .sources(context.map().extent())
+                .filter(filter);
+
+            var layerLinks = layerList.selectAll('li.layer')
+                .data(sources, function(d) { return d.name(); })
+                .sort(sortSources);
+
+            var enter = layerLinks.enter()
+                .insert('li', '.custom_layer')
+                .attr('class', 'layer');
+
+            // only set tooltips for layers with tooltips
+            enter.filter(function(d) { return d.description; })
+                .call(bootstrap.tooltip()
+                    .title(function(d) { return d.description; })
+                    .placement('top'));
+
+            var label = enter.append('label');
+
+            label.append('input')
+                .attr('type', type)
+                .attr('name', 'layers')
+                .on('change', change);
+
+            label.append('span')
+                .text(function(d) { return d.name(); });
+
+            layerLinks.exit()
+                .remove();
+
+            layerList.style('display', layerList.selectAll('li.layer').data().length > 0 ? 'block' : 'none');
+        }
+
+        function update() {
+            backgroundList.call(drawList, 'radio', clickSetSource, function(d) { return !d.overlay; });
+            overlayList.call(drawList, 'checkbox', clickSetOverlay, function(d) { return d.overlay; });
+
+            selectLayer();
+
+            var source = context.background().baseLayerSource();
+            if (source.id === 'custom') {
+                customTemplate = source.template;
             }
-        },
-        "disconnect": {
-            "title": "Disconnetti",
-            "description": "Disconnetti queste linee tra loro.",
-            "key": "D",
-            "annotation": "Linee disconnesse.",
-            "not_connected": "Non ci sono sufficienti linee/aree da disconnettere."
-        },
-        "merge": {
-            "title": "Unisci",
-            "description": "Unisci queste linee.",
-            "key": "C",
-            "annotation": "Unite {n} linee.",
-            "not_eligible": "Questi elementi non possono essere uniti.",
-            "not_adjacent": "Queste linee non possono essere unite perché non sono connesse."
-        },
-        "move": {
-            "title": "Muovi",
-            "description": "Muovi questo in una posizione differente.",
-            "key": "M",
-            "annotation": {
-                "point": "Mosso un punto.",
-                "vertex": "Mosso un nodo su una linea.",
-                "line": "Mossa una linea.",
-                "area": "Mossa un'area.",
-                "multiple": "Spostati diversi oggetti."
-            },
-            "incomplete_relation": "Questo elemento non può essere spostato perché non è ancora stato scaricato completamente."
-        },
-        "rotate": {
-            "title": "Ruota",
-            "description": "Ruota questo oggetto intorno al suo centro.",
-            "key": "R",
-            "annotation": {
-                "line": "Ruotata una linea.",
-                "area": "Ruotata un'area."
+        }
+
+        function clickNudge(d) {
+            var timeout = window.setTimeout(function() {
+                    interval = window.setInterval(nudge, 100);
+                }, 500),
+                interval;
+
+            d3.select(this).on('mouseup', function() {
+                window.clearInterval(interval);
+                window.clearTimeout(timeout);
+                nudge();
+            });
+
+            function nudge() {
+                var offset = context.background()
+                    .nudge(d[1], context.map().zoom())
+                    .offset();
+                resetButton.classed('disabled', offset[0] === 0 && offset[1] === 0);
             }
-        },
-        "reverse": {
-            "title": "Cambia direzione",
-            "description": "Fai andare questa linea nella direzione opposta.",
-            "key": "V",
-            "annotation": "Cambiata direzione ad una linea."
-        },
-        "split": {
-            "title": "Dividi",
-            "description": {
-                "line": "Dividi questa linea in due in questo nodo.",
-                "area": "Dividi il bordo di quest'area in due.",
-                "multiple": "Dividi le linee/bordi di area a questo nodo in due."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Dividi una linea.",
-                "area": "Dividi il bordo di un area.",
-                "multiple": "Dividi {n} linee/bordi di aree."
-            },
-            "not_eligible": "Le linee non possono essere divise al loro inizio o alla loro fine.",
-            "multiple_ways": "Ci sono troppe linee da dividere."
         }
-    },
-    "nothing_to_undo": "Niente da ripristinare.",
-    "nothing_to_redo": "Niente da rifare.",
-    "just_edited": "Hai appena modificato OpenStreetMap!",
-    "browser_notice": "Questo editor è supportato in Firefox, Chrome, Safari, Opera, e Internet Explorer 9 e superiori. Aggiorna il tuo browser o usa Potlatch 2 per modificare la mappa.",
-    "view_on_osm": "Guarda su OSM",
-    "zoom_in_edit": "ingrandisci per modificare la mappa",
-    "logout": "logout",
-    "loading_auth": "Connettendomi ad OpenStreetMap...",
-    "report_a_bug": "segnala un bug",
-    "commit": {
-        "title": "Salva le modifiche",
-        "description_placeholder": "Una breve descrizione delle tue modifiche",
-        "message_label": "Messaggio di invio",
-        "upload_explanation": "I cambiamenti che carichi come {user} saranno visibili su tutte le mappe che usano i dati di OpenStreetMap.",
-        "save": "Salva",
-        "cancel": "Annulla",
-        "warnings": "Avvertimenti",
-        "modified": "Modificati",
-        "deleted": "Cancellati",
-        "created": "Creati"
-    },
-    "contributors": {
-        "list": "Stai vedendo i contributi di {users}",
-        "truncated_list": "Stai vedendo i contributi di {users} ed altri {count}"
-    },
-    "geocoder": {
-        "title": "Trova un luogo",
-        "placeholder": "Trova un luogo",
-        "no_results": "Non trovo un luogo chiamato '{name}'"
-    },
-    "geolocate": {
-        "title": "Mostra la mia posizione"
-    },
-    "inspector": {
-        "no_documentation_combination": "Non c'è documentazione per questa combinazione di tag",
-        "no_documentation_key": "Non c'è documentazione per questa chiave",
-        "show_more": "Mostra di più",
-        "new_tag": "Nuovo Tag",
-        "view_on_osm": "Vedi su openstreetmap.org",
-        "editing_feature": "Modificando {feature}",
-        "additional": "Tag aggiuntivi",
-        "choose": "Seleziona il tipo di caratteristica",
-        "results": "{n} risultati per {search}",
-        "reference": "Vedi sulla Wiki di OpenStreetMap →",
-        "back_tooltip": "Cambia il tipo di caratteristica"
-    },
-    "background": {
-        "title": "Sfondo",
-        "description": "Impostazioni dello sfondo",
-        "percent_brightness": "{opacity}% luminosità",
-        "fix_misalignment": "Allinea",
-        "reset": "reset"
-    },
-    "restore": {
-        "heading": "Hai modifiche non salvate",
-        "description": "Hai modifiche non salvate da una sessione precedente. Vuoi ripristinare questi cambiamenti?",
-        "restore": "Ripristina",
-        "reset": "Reset"
-    },
-    "save": {
-        "title": "Salva",
-        "help": "Salva i cambiamenti su OpenStreetMap, rendendoli visibili ad altri utenti.",
-        "no_changes": "Nessuna modifica da salvare.",
-        "error": "E' accaduto un errore mentre veniva tentato il salvataggio",
-        "uploading": "Caricamento delle modifiche su OpenStreetMap.",
-        "unsaved_changes": "Hai modifiche non salvate"
-    },
-    "splash": {
-        "welcome": "Benvenuti nell'editor OpenStreetMap iD",
-        "text": "Questa è la versione di sviluppo {version}. Per maggiori informazioni vedi {website} e segnala i bug su {github}.",
-        "walkthrough": "Inizia il Tutorial",
-        "start": "Modifica adesso"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "Hai modifiche non salvate. Cambiare il server le farà scartare. Sei sicuro?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Descrizione",
-        "on_wiki": "{tag} su wiki.osm.org",
-        "used_with": "usato con {type}"
-    },
-    "validations": {
-        "untagged_point": "Punto senta tag",
-        "untagged_line": "Linea senza tag",
-        "untagged_area": "Area senza tag",
-        "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
-        "tag_suggests_area": "Il tag {tag} fa pensare che la linea sia un'area, ma non rappresenta un'area",
-        "deprecated_tags": "Tag deprecati: {tags}"
-    },
-    "zoom": {
-        "in": "Ingrandisci",
-        "out": "Riduci"
-    },
-    "gpx": {
-        "local_layer": "File GPX locale",
-        "drag_drop": "Trascina e rilascia un file gpx sulla pagina"
-    },
-    "help": {
-        "title": "Aiuto",
-        "help": "# Aiuto\n\nQuesto è un editor per [OpenStreetMap](http://www.openstreetmap.org/), la\nmappa del mondo gratuita e modificabile. Puoi usarlo per aggiungere ed aggiornare\ndati nella tua area, rendendo una mappa del mondo open-source e open-data\nmeglio per tutti.\n\nLe modifiche che fai a questa mappa saranno visibili a chiunque usa\nOpenStreetMap. Per fare una modifica, avrai bisogno di un\n[account gratuito OpenStreetMap](https://www.openstreetmap.org/user/new).\n\n[iD editor](http://ideditor.com/) è un progetto collaborativo il cui [codice\nsorgente è disponibile su GitHub](https://github.com/systemed/iD).\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "L'area della mappa principale mostra i dati OpenStreetMap su di uno sfondo. Puoi navigare trascinanndo e scorrendo, proprio come in ogni mappa web. **Trascina la mappa!**",
-            "select": "Gli elementi della mappa sono rappresentai in tre modi: usando punti, linee o aree. Tutti gli elementi possono essere selezionati cliccando su di essi. **Clicca sul punto per selezionarlo.**",
-            "header": "L'intestazione mostra il tipo di elemento.",
-            "pane": "Quando un elemento è selezionato viene mostrato l'editor dell'elemento. L'intestazione mostra il tipo di elemento a il pannello principale mostra gli attributi dell'elemento, come il nome e l'indirizzo. **Chiudi l'editor dell'elemento con il pulsante chiudi in alto a destra.**"
-        },
-        "points": {
-            "add": "I punti possono essere usati per rappresentare elementi come negozi, ristoranti e monumenti. Indicano un luogo specifico e descrivono cos'è. **Clicca il bottone Punto per aggiungere un nuovo punto.**",
-            "place": "Il punto può essere piazzato cliccando sulla mappa. **Piazza il punto sull'edificio.**",
-            "search": "Ci sono diversi elementi che possono essere rappresentati da punti. Il punto che hai appena aggiunto è un Caffè. **Cerca 'Caffè'**",
-            "choose": "**Scegli Caffè dalla griglia.**",
-            "describe": "Ora il punto è marcato come Caffè. Usando l'editor dell'elemento possiamo aggiungere più informazioni sull'elemento stesso. **Aggiungi un nome**",
-            "close": "L'editor dell'elemento può essere chiuso cliccando sul pulsante chiudi. **Chiudi l'editor dell'elemento**",
-            "reselect": "Spesso esistono già dei punti, ma contengono errori o sono incompleti. I punti esistenti si possono modificare. **Seleziona il punto che hai appena creato.**",
-            "fixname": "**Cambia il nome e chiudi l'editor dell'elemento.**",
-            "reselect_delete": "Tutti gli elementi sulla mappa possono essere cancellati. **Clicca sul punto che hai creato.**",
-            "delete": "Il menu attorno al punto contiene le operazioni che possono essere fatte su di esso, inclusa la cancellazione. **Cancella il punto.**"
-        },
-        "areas": {
-            "add": "Le aree sono un modo più dettagliato per rappresentare degli elementi. Forniscono informazioni sui confini dell'elemento. Molto spesso è preferibile usare le aree al posto dei punti. **Clicca il pulsante Area per aggiungere una nuova area.**",
-            "describe": "**Aggiungi un nome e chiudi l'editor dell'elemento**"
-        },
-        "lines": {
-            "add": "Le linee sono usate per rappresentare elementi come strade, ferrovie e fiumi. **Clicca il bottone Linea per aggiungere una nuova linea.**",
-            "start": "**Inizia la linea cliccando sulla fine della strada.**",
-            "intersect": "Clicca per aggiungere altri nodi alla linea. Puoi trascinare la mappa mentre disegni, se necessario. Le strade, e molti altri tipi di linea, fanno parte di una rete più larga. È importante che queste linee siano connesse correttamente perché le applicazioni che creano itinerari funzionino. **Clicca su Flower Street per creare un'intersezione che collega le due linee.**",
-            "road": "**Seleziona Strada dalla griglia**",
-            "residential": "Ci sono diversi tipi di strade, il più comune dei quali è Residenziale. **Scegli il tipo di strada Residenziale**",
-            "describe": "**Dai un nome alla strada e chiudi l'editor dell'elemento.**",
-            "restart": "La strada deve intersecare Flower Street"
-        },
-        "startediting": {
-            "help": "Più informazioni su questa guida sono disponibili qui.",
-            "save": "Non dimenticare di salvare periodicamente le tue modifiche!",
-            "start": "Inizia a mappare!"
+
+        function hide() { setVisible(false); }
+
+        function toggle() {
+            if (d3.event) d3.event.preventDefault();
+            tooltip.hide(button);
+            setVisible(!button.classed('active'));
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Accesso",
-                "types": {
-                    "horse": "Cavalli"
-                }
-            },
-            "address": {
-                "label": "Indirizzo",
-                "placeholders": {
-                    "housename": "Nome della casa",
-                    "number": "123",
-                    "street": "Strada",
-                    "city": "Città"
-                }
-            },
-            "aeroway": {
-                "label": "Tipo"
-            },
-            "amenity": {
-                "label": "Tipo"
-            },
-            "atm": {
-                "label": "Bancomat"
-            },
-            "barrier": {
-                "label": "Tipo"
-            },
-            "bicycle_parking": {
-                "label": "Tipo"
-            },
-            "building": {
-                "label": "Edificio"
-            },
-            "building_area": {
-                "label": "Edificio"
-            },
-            "building_yes": {
-                "label": "Edificio"
-            },
-            "capacity": {
-                "label": "Capienza"
-            },
-            "collection_times": {
-                "label": "Orari di raccolta"
-            },
-            "construction": {
-                "label": "Tipo"
-            },
-            "country": {
-                "label": "Stato"
-            },
-            "crossing": {
-                "label": "Tipo"
-            },
-            "cuisine": {
-                "label": "Cucina"
-            },
-            "denomination": {
-                "label": "Confessione"
-            },
-            "denotation": {
-                "label": "Denotazione"
-            },
-            "elevation": {
-                "label": "Altitudine"
-            },
-            "emergency": {
-                "label": "Emergenza"
-            },
-            "entrance": {
-                "label": "Tipo"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Tariffa"
-            },
-            "highway": {
-                "label": "Tipo"
-            },
-            "historic": {
-                "label": "Tipo"
-            },
-            "internet_access": {
-                "label": "Accesso ad Internet",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Via cavo",
-                    "terminal": "Terminale"
-                }
-            },
-            "landuse": {
-                "label": "Tipo"
-            },
-            "layer": {
-                "label": "Livello"
-            },
-            "leisure": {
-                "label": "Tipo"
-            },
-            "levels": {
-                "label": "Piani"
-            },
-            "man_made": {
-                "label": "Tipo"
-            },
-            "maxspeed": {
-                "label": "Limite di velocità"
-            },
-            "name": {
-                "label": "Nome"
-            },
-            "natural": {
-                "label": "Naturale"
-            },
-            "network": {
-                "label": "Rete"
-            },
-            "note": {
-                "label": "Nota"
-            },
-            "office": {
-                "label": "Tipo"
-            },
-            "oneway": {
-                "label": "Senso unico"
-            },
-            "oneway_yes": {
-                "label": "Senso unico"
-            },
-            "opening_hours": {
-                "label": "Ore"
-            },
-            "operator": {
-                "label": "Operatore"
-            },
-            "phone": {
-                "label": "Telefono"
-            },
-            "place": {
-                "label": "Tipo"
-            },
-            "power": {
-                "label": "Tipo"
-            },
-            "railway": {
-                "label": "Tipo"
-            },
-            "ref": {
-                "label": "Riferimento"
-            },
-            "religion": {
-                "label": "Religione",
-                "options": {
-                    "christian": "Cristiana",
-                    "muslim": "Musulmana",
-                    "buddhist": "Buddista",
-                    "jewish": "Ebraica",
-                    "hindu": "Indù",
-                    "shinto": "Shintoista",
-                    "taoist": "Taoista"
-                }
-            },
-            "service": {
-                "label": "Tipo"
-            },
-            "shelter": {
-                "label": "Riparo"
-            },
-            "shop": {
-                "label": "Tipo"
-            },
-            "source": {
-                "label": "Fonte"
-            },
-            "sport": {
-                "label": "Sport"
-            },
-            "structure": {
-                "label": "Struttura",
-                "options": {
-                    "bridge": "Ponte",
-                    "tunnel": "Tunnel",
-                    "embankment": "Argine"
+
+        function setVisible(show) {
+            if (show !== shown) {
+                button.classed('active', show);
+                shown = show;
+
+                if (show) {
+                    selection.on('mousedown.background-inside', function() {
+                        return d3.event.stopPropagation();
+                    });
+                    content.style('display', 'block')
+                        .style('right', '-300px')
+                        .transition()
+                        .duration(200)
+                        .style('right', '0px');
+                } else {
+                    content.style('display', 'block')
+                        .style('right', '0px')
+                        .transition()
+                        .duration(200)
+                        .style('right', '-300px')
+                        .each('end', function() {
+                            d3.select(this).style('display', 'none');
+                        });
+                    selection.on('mousedown.background-inside', null);
                 }
-            },
-            "surface": {
-                "label": "Superficie"
-            },
-            "tourism": {
-                "label": "Tipo"
-            },
-            "water": {
-                "label": "Tipo"
-            },
-            "waterway": {
-                "label": "Tipo"
-            },
-            "website": {
-                "label": "Sito web"
-            },
-            "wetland": {
-                "label": "Tipo"
-            },
-            "wheelchair": {
-                "label": "Accesso in carrozzina"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Tipo"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Pista aeroportuale"
-            },
-            "aeroway/aerodrome": {
-                "name": "Aeroporto",
-                "terms": "aeroplano,aeroporto,aerodromo"
-            },
-            "aeroway/helipad": {
-                "name": "Elisuperficie",
-                "terms": "elicottero,elisuperficie,eliporto"
-            },
-            "amenity": {
-                "name": "Servizi"
-            },
-            "amenity/bank": {
-                "name": "Banca"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Panchina"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Parcheggio biciclette"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Noleggio biciclette"
-            },
-            "amenity/cafe": {
-                "name": "Caffè"
-            },
-            "amenity/cinema": {
-                "name": "Cinema"
-            },
-            "amenity/courthouse": {
-                "name": "Tribunale"
-            },
-            "amenity/embassy": {
-                "name": "Ambasciata"
-            },
-            "amenity/fast_food": {
-                "name": "Fast Food"
-            },
-            "amenity/fire_station": {
-                "name": "Caserma dei pompieri"
-            },
-            "amenity/fuel": {
-                "name": "Stazione di servizio"
-            },
-            "amenity/grave_yard": {
-                "name": "Cimitero"
-            },
-            "amenity/hospital": {
-                "name": "Ospedale"
-            },
-            "amenity/library": {
-                "name": "Biblioteca"
-            },
-            "amenity/marketplace": {
-                "name": "Mercato"
-            },
-            "amenity/parking": {
-                "name": "Parcheggio"
-            },
-            "amenity/pharmacy": {
-                "name": "Farmacia"
-            },
-            "amenity/place_of_worship": {
-                "name": "Luogo di culto"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Chiesa"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Sinagoga",
-                "terms": "ebrea,sinagoga"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Moschea",
-                "terms": "musulmana,moschea"
-            },
-            "amenity/police": {
-                "name": "Forze di polizia"
-            },
-            "amenity/post_box": {
-                "name": "Buca delle lettere"
-            },
-            "amenity/post_office": {
-                "name": "Ufficio Postale"
-            },
-            "amenity/pub": {
-                "name": "Pub"
-            },
-            "amenity/restaurant": {
-                "name": "Ristorante"
-            },
-            "amenity/school": {
-                "name": "Scuola"
-            },
-            "amenity/swimming_pool": {
-                "name": "Piscina"
-            },
-            "amenity/telephone": {
-                "name": "Telefono"
-            },
-            "amenity/theatre": {
-                "name": "Teatro"
-            },
-            "amenity/toilets": {
-                "name": "Bagni"
-            },
-            "amenity/townhall": {
-                "name": "Municipio"
-            },
-            "amenity/university": {
-                "name": "Università"
-            },
-            "barrier": {
-                "name": "Barriera"
-            },
-            "barrier/block": {
-                "name": "Blocco"
-            },
-            "barrier/city_wall": {
-                "name": "Mura cittadine"
-            },
-            "barrier/ditch": {
-                "name": "Fossato"
-            },
-            "barrier/entrance": {
-                "name": "Entrata"
-            },
-            "barrier/fence": {
-                "name": "Recinto"
-            },
-            "barrier/gate": {
-                "name": "Cancello"
-            },
-            "barrier/hedge": {
-                "name": "Siepe"
-            },
-            "barrier/stile": {
-                "name": "Scaletta"
-            },
-            "barrier/toll_booth": {
-                "name": "Casello"
-            },
-            "barrier/wall": {
-                "name": "Muro"
-            },
-            "building": {
-                "name": "Edificio"
-            },
-            "building/entrance": {
-                "name": "Entrata"
-            },
-            "entrance": {
-                "name": "Entrata"
-            },
-            "highway": {
-                "name": "Strada"
-            },
-            "highway/bridleway": {
-                "name": "Ippovia"
-            },
-            "highway/bus_stop": {
-                "name": "Fermata dell'autobus"
-            },
-            "highway/crossing": {
-                "name": "Attraversamento",
-                "terms": "attraversamento pedonale,strisce pedonali"
-            },
-            "highway/cycleway": {
-                "name": "Percorso ciclabile"
-            },
-            "highway/footway": {
-                "name": "Percorso pedonale"
-            },
-            "highway/motorway": {
-                "name": "Autostrada"
-            },
-            "highway/motorway_link": {
-                "name": "Raccordo autostradale"
-            },
-            "highway/path": {
-                "name": "Sentiero"
-            },
-            "highway/primary": {
-                "name": "Strada di importanza nazionale"
-            },
-            "highway/residential": {
-                "name": "Strada residenziale"
-            },
-            "highway/road": {
-                "name": "Strada non conosciuta"
-            },
-            "highway/secondary": {
-                "name": "Strada di importanza regionale"
-            },
-            "highway/service": {
-                "name": "Strada di servizio"
-            },
-            "highway/steps": {
-                "name": "Scale",
-                "terms": "scale,scalinata"
-            },
-            "highway/tertiary": {
-                "name": "Strada di importanza locale"
-            },
-            "highway/track": {
-                "name": "Strada ad uso agricolo / forestale"
-            },
-            "highway/traffic_signals": {
-                "name": "Semaforo",
-                "terms": "semaforo,luce semaforica,lanterna semaforica"
-            },
-            "highway/trunk": {
-                "name": "Superstrada"
-            },
-            "highway/turning_circle": {
-                "name": "Slargo per inversione"
-            },
-            "highway/unclassified": {
-                "name": "Viabilità ordinaria"
-            },
-            "historic": {
-                "name": "Sito storico"
-            },
-            "historic/archaeological_site": {
-                "name": "Sito archeologico"
-            },
-            "historic/boundary_stone": {
-                "name": "Pietra di confine"
-            },
-            "historic/castle": {
-                "name": "Castello"
-            },
-            "historic/memorial": {
-                "name": "Memoriale"
-            },
-            "historic/monument": {
-                "name": "Monumento"
-            },
-            "historic/ruins": {
-                "name": "Rovine"
-            },
-            "landuse": {
-                "name": "Uso del suolo"
-            },
-            "landuse/allotments": {
-                "name": "Orti in concessione"
-            },
-            "landuse/basin": {
-                "name": "Bacino"
-            },
-            "landuse/cemetery": {
-                "name": "Cimitero"
-            },
-            "landuse/commercial": {
-                "name": "Commerciale"
-            },
-            "landuse/construction": {
-                "name": "Costruzione"
-            },
-            "landuse/farm": {
-                "name": "Agricolo"
-            },
-            "landuse/farmyard": {
-                "name": "Fattoria"
-            },
-            "landuse/forest": {
-                "name": "Foresta"
-            },
-            "landuse/grass": {
-                "name": "Erba"
-            },
-            "landuse/industrial": {
-                "name": "Industriale"
-            },
-            "landuse/meadow": {
-                "name": "Coltivazione erbacea"
-            },
-            "landuse/orchard": {
-                "name": "Frutteto"
-            },
-            "landuse/quarry": {
-                "name": "Cava"
-            },
-            "landuse/residential": {
-                "name": "Residenziale"
-            },
-            "landuse/vineyard": {
-                "name": "Vigneto"
-            },
-            "leisure": {
-                "name": "Svago"
-            },
-            "leisure/garden": {
-                "name": "Giardino"
-            },
-            "leisure/golf_course": {
-                "name": "Campo da Golf"
-            },
-            "leisure/park": {
-                "name": "Parco"
-            },
-            "leisure/pitch": {
-                "name": "Campo da gioco"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Campo da Football Americano"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Diamante da Baseball"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Campo da basket"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Campo di calcio"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Campo da tennis"
-            },
-            "leisure/playground": {
-                "name": "Parco giochi"
-            },
-            "leisure/slipway": {
-                "name": "Scivolo per barche"
-            },
-            "leisure/stadium": {
-                "name": "Stadio"
-            },
-            "leisure/swimming_pool": {
-                "name": "Piscina"
-            },
-            "man_made": {
-                "name": "Costruzioni civili"
-            },
-            "man_made/lighthouse": {
-                "name": "Faro"
-            },
-            "man_made/pier": {
-                "name": "Molo"
-            },
-            "man_made/survey_point": {
-                "name": "Punto geodetico"
-            },
-            "man_made/water_tower": {
-                "name": "Torre Idrica"
-            },
-            "natural": {
-                "name": "Naturale"
-            },
-            "natural/bay": {
-                "name": "Baia"
-            },
-            "natural/beach": {
-                "name": "Spiaggia"
-            },
-            "natural/cliff": {
-                "name": "Scogliera"
-            },
-            "natural/coastline": {
-                "name": "Linea di costa",
-                "terms": "riva"
-            },
-            "natural/glacier": {
-                "name": "Ghiacciaio"
-            },
-            "natural/grassland": {
-                "name": "Prateria"
-            },
-            "natural/heath": {
-                "name": "Brughiera"
-            },
-            "natural/peak": {
-                "name": "Picco"
-            },
-            "natural/scrub": {
-                "name": "Macchia mediterranea"
-            },
-            "natural/spring": {
-                "name": "Sorgente"
-            },
-            "natural/tree": {
-                "name": "Albero"
-            },
-            "natural/water": {
-                "name": "Specchio d'acqua"
-            },
-            "natural/water/lake": {
-                "name": "Lago"
-            },
-            "natural/water/pond": {
-                "name": "Stagno"
-            },
-            "natural/water/reservoir": {
-                "name": "Bacino idrico"
-            },
-            "natural/wetland": {
-                "name": "Zona umida"
-            },
-            "natural/wood": {
-                "name": "Foresta"
-            },
-            "office": {
-                "name": "Uffici"
-            },
-            "other": {
-                "name": "Altro"
-            },
-            "other_area": {
-                "name": "Altro"
-            },
-            "place": {
-                "name": "Luogo"
-            },
-            "place/city": {
-                "name": "Città"
-            },
-            "place/hamlet": {
-                "name": "Paese"
-            },
-            "place/island": {
-                "name": "Isola"
-            },
-            "place/locality": {
-                "name": "Località"
-            },
-            "place/village": {
-                "name": "Villaggio"
-            },
-            "power": {
-                "name": "Energia"
-            },
-            "power/generator": {
-                "name": "Centrale elettrica"
-            },
-            "power/line": {
-                "name": "Linea elettrica"
-            },
-            "power/sub_station": {
-                "name": "Sottostazione"
-            },
-            "power/transformer": {
-                "name": "Trasformatore"
-            },
-            "railway": {
-                "name": "Ferrovia"
-            },
-            "railway/abandoned": {
-                "name": "Ferrovia abbandonata"
-            },
-            "railway/disused": {
-                "name": "Ferrovia in disuso"
-            },
-            "railway/level_crossing": {
-                "name": "Passaggio a livello"
-            },
-            "railway/monorail": {
-                "name": "Monorotaia"
-            },
-            "railway/rail": {
-                "name": "Binario"
-            },
-            "railway/subway": {
-                "name": "Metropolitana"
-            },
-            "railway/subway_entrance": {
-                "name": "Entrata di metropolitana"
-            },
-            "railway/tram": {
-                "name": "Tram"
-            },
-            "shop": {
-                "name": "Negozio"
-            },
-            "shop/alcohol": {
-                "name": "Negozio di liquori"
-            },
-            "shop/bakery": {
-                "name": "Panificio"
-            },
-            "shop/beauty": {
-                "name": "Negozio di articoli di bellezza"
-            },
-            "shop/beverages": {
-                "name": "Negozio di bevande"
-            },
-            "shop/bicycle": {
-                "name": "Negozio di biciclette"
-            },
-            "shop/books": {
-                "name": "Libreria"
-            },
-            "shop/boutique": {
-                "name": "Boutique"
-            },
-            "shop/butcher": {
-                "name": "Macellaio"
-            },
-            "shop/car": {
-                "name": "Concessionario"
-            },
-            "shop/car_parts": {
-                "name": "Negozio di autoricambi"
-            },
-            "shop/car_repair": {
-                "name": "Autofficina"
-            },
-            "shop/chemist": {
-                "name": "Farm"
-            },
-            "shop/clothes": {
-                "name": "Negozio di abbigliamento"
-            },
-            "shop/computer": {
-                "name": "Negozio di informatica"
-            },
-            "shop/confectionery": {
-                "name": "Pasticceria"
-            },
-            "shop/convenience": {
-                "name": "Minimarket"
-            },
-            "shop/deli": {
-                "name": "Gastronomia"
-            },
-            "shop/department_store": {
-                "name": "Supermercato"
-            },
-            "shop/doityourself": {
-                "name": "Negozio di fai-da-te"
-            },
-            "shop/dry_cleaning": {
-                "name": "Lavanderia"
-            },
-            "shop/electronics": {
-                "name": "Negozio di elettronica"
-            },
-            "shop/fishmonger": {
-                "name": "Pescivendolo"
-            },
-            "shop/florist": {
-                "name": "Fioraio"
-            },
-            "shop/garden_centre": {
-                "name": "Vivaio"
-            },
-            "shop/greengrocer": {
-                "name": "Fruttivendolo"
-            },
-            "shop/hairdresser": {
-                "name": "Parrucchiere"
-            },
-            "shop/jewelry": {
-                "name": "Gioielliere"
-            },
-            "shop/kiosk": {
-                "name": "Edicola"
-            },
-            "shop/laundry": {
-                "name": "Lavanderia"
-            },
-            "shop/mall": {
-                "name": "Centro commerciale"
-            },
-            "shop/mobile_phone": {
-                "name": "Negozio di telefonia mobile"
-            },
-            "shop/music": {
-                "name": "Negozio di musica"
-            },
-            "shop/newsagent": {
-                "name": "Edicola"
-            },
-            "shop/optician": {
-                "name": "Ottico"
-            },
-            "shop/pet": {
-                "name": "Negozio di animali"
-            },
-            "shop/shoes": {
-                "name": "Negozio di scarpe"
-            },
-            "shop/stationery": {
-                "name": "Negozio di cancelleria"
-            },
-            "shop/supermarket": {
-                "name": "Supermercato"
-            },
-            "shop/toys": {
-                "name": "Negozio di giocattoli"
-            },
-            "shop/travel_agency": {
-                "name": "Agenzia di viaggi"
-            },
-            "shop/tyres": {
-                "name": "Gommista"
-            },
-            "shop/vacant": {
-                "name": "Negozio vuoto"
-            },
-            "shop/video": {
-                "name": "Videoteca"
-            },
-            "tourism": {
-                "name": "Turismo"
-            },
-            "tourism/alpine_hut": {
-                "name": "Rifugio"
-            },
-            "tourism/artwork": {
-                "name": "Opera d'arte"
-            },
-            "tourism/attraction": {
-                "name": "Attrazione turistica"
-            },
-            "tourism/camp_site": {
-                "name": "Campeggio"
-            },
-            "tourism/caravan_site": {
-                "name": "Sosta per camper"
-            },
-            "tourism/chalet": {
-                "name": "Chalet"
-            },
-            "tourism/guest_house": {
-                "name": "Affittacamere",
-                "terms": "B&B,Bed & Breakfast,Bed and Breakfast"
-            },
-            "tourism/hostel": {
-                "name": "Ostello"
-            },
-            "tourism/hotel": {
-                "name": "Albergo"
-            },
-            "tourism/information": {
-                "name": "Informazioni"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Museo"
-            },
-            "tourism/picnic_site": {
-                "name": "Area picnic"
-            },
-            "tourism/theme_park": {
-                "name": "Parco a tema"
-            },
-            "tourism/viewpoint": {
-                "name": "Punto panoramico"
-            },
-            "tourism/zoo": {
-                "name": "Zoo"
-            },
-            "waterway": {
-                "name": "Corso d'acqua"
-            },
-            "waterway/canal": {
-                "name": "Canale"
-            },
-            "waterway/dam": {
-                "name": "Diga"
-            },
-            "waterway/ditch": {
-                "name": "Fossato"
-            },
-            "waterway/drain": {
-                "name": "Canale di scolo"
-            },
-            "waterway/river": {
-                "name": "Fiume"
-            },
-            "waterway/riverbank": {
-                "name": "Argine"
-            },
-            "waterway/stream": {
-                "name": "Torrente"
-            },
-            "waterway/weir": {
-                "name": "Sbarramento"
             }
         }
+
+
+        var content = selection.append('div')
+                .attr('class', 'fillL map-overlay col3 content hide'),
+            tooltip = bootstrap.tooltip()
+                .placement('left')
+                .html(true)
+                .title(iD.ui.tooltipHtml(t('background.description'), key)),
+            button = selection.append('button')
+                .attr('tabindex', -1)
+                .on('click', toggle)
+                .call(iD.svg.Icon('#icon-layers', 'light'))
+                .call(tooltip),
+            shown = false;
+
+        var opa = content.append('div')
+                .attr('class', 'opacity-options-wrapper');
+
+        opa.append('h4')
+            .text(t('background.title'));
+
+        var opacityList = opa.append('ul')
+            .attr('class', 'opacity-options');
+
+        opacityList.selectAll('div.opacity')
+            .data(opacities)
+            .enter()
+            .append('li')
+            .attr('data-original-title', function(d) {
+                return t('background.percent_brightness', { opacity: (d * 100) });
+            })
+            .on('click.set-opacity', setOpacity)
+            .html('<div class="select-box"></div>')
+            .call(bootstrap.tooltip()
+                .placement('left'))
+            .append('div')
+            .attr('class', 'opacity')
+            .style('opacity', function(d) { return 1.25 - d; });
+
+        var backgroundList = content.append('ul')
+            .attr('class', 'layer-list');
+
+        var custom = backgroundList.append('li')
+            .attr('class', 'custom_layer')
+            .datum(iD.BackgroundSource.Custom());
+
+        custom.append('button')
+            .attr('class', 'layer-browse')
+            .call(bootstrap.tooltip()
+                .title(t('background.custom_button'))
+                .placement('left'))
+            .on('click', editCustom)
+            .call(iD.svg.Icon('#icon-search'));
+
+        var label = custom.append('label');
+
+        label.append('input')
+            .attr('type', 'radio')
+            .attr('name', 'layers')
+            .on('change', function () {
+                if (customTemplate) {
+                    setCustom(customTemplate);
+                } else {
+                    editCustom();
+                }
+            });
+
+        label.append('span')
+            .text(t('background.custom'));
+
+        var overlayList = content.append('ul')
+            .attr('class', 'layer-list');
+
+        var controls = content.append('div')
+            .attr('class', 'controls-list');
+
+        var minimapLabel = controls
+            .append('label')
+            .call(bootstrap.tooltip()
+                .html(true)
+                .title(iD.ui.tooltipHtml(t('background.minimap.tooltip'), '/'))
+                .placement('top')
+            );
+
+        minimapLabel.classed('minimap-toggle', true)
+            .append('input')
+            .attr('type', 'checkbox')
+            .on('change', function() {
+                iD.ui.MapInMap.toggle();
+                d3.event.preventDefault();
+            });
+
+        minimapLabel.append('span')
+            .text(t('background.minimap.description'));
+
+        var adjustments = content.append('div')
+            .attr('class', 'adjustments');
+
+        adjustments.append('a')
+            .text(t('background.fix_misalignment'))
+            .attr('href', '#')
+            .classed('hide-toggle', true)
+            .classed('expanded', false)
+            .on('click', function() {
+                var exp = d3.select(this).classed('expanded');
+                nudgeContainer.style('display', exp ? 'none' : 'block');
+                d3.select(this).classed('expanded', !exp);
+                d3.event.preventDefault();
+            });
+
+        var nudgeContainer = adjustments.append('div')
+            .attr('class', 'nudge-container cf')
+            .style('display', 'none');
+
+        nudgeContainer.selectAll('button')
+            .data(directions).enter()
+            .append('button')
+            .attr('class', function(d) { return d[0] + ' nudge'; })
+            .on('mousedown', clickNudge);
+
+        var resetButton = nudgeContainer
+            .append('button')
+            .attr('class', 'reset disabled')
+            .on('click', function () {
+                context.background().offset([0, 0]);
+                resetButton.classed('disabled', true);
+            })
+            .call(iD.svg.Icon('#icon-undo'));
+
+        context.map()
+            .on('move.background-update', _.debounce(update, 1000));
+
+        context.background()
+            .on('change.background-update', update);
+
+        update();
+        setOpacity(opacityDefault);
+
+        var keybinding = d3.keybinding('background')
+            .on(key, toggle)
+            .on('F', hide)
+            .on('H', hide);
+
+        d3.select(document)
+            .call(keybinding);
+
+        context.surface().on('mousedown.background-outside', hide);
+        context.container().on('mousedown.background-outside', hide);
     }
+
+    return background;
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+// Translate a MacOS key command into the appropriate Windows/Linux equivalent.
+// For example, ⌘Z -> Ctrl+Z
+iD.ui.cmd = function(code) {
+    if (iD.detect().os === 'mac') {
+        return code;
+    }
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    if (iD.detect().os === 'win') {
+        if (code === '⌘⇧Z') return 'Ctrl+Y';
+    }
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+    var result = '',
+        replacements = {
+            '⌘': 'Ctrl',
+            '⇧': 'Shift',
+            '⌥': 'Alt',
+            '⌫': 'Backspace',
+            '⌦': 'Delete'
+        };
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.ja = {
-    "modes": {
-        "add_area": {
-            "title": "エリア",
-            "description": "公園や建物、湖沼など、エリア情報を描画",
-            "tail": "クリックするとエリアの描画が開始されます。公園や湖沼、建物などを描くことができます。"
-        },
-        "add_line": {
-            "title": "ライン",
-            "description": "道路や歩道、用水路など、ラインを描画",
-            "tail": "クリックするとラインの描画が開始されます。道路や歩道、流水経路などを描くことができます。"
-        },
-        "add_point": {
-            "title": "ポイント",
-            "description": "レストランや記念碑、郵便ボックス等、ポイント情報を追加",
-            "tail": "クリックした地点にポイントを追加します"
-        },
-        "browse": {
-            "title": "ブラウズ",
-            "description": "マップの拡大縮小"
-        },
-        "draw_area": {
-            "tail": "クリックすると、エリアへノードを追加することが可能です。描画を完了するには、最初に描いたノードをもう一度クリックしてください。"
-        },
-        "draw_line": {
-            "tail": "クリックすると、ラインへノードを追加することが可能です。別のラインをクリックすることで、ライン同士を接続することができます。ラインの描画を完了させるには、描画を終了させたい地点でダブルクリックしてください。"
+    for (var i = 0; i < code.length; i++) {
+        if (code[i] in replacements) {
+            result += replacements[code[i]] + '+';
+        } else {
+            result += code[i];
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "ポイントの追加",
-                "vertex": "ウェイへのノード追加"
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "ラインの描画開始",
-                "area": "エリアの描画開始"
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "ライン描画の継続",
-                "area": "エリア描画の継続"
-            }
-        },
-        "cancel_draw": {
-            "annotation": "描画のキャンセル"
-        },
-        "change_tags": {
-            "annotation": "タグの変更"
-        },
-        "circularize": {
-            "title": "円状に並べる",
-            "description": {
-                "line": "ラインを円状に整形",
-                "area": "エリアを円状に整形"
-            },
-            "key": "O",
-            "annotation": {
-                "line": "ラインを円状に整形",
-                "area": "エリアを円状に整形"
-            },
-            "not_closed": "エリアが閉じられていないため、円状に整形することができません"
-        },
-        "orthogonalize": {
-            "title": "角の直交化",
-            "description": "角を90度に整形",
-            "key": "Q",
-            "annotation": {
-                "line": "ラインの角を90度に整形",
-                "area": "エリアの角を90度に整形"
-            },
-            "not_closed": "エリアが閉じられていないため、四角形に整形することができません"
-        },
-        "delete": {
-            "title": "削除",
-            "description": "この地物をマップから削除",
-            "annotation": {
-                "point": "ポイントを削除",
-                "vertex": "ウェイ上のノードを削除",
-                "line": "ライン削除",
-                "area": "エリア削除",
-                "relation": "リレーション削除",
-                "multiple": "{n} 個のオブジェクトを削除"
+    }
+
+    return result;
+};
+iD.ui.Commit = function(context) {
+    var dispatch = d3.dispatch('cancel', 'save');
+
+    function commit(selection) {
+        var changes = context.history().changes(),
+            summary = context.history().difference().summary();
+
+        function zoomToEntity(change) {
+            var entity = change.entity;
+            if (change.changeType !== 'deleted' &&
+                context.graph().entity(entity.id).geometry(context.graph()) !== 'vertex') {
+                context.map().zoomTo(entity);
+                context.surface().selectAll(
+                    iD.util.entityOrMemberSelector([entity.id], context.graph()))
+                    .classed('hover', true);
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "ウェイをポイントに接続",
-                "vertex": "ウェイを他のウェイト接続",
-                "line": "ウェイとラインを接続",
-                "area": "ウェイとエリアを接続"
+        }
+
+        var header = selection.append('div')
+            .attr('class', 'header fillL');
+
+        header.append('h3')
+            .text(t('commit.title'));
+
+        var body = selection.append('div')
+            .attr('class', 'body');
+
+
+        // Comment Section
+        var commentSection = body.append('div')
+            .attr('class', 'modal-section form-field commit-form');
+
+        commentSection.append('label')
+            .attr('class', 'form-label')
+            .text(t('commit.message_label'));
+
+        var commentField = commentSection.append('textarea')
+            .attr('placeholder', t('commit.description_placeholder'))
+            .attr('maxlength', 255)
+            .property('value', context.storage('comment') || '')
+            .on('input.save', function() {
+                d3.selectAll('.save-section .save-button')
+                    .attr('disabled', (this.value.length ? null : true));
+            })
+            .on('blur.save', function() {
+                context.storage('comment', this.value);
+            });
+
+        commentField.node().select();
+
+
+        // Warnings
+        var warnings = body.selectAll('div.warning-section')
+            .data([context.history().validate(changes)])
+            .enter()
+            .append('div')
+            .attr('class', 'modal-section warning-section fillL2')
+            .style('display', function(d) { return _.isEmpty(d) ? 'none' : null; })
+            .style('background', '#ffb');
+
+        warnings.append('h3')
+            .text(t('commit.warnings'));
+
+        var warningLi = warnings.append('ul')
+            .attr('class', 'changeset-list')
+            .selectAll('li')
+            .data(function(d) { return d; })
+            .enter()
+            .append('li')
+            .style()
+            .on('mouseover', mouseover)
+            .on('mouseout', mouseout)
+            .on('click', warningClick);
+
+        warningLi
+            .call(iD.svg.Icon('#icon-alert', 'pre-text'));
+
+        warningLi
+            .append('strong').text(function(d) {
+                return d.message;
+            });
+
+        warningLi.filter(function(d) { return d.tooltip; })
+            .call(bootstrap.tooltip()
+                .title(function(d) { return d.tooltip; })
+                .placement('top')
+            );
+
+
+        // Upload Explanation
+        var saveSection = body.append('div')
+            .attr('class','modal-section save-section fillL cf');
+
+        var prose = saveSection.append('p')
+            .attr('class', 'commit-info')
+            .html(t('commit.upload_explanation'));
+
+        context.connection().userDetails(function(err, user) {
+            if (err) return;
+
+            var userLink = d3.select(document.createElement('div'));
+
+            if (user.image_url) {
+                userLink.append('img')
+                    .attr('src', user.image_url)
+                    .attr('class', 'icon pre-text user-icon');
             }
-        },
-        "disconnect": {
-            "title": "接続解除",
-            "description": "ウェイの接続を解除して切り離す",
-            "key": "D",
-            "annotation": "ウェイの接続を解除",
-            "not_connected": "ライン/エリアの接続を解除できません"
-        },
-        "merge": {
-            "title": "結合",
-            "description": "複数のラインを結合",
-            "key": "C",
-            "annotation": "{n} 本のラインを結合",
-            "not_eligible": "地物情報がマージできません",
-            "not_adjacent": "ラインをマージするには、ラインが結合している必要があります。"
-        },
-        "move": {
-            "title": "移動",
-            "description": "この地物を別の位置へ移動",
-            "key": "M",
-            "annotation": {
-                "point": "ポイントを移動",
-                "vertex": "ウェイ上のノードを移動",
-                "line": "ラインの移動",
-                "area": "エリアの移動",
-                "multiple": "Moved multiple objects."
-            },
-            "incomplete_relation": "地物全体がダウンロードされていないため、移動させることができません。"
-        },
-        "rotate": {
-            "title": "Rotate",
-            "description": "Rotate this object around its centre point.",
-            "key": "R",
-            "annotation": {
-                "line": "Rotated a line.",
-                "area": "Rotated an area."
+
+            userLink.append('a')
+                .attr('class','user-info')
+                .text(user.display_name)
+                .attr('href', context.connection().userURL(user.display_name))
+                .attr('tabindex', -1)
+                .attr('target', '_blank');
+
+            prose.html(t('commit.upload_explanation_with_user', {user: userLink.html()}));
+        });
+
+
+        // Buttons
+        var buttonSection = saveSection.append('div')
+            .attr('class','buttons fillL cf');
+
+        var saveButton = buttonSection.append('button')
+            .attr('class', 'action col5 button save-button')
+            .attr('disabled', function() {
+                var n = d3.select('.commit-form textarea').node();
+                return (n && n.value.length) ? null : true;
+            })
+            .on('click.save', function() {
+                dispatch.save({
+                    comment: commentField.node().value
+                });
+            });
+
+        saveButton.append('span')
+            .attr('class', 'label')
+            .text(t('commit.save'));
+
+        var cancelButton = buttonSection.append('button')
+            .attr('class', 'action col5 button cancel-button')
+            .on('click.cancel', function() { dispatch.cancel(); });
+
+        cancelButton.append('span')
+            .attr('class', 'label')
+            .text(t('commit.cancel'));
+
+
+        // Changes
+        var changeSection = body.selectAll('div.commit-section')
+            .data([0])
+            .enter()
+            .append('div')
+            .attr('class', 'commit-section modal-section fillL2');
+
+        changeSection.append('h3')
+            .text(t('commit.changes', {count: summary.length}));
+
+        var li = changeSection.append('ul')
+            .attr('class', 'changeset-list')
+            .selectAll('li')
+            .data(summary)
+            .enter()
+            .append('li')
+            .on('mouseover', mouseover)
+            .on('mouseout', mouseout)
+            .on('click', zoomToEntity);
+
+        li.each(function(d) {
+            d3.select(this)
+                .call(iD.svg.Icon('#icon-' + d.entity.geometry(d.graph), 'pre-text ' + d.changeType));
+        });
+
+        li.append('span')
+            .attr('class', 'change-type')
+            .text(function(d) {
+                return t('commit.' + d.changeType) + ' ';
+            });
+
+        li.append('strong')
+            .attr('class', 'entity-type')
+            .text(function(d) {
+                return context.presets().match(d.entity, d.graph).name();
+            });
+
+        li.append('span')
+            .attr('class', 'entity-name')
+            .text(function(d) {
+                var name = iD.util.displayName(d.entity) || '',
+                    string = '';
+                if (name !== '') string += ':';
+                return string += ' ' + name;
+            });
+
+        li.style('opacity', 0)
+            .transition()
+            .style('opacity', 1);
+
+        li.style('opacity', 0)
+            .transition()
+            .style('opacity', 1);
+
+        function mouseover(d) {
+            if (d.entity) {
+                context.surface().selectAll(
+                    iD.util.entityOrMemberSelector([d.entity.id], context.graph())
+                ).classed('hover', true);
             }
-        },
-        "reverse": {
-            "title": "方向反転",
-            "description": "ラインの向きを反転",
-            "key": "V",
-            "annotation": "ラインの方向反転"
-        },
-        "split": {
-            "title": "分割",
-            "description": {
-                "line": "このノードを境としてラインを分割",
-                "area": "このエリアの外周を2つに分割",
-                "multiple": "このノードを境としてライン/エリアを分割"
-            },
-            "key": "X",
-            "annotation": {
-                "line": "ラインの分割",
-                "area": "エリア外周を分割",
-                "multiple": "{n} ライン/エリア外周を分割"
-            },
-            "not_eligible": "基点/終端を境としたライン分割はできません。",
-            "multiple_ways": "複数のラインを分割します"
         }
-    },
-    "nothing_to_undo": "やり直す変更点がありません",
-    "nothing_to_redo": "やり直した変更点がありません",
-    "just_edited": "OpenStreetMap編集完了!",
-    "browser_notice": "このエディタは Firefox, Chrome, Safari, Opera, および Internet Explorer 9 以上をサポートしています。ブラウザのバージョンを更新するか、Potlatch 2を使用して編集してください",
-    "view_on_osm": "オブジェクト情報をOSMで確認",
-    "zoom_in_edit": "編集するにはさらに地図を拡大してください",
-    "logout": "ログアウト",
-    "loading_auth": "OpenStreetMapへ接続中...",
-    "report_a_bug": "バグ報告",
-    "commit": {
-        "title": "編集結果を保存",
-        "description_placeholder": "貢献のための簡単な解説",
-        "message_label": "コミットメッセージ",
-        "upload_explanation": "編集した内容を {user} アカウントでアップロードし、OpenStreetMapを利用しているすべてのユーザが閲覧できるようにします",
-        "save": "Save",
-        "cancel": "キャンセル",
-        "warnings": "注意",
-        "modified": "変更した地物",
-        "deleted": "削除した地物",
-        "created": "作成した地物"
-    },
-    "contributors": {
-        "list": "{users} による編集履歴を表示",
-        "truncated_list": "{users} とその他 {count} 人による編集履歴を表示"
-    },
-    "geocoder": {
-        "title": "特定地点を検索",
-        "placeholder": "対象地点の名称",
-        "no_results": "'{name}' という名称の地点が見つかりません"
-    },
-    "geolocate": {
-        "title": "編集画面を現在地へ移動"
-    },
-    "inspector": {
-        "no_documentation_combination": "このタグの組み合わせに関する解説はありません",
-        "no_documentation_key": "このキーに対する解説はありません",
-        "show_more": "次を表示",
-        "new_tag": "新規タグ",
-        "view_on_osm": "openstreetmap.orgで確認",
-        "editing_feature": "{feature}を編集",
-        "additional": "さらにタグを追加",
-        "choose": "地物の種類を選択",
-        "results": "検索結果{n}件: {search}",
-        "reference": "OpenStreetMap WIkiで確認",
-        "back_tooltip": "地物の種別を変更"
-    },
-    "background": {
-        "title": "背景画像",
-        "description": "背景画像設定",
-        "percent_brightness": "明度 {opacity}%",
-        "fix_misalignment": "背景画像をずらす",
-        "reset": "設定リセット"
-    },
-    "restore": {
-        "heading": "OSMにアップロードされていない編集内容があります",
-        "description": "前回作業した編集内容がアップロードされていません。編集内容を復元しますか?",
-        "restore": "復元",
-        "reset": "破棄"
-    },
-    "save": {
-        "title": "保存",
-        "help": "編集内容をOpenStreetMapへ保存し、他ユーザへ公開",
-        "no_changes": "保存する変更はありません。",
-        "error": "データ保存中にエラーが発生しました",
-        "uploading": "編集内容をOpenStreetMapへアップロードしています",
-        "unsaved_changes": "編集内容が保存されていません"
-    },
-    "splash": {
-        "welcome": "iD 起動中",
-        "text": "開発版 {version} を起動します。詳細は {website} を参照してください。バグ報告は {github} で受付中です",
-        "walkthrough": "チュートリアルを開始",
-        "start": "編集開始"
-    },
-    "source_switch": {
-        "live": "本番サーバ",
-        "lose_changes": "OSMへアップロードされていない編集があります。投稿先サーバを切り替えると編集内容は破棄されます。投稿先を切り替えてよろしいですか?",
-        "dev": "開発サーバ"
-    },
-    "tag_reference": {
-        "description": "説明",
-        "on_wiki": "{tag}: wiki.osm.org ",
-        "used_with": "さらに詳しく:  {type}"
-    },
-    "validations": {
-        "untagged_point": "タグなしポイント",
-        "untagged_line": "ラインにタグが付与されていません",
-        "untagged_area": "エリアにタグが付与されていません",
-        "many_deletions": "{n} オブジェクトを削除しています。本当に削除してよろしいですか? 削除した結果はopenstreetmap.orgに反映されます。",
-        "tag_suggests_area": "ラインに {tag} タグが付与されています。エリアで描かれるべきです",
-        "deprecated_tags": "タグの重複: {tags}"
-    },
-    "zoom": {
-        "in": "ズームイン",
-        "out": "ズームアウト"
-    },
-    "cannot_zoom": "現在のモードでは、これ以上ズームアウトできません。",
-    "gpx": {
-        "local_layer": "ローカルマシン上のGPXファイル",
-        "drag_drop": "この場所に .gpxファイルをドラッグ&ドロップ"
-    },
-    "help": {
-        "title": "ヘルプ",
-        "help": "# ヘルプ\n\nこのアプリケーションは、自由に編集できる世界地図 [OpenStreetMap](http://www.openstreetmap.org/)編集用のエディタです。あなたが知っている地域についての情報を追加したり、編集したりして、誰もが使いやすい情報としてデータをオープンに広めましょう。\n\nあなたが編集した結果は、OpenStreetMapを利用するすべてのひとが閲覧することができます。編集するためには [無料のOpenStreetMapアカウント](https://www.openstreetmap.org/user/new) が必要です。\n\nこの [iD エディタ](http://ideditor.com/) の[ソースコードはGitHubで管理](https://github.com/systemed/iD)されており、誰もが参加できるプロジェクトとして公開されています。\n",
-        "editing_saving": "# データの編集と保存\n\nこのエディタはオンライン環境で使用されることが前提となっています、現在あなたはブラウザを通じてアクセスしているはずです。\n\n### 地物の選択\n\nポイント情報や道路など地物情報は、地図上に表示されている対象をクリックすることで選択ができます。選択された地物はハイライトされ、詳細情報が記載されたパネルが表示されます。このパネル内の情報を編集することで、対象の地物の情報を編集できます。\n\nキーボードのShiftキーを押しながら地図上をクリックし、ドラッグすることで、地物を範囲選択することが可能です。ドラッグした範囲はボックスで表示され、そのボックス内の地物がすべて選択されます。複数の地物に対して編集を行いたいときに便利です。\n\n### 編集内容の保存\n\n道路や建物、特定の場所などの追加/編集結果は、OSMサーバにセーブされるまではあなたのローカルPC上に格納されます。編集に失敗しても慌てないでください。巻き戻しボタン(Undo)をクリックすることで、編集作業を巻き戻すことができます。同じ編集をもう一度実施したい場合は、巻き戻しのキャンセルボタン(redo)をクリックしてください。\n\n編集に区切りがついたら、'保存'をクリックして作業を終了してください。例えば街の一区画の編集が終わり、そこから別の場所の編集に移動する場合などです。データを保存する前に、編集内容をもう一度見直しましょう。データが間違っている可能性がある場所がエディタ上に表示されますので、必要に応じて修正を行なってください。\n\n編集内容に問題がなければ、そのまま保存を行いましょう。あなたの編集内容を簡潔に表すコメントを記入した後、もう一度'保存'をクリックすると、あなたの編集内容が[OpenStreetMap.org](http://www.openstreetmap.org/)に投稿されます。投稿されたデータはあなた以外のすべての利用者に対しても表示されるようになり、そこに情報を追加したり、編集したりすることができるようになります。\n\n編集を一度に完了させることができない場合は、ブラウザのエディタ表示をそのままにしておきましょう。同じブラウザとエディタを使うことで、後々、作業の続きを実施することができます。\n\n",
-        "roads": "# 道路\n\nこのエディタは道路を作成、修正、削除する機能を備えています。小路、自動車道、山道、自転車道等々、編集対象となる道路の種別に制限はありません。交差する道路を細かく地図に描くことも可能です。\n\n### 選択\n\n対象の道路をクリックすることで、選択することができます。選択された道路は強調表示され、ラインに対する操作を行う小さなツール項目がその近くに表示されます。道路の詳細情報は、サイドバーに一覧表示されます。\n\n### 修正\n\n既に描かれている道路の中には、背景画像の衛星写真やGPSトラックと明らかに位置が異なるものがあります。そうした道路を見つけたら、道路を正しい位置に修正しましょう。\n\nまずは変更対象となる道路をクリックして選択します。対象の道路が強調表示され、操作可能なポイントがラインの上に表示されて、位置の変更が可能となります。ラインとポイントを、より正しいと思われる位置に移動させてください。ライン上のポイントを増やすには、ラインの上でダブルクリックすることで、その位置にポイントを作成することが可能です。\n\n道路の接続状態が誤っている場合は、どちらかの道路の上に表示されているポイントをもう一つのラインの上に移動させ、2つのラインを接続してください。道路の接続は地図にとって非常に重要であり、車輌のナビゲーションを行うためには道路が正しく接続されていることが必須となります。\n\n'移動'ツールをクリックするか、キーボードでショートカットキー 'M' を押すことで、道路全体を一度に移動させることができます。もう一度クリックすることで、その位置へ対象が移動します。\n\n### 削除\n\n描かれている道路が完全に間違っている場合 - 衛星写真に映っておらず、より理想としては実際に現地で道路が無いことを確認できた場合 - その道路のデータそのものを削除し、地図から消すことが可能です。地物を削除する際の注意として、編集結果は他の編集と同様すべての利用者の目に触れること、また、衛星写真は撮影日時が古い可能性があり、道路が新しく敷設されているかもしれないことを意識してください。\n\n道路を削除するには、対象のラインをクリックして選択し、ツール項目からゴミ箱アイコンをクリックするか、'Delete'キーを押してください。\n\n### 新規作成\n\n道路があるはずなのにまだ描かれていない? エディタ左上に表示されている'ライン'アイコンをクリックするか、ショートカットキー'2'を押すと、ラインの新規描画を行うことができます。\n\n地図をクリックすることで、その地点からラインの描画が開始されます。もし既に描かれている道路から枝分かれした道路の場合は、既存道路で分岐が行われている部分をクリックして、その位置から描画を始めるようにしてください。\n\n衛星画像やGPSログなどで表示されている道路の形に添ってクリックし、ポイントを作成してください。描画している道路が他の道路と交差している場合は、交差している位置でクリックし、ラインを接続してください。描画を終了するには、終了する位置でダブルクリックするか、キーボードの'Return'、あるいは'Enter'キーを押してください。\n\n",
-        "gps": "# GPS\n\nOpenStreetMapにおいて、GPSデータは最も信用できる情報源です。iDエディタはあなたのPC上にある`.gpx`ファイルのトレース機能をサポートしています。GPSログは、スマートフォンのアプリケーションやGPSロガーを使用することで収集することができます。\n\nGPSを使用した現地調査の詳細な進め方については、 [GPSによる調査](http://learnosm.org/jp/beginner/using-gps/)を参照してください。\n\nGPXログファイルをエディタの上にドラッグ&ドロップすることで、ファイルの内容をエディタ上に表示させることができます。ファイル形式の読み込みが正常に完了すると、ログは明るい緑色の線としてエディタ上に表示されます。エディタの左側に配置されている'背景画像設定'メニューをクリックすると、ログの表示/非表示、GPXが配置されたレイヤーへのズームを設定することができます。\n\nこのGPXログファイルはOpenStreetMapへ直接アップロードされたものではありません。このログを参考情報として地図を描いたり、あなたが追加する地物の配置場所の参考情報とするのがよいでしょう。\n",
-        "imagery": "# 背景画像\n\n地図を作成するにあたって、航空写真は重要なリソースのひとつです。上空からの撮影、衛星写真、自由な利用が認められた情報源などは、画面左側の'背景画像設定'メニューから表示させることが可能です。\n\nデフォルト設定では[Bing Maps](http://www.bing.com/maps/)の衛星写真レイヤーが表示されていますが、地図のズームレベル変更などで新しい場所を表示する際に別のリソースを表示させることが可能です。英国やフランス、デンマークでは、特定の地域に限り非常に細密な画像が利用可能です。\n\n画像提供側の間違いが原因で、背景画像と地図データの位置がずれていることがあります。既存道路の多くが一方向にずれている場合、すべての地物の位置を一度に移動させてしまう前に背景画像の表示位置を調整し、オフセットがされていないか確認を行なってください。位置の調整は、背景画像設定の一番下に表示されている'背景画像をずらす'という項目から行うことができます。\n",
-        "addresses": "# 住所\n\n住所情報は地図において最も有用な情報のひとつです。\n\n住所情報は街路の付帯情報として扱われることがほとんどですが、OpenStreetMapにおける住所情報は、街路にそって配置されている建物の属性として記録されます。\n\n住所情報は建物を表す輪郭に付与しても構いませんし、独立したポイントとして配置してもかまいません。また、住所データの最適な情報源は現地調査、あるいは個人の記憶によるものです。GoogleMapsなど、他の地図からの転載は特別な許諾がない限り固く禁止されています。\n\n注: 日本では住所システムの体系が異なるため、街路を基とする上記の方法を適用することはできません。\n",
-        "inspector": "# 地物情報表示ウィンドウ\n\n地図上の地物を選択すると、画面右側に入力ウィンドウが表示されます。地物に関する詳細情報の編集はこのウィンドウから行います。\n\n### 地物種別の選択\n\nポイントやライン、エリアを描画する際、描いた地物の種別を選択することができます。これによって、ラインが高速道路なのか住宅道路なのか、ポイントがスーパーマーケットなのか喫茶店なのか、などを表現します。地物情報表示ウィンドウには、よく利用される地物が表示されています。その他の地物を表示させたい場合は、検索ボックスから検索を行なってください。\n\n地物種別が表示されている右下にある'i'ボタンをクリックすることで、その種別の詳細情報を表示させることができます。アイコンをクリックすることで、種別を確定させることができます。\n\n### フォームを利用したタグ編集\n\n地物の種別を選択した後、あるいは既になんらかの種別が割り当て済の対象を選択した際には、その地物の名称や住所などの詳細情報がウィンドウ内に表示されます。\n\n表示中のフィールドの下部にあるアイコンをクリックすると、追加の入力フィールドが表示されます。例えば[Wikipedia](http://www.wikipedia.org/)情報や、車椅子の利用可否などです。\n\n入力ウィンドウの一番下に配置されている 'タグ項目を追加'をクリックすると、要素に対する自由記入フォームが表示されます。利用されることが多いタグの組み合わせは[Taginfo](http://taginfo.openstreetmap.org/)から検索が可能です。\n\n入力ウィンドウに記入した内容は、エディタ上の地図に即座に反映されます。'やり直し'ボタンをクリックすることで、いつでも入力内容を取り消すことが可能です。\n\n### 地物情報表示ウィンドウを閉じる\n\nウィンドウを閉じるには、ウィンドウ右上のXボタンをクリックするか、キーボードの'Escape'キーを押すか、地図上のどこかをクリックしてください。\n",
-        "buildings": "# 建物\n\nOpenStreetMapは世界でも有数の建物情報データベースです。このデータベースへの情報追加や改善は誰しもが参加可能です。\n\n### 選択\n\n建物の輪郭をクリックすると、その建物を選択することができます。建物はハイライト表示され、小さなツール項目と、画面右側にその建物の詳細情報が表示されます。\n\n### 修正\n\n建物の位置や、付与されているタグが誤っていることがあります。\n\n建物全体の位置を移動させるには、'移動'ツールのアイコンをクリックしてください。マウスを動かして建物を正しい位置へ移動させ、もう一度クリックして位置を確定させます。\n\n同様に、建物を形成しているポイントをクリックして正しい位置へ移動させることで、建物の形状を修正することができます。\n\n### 新規作成\n\nOpenStreetMapで建物を描く場合によくあがる質問として、建物をエリアとポイントのどちらで描いたほうがよいか、というものがあります。最善の方法では _できる限り、建物はエリアとして描き_  、会社や個人宅、施設など、建物から独立した情報は別途ポイントとして、エリアとして描かれた建物の内側に配置します。\n\n画面左上に表示されている項目から'エリア'ボタンをクリックして、建物をエリアとして描いてみましょう。エリアの描画を終了するにはキーボードの'Return'キーを押すか、エリアを描き始めたポイントをもう一度クリックしてください。\n\n### 削除\n\nもし建物の情報が完全に間違っている場合 - 衛星写真に映っておらず、より理想としては実際に現地で建物が無いことを確認できた場合 - その建物データそのものを削除し、地図から消去することが可能です。地物を削除する際の注意として、編集結果は他の編集と同様すべての利用者の目に触れること、また、衛星写真は撮影日時が古い可能性があり、建物が新しく建設されているかもしれないことを意識してください。\n\n建物を削除するには、対象をクリックして選択し、ツール項目からゴミ箱アイコンをクリックするか、'Delete'キーを押してください。\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "地図編集画面には、航空写真などの背景画像と重なってOpenStreetMapのデータが表示されます。ウェブで公開されている他の地図と同様、クリックした状態でカーソルを移動させることで表示位置を移動させることができます。**地図をクリックして移動させてみてください!**",
-            "select": "地図上の情報は、ポイント、ライン、エリアの3つの方法のいずれかで表現されています。地物をクリックすることで、対象を選択することができます。**画面上のポイントを選択してみましょう。**",
-            "header": "地物についての詳しい情報が画面上部に表示されます。",
-            "pane": "地物が選択されると、その地物の詳細情報が表示されます。詳細情報には、地物の種類をあらわす大項目と、その他詳細情報(名称や住所等)が表示されます。**画面右上のボタンを押して、詳細情報編集ウィンドウを閉じてください。**"
-        },
-        "points": {
-            "add": "ポイントは、店舗やレストラン、記念碑など、特定の一点を表現します。これにより、特定の場所や地点に対して、情報を追加してゆくことが可能となります。**ポイントボタンをクリックして、ポイントを追加してみましょう。**",
-            "place": "地図の上のどこかをクリックすることで、ポイントを追加することができます。**建物の上にポイントを追加してみましょう。**",
-            "search": "ポイントは、様々な地物を表現する際に便利です。今回追加したポイントは、喫茶店を表しています。**'喫茶店'を選んでみましょう**",
-            "choose": "**喫茶店を選択してください**",
-            "describe": "ポイントが喫茶店としてタグ付けされました。更に詳細な情報を追加することもできます。**喫茶店の名称を追加してみましょう。**",
-            "close": "ボタンを押すことで、タグ情報の編集ウィンドウを閉じることができます。**タグ情報の編集ウィンドウを閉じてみましょう。**",
-            "reselect": "あなたが投稿したかったポイントは、既に誰かが投稿しているかもしれません。しかし、既存のポイントは情報が不足していたり、間違っている可能性があります。その場合は、既存のポイントのタグ情報を編集してみましょう。**あなたが作成したポイントをもう一度選択してみましょう。**",
-            "fixname": "**地物の名称を変更して、詳細情報編集ウィンドウを閉じてください。**",
-            "reselect_delete": "画面上の地物は、削除することも可能です。**あなたが作成したポイントをクリックしてください。**",
-            "delete": "ポイントを囲む形で、その地物に対して行うことができる操作が表示されます。**ポイントを削除してみましょう。**"
-        },
-        "areas": {
-            "add": "エリアで描くことで、その地物をより詳細に描いてみましょう。ポイントと違い、エリアではその地物の境界線を表現することが可能です。ポイントで表現している地物のほとんどは、エリアとしても描くことが可能です。**エリアボタンをクリックすることで、新しいエリアを描くことができます。**",
-            "corner": "複数のポイントを描くことで、エリアの境界線を表現することができます。**エリアを作成して、児童公園を描いてみましょう。**",
-            "place": "ノードを描くことで、エリアを表現することができます。エリアの描画を完了するには、描き始めたノードをもう一度クリックしてください。**エリアを作成して、児童公園を描いてみましょう。**",
-            "search": "**児童公園を検索**",
-            "choose": "**画面から児童公園を選択**",
-            "describe": "**児童公園に名称を追加して、タグ情報編集ウィンドウを閉じましょう。**"
-        },
-        "lines": {
-            "add": "ラインは道路や線路、河川など、線として表現される情報を示すことができます。**ライン ボタンをクリックして、新しくラインを描いてみましょう。**",
-            "start": "**地図上をクリックすることで、ラインの描画が開始されます。まずは道路を描いてみましょう。**",
-            "intersect": "ライン上をクリックすることで、その位置にノードが作成されます。ラインを描いている途中でも、必要な場合は表示位置をドラッグして移動させることが可能です。道路をはじめとして、ほとんどのラインはより大きなラインとどこかで接続しています。経路探索アプリケーションを正常に動作させるため、ラインは他のラインと正常に接続されていることが重要です。**Flower Streetをクリックして、2本のラインの交差点を作成してみましょう。**",
-            "finish": "最後のノードをもう一度クリックすることで、ラインの描画を完了させることができます。**道路の描画を完了させましょう。**",
-            "road": "**グリッドの中から道路を選択してください**",
-            "residential": "道路にはいくつもの種類がありますが、最も頻繁に描くことになるのは住宅道路です。**道路種別から住宅道路を選択してください。**",
-            "describe": "**道路に名前情報を付与して、詳細情報ウィンドウを閉じます**",
-            "restart": "この街路は、Flower Streetと接続する必要があります。"
-        },
-        "startediting": {
-            "help": "より詳しい解説とチュートリアルはこちら",
-            "save": "変更内容はこまめに保存するよう気をつけてください!",
-            "start": "マッピング開始!"
+
+        function mouseout() {
+            context.surface().selectAll('.hover')
+                .classed('hover', false);
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "通行制限",
-                "types": {
-                    "access": "一般",
-                    "foot": "歩行者",
-                    "motor_vehicle": "オートバイ",
-                    "bicycle": "自転車",
-                    "horse": "乗馬"
-                },
-                "options": {
-                    "yes": {
-                        "title": "通行可",
-                        "description": "法律上の許可あり; 正当利用"
-                    },
-                    "no": {
-                        "title": "制限あり",
-                        "description": "なんらかの理由により、一般の通行が許可されていない"
-                    },
-                    "permissive": {
-                        "title": "所有者許諾あり",
-                        "description": "所有者によって利用が許可されており、特定状況下では所有者によって通行制限が課されることがある"
-                    },
-                    "private": {
-                        "title": "私有",
-                        "description": "通行時には所有者の許可を得る必要がある"
-                    },
-                    "designated": {
-                        "title": "特定種の通行禁止",
-                        "description": "特定の地方条例や標識等で通行制限が行われている"
-                    },
-                    "destination": {
-                        "title": "目的外通行の禁止",
-                        "description": "特定の目的地へ移動する用途でのみ通行が許可されている"
-                    }
-                }
-            },
-            "address": {
-                "label": "住所",
-                "placeholders": {
-                    "housename": "地番",
-                    "number": "123",
-                    "street": "所属する街路名",
-                    "city": "市町村名"
-                }
-            },
-            "admin_level": {
-                "label": "Admin Level"
-            },
-            "aeroway": {
-                "label": "タイプ"
-            },
-            "amenity": {
-                "label": "種別"
-            },
-            "atm": {
-                "label": "ATM"
-            },
-            "barrier": {
-                "label": "タイプ"
-            },
-            "bicycle_parking": {
-                "label": "タイプ"
-            },
-            "building": {
-                "label": "建物種別"
-            },
-            "building_area": {
-                "label": "建物種別"
-            },
-            "building_yes": {
-                "label": "建物種別"
-            },
-            "capacity": {
-                "label": "収容可能な数量"
-            },
-            "cardinal_direction": {
-                "label": "方向"
-            },
-            "clock_direction": {
-                "label": "方向",
-                "options": {
-                    "clockwise": "右回り",
-                    "anticlockwise": "左回り"
-                }
-            },
-            "collection_times": {
-                "label": "情報取得日時"
-            },
-            "construction": {
-                "label": "タイプ"
-            },
-            "country": {
-                "label": "Country"
-            },
-            "crossing": {
-                "label": "タイプ"
-            },
-            "cuisine": {
-                "label": "メニュー種別"
-            },
-            "denomination": {
-                "label": "宗派"
-            },
-            "denotation": {
-                "label": "表示"
-            },
-            "elevation": {
-                "label": "標高"
-            },
-            "emergency": {
-                "label": "緊急医療"
-            },
-            "entrance": {
-                "label": "タイプ"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "利用料金"
-            },
-            "highway": {
-                "label": "道路区分"
-            },
-            "historic": {
-                "label": "タイプ"
-            },
-            "internet_access": {
-                "label": "インターネット利用",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "有線LAN",
-                    "terminal": "情報端末"
-                }
-            },
-            "landuse": {
-                "label": "土地区分"
-            },
-            "lanes": {
-                "label": "車線数"
-            },
-            "layer": {
-                "label": "レイヤ"
-            },
-            "leisure": {
-                "label": "タイプ"
-            },
-            "levels": {
-                "label": "階数"
-            },
-            "man_made": {
-                "label": "タイプ"
-            },
-            "maxspeed": {
-                "label": "最高速度"
-            },
-            "name": {
-                "label": "名称"
-            },
-            "natural": {
-                "label": "自然"
-            },
-            "network": {
-                "label": "ネットワーク"
-            },
-            "note": {
-                "label": "メモ"
-            },
-            "office": {
-                "label": "タイプ"
-            },
-            "oneway": {
-                "label": "一方通行"
-            },
-            "oneway_yes": {
-                "label": "一方通行"
-            },
-            "opening_hours": {
-                "label": "利用可能な時間帯"
-            },
-            "operator": {
-                "label": "管理主体"
-            },
-            "park_ride": {
-                "label": "パーク&ライド"
-            },
-            "parking": {
-                "label": "タイプ"
-            },
-            "phone": {
-                "label": "電話番号"
-            },
-            "place": {
-                "label": "タイプ"
-            },
-            "power": {
-                "label": "区分"
-            },
-            "railway": {
-                "label": "路線種別"
-            },
-            "ref": {
-                "label": "管理番号"
-            },
-            "religion": {
-                "label": "宗教",
-                "options": {
-                    "christian": "キリスト教",
-                    "muslim": "イスラム教",
-                    "buddhist": "仏教",
-                    "jewish": "ユダヤ教",
-                    "hindu": "ヒンズー教",
-                    "shinto": "神道",
-                    "taoist": "道教"
-                }
-            },
-            "service": {
-                "label": "タイプ"
-            },
-            "shelter": {
-                "label": "避難所"
-            },
-            "shop": {
-                "label": "店舗種別"
-            },
-            "source": {
-                "label": "参照した情報"
-            },
-            "sport": {
-                "label": "スポーツ"
-            },
-            "structure": {
-                "label": "構造",
-                "options": {
-                    "bridge": "橋梁",
-                    "tunnel": "トンネル",
-                    "embankment": "土手, 堤防",
-                    "cutting": "切土, 掘割"
-                }
-            },
-            "supervised": {
-                "label": "管理"
-            },
-            "surface": {
-                "label": "路面種別"
-            },
-            "tourism": {
-                "label": "タイプ"
-            },
-            "tracktype": {
-                "label": "タイプ"
-            },
-            "water": {
-                "label": "タイプ"
-            },
-            "waterway": {
-                "label": "水路区分"
-            },
-            "website": {
-                "label": "ウェブサイト"
-            },
-            "wetland": {
-                "label": "タイプ"
-            },
-            "wheelchair": {
-                "label": "車椅子の利用可否"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "タイプ"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "航空施設"
-            },
-            "aeroway/aerodrome": {
-                "name": "空港",
-                "terms": "航空機, 空港, 飛行場"
-            },
-            "aeroway/helipad": {
-                "name": "ヘリポート",
-                "terms": "ヘリコプター, ヘリポート, ヘリ発着場"
-            },
-            "amenity": {
-                "name": "施設, amenity"
-            },
-            "amenity/bank": {
-                "name": "銀行",
-                "terms": "資金調達、会計事務所、信用組合、受託銀行、ファンド、投資信託、準備銀行"
-            },
-            "amenity/bar": {
-                "name": "バー"
-            },
-            "amenity/bench": {
-                "name": "ベンチ"
-            },
-            "amenity/bicycle_parking": {
-                "name": "駐輪場, バイク置き場"
-            },
-            "amenity/bicycle_rental": {
-                "name": "レンタル自転車店"
-            },
-            "amenity/cafe": {
-                "name": "カフェ",
-                "terms": "コーヒー, 紅茶, 喫茶店"
-            },
-            "amenity/cinema": {
-                "name": "映画館",
-                "terms": "映画館、上映施設、スクリーン、銀幕"
-            },
-            "amenity/courthouse": {
-                "name": "裁判所"
-            },
-            "amenity/embassy": {
-                "name": "大使館"
-            },
-            "amenity/fast_food": {
-                "name": "ファストフード"
-            },
-            "amenity/fire_station": {
-                "name": "消防署"
-            },
-            "amenity/fuel": {
-                "name": "ガソリンスタンド"
-            },
-            "amenity/grave_yard": {
-                "name": "墓地"
-            },
-            "amenity/hospital": {
-                "name": "病院",
-                "terms": "クリニック、緊急医療施設、健保サービス、ホスピス、診療所、老人ホーム、療養所、病室、外科医、病棟"
-            },
-            "amenity/library": {
-                "name": "図書館"
-            },
-            "amenity/marketplace": {
-                "name": "市場"
-            },
-            "amenity/parking": {
-                "name": "駐車場"
-            },
-            "amenity/pharmacy": {
-                "name": "薬局, ドラッグストア"
-            },
-            "amenity/place_of_worship": {
-                "name": "宗教施設",
-                "terms": "修道院、会堂、礼拝堂、聖堂、内陣、教会、チャペル、祈祷所、神の家、祈りの場所、モスク、神社、寺院、シナゴーグ"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "教会",
-                "terms": "修道院、会堂、礼拝堂、聖堂、内陣、教会、チャペル、祈祷所、神の家、祈りの場所、モスク、神社、寺院、シナゴーグ"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "シナゴーグ",
-                "terms": "ユダヤ教, シナゴーグ"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "モスク",
-                "terms": "イスラム教, モスク"
-            },
-            "amenity/police": {
-                "name": "警察",
-                "terms": "警察署、警察、交番、派出所"
-            },
-            "amenity/post_box": {
-                "name": "郵便ポスト",
-                "terms": "投函箱、郵便ポスト"
-            },
-            "amenity/post_office": {
-                "name": "郵便局"
-            },
-            "amenity/pub": {
-                "name": "居酒屋, パブ"
-            },
-            "amenity/restaurant": {
-                "name": "レストラン",
-                "terms": "バー、カフェテリア、カフェ、喫茶店、喫茶室、ダイナー、ディナールーム、ドーナツ店、軽飲食、食事処、休憩所、茶屋、ハンバーガースタンド、ホットドッグスタンド、ランチルーム、ピッツァリア、サロン、お休み処"
-            },
-            "amenity/school": {
-                "name": "学校",
-                "terms": "大学、短大、単科大学、職業訓練所、専門学校、研究所、牢獄、校舎、学舎"
-            },
-            "amenity/swimming_pool": {
-                "name": "プール"
-            },
-            "amenity/telephone": {
-                "name": "公衆電話"
-            },
-            "amenity/theatre": {
-                "name": "劇場",
-                "terms": "劇場, パフォーマンス, ミュージカル, 大道芸"
-            },
-            "amenity/toilets": {
-                "name": "お手洗い, トイレ"
-            },
-            "amenity/townhall": {
-                "name": "市町村役場",
-                "terms": "村役場、市役所、郡庁舎、市営ビル、市区センター"
-            },
-            "amenity/university": {
-                "name": "大学"
-            },
-            "barrier": {
-                "name": "障害物"
-            },
-            "barrier/block": {
-                "name": "車止め"
-            },
-            "barrier/bollard": {
-                "name": "杭"
-            },
-            "barrier/cattle_grid": {
-                "name": "家畜柵"
-            },
-            "barrier/city_wall": {
-                "name": "市壁"
-            },
-            "barrier/cycle_barrier": {
-                "name": "自転車止め"
-            },
-            "barrier/ditch": {
-                "name": "溝"
-            },
-            "barrier/entrance": {
-                "name": "出入り口"
-            },
-            "barrier/fence": {
-                "name": "フェンス, 柵"
-            },
-            "barrier/gate": {
-                "name": "門, ゲート"
-            },
-            "barrier/hedge": {
-                "name": "垣根"
-            },
-            "barrier/kissing_gate": {
-                "name": "牧場用ゲート"
-            },
-            "barrier/lift_gate": {
-                "name": "遮断ゲート"
-            },
-            "barrier/retaining_wall": {
-                "name": "擁壁"
-            },
-            "barrier/stile": {
-                "name": "踏み越し段"
-            },
-            "barrier/toll_booth": {
-                "name": "料金所"
-            },
-            "barrier/wall": {
-                "name": "壁"
-            },
-            "boundary/administrative": {
-                "name": "行政区境"
-            },
-            "building": {
-                "name": "建物"
-            },
-            "building/apartments": {
-                "name": "アパート"
-            },
-            "building/entrance": {
-                "name": "エントランス"
-            },
-            "building/house": {
-                "name": "番地"
-            },
-            "entrance": {
-                "name": "エントランス"
-            },
-            "highway": {
-                "name": "道路"
-            },
-            "highway/bridleway": {
-                "name": "乗馬道",
-                "terms": "大通り、乗馬道、馬道"
-            },
-            "highway/bus_stop": {
-                "name": "バス停"
-            },
-            "highway/crossing": {
-                "name": "横断歩道",
-                "terms": "横断歩道"
-            },
-            "highway/cycleway": {
-                "name": "自転車道"
-            },
-            "highway/footway": {
-                "name": "歩道",
-                "terms": "けもの道、山道、コース、歩道、自動車道、路地、航路、軌道、抜け道、通路、小路、線路、道路、経路、街道、農道、大通り"
-            },
-            "highway/mini_roundabout": {
-                "name": "ラウンドアバウト(小)"
-            },
-            "highway/motorway": {
-                "name": "高速道路"
-            },
-            "highway/motorway_junction": {
-                "name": "高速道ジャンクション"
-            },
-            "highway/motorway_link": {
-                "name": "高速道路 - 接続道",
-                "terms": "スロープ有無"
-            },
-            "highway/path": {
-                "name": "小道"
-            },
-            "highway/primary": {
-                "name": "主要地方道"
-            },
-            "highway/primary_link": {
-                "name": "主要地方道 - 接続路",
-                "terms": "スロープ有無"
-            },
-            "highway/residential": {
-                "name": "住宅道路"
-            },
-            "highway/road": {
-                "name": "道路区分不明"
-            },
-            "highway/secondary": {
-                "name": "一般地方道"
-            },
-            "highway/secondary_link": {
-                "name": "一般地方道 - 接続路",
-                "terms": "スロープ有無"
-            },
-            "highway/service": {
-                "name": "私道"
-            },
-            "highway/steps": {
-                "name": "階段",
-                "terms": "階段"
-            },
-            "highway/tertiary": {
-                "name": "主要な一般道"
-            },
-            "highway/tertiary_link": {
-                "name": "主要な一般道 - 接続路",
-                "terms": "スロープ有無"
-            },
-            "highway/track": {
-                "name": "農道"
-            },
-            "highway/traffic_signals": {
-                "name": "信号機",
-                "terms": "街灯, スポットライト, 交通照明"
-            },
-            "highway/trunk": {
-                "name": "国道"
-            },
-            "highway/trunk_link": {
-                "name": "国道 - 接続路",
-                "terms": "スロープ有無"
-            },
-            "highway/turning_circle": {
-                "name": "車回し"
-            },
-            "highway/unclassified": {
-                "name": "一般道"
-            },
-            "historic": {
-                "name": "歴史的な場所"
-            },
-            "historic/archaeological_site": {
-                "name": "考古遺跡"
-            },
-            "historic/boundary_stone": {
-                "name": "境界石碑"
-            },
-            "historic/castle": {
-                "name": "城郭"
-            },
-            "historic/memorial": {
-                "name": "記念碑, プレート"
-            },
-            "historic/monument": {
-                "name": "記念碑, モニュメント"
-            },
-            "historic/ruins": {
-                "name": "廃墟"
-            },
-            "historic/wayside_cross": {
-                "name": "十字架"
-            },
-            "historic/wayside_shrine": {
-                "name": "地蔵, 道祖碑"
-            },
-            "landuse": {
-                "name": "土地利用"
-            },
-            "landuse/allotments": {
-                "name": "市民菜園"
-            },
-            "landuse/basin": {
-                "name": "遊水地"
-            },
-            "landuse/cemetery": {
-                "name": "霊園"
-            },
-            "landuse/commercial": {
-                "name": "商業区"
-            },
-            "landuse/construction": {
-                "name": "施設建築中"
-            },
-            "landuse/farm": {
-                "name": "田畑"
-            },
-            "landuse/farmyard": {
-                "name": "田畑"
-            },
-            "landuse/forest": {
-                "name": "森林"
-            },
-            "landuse/grass": {
-                "name": "草地"
-            },
-            "landuse/industrial": {
-                "name": "工業区"
-            },
-            "landuse/meadow": {
-                "name": "牧草地"
-            },
-            "landuse/orchard": {
-                "name": "果樹園"
-            },
-            "landuse/quarry": {
-                "name": "採掘場"
-            },
-            "landuse/residential": {
-                "name": "住宅区"
-            },
-            "landuse/vineyard": {
-                "name": "ワイン畑"
-            },
-            "leisure": {
-                "name": "レジャー"
-            },
-            "leisure/garden": {
-                "name": "庭園"
-            },
-            "leisure/golf_course": {
-                "name": "ゴルフ場"
-            },
-            "leisure/marina": {
-                "name": "停泊所"
-            },
-            "leisure/park": {
-                "name": "公園",
-                "terms": "遊歩道、森林、庭園、芝生、緑地、遊び場、プラザ、レクリエーションエリア、スクエア、広場"
-            },
-            "leisure/pitch": {
-                "name": "運動場"
-            },
-            "leisure/pitch/american_football": {
-                "name": "アメフト競技場"
-            },
-            "leisure/pitch/baseball": {
-                "name": "野球場"
-            },
-            "leisure/pitch/basketball": {
-                "name": "バスケットボール・コート"
-            },
-            "leisure/pitch/soccer": {
-                "name": "サッカー場"
-            },
-            "leisure/pitch/tennis": {
-                "name": "テニスコート"
-            },
-            "leisure/playground": {
-                "name": "児童公園"
-            },
-            "leisure/slipway": {
-                "name": "進水所"
-            },
-            "leisure/stadium": {
-                "name": "スタジアム"
-            },
-            "leisure/swimming_pool": {
-                "name": "プール"
-            },
-            "man_made": {
-                "name": "人工物"
-            },
-            "man_made/lighthouse": {
-                "name": "灯台"
-            },
-            "man_made/pier": {
-                "name": "桟橋"
-            },
-            "man_made/survey_point": {
-                "name": "調査・観測地点"
-            },
-            "man_made/wastewater_plant": {
-                "name": "下水処理施設",
-                "terms": "浄水設備、排水処理施設、下水処理場"
-            },
-            "man_made/water_tower": {
-                "name": "給水塔"
-            },
-            "man_made/water_works": {
-                "name": "上下水施設"
-            },
-            "natural": {
-                "name": "自然物"
-            },
-            "natural/bay": {
-                "name": "港湾"
-            },
-            "natural/beach": {
-                "name": "浜辺, ビーチ"
-            },
-            "natural/cliff": {
-                "name": "崖"
-            },
-            "natural/coastline": {
-                "name": "海岸線",
-                "terms": "海岸"
-            },
-            "natural/glacier": {
-                "name": "氷河, 凍土"
-            },
-            "natural/grassland": {
-                "name": "草地"
-            },
-            "natural/heath": {
-                "name": "低木地"
-            },
-            "natural/peak": {
-                "name": "山頂",
-                "terms": "岩峰、山頂、頂、頂点、てっぺん、山、丘、丘陵、極み"
-            },
-            "natural/scrub": {
-                "name": "茂み"
-            },
-            "natural/spring": {
-                "name": "湧水"
-            },
-            "natural/tree": {
-                "name": "樹木"
-            },
-            "natural/water": {
-                "name": "水面"
-            },
-            "natural/water/lake": {
-                "name": "湖",
-                "terms": "湖、入江、池"
-            },
-            "natural/water/pond": {
-                "name": "池",
-                "terms": "池、水車用貯水池、ため池、小さな湖"
-            },
-            "natural/water/reservoir": {
-                "name": "貯水池"
-            },
-            "natural/wetland": {
-                "name": "湿地"
-            },
-            "natural/wood": {
-                "name": "自然林"
-            },
-            "office": {
-                "name": "オフィス"
-            },
-            "other": {
-                "name": "その他"
-            },
-            "other_area": {
-                "name": "その他"
-            },
-            "place": {
-                "name": "地名"
-            },
-            "place/city": {
-                "name": "都市名称"
-            },
-            "place/hamlet": {
-                "name": "Hamlet"
-            },
-            "place/island": {
-                "name": "島",
-                "terms": "群島、サンゴ礁、小島、岩礁、砂州、湾岸"
-            },
-            "place/isolated_dwelling": {
-                "name": "街区外居住地"
-            },
-            "place/locality": {
-                "name": "Locality"
-            },
-            "place/town": {
-                "name": "町"
-            },
-            "place/village": {
-                "name": "村"
-            },
-            "power": {
-                "name": "電力"
-            },
-            "power/generator": {
-                "name": "発電所"
-            },
-            "power/line": {
-                "name": "送電線"
-            },
-            "power/pole": {
-                "name": "電柱"
-            },
-            "power/sub_station": {
-                "name": "変電所"
-            },
-            "power/tower": {
-                "name": "送電塔"
-            },
-            "power/transformer": {
-                "name": "変圧施設"
-            },
-            "railway": {
-                "name": "線路"
-            },
-            "railway/abandoned": {
-                "name": "路線跡"
-            },
-            "railway/disused": {
-                "name": "廃路線"
-            },
-            "railway/level_crossing": {
-                "name": "踏切",
-                "terms": "踏切"
-            },
-            "railway/monorail": {
-                "name": "モノレール"
-            },
-            "railway/platform": {
-                "name": "プラットフォーム"
-            },
-            "railway/rail": {
-                "name": "線路"
-            },
-            "railway/station": {
-                "name": "鉄道駅"
-            },
-            "railway/subway": {
-                "name": "地下鉄"
-            },
-            "railway/subway_entrance": {
-                "name": "地下鉄入り口"
-            },
-            "railway/tram": {
-                "name": "トラム",
-                "terms": "路面電車"
-            },
-            "shop": {
-                "name": "店舗"
-            },
-            "shop/alcohol": {
-                "name": "酒屋"
-            },
-            "shop/bakery": {
-                "name": "パン屋"
-            },
-            "shop/beauty": {
-                "name": "美容品店"
-            },
-            "shop/beverages": {
-                "name": "飲料品店"
-            },
-            "shop/bicycle": {
-                "name": "自転車屋"
-            },
-            "shop/books": {
-                "name": "本屋"
-            },
-            "shop/boutique": {
-                "name": "ブティック"
-            },
-            "shop/butcher": {
-                "name": "肉屋"
-            },
-            "shop/car": {
-                "name": "乗用車販売"
-            },
-            "shop/car_parts": {
-                "name": "車輌部品, グッズ販売"
-            },
-            "shop/car_repair": {
-                "name": "車輌修理"
-            },
-            "shop/chemist": {
-                "name": "化粧品店"
-            },
-            "shop/clothes": {
-                "name": "衣料品店"
-            },
-            "shop/computer": {
-                "name": "コンピュータ店"
-            },
-            "shop/confectionery": {
-                "name": "菓子屋"
-            },
-            "shop/convenience": {
-                "name": "コンビニ"
-            },
-            "shop/deli": {
-                "name": "惣菜屋"
-            },
-            "shop/department_store": {
-                "name": "百貨店"
-            },
-            "shop/doityourself": {
-                "name": "日曜大工用品"
-            },
-            "shop/dry_cleaning": {
-                "name": "クリーニング"
-            },
-            "shop/electronics": {
-                "name": "電子部品"
-            },
-            "shop/fishmonger": {
-                "name": "魚屋"
-            },
-            "shop/florist": {
-                "name": "花屋"
-            },
-            "shop/furniture": {
-                "name": "家具用品"
-            },
-            "shop/garden_centre": {
-                "name": "ガーデンセンター"
-            },
-            "shop/gift": {
-                "name": "ギフト用品"
-            },
-            "shop/greengrocer": {
-                "name": "八百屋"
-            },
-            "shop/hairdresser": {
-                "name": "床屋, 美容室"
-            },
-            "shop/hardware": {
-                "name": "金物屋"
-            },
-            "shop/hifi": {
-                "name": "音響設備"
-            },
-            "shop/jewelry": {
-                "name": "宝石店"
-            },
-            "shop/kiosk": {
-                "name": "キオスク"
-            },
-            "shop/laundry": {
-                "name": "コインランドリー"
-            },
-            "shop/mall": {
-                "name": "ショッピングセンター"
-            },
-            "shop/mobile_phone": {
-                "name": "携帯電話"
-            },
-            "shop/motorcycle": {
-                "name": "バイク販売"
-            },
-            "shop/music": {
-                "name": "CD/レコード"
-            },
-            "shop/newsagent": {
-                "name": "新聞"
-            },
-            "shop/optician": {
-                "name": "メガネ"
-            },
-            "shop/outdoor": {
-                "name": "アウトドア"
-            },
-            "shop/pet": {
-                "name": "ペットショップ"
-            },
-            "shop/shoes": {
-                "name": "靴屋"
-            },
-            "shop/sports": {
-                "name": "スポーツ用品"
-            },
-            "shop/stationery": {
-                "name": "文具店"
-            },
-            "shop/supermarket": {
-                "name": "スーパーマーケット",
-                "terms": "店舗、ショッピングプラザ、バザー、ブティック、チェーン店、安売り販売、ガレリア、モール、マート、アウトレット、ショッピングセンター、スーパーマーケット、中古品販売"
-            },
-            "shop/toys": {
-                "name": "おもちゃ屋"
-            },
-            "shop/travel_agency": {
-                "name": "旅行代理店"
-            },
-            "shop/tyres": {
-                "name": "タイヤ販売"
-            },
-            "shop/vacant": {
-                "name": "未入居店舗"
-            },
-            "shop/variety_store": {
-                "name": "雑貨屋"
-            },
-            "shop/video": {
-                "name": "ビデオ屋"
-            },
-            "tourism": {
-                "name": "観光"
-            },
-            "tourism/alpine_hut": {
-                "name": "山小屋"
-            },
-            "tourism/artwork": {
-                "name": "芸術品展示"
-            },
-            "tourism/attraction": {
-                "name": "観光施設"
-            },
-            "tourism/camp_site": {
-                "name": "キャンプ場"
-            },
-            "tourism/caravan_site": {
-                "name": "公園(キャンプカー用)"
-            },
-            "tourism/chalet": {
-                "name": "コテージ"
-            },
-            "tourism/guest_house": {
-                "name": "民宿",
-                "terms": "B&B、ベッドアンドブレックファスト"
-            },
-            "tourism/hostel": {
-                "name": "共同宿泊"
-            },
-            "tourism/hotel": {
-                "name": "ホテル"
-            },
-            "tourism/information": {
-                "name": "観光案内"
-            },
-            "tourism/motel": {
-                "name": "モーテル"
-            },
-            "tourism/museum": {
-                "name": "博物館, 美術館",
-                "terms": "展示、ギャラリー、ホール、図書館、現代美術、見世物"
-            },
-            "tourism/picnic_site": {
-                "name": "ピクニック場"
-            },
-            "tourism/theme_park": {
-                "name": "テーマパーク"
-            },
-            "tourism/viewpoint": {
-                "name": "展望台"
-            },
-            "tourism/zoo": {
-                "name": "遊園地"
-            },
-            "waterway": {
-                "name": "水路, 河川"
-            },
-            "waterway/canal": {
-                "name": "運河"
-            },
-            "waterway/dam": {
-                "name": "ダム"
-            },
-            "waterway/ditch": {
-                "name": "堀, 用水路"
-            },
-            "waterway/drain": {
-                "name": "排水路"
-            },
-            "waterway/river": {
-                "name": "河川",
-                "terms": "小川、渓流、支流、流れ、細流、入江、河口、水脈、川床、水路"
-            },
-            "waterway/riverbank": {
-                "name": "河川流域"
-            },
-            "waterway/stream": {
-                "name": "小川",
-                "terms": "小川、渓流、支流、流れ、細流、入江、河口、水脈、川床、水路、氾濫、浸水域、湿地"
-            },
-            "waterway/weir": {
-                "name": "堰"
+
+        function warningClick(d) {
+            if (d.entity) {
+                context.map().zoomTo(d.entity);
+                context.enter(
+                    iD.modes.Select(context, [d.entity.id])
+                        .suppressMenu(true));
             }
         }
     }
+
+    return d3.rebind(commit, dispatch, 'on');
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.confirm = function(selection) {
+    var modal = iD.ui.modal(selection);
+
+    modal.select('.modal')
+        .classed('modal-alert', true);
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    var section = modal.select('.content');
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+    section.append('div')
+        .attr('class', 'modal-section header');
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.lv = {
-    "modes": {
-        "add_area": {
-            "title": "Apgabals",
-            "description": "Pievieno parkus, ēkas, ezerus un citus apgabalus.",
-            "tail": "Klikšķiniet uz kartes, lai sāktu zīmēt apgabalu, piemēram, parku, ezeru, vai ēku."
-        },
-        "add_line": {
-            "title": "Līnija",
-            "description": "Pievieno ceļus, ielas, takas kanālus un citas līnijas.",
-            "tail": "Klikšķiniet uz kartes, lai sāktu zīmēt līniju, piemēram, ceļu vai taku."
-        },
-        "add_point": {
-            "title": "Punkts",
-            "description": "Pievieno restorānus, pieminekļus, veikalus un citus punktus.",
-            "tail": "Klikšķiniet uz kartes, lai pievienotu interešu punktu."
-        },
-        "browse": {
-            "title": "Pārlūkot",
-            "description": "Pārlūko karti."
+    section.append('div')
+        .attr('class', 'modal-section message-text');
+
+    var buttons = section.append('div')
+        .attr('class', 'modal-section buttons cf');
+
+    modal.okButton = function() {
+        buttons
+            .append('button')
+            .attr('class', 'action col4')
+            .on('click.confirm', function() {
+                modal.remove();
+            })
+            .text(t('confirm.okay'));
+
+        return modal;
+    };
+
+    return modal;
+};
+iD.ui.Conflicts = function(context) {
+    var dispatch = d3.dispatch('download', 'cancel', 'save'),
+        list;
+
+    function conflicts(selection) {
+        var header = selection
+            .append('div')
+            .attr('class', 'header fillL');
+
+        header
+            .append('button')
+            .attr('class', 'fr')
+            .on('click', function() { dispatch.cancel(); })
+            .call(iD.svg.Icon('#icon-close'));
+
+        header
+            .append('h3')
+            .text(t('save.conflict.header'));
+
+        var body = selection
+            .append('div')
+            .attr('class', 'body fillL');
+
+        body
+            .append('div')
+            .attr('class', 'conflicts-help')
+            .text(t('save.conflict.help'))
+            .append('a')
+            .attr('class', 'conflicts-download')
+            .text(t('save.conflict.download_changes'))
+            .on('click.download', function() { dispatch.download(); });
+
+        body
+            .append('div')
+            .attr('class', 'conflict-container fillL3')
+            .call(showConflict, 0);
+
+        body
+            .append('div')
+            .attr('class', 'conflicts-done')
+            .attr('opacity', 0)
+            .style('display', 'none')
+            .text(t('save.conflict.done'));
+
+        var buttons = body
+            .append('div')
+            .attr('class','buttons col12 joined conflicts-buttons');
+
+        buttons
+            .append('button')
+            .attr('disabled', list.length > 1)
+            .attr('class', 'action conflicts-button col6')
+            .text(t('save.title'))
+            .on('click.try_again', function() { dispatch.save(); });
+
+        buttons
+            .append('button')
+            .attr('class', 'secondary-action conflicts-button col6')
+            .text(t('confirm.cancel'))
+            .on('click.cancel', function() { dispatch.cancel(); });
+    }
+
+
+    function showConflict(selection, index) {
+        if (index < 0 || index >= list.length) return;
+
+        var parent = d3.select(selection.node().parentElement);
+
+        // enable save button if this is the last conflict being reviewed..
+        if (index === list.length - 1) {
+            window.setTimeout(function() {
+                parent.select('.conflicts-button')
+                    .attr('disabled', null);
+
+                parent.select('.conflicts-done')
+                    .transition()
+                    .attr('opacity', 1)
+                    .style('display', 'block');
+            }, 250);
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Punkts pievienots.",
-                "vertex": "Mezgls pievienots līnijai."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Līnija iesākta.",
-                "area": "Apgabals iesākts."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Līnija turpināta.",
-                "area": "Apgabals turpināts."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Zīmēšana atcelta."
-        },
-        "change_tags": {
-            "annotation": "Apzīmējumi mainīti."
-        },
-        "circularize": {
-            "title": "Pārveidot par apļveida",
-            "description": {
-                "line": "Pārveidot šo līniju par apļveida.",
-                "area": "Pārveidot šo apgabalu par apļveida"
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Līnija pārveidota par apļveida.",
-                "area": "Apgabals pārveidots par apļveida."
-            },
-            "not_closed": "Šo objektu nevar pārveidot par apļveida, jo tas nav pabeigts."
-        },
-        "orthogonalize": {
-            "title": "Ortogonalizēt",
-            "description": "Pārveidot, lai visi leņķi būtu taisnleņķi.",
-            "key": "Q",
-            "annotation": {
-                "line": "Līnijas leņķi pārvedoti par taisnleņķiem.",
-                "area": "Apgabala leņķi pārvedoti par taisnleņķiem."
-            },
-            "not_closed": "Šim objektam nevar pārveidot visus leņķus par taisnleņķa, jo tas nav pabeigts."
-        },
-        "delete": {
-            "title": "Dzēst",
-            "description": "Izdzēst no kartes.",
-            "annotation": {
-                "point": "Punkts dzēsts.",
-                "vertex": "Mezgls dzests.",
-                "line": "Līnija dzēsta.",
-                "area": "Apgabals dzēsts.",
-                "relation": "Relācija dzēsta.",
-                "multiple": "{n} objekti dzēsti."
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Līnija savienota ar punktu.",
-                "vertex": "Līnija savienota ar citu.",
-                "line": "Līnija savienota ar līniju.",
-                "area": "Līnija savienota ar apgabalu."
-            }
-        },
-        "disconnect": {
-            "title": "Atvienot",
-            "description": "Atvieno līnijas.",
-            "key": "D",
-            "annotation": "Līnijas atvienotas."
-        },
-        "merge": {
-            "title": "Sapludināt",
-            "description": "Sapludināt līnijas.",
-            "key": "C",
-            "annotation": "{n} līnijas sapludinātas.",
-            "not_eligible": "Šos objektus nevar apvienot.",
-            "not_adjacent": "Šīs līnijas nevar apvienot, jo tās nav savienotas."
-        },
-        "move": {
-            "title": "Pārvietot",
-            "description": "Pārvieto objektu.",
-            "key": "M",
-            "annotation": {
-                "point": "Punkts pārvietots.",
-                "vertex": "Mezgls pārvietots.",
-                "line": "Līnija pārvietota.",
-                "area": "Apgabals pārvietots.",
-                "multiple": "Vairāki objekti pārvietoti."
-            },
-            "incomplete_relation": "Šo objektu nevar pārvietot, jo tas nav pilnībā lejuplādēts."
-        },
-        "rotate": {
-            "title": "Pagriezt",
-            "description": "Pagriezt šo objektu ap tā centru.",
-            "key": "R",
-            "annotation": {
-                "line": "Līnija pagriezta.",
-                "area": "Apgabals pagriezts."
+
+        var item = selection
+            .selectAll('.conflict')
+            .data([list[index]]);
+
+        var enter = item.enter()
+            .append('div')
+            .attr('class', 'conflict');
+
+        enter
+            .append('h4')
+            .attr('class', 'conflict-count')
+            .text(t('save.conflict.count', { num: index + 1, total: list.length }));
+
+        enter
+            .append('a')
+            .attr('class', 'conflict-description')
+            .attr('href', '#')
+            .text(function(d) { return d.name; })
+            .on('click', function(d) {
+                zoomToEntity(d.id);
+                d3.event.preventDefault();
+            });
+
+        var details = enter
+            .append('div')
+            .attr('class', 'conflict-detail-container');
+
+        details
+            .append('ul')
+            .attr('class', 'conflict-detail-list')
+            .selectAll('li')
+            .data(function(d) { return d.details || []; })
+            .enter()
+            .append('li')
+            .attr('class', 'conflict-detail-item')
+            .html(function(d) { return d; });
+
+        details
+            .append('div')
+            .attr('class', 'conflict-choices')
+            .call(addChoices);
+
+        details
+            .append('div')
+            .attr('class', 'conflict-nav-buttons joined cf')
+            .selectAll('button')
+            .data(['previous', 'next'])
+            .enter()
+            .append('button')
+            .text(function(d) { return t('save.conflict.' + d); })
+            .attr('class', 'conflict-nav-button action col6')
+            .attr('disabled', function(d, i) {
+                return (i === 0 && index === 0) ||
+                    (i === 1 && index === list.length - 1) || null;
+            })
+            .on('click', function(d, i) {
+                var container = parent.select('.conflict-container'),
+                sign = (i === 0 ? -1 : 1);
+
+                container
+                    .selectAll('.conflict')
+                    .remove();
+
+                container
+                    .call(showConflict, index + sign);
+
+                d3.event.preventDefault();
+            });
+
+        item.exit()
+            .remove();
+
+    }
+
+    function addChoices(selection) {
+        var choices = selection
+            .append('ul')
+            .attr('class', 'layer-list')
+            .selectAll('li')
+            .data(function(d) { return d.choices || []; });
+
+        var enter = choices.enter()
+            .append('li')
+            .attr('class', 'layer');
+
+        var label = enter
+            .append('label');
+
+        label
+            .append('input')
+            .attr('type', 'radio')
+            .attr('name', function(d) { return d.id; })
+            .on('change', function(d, i) {
+                var ul = this.parentElement.parentElement.parentElement;
+                ul.__data__.chosen = i;
+                choose(ul, d);
+            });
+
+        label
+            .append('span')
+            .text(function(d) { return d.text; });
+
+        choices
+            .each(function(d, i) {
+                var ul = this.parentElement;
+                if (ul.__data__.chosen === i) choose(ul, d);
+            });
+    }
+
+    function choose(ul, datum) {
+        if (d3.event) d3.event.preventDefault();
+
+        d3.select(ul)
+            .selectAll('li')
+            .classed('active', function(d) { return d === datum; })
+            .selectAll('input')
+            .property('checked', function(d) { return d === datum; });
+
+        var extent = iD.geo.Extent(),
+            entity;
+
+        entity = context.graph().hasEntity(datum.id);
+        if (entity) extent._extend(entity.extent(context.graph()));
+
+        datum.action();
+
+        entity = context.graph().hasEntity(datum.id);
+        if (entity) extent._extend(entity.extent(context.graph()));
+
+        zoomToEntity(datum.id, extent);
+    }
+
+    function zoomToEntity(id, extent) {
+        context.surface().selectAll('.hover')
+            .classed('hover', false);
+
+        var entity = context.graph().hasEntity(id);
+        if (entity) {
+            if (extent) {
+                context.map().trimmedExtent(extent);
+            } else {
+                context.map().zoomTo(entity);
             }
-        },
-        "reverse": {
-            "title": "Mainīt virzienu",
-            "description": "Mainīt līnijas virzienu.",
-            "key": "V",
-            "annotation": "Līnijas virziens mainīts."
-        },
-        "split": {
-            "title": "Sadalīt",
-            "description": {
-                "area": "Sadalīt šī apgabala robežu divās daļās."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Sadalīt līniju.",
-                "area": "Sadalīt apgabala robežu.",
-                "multiple": "Sadalīt {n} līnijas/apgabala robežas."
-            },
-            "not_eligible": "Līnijas nevar sadalīt to sākumā vai beigās."
-        }
-    },
-    "nothing_to_undo": "Nav nekā, ko atcelt",
-    "nothing_to_redo": "Nav nekā, ko atsaukt",
-    "just_edited": "Jūs nupat rediģējāt OpenStreetMap",
-    "browser_notice": "Šis redaktors tiek atbalstīts ar Firefox, Chrome, Safari, Opera, un Internet Explorer 9 un jaunāku. Lūdzu, atjauniniet savu pārlūkprogrammu vai izmantojiet Potlatch 2 kartes rediģēšanai",
-    "view_on_osm": "Aplūkot OSM kartē",
-    "zoom_in_edit": "pietuviniet, lai labotu karti",
-    "logout": "atslēgties",
-    "loading_auth": "Savienojas ar OpenStreetMap...",
-    "report_a_bug": "ziņot par kļūdu",
-    "commit": {
-        "title": "Saglabāt izmaiņas",
-        "description_placeholder": "Īss apraksts par jūsu ieguldījumu",
-        "message_label": "Izmaiņu apraksts",
-        "upload_explanation": "Izmaiņas, kuras jūs augšupielādējat kā {user}, būs pieejamas visās kartēs, kuras izmanto OpenStreetMap datus.",
-        "save": "Saglabāt",
-        "cancel": "Atcelt",
-        "warnings": "Brīdinājumi",
-        "modified": "Mainīts",
-        "deleted": "Dzēsts",
-        "created": "Izveidots"
-    },
-    "contributors": {
-        "list": "{users} papildinājumi redzami",
-        "truncated_list": "{users} un {count} citu papildinājumi redzami"
-    },
-    "geocoder": {
-        "title": "Atrast vietu",
-        "placeholder": "meklēt vietu",
-        "no_results": "Nevar atrast vietu '{name}'"
-    },
-    "geolocate": {
-        "title": "Parādīt manu atrašanās vietu"
-    },
-    "inspector": {
-        "no_documentation_combination": "Šai apzīmējumu kombinācijai nav piejama dokumentācija",
-        "no_documentation_key": "Šai vērtībai nav piejama dokumentācija",
-        "show_more": "Rādīt vairāk",
-        "new_tag": "Jauns apzīmējums",
-        "editing_feature": "Rediģē {feature}",
-        "additional": "Papildus apzīmējumi",
-        "choose": "Izvēlieties objekta tipu",
-        "results": "Atrasti {n} rezultāti meklējot {search}",
-        "back_tooltip": "Mainīt objekta tipu"
-    },
-    "background": {
-        "title": "Fons",
-        "description": "Fona iestatījumi",
-        "percent_brightness": "{opacity}% caurspīdīgums",
-        "fix_misalignment": "Labot fona nobīdi",
-        "reset": "Atiestatīt"
-    },
-    "restore": {
-        "heading": "Jums ir nesaglabātas izmaiņas",
-        "description": "Jums ir nesaglabātas izmaiņas no iepriekšējās labošanas sesijas. Vai vēlaties ielādēt šīs izmaiņas?",
-        "restore": "Ielādēt",
-        "reset": "Atmest"
-    },
-    "save": {
-        "title": "Saglabāt",
-        "help": "Saglabā izmaiņas, padarot tās redzamas citiem.",
-        "no_changes": "Nav izmaiņu, ko saglabāt.",
-        "error": "Kļūda. Nevarēja saglabāt izmaiņas",
-        "uploading": "Augšupielādē izmaiņas",
-        "unsaved_changes": "Jums ir nesaglabātas izmaiņas"
-    },
-    "splash": {
-        "welcome": "Laipni lūgti iD OpenStreetMap redaktorā",
-        "text": "Šī ir izstrādes versija {version}. Papildus informācijai skatīt {website} un ziņot par kļūdām {github}.",
-        "start": "Labot tagad"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "Jums ir nesaglabātas izmaiņas. Tās tiks zaudētas mainot karšu serveri. Vai tiešām vēlaties mainīt karšu serveri?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Apraksts",
-        "on_wiki": "{tag} wiki.osm.org",
-        "used_with": "izmantots kopā ar {type}"
-    },
-    "validations": {
-        "untagged_line": "Neapzīmēta līnija",
-        "untagged_area": "Neapzīmēts apgabals",
-        "many_deletions": "Jūs dzēšat {n} objektus. Vai tiešām vēlaties to darīt? Tie tiks izdzēsti no kartes, ko visi var aplūkt openstreetmap.org.",
-        "tag_suggests_area": "Apzīmējums {tag} parasti tiek lietots apgabaliem, bet objekts nav apgabals",
-        "deprecated_tags": "Novecojuši apzīmējumi: {tags}"
-    },
-    "zoom": {
-        "in": "Pietuvināt",
-        "out": "Attālināt"
-    },
-    "gpx": {
-        "local_layer": "Vietējais GPX fails",
-        "drag_drop": "Uzvelc uz atlaid .gpx failu uz šīs lapas"
-    },
-    "help": {
-        "title": "Palīdzība",
-        "help": "# Palīdzība\n\nŠis ir redaktors, kas domāts [OpenStreetMap](http://www.openstreetmap.org/)  -\n tā ir visiem pieejama un brīvi labojama pasaules karte. Tu vari lietot šo redaktoru, lai labotu un papildinātu datus tev labi zināmā apgabalā, tādejādi radot atvērtās piekļuvess pasaules karti labāku priekš ikviena, kas to lieto.\n\nLabojumi, ko tu veiksi kartē, būs redzami ikvienam, kas lieto OpenStreeMap.\nLai veiktu labojumus, tev vajag atvērt \n[brīvu OpenStreetMap kontu](https://www.openstreetmap.org/user/new).\n[iD editor](http://ideditor.com/) ir uz sadarbību orientēts projekts ar pilnu pieeju  [izejas kodam, kas pieejams GitHub](https://github.com/systemed/iD).\n"
-    },
-    "intro": {
-        "lines": {
-            "start": "**Uzsāciet līniju, klikšķinot ceļa beigu punktā.**",
-            "restart": "Ceļam jākrusto Flower Street."
-        },
-        "startediting": {
-            "save": "Neizmirstiet regulāri saglabāt izmaiņas!"
+            context.surface().selectAll(
+                iD.util.entityOrMemberSelector([entity.id], context.graph()))
+                .classed('hover', true);
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Piekļuve",
-                "types": {
-                    "access": "Vispārīgs",
-                    "foot": "Kājām",
-                    "motor_vehicle": "Automašīnas",
-                    "bicycle": "Velosipēdi",
-                    "horse": "Zirgi"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Atļauts",
-                        "description": "Piekļuve atļauta ar likumu"
-                    },
-                    "no": {
-                        "title": "Aizliegts",
-                        "description": "Piekļuve nav atļauta bez speciālā atļaujām "
-                    },
-                    "permissive": {
-                        "description": "Piekļuve atļauta līdz īpašnieks atsauc atļauju"
-                    },
-                    "private": {
-                        "title": "Privāts",
-                        "description": "Piekļuve atļauta tikai ar īpašnieka atļauju"
-                    },
-                    "designated": {
-                        "title": "Nozīmēts",
-                        "description": "Piekļuve atļauta atbilstoši zīmēm vai speciāliem vietējiem likumiem"
-                    },
-                    "destination": {
-                        "title": "Galamērķis"
-                    }
-                }
-            },
-            "address": {
-                "label": "Adrese",
-                "placeholders": {
-                    "number": "123",
-                    "street": "Iela",
-                    "city": "Pilsēta"
-                }
-            },
-            "aeroway": {
-                "label": "Tips"
-            },
-            "amenity": {
-                "label": "Tips"
-            },
-            "atm": {
-                "label": "Bankomāts"
-            },
-            "barrier": {
-                "label": "Tips"
-            },
-            "bicycle_parking": {
-                "label": "Tips"
-            },
-            "building": {
-                "label": "Ēka"
-            },
-            "building_area": {
-                "label": "Ēka"
-            },
-            "building_yes": {
-                "label": "Ēka"
-            },
-            "capacity": {
-                "label": "Ietilpība"
-            },
-            "construction": {
-                "label": "Tips"
-            },
-            "country": {
-                "label": "Valsts"
-            },
-            "crossing": {
-                "label": "Tips"
-            },
-            "cuisine": {
-                "label": "Ēdiens"
-            },
-            "denomination": {
-                "label": "Denominācija"
-            },
-            "elevation": {
-                "label": "Augstums"
-            },
-            "emergency": {
-                "label": "Ārkārtas"
-            },
-            "entrance": {
-                "label": "Tips"
-            },
-            "fax": {
-                "label": "Fakss"
-            },
-            "fee": {
-                "label": "Maksa"
-            },
-            "highway": {
-                "label": "Tips"
-            },
-            "historic": {
-                "label": "Tips"
-            },
-            "internet_access": {
-                "label": "Interneta piekļuve",
-                "options": {
-                    "wlan": "Bezvadu internets",
-                    "wired": "Kabeļinternets",
-                    "terminal": "Termināls"
-                }
-            },
-            "landuse": {
-                "label": "Tips"
-            },
-            "layer": {
-                "label": "Līmenis"
-            },
-            "leisure": {
-                "label": "Tips"
-            },
-            "levels": {
-                "label": "Stāvu skaits"
-            },
-            "man_made": {
-                "label": "Tips"
-            },
-            "maxspeed": {
-                "label": "Ātruma ierobežojums"
-            },
-            "name": {
-                "label": "Vārds"
-            },
-            "natural": {
-                "label": "Dabisks"
-            },
-            "network": {
-                "label": "Tīlks"
-            },
-            "note": {
-                "label": "Piezīme"
-            },
-            "office": {
-                "label": "Tips"
-            },
-            "oneway": {
-                "label": "Vienvirziena"
-            },
-            "oneway_yes": {
-                "label": "Vienvirziena"
-            },
-            "opening_hours": {
-                "label": "Darba laiks"
-            },
-            "operator": {
-                "label": "Operators"
-            },
-            "park_ride": {
-                "label": "Novieto un brauc"
-            },
-            "parking": {
-                "label": "Tips"
-            },
-            "phone": {
-                "label": "Telefons"
-            },
-            "place": {
-                "label": "Tips"
-            },
-            "power": {
-                "label": "Tips"
-            },
-            "railway": {
-                "label": "Tips"
-            },
-            "ref": {
-                "label": "Atskaites punkts"
-            },
-            "religion": {
-                "label": "Reliģija",
-                "options": {
-                    "christian": "Kristietiešu",
-                    "muslim": "Musulmaņu",
-                    "buddhist": "Budistu",
-                    "jewish": "Ebreju",
-                    "hindu": "Hinduistu",
-                    "shinto": "Sintoistu",
-                    "taoist": "Taoistu"
-                }
-            },
-            "service": {
-                "label": "Tips"
-            },
-            "shelter": {
-                "label": "Pajumte"
-            },
-            "shop": {
-                "label": "Tips"
-            },
-            "source": {
-                "label": "Avots"
-            },
-            "sport": {
-                "label": "Sports"
-            },
-            "structure": {
-                "label": "Objekts",
-                "options": {
-                    "bridge": "Tilts",
-                    "tunnel": "Tunelis",
-                    "embankment": "Krastmala",
-                    "cutting": "Izgriezums"
-                }
-            },
-            "surface": {
-                "label": "Segums"
-            },
-            "tourism": {
-                "label": "Tips"
-            },
-            "tracktype": {
-                "label": "Tips"
-            },
-            "water": {
-                "label": "Tips"
-            },
-            "waterway": {
-                "label": "Tips"
-            },
-            "website": {
-                "label": "Interneta lapa"
-            },
-            "wetland": {
-                "label": "Tips"
-            },
-            "wheelchair": {
-                "label": "Ratiņkrēslam pieejams"
-            },
-            "wikipedia": {
-                "label": "Vikipēdija"
-            },
-            "wood": {
-                "label": "Tips"
+    }
+
+
+    // The conflict list should be an array of objects like:
+    // {
+    //     id: id,
+    //     name: entityName(local),
+    //     details: merge.conflicts(),
+    //     chosen: 1,
+    //     choices: [
+    //         choice(id, keepMine, forceLocal),
+    //         choice(id, keepTheirs, forceRemote)
+    //     ]
+    // }
+    conflicts.list = function(_) {
+        if (!arguments.length) return list;
+        list = _;
+        return conflicts;
+    };
+
+    return d3.rebind(conflicts, dispatch, 'on');
+};
+iD.ui.Contributors = function(context) {
+    function update(selection) {
+        var users = {},
+            limit = 4,
+            entities = context.intersects(context.map().extent());
+
+        entities.forEach(function(entity) {
+            if (entity && entity.user) users[entity.user] = true;
+        });
+
+        var u = Object.keys(users),
+            subset = u.slice(0, u.length > limit ? limit - 1 : limit);
+
+        selection.html('')
+            .call(iD.svg.Icon('#icon-nearby', 'pre-text light'));
+
+        var userList = d3.select(document.createElement('span'));
+
+        userList.selectAll()
+            .data(subset)
+            .enter()
+            .append('a')
+            .attr('class', 'user-link')
+            .attr('href', function(d) { return context.connection().userURL(d); })
+            .attr('target', '_blank')
+            .attr('tabindex', -1)
+            .text(String);
+
+        if (u.length > limit) {
+            var count = d3.select(document.createElement('span'));
+
+            count.append('a')
+                .attr('target', '_blank')
+                .attr('tabindex', -1)
+                .attr('href', function() {
+                    return context.connection().changesetsURL(context.map().center(), context.map().zoom());
+                })
+                .text(u.length - limit + 1);
+
+            selection.append('span')
+                .html(t('contributors.truncated_list', {users: userList.html(), count: count.html()}));
+        } else {
+            selection.append('span')
+                .html(t('contributors.list', {users: userList.html()}));
+        }
+
+        if (!u.length) {
+            selection.transition().style('opacity', 0);
+        } else if (selection.style('opacity') === '0') {
+            selection.transition().style('opacity', 1);
+        }
+    }
+
+    return function(selection) {
+        update(selection);
+
+        context.connection().on('loaded.contributors', function() {
+            update(selection);
+        });
+
+        context.map().on('move.contributors', _.debounce(function() {
+            update(selection);
+        }, 500));
+    };
+};
+iD.ui.Disclosure = function() {
+    var dispatch = d3.dispatch('toggled'),
+        title,
+        expanded = false,
+        content = function () {};
+
+    var disclosure = function(selection) {
+        var $link = selection.selectAll('.hide-toggle')
+            .data([0]);
+
+        $link.enter().append('a')
+            .attr('href', '#')
+            .attr('class', 'hide-toggle');
+
+        $link.text(title)
+            .on('click', toggle)
+            .classed('expanded', expanded);
+
+        var $body = selection.selectAll('div')
+            .data([0]);
+
+        $body.enter().append('div');
+
+        $body.classed('hide', !expanded)
+            .call(content);
+
+        function toggle() {
+            expanded = !expanded;
+            $link.classed('expanded', expanded);
+            $body.call(iD.ui.Toggle(expanded));
+            dispatch.toggled(expanded);
+        }
+    };
+
+    disclosure.title = function(_) {
+        if (!arguments.length) return title;
+        title = _;
+        return disclosure;
+    };
+
+    disclosure.expanded = function(_) {
+        if (!arguments.length) return expanded;
+        expanded = _;
+        return disclosure;
+    };
+
+    disclosure.content = function(_) {
+        if (!arguments.length) return content;
+        content = _;
+        return disclosure;
+    };
+
+    return d3.rebind(disclosure, dispatch, 'on');
+};
+iD.ui.EntityEditor = function(context) {
+    var event = d3.dispatch('choose'),
+        state = 'select',
+        id,
+        preset,
+        reference;
+
+    var presetEditor = iD.ui.preset(context)
+        .on('change', changeTags);
+    var rawTagEditor = iD.ui.RawTagEditor(context)
+        .on('change', changeTags);
+
+    function entityEditor(selection) {
+        var entity = context.entity(id),
+            tags = _.clone(entity.tags);
+
+        var $header = selection.selectAll('.header')
+            .data([0]);
+
+        // Enter
+
+        var $enter = $header.enter().append('div')
+            .attr('class', 'header fillL cf');
+
+        $enter.append('button')
+            .attr('class', 'fr preset-close')
+            .call(iD.svg.Icon('#icon-close'));
+
+        $enter.append('h3');
+
+        // Update
+
+        $header.select('h3')
+            .text(t('inspector.edit'));
+
+        $header.select('.preset-close')
+            .on('click', function() {
+                context.enter(iD.modes.Browse(context));
+            });
+
+        var $body = selection.selectAll('.inspector-body')
+            .data([0]);
+
+        // Enter
+
+        $enter = $body.enter().append('div')
+            .attr('class', 'inspector-body');
+
+        $enter.append('div')
+            .attr('class', 'preset-list-item inspector-inner')
+            .append('div')
+            .attr('class', 'preset-list-button-wrap')
+            .append('button')
+            .attr('class', 'preset-list-button preset-reset')
+            .call(bootstrap.tooltip()
+                .title(t('inspector.back_tooltip'))
+                .placement('bottom'))
+            .append('div')
+            .attr('class', 'label');
+
+        $body.select('.preset-list-button-wrap')
+            .call(reference.button);
+
+        $body.select('.preset-list-item')
+            .call(reference.body);
+
+        $enter.append('div')
+            .attr('class', 'inspector-border inspector-preset');
+
+        $enter.append('div')
+            .attr('class', 'inspector-border raw-tag-editor inspector-inner');
+
+        $enter.append('div')
+            .attr('class', 'inspector-border raw-member-editor inspector-inner');
+
+        $enter.append('div')
+            .attr('class', 'raw-membership-editor inspector-inner');
+
+        selection.selectAll('.preset-reset')
+            .on('click', function() {
+                event.choose(preset);
+            });
+
+        // Update
+
+        $body.select('.preset-list-item button')
+            .call(iD.ui.PresetIcon()
+                .geometry(context.geometry(id))
+                .preset(preset));
+
+        $body.select('.preset-list-item .label')
+            .text(preset.name());
+
+        $body.select('.inspector-preset')
+            .call(presetEditor
+                .preset(preset)
+                .entityID(id)
+                .tags(tags)
+                .state(state));
+
+        $body.select('.raw-tag-editor')
+            .call(rawTagEditor
+                .preset(preset)
+                .entityID(id)
+                .tags(tags)
+                .state(state));
+
+        if (entity.type === 'relation') {
+            $body.select('.raw-member-editor')
+                .style('display', 'block')
+                .call(iD.ui.RawMemberEditor(context)
+                    .entityID(id));
+        } else {
+            $body.select('.raw-member-editor')
+                .style('display', 'none');
+        }
+
+        $body.select('.raw-membership-editor')
+            .call(iD.ui.RawMembershipEditor(context)
+                .entityID(id));
+
+        function historyChanged() {
+            if (state === 'hide') return;
+            var entity = context.hasEntity(id);
+            if (!entity) return;
+            entityEditor.preset(context.presets().match(entity, context.graph()));
+            entityEditor(selection);
+        }
+
+        context.history()
+            .on('change.entity-editor', historyChanged);
+    }
+
+    function clean(o) {
+
+        function cleanVal(k, v) {
+            function keepSpaces(k) {
+                var whitelist = ['opening_hours', 'service_times', 'collection_times',
+                    'operating_times', 'smoking_hours', 'happy_hours'];
+                return _.any(whitelist, function(s) { return k.indexOf(s) !== -1; });
             }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Skrejceļš"
-            },
-            "aeroway/aerodrome": {
-                "name": "Lidosta",
-                "terms": "lidmašīna, lidosta"
-            },
-            "aeroway/helipad": {
-                "name": "Helikopteru nosēšanās laukums",
-                "terms": "helikopters, helikoteru nosēšanās laukums"
-            },
-            "amenity/bank": {
-                "name": "Banka"
-            },
-            "amenity/bar": {
-                "name": "Bārs"
-            },
-            "amenity/bench": {
-                "name": "Sols"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Velo stāvvieta"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Velonoma"
-            },
-            "amenity/cafe": {
-                "name": "Kafejnīca",
-                "terms": "kafija, tēja, kafejnīca"
-            },
-            "amenity/cinema": {
-                "name": "Kino"
-            },
-            "amenity/courthouse": {
-                "name": "Tiesas nams"
-            },
-            "amenity/embassy": {
-                "name": "Vēstniecība"
-            },
-            "amenity/fast_food": {
-                "name": "Ātrās ēdināšanas iestāde"
-            },
-            "amenity/fire_station": {
-                "name": "Ugunsdzēsēju stacija"
-            },
-            "amenity/fuel": {
-                "name": "Degvielas uzpildes stacija"
-            },
-            "amenity/grave_yard": {
-                "name": "Kapi"
-            },
-            "amenity/hospital": {
-                "name": "Slimnīca",
-                "terms": "Slimnīca, Ātrās palīdzības punkts, veselības dienests, sanatorija"
-            },
-            "amenity/library": {
-                "name": "Bibliotēka"
-            },
-            "amenity/marketplace": {
-                "name": "Tirgus"
-            },
-            "amenity/parking": {
-                "name": "Stāvvieta"
-            },
-            "amenity/pharmacy": {
-                "name": "Aptieka"
-            },
-            "amenity/place_of_worship": {
-                "name": "Dievnams",
-                "terms": "bazilika, katedrāle, kapellam baznīca, Dieva nams, Lūgšanu nams, mošeja"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Baznīca"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Sinagoga",
-                "terms": "jūdu, sinagoga"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Mošeja",
-                "terms": "musulmaņu, mošeja"
-            },
-            "amenity/police": {
-                "name": "Policija"
-            },
-            "amenity/post_box": {
-                "name": "Pasta kastīte"
-            },
-            "amenity/post_office": {
-                "name": "Pasta nodaļa"
-            },
-            "amenity/pub": {
-                "name": "Krogs"
-            },
-            "amenity/restaurant": {
-                "name": "Restorāns"
-            },
-            "amenity/school": {
-                "name": "Skola"
-            },
-            "amenity/swimming_pool": {
-                "name": "Peldbaseins"
-            },
-            "amenity/telephone": {
-                "name": "Telefons"
-            },
-            "amenity/theatre": {
-                "name": "Teātris"
-            },
-            "amenity/toilets": {
-                "name": "Tualete"
-            },
-            "amenity/townhall": {
-                "name": "Pilsētas dome"
-            },
-            "amenity/university": {
-                "name": "Universitāte"
-            },
-            "barrier": {
-                "name": "Barjera"
-            },
-            "barrier/block": {
-                "name": "Ēkas daļa"
-            },
-            "barrier/city_wall": {
-                "name": "Pilsētas mūri"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Veloceliņa barjera"
-            },
-            "barrier/ditch": {
-                "name": "Grāvis"
-            },
-            "barrier/entrance": {
-                "name": "Ieeja"
-            },
-            "barrier/fence": {
-                "name": "Žogs"
-            },
-            "barrier/gate": {
-                "name": "Vārti"
-            },
-            "barrier/kissing_gate": {
-                "name": "Dubultveramie vārti"
-            },
-            "barrier/lift_gate": {
-                "name": "Lifta ieeja"
-            },
-            "barrier/toll_booth": {
-                "name": "Muitas punkts"
-            },
-            "barrier/wall": {
-                "name": "Siena"
-            },
-            "boundary/administrative": {
-                "name": "Administratīvā robeža"
-            },
-            "building": {
-                "name": "Ēka"
-            },
-            "building/apartments": {
-                "name": "Dzīvokļi"
-            },
-            "building/entrance": {
-                "name": "Ieeja"
-            },
-            "building/house": {
-                "name": "Māja"
-            },
-            "entrance": {
-                "name": "Ieeja"
-            },
-            "highway": {
-                "name": "Šoseja"
-            },
-            "highway/bus_stop": {
-                "name": "Autobusa pietura"
-            },
-            "highway/cycleway": {
-                "name": "Veloceliņš"
-            },
-            "highway/footway": {
-                "name": "Taka"
-            },
-            "highway/motorway": {
-                "name": "Ātrgaitas šoseja"
-            },
-            "highway/path": {
-                "name": "Taka"
-            },
-            "highway/primary": {
-                "name": "Galvenais ceļš"
-            },
-            "highway/road": {
-                "name": "Nezināms ceļš"
-            },
-            "highway/secondary": {
-                "name": "Otrās škiras ceļš"
-            },
-            "highway/service": {
-                "name": "Apkalpošanas ceļš"
-            },
-            "highway/steps": {
-                "name": "Kāpnes"
-            },
-            "highway/track": {
-                "name": "Meža ceļš"
-            },
-            "highway/traffic_signals": {
-                "name": "Luksofors"
-            },
-            "highway/turning_circle": {
-                "name": "Apgriešanās riņķis"
-            },
-            "highway/unclassified": {
-                "name": "Neklasificēts ceļš"
-            },
-            "historic": {
-                "name": "Vēsturiska vieta"
-            },
-            "historic/archaeological_site": {
-                "name": "Arheoloģisko izrakumu vieta"
-            },
-            "historic/boundary_stone": {
-                "name": "Robežakmens"
-            },
-            "historic/castle": {
-                "name": "Pils"
-            },
-            "historic/memorial": {
-                "name": "Memoriāls"
-            },
-            "historic/monument": {
-                "name": "Piemineklis"
-            },
-            "historic/ruins": {
-                "name": "Pilsdrupas"
-            },
-            "landuse": {
-                "name": "Zemes pielietojums"
-            },
-            "landuse/basin": {
-                "name": "Baseins"
-            },
-            "landuse/cemetery": {
-                "name": "Kapsēta"
-            },
-            "landuse/commercial": {
-                "name": "Komercplatība"
-            },
-            "landuse/construction": {
-                "name": "Būvlaukums"
-            },
-            "landuse/farm": {
-                "name": "Zemnieku saimniecība"
-            },
-            "landuse/farmyard": {
-                "name": "Lauku sēta"
-            },
-            "landuse/forest": {
-                "name": "Mežs"
-            },
-            "landuse/grass": {
-                "name": "Zāle"
-            },
-            "landuse/industrial": {
-                "name": "Industriāls rajons"
-            },
-            "landuse/meadow": {
-                "name": "Pļava"
-            },
-            "landuse/quarry": {
-                "name": "Karjers"
-            },
-            "landuse/residential": {
-                "name": "Dzīvojamā zona"
-            },
-            "landuse/vineyard": {
-                "name": "Vīnogu lauks"
-            },
-            "leisure": {
-                "name": "Brīvā laika"
-            },
-            "leisure/garden": {
-                "name": "Dārzs"
-            },
-            "leisure/golf_course": {
-                "name": "Golfa laukums"
-            },
-            "leisure/park": {
-                "name": "Parks"
-            },
-            "leisure/pitch": {
-                "name": "Sporta laukums"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Amerikāņu futbola laukums"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Beisbola laukums"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Basketbola laukums"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Futbola laukums"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Tenisa korti"
-            },
-            "leisure/playground": {
-                "name": "Spēļlaukums"
-            },
-            "leisure/stadium": {
-                "name": "Stadions"
-            },
-            "leisure/swimming_pool": {
-                "name": "Peldbaseins"
-            },
-            "man_made": {
-                "name": "Cilvēka radīts"
-            },
-            "man_made/lighthouse": {
-                "name": "Bāka"
-            },
-            "man_made/survey_point": {
-                "name": "Novērošanas punkts"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Notekūdeņu stacija",
-                "terms": "kanalizācija, notekūdeņu attīrīšanas stacija, ūdens attīrīšanas stacija"
-            },
-            "man_made/water_tower": {
-                "name": "Ūdenstornis"
-            },
-            "natural": {
-                "name": "Dabisks"
-            },
-            "natural/bay": {
-                "name": "Līcis"
-            },
-            "natural/beach": {
-                "name": "Pludmale"
-            },
-            "natural/cliff": {
-                "name": "Klints"
-            },
-            "natural/coastline": {
-                "name": "Krasta līnija"
-            },
-            "natural/glacier": {
-                "name": "Ledājs"
-            },
-            "natural/grassland": {
-                "name": "Neapstrādāta zeme"
-            },
-            "natural/heath": {
-                "name": "Siltums"
-            },
-            "natural/peak": {
-                "name": "Virsotne"
-            },
-            "natural/spring": {
-                "name": "Avots"
-            },
-            "natural/tree": {
-                "name": "Koks"
-            },
-            "natural/water": {
-                "name": "Ūdens"
-            },
-            "natural/water/lake": {
-                "name": "Ezers"
-            },
-            "natural/water/pond": {
-                "name": "Dīķis"
-            },
-            "natural/water/reservoir": {
-                "name": "Ūdenstilpne"
-            },
-            "natural/wetland": {
-                "name": "Purvs"
-            },
-            "natural/wood": {
-                "name": "Koks"
-            },
-            "office": {
-                "name": "Biroju ēka"
-            },
-            "other": {
-                "name": "Cits"
-            },
-            "other_area": {
-                "name": "Cits"
-            },
-            "place": {
-                "name": "Vieta"
-            },
-            "place/city": {
-                "name": "Lielpilsēta"
-            },
-            "place/island": {
-                "name": "Sala"
-            },
-            "place/town": {
-                "name": "Pilsēta"
-            },
-            "place/village": {
-                "name": "Ciems"
-            },
-            "power": {
-                "name": "Enerģija"
-            },
-            "power/generator": {
-                "name": "Elektrostacija"
-            },
-            "power/line": {
-                "name": "Elektrolīnija"
-            },
-            "power/sub_station": {
-                "name": "Metro stacija"
-            },
-            "power/tower": {
-                "name": "Augstsprieguma tornis"
-            },
-            "power/transformer": {
-                "name": "Transformators"
-            },
-            "railway": {
-                "name": "Vilciens"
-            },
-            "railway/abandoned": {
-                "name": "Pamests dzelzceļš"
-            },
-            "railway/disused": {
-                "name": "Nelietots dzelzceļš"
-            },
-            "railway/monorail": {
-                "name": "Viensliežu vilciens"
-            },
-            "railway/rail": {
-                "name": "Sliedes"
-            },
-            "railway/station": {
-                "name": "Dzelzceļa stacija"
-            },
-            "railway/subway": {
-                "name": "Metro"
-            },
-            "railway/subway_entrance": {
-                "name": "Metro ieeja"
-            },
-            "railway/tram": {
-                "name": "Tramvajs"
-            },
-            "shop": {
-                "name": "Veikals"
-            },
-            "shop/alcohol": {
-                "name": "Alkoholisko dzērienu veikals"
-            },
-            "shop/beauty": {
-                "name": "Skaistumveikals"
-            },
-            "shop/beverages": {
-                "name": "Dzērienu veikals"
-            },
-            "shop/bicycle": {
-                "name": "Velo veikals"
-            },
-            "shop/books": {
-                "name": "Grāmatu veikals"
-            },
-            "shop/butcher": {
-                "name": "Miesnieks"
-            },
-            "shop/car": {
-                "name": "Auto dīleris"
-            },
-            "shop/car_parts": {
-                "name": "Auto rezerves daļu veikals"
-            },
-            "shop/car_repair": {
-                "name": "Auto remontdarbnīca"
-            },
-            "shop/chemist": {
-                "name": "Aptiekārs"
-            },
-            "shop/clothes": {
-                "name": "Apģērba veikals"
-            },
-            "shop/computer": {
-                "name": "Datorveikals"
-            },
-            "shop/confectionery": {
-                "name": "Saldumu veikals"
-            },
-            "shop/convenience": {
-                "name": "Veikals"
-            },
-            "shop/department_store": {
-                "name": "Lielveikals"
-            },
-            "shop/dry_cleaning": {
-                "name": "Ķīmiskā tīrītava"
-            },
-            "shop/electronics": {
-                "name": "Elektronikas veikals"
-            },
-            "shop/florist": {
-                "name": "Florists"
-            },
-            "shop/furniture": {
-                "name": "Mēbeļu veikals"
-            },
-            "shop/garden_centre": {
-                "name": "Dārzkopības veikals"
-            },
-            "shop/gift": {
-                "name": "Dāvanu veikals"
-            },
-            "shop/hairdresser": {
-                "name": "Frizieris"
-            },
-            "shop/hardware": {
-                "name": "Celtniecības veikals"
-            },
-            "shop/jewelry": {
-                "name": "Juvelieris"
-            },
-            "shop/kiosk": {
-                "name": "Kiosks"
-            },
-            "shop/laundry": {
-                "name": "Veļas mazgātuve"
-            },
-            "shop/mall": {
-                "name": "Iepirkšanās centrs"
-            },
-            "shop/mobile_phone": {
-                "name": "Mobilo telefonu veikals"
-            },
-            "shop/motorcycle": {
-                "name": "Motociklu veikals"
-            },
-            "shop/music": {
-                "name": "Mūzikas veikals"
-            },
-            "shop/optician": {
-                "name": "Optometrists"
-            },
-            "shop/outdoor": {
-                "name": "Aktīvās atpūtas veikals"
-            },
-            "shop/pet": {
-                "name": "Dzīvnieku veikals"
-            },
-            "shop/shoes": {
-                "name": "Apavu veikals"
-            },
-            "shop/sports": {
-                "name": "Sporta veikals"
-            },
-            "shop/stationery": {
-                "name": "Rakstāmlietu veikals"
-            },
-            "shop/supermarket": {
-                "name": "Lielveikals"
-            },
-            "shop/toys": {
-                "name": "Rotaļlietu veikals"
-            },
-            "shop/travel_agency": {
-                "name": "Ceļojumu aģentūra"
-            },
-            "shop/tyres": {
-                "name": "Riepu veikals"
-            },
-            "shop/video": {
-                "name": "Video veikals"
-            },
-            "tourism": {
-                "name": "Tūrisms"
-            },
-            "tourism/artwork": {
-                "name": "Mākslas darbs"
-            },
-            "tourism/attraction": {
-                "name": "Tūrisma objekts"
-            },
-            "tourism/camp_site": {
-                "name": "Telšu vieta"
-            },
-            "tourism/guest_house": {
-                "name": "Viesu nams"
-            },
-            "tourism/hostel": {
-                "name": "Hostelis"
-            },
-            "tourism/hotel": {
-                "name": "Viesnīca"
-            },
-            "tourism/information": {
-                "name": "Informācija"
-            },
-            "tourism/motel": {
-                "name": "Motelis"
-            },
-            "tourism/museum": {
-                "name": "Muzejs"
-            },
-            "tourism/picnic_site": {
-                "name": "Piknika vieta"
-            },
-            "tourism/theme_park": {
-                "name": "Tematiskais parks"
-            },
-            "tourism/viewpoint": {
-                "name": "Skatu punkts"
-            },
-            "tourism/zoo": {
-                "name": "Zooloģiskais dārzs"
-            },
-            "waterway": {
-                "name": "Ūdensceļš"
-            },
-            "waterway/canal": {
-                "name": "Kanāls"
-            },
-            "waterway/dam": {
-                "name": "Dambis"
-            },
-            "waterway/ditch": {
-                "name": "Grāvis"
-            },
-            "waterway/drain": {
-                "name": "Notekgrāvis"
-            },
-            "waterway/river": {
-                "name": "Upe"
-            },
-            "waterway/riverbank": {
-                "name": "Upes krasts"
-            },
-            "waterway/stream": {
-                "name": "Strauts"
+
+            var blacklist = ['description', 'note', 'fixme'];
+            if (_.any(blacklist, function(s) { return k.indexOf(s) !== -1; })) return v;
+
+            var cleaned = v.split(';')
+                .map(function(s) { return s.trim(); })
+                .join(keepSpaces(k) ? '; ' : ';');
+
+            // The code below is not intended to validate websites and emails.
+            // It is only intended to prevent obvious copy-paste errors. (#2323)
+
+            // clean website-like tags
+            if (k.indexOf('website') !== -1 || cleaned.indexOf('http') === 0) {
+                cleaned = cleaned
+                    .replace(/[\u200B-\u200F\uFEFF]/g, '')  // strip LRM and other zero width chars
+                    .replace(/[^\w\+\-\.\/\?\[\]\(\)~!@#$%&*',:;=]/g, encodeURIComponent);
+
+            // clean email-like tags
+            } else if (k.indexOf('email') !== -1) {
+                cleaned = cleaned
+                    .replace(/[\u200B-\u200F\uFEFF]/g, '')  // strip LRM and other zero width chars
+                    .replace(/[^\w\+\-\.\/\?\|~!@#$%^&*'`{};=]/g, '');  // note: ';' allowed as OSM delimiter
+            }
+
+            return cleaned;
+        }
+
+        var out = {}, k, v;
+        for (k in o) {
+            if (k && (v = o[k]) !== undefined) {
+                out[k] = cleanVal(k, v);
             }
         }
+        return out;
+    }
+
+    function changeTags(changed) {
+        var entity = context.entity(id),
+            tags = clean(_.extend({}, entity.tags, changed));
+
+        if (!_.isEqual(entity.tags, tags)) {
+            context.perform(
+                iD.actions.ChangeTags(id, tags),
+                t('operations.change_tags.annotation'));
+        }
     }
+
+    entityEditor.state = function(_) {
+        if (!arguments.length) return state;
+        state = _;
+        return entityEditor;
+    };
+
+    entityEditor.entityID = function(_) {
+        if (!arguments.length) return id;
+        id = _;
+        entityEditor.preset(context.presets().match(context.entity(id), context.graph()));
+        return entityEditor;
+    };
+
+    entityEditor.preset = function(_) {
+        if (!arguments.length) return preset;
+        if (_ !== preset) {
+            preset = _;
+            reference = iD.ui.TagReference(preset.reference(context.geometry(id)), context)
+                .showing(false);
+        }
+        return entityEditor;
+    };
+
+    return d3.rebind(entityEditor, event, 'on');
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.FeatureInfo = function(context) {
+    function update(selection) {
+        var features = context.features(),
+            stats = features.stats(),
+            count = 0,
+            hiddenList = _.compact(_.map(features.hidden(), function(k) {
+                if (stats[k]) {
+                    count += stats[k];
+                    return String(stats[k]) + ' ' + t('feature.' + k + '.description');
+                }
+            }));
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+        selection.html('');
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        if (hiddenList.length) {
+            var tooltip = bootstrap.tooltip()
+                    .placement('top')
+                    .html(true)
+                    .title(function() {
+                        return iD.ui.tooltipHtml(hiddenList.join('<br/>'));
+                    });
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.nl = {
-    "modes": {
-        "add_area": {
-            "title": "Vlak",
-            "description": "Voeg parken, gebouwen, meren of andere vlakken aan de kaart toe.",
-            "tail": "Klik in de kaart om het tekenen van een vlak zoals een park, gebouw of meer te starten."
-        },
-        "add_line": {
-            "title": "Lijn",
-            "description": "Lijnen zijn bijvoorbeeld rijkswegen, straten, voetpaden of kanalen.",
-            "tail": "Klik in de kaart om het tekenen van straat, pad of route te starten."
-        },
-        "add_point": {
-            "title": "Punt",
-            "description": "Restaurants, monumenten en brievenbussen zijn bijvoorbeeld punten.",
-            "tail": "Klik in de kaart om een punt toe te voegen."
-        },
-        "browse": {
-            "title": "Navigatie",
-            "description": "Verschuif en zoom in op de kaart."
+            var warning = selection.append('a')
+                .attr('href', '#')
+                .attr('tabindex', -1)
+                .html(t('feature_info.hidden_warning', { count: count }))
+                .call(tooltip)
+                .on('click', function() {
+                    tooltip.hide(warning);
+                    // open map data panel?
+                    d3.event.preventDefault();
+                });
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Punt toegevoegd.",
-                "vertex": "Knoop aan een weg toegevoegd."
+
+        selection
+            .classed('hide', !hiddenList.length);
+    }
+
+    return function(selection) {
+        update(selection);
+
+        context.features().on('change.feature_info', function() {
+            update(selection);
+        });
+    };
+};
+iD.ui.FeatureList = function(context) {
+    var geocodeResults;
+
+    function featureList(selection) {
+        var header = selection.append('div')
+            .attr('class', 'header fillL cf');
+
+        header.append('h3')
+            .text(t('inspector.feature_list'));
+
+        function keypress() {
+            var q = search.property('value'),
+                items = list.selectAll('.feature-list-item');
+            if (d3.event.keyCode === 13 && q.length && items.size()) {
+                click(items.datum());
             }
-        },
-        "start": {
-            "annotation": {
-                "line": "Lijn begonnen.",
-                "area": "Vlak begonnen."
+        }
+
+        function inputevent() {
+            geocodeResults = undefined;
+            drawList();
+        }
+
+        var searchWrap = selection.append('div')
+            .attr('class', 'search-header');
+
+        var search = searchWrap.append('input')
+            .attr('placeholder', t('inspector.search'))
+            .attr('type', 'search')
+            .on('keypress', keypress)
+            .on('input', inputevent);
+
+        searchWrap
+            .call(iD.svg.Icon('#icon-search', 'pre-text'));
+
+        var listWrap = selection.append('div')
+            .attr('class', 'inspector-body');
+
+        var list = listWrap.append('div')
+            .attr('class', 'feature-list cf');
+
+        context.map()
+            .on('drawn.feature-list', mapDrawn);
+
+        function mapDrawn(e) {
+            if (e.full) {
+                drawList();
             }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Lijn voortgezet.",
-                "area": "Vlak voortgezet."
+        }
+
+        function features() {
+            var entities = {},
+                result = [],
+                graph = context.graph(),
+                q = search.property('value').toLowerCase();
+
+            if (!q) return result;
+
+            var idMatch = q.match(/^([nwr])([0-9]+)$/);
+
+            if (idMatch) {
+                result.push({
+                    id: idMatch[0],
+                    geometry: idMatch[1] === 'n' ? 'point' : idMatch[1] === 'w' ? 'line' : 'relation',
+                    type: idMatch[1] === 'n' ? t('inspector.node') : idMatch[1] === 'w' ? t('inspector.way') : t('inspector.relation'),
+                    name: idMatch[2]
+                });
             }
-        },
-        "cancel_draw": {
-            "annotation": "Tekenen afgebroken."
-        },
-        "change_tags": {
-            "annotation": "Tags aangepast."
-        },
-        "circularize": {
-            "title": "Rond maken",
-            "description": {
-                "line": "Maak een lijn rond.",
-                "area": "Maak dit vlak rond."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Maak een lijn rond.",
-                "area": "Maak een vlak rond."
-            },
-            "not_closed": "Dit kan niet rond worden gemaakt omdat het geen lus is."
-        },
-        "orthogonalize": {
-            "title": "Haaks maken",
-            "description": "Maak deze hoeken haaks.",
-            "key": "Q",
-            "annotation": {
-                "line": "Hoeken van een lijn zijn haaks gemaakt.",
-                "area": "Hoeken van een vlak zijn haaks gemaakt."
-            },
-            "not_closed": "Dit kan niet haaks worden gemaakt, omdat het geen lus is."
-        },
-        "delete": {
-            "title": "Verwijderen",
-            "description": "Verwijder dit van de kaart.",
-            "annotation": {
-                "point": "Punt verwijderd.",
-                "vertex": "Knoop uit een weg verwijderd.",
-                "line": "Lijn verwijderd.",
-                "area": "Vlak verwijderd.",
-                "relation": "Relatie verwijderd.",
-                "multiple": "{n} objecten verwijderd."
+
+            var locationMatch = sexagesimal.pair(q.toUpperCase()) || q.match(/^(-?\d+\.?\d*)\s+(-?\d+\.?\d*)$/);
+
+            if (locationMatch) {
+                var loc = [parseFloat(locationMatch[0]), parseFloat(locationMatch[1])];
+                result.push({
+                    id: -1,
+                    geometry: 'point',
+                    type: t('inspector.location'),
+                    name: loc[0].toFixed(6) + ', ' + loc[1].toFixed(6),
+                    location: loc
+                });
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Weg aan een punt verbonden.",
-                "vertex": "Weg aan een andere weg verbonden.",
-                "line": "Weg aan een lijn  verbonden.",
-                "area": "Weg aan een vlak verbonden."
+
+            function addEntity(entity) {
+                if (entity.id in entities || result.length > 200)
+                    return;
+
+                entities[entity.id] = true;
+
+                var name = iD.util.displayName(entity) || '';
+                if (name.toLowerCase().indexOf(q) >= 0) {
+                    result.push({
+                        id: entity.id,
+                        entity: entity,
+                        geometry: context.geometry(entity.id),
+                        type: context.presets().match(entity, graph).name(),
+                        name: name
+                    });
+                }
+
+                graph.parentRelations(entity).forEach(function(parent) {
+                    addEntity(parent);
+                });
             }
-        },
-        "disconnect": {
-            "title": "Losmaken",
-            "description": "Maak deze wegen van elkaar los.",
-            "key": "D",
-            "annotation": "Wegen losgemaakt.",
-            "not_connected": "Er zijn hier niet genoeg lijnen/vlakken om los te maken."
-        },
-        "merge": {
-            "title": "Samenvoegen",
-            "description": "Voeg deze lijnen samen.",
-            "key": "C",
-            "annotation": "{n} lijnen samengevoegd.",
-            "not_eligible": "Deze objecten kunnen niet worden samengevoegd.",
-            "not_adjacent": "Deze lijnen kunnen niet worden samengevoegd omdat ze niet zijn verbonden."
-        },
-        "move": {
-            "title": "Verschuiven",
-            "description": "Verschuif dit object naar een andere plek.",
-            "key": "M",
-            "annotation": {
-                "point": "Punt verschoven.",
-                "vertex": "Knoop van een weg verschoven.",
-                "line": "Lijn verschoven.",
-                "area": "Vlak verschoven.",
-                "multiple": "Meerdere objecten verschoven."
-            },
-            "incomplete_relation": "Dit object kan niet worden verplaatst omdat het niet volledig is gedownload."
-        },
-        "rotate": {
-            "title": "Roteer",
-            "description": "Roteer dit object om zijn middelpunt.",
-            "key": "R",
-            "annotation": {
-                "line": "Lijn geroteerd.",
-                "area": "Vlak geroteerd."
+
+            var visible = context.surface().selectAll('.point, .line, .area')[0];
+            for (var i = 0; i < visible.length && result.length <= 200; i++) {
+                addEntity(visible[i].__data__);
             }
-        },
-        "reverse": {
-            "title": "Omdraaien",
-            "description": "Draai de richting van deze lijn om.",
-            "key": "V",
-            "annotation": "Lijnrichting omgedraaid."
-        },
-        "split": {
-            "title": "Splitsen",
-            "description": {
-                "area": "De grens van dit gebied in tweeën gesplitst."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Lijn opgesplitst.",
-                "area": "Grens van een vlak opgesplitst.",
-                "multiple": "{n} lijnen/grenzen van vlakken opgesplitst."
-            },
-            "not_eligible": "lijnen kunnen niet op hun begin op eindpunt worden gesplitst.",
-            "multiple_ways": "Er zijn hier teveel lijnen om op te splitsen."
+
+            (geocodeResults || []).forEach(function(d) {
+                // https://github.com/openstreetmap/iD/issues/1890
+                if (d.osm_type && d.osm_id) {
+                    result.push({
+                        id: iD.Entity.id.fromOSM(d.osm_type, d.osm_id),
+                        geometry: d.osm_type === 'relation' ? 'relation' : d.osm_type === 'way' ? 'line' : 'point',
+                        type: d.type !== 'yes' ? (d.type.charAt(0).toUpperCase() + d.type.slice(1)).replace('_', ' ')
+                                               : (d.class.charAt(0).toUpperCase() + d.class.slice(1)).replace('_', ' '),
+                        name: d.display_name,
+                        extent: new iD.geo.Extent(
+                            [parseFloat(d.boundingbox[3]), parseFloat(d.boundingbox[0])],
+                            [parseFloat(d.boundingbox[2]), parseFloat(d.boundingbox[1])])
+                    });
+                }
+            });
+
+            return result;
         }
-    },
-    "nothing_to_undo": "Niets om ongedaan te maken.",
-    "nothing_to_redo": "Niets om opnieuw uit te voeren.",
-    "just_edited": "Je hebt zojuist OpenStreetMap aangepast!",
-    "browser_notice": "Deze editor wordt door Firefox, Chrome, Safari, Opera en Internet Explorer (versie 9 en hoger) ondersteund. Download een nieuwere versie van je browser of gebruik Potlatch 2 om de kaart aan te passen.",
-    "view_on_osm": "Bekijk op OSM",
-    "zoom_in_edit": "Zoom in om de kaart aan te passen.",
-    "logout": "Afmelden",
-    "loading_auth": "Verbinden met OpenStreetMap...",
-    "report_a_bug": "Meld een softwareprobleem",
-    "commit": {
-        "title": "Aanpassingen opslaan",
-        "description_placeholder": "Een korte omschrijving van je bijdragen",
-        "message_label": "Bevestig notitie",
-        "upload_explanation": "Aanpassingen die je als {user} uploadt worden zichtbaar op alle kaarten die de gegevens van OpenStreetMap gebruiken.",
-        "save": "Opslaan",
-        "cancel": "Afbreken",
-        "warnings": "Waarschuwingen",
-        "modified": "Aangepast",
-        "deleted": "Verwijderd",
-        "created": "Aangemaakt"
-    },
-    "contributors": {
-        "list": "Deze kaartuitsnede bevat bijdragen van:",
-        "truncated_list": "Deze kaartuitsnede bevat bijdragen van: {users} en {count} anderen"
-    },
-    "geocoder": {
-        "title": "Zoek een plaats",
-        "placeholder": "Zoek een plaats",
-        "no_results": "De plaats '{name}' kan niet worden gevonden"
-    },
-    "geolocate": {
-        "title": "Toon mijn locatie"
-    },
-    "inspector": {
-        "no_documentation_combination": "Voor deze tag is geen documentatie beschikbaar.",
-        "no_documentation_key": "Voor deze sleutel is geen documentatie beschikbaar",
-        "show_more": "Toon meer",
-        "new_tag": "Nieuwe tag",
-        "editing_feature": "{feature} aan het aanpassen",
-        "additional": "Additional tags",
-        "choose": "What are you adding?",
-        "results": "{n} results for {search}",
-        "back_tooltip": "Wijzig het soort object"
-    },
-    "background": {
-        "title": "Achtergrond",
-        "description": "Achtergrondinstellingen",
-        "percent_brightness": "{opacity}% helderheid",
-        "fix_misalignment": "Repareer de verkeerde ligging",
-        "reset": "Ongedaan maken"
-    },
-    "restore": {
-        "heading": "Je hebt niet-opgeslagen aanpassingen",
-        "description": "Er zijn niet-opgeslagen aanpassingen uit een vorige sessie. Wil je deze aanpassingen behouden?",
-        "restore": "Behouden",
-        "reset": "Ongedaan maken"
-    },
-    "save": {
-        "title": "Opslaan",
-        "help": "Sla de aanpassingen bij OpenStreetMap op om deze voor andere gebruikers zichtbaar te maken",
-        "no_changes": "Geen aanpassingen om op te slaan.",
-        "error": "Bij het opslaan is een fout opgetreden",
-        "uploading": "De aanpassingen worden naar OpenStreetMap geüpload.",
-        "unsaved_changes": "Je hebt niet-opgeslagen aanpassingen"
-    },
-    "splash": {
-        "welcome": "Welkom bij de iD OpenStreetMap editor",
-        "text": " Dit is een ontwikkelversie {version}. Voor meer informatie bezoek {website} of meld problemen op {github}.",
-        "walkthrough": "Start de rondleiding",
-        "start": "Pas nu aan"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "Je hebt niet-opgeslagen aanpassingen. Door te wisselen van kaartserver worden deze ongedaan gemaakt. Weet je het zeker, dat je van kaartserver wilt wisselen?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Omschrijving",
-        "on_wiki": "{tag} op wiki.osm.org",
-        "used_with": "gebruikt met {type}"
-    },
-    "validations": {
-        "untagged_line": "Lijn zonder tags",
-        "untagged_area": "Vlak zonder tags",
-        "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
-        "tag_suggests_area": "De tag {tag} suggereert dat de lijn een vlak is, maar het is geen vlak",
-        "deprecated_tags": "Afgeschafte tags: {tags}"
-    },
-    "zoom": {
-        "in": "Inzoomen",
-        "out": "Uitzoomen"
-    },
-    "gpx": {
-        "local_layer": "Lokaal GPX-bestand",
-        "drag_drop": "Sleep een .gpx bestand op de pagina"
-    },
-    "help": {
-        "title": "Help",
-        "help": "# Help⏎ ⏎ Dit is een editor voor [OpenStreetMap](http://www.openstreetmap.org/), de⏎ vrije en aanpasbare wereldkaart. Je kan het gebruiken om gegevens in je omgeving toe te voegen of bij te werken⏎, waarmee je een open source en open data wereldkaart⏎ voor iedereen beter maakt.⏎ ⏎ Aanpassingen die je op deze kaart maakt zullen voor iedereen te zien zijn die gebruik maken van⏎ OpenStreetMap. Om een aanpassing te maken, heb je een ⏎ [gratis OpenStreetMap account](https://www.openstreetmap.org/user/new) nodig.⏎ ⏎ De [iD editor](http://ideditor.com/) is een samenwerkingsproject waarvan de [broncode ⏎ beschikbaar is op GitHub](https://github.com/systemed/iD).⏎\n",
-        "editing_saving": "# Aanpassen & Opslaan⏎ ⏎ Deze editor is in de eerste plaats gemaakt om online te functioneren, en je benadert ⏎ het op dit moment via een website.⏎ ⏎ ### Objecten Selecteren⏎ ⏎ Om een kaartobject te selecteren, zoals een weg of een restaurant, klik⏎ erop op de kaart. Het geselecteerde object zal oplichten, een schermpje opent zich met⏎ informatie en een menu wordt getoond met dingen die je met het object kan doen.⏎ ⏎ Meerdere objecten kunnen worden geselecteerd door de 'Shift' knop ingedrukt te houden, en tegelijk op de kaart⏎ te klikken en te slepen. Hierdoor worden alle objecten binnen het vak⏎ dat wordt getekend, zodat je aanpassingen kan doen op meerdere objecten tegelijk.⏎ ⏎ ### Aanpassingen opslaan⏎ ⏎ Wanneer je veranderingen maakt zoals aanpassingen aan wegen, gebouwen, en locaties, worden deze⏎ lokaal opgeslagen tot je ze naar de server verstuurt. Het geeft niet als je een fout⏎ maakt: je kan aanpassingen ongedaan maken door op de knop 'Ongedaan maken' te klikken en aanpassingen⏎ opnieuw te doen door op de knop 'Opnieuw toepassen' te klikken.⏎ ⏎ Klik 'Opslaan' om een groep aanpassingen te voltooien - bijvoorbeeld als je een gebied⏎ van een woonplaats hebt afgerond en je in een nieuw gebied wilt beginnen. Je krijgt de mogelijkheid⏎ om je aanpassingen te bekijken en de editor biedt handige suggesties⏎ en waarschuwingen als er iets niet lijkt te kloppen aan de aanpassingen.⏎ ⏎ Als alles er goed uitziet, kan je een korte notitie invoeren om je aanpassingen toe te lichten⏎ en klik opnieuw op 'Bewaar' om de aanpassingen te verzenden⏎ naar [OpenStreetMap.org](http://www.openstreetmap.org/), waar ze zichtbaar zijn⏎ voor alle andere gebruikers en beschikbaar voor anderen om op voort te bouwen.⏎ ⏎ Als je je aanpassingen niet in één sessie kan afronden, dan kan je de het scherm van de⏎ editor verlaten en terugkeren (met dezelfde browser en computer), en de⏎ editor zal je vragen of je je aanpassingen weer wilt gebruiken.⏎\n",
-        "gps": "# GPS ⏎⏎ GPS gegevens vormen voor OpenStreetMap de meest betrouwbare bron voor gegevens. Deze editor⏎ ondersteunt lokale routes - '.gpx' bestanden op je lokale computer. Je kan dit soort⏎ GPS routes vastleggen met allerlei smartphone applicaties of ⏎ met je eigen GPS apparatuur. ⏎⏎ Voor meer informatie over het doen van een GPS-veldwerk, lees⏎ [Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/).⏎ ⏎ Om een GPS route te gebruiken om te karteren, sleep een '.gpx.' bestand in je editor. ⏎ Als het wordt herkend, wordt het aan de kaart toegevoegd als een heldergroene⏎ lijn. Klik op het menu 'Achtergondinstellingen' aan de linkerkant om deze nieuwe kaartlaag⏎ aan te zetten, uit te zetten of ernaar toe te zoomen.⏎⏎ De GPS-route wordt niet meteen naar OpenStreetMap verstuurd - de beste manier om ⏎ het te gebruiken is als een sjabloon voor het nieuwe object dat⏎ je toevoegt.⏎\n",
-        "imagery": "# Beeldmateriaal⏎⏎ Luchtfoto's vormen een belangrijke bron voor het karteren. Een combinatie van⏎ luchtfoto's, satellietbeelden en vrij-beschikbare bronnen is beschikaar⏎ in de editor onder het menu 'Achtergrondinstellingen' aan de linkerkant.⏎⏎  Standaard wordt een [Bing Maps](http://www.bing.com/maps/) satellietbeeld in⏎ de editor getoond, maar als je de kaart verschaalt of verplaatst naar andere gebieden⏎, worden nieuwe bronnen getoond. Sommige landen, zoals de⏎ Verenigde Staten, Frankrijk en Denemakren hebben beeldmateriaal van zeer hoge kwaliteit in sommige gebieden.⏎⏎ Soms is het beeldmateriaal ten opzichte van de kaart verschoven door een fout⏎ van de leverancier van het beeldmateriaal. Als je ziet, dat een heleboel wegen zijn verschoven ten opzichte van de achtergrond,⏎ ga deze dan niet meteen allemaal verplaatsen zodat de ligging overeenkomt met de achtergrond. In plaats daarvan kan je⏎ het beeldmateriaal aanpassen, zodat de ligging overeenkomt met de bestaande gegevens door op de knop 'Verbeter de ligging' te klikken⏎ onderaan de 'Achtergrondinstellingen'.\n",
-        "addresses": "# Adressen ⏎⏎ Adresgegevens vormen een van de meest praktische informatie voor de kaart.⏎⏎ Hoewel adressen op OpenStreetMap meestal als deel van de straten worden afgebeeld⏎ worden ze vastgelegd als eigenschappen van gebouwen of plaatsen langs de straat.⏎⏎ Je kan adresinformatie niet alleen toevoegen aan plaatsen die als gebouwenomtrek zijn ingetekend⏎ maar ook als enkelvoudige puntobjecen. De beste bron voor adresgegevens⏎ is een veldwerk of eigen kennis - zoals met alle ⏎ andere objecten is het overnemen van gegevens uit commerciële bronnen zoals Google Maps⏎ ten strengste verboden.⏎\n",
-        "inspector": "# Het inspectiegereedschap⏎ ⏎ Het inspectiegereedschap is het schermelement rechts op de pagina dat verschijnt als een object wordt geselecteerd en maakt het je mogelijk om zijn eigenschappen aan te passen.⏎⏎ ### Een objecttype selecteren⏎⏎ Nadat je een punt, lijn of vlak hebt toegevoegd, kan je kiezen wat voor type object het is,⏎ bijvoorbeeld of het een snelweg of woonerf is, een supermarkt of een café.⏎ Het inspectiegereedschap toont knoppen voor veelvoorkomende objecttypen en je kan⏎ andere vinden door een term in het zoekscherm in te vullen.⏎ ⏎ Klik op de 'i' in de rechter onderhoek van een objecttypeknop om⏎ meer te weten te komen. Klik op een knop om het type te selecteren.⏎⏎ Formulieren en tags gebruiken⏎⏎ Nadat je een objecttype hebt gekozen, of wanneer je een object selecteert, dat al een type toegekend heeft gekregen, dan toont het inspectiegereedschap allerlei eigenschappen van het object, zoals zijn naam en adres.⏎⏎ Onder de getoonde eigenschappen, kan je op icoontjes klikken om meer eigenschappen toe te voegen,⏎ zoals informatie uit  [Wikipedia](http://www.wikipedia.org/), toegankelijkheid, etc.⏎ ⏎ Onderaan het inspectiegereedschap klik je op 'Extra tags' om willekeurig andere tags toe te voegen. [Taginfo](http://taginfo.openstreetmap.org/) biedt een prachtig overzicht om meer te weten te komen over veelgebruikte combinaties van tags.⏎ ⏎ Aanpasingen die je in het inspectiegereedschap maakt zijn meteen zichtbaar in de kaart.⏎ Je kan ze op ieder moment ongedaan maken, door op de knop 'Ongedaan maken' te klikken.⏎ ⏎ ### Het inspectiegereedschap suiten⏎ ⏎ Je kan het inspectiegereedschap sluiten door op de sluitknop in de rechter bovenhoek te klikken, ⏎ door op de 'Escape' toets te klikken, of op de kaart.⏎ \n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "De grote kaart toont de OpenStreetMap gegevens bovenop een achtergrond. Je kan navigeren door te slepen en te schuiven, net zoals iedere online kaart. **Versleep de kaart!**",
-            "select": "Kaartobjecten worden op drie manier weergegeven: door punten, lijnen of vlakken. Alle objecten kunnen worden geselecteerd door erop te klikken. **Klik op de punt om 'm te selecteren.**",
-            "header": "De titel toont ons het objecttype.",
-            "pane": "Als een object wordt geselecteerd, wordt de objecteneditor getoond. De titel toont ons het objecttype en het hoofdscherm toont eigenschappen van het object, zoals de naam en het adres. **Sluit de objecteneditor met de sluitknop rechtsboven.**"
-        },
-        "points": {
-            "add": "Punten kunnen worden gebruikt om objecten zoals winkels, restaurants en monumenten weer te geven. Ze geven een specifieke locatie aan en beschrijven wat daar is. **Klik op de Punt knop om een nieuw punt toe te voegen.**",
-            "place": "Het punt kan worden geplaatst door op de kaart te klikken. **Plaats het punt bovenop het gebouw.**",
-            "search": "Er zijn verschillende objecten die door een punt kunnen worden weergegeven. Het punt dat je zojuist hebt toegevoegd is een café. **Zoek naar 'Cafe' **",
-            "choose": "**Selecteer Cafe uit het overzicht.**",
-            "describe": "Het punt wordt nu aangeduid als een café. Door de objecteditor te gebruiken kunnen we meer informatie over een object toevoegen. **Voeg een naam toe**",
-            "close": "De objecteditor kan worden gesloten door op de sluitknop te klikken. **Sluit de objecteditor**",
-            "reselect": "Vaak zullen er al wel punten staan, maar bevatten ze fouten of zijn ze onvolledig. We kunnen bestaande punten aanpassen. **Selecteer het punt, dat je zojuist hebt aangemaakt.**",
-            "fixname": "**Wijzig de naam en sluit de objecteditor.**",
-            "reselect_delete": "Allen objecten in de kaart kunnen worden verwijderd. **Klik op het punt dat je hebt aangemaakt.**",
-            "delete": "Het menu rond het punt bevat handelingen die erop kunt uitvoeren, waaronder verwijderen. **Verwijder het punt.**"
-        },
-        "areas": {
-            "add": "Vlakken bieden een gedetailleerdere manier om objecten weer te geven. Zij geven informatie over de grenzen van het object. Vlakken kunnen voor de meeste objecttypen worden toegepast waar punten voor worden gebruikt, maar hebben meestal de voorkeur. **Klik op de Vlak knop om een nieuw vlak toe te voegen.**",
-            "corner": "Vlakken worden getekend door punten te plaatsen die de grens van een vlak markeren. **Plaats het startpunt op een van de hoeken van de speelplaats.**",
-            "search": "**Zoek naar 'Playground'.**",
-            "choose": "**Selecteer 'Speelplaats' uit het overzicht.**",
-            "describe": "**Voeg een naam toe en sluit de objecteditor**"
-        },
-        "lines": {
-            "add": "Lijnen worden gebruikt om objecten zoals wegen, spoorlijnen en rivieren weer te geven. **Klik op de Lijn knop om een nieuwe lijn toe te voegen.**",
-            "start": "**Begin de lijn door te klikken op het eindpunt van de weg.**",
-            "road": "**Selecteer 'Weg' van het overzicht**",
-            "residential": "Er zijn verschillende wegtypen, het meest voorkomende type is 'Residential'. **Kies het wegtype 'Residential'**",
-            "describe": "**Geef de weg een naam en sluit de objecteditor.**",
-            "restart": "De weg moet 'Flower Street' kruisen."
-        },
-        "startediting": {
-            "help": "Meer documentatie en deze rondleiding zijn hier beschikbaar.",
-            "save": "Vergeet niet om je aanpassingen regelmatig op te slaan!",
-            "start": "Begin met karteren!"
+
+        function drawList() {
+            var value = search.property('value'),
+                results = features();
+
+            list.classed('filtered', value.length);
+
+            var noResultsWorldwide = geocodeResults && geocodeResults.length === 0;
+
+            var resultsIndicator = list.selectAll('.no-results-item')
+                .data([0])
+                .enter().append('button')
+                .property('disabled', true)
+                .attr('class', 'no-results-item')
+                .call(iD.svg.Icon('#icon-alert', 'pre-text'));
+
+            resultsIndicator.append('span')
+                .attr('class', 'entity-name');
+
+            list.selectAll('.no-results-item .entity-name')
+                .text(noResultsWorldwide ? t('geocoder.no_results_worldwide') : t('geocoder.no_results_visible'));
+
+            list.selectAll('.geocode-item')
+                .data([0])
+                .enter().append('button')
+                .attr('class', 'geocode-item')
+                .on('click', geocode)
+                .append('div')
+                .attr('class', 'label')
+                .append('span')
+                .attr('class', 'entity-name')
+                .text(t('geocoder.search'));
+
+            list.selectAll('.no-results-item')
+                .style('display', (value.length && !results.length) ? 'block' : 'none');
+
+            list.selectAll('.geocode-item')
+                .style('display', (value && geocodeResults === undefined) ? 'block' : 'none');
+
+            list.selectAll('.feature-list-item')
+                .data([-1])
+                .remove();
+
+            var items = list.selectAll('.feature-list-item')
+                .data(results, function(d) { return d.id; });
+
+            var enter = items.enter()
+                .insert('button', '.geocode-item')
+                .attr('class', 'feature-list-item')
+                .on('mouseover', mouseover)
+                .on('mouseout', mouseout)
+                .on('click', click);
+
+            var label = enter
+                .append('div')
+                .attr('class', 'label');
+
+            label.each(function(d) {
+                d3.select(this)
+                    .call(iD.svg.Icon('#icon-' + d.geometry, 'pre-text'));
+            });
+
+            label.append('span')
+                .attr('class', 'entity-type')
+                .text(function(d) { return d.type; });
+
+            label.append('span')
+                .attr('class', 'entity-name')
+                .text(function(d) { return d.name; });
+
+            enter.style('opacity', 0)
+                .transition()
+                .style('opacity', 1);
+
+            items.order();
+
+            items.exit()
+                .remove();
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Toegang"
-            },
-            "address": {
-                "label": "Adres",
-                "placeholders": {
-                    "housename": "Huisnaam",
-                    "number": "123",
-                    "street": "Straat",
-                    "city": "Stad"
-                }
-            },
-            "admin_level": {
-                "label": "Bestuurlijk niveau"
-            },
-            "aeroway": {
-                "label": "Type"
-            },
-            "amenity": {
-                "label": "Type"
-            },
-            "atm": {
-                "label": "Pinautomaat"
-            },
-            "barrier": {
-                "label": "Type"
-            },
-            "bicycle_parking": {
-                "label": "Type"
-            },
-            "building": {
-                "label": "Gebouw"
-            },
-            "building_area": {
-                "label": "Gebouw"
-            },
-            "building_yes": {
-                "label": "Gebouw"
-            },
-            "capacity": {
-                "label": "Inhoud"
-            },
-            "collection_times": {
-                "label": "Lichtingstijden"
-            },
-            "construction": {
-                "label": "Type"
-            },
-            "country": {
-                "label": "Land"
-            },
-            "crossing": {
-                "label": "Type"
-            },
-            "cuisine": {
-                "label": "Keuken"
-            },
-            "denomination": {
-                "label": "Geloofsrichting"
-            },
-            "denotation": {
-                "label": "Aanduiding"
-            },
-            "elevation": {
-                "label": "Hoogte"
-            },
-            "emergency": {
-                "label": "Noodgeval"
-            },
-            "entrance": {
-                "label": "Type"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Tarief"
-            },
-            "highway": {
-                "label": "Type"
-            },
-            "historic": {
-                "label": "Type"
-            },
-            "internet_access": {
-                "label": "Internettoegang",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Vast netwerk",
-                    "terminal": "Computer"
-                }
-            },
-            "landuse": {
-                "label": "Type"
-            },
-            "layer": {
-                "label": "Relatieve hoogteligging"
-            },
-            "leisure": {
-                "label": "Type"
-            },
-            "levels": {
-                "label": "Niveaus"
-            },
-            "man_made": {
-                "label": "Type"
-            },
-            "maxspeed": {
-                "label": "Maximum snelheid"
-            },
-            "name": {
-                "label": "Naam"
-            },
-            "natural": {
-                "label": "Natuurlijk"
-            },
-            "network": {
-                "label": "Netwerk"
-            },
-            "note": {
-                "label": "Aantekening"
-            },
-            "office": {
-                "label": "Type"
-            },
-            "oneway": {
-                "label": "Eenrichtingsverkeer"
-            },
-            "oneway_yes": {
-                "label": "Eenrichtingsverkeer"
-            },
-            "opening_hours": {
-                "label": "Openingstijden"
-            },
-            "operator": {
-                "label": "Keten"
-            },
-            "phone": {
-                "label": "Telefoonnummer"
-            },
-            "place": {
-                "label": "Type"
-            },
-            "power": {
-                "label": "Type"
-            },
-            "railway": {
-                "label": "Type"
-            },
-            "ref": {
-                "label": "Nummering"
-            },
-            "religion": {
-                "label": "Religie",
-                "options": {
-                    "christian": "Christelijk",
-                    "muslim": "Moslim",
-                    "buddhist": "Boeddist",
-                    "jewish": "Joods",
-                    "hindu": "Hindoestaans",
-                    "shinto": "Shinto",
-                    "taoist": "Taoisme"
-                }
-            },
-            "service": {
-                "label": "Type"
-            },
-            "shelter": {
-                "label": "Beschutting"
-            },
-            "shop": {
-                "label": "Type"
-            },
-            "source": {
-                "label": "Bron"
-            },
-            "sport": {
-                "label": "Sport"
-            },
-            "structure": {
-                "label": "Bouwwerk",
-                "options": {
-                    "bridge": "Brug",
-                    "tunnel": "Tunnel",
-                    "embankment": "Dijk, talud",
-                    "cutting": "Landuitsnijding"
-                }
-            },
-            "surface": {
-                "label": "Oppervlak"
-            },
-            "tourism": {
-                "label": "Type"
-            },
-            "water": {
-                "label": "Type"
-            },
-            "waterway": {
-                "label": "Type"
-            },
-            "website": {
-                "label": "Website"
-            },
-            "wetland": {
-                "label": "Type"
-            },
-            "wheelchair": {
-                "label": "Rolstoeltoegankelijkheid"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Type"
+
+        function mouseover(d) {
+            if (d.id === -1) return;
+
+            context.surface().selectAll(iD.util.entityOrMemberSelector([d.id], context.graph()))
+                .classed('hover', true);
+        }
+
+        function mouseout() {
+            context.surface().selectAll('.hover')
+                .classed('hover', false);
+        }
+
+        function click(d) {
+            d3.event.preventDefault();
+            if (d.location) {
+                context.map().centerZoom([d.location[1], d.location[0]], 20);
             }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Vliegveld"
-            },
-            "aeroway/aerodrome": {
-                "name": "Luchthaven",
-                "terms": "vliegtuig,vliegveld,luchthaven"
-            },
-            "aeroway/helipad": {
-                "name": "Helikopterhaven",
-                "terms": "helikopter,helidek,helihaven"
-            },
-            "amenity": {
-                "name": "Voorziening"
-            },
-            "amenity/bank": {
-                "name": "Bank",
-                "terms": "geldkist,geldwisselkantoor,kredietverstrekker,investeringskantoor,kluis,schatkist,aandelen,fonds,reserve"
-            },
-            "amenity/bar": {
-                "name": "Café"
-            },
-            "amenity/bench": {
-                "name": "Bank"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Fietsenstalling"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Fietsverhuur"
-            },
-            "amenity/cafe": {
-                "name": "Café",
-                "terms": "Koffie,thee,koffiehuis"
-            },
-            "amenity/cinema": {
-                "name": "Bioscoop",
-                "terms": "bioscoop,filmtheater,cinema"
-            },
-            "amenity/courthouse": {
-                "name": "Rechtbank"
-            },
-            "amenity/embassy": {
-                "name": "Ambassade"
-            },
-            "amenity/fast_food": {
-                "name": "Fastfoodrestaurant"
-            },
-            "amenity/fire_station": {
-                "name": "Brandweerkazerne"
-            },
-            "amenity/fuel": {
-                "name": "Tankstation"
-            },
-            "amenity/grave_yard": {
-                "name": "Begraafplaats"
-            },
-            "amenity/hospital": {
-                "name": "Ziekenhuis",
-                "terms": "kliniek,eerstehulppost,gezondheidscentrum,hospice,gasthuis,verzorgingstehuis,verpleeghuis,herstellingsoord,sanatorium,ziekenboeg,huisartenpraktijk,ziekenzaal"
-            },
-            "amenity/library": {
-                "name": "Bibliotheek"
-            },
-            "amenity/marketplace": {
-                "name": "Markt"
-            },
-            "amenity/parking": {
-                "name": "Parkeren"
-            },
-            "amenity/pharmacy": {
-                "name": "Apotheek"
-            },
-            "amenity/place_of_worship": {
-                "name": "Gebedshuis",
-                "terms": "abdij,godshuis,kathedraal,kapel,kerk,huis van God,gebedshuis,missiepost,moskee,heiligdom,synagoge,tabernakel,tempel"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Kerk",
-                "terms": "christelijk,abdij,godshuis,kapel,kerk,godshuis,pastorie,heiligdom,tabernakel,tempel"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Synagoge",
-                "terms": "joods, synagoge"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Moskee",
-                "terms": "Moslim, moskee"
-            },
-            "amenity/police": {
-                "name": "Politie",
-                "terms": "politieagent,rechercheur,arm der wet,agent,diender,korps,politie,veldwachter"
-            },
-            "amenity/post_box": {
-                "name": "Brievenbus",
-                "terms": "brievenbus,postbus"
-            },
-            "amenity/post_office": {
-                "name": "Postkantoor"
-            },
-            "amenity/pub": {
-                "name": "Café"
-            },
-            "amenity/restaurant": {
-                "name": "Restaurant",
-                "terms": "bar,cafetaria,café,kantine,koffiehuis,snackbar,herberg,lunchroom,nachtclub,pizzeria,broodjeszaak,kroeg"
-            },
-            "amenity/school": {
-                "name": "School",
-                "terms": "academie,alma mater,campus,college,collegezaal,faculteit,instituut,schoolgebouw,seminarie,universiteit,vakgroep"
-            },
-            "amenity/swimming_pool": {
-                "name": "Zwembad"
-            },
-            "amenity/telephone": {
-                "name": "Telefoon"
-            },
-            "amenity/theatre": {
-                "name": "Theater",
-                "terms": "theater,optreden,toneelstuk,musical"
-            },
-            "amenity/toilets": {
-                "name": "Toiletten"
-            },
-            "amenity/townhall": {
-                "name": "Gemeentehuis",
-                "terms": "gemeentehuis,stadsbestuur,rechtbank,gemeentekantoor,gemeentecentrum"
-            },
-            "amenity/university": {
-                "name": "Universiteit"
-            },
-            "barrier": {
-                "name": "Barrière"
-            },
-            "barrier/block": {
-                "name": "Blokkade"
-            },
-            "barrier/bollard": {
-                "name": "Poller"
-            },
-            "barrier/cattle_grid": {
-                "name": "Wildrooster"
-            },
-            "barrier/city_wall": {
-                "name": "Stadsmuur"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Slingerhek"
-            },
-            "barrier/ditch": {
-                "name": "Gracht"
-            },
-            "barrier/entrance": {
-                "name": "Ingang"
-            },
-            "barrier/fence": {
-                "name": "Afrastering"
-            },
-            "barrier/gate": {
-                "name": "Hek"
-            },
-            "barrier/hedge": {
-                "name": "Haag of heg"
-            },
-            "barrier/kissing_gate": {
-                "name": "Voetgangershek"
-            },
-            "barrier/lift_gate": {
-                "name": "Slagboom"
-            },
-            "barrier/retaining_wall": {
-                "name": "Keermuur"
-            },
-            "barrier/stile": {
-                "name": "Overstaphek"
-            },
-            "barrier/toll_booth": {
-                "name": "Tolhuisje"
-            },
-            "barrier/wall": {
-                "name": "Muur"
-            },
-            "boundary/administrative": {
-                "name": "Bestuurlijke grens"
-            },
-            "building": {
-                "name": "Gebouw"
-            },
-            "building/apartments": {
-                "name": "Apartementen"
-            },
-            "building/entrance": {
-                "name": "Ingang"
-            },
-            "building/house": {
-                "name": "Huis"
-            },
-            "entrance": {
-                "name": "Ingang"
-            },
-            "highway": {
-                "name": "Autosnelweg"
-            },
-            "highway/bridleway": {
-                "name": "Ruiterpad",
-                "terms": "ruiterpad,paardenspoor"
-            },
-            "highway/bus_stop": {
-                "name": "Bushalte"
-            },
-            "highway/crossing": {
-                "name": "Oversteekplaats",
-                "terms": "oversteekplaats,zebrapad"
-            },
-            "highway/cycleway": {
-                "name": "Fietspad"
-            },
-            "highway/footway": {
-                "name": "Voetpad",
-                "terms": "boulevard,doorgaande weg,gebaande weg,laan,pad,passage,route,autosnelweg,spoor,straat,voetpad,weg"
-            },
-            "highway/motorway": {
-                "name": "Snelweg"
-            },
-            "highway/motorway_link": {
-                "name": "Invoegstrook",
-                "terms": "invoegstrook,oprit,afrit"
-            },
-            "highway/path": {
-                "name": "Pad"
-            },
-            "highway/primary": {
-                "name": "Provinciale weg"
-            },
-            "highway/primary_link": {
-                "name": "Afrit provinciale weg",
-                "terms": "invoegstrook,oprit,afrit"
-            },
-            "highway/residential": {
-                "name": "Straat"
-            },
-            "highway/road": {
-                "name": "Onbekende weg"
-            },
-            "highway/secondary": {
-                "name": "Secundaire weg"
-            },
-            "highway/secondary_link": {
-                "name": "Afslag secundaire weg",
-                "terms": "invoegstrook,oprit,afrit"
-            },
-            "highway/service": {
-                "name": "Toegangsweg"
-            },
-            "highway/steps": {
-                "name": "Trap",
-                "terms": "trap,trappenhuis"
-            },
-            "highway/tertiary": {
-                "name": "Tertiare weg"
-            },
-            "highway/tertiary_link": {
-                "name": "Afrit tertiaire weg",
-                "terms": "invoegstrook,oprit,afrit"
-            },
-            "highway/track": {
-                "name": "Veldweg"
-            },
-            "highway/traffic_signals": {
-                "name": "Verkeerslichten",
-                "terms": "verkeerslicht,stoplicht"
-            },
-            "highway/trunk": {
-                "name": "Autoweg"
-            },
-            "highway/trunk_link": {
-                "name": "Afrit autoweg",
-                "terms": "invoegstrook,oprit,afrit"
-            },
-            "highway/turning_circle": {
-                "name": "Keerplein"
-            },
-            "highway/unclassified": {
-                "name": "Ongeclassificeerde weg"
-            },
-            "historic": {
-                "name": "Geschiedskundige plaats"
-            },
-            "historic/archaeological_site": {
-                "name": "Archeologische opgraving"
-            },
-            "historic/boundary_stone": {
-                "name": "Historische grenspaal"
-            },
-            "historic/castle": {
-                "name": "Kasteel"
-            },
-            "historic/memorial": {
-                "name": "Gedenkplaats"
-            },
-            "historic/monument": {
-                "name": "Monument"
-            },
-            "historic/ruins": {
-                "name": "Ruïne"
-            },
-            "historic/wayside_cross": {
-                "name": "Wegkruis"
-            },
-            "historic/wayside_shrine": {
-                "name": "Kruisbeeld"
-            },
-            "landuse": {
-                "name": "Landgebruik"
-            },
-            "landuse/allotments": {
-                "name": "Volkstuinen"
-            },
-            "landuse/basin": {
-                "name": "Waterbekken"
-            },
-            "landuse/cemetery": {
-                "name": "Begraafplaats"
-            },
-            "landuse/commercial": {
-                "name": "Kantoren"
-            },
-            "landuse/construction": {
-                "name": "Bouwterrein"
-            },
-            "landuse/farm": {
-                "name": "Boerderij"
-            },
-            "landuse/farmyard": {
-                "name": "Boerenerf"
-            },
-            "landuse/forest": {
-                "name": "Bosbouw"
-            },
-            "landuse/grass": {
-                "name": "Grasland"
-            },
-            "landuse/industrial": {
-                "name": "Industriegebied"
-            },
-            "landuse/meadow": {
-                "name": "Hooiland"
-            },
-            "landuse/orchard": {
-                "name": "Boomgaard"
-            },
-            "landuse/quarry": {
-                "name": "Mijnbouw"
-            },
-            "landuse/residential": {
-                "name": "Woningen"
-            },
-            "landuse/vineyard": {
-                "name": "Wijngaard"
-            },
-            "leisure": {
-                "name": "Vrijetijd"
-            },
-            "leisure/garden": {
-                "name": "Tuin"
-            },
-            "leisure/golf_course": {
-                "name": "Golfbaan"
-            },
-            "leisure/marina": {
-                "name": "Jachthaven"
-            },
-            "leisure/park": {
-                "name": "Park",
-                "terms": "bos,bossage,gazon,grasveld,landgoed,park,speeltuin,speelweide,recreatiegebied,sportveldje,tuin,veldje,weide"
-            },
-            "leisure/pitch": {
-                "name": "Sportveld"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Amerikaans voetbalveld"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Honkbalveld"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Basketbalveld"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Voetbalveld"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Tennisbaan"
-            },
-            "leisure/playground": {
-                "name": "Speelplaats"
-            },
-            "leisure/slipway": {
-                "name": "Botenhelling"
-            },
-            "leisure/stadium": {
-                "name": "Stadion"
-            },
-            "leisure/swimming_pool": {
-                "name": "Zwembad"
-            },
-            "man_made": {
-                "name": "Aangelegd"
-            },
-            "man_made/lighthouse": {
-                "name": "Vuurtoren"
-            },
-            "man_made/pier": {
-                "name": "Pier"
-            },
-            "man_made/survey_point": {
-                "name": "Landmeetkundig referentiepunt"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Waterzuiveringsinstallatie",
-                "terms": "rioolwaterzuiveringsinstallatie,afvalwaterzuiveringsinstallatie"
-            },
-            "man_made/water_tower": {
-                "name": "Watertoren"
-            },
-            "man_made/water_works": {
-                "name": "Waterwinstation"
-            },
-            "natural": {
-                "name": "Natuurlijk"
-            },
-            "natural/bay": {
-                "name": "Baai"
-            },
-            "natural/beach": {
-                "name": "Strand"
-            },
-            "natural/cliff": {
-                "name": "Klif"
-            },
-            "natural/coastline": {
-                "name": "Kustlijn",
-                "terms": "kustlijn"
-            },
-            "natural/glacier": {
-                "name": "Ijsgletsjer"
-            },
-            "natural/grassland": {
-                "name": "Grassen en kruidachtige planten"
-            },
-            "natural/heath": {
-                "name": "Heideveld"
-            },
-            "natural/peak": {
-                "name": "Top",
-                "terms": "berg,heuvel,top"
-            },
-            "natural/scrub": {
-                "name": "Ruigte"
-            },
-            "natural/spring": {
-                "name": "Bron"
-            },
-            "natural/tree": {
-                "name": "Boom"
-            },
-            "natural/water": {
-                "name": "Water"
-            },
-            "natural/water/lake": {
-                "name": "Meer",
-                "terms": "meer,ven"
-            },
-            "natural/water/pond": {
-                "name": "Vijver",
-                "terms": "meer,ven,poel"
-            },
-            "natural/water/reservoir": {
-                "name": "Reservoir"
-            },
-            "natural/wetland": {
-                "name": "Moerassen en waterrijke gebieden"
-            },
-            "natural/wood": {
-                "name": "Oerbos"
-            },
-            "office": {
-                "name": "Kantoor"
-            },
-            "other": {
-                "name": "Overig"
-            },
-            "other_area": {
-                "name": "Overig"
-            },
-            "place": {
-                "name": "Plaats"
-            },
-            "place/hamlet": {
-                "name": "Dorp/gehucht/buurtschap"
-            },
-            "place/island": {
-                "name": "Eiland",
-                "terms": "archipel,atol,eiland,rif"
-            },
-            "place/locality": {
-                "name": "Veldnaam"
-            },
-            "place/village": {
-                "name": "Dorp"
-            },
-            "power": {
-                "name": "Stroomvoorziening"
-            },
-            "power/generator": {
-                "name": "Electriciteitscentrale"
-            },
-            "power/line": {
-                "name": "Electriciteitsdraad"
-            },
-            "power/pole": {
-                "name": "Electriciteitspaal"
-            },
-            "power/sub_station": {
-                "name": "Klein onderstation"
-            },
-            "power/tower": {
-                "name": "Hoogspanningsmast"
-            },
-            "power/transformer": {
-                "name": "Transformator"
-            },
-            "railway": {
-                "name": "Spoorwegemplacement"
-            },
-            "railway/abandoned": {
-                "name": "In onbruik geraakte spoorbaan"
-            },
-            "railway/disused": {
-                "name": "In onbruik geraakte spoorbaan"
-            },
-            "railway/level_crossing": {
-                "name": "Gelijkvloerse spoorwegovergang",
-                "terms": "overgang,spoorwegovergang"
-            },
-            "railway/monorail": {
-                "name": "Monorail, magneetzweefbaan"
-            },
-            "railway/rail": {
-                "name": "Via een derde spoorrails"
-            },
-            "railway/subway": {
-                "name": "Metro"
-            },
-            "railway/subway_entrance": {
-                "name": "Metrostation"
-            },
-            "railway/tram": {
-                "name": "Tram",
-                "terms": "Tram"
-            },
-            "shop": {
-                "name": "Winkel"
-            },
-            "shop/alcohol": {
-                "name": "Slijterij"
-            },
-            "shop/bakery": {
-                "name": "Bakkerij"
-            },
-            "shop/beauty": {
-                "name": "Schoonheidssalon"
-            },
-            "shop/beverages": {
-                "name": "Drankenwinkel"
-            },
-            "shop/bicycle": {
-                "name": "Fietswinkel"
-            },
-            "shop/books": {
-                "name": "Boekwinkel"
-            },
-            "shop/boutique": {
-                "name": "Boutique"
-            },
-            "shop/butcher": {
-                "name": "Slagerij"
-            },
-            "shop/car": {
-                "name": "Autoshowroom"
-            },
-            "shop/car_parts": {
-                "name": "Auto-onderdelenwinkel"
-            },
-            "shop/car_repair": {
-                "name": "Autogarage"
-            },
-            "shop/chemist": {
-                "name": "Drogist"
-            },
-            "shop/clothes": {
-                "name": "Kledingwinkel"
-            },
-            "shop/computer": {
-                "name": "Computerwinkel"
-            },
-            "shop/confectionery": {
-                "name": "Banketbakkerij"
-            },
-            "shop/convenience": {
-                "name": "Buurtsuper"
-            },
-            "shop/deli": {
-                "name": "Delicatessenwinkel"
-            },
-            "shop/department_store": {
-                "name": "Warenhuis"
-            },
-            "shop/doityourself": {
-                "name": "Bouwmarkt, doe-het-zelfwinkel"
-            },
-            "shop/dry_cleaning": {
-                "name": "Stomerij"
-            },
-            "shop/electronics": {
-                "name": "Bruingoedwinkel"
-            },
-            "shop/fishmonger": {
-                "name": "Visboer"
-            },
-            "shop/florist": {
-                "name": "Bloemenwinkel"
-            },
-            "shop/furniture": {
-                "name": "Woonwarenhuis"
-            },
-            "shop/garden_centre": {
-                "name": "Tuincentrum"
-            },
-            "shop/gift": {
-                "name": "Cadeauwinkel"
-            },
-            "shop/greengrocer": {
-                "name": "Groenteboer"
-            },
-            "shop/hairdresser": {
-                "name": "Kapper"
-            },
-            "shop/hardware": {
-                "name": "Bouwmarkt"
-            },
-            "shop/hifi": {
-                "name": "Bruingoedwinkel"
-            },
-            "shop/jewelry": {
-                "name": "Juwelier"
-            },
-            "shop/kiosk": {
-                "name": "Kiosk"
-            },
-            "shop/laundry": {
-                "name": "Wasserette"
-            },
-            "shop/mall": {
-                "name": "Winkelcentrum"
-            },
-            "shop/mobile_phone": {
-                "name": "Telefoonwinkel"
-            },
-            "shop/motorcycle": {
-                "name": "Motorwinkel"
-            },
-            "shop/music": {
-                "name": "Muziekwinkel"
-            },
-            "shop/newsagent": {
-                "name": "Krantenkiosk"
-            },
-            "shop/optician": {
-                "name": "Opticien"
-            },
-            "shop/outdoor": {
-                "name": "Buitensportzaak"
-            },
-            "shop/pet": {
-                "name": "Dierenwinkel"
-            },
-            "shop/shoes": {
-                "name": "Schoenenwinkel"
-            },
-            "shop/sports": {
-                "name": "Sportzaak"
-            },
-            "shop/stationery": {
-                "name": "Kantoorboekhandel"
-            },
-            "shop/supermarket": {
-                "name": "Supermarkt",
-                "terms": "bazar,boutique,keten,coöperatie,vlooienmarkt,galerie,supermarkt,winkelcentrum,winkel,markt"
-            },
-            "shop/toys": {
-                "name": "Speelgoedwinkel"
-            },
-            "shop/travel_agency": {
-                "name": "Reisbureau"
-            },
-            "shop/tyres": {
-                "name": "Bandenwinkel"
-            },
-            "shop/vacant": {
-                "name": "Leegstaande winkel"
-            },
-            "shop/variety_store": {
-                "name": "Euroshop"
-            },
-            "shop/video": {
-                "name": "Videotheek"
-            },
-            "tourism": {
-                "name": "Toerisme"
-            },
-            "tourism/alpine_hut": {
-                "name": "Berghut"
-            },
-            "tourism/artwork": {
-                "name": "Kunstwerk"
-            },
-            "tourism/attraction": {
-                "name": "Toeristische attractie"
-            },
-            "tourism/camp_site": {
-                "name": "Camping"
-            },
-            "tourism/caravan_site": {
-                "name": "Terrein voor kampeerwagens"
-            },
-            "tourism/chalet": {
-                "name": "Chalet"
-            },
-            "tourism/guest_house": {
-                "name": "Pension",
-                "terms": "B&B,Bed & Breakfast,Bed and Breakfast"
-            },
-            "tourism/hostel": {
-                "name": "Jeugdherberg"
-            },
-            "tourism/hotel": {
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "name": "Informatie"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Museum",
-                "terms": "archief,tentoonstelling,galerie,instituut,bibliotheek,schatkamer"
-            },
-            "tourism/picnic_site": {
-                "name": "Picknickplek"
-            },
-            "tourism/theme_park": {
-                "name": "Themapark"
-            },
-            "tourism/viewpoint": {
-                "name": "Uitzichtpunt"
-            },
-            "tourism/zoo": {
-                "name": "Dierentuin"
-            },
-            "waterway": {
-                "name": "Waterweg"
-            },
-            "waterway/canal": {
-                "name": "Kanaal"
-            },
-            "waterway/dam": {
-                "name": "Dam"
-            },
-            "waterway/ditch": {
-                "name": "Sloot, greppel of gracht"
-            },
-            "waterway/drain": {
-                "name": "Sloot, greppel of gracht"
-            },
-            "waterway/river": {
-                "name": "Rivier",
-                "terms": "beek,estuarium,kreek,stroom,waterloop"
-            },
-            "waterway/riverbank": {
-                "name": "Rivieroever"
-            },
-            "waterway/stream": {
-                "name": "Beek",
-                "terms": "beek,kreek,stroom,waterloop"
-            },
-            "waterway/weir": {
-                "name": "Stuw"
+            else if (d.entity) {
+                context.enter(iD.modes.Select(context, [d.entity.id]));
+            } else {
+                context.zoomToEntity(d.id);
             }
         }
+
+        function geocode() {
+            var searchVal = encodeURIComponent(search.property('value'));
+            d3.json('http://nominatim.openstreetmap.org/search/' + searchVal + '?limit=10&format=json', function(err, resp) {
+                geocodeResults = resp || [];
+                drawList();
+            });
+        }
     }
+
+    return featureList;
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.flash = function(selection) {
+    var modal = iD.ui.modal(selection);
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    modal.select('.modal').classed('modal-flash', true);
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+    modal.select('.content')
+        .classed('modal-section', true)
+        .append('div')
+        .attr('class', 'description');
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.pl = {
-    "modes": {
-        "add_area": {
-            "title": "Obszar",
-            "description": "Dodaj parki, budynki, jeziora i inne obszary do mapy.",
-            "tail": "Kliknij na mapę aby zacząć rysować obszar, na przykład park, jezioro lub budynek."
-        },
-        "add_line": {
-            "title": "Linia",
-            "description": "Dodaj autorstrady, ulice ścieżki dla pieszych, kanały i inne linie do mapy.",
-            "tail": "Kliknij na mapę aby zacząć rysować linię, na przykład drogę, ścieżkę lub trasę."
-        },
-        "add_point": {
-            "title": "Punkt",
-            "description": "Dodaj restauracje, pominki, skrzynki pocztowe i inne punkty do mapy.",
-            "tail": "Kliknij na mapę aby dodać punkt, na przykład restaurację, pomnik lub skrzynkę pocztową."
-        },
-        "browse": {
-            "title": "Przeglądaj",
-            "description": "Przesuwaj i zmieniaj skalę mapy."
-        },
-        "draw_area": {
-            "tail": "Kliknij, aby dodać punkty do obszaru. Kliknij na pierwszy punkt, aby zamknąć obszar."
-        },
-        "draw_line": {
-            "tail": "Kliknij, aby dodać więcej punktów do linii. Kliknij na inne linie, aby je połączyć lub użyj dwukliku, aby zakończyć rysowanie."
+    modal.on('click.flash', function() { modal.remove(); });
+
+    setTimeout(function() {
+        modal.remove();
+        return true;
+    }, 1500);
+
+    return modal;
+};
+iD.ui.FullScreen = function(context) {
+    var element = context.container().node(),
+        keybinding = d3.keybinding('full-screen');
+        // button;
+
+    function getFullScreenFn() {
+        if (element.requestFullscreen) {
+            return element.requestFullscreen;
+        } else if (element.msRequestFullscreen) {
+            return  element.msRequestFullscreen;
+        } else if (element.mozRequestFullScreen) {
+            return  element.mozRequestFullScreen;
+        } else if (element.webkitRequestFullscreen) {
+            return element.webkitRequestFullscreen;
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Dodano punkt.",
-                "vertex": "Dodano punkt do drogi."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Zaczęto linię.",
-                "area": "Zaczęto obszar."
+    }
+
+    function getExitFullScreenFn() {
+        if (document.exitFullscreen) {
+            return document.exitFullscreen;
+        } else if (document.msExitFullscreen) {
+            return  document.msExitFullscreen;
+        } else if (document.mozCancelFullScreen) {
+            return  document.mozCancelFullScreen;
+        } else if (document.webkitExitFullscreen) {
+            return document.webkitExitFullscreen;
+        }
+    }
+
+    function isFullScreen() {
+        return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement ||
+            document.msFullscreenElement;
+    }
+
+    function isSupported() {
+        return !!getFullScreenFn();
+    }
+
+    function fullScreen() {
+        d3.event.preventDefault();
+        if (!isFullScreen()) {
+            // button.classed('active', true);
+            getFullScreenFn().apply(element);
+        } else {
+            // button.classed('active', false);
+            getExitFullScreenFn().apply(document);
+        }
+    }
+
+    return function() { // selection) {
+        if (!isSupported())
+            return;
+
+        // var tooltip = bootstrap.tooltip()
+        //     .placement('left');
+
+        // button = selection.append('button')
+        //     .attr('title', t('full_screen'))
+        //     .attr('tabindex', -1)
+        //     .on('click', fullScreen)
+        //     .call(tooltip);
+
+        // button.append('span')
+        //     .attr('class', 'icon full-screen');
+
+        keybinding
+            .on('f11', fullScreen)
+            .on(iD.ui.cmd('⌘⇧F'), fullScreen);
+
+        d3.select(document)
+            .call(keybinding);
+    };
+};
+iD.ui.Geolocate = function(map) {
+    function click() {
+        navigator.geolocation.getCurrentPosition(
+            success, error);
+    }
+
+    function success(position) {
+        var extent = iD.geo.Extent([position.coords.longitude, position.coords.latitude])
+            .padByMeters(position.coords.accuracy);
+
+        map.centerZoom(extent.center(), Math.min(20, map.extentZoom(extent)));
+    }
+
+    function error() { }
+
+    return function(selection) {
+        if (!navigator.geolocation) return;
+
+        selection.append('button')
+            .attr('tabindex', -1)
+            .attr('title', t('geolocate.title'))
+            .on('click', click)
+            .call(iD.svg.Icon('#icon-geolocate', 'light'))
+            .call(bootstrap.tooltip()
+                .placement('left'));
+    };
+};
+iD.ui.Help = function(context) {
+    var key = 'H';
+
+    var docKeys = [
+        'help.help',
+        'help.editing_saving',
+        'help.roads',
+        'help.gps',
+        'help.imagery',
+        'help.addresses',
+        'help.inspector',
+        'help.buildings',
+        'help.relations'];
+
+    var docs = docKeys.map(function(key) {
+        var text = t(key);
+        return {
+            title: text.split('\n')[0].replace('#', '').trim(),
+            html: marked(text.split('\n').slice(1).join('\n'))
+        };
+    });
+
+    function help(selection) {
+
+        function hide() {
+            setVisible(false);
+        }
+
+        function toggle() {
+            if (d3.event) d3.event.preventDefault();
+            tooltip.hide(button);
+            setVisible(!button.classed('active'));
+        }
+
+        function setVisible(show) {
+            if (show !== shown) {
+                button.classed('active', show);
+                shown = show;
+
+                if (show) {
+                    selection.on('mousedown.help-inside', function() {
+                        return d3.event.stopPropagation();
+                    });
+                    pane.style('display', 'block')
+                        .style('right', '-500px')
+                        .transition()
+                        .duration(200)
+                        .style('right', '0px');
+                } else {
+                    pane.style('right', '0px')
+                        .transition()
+                        .duration(200)
+                        .style('right', '-500px')
+                        .each('end', function() {
+                            d3.select(this).style('display', 'none');
+                        });
+                    selection.on('mousedown.help-inside', null);
+                }
             }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Kontynuacja linii.",
-                "area": "Kontynuacja obszaru."
+        }
+
+        function clickHelp(d, i) {
+            pane.property('scrollTop', 0);
+            doctitle.html(d.title);
+            body.html(d.html);
+            body.selectAll('a')
+                .attr('target', '_blank');
+            menuItems.classed('selected', function(m) {
+                return m.title === d.title;
+            });
+
+            nav.html('');
+
+            if (i > 0) {
+                var prevLink = nav.append('a')
+                    .attr('class', 'previous')
+                    .on('click', function() {
+                        clickHelp(docs[i - 1], i - 1);
+                    });
+                prevLink.append('span').html('&#9668; ' + docs[i - 1].title);
             }
-        },
-        "cancel_draw": {
-            "annotation": "Przestano rysować."
-        },
-        "change_tags": {
-            "annotation": "Zmieniono tagi."
-        },
-        "circularize": {
-            "title": "Zaokrąglij",
-            "description": {
-                "line": "Stwórz okrąg z tej linii.",
-                "area": "Stwórz koło z tego obszaru."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Stworzoną okrąg z linii.",
-                "area": "Stworzono koło z obszaru."
-            },
-            "not_closed": "Z tego nie można zrobić okręgu, bo nie jest pętlą."
-        },
-        "orthogonalize": {
-            "title": "Ortogonalizuj",
-            "description": "Spraw, aby te kąty były proste.",
-            "key": "Q",
-            "annotation": {
-                "line": "Zortogonalizowano kąty linii.",
-                "area": "Zortogonalizowano kąty obszaru."
-            },
-            "not_closed": "Nie można zrobić z tego prostokąta, bo nie jest pętlą."
-        },
-        "delete": {
-            "title": "Usuń",
-            "description": "Usuń to z mapy.",
-            "annotation": {
-                "point": "Usunięto punkt.",
-                "vertex": "Usunięto punkt z drogi.",
-                "line": "Usunięto linię.",
-                "area": "Usunięto obszar.",
-                "relation": "Usunięto relację.",
-                "multiple": "Usunięto {n} obietów/obiekty."
+            if (i < docs.length - 1) {
+                var nextLink = nav.append('a')
+                    .attr('class', 'next')
+                    .on('click', function() {
+                        clickHelp(docs[i + 1], i + 1);
+                    });
+                nextLink.append('span').html(docs[i + 1].title + ' &#9658;');
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Połączono drogę z punktem.",
-                "vertex": "Połączono dwie drogi.",
-                "line": "Połączono drogę z linią.",
-                "area": "Połączono drogę z obszarem."
-            }
-        },
-        "disconnect": {
-            "title": "Rozłącz",
-            "description": "Rozłącz te dwie drogi.",
-            "key": "D",
-            "annotation": "Rozłączono drogi.",
-            "not_connected": "Nie ma tu wystarczająco wielu linii/obszarów do rozłączenia."
-        },
-        "merge": {
-            "title": "Scal",
-            "description": "Scal te linie.",
-            "key": "C",
-            "annotation": "Scalono {n} linii.",
-            "not_eligible": "Te obiekty nie mogą zostać scalone.",
-            "not_adjacent": "Tych linii nie da się scalić, gdyż nie są połączone."
-        },
-        "move": {
-            "title": "Przesuń",
-            "description": "Przesuń to w inne miejsce.",
-            "key": "M",
-            "annotation": {
-                "point": "Przesunięto punkt.",
-                "vertex": "Przesunięto punkt drogi.",
-                "line": "Przesunięto linię.",
-                "area": "Przesunięto obszar.",
-                "multiple": "Przesunięto wiele obiektów."
-            },
-            "incomplete_relation": "Tego obiektu nie można przesunąć, gdyż nie jest całkiem pobrany."
-        },
-        "rotate": {
-            "title": "Obróć",
-            "description": "Obróć ten obiekt względem jego środka.",
-            "key": "R",
-            "annotation": {
-                "line": "Obrócono linię.",
-                "area": "Obrócono obszar."
-            }
-        },
-        "reverse": {
-            "title": "Odwróć",
-            "description": "Spraw by ta linia biegła w przeciwnym kierunku.",
-            "key": "V",
-            "annotation": "Odwrócono linię."
-        },
-        "split": {
-            "title": "Rozdziel",
-            "description": {
-                "line": "Rozdziel tę linię na dwie części w tym węźle.",
-                "area": "Rozdziel granicę tego obszary na pół.",
-                "multiple": "Rozdziel linie/granice obszaru w tym węźle na dwie części."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Rozdziel linię.",
-                "area": "Rozdziel granicę obszaru.",
-                "multiple": "Rozdziel {n} linii/granic obszarów"
-            },
-            "not_eligible": "Linie nie mogą zostać rozdzielone na ich początku lub końcu.",
-            "multiple_ways": "Jest tu zbyt wiele linii do rozdzielenia."
         }
-    },
-    "nothing_to_undo": "Nie ma nic do cofnięcia.",
-    "nothing_to_redo": "Nie ma nic do powtórzenia.",
-    "just_edited": "Właśnie wprowadziłeś zmiany w OpenStreetMap!!",
-    "browser_notice": "Ten edytor działa w Firefox, Chrome, Safari, Opera, and Internet Explorer 9 i wyższych. Zaktualizuj swoją przeglądarkę lub użyj Potlatch 2 aby edytować mapę.",
-    "view_on_osm": "Pokaż w OSM",
-    "zoom_in_edit": "zwiększ skalę aby edytować mapę",
-    "logout": "wyloguj",
-    "loading_auth": "Łączenie z OpenStreetMap...",
-    "report_a_bug": "zgłoś błąd",
-    "commit": {
-        "title": "Zapisz zmiany",
-        "description_placeholder": "Krótki opis twoich zmian",
-        "message_label": "Opis zmian",
-        "upload_explanation": "Zmiany które wyślesz jako {user} będą widoczne na wszystkich mapach używających danych OpenStreetMap.",
-        "save": "Zapisz",
-        "cancel": "Anuluj",
-        "warnings": "Ostrzeżenia",
-        "modified": "Zmodyfikowano",
-        "deleted": "Usunięto",
-        "created": "Utworzono"
-    },
-    "contributors": {
-        "list": "Przeglądanie wkładu użytkowników {users}",
-        "truncated_list": "Przeglądanie wkładu użytkownikówy {users} {count} innych"
-    },
-    "geocoder": {
-        "title": "Znajdź miejsce",
-        "placeholder": "Znajdź miejsce",
-        "no_results": "Nie można znaleźć miejsca o nazwie '{name}'"
-    },
-    "geolocate": {
-        "title": "Pokaż moją pozycję"
-    },
-    "inspector": {
-        "no_documentation_combination": "Nie ma dokumentacji dla tej kombinacji tagu",
-        "no_documentation_key": "Nie ma dokumentacji dla tego klucza",
-        "show_more": "Pokaż więcej",
-        "new_tag": "Nowy tag",
-        "view_on_osm": "Zobacz na openstreetmap.org",
-        "editing_feature": "Edytujesz {feature}",
-        "additional": "Dodatkowe tagi",
-        "choose": "Wybierz rodzaj obiektu",
-        "results": "{n} wyników dla {search}",
-        "reference": "Zobacz na OpenStreetMap Wiki",
-        "back_tooltip": "Zmień rodzaj cechy"
-    },
-    "background": {
-        "title": "Tło",
-        "description": "Ustawienia tła",
-        "percent_brightness": "jasność {opacity}%",
-        "fix_misalignment": "Wyrównaj podkład",
-        "reset": "resetuj"
-    },
-    "restore": {
-        "heading": "Masz niezapisane zmiany",
-        "description": "Masz niezapisane zmiany z poprzedniej sesji. Chcesz je przywrócić?",
-        "restore": "Przywróć",
-        "reset": "Resetuj"
-    },
-    "save": {
-        "title": "Zapisz",
-        "help": "Zapisz zmiany na OpenStreetMap, aby były one widoczne dla innych",
-        "no_changes": "Brak zmian do zapisania.",
-        "error": "Wystąpił błąd podczas próby zapisu.",
-        "uploading": "Wysyłanie zmian do OpenStreetMap.",
-        "unsaved_changes": "Masz niezapisane zmiany."
-    },
-    "splash": {
-        "welcome": "Witaj w edytorze iD map OpenStreetMap",
-        "text": "To jest wersja rozwojowa {version}. Informacji szukaj na {website} i zgłaszaj błędy na {github}.",
-        "walkthrough": "Uruchom samouczek",
-        "start": "Edytuj teraz"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "Masz nie zapisane modyfikacje. Zmiana serwera spowoduje ich odrzucenie. Na pewno chcesz zmienić serwer?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Opis",
-        "on_wiki": "{tag} na wiki.osm.org",
-        "used_with": "używany z {type}"
-    },
-    "validations": {
-        "untagged_point": "Nieopisany punkt",
-        "untagged_line": "Nieopisana linia.",
-        "untagged_area": "Nieopisany obszar.",
-        "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
-        "tag_suggests_area": "Tag {tag} sugeruje, że linia powinna być obszarem, ale nim nie jest.",
-        "deprecated_tags": "Przestarzałe tagi: {tags}"
-    },
-    "zoom": {
-        "in": "Powiększ",
-        "out": "Zmniejsz"
-    },
-    "cannot_zoom": "Nie można bardziej oddalić widoku w obecnym trybie.",
-    "gpx": {
-        "local_layer": "Lokalny plik GPX",
-        "drag_drop": "Przeciągnij i upuść plik .gpx na stronę"
-    },
-    "help": {
-        "title": "Pomoc",
-        "help": "# Pomoc\n\nTo jest edytor [OpenStreetMap](http://www.openstreetmap.org/),\nwolnej i edytowalnej mapy świata. Możesz  go używać do dodawania i\nakutalizacji danych w twoim rejonie, czyniąc otwartą mapę świata lepszą\ndla każdego.\n\nModyfikacje wprowadzone na tej mapie będą widoczne dla wszystkich\nużywających OpenStreetMap. Aby wprowadzić modyfikacje, potrzebujesz\n[darmowe konto OpenStreetMap](https://www.openstreetmap.org/user/new).\n\n[Edytor iD](http://ideditor.com/) jest projektem społecznościowym z\n[kodem dostępnym na GitHub](https://github.com/systemed/iD).\n",
-        "editing_saving": "# Edycja i zapis\n\nTen edytor został zaprojektowany do pracy w trybie online i już go używasz poprzez stronę\ninternetową.\n\n### Wybieranie obiektów\n\nAby wybrać obiekt na mapie, taki jak na przykład droga, czy jakiś POI, kliknij na niego na mapie.\nSpowodouje to podświetlenie wybranego obiektu, otworzenie panelu zawierającego szczegóły\no nim i wyświetlenie menu z poleceniami, które możesz wykonać na obiekcie.\n\nWiele obiektów może zostać wybranych przez trzymania wciśniętego klawisza 'Shift', klikanie na\ni przeciąganie mapy. Spowoduje to wybór wszystkich obiektów zawartych w narysowanym\nprostokącie, umożliwiając Tobie wykonywanie działań na kilku obiektach naraz.\n\n### Zapisywanie modyfikacji\n\nGdy wprowadzisz zmiany, na przykład przez modyfikacje dróg, budynków i miejsc, są one\nprzechowywane lokalnie aż zapiszesz je na serwerze. Nie martw się, gdy popełnisz błąd - możesz\ncofnąć zmiany przez kliknięcie na przycisk cofnij, i powtórzyć je poprzez kliknięcie na przycisk powtórz.\n\nKliknij 'Zapisz' aby skończyć grupę modyfikacji - na przykład, gdy skończyłeś pewien obszar miasta i\nchcesz zacząć następny. Będziesz miał wtedy szansę przejrzeć, co zrobiłeś, a edytor dostarczy pomocne\nsugestie i ostrzeżenia w razie, gdyby coś było nie tak z twoimi zmianami.\n\nJeśli wszystko dobrze wygląda, możesz podać krótki komentarz opisujący zmianę, którą wprowadziłeś\ni kliknąć 'Zapisz' ponownie, aby wysłać zmiany do [OpenStreetMap.org](http://www.openstreetmap.org/),\ngdzie będą one widoczne dla wszystkich użytkowników i dostępne dla innych do bazowania na nich i\ndalszego ulepszania.\n\nJeżeli nie możesz skończyć swoich modyfikacji w czasie jednej sesji, możesz opuścić okno edytora i\nwrócić później (na tym samym komputerze i tą samą przeglądarką), a edytor zaoferuje Ci przywrócenie\ntwojej pracy.\n",
-        "roads": "# Drogi\n\nMożesz tworzyć, poprawiać i usuwać drogi używając tego edytora. Drogi mogą być wszelkiego rodzaju:\nścieżki, ulice, szlaki, ścieżki rowerowe i tak dalej - każdy często uczęszczany odcinek powinien dać się\nprzedstawić.\n\n### Zaznaczanie\n\nKliknij drogę, aby ją zaznaczyć. Obwiednia powinna stać się widoczna, wraz z małym menu\nnarzędziowym na mapie oraz panelem bocznym pokazującym więcej informacji na temat drogi.\n\n### Modyfikowanie\n\nCzęsto będziesz widział drogi, które nie są wyrównane ze zdjęciami satelitarnymi lub śladami GPS.\nMożesz dopasować te drogi tak, aby były we właściwym miejscu.\n\nNajpierw kliknij drogę, którą chcesz zmienić. Podświetli ją to oraz pokaże punkty kontrolne, które\nmożesz przesunąć w lepsze miejsce. Jeżeli chcesz dodać nowe punkty kontrolne, aby droga\nbyła bardziej szczegółowa, dwukrotnie kliknij część drogi bez punktu, a w tym miejscu nowy się\npojawi.\n\nJeżeli droga łączy się z inną drogą, ale nie jest prawidłowo połączona z nią na mapie, możesz\nprzeciągnąć jeden z puntów kontrolnych na drugą drogę w celu ich połączenia. Prawidłowe połączenia\ndróg są ważne dla mapy i kluczowe dla wyznaczania tras.\n\nMożesz też kliknąć narzędzie 'Przesuń' lub nacisnąć klawisz `M` aby przesunąć jednocześnie całą\ndrogę, a następnie kliknąć ponownie, aby zachować to przesunięcie.\n\n### Usuwanie\n\nGdy droga jest całkiem błędna - widzisz, że nie istnieje na zdjęciach satelitarnych (a najlepiej sam\nsprawdziłeś w terenie, że jej nie ma) - możesz usunąć ją. Uważaj, gdy usuwasz obiekty - wyniki usunięcia,\ntak jak każdej modyfikacji, są widoczne dla wszystkich, a zdjęcie satelitarne często nie są aktualne,\nwięc droga może być po prostu nowo wybudowana.\n\nMożesz usunąć drogę przez zaznaczenie jej, a następnie kliknięcie ikony kosza lub wciśnięcie\nklawisza 'Delete'.\n\n### Tworzenie\n\nGdzieś tam powinna być droga, ale jej nie ma? Kliknij przycisk 'Linia' w górnym lewym rogu edytora\nlub naciśnij klawisz '2' na klawiaturze, aby zacząć rysować linię.\n\nKliknij początek drogi na mapie, aby zacząć rysować. Jeżeli droga odchodzi od już istniejącej, zacznij\nprzez kliknięcie w miejscu, w którym się łączą.\n\nNastępnie klikaj na punktach wzdłuż drogi tak, aby biegła ona odpowiednio według zdjęć satelitarnych\nlub GPS. Jeżeli droga, którą rysujesz, krzyżuje się z inną, połącz je, klikając na punkcie przecięcia. Gdy\nskończysz rysować, dwukrotnie kliknij ostatni punkt lub naciśnij klawisz 'Enter' na klawiaturze.\n",
-        "gps": "# GPS\n\nDane GPS są najbardziej zaufanym źródłem dla OpenStreetMap. Ten edytor obsługuje lokalne ślady -\npliki `.gpx` na twoim komputerze. Możesz zbierać tego rodzaju ślady GPS używając aplikacji na\nsmartfony lub sprzętu GPS.\n\nInformacje jak używać GPS do zbierania informacji o okolicy możesz znaleźć pod\n[Zbieranie informacji z GPS](http://learnosm.org/en/beginner/using-gps/).\n\nAby użyć śladu GPX do rysowania mapy, przeciągnij i upuść plik GPX na edytor. Jeżeli zostanie\nrozpoznany, zostanie dodany na mapę w postaci jasnozielonej linii. Kliknij na menu 'Ustawienia tła'\npo lewej stronie aby włączyć, wyłączyć lub powiększyć do nowej warstwy GPX.\n\nŚlad GPX nie jest bezpośrednio wysyłany do OpenStreetMap - najlepiej użyć go do rysowania mapy,\nużywając go jako wzoru dla nowych obiektów, które dodasz.\n\n",
-        "imagery": "# Zdjęcia\n\nZdjęcia lotnicze/satelitarne są ważnym zasobem w rysowaniu map. Kolekcja zdjęć lotniczych,\nsatelitarnych i innych wolnodostępnych źródeł jest dostępna w edytorze w menu 'Ustawienia tła' po\nlewej stronie.\n\nDomyślnie wyświetlana jest warstwa zdjęć satelitarnych z [Bing Maps](http://www.bing.com/maps/),\nale w miarę przybliżania i pojawiają się nowe źródła. Niektóre kraje, takie jak Stany Zjednoczone, Francja\nczy Dania mają w pewnych miejscach dostępne zdjęcia bardzo wysokiej jakości.\n\nZdjęca są czasem przesunięte względem danych na mapie z powodu błędu dostawcy zdjęć. Jeżeli\nwidzisz dużo dróg przesuniętych względem tła, zastanów się zanim jest wszystkie wyrównasz względem\ntła. Zamiast tego może dostosować przesunięcie zdjęć tak, aby zgadzały się z istniejącymi danymi przez\nnaciśnięcie przycisku 'Wyrównaj podkład' na dole Ustawień tła.\n",
-        "addresses": "# Adresy\n\nAdresy są jedną z najbardziej użytecznych informacji na mapie.\n\nMimo, że adresy są często reprezentowane jako części ulic, w OpenStreetMap są one zapisywane jako\natrybuty budynków i miejsc wzdłuż ulicy.\n\nMożesz dodać nową informację adresową do miejsc narysowanych w postaci obwiedni budynków jak\nrównież do tych narysowanych w postaci pojedynczych punkt. Najlepszym źródłem danych adresowych\njest jak zwykle zwiedzanie okolicy  lub własna wiedza - tak jak z każdym innym obiektem, kopiowanie\ndanych z komercyjnych źródeł takich jak Google Maps jest zabronione.\n",
-        "inspector": "# Używanie Inspektora\n\nInspektor jest elementem interfejsu po prawej stronie strony, który pojawia się po zaznaczeniu obiektu\ni który pozwala tobie modyfikować jego szczegóły.\n\n### Zaznaczanie typu obiektu\n\nPo dodaniu punktu, linii lub obszaru, możesz wybrać jakiego rodzaju to jest obiekt, na przykład czy jest\nto autostrada czy droga lokalna, kawiarnia czy supermarket. Inspektor wyświetli przyciski dla\npopularnych typów obiektów, a ty możesz znaleźć inne przez wpisanie tego, czego szukasz do pola\nszukania.\n\nKliknij na 'i' w prawym dolnym rogu przycisku typu obiektu, aby dowiedzieć się o nim więcej.\nKliknij na przycisku, aby wybrać ten typ.\n\n### Używanie Formularzy i Edycja tagów\n\nPo wybraniu typu obiektu lub gdy wybierzesz obiekt, który ma już nadany typ, inspektor wyświetli pola\nzawierające szczegóły na temat obiektu, takie jak nazwa i adres.\n\nPoniżej pól, które widzisz, możesz kliknąć na ikony w celu dodania innych szczegółów, jak na przykład\ninformacja z [Wikipedii](http://www.wikipedia.org/), dostęp dla wózków inwalidzkich i innych.\n\nNa dole inspektora kliknij na 'Dodatkowe tagi', aby dodać dowolne inne tagi do elementu.\n[Taginfo](http://taginfo.openstreetmap.org/) jest świetnym źródłem informacji o popularnych\nkombinacjach tagów.\n\nZmiany, które wprowadzisz w inspektorze są automatycznie nanoszone na mapę. Możesz je cofnąć w\nkażdym momencie przez wciśnięcie przycisku 'Cofnij'.\n\n### Zamykanie Inspektora\n\nMożesz zamknąć inspektora przez kliknięcie na przycisk zamknij w górnym prawym rogu, wciśnięcie\nklawisza 'Escape' lub kliknięcie na mapie.\n",
-        "buildings": "# Budynki\n\nOpenStreetMap jest największą na świecie bazą danych budynków. Możesz tworzyć i poprawiać tę\nbazę danych.\n\n### Zaznaczanie\n\nMożesz zaznaczyć budynek przez kliknięcie na jego obwódce. Podświetli to budynek i otworzy małe\nmenu narzędziowe oraz boczny panel pokazujący więcej informacji o budynku.\n\n### Modyfikowanie\n\nCzasami budynki są błędnie umieszczone lub mają błędne tagi.\n\nAby przesunąć cały budynek, zaznacz go, a potem kliknij narzędzie 'Przesuń'. Rusz myszą, aby\nprzesunąć budynek i kliknij, gdy będzie we właściwym miejscu.\n\nAby poprawić kształt budynku, kliknij i przeciągnij punkty formujące obwódkę w lepsze miejsce.\n\n### Tworzenie\n\nJednym z głównych problemów podczas tworzenia budynków jest to, że OpenStreetMap  przechowuje\nbudynki zarówno w postaci punktów i obszarów. Przyjęło się rysowanie budynków w postaci obszarów,\na rysowanie firm, domów czy innej infrastruktury w postaci punktów w obszarze budynku.\n\nZacznij rysować budynek w postaci obszaru przez kliknięcie na przycisku 'Obszar' w górnym lewym\nrogu edytora i zakończ go przez naciśnięcie klawisza 'Enter' na klawiaturze lub przez kliknięcie na\npierwszym rysowanym punkcie w celu zamknięcia obszaru.\n\n### Usuwanie\n\nJeżeli budynek jest całkiem błędny - widzisz, że nie ma go na zdjęciach satelitarnych (a najlepiej\nsprawdziłeś w terenie, że go nie ma) - możesz go usunąć. Bądź ostrożny usuwając obiekty - tak jak po\nkażdej innej modyfikacji, rezultaty są widoczne dla wszystkich, a zdjęcia satelitarne często nie są\naktualne, więc budynek może być po prostu nowo wybudowany.\n\nMożesz usunąć budynek przez kliknięcie na nim, a następnie na ikonie śmietnika lub wciśnięcie\nklawisza 'Delete'.\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "Główny obszar mapy pokazuje dane OpenStreetMap na tle podkładu. Możesz poruszać się po niej przeciągając i przewijając, tak jak po każdej mapie internetowej. **Przeciągnij mapę!**",
-            "select": "Obiekty na mapie są reprezentowane na trzy sposoby: używają punktów, linii i obszarów. Wszystkie obiekty mogą zostać zaznaczone przez kliknięcie na nich. **Kliknij na punkcie, żeby go zaznaczyć.**",
-            "header": "Nagłówek pokazuje nam rodzaj obiektu",
-            "pane": "Gdy wybierze się obiekt, zostaje wyświetlony edytor obiektów. Nagłówek pokazuje nam typ obiektu, a główna część pokazuje atrybuty obiektu takie jak nazwa czy adres. **Zamknij edytor obiektów używając przycisku zamknij w prawym górnym rogu.**"
-        },
-        "points": {
-            "add": "Punkty mogą być używane do reprezentowania obiektów takich jak sklepy, restauracje czy pomniki.\nZaznaczają one konkretną lokalizację i opisują co się tam znajduje. **Kliknij na przycisk Punkt aby dodać nowy punkt.**",
-            "place": "Punkty może zostać umieszczony przez kliknięcie na mapę. **Umieść punkt na budynku.**",
-            "search": "Wiele różnych obiektów może być reprezentowanych przez punkty. Punkt, który właśnie dodałeś jest kawiarnią. **Szukaj 'kawiarnia' **",
-            "choose": "**Wybierz kawiarnię z siatki.**",
-            "describe": "Punkt jest teraz oznaczony jako kawiarnia. Używając edytora obiektów, możemy dodać więcej informacji o obiekcie, **Dodaj nazwę**",
-            "close": "Edytor obiektów może zostać zamknięty przez kliknięcie na przycisk zamknij. **Zamknij edytor obiektów**",
-            "reselect": "Często punkty już istnieją, ale zawierają błędy lub są niekompletne. Możemy modyfikować istniejące punkty. **Wybierz punkt, który właśnie utworzyłeś.**",
-            "fixname": "**Zmień nazwę i zamknij edytor obiektów.**",
-            "reselect_delete": "Wszystkie obiekty na mapie mogą zostać usunięte. **Kliknij na punkt, który utworzyłeś.**",
-            "delete": "Menu wokół punktu zawiera operacje, które można na nim wykonać, włącznie z usunięciem go. **Usuń punkt.**"
-        },
-        "areas": {
-            "add": "Obszary pozwalają na bardziej szczegółowe przedstawienie obiektu. Dostarczają one informacji o granicach boektu. Obszary mogą być używane do przedstawienia większości obiektów, które mogą być przedstawione w postaci punktów i często są one preferowane. **Kliknij na przycisk Obszar aby dodać nowy obszar.**",
-            "corner": "Obszary są rysowane przez stawianie punktów oznaczających granicę obszaru. **Umieść punkt początkowy w jednym z rogów placu zabaw.**",
-            "place": "Narysuj obszar, umieszczając kolejne punkty. Zakończ go, klikając na początkowy punkt. **Narysuj obszar placu zabaw.**",
-            "search": "**Szukaj placu zabaw.**",
-            "choose": "**Wybierz Plac zabaw z siatki.**",
-            "describe": "**Dodaj nazwę i zamknij edytor obietków**"
-        },
-        "lines": {
-            "add": "Linie są używane do reprezentowania obiektów takich jak drogi, tory czy rzeki. **Naciśnij na przycisk Linia aby dodać nową linię.**",
-            "start": "**Zacznij linię klikając na koniec drogi.**",
-            "intersect": "Kliknij, aby dodać więcej punktów do linii. W razie potrzeby możesz przeciągać mapę podczas rysowania. Drogi i wiele innych typów linii są częścią większej sieci. Ważne jest ich prawidłowe połączenie, aby programy do wyznaczania tras poprawnie działały. **Kliknij na Flower Street, aby dodać skrzyżowanie łączące dwie linie.**",
-            "finish": "Linie można zakończyć przez ponowne kliknięcie ostatniego punktu. **Zakończ rysowanie drogi.**",
-            "road": "**Wybierz drogę z siatki.**",
-            "residential": "Jest wiele rodzajów dróg, z których najpopularniejsze są drogi lokalne. **Wybierz typ drogi Lokalna**",
-            "describe": "**Nazwij drogę i zamknij edytor obiektów.**",
-            "restart": "Droga musi się skrzyżować z Flower Street."
-        },
-        "startediting": {
-            "help": "Więcej dokumentacji oraz ten samouczek są dostępne tutaj.",
-            "save": "Nie zapomnij o regularnym zapisywaniu swoich zmian!",
-            "start": "Zacznij mapować!"
+
+        function clickWalkthrough() {
+            d3.select(document.body).call(iD.ui.intro(context));
+            setVisible(false);
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Dostęp",
-                "types": {
-                    "access": "Ogólny",
-                    "foot": "Piesi",
-                    "motor_vehicle": "Pojazdy silnikowe",
-                    "bicycle": "Rowery",
-                    "horse": "Konie"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Dozwolony"
-                    },
-                    "no": {
-                        "title": "Zabroniony"
-                    }
+
+
+        var pane = selection.append('div')
+                .attr('class', 'help-wrap map-overlay fillL col5 content hide'),
+            tooltip = bootstrap.tooltip()
+                .placement('left')
+                .html(true)
+                .title(iD.ui.tooltipHtml(t('help.title'), key)),
+            button = selection.append('button')
+                .attr('tabindex', -1)
+                .on('click', toggle)
+                .call(iD.svg.Icon('#icon-help', 'light'))
+                .call(tooltip),
+            shown = false;
+
+
+        var toc = pane.append('ul')
+            .attr('class', 'toc');
+
+        var menuItems = toc.selectAll('li')
+            .data(docs)
+            .enter()
+            .append('li')
+            .append('a')
+            .html(function(d) { return d.title; })
+            .on('click', clickHelp);
+
+        toc.append('li')
+            .attr('class','walkthrough')
+            .append('a')
+            .text(t('splash.walkthrough'))
+            .on('click', clickWalkthrough);
+
+        var content = pane.append('div')
+            .attr('class', 'left-content');
+
+        var doctitle = content.append('h2')
+            .text(t('help.title'));
+
+        var body = content.append('div')
+            .attr('class', 'body');
+
+        var nav = content.append('div')
+            .attr('class', 'nav');
+
+        clickHelp(docs[0], 0);
+
+        var keybinding = d3.keybinding('help')
+            .on(key, toggle)
+            .on('B', hide)
+            .on('F', hide);
+
+        d3.select(document)
+            .call(keybinding);
+
+        context.surface().on('mousedown.help-outside', hide);
+        context.container().on('mousedown.help-outside', hide);
+    }
+
+    return help;
+};
+iD.ui.Info = function(context) {
+    var key = iD.ui.cmd('⌘I'),
+        imperial = (iD.detect().locale.toLowerCase() === 'en-us');
+
+    function info(selection) {
+        function radiansToMeters(r) {
+            // using WGS84 authalic radius (6371007.1809 m)
+            return r * 6371007.1809;
+        }
+
+        function steradiansToSqmeters(r) {
+            // http://gis.stackexchange.com/a/124857/40446
+            return r / 12.56637 * 510065621724000;
+        }
+
+        function toLineString(feature) {
+            if (feature.type === 'LineString') return feature;
+
+            var result = { type: 'LineString', coordinates: [] };
+            if (feature.type === 'Polygon') {
+                result.coordinates = feature.coordinates[0];
+            } else if (feature.type === 'MultiPolygon') {
+                result.coordinates = feature.coordinates[0][0];
+            }
+
+            return result;
+        }
+
+        function displayLength(m) {
+            var d = m * (imperial ? 3.28084 : 1),
+                p, unit;
+
+            if (imperial) {
+                if (d >= 5280) {
+                    d /= 5280;
+                    unit = 'mi';
+                } else {
+                    unit = 'ft';
                 }
-            },
-            "address": {
-                "label": "Adres",
-                "placeholders": {
-                    "housename": "Nazwa budynku",
-                    "number": "123",
-                    "street": "Ulica",
-                    "city": "Miasto"
+            } else {
+                if (d >= 1000) {
+                    d /= 1000;
+                    unit = 'km';
+                } else {
+                    unit = 'm';
                 }
-            },
-            "admin_level": {
-                "label": "Poziom administracyjny"
-            },
-            "aeroway": {
-                "label": "Typ"
-            },
-            "amenity": {
-                "label": "Typ"
-            },
-            "atm": {
-                "label": "Bankomat"
-            },
-            "barrier": {
-                "label": "Typ"
-            },
-            "bicycle_parking": {
-                "label": "Typ"
-            },
-            "building": {
-                "label": "Budynek"
-            },
-            "building_area": {
-                "label": "Budynek"
-            },
-            "building_yes": {
-                "label": "Budynek"
-            },
-            "capacity": {
-                "label": "Pojemność"
-            },
-            "cardinal_direction": {
-                "label": "Kierunek"
-            },
-            "clock_direction": {
-                "label": "Kierunek",
-                "options": {
-                    "clockwise": "Zgodnie ze wskazówkami zegara",
-                    "anticlockwise": "Przeciwnie do wskazówek zegara"
+            }
+
+            // drop unnecessary precision
+            p = d > 1000 ? 0 : d > 100 ? 1 : 2;
+
+            return String(d.toFixed(p)) + ' ' + unit;
+        }
+
+        function displayArea(m2) {
+            var d = m2 * (imperial ? 10.7639111056 : 1),
+                d1, d2, p1, p2, unit1, unit2;
+
+            if (imperial) {
+                if (d >= 6969600) {     // > 0.25mi² show mi²
+                    d1 = d / 27878400;
+                    unit1 = 'mi²';
+                } else {
+                    d1 = d;
+                    unit1 = 'ft²';
                 }
-            },
-            "collection_times": {
-                "label": "Czas zbierania"
-            },
-            "construction": {
-                "label": "Typ"
-            },
-            "country": {
-                "label": "Kraj"
-            },
-            "crossing": {
-                "label": "Typ"
-            },
-            "cuisine": {
-                "label": "Kuchnia"
-            },
-            "denomination": {
-                "label": "Wyznanie"
-            },
-            "denotation": {
-                "label": "Znaczenie"
-            },
-            "elevation": {
-                "label": "Wysokość"
-            },
-            "emergency": {
-                "label": "Pogotowie"
-            },
-            "entrance": {
-                "label": "Typ"
-            },
-            "fax": {
-                "label": "Faks"
-            },
-            "fee": {
-                "label": "Opłata"
-            },
-            "highway": {
-                "label": "Typ"
-            },
-            "historic": {
-                "label": "Typ"
-            },
-            "internet_access": {
-                "label": "Dostęp do internetu",
-                "options": {
-                    "wlan": "Bezprzewodowy",
-                    "wired": "Przewodowy",
-                    "terminal": "Terminal"
+
+                if (d > 4356 && d < 43560000) {   // 0.1 - 1000 acres
+                    d2 = d / 43560;
+                    unit2 = 'ac';
                 }
-            },
-            "landuse": {
-                "label": "Typ"
-            },
-            "layer": {
-                "label": "Warstwa"
-            },
-            "leisure": {
-                "label": "Typ"
-            },
-            "levels": {
-                "label": "Poziomy"
-            },
-            "man_made": {
-                "label": "Typ"
-            },
-            "maxspeed": {
-                "label": "Ograniczenie prędkości"
-            },
-            "name": {
-                "label": "Nazwa"
-            },
-            "natural": {
-                "label": "Natura"
-            },
-            "network": {
-                "label": "Sieć"
-            },
-            "note": {
-                "label": "Notatka"
-            },
-            "office": {
-                "label": "Typ"
-            },
-            "oneway": {
-                "label": "Jednokierunkowa"
-            },
-            "oneway_yes": {
-                "label": "Jednokierunkowa"
-            },
-            "opening_hours": {
-                "label": "Godziny"
-            },
-            "operator": {
-                "label": "Operator"
-            },
-            "phone": {
-                "label": "Telefon"
-            },
-            "place": {
-                "label": "Typ"
-            },
-            "power": {
-                "label": "Typ"
-            },
-            "railway": {
-                "label": "Typ"
-            },
-            "ref": {
-                "label": "Identyfikacja"
-            },
-            "religion": {
-                "label": "Religia",
-                "options": {
-                    "christian": "Chrześcijaństwo",
-                    "muslim": "Islam",
-                    "buddhist": "Buddyzm",
-                    "jewish": "Judaizm",
-                    "hindu": "Hinduizm",
-                    "shinto": "Szintoizm",
-                    "taoist": "Taoizm"
+
+            } else {
+                if (d >= 250000) {    // > 0.25km² show km²
+                    d1 = d / 1000000;
+                    unit1 = 'km²';
+                } else {
+                    d1 = d;
+                    unit1 = 'm²';
                 }
-            },
-            "service": {
-                "label": "Typ"
-            },
-            "shelter": {
-                "label": "Schronienie"
-            },
-            "shop": {
-                "label": "Typ"
-            },
-            "source": {
-                "label": "Źródło"
-            },
-            "sport": {
-                "label": "Sport"
-            },
-            "structure": {
-                "label": "Struktura",
-                "options": {
-                    "bridge": "Most",
-                    "tunnel": "Tunel",
-                    "embankment": "Nasyp",
-                    "cutting": "Szlak wcinający się w okolicę"
+
+                if (d > 1000 && d < 10000000) {   // 0.1 - 1000 hectares
+                    d2 = d / 10000;
+                    unit2 = 'ha';
                 }
-            },
-            "surface": {
-                "label": "Nawierzchnia"
-            },
-            "tourism": {
-                "label": "Typ"
-            },
-            "tracktype": {
-                "label": "Typ"
-            },
-            "water": {
-                "label": "Typ"
-            },
-            "waterway": {
-                "label": "Typ"
-            },
-            "website": {
-                "label": "Strona WWW"
-            },
-            "wetland": {
-                "label": "Typ"
-            },
-            "wheelchair": {
-                "label": "Dostęp dla wózków inwalidzkich"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Typ"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Szlak powietrzny"
-            },
-            "aeroway/aerodrome": {
-                "name": "Lotnisko"
-            },
-            "aeroway/helipad": {
-                "name": "Lądowisko dla helikopterów"
-            },
-            "amenity": {
-                "name": "Udogodnienie"
-            },
-            "amenity/bank": {
-                "name": "Bank"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Ławka"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Parking dla rowerów"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Wypożyczalnia rowerów"
-            },
-            "amenity/cafe": {
-                "name": "Kawiarnia"
-            },
-            "amenity/cinema": {
-                "name": "Kino"
-            },
-            "amenity/courthouse": {
-                "name": "Sąd"
-            },
-            "amenity/embassy": {
-                "name": "Ambasada"
-            },
-            "amenity/fast_food": {
-                "name": "Fast food"
-            },
-            "amenity/fire_station": {
-                "name": "Straż pożarna"
-            },
-            "amenity/fuel": {
-                "name": "Stacja benzynowa"
-            },
-            "amenity/grave_yard": {
-                "name": "Cmentarz"
-            },
-            "amenity/hospital": {
-                "name": "Szpital"
-            },
-            "amenity/library": {
-                "name": "Biblioteka"
-            },
-            "amenity/marketplace": {
-                "name": "Targowisko"
-            },
-            "amenity/parking": {
-                "name": "Parking"
-            },
-            "amenity/pharmacy": {
-                "name": "Apteka"
-            },
-            "amenity/place_of_worship": {
-                "name": "Miejsce kultu religijnego"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Kościół"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Synagoga",
-                "terms": "Synagoga"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Meczet",
-                "terms": "Meczet"
-            },
-            "amenity/police": {
-                "name": "Policja"
-            },
-            "amenity/post_box": {
-                "name": "Skrzynka pocztowa",
-                "terms": "Skrzykna pocztowa"
-            },
-            "amenity/post_office": {
-                "name": "Poczta"
-            },
-            "amenity/pub": {
-                "name": "Pub"
-            },
-            "amenity/restaurant": {
-                "name": "Restauracja"
-            },
-            "amenity/school": {
-                "name": "Szkoła",
-                "terms": "Uczelnia"
-            },
-            "amenity/swimming_pool": {
-                "name": "Basen"
-            },
-            "amenity/telephone": {
-                "name": "Telefon"
-            },
-            "amenity/theatre": {
-                "name": "Teatr",
-                "terms": "teatr,sztuka,musical"
-            },
-            "amenity/toilets": {
-                "name": "Toalety"
-            },
-            "amenity/townhall": {
-                "name": "Ratusz"
-            },
-            "amenity/university": {
-                "name": "Uniwersytet"
-            },
-            "barrier": {
-                "name": "Bariera"
-            },
-            "barrier/block": {
-                "name": "Blok"
-            },
-            "barrier/bollard": {
-                "name": "Słupek"
-            },
-            "barrier/cattle_grid": {
-                "name": "Przeszkoda dla bydła"
-            },
-            "barrier/city_wall": {
-                "name": "Mur miejski"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Przegroda dla rowerzystów"
-            },
-            "barrier/ditch": {
-                "name": "Rów"
-            },
-            "barrier/entrance": {
-                "name": "Wejście"
-            },
-            "barrier/fence": {
-                "name": "Płot"
-            },
-            "barrier/gate": {
-                "name": "Brama"
-            },
-            "barrier/hedge": {
-                "name": "Żywopłot"
-            },
-            "barrier/lift_gate": {
-                "name": "Szlaban"
-            },
-            "barrier/retaining_wall": {
-                "name": "Mur oporowy"
-            },
-            "barrier/stile": {
-                "name": "Przełaz"
-            },
-            "barrier/toll_booth": {
-                "name": "Punkt poboru opłat"
-            },
-            "barrier/wall": {
-                "name": "Mur"
-            },
-            "boundary/administrative": {
-                "name": "Granica administracyjna"
-            },
-            "building": {
-                "name": "Budynek"
-            },
-            "building/apartments": {
-                "name": "Apartamenty"
-            },
-            "building/entrance": {
-                "name": "Wejście"
-            },
-            "building/house": {
-                "name": "Dom"
-            },
-            "entrance": {
-                "name": "Wejście"
-            },
-            "highway": {
-                "name": "Droga"
-            },
-            "highway/bus_stop": {
-                "name": "Przystanek autobusowy"
-            },
-            "highway/crossing": {
-                "name": "Przejście dla pieszych",
-                "terms": "Przejście dla pieszych"
-            },
-            "highway/cycleway": {
-                "name": "Ścieżka rowerowa"
-            },
-            "highway/footway": {
-                "name": "Ścieżka dla pieszych"
-            },
-            "highway/mini_roundabout": {
-                "name": "Mini-rondo"
-            },
-            "highway/motorway": {
-                "name": "Autostrada"
-            },
-            "highway/path": {
-                "name": "Ścieżka"
-            },
-            "highway/primary": {
-                "name": "Droga krajowa"
-            },
-            "highway/residential": {
-                "name": "Droga lokalna"
-            },
-            "highway/road": {
-                "name": "Nieznana droga"
-            },
-            "highway/secondary": {
-                "name": "Droga wojewódzka"
-            },
-            "highway/service": {
-                "name": "Droga serwisowa"
-            },
-            "highway/steps": {
-                "name": "Schody",
-                "terms": "Schody, klatka schodowa"
-            },
-            "highway/tertiary": {
-                "name": "Droga powiatowa"
-            },
-            "highway/track": {
-                "name": "Droga gruntowa"
-            },
-            "highway/traffic_signals": {
-                "name": "Sygnalizacja świetlna"
-            },
-            "highway/trunk": {
-                "name": "Droga ekspresowa"
-            },
-            "highway/turning_circle": {
-                "name": "Miejsce do zawracania"
-            },
-            "highway/unclassified": {
-                "name": "Droga niesklasyfikowana"
-            },
-            "historic": {
-                "name": "Miejsce historyczne"
-            },
-            "historic/archaeological_site": {
-                "name": "Wykopalisko archeologiczne"
-            },
-            "historic/boundary_stone": {
-                "name": "Kamień graniczny"
-            },
-            "historic/castle": {
-                "name": "Zamek"
-            },
-            "historic/memorial": {
-                "name": "Miejsce pamięci"
-            },
-            "historic/monument": {
-                "name": "Pomnik"
-            },
-            "historic/ruins": {
-                "name": "Ruiny"
-            },
-            "historic/wayside_cross": {
-                "name": "Przydrożny krzyż"
-            },
-            "historic/wayside_shrine": {
-                "name": "Przydrożna kapliczka"
-            },
-            "landuse": {
-                "name": "Użytkowanie gruntów"
-            },
-            "landuse/allotments": {
-                "name": "Działki"
-            },
-            "landuse/basin": {
-                "name": "Zbiornik wodny"
-            },
-            "landuse/cemetery": {
-                "name": "Cmentarz"
-            },
-            "landuse/commercial": {
-                "name": "Biura i usługi"
-            },
-            "landuse/construction": {
-                "name": "Budowa"
-            },
-            "landuse/farm": {
-                "name": "Teren rolny"
-            },
-            "landuse/farmyard": {
-                "name": "Podwórze gospodarskie"
-            },
-            "landuse/forest": {
-                "name": "Las"
-            },
-            "landuse/grass": {
-                "name": "Trawa"
-            },
-            "landuse/industrial": {
-                "name": "Obszar przemysłowy"
-            },
-            "landuse/meadow": {
-                "name": "Łąka"
-            },
-            "landuse/orchard": {
-                "name": "Sad"
-            },
-            "landuse/quarry": {
-                "name": "Kamieniołom"
-            },
-            "landuse/residential": {
-                "name": "Zabudowa mieszkaniowa"
-            },
-            "landuse/vineyard": {
-                "name": "Winnica"
-            },
-            "leisure": {
-                "name": "Rozrywka i wypoczynek"
-            },
-            "leisure/garden": {
-                "name": "Ogród"
-            },
-            "leisure/golf_course": {
-                "name": "Pole golfowe"
-            },
-            "leisure/marina": {
-                "name": "Przystań"
-            },
-            "leisure/park": {
-                "name": "Park"
-            },
-            "leisure/pitch": {
-                "name": "Boisko"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Boisko do futbolu amerykańskiego"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Boisko do baseballu"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Boisko do koszykówki"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Boisko do piłki nożnej"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Kort tenisowy"
-            },
-            "leisure/playground": {
-                "name": "Plac zabaw"
-            },
-            "leisure/slipway": {
-                "name": "Pochylnia okrętowa"
-            },
-            "leisure/stadium": {
-                "name": "Stadion"
-            },
-            "leisure/swimming_pool": {
-                "name": "Basen"
-            },
-            "man_made": {
-                "name": "Obiekty sztuczne"
-            },
-            "man_made/lighthouse": {
-                "name": "Latarnia morska"
-            },
-            "man_made/pier": {
-                "name": "Molo"
-            },
-            "man_made/survey_point": {
-                "name": "Punkt geodezyjny"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Oczyszczalnia ścieków"
-            },
-            "man_made/water_tower": {
-                "name": "Wieża ciśnień"
-            },
-            "man_made/water_works": {
-                "name": "Filtracja wody"
-            },
-            "natural": {
-                "name": "Natura"
-            },
-            "natural/bay": {
-                "name": "Zatoka"
-            },
-            "natural/beach": {
-                "name": "Plaża"
-            },
-            "natural/cliff": {
-                "name": "Klif"
-            },
-            "natural/coastline": {
-                "name": "Wybrzeże",
-                "terms": "Brzeg"
-            },
-            "natural/glacier": {
-                "name": "Lodowiec"
-            },
-            "natural/grassland": {
-                "name": "Łąka"
-            },
-            "natural/heath": {
-                "name": "Wrzosowisko"
-            },
-            "natural/peak": {
-                "name": "Szczyt"
-            },
-            "natural/scrub": {
-                "name": "Zarośla"
-            },
-            "natural/spring": {
-                "name": "Strumień"
-            },
-            "natural/tree": {
-                "name": "Drzewo"
-            },
-            "natural/water": {
-                "name": "Woda"
-            },
-            "natural/water/lake": {
-                "name": "Jezioro"
-            },
-            "natural/water/pond": {
-                "name": "Staw"
-            },
-            "natural/water/reservoir": {
-                "name": "Rezerwuar"
-            },
-            "natural/wetland": {
-                "name": "Bagno"
-            },
-            "natural/wood": {
-                "name": "Drewno"
-            },
-            "office": {
-                "name": "Biuro"
-            },
-            "other": {
-                "name": "Inne"
-            },
-            "other_area": {
-                "name": "Inne"
-            },
-            "place": {
-                "name": "Miejsce"
-            },
-            "place/hamlet": {
-                "name": "Wioska"
-            },
-            "place/island": {
-                "name": "Wyspa"
-            },
-            "place/locality": {
-                "name": "Miejsce"
-            },
-            "place/village": {
-                "name": "Wioska"
-            },
-            "power/generator": {
-                "name": "Elektrownia"
-            },
-            "power/line": {
-                "name": "Linia elektryczna"
-            },
-            "power/pole": {
-                "name": "Słup elektryczny"
-            },
-            "power/sub_station": {
-                "name": "Podstacja"
-            },
-            "power/tower": {
-                "name": "Wieża wysokiego napięcia"
-            },
-            "power/transformer": {
-                "name": "Transformator"
-            },
-            "railway": {
-                "name": "Koej"
-            },
-            "railway/abandoned": {
-                "name": "Nieużywany tor"
-            },
-            "railway/disused": {
-                "name": "Nieużywany tor"
-            },
-            "railway/level_crossing": {
-                "name": "Rogatka"
-            },
-            "railway/platform": {
-                "name": "Peron kolejowy"
-            },
-            "railway/rail": {
-                "name": "Tor"
-            },
-            "railway/station": {
-                "name": "Dworzec kolejowy"
-            },
-            "railway/subway": {
-                "name": "Metro"
-            },
-            "railway/subway_entrance": {
-                "name": "Wejście do metra"
-            },
-            "railway/tram": {
-                "name": "Tramwaj"
-            },
-            "shop": {
-                "name": "Sklep"
-            },
-            "shop/alcohol": {
-                "name": "Sklep monopolowy"
-            },
-            "shop/bakery": {
-                "name": "Piekarnia"
-            },
-            "shop/beauty": {
-                "name": "Salon piękności"
-            },
-            "shop/bicycle": {
-                "name": "Sklep rowerowy"
-            },
-            "shop/books": {
-                "name": "Księgarnia"
-            },
-            "shop/boutique": {
-                "name": "Butik"
-            },
-            "shop/butcher": {
-                "name": "Rzeźnik"
-            },
-            "shop/car": {
-                "name": "Dealer samochodowy"
-            },
-            "shop/car_parts": {
-                "name": "Sklep z częściami do samochodów"
-            },
-            "shop/car_repair": {
-                "name": "Warsztat samochodowy"
-            },
-            "shop/chemist": {
-                "name": "Drogeria"
-            },
-            "shop/clothes": {
-                "name": "Sklep odzieżowy"
-            },
-            "shop/computer": {
-                "name": "Sklep komputerowy"
-            },
-            "shop/confectionery": {
-                "name": "Konfekcja"
-            },
-            "shop/convenience": {
-                "name": "Sklep ogólnospożywczy"
-            },
-            "shop/deli": {
-                "name": "Delikatesy"
-            },
-            "shop/department_store": {
-                "name": "Dom towarowy"
-            },
-            "shop/doityourself": {
-                "name": "Sklep dla majsterkowiczów"
-            },
-            "shop/dry_cleaning": {
-                "name": "Pralnia chemiczna"
-            },
-            "shop/electronics": {
-                "name": "Sklep elektroniczny"
-            },
-            "shop/fishmonger": {
-                "name": "Sklep rybny"
-            },
-            "shop/florist": {
-                "name": "Kwiaciarnia"
-            },
-            "shop/furniture": {
-                "name": "Sklep meblowy"
-            },
-            "shop/garden_centre": {
-                "name": "Centrum ogrodnicze"
-            },
-            "shop/gift": {
-                "name": "Sklep z pamiątkami"
-            },
-            "shop/greengrocer": {
-                "name": "Warzywniak"
-            },
-            "shop/hairdresser": {
-                "name": "Fryzjer"
-            },
-            "shop/hardware": {
-                "name": "Sklep z narzędziami"
-            },
-            "shop/hifi": {
-                "name": "Sklep ze sprzętem Hi-fi"
-            },
-            "shop/jewelry": {
-                "name": "Jubiler"
-            },
-            "shop/kiosk": {
-                "name": "Kiosk"
-            },
-            "shop/laundry": {
-                "name": "Pralnia"
-            },
-            "shop/mall": {
-                "name": "Centrum handlowe"
-            },
-            "shop/mobile_phone": {
-                "name": "Sklep z telefonami komórkowymi"
-            },
-            "shop/motorcycle": {
-                "name": "Dealer motocykli"
-            },
-            "shop/music": {
-                "name": "Sklep muzyczny"
-            },
-            "shop/newsagent": {
-                "name": "Kiosk"
-            },
-            "shop/optician": {
-                "name": "Optyk"
-            },
-            "shop/outdoor": {
-                "name": "Sklep turystyczny"
-            },
-            "shop/pet": {
-                "name": "Sklep zoologiczny"
-            },
-            "shop/shoes": {
-                "name": "Sklep obuwniczy"
-            },
-            "shop/sports": {
-                "name": "Sklep sportowy"
-            },
-            "shop/supermarket": {
-                "name": "Supermarket"
-            },
-            "shop/toys": {
-                "name": "Sklep z zabawkami"
-            },
-            "shop/travel_agency": {
-                "name": "Biuro podróży"
-            },
-            "shop/tyres": {
-                "name": "Sklep z oponami"
-            },
-            "tourism": {
-                "name": "Turystyka"
-            },
-            "tourism/alpine_hut": {
-                "name": "Chata górska"
-            },
-            "tourism/artwork": {
-                "name": "Sztuka"
-            },
-            "tourism/attraction": {
-                "name": "Atrakcja turystyczna"
-            },
-            "tourism/camp_site": {
-                "name": "Kamping"
-            },
-            "tourism/caravan_site": {
-                "name": "Parka karawaningowy"
-            },
-            "tourism/chalet": {
-                "name": "Drewniana chata"
-            },
-            "tourism/guest_house": {
-                "name": "Domek gościnny"
-            },
-            "tourism/hostel": {
-                "name": "Schronisko"
-            },
-            "tourism/hotel": {
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "name": "Informacja"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Muzeum"
-            },
-            "tourism/picnic_site": {
-                "name": "Miejsce na piknik"
-            },
-            "tourism/theme_park": {
-                "name": "Wesołe miasteczko"
-            },
-            "tourism/viewpoint": {
-                "name": "Punkt widokowy"
-            },
-            "tourism/zoo": {
-                "name": "Zoo"
-            },
-            "waterway": {
-                "name": "Szlak wodny"
-            },
-            "waterway/canal": {
-                "name": "Kanał"
-            },
-            "waterway/dam": {
-                "name": "Tama"
-            },
-            "waterway/ditch": {
-                "name": "Rów"
-            },
-            "waterway/drain": {
-                "name": "Odpływ"
-            },
-            "waterway/river": {
-                "name": "Rzeka"
-            },
-            "waterway/riverbank": {
-                "name": "Brzeg rzeki"
-            },
-            "waterway/stream": {
-                "name": "Strumień"
-            },
-            "waterway/weir": {
-                "name": "Jaz"
             }
+
+            // drop unnecessary precision
+            p1 = d1 > 1000 ? 0 : d1 > 100 ? 1 : 2;
+            p2 = d2 > 1000 ? 0 : d2 > 100 ? 1 : 2;
+
+            return String(d1.toFixed(p1)) + ' ' + unit1 +
+                (d2 ? ' (' + String(d2.toFixed(p2)) + ' ' + unit2 + ')' : '');
         }
-    }
-};
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        function redraw() {
+            if (hidden()) return;
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.pt = {
-    "modes": {
-        "add_area": {
-            "title": "Área",
-            "description": "Adicione parques, edifícios, lagos, ou outras áreas ao mapa.",
-            "tail": "Clique no mapa para começar a desenhar uma área, como um parque, lago ou edifício."
-        },
-        "add_line": {
-            "title": "Linha",
-            "description": "Linhas podem ser auto-estradas, ruas, caminhos pedestres e inclusive canais.",
-            "tail": "Clique no mapa para começar a desenhar uma estrada, caminho ou rota."
-        },
-        "add_point": {
-            "title": "Ponto",
-            "description": "Restaurantes, monumentos e caixas postais podem ser pontos.",
-            "tail": "Clique no mapa para adicionar um ponto."
-        },
-        "browse": {
-            "title": "Navegar",
-            "description": "Faça zoom e mova o mapa"
-        }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Adicione um Ponto.",
-                "vertex": "Adicione um vértice a um caminho"
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Linha iniciada.",
-                "area": "Área iniciada."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Linha continuada.",
-                "area": "Área continuada."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Desenho cancelado."
-        },
-        "change_tags": {
-            "annotation": "Tags alteradas."
-        },
-        "circularize": {
-            "title": "Circularizar",
-            "key": "O",
-            "annotation": {
-                "line": "Fazer uma linha circular.",
-                "area": "Fazer uma área circular."
-            }
-        },
-        "orthogonalize": {
-            "title": "Esquadrar",
-            "description": "Esquadrar estes cantos.",
-            "key": "E",
-            "annotation": {
-                "line": "Cantos da linha esquadrados.",
-                "area": "Cantos da área esquadrados."
-            }
-        },
-        "delete": {
-            "title": "Remover",
-            "description": "Remover isto do mapa.",
-            "annotation": {
-                "point": "Ponto eliminado.",
-                "vertex": "Vértice elimnado de la ruta.",
-                "line": "Linha eliminada.",
-                "area": "Área eliminada.",
-                "relation": "Relacão eliminada.",
-                "multiple": "{n} objetos eliminados."
+            var resolver = context.graph(),
+                selected = _.filter(context.selectedIDs(), function(e) { return context.hasEntity(e); }),
+                singular = selected.length === 1 ? selected[0] : null,
+                extent = iD.geo.Extent(),
+                entity;
+
+            selection.html('');
+            selection.append('h4')
+                .attr('class', 'selection-heading fillD')
+                .text(singular || t('infobox.selected', { n: selected.length }));
+
+            if (!selected.length) return;
+
+            var center;
+            for (var i = 0; i < selected.length; i++) {
+                entity = context.entity(selected[i]);
+                extent._extend(entity.extent(resolver));
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Rota ligada a um ponto.",
-                "vertex": "Rota ligada a outra.",
-                "line": "Rota ligada a uma linha.",
-                "area": "Rota ligada a uma área."
+            center = extent.center();
+
+
+            var list = selection.append('ul');
+
+            // multiple selection, just display extent center..
+            if (!singular) {
+                list.append('li')
+                    .text(t('infobox.center') + ': ' + center[0].toFixed(5) + ', ' + center[1].toFixed(5));
+                return;
             }
-        },
-        "disconnect": {
-            "title": "Desligar",
-            "description": "Desligar rotas umas das outras.",
-            "key": "D",
-            "annotation": "Rotas desligadas."
-        },
-        "merge": {
-            "title": "Combinar",
-            "description": "Combinar linhas.",
-            "key": "C",
-            "annotation": "{n} linhas combinadas."
-        },
-        "move": {
-            "title": "Mover",
-            "description": "Mover para outra localização.",
-            "key": "M",
-            "annotation": {
-                "point": "Ponto movido,",
-                "vertex": "Vértice movido.",
-                "line": "Linha movida.",
-                "area": "Área movida,",
-                "multiple": "Múltiplos objectos movidos."
+
+            // single selection, display details..
+            if (!entity) return;
+            var geometry = entity.geometry(resolver);
+
+            if (geometry === 'line' || geometry === 'area') {
+                var closed = (entity.type === 'relation') || (entity.isClosed() && !entity.isDegenerate()),
+                    feature = entity.asGeoJSON(resolver),
+                    length = radiansToMeters(d3.geo.length(toLineString(feature))),
+                    lengthLabel = t('infobox.' + (closed ? 'perimeter' : 'length')),
+                    centroid = d3.geo.centroid(feature);
+
+                list.append('li')
+                    .text(t('infobox.geometry') + ': ' +
+                        (closed ? t('infobox.closed') + ' ' : '') + t('geometry.' + geometry) );
+
+                if (closed) {
+                    var area = steradiansToSqmeters(entity.area(resolver));
+                    list.append('li')
+                        .text(t('infobox.area') + ': ' + displayArea(area));
+                }
+
+                list.append('li')
+                    .text(lengthLabel + ': ' + displayLength(length));
+
+                list.append('li')
+                    .text(t('infobox.centroid') + ': ' + centroid[0].toFixed(5) + ', ' + centroid[1].toFixed(5));
+
+
+                var toggle  = imperial ? 'imperial' : 'metric';
+                selection.append('a')
+                    .text(t('infobox.' + toggle))
+                    .attr('href', '#')
+                    .attr('class', 'button')
+                    .on('click', function() {
+                        d3.event.preventDefault();
+                        imperial = !imperial;
+                        redraw();
+                    });
+
+            } else {
+                var centerLabel = t('infobox.' + (entity.type === 'node' ? 'location' : 'center'));
+
+                list.append('li')
+                    .text(t('infobox.geometry') + ': ' + t('geometry.' + geometry));
+
+                list.append('li')
+                    .text(centerLabel + ': ' + center[0].toFixed(5) + ', ' + center[1].toFixed(5));
             }
-        },
-        "rotate": {
-            "title": "Rodar",
-            "description": "Rodar este objecto sobre o seu ponto central.",
-            "key": "R",
-            "annotation": {
-                "line": "Linha rodada.",
-                "area": "Área rodade."
+        }
+
+
+        function hidden() {
+            return selection.style('display') === 'none';
+        }
+
+
+        function toggle() {
+            if (d3.event) d3.event.preventDefault();
+
+            if (hidden()) {
+                selection
+                    .style('display', 'block')
+                    .style('opacity', 0)
+                    .transition()
+                    .duration(200)
+                    .style('opacity', 1);
+
+                redraw();
+
+            } else {
+                selection
+                    .style('display', 'block')
+                    .style('opacity', 1)
+                    .transition()
+                    .duration(200)
+                    .style('opacity', 0)
+                    .each('end', function() {
+                        d3.select(this).style('display', 'none');
+                    });
             }
-        },
-        "reverse": {
-            "title": "Inverter",
-            "description": "Inverter direcção da linha.",
-            "key": "I",
-            "annotation": "Direcção da linha revertida."
-        },
-        "split": {
-            "title": "Dividir",
-            "key": "D"
         }
-    },
-    "nothing_to_undo": "Nada a desfazer.",
-    "nothing_to_redo": "Nada a refazer.",
-    "just_edited": "Acaba de editar o OpenStreetMap!",
-    "browser_notice": "Este editor suporta Firefox, Chrome, Safari, Opera e Internet Explorer 9 ou superior. Por favor actualize o seu browser ou utilize Potlatch 2 para editar o mapa.",
-    "view_on_osm": "Ver em OSM",
-    "zoom_in_edit": "Aproxime-se para editar o mapa",
-    "logout": "Encerrar sessão",
-    "report_a_bug": "Reportar un erro",
-    "commit": {
-        "title": "Guardar Alterações",
-        "description_placeholder": "Breve descrição das suas contribuições",
-        "upload_explanation": "As alterações que envia como {user} serão visíveis em todos os mapas que utilizem dados do OpenStreetMap.",
-        "save": "Guardar",
-        "cancel": "Cancelar",
-        "warnings": "Avisos",
-        "modified": "Modificado",
-        "deleted": "Removido",
-        "created": "Criado"
-    },
-    "contributors": {
-        "list": "A ver contribuições de {users}",
-        "truncated_list": "A ver contribuições de {users} e mais {count} outros"
-    },
-    "geocoder": {
-        "title": "Encontrar Um Local",
-        "placeholder": "encontrar um local",
-        "no_results": "Não foi possível encontrar o local chamado '{name}'"
-    },
-    "geolocate": {
-        "title": "Mostrar a minha localização"
-    },
-    "inspector": {
-        "no_documentation_combination": "Não há documentação disponível para esta combinação de tags",
-        "no_documentation_key": "Não há documentação disponível para esta tecla",
-        "show_more": "Mostrar Mais",
-        "new_tag": "Nova tag",
-        "editing_feature": "Editando {feature}",
-        "additional": "Tags adicionais",
-        "choose": "O que está a adicionar?",
-        "results": "{n} resultados para {search}"
-    },
-    "background": {
-        "title": "Fundo",
-        "description": "Configuração de fundo",
-        "percent_brightness": "{opacity}% brilho",
-        "fix_misalignment": "Arranjar desalinhamento",
-        "reset": "reiniciar"
-    },
-    "restore": {
-        "heading": "Tem alterações por guardar",
-        "description": "Tem alterações por guardar de uma prévia sessão de edição. Deseja restaurar estas alterações?",
-        "restore": "Restaurar",
-        "reset": "Descartar"
-    },
-    "save": {
-        "title": "Guardar",
-        "help": "Guardar alterações no OpenStreetMap, tornando-as visíveis a outros utilizadores.",
-        "no_changes": "Não há alterações para guardar.",
-        "error": "Um erro ocorreu ao tentar guardar",
-        "uploading": "Enviando alterações para OpenStreetMap.",
-        "unsaved_changes": "Tem alterações por guardar"
-    },
-    "splash": {
-        "welcome": "Bemvindo ao editor OpenStreetMap iD",
-        "text": "Esta é a versão de desenvolvimento {version}. Para mais informação visite {website} e reporte erros em {github}."
-    },
-    "source_switch": {
-        "live": "ao vivo",
-        "lose_changes": "Tem alterações por guardar. Mudando o servidor de mapas irá perdê-las. Tem a certeza que deseja mudar de servidores?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Descrição",
-        "on_wiki": "{tag} em wiki.osm.org",
-        "used_with": "usado com {type}"
-    },
-    "validations": {
-        "untagged_line": "Linha sem tag",
-        "untagged_area": "Área sem tags",
-        "many_deletions": "Está a eliminar {n} objectos. Tem a certeza que deseja continuar? Esta operação eliminará os objectos do mapa que outros vêem em openstreetmap.org.",
-        "tag_suggests_area": "A tag {tag} sugere que esta linha devia ser uma área, mas não é uma área.",
-        "deprecated_tags": "Tags obsoletas: {tags}"
-    },
-    "zoom": {
-        "in": "Aproximar",
-        "out": "Afastar"
-    },
-    "gpx": {
-        "local_layer": "Ficheiro GPX local",
-        "drag_drop": "Arraste um ficheiro .gpx para a página"
-    },
-    "help": {
-        "title": "Ajuda"
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Acesso"
-            },
-            "address": {
-                "label": "Morada",
-                "placeholders": {
-                    "housename": "Nome de casa",
-                    "number": "123",
-                    "street": "Rua",
-                    "city": "Cidade"
-                }
-            },
-            "aeroway": {
-                "label": "Tipo"
-            },
-            "amenity": {
-                "label": "Tipo"
-            },
-            "atm": {
-                "label": "MB"
-            },
-            "bicycle_parking": {
-                "label": "Tipo"
-            },
-            "building": {
-                "label": "Edifício"
-            },
-            "building_area": {
-                "label": "Edifício"
-            },
-            "building_yes": {
-                "label": "Edifício"
-            },
-            "capacity": {
-                "label": "Capacidade"
-            },
-            "construction": {
-                "label": "Tipo"
-            },
-            "crossing": {
-                "label": "Tipo"
-            },
-            "cuisine": {
-                "label": "Cozinha"
-            },
-            "denomination": {
-                "label": "Denominação"
-            },
-            "denotation": {
-                "label": "Denotação"
-            },
-            "elevation": {
-                "label": "Elevação"
-            },
-            "emergency": {
-                "label": "Emergência"
-            },
-            "entrance": {
-                "label": "Tipo"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Tarifa"
-            },
-            "highway": {
-                "label": "Tipo"
-            },
-            "historic": {
-                "label": "Tipo"
-            },
-            "internet_access": {
-                "label": "Acesso à Internet",
-                "options": {
-                    "wlan": "Wifi"
-                }
-            },
-            "maxspeed": {
-                "label": "Limite de Velocidade"
-            },
-            "natural": {
-                "label": "Natural"
-            },
-            "network": {
-                "label": "Rede"
-            },
-            "note": {
-                "label": "Nota"
-            },
-            "office": {
-                "label": "Tipo"
-            },
-            "oneway": {
-                "label": "Sentido Único"
-            },
-            "opening_hours": {
-                "label": "Horas"
-            },
-            "operator": {
-                "label": "Operador"
-            },
-            "phone": {
-                "label": "Telefone"
-            },
-            "place": {
-                "label": "Tipo"
-            },
-            "railway": {
-                "label": "Tipo"
-            },
-            "religion": {
-                "label": "Religião",
-                "options": {
-                    "christian": "Cristão",
-                    "muslim": "Muçulmano",
-                    "buddhist": "Budista",
-                    "jewish": "Judeu"
-                }
-            },
-            "shelter": {
-                "label": "Abrigo"
-            },
-            "shop": {
-                "label": "Tipo"
-            },
-            "source": {
-                "label": "Fonte"
-            },
-            "sport": {
-                "label": "Desporto"
-            },
-            "surface": {
-                "label": "Superfície"
-            },
-            "tourism": {
-                "label": "Tipo"
-            },
-            "water": {
-                "label": "Tipo"
-            },
-            "waterway": {
-                "label": "Tipo"
-            },
-            "website": {
-                "label": "Website"
-            },
-            "wetland": {
-                "label": "Tipo"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Tipo"
-            }
-        },
-        "presets": {
-            "aeroway/aerodrome": {
-                "name": "Aeroporto"
-            },
-            "amenity": {
-                "name": "Amenidade"
-            },
-            "amenity/bank": {
-                "name": "Banco"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Banco"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Parque de Bicicletas"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Aluguer de Bicicletas"
-            },
-            "amenity/cafe": {
-                "name": "Café"
-            },
-            "amenity/cinema": {
-                "name": "Cinema"
-            },
-            "amenity/fire_station": {
-                "name": "Quartel de Bombeiros"
-            },
-            "amenity/grave_yard": {
-                "name": "Cemitério"
-            },
-            "amenity/hospital": {
-                "name": "Hospital"
-            },
-            "amenity/library": {
-                "name": "Biblioteca"
-            },
-            "amenity/parking": {
-                "name": "Estacionamento"
-            },
-            "amenity/pharmacy": {
-                "name": "Farmácia"
-            },
-            "amenity/place_of_worship": {
-                "name": "Local de Oração"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Igreja"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Sinagoga"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Mesquita"
-            },
-            "amenity/police": {
-                "name": "Polícia"
-            },
-            "amenity/post_box": {
-                "name": "Caixa de Correio"
-            },
-            "amenity/post_office": {
-                "name": "Estação de Correios"
-            },
-            "amenity/pub": {
-                "name": "Bar"
-            },
-            "amenity/restaurant": {
-                "name": "Restaurante"
-            },
-            "amenity/school": {
-                "name": "Escola"
-            },
-            "amenity/telephone": {
-                "name": "Telefone"
-            },
-            "amenity/toilets": {
-                "name": "Casas de Banho"
-            },
-            "amenity/townhall": {
-                "name": "Câmara Municipal"
-            },
-            "amenity/university": {
-                "name": "Universidade"
-            },
-            "building": {
-                "name": "Edifício"
-            },
-            "entrance": {
-                "name": "Entrada"
-            },
-            "highway": {
-                "name": "Autoestrada"
-            },
-            "highway/bus_stop": {
-                "name": "Paragem de Autocarro"
-            },
-            "highway/crossing": {
-                "name": "Passadeira"
-            },
-            "highway/cycleway": {
-                "name": "Ciclovia"
-            },
-            "highway/primary": {
-                "name": "Estrada Principal"
-            },
-            "highway/residential": {
-                "name": "Estrada Residencial"
-            },
-            "highway/secondary": {
-                "name": "Estrada Secundária"
-            },
-            "highway/service": {
-                "name": "Estrada de Serviço"
-            },
-            "highway/steps": {
-                "name": "Passos"
-            },
-            "highway/track": {
-                "name": "Pista"
-            },
-            "landuse/cemetery": {
-                "name": "Cemitério"
-            },
-            "landuse/commercial": {
-                "name": "Comercial"
-            },
-            "landuse/construction": {
-                "name": "Construção"
-            },
-            "landuse/farm": {
-                "name": "Quinta"
-            },
-            "landuse/farmyard": {
-                "name": "Quintal"
-            },
-            "landuse/forest": {
-                "name": "Floresta"
-            },
-            "landuse/grass": {
-                "name": "Relva"
-            },
-            "landuse/industrial": {
-                "name": "Industrial"
-            },
-            "leisure/golf_course": {
-                "name": "Campo de Golf"
-            },
-            "leisure/park": {
-                "name": "Parque"
-            },
-            "leisure/pitch": {
-                "name": "Campo de Desporto"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Campo de Ténis"
-            },
-            "man_made/water_tower": {
-                "name": "Torre de Água"
-            },
-            "natural": {
-                "name": "Natural"
-            },
-            "natural/bay": {
-                "name": "Baía"
-            },
-            "natural/beach": {
-                "name": "Praia"
-            },
-            "natural/cliff": {
-                "name": "Penhasco"
-            },
-            "natural/coastline": {
-                "name": "Linha Costeira"
-            },
-            "natural/water": {
-                "name": "Água"
-            },
-            "natural/water/lake": {
-                "name": "Lago"
-            },
-            "place/island": {
-                "name": "Ilha"
-            },
-            "place/locality": {
-                "name": "Localidade"
-            },
-            "place/village": {
-                "name": "Aldeia"
-            },
-            "railway/subway": {
-                "name": "Metro"
-            },
-            "railway/subway_entrance": {
-                "name": "Entrada de Metro"
-            },
-            "shop": {
-                "name": "Loja"
-            },
-            "shop/butcher": {
-                "name": "Talho"
-            },
-            "shop/supermarket": {
-                "name": "Supermercado"
-            },
-            "tourism": {
-                "name": "Turismo"
-            },
-            "tourism/camp_site": {
-                "name": "Parque de Campismo"
-            },
-            "tourism/hotel": {
-                "name": "Hotal"
-            },
-            "tourism/museum": {
-                "name": "Musei"
-            },
-            "waterway/canal": {
-                "name": "Canal"
-            },
-            "waterway/river": {
-                "name": "Rio"
-            }
+
+        context.map()
+            .on('drawn.info', redraw);
+
+        redraw();
+
+        var keybinding = d3.keybinding('info')
+            .on(key, toggle);
+
+        d3.select(document)
+            .call(keybinding);
+    }
+
+    return info;
+};
+iD.ui.Inspector = function(context) {
+    var presetList = iD.ui.PresetList(context),
+        entityEditor = iD.ui.EntityEditor(context),
+        state = 'select',
+        entityID,
+        newFeature = false;
+
+    function inspector(selection) {
+        presetList
+            .entityID(entityID)
+            .autofocus(newFeature)
+            .on('choose', setPreset);
+
+        entityEditor
+            .state(state)
+            .entityID(entityID)
+            .on('choose', showList);
+
+        var $wrap = selection.selectAll('.panewrap')
+            .data([0]);
+
+        var $enter = $wrap.enter().append('div')
+            .attr('class', 'panewrap');
+
+        $enter.append('div')
+            .attr('class', 'preset-list-pane pane');
+
+        $enter.append('div')
+            .attr('class', 'entity-editor-pane pane');
+
+        var $presetPane = $wrap.select('.preset-list-pane');
+        var $editorPane = $wrap.select('.entity-editor-pane');
+
+        var graph = context.graph(),
+            entity = context.entity(entityID),
+            showEditor = state === 'hover' ||
+                entity.isUsed(graph) ||
+                entity.isHighwayIntersection(graph);
+
+        if (showEditor) {
+            $wrap.style('right', '0%');
+            $editorPane.call(entityEditor);
+        } else {
+            $wrap.style('right', '-100%');
+            $presetPane.call(presetList);
+        }
+
+        var $footer = selection.selectAll('.footer')
+            .data([0]);
+
+        $footer.enter().append('div')
+            .attr('class', 'footer');
+
+        selection.select('.footer')
+            .call(iD.ui.ViewOnOSM(context)
+                .entityID(entityID));
+
+        function showList(preset) {
+            $wrap.transition()
+                .styleTween('right', function() { return d3.interpolate('0%', '-100%'); });
+
+            $presetPane.call(presetList
+                .preset(preset)
+                .autofocus(true));
+        }
+
+        function setPreset(preset) {
+            $wrap.transition()
+                .styleTween('right', function() { return d3.interpolate('-100%', '0%'); });
+
+            $editorPane.call(entityEditor
+                .preset(preset));
         }
     }
+
+    inspector.state = function(_) {
+        if (!arguments.length) return state;
+        state = _;
+        entityEditor.state(state);
+        return inspector;
+    };
+
+    inspector.entityID = function(_) {
+        if (!arguments.length) return entityID;
+        entityID = _;
+        return inspector;
+    };
+
+    inspector.newFeature = function(_) {
+        if (!arguments.length) return newFeature;
+        newFeature = _;
+        return inspector;
+    };
+
+    return inspector;
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.intro = function(context) {
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    var step;
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+    function intro(selection) {
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.ru = {
-    "modes": {
-        "add_area": {
-            "title": "Контур",
-            "description": "Добавить парки, здания, озёра или иные объекты на карту.",
-            "tail": "Щёлкните на карту, чтобы начать рисование области — например, парка, озера или здания."
-        },
-        "add_line": {
-            "title": "Линия",
-            "description": "Линиями можно обозначить дороги, тропинки, заборы или, к примеру, ручьи.",
-            "tail": "Щёлкните на карту, чтобы начать рисование дороги, тропинки или ручья."
-        },
-        "add_point": {
-            "title": "Точка",
-            "description": "Точки — это рестораны, памятники, почтовые ящики.",
-            "tail": "Щёлкните на карту, чтобы поставить точку."
-        },
-        "browse": {
-            "title": "Просмотр",
-            "description": "Двигать и масштабировать карту."
-        },
-        "draw_area": {
-            "tail": "Кликните, чтобы добавить точки в ваш контур. Кликните на начальную точку, чтобы завершить контур."
+        context.enter(iD.modes.Browse(context));
+
+        // Save current map state
+        var history = context.history().toJSON(),
+            hash = window.location.hash,
+            center = context.map().center(),
+            zoom = context.map().zoom(),
+            background = context.background().baseLayerSource(),
+            opacity = d3.select('.background-layer').style('opacity'),
+            loadedTiles = context.connection().loadedTiles(),
+            baseEntities = context.history().graph().base().entities,
+            introGraph;
+
+        // Load semi-real data used in intro
+        context.connection().toggle(false).flush();
+        context.history().reset();
+
+        introGraph = JSON.parse(iD.introGraph);
+        for (var key in introGraph) {
+            introGraph[key] = iD.Entity(introGraph[key]);
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Добавлена точка.",
-                "vertex": "В линию добавлена точка."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Начато рисование линии.",
-                "area": "Начато рисование области."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Продлена линия.",
-                "area": "Дополнен контур."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Рисование отменено."
-        },
-        "change_tags": {
-            "annotation": "Изменены теги."
-        },
-        "circularize": {
-            "title": "Округлить",
-            "description": {
-                "line": "Превратить линию в окружность.",
-                "area": "Превратить контур в окружность."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Линия превращена в окружность.",
-                "area": "Контур превращён в окружность."
-            },
-            "not_closed": "Объект нельзя превратить в окружность: он незамкнут."
-        },
-        "orthogonalize": {
-            "title": "Ортогонализировать",
-            "description": "Выпрямить все углы.",
-            "key": "Q",
-            "annotation": {
-                "line": "Выпрямлены углы в линии.",
-                "area": "Выпрямлены углы контура."
-            },
-            "not_closed": "Объект нельзя превратить в квадрат: он незамкнут."
-        },
-        "delete": {
-            "title": "Удалить",
-            "description": "Убрать объект с карты.",
-            "annotation": {
-                "point": "Удалена точка.",
-                "vertex": "Удалёна точка из линии.",
-                "line": "Удалена линия.",
-                "area": "Удалён контур.",
-                "relation": "Удалено отношение.",
-                "multiple": "Удалены {n} объектов."
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Линия присоединена к точке.",
-                "vertex": "Одна линия присоединена к другой.",
-                "line": "Линия соединена с другой линией.",
-                "area": "Линия присоединена к контуру."
-            }
-        },
-        "disconnect": {
-            "title": "Разъединить",
-            "description": "Разъединить эти линии.",
-            "key": "D",
-            "annotation": "Разъединены линии.",
-            "not_connected": "Нет линий или контуров для разъединения."
-        },
-        "merge": {
-            "title": "Объединить",
-            "description": "Объединить две линии.",
-            "key": "C",
-            "annotation": "Объединены {n} линий.",
-            "not_eligible": "Эти объекты нельзя склеить.",
-            "not_adjacent": "Эти линии не склеить, потому что они не соединены."
-        },
-        "move": {
-            "title": "Сместить",
-            "description": "Сместить объект в другое место.",
-            "key": "M",
-            "annotation": {
-                "point": "Смещена точка.",
-                "vertex": "Смещена точка линии.",
-                "line": "Смещена линия.",
-                "area": "Смещён контур.",
-                "multiple": "Передвинуты несколько объектов."
-            },
-            "incomplete_relation": "Этот объект нельзя двигать, потому что он загружен не целиком."
-        },
-        "rotate": {
-            "title": "Повернуть",
-            "description": "Повернуть объект относительно центра.",
-            "key": "R",
-            "annotation": {
-                "line": "Повернута линия.",
-                "area": "Повёрнут контур."
+        context.history().merge(d3.values(iD.Graph().load(introGraph).entities));
+        context.background().bing();
+
+        // Block saving
+        var savebutton = d3.select('#bar button.save'),
+            save = savebutton.on('click');
+        savebutton.on('click', null);
+        context.inIntro(true);
+
+        d3.select('.background-layer').style('opacity', 1);
+
+        var curtain = d3.curtain();
+        selection.call(curtain);
+
+        function reveal(box, text, options) {
+            options = options || {};
+            if (text) curtain.reveal(box, text, options.tooltipClass, options.duration);
+            else curtain.reveal(box, '', '', options.duration);
+        }
+
+        var steps = ['navigation', 'point', 'area', 'line', 'startEditing'].map(function(step, i) {
+            var s = iD.ui.intro[step](context, reveal)
+                .on('done', function() {
+                    entered.filter(function(d) {
+                        return d.title === s.title;
+                    }).classed('finished', true);
+                    enter(steps[i + 1]);
+                });
+            return s;
+        });
+
+        steps[steps.length - 1].on('startEditing', function() {
+            curtain.remove();
+            navwrap.remove();
+            d3.select('.background-layer').style('opacity', opacity);
+            context.connection().toggle(true).flush().loadedTiles(loadedTiles);
+            context.history().reset().merge(d3.values(baseEntities));
+            context.background().baseLayerSource(background);
+            if (history) context.history().fromJSON(history, false);
+            context.map().centerZoom(center, zoom);
+            window.location.replace(hash);
+            context.inIntro(false);
+            d3.select('#bar button.save').on('click', save);
+        });
+
+        var navwrap = selection.append('div').attr('class', 'intro-nav-wrap fillD');
+
+        var buttonwrap = navwrap.append('div')
+            .attr('class', 'joined')
+            .selectAll('button.step');
+
+        var entered = buttonwrap
+            .data(steps)
+            .enter()
+            .append('button')
+            .attr('class', 'step')
+            .on('click', enter);
+
+        entered
+            .call(iD.svg.Icon('#icon-apply', 'pre-text'));
+
+        entered
+            .append('label')
+            .text(function(d) { return t(d.title); });
+
+        enter(steps[0]);
+
+        function enter (newStep) {
+            if (step) { step.exit(); }
+
+            context.enter(iD.modes.Browse(context));
+
+            step = newStep;
+            step.enter();
+
+            entered.classed('active', function(d) {
+                return d.title === step.title;
+            });
+        }
+
+    }
+    return intro;
+};
+
+iD.ui.intro.pointBox = function(point, context) {
+    var rect = context.surfaceRect();
+    point = context.projection(point);
+    return {
+        left: point[0] + rect.left - 30,
+        top: point[1] + rect.top - 50,
+        width: 60,
+        height: 70
+    };
+};
+
+iD.ui.intro.pad = function(box, padding, context) {
+    if (box instanceof Array) {
+        var rect = context.surfaceRect();
+        box = context.projection(box);
+        box = {
+            left: box[0] + rect.left,
+            top: box[1] + rect.top
+        };
+    }
+    return {
+        left: box.left - padding,
+        top: box.top - padding,
+        width: (box.width || 0) + 2 * padding,
+        height: (box.width || 0) + 2 * padding
+    };
+};
+iD.ui.Lasso = function(context) {
+
+    var box, group,
+        a = [0, 0],
+        b = [0, 0];
+
+    function lasso(selection) {
+
+        context.container().classed('lasso', true);
+
+        group = selection.append('g')
+            .attr('class', 'lasso hide');
+
+        box = group.append('rect')
+            .attr('class', 'lasso-box');
+
+        group.call(iD.ui.Toggle(true));
+
+    }
+
+    // top-left
+    function topLeft(d) {
+        return 'translate(' + Math.min(d[0][0], d[1][0]) + ',' + Math.min(d[0][1], d[1][1]) + ')';
+    }
+
+    function width(d) { return Math.abs(d[0][0] - d[1][0]); }
+    function height(d) { return Math.abs(d[0][1] - d[1][1]); }
+
+    function draw() {
+        if (box) {
+            box.data([[a, b]])
+                .attr('transform', topLeft)
+                .attr('width', width)
+                .attr('height', height);
+        }
+    }
+
+    lasso.a = function(_) {
+        if (!arguments.length) return a;
+        a = _;
+        draw();
+        return lasso;
+    };
+
+    lasso.b = function(_) {
+        if (!arguments.length) return b;
+        b = _;
+        draw();
+        return lasso;
+    };
+
+    lasso.close = function() {
+        if (group) {
+            group.call(iD.ui.Toggle(false, function() {
+                d3.select(this).remove();
+            }));
+        }
+        context.container().classed('lasso', false);
+    };
+
+    return lasso;
+};
+iD.ui.Loading = function(context) {
+    var message = '',
+        blocking = false,
+        modal;
+
+    var loading = function(selection) {
+        modal = iD.ui.modal(selection, blocking);
+
+        var loadertext = modal.select('.content')
+            .classed('loading-modal', true)
+            .append('div')
+            .attr('class', 'modal-section fillL');
+
+        loadertext.append('img')
+            .attr('class', 'loader')
+            .attr('src', context.imagePath('loader-white.gif'));
+
+        loadertext.append('h3')
+            .text(message);
+
+        modal.select('button.close')
+            .attr('class', 'hide');
+
+        return loading;
+    };
+
+    loading.message = function(_) {
+        if (!arguments.length) return message;
+        message = _;
+        return loading;
+    };
+
+    loading.blocking = function(_) {
+        if (!arguments.length) return blocking;
+        blocking = _;
+        return loading;
+    };
+
+    loading.close = function() {
+        modal.remove();
+    };
+
+    return loading;
+};
+iD.ui.MapData = function(context) {
+    var key = 'F',
+        features = context.features().keys(),
+        fills = ['wireframe', 'partial', 'full'],
+        fillDefault = context.storage('area-fill') || 'partial',
+        fillSelected = fillDefault;
+
+    function map_data(selection) {
+
+        function showsFeature(d) {
+            return context.features().enabled(d);
+        }
+
+        function autoHiddenFeature(d) {
+            return context.features().autoHidden(d);
+        }
+
+        function clickFeature(d) {
+            context.features().toggle(d);
+            update();
+        }
+
+        function showsFill(d) {
+            return fillSelected === d;
+        }
+
+        function setFill(d) {
+            _.each(fills, function(opt) {
+                context.surface().classed('fill-' + opt, Boolean(opt === d));
+            });
+
+            fillSelected = d;
+            if (d !== 'wireframe') {
+                fillDefault = d;
+                context.storage('area-fill', d);
             }
-        },
-        "reverse": {
-            "title": "Развернуть",
-            "description": "Сменить направление этой линии на противоположное.",
-            "key": "V",
-            "annotation": "Линия развёрнута."
-        },
-        "split": {
-            "title": "Разрезать",
-            "description": {
-                "line": "Разделить линию в этой точке.",
-                "area": "Разбить этот контур надвое.",
-                "multiple": "Разделить линейные/контурные границы в этой точке. "
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Разрезана линия.",
-                "area": "Разрезан контур.",
-                "multiple": "Разрезаны {n} линий/контуров."
-            },
-            "not_eligible": "Линии нельзя резать на концах.",
-            "multiple_ways": "Слишком много линий для разрезания."
+            update();
         }
-    },
-    "nothing_to_undo": "Отменять нечего.",
-    "nothing_to_redo": "Повторять нечего.",
-    "just_edited": "Вы только что отредактировали карту OpenStreetMap!",
-    "browser_notice": "Этот редактор работает в браузерах Firefox, Chrome, Safari, Opera и Internet Explorer версии 9 и выше. Пожалуйста, обновите свой браузер или воспользуйтесь редактором Potlatch 2.",
-    "view_on_osm": "Посмотреть на OSM",
-    "zoom_in_edit": "приблизьте для редактирования",
-    "logout": "выйти",
-    "loading_auth": "Подключаюсь к OpenStreetMap...",
-    "report_a_bug": "сообщить об ошибке",
-    "commit": {
-        "title": "Сохранить изменения",
-        "description_placeholder": "Краткое описание ваших правок",
-        "message_label": "Описание изменений",
-        "upload_explanation": "Изменения, сделанные вами под именем {user}, появятся на всех картах, основанных на данных OpenStreetMap.",
-        "save": "Сохранить",
-        "cancel": "Отменить",
-        "warnings": "Предупреждения",
-        "modified": "Изменено",
-        "deleted": "Удалено",
-        "created": "Создано"
-    },
-    "contributors": {
-        "list": "Здесь карту редактировали {users}",
-        "truncated_list": "Здесь карту редактировали {users} и ещё {count} человек"
-    },
-    "geocoder": {
-        "title": "Найти место",
-        "placeholder": "найти место",
-        "no_results": "Не могу найти место с названием «{name}»"
-    },
-    "geolocate": {
-        "title": "К моим координатам"
-    },
-    "inspector": {
-        "no_documentation_combination": "Для этой комбинации ключа и значения нет описания",
-        "no_documentation_key": "Для этого ключа описания нет",
-        "show_more": "Ещё",
-        "new_tag": "Новый тег",
-        "view_on_osm": "Посмотреть на openstreetmap.org",
-        "editing_feature": "Правка {feature}",
-        "additional": "Дополнительные теги",
-        "choose": "Что это за объект?",
-        "results": "{n} результатов для {search}",
-        "reference": "Посмотреть на OpenStreetMap Wiki",
-        "back_tooltip": "Изменить тип объекта"
-    },
-    "background": {
-        "title": "Подложка",
-        "description": "Настройка подложки",
-        "percent_brightness": "яркость {opacity}%",
-        "fix_misalignment": "Поправить смещение",
-        "reset": "сброс"
-    },
-    "restore": {
-        "heading": "У вас есть несохранённые правки",
-        "description": "У вас обнаружились несохранённые правки с прошлого раза. Восстановить их?",
-        "restore": "Восстановить",
-        "reset": "Забыть"
-    },
-    "save": {
-        "title": "Сохранить",
-        "help": "Отправить сделанные изменения на сервер OpenStreetMap, сделав их доступными всему миру",
-        "no_changes": "Сохранять нечего.",
-        "error": "Во время сохранения произошла ошибка",
-        "uploading": "Отправляем данные на сервер OpenStreetMap.",
-        "unsaved_changes": "У вас есть несохранённые правки"
-    },
-    "splash": {
-        "welcome": "Здравствуйте! Это iD, редактор карты OpenStreetMap",
-        "text": "Вы пользуетесь неокончательной версией {version}. Подробнее на сайте {website}, об ошибках сообщайте в {github}.",
-        "walkthrough": "Запустить обучение",
-        "start": "В редактор"
-    },
-    "source_switch": {
-        "live": "основной",
-        "lose_changes": "Вы правили данные. Смена сервера карт удалит ваши изменения. Уверены, что хотите сменить сервер?",
-        "dev": "тест"
-    },
-    "tag_reference": {
-        "description": "Описание",
-        "on_wiki": "{tag} в вики OSM",
-        "used_with": "ставится на {type}"
-    },
-    "validations": {
-        "untagged_point": "Неотмеченная точка",
-        "untagged_line": "Линия без тегов",
-        "untagged_area": "Контур без тегов",
-        "many_deletions": "Вы удаляете {n} объектов. Уверены в своём решении? В результате они пропадут с карты, которую весь мир может видеть на openstreetmap.org.",
-        "tag_suggests_area": "Тег {tag} обычно ставится на замкнутые контуры, но это не контур",
-        "deprecated_tags": "Теги устарели: {tags}"
-    },
-    "zoom": {
-        "in": "Приблизить",
-        "out": "Отдалить"
-    },
-    "cannot_zoom": "Невозможно отдалиться в текущем виде.",
-    "gpx": {
-        "local_layer": "Свой файл GPX",
-        "drag_drop": "Перетащите файл .gpx на страницу"
-    },
-    "help": {
-        "title": "Справка",
-        "help": "# Справка\n\nЭто редактор [OpenStreetMap](http://www.openstreetmap.org/): бесплатной,\nсвободно редактируемой карты мира. Пользуйтесь им для добавления\nи изменения данных в вашем районе, делая общую карту с открытыми\nданными лучше для каждого.\n\nВаши правки увидит каждый пользователь карты OpenStreetMap. Для\nредактирования вам потребуется [зарегистрироваться в OpenStreetMap](https://www.openstreetmap.org/user/new).\n\n[Редактор iD](http://ideditor.com/) — открытый совместный проект\nс [исходным кодом на GitHub](https://github.com/systemed/iD).\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "Сейчас отображается подложка с данными OpenStreetMap. Вы можете управлять и перемещать карту, как на большинстве веб-картографических сервисах. **Двигайте карту!**",
-            "select": "Данные карты представлены тремя видами: точками, линиями и контурами. Вы можете выбрать любой объект нажав на него. **Кликните на точку, чтобы выбрать её.**",
-            "header": "Заголовок показывает тип объекта",
-            "pane": "Когда объект выбран открываются свойства объекта. Заголовок показывает нам тип объекта, а основная панель показывает атрибуты объекта, например, его имя или адрес. **Закройте свойства объекта нажатием на крестик в правом верхнем углу.**"
-        },
-        "points": {
-            "add": "Точки используются для того, чтобы отмечать такие объекты, как магазины, рестораны и памятники. Они помечают определенное место и описывают его. **Нажмите на кнопку Точка, чтобы добавить новую точку.**",
-            "place": "Точка создаётся путём нажатия на карту. **Отметьте точку в верхней части здания.**",
-            "search": "Существует много объектов, которые можно отметить точками. Точка, которую вы добавили — кафе. **Найдите 'Кафе' **",
-            "describe": "Вы пометили точку, как кафе. Используя свойства объекта, вы можете добавить больше информации. **Добавьте название** ",
-            "fixname": "**Поменяйте название и закройте свойства объекта.**",
-            "reselect_delete": "Все объекты на карте могут быть удалены. **Нажмите на точку, которую вы создали.**",
-            "delete": "Меню около точки позволяет совершить различные операции с ней, в том числе удаление. **Удалить точку.**  "
-        },
-        "areas": {
-            "place": "Нарисуйте контур путём размещения множества точек. Завершите контур нажатием на начальную точку. **Нарисуйте контур детской площадки.**",
-            "search": "**Поиск Детская площадка** ",
-            "describe": "**Добавьте название и закройте свойства объекта**"
-        },
-        "lines": {
-            "add": "Линейные объекты нужны для таких категорий, как автомобильные дороги, железные дороги, реки. **Нажмите на кнопку Линия, чтобы добавить новый линейный объект.**",
-            "intersect": "Кликните, чтобы добавить больше точек в линию. Вы можете двигать карту во время рисования, если это понадобится. Дороги и множество других типов линий — часть большей системы. Важно, чтобы эти линии были соединены с другими правильно для нормальной работы приложений создающим маршруты.  **Нажмите на Flower Street, чтобы создать пересечение, соединяющее две линии.**",
-            "residential": "Существует много различных типов дорог, наиболее распространенной является Residental. **Выберите тип дороги Residential**",
-            "describe": "**Именуйте дорогу и закройте свойства объекта**"
-        },
-        "startediting": {
-            "help": "Больше документации и справки доступно здесь.",
-            "save": "Не забывайте регулярно сохранять свои изменения!",
-            "start": "Рисовать карту"
+
+        function clickGpx() {
+            context.background().toggleGpxLayer();
+            update();
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Ограничения"
-            },
-            "address": {
-                "label": "Адрес",
-                "placeholders": {
-                    "housename": "Номер дома",
-                    "number": "123",
-                    "street": "Улица",
-                    "city": "Город"
-                }
-            },
-            "aeroway": {
-                "label": "Тип"
-            },
-            "amenity": {
-                "label": "Тип"
-            },
-            "atm": {
-                "label": "Банкомат"
-            },
-            "barrier": {
-                "label": "Тип"
-            },
-            "bicycle_parking": {
-                "label": "Тип"
-            },
-            "building": {
-                "label": "Здание"
-            },
-            "building_area": {
-                "label": "Здание"
-            },
-            "building_yes": {
-                "label": "Здание"
-            },
-            "capacity": {
-                "label": "Вместимость"
-            },
-            "cardinal_direction": {
-                "label": "Направление"
-            },
-            "clock_direction": {
-                "label": "Направление"
-            },
-            "collection_times": {
-                "label": "Расписание проверки"
-            },
-            "construction": {
-                "label": "Тип"
-            },
-            "country": {
-                "label": "Страна"
-            },
-            "crossing": {
-                "label": "Тип"
-            },
-            "cuisine": {
-                "label": "Кухня"
-            },
-            "denomination": {
-                "label": "Конфессия"
-            },
-            "denotation": {
-                "label": "Знак"
-            },
-            "elevation": {
-                "label": "Высота"
-            },
-            "emergency": {
-                "label": "Экстренные службы"
-            },
-            "entrance": {
-                "label": "Тип"
-            },
-            "fax": {
-                "label": "Факс"
-            },
-            "fee": {
-                "label": "Стоимость"
-            },
-            "highway": {
-                "label": "Тип"
-            },
-            "historic": {
-                "label": "Тип"
-            },
-            "internet_access": {
-                "label": "Доступ в интернет",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Проводной",
-                    "terminal": "Терминал"
+
+        function clickMapillary() {
+            context.background().toggleMapillaryLayer();
+            update();
+        }
+
+        function drawList(selection, data, type, name, change, active) {
+            var items = selection.selectAll('li')
+                .data(data);
+
+            //enter
+            var enter = items.enter()
+                .append('li')
+                .attr('class', 'layer')
+                .call(bootstrap.tooltip()
+                    .html(true)
+                    .title(function(d) {
+                        var tip = t(name + '.' + d + '.tooltip'),
+                            key = (d === 'wireframe' ? 'W' : null);
+
+                        if (name === 'feature' && autoHiddenFeature(d)) {
+                            tip += '<div>' + t('map_data.autohidden') + '</div>';
+                        }
+                        return iD.ui.tooltipHtml(tip, key);
+                    })
+                    .placement('top')
+                );
+
+            var label = enter.append('label');
+
+            label.append('input')
+                .attr('type', type)
+                .attr('name', name)
+                .on('change', change);
+
+            label.append('span')
+                .text(function(d) { return t(name + '.' + d + '.description'); });
+
+            //update
+            items
+                .classed('active', active)
+                .selectAll('input')
+                .property('checked', active)
+                .property('indeterminate', function(d) {
+                    return (name === 'feature' && autoHiddenFeature(d));
+                });
+
+            //exit
+            items.exit()
+                .remove();
+        }
+
+        function update() {
+            featureList.call(drawList, features, 'checkbox', 'feature', clickFeature, showsFeature);
+            fillList.call(drawList, fills, 'radio', 'area_fill', setFill, showsFill);
+
+            var hasGpx = context.background().hasGpxLayer(),
+                showsGpx = context.background().showsGpxLayer(),
+                showsMapillary = context.background().showsMapillaryLayer();
+
+            gpxLayerItem
+                .classed('active', showsGpx)
+                .selectAll('input')
+                .property('disabled', !hasGpx)
+                .property('checked', showsGpx);
+
+            mapillaryLayerItem
+                .classed('active', showsMapillary)
+                .selectAll('input')
+                .property('checked', showsMapillary);
+        }
+
+        function hidePanel() { setVisible(false); }
+
+        function togglePanel() {
+            if (d3.event) d3.event.preventDefault();
+            tooltip.hide(button);
+            setVisible(!button.classed('active'));
+        }
+
+        function toggleWireframe() {
+            if (d3.event) {
+                d3.event.preventDefault();
+                d3.event.stopPropagation();
+            }
+            setFill((fillSelected === 'wireframe' ? fillDefault : 'wireframe'));
+            context.map().pan([0,0]);  // trigger a redraw
+        }
+
+        function setVisible(show) {
+            if (show !== shown) {
+                button.classed('active', show);
+                shown = show;
+
+                if (show) {
+                    selection.on('mousedown.map_data-inside', function() {
+                        return d3.event.stopPropagation();
+                    });
+                    content.style('display', 'block')
+                        .style('right', '-300px')
+                        .transition()
+                        .duration(200)
+                        .style('right', '0px');
+                } else {
+                    content.style('display', 'block')
+                        .style('right', '0px')
+                        .transition()
+                        .duration(200)
+                        .style('right', '-300px')
+                        .each('end', function() {
+                            d3.select(this).style('display', 'none');
+                        });
+                    selection.on('mousedown.map_data-inside', null);
                 }
-            },
-            "landuse": {
-                "label": "Тип"
-            },
-            "layer": {
-                "label": "Слой"
-            },
-            "leisure": {
-                "label": "Тип"
-            },
-            "levels": {
-                "label": "Этажи"
-            },
-            "man_made": {
-                "label": "Тип"
-            },
-            "maxspeed": {
-                "label": "Ограничение скорости"
-            },
-            "name": {
-                "label": "Название"
-            },
-            "natural": {
-                "label": "Природа"
-            },
-            "network": {
-                "label": "Сеть"
-            },
-            "note": {
-                "label": "Заметка для картографов"
-            },
-            "office": {
-                "label": "Тип"
-            },
-            "oneway": {
-                "label": "Одностороннее движение"
-            },
-            "oneway_yes": {
-                "label": "Одностороннее движение"
-            },
-            "opening_hours": {
-                "label": "Часы работы"
-            },
-            "operator": {
-                "label": "Владелец"
-            },
-            "parking": {
-                "label": "Тип"
-            },
-            "phone": {
-                "label": "Телефон"
-            },
-            "place": {
-                "label": "Тип"
-            },
-            "power": {
-                "label": "Тип"
-            },
-            "railway": {
-                "label": "Тип"
-            },
-            "ref": {
-                "label": "Номер"
-            },
-            "religion": {
-                "label": "Религия",
-                "options": {
-                    "christian": "Христианство",
-                    "muslim": "Мусульманство",
-                    "buddhist": "Буддизм",
-                    "jewish": "Иудаизм",
-                    "hindu": "Индуизм",
-                    "shinto": "Синтоизм",
-                    "taoist": "Таоизм"
-                }
-            },
-            "service": {
-                "label": "Тип"
-            },
-            "shelter": {
-                "label": "Укрытие"
-            },
-            "shop": {
-                "label": "Тип"
-            },
-            "source": {
-                "label": "Источник"
-            },
-            "sport": {
-                "label": "Спорт"
-            },
-            "structure": {
-                "label": "Сооружение",
-                "options": {
-                    "bridge": "Мост",
-                    "tunnel": "Тоннель",
-                    "embankment": "Насыпь",
-                    "cutting": "Выемка"
-                }
-            },
-            "surface": {
-                "label": "Покрытие"
-            },
-            "tourism": {
-                "label": "Тип"
-            },
-            "tracktype": {
-                "label": "Тип"
-            },
-            "water": {
-                "label": "Тип"
-            },
-            "waterway": {
-                "label": "Тип"
-            },
-            "website": {
-                "label": "Веб-сайт"
-            },
-            "wetland": {
-                "label": "Тип"
-            },
-            "wheelchair": {
-                "label": "Доступность для инвалидных колясок"
-            },
-            "wikipedia": {
-                "label": "Википедия"
-            },
-            "wood": {
-                "label": "Тип"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Взлётная полоса"
-            },
-            "aeroway/aerodrome": {
-                "name": "Аэропорт",
-                "terms": "самолёт,аэропорт,аэродром"
-            },
-            "aeroway/helipad": {
-                "name": "Вертолётная площадка"
-            },
-            "amenity": {
-                "name": "Инфраструктура"
-            },
-            "amenity/bank": {
-                "name": "Банк"
-            },
-            "amenity/bar": {
-                "name": "Бар"
-            },
-            "amenity/bench": {
-                "name": "Скамейка"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Велопарковка"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Велопрокат"
-            },
-            "amenity/cafe": {
-                "name": "Кафе"
-            },
-            "amenity/cinema": {
-                "name": "Кинотеатр"
-            },
-            "amenity/courthouse": {
-                "name": "Суд"
-            },
-            "amenity/embassy": {
-                "name": "Посольство"
-            },
-            "amenity/fast_food": {
-                "name": "Фаст-фуд"
-            },
-            "amenity/fire_station": {
-                "name": "Пожарная часть"
-            },
-            "amenity/fuel": {
-                "name": "АЗС"
-            },
-            "amenity/grave_yard": {
-                "name": "Кладбище"
-            },
-            "amenity/hospital": {
-                "name": "Больница"
-            },
-            "amenity/library": {
-                "name": "Библиотека"
-            },
-            "amenity/marketplace": {
-                "name": "Рынок"
-            },
-            "amenity/parking": {
-                "name": "Стоянка"
-            },
-            "amenity/pharmacy": {
-                "name": "Аптека"
-            },
-            "amenity/place_of_worship": {
-                "name": "Храм"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Церковь"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Синагога"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Мечеть"
-            },
-            "amenity/police": {
-                "name": "Полиция"
-            },
-            "amenity/post_box": {
-                "name": "Почтовый ящик"
-            },
-            "amenity/post_office": {
-                "name": "Почта"
-            },
-            "amenity/pub": {
-                "name": "Паб"
-            },
-            "amenity/restaurant": {
-                "name": "Ресторан"
-            },
-            "amenity/school": {
-                "name": "Школа"
-            },
-            "amenity/swimming_pool": {
-                "name": "Бассейн"
-            },
-            "amenity/telephone": {
-                "name": "Телефон"
-            },
-            "amenity/theatre": {
-                "name": "Театр"
-            },
-            "amenity/toilets": {
-                "name": "Туалет"
-            },
-            "amenity/townhall": {
-                "name": "Муниципалитет"
-            },
-            "amenity/university": {
-                "name": "Университет"
-            },
-            "barrier": {
-                "name": "Преграда"
-            },
-            "barrier/block": {
-                "name": "Бетонный блок"
-            },
-            "barrier/bollard": {
-                "name": "Столбики"
-            },
-            "barrier/cattle_grid": {
-                "name": "Сетка для животных"
-            },
-            "barrier/city_wall": {
-                "name": "Городская стена"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Барьер для велосипедистов"
-            },
-            "barrier/ditch": {
-                "name": "Траншея"
-            },
-            "barrier/entrance": {
-                "name": "Проход"
-            },
-            "barrier/fence": {
-                "name": "Забор"
-            },
-            "barrier/gate": {
-                "name": "Ворота"
-            },
-            "barrier/hedge": {
-                "name": "Живая изгородь"
-            },
-            "barrier/kissing_gate": {
-                "name": "Преграда для животных"
-            },
-            "barrier/lift_gate": {
-                "name": "Шлагбаум"
-            },
-            "barrier/retaining_wall": {
-                "name": "Укрепляющая стена"
-            },
-            "barrier/stile": {
-                "name": "Турникет"
-            },
-            "barrier/toll_booth": {
-                "name": "Пункт оплаты проезда"
-            },
-            "barrier/wall": {
-                "name": "Стена"
-            },
-            "building": {
-                "name": "Здание"
-            },
-            "building/apartments": {
-                "name": "Многоквартирный дом"
-            },
-            "building/entrance": {
-                "name": "Вход"
-            },
-            "building/house": {
-                "name": "Дом"
-            },
-            "entrance": {
-                "name": "Вход"
-            },
-            "highway": {
-                "name": "Дорога"
-            },
-            "highway/bridleway": {
-                "name": "Конная тропа"
-            },
-            "highway/bus_stop": {
-                "name": "Автобусная остановка"
-            },
-            "highway/crossing": {
-                "name": "Пешеходный переход"
-            },
-            "highway/cycleway": {
-                "name": "Велодорожка"
-            },
-            "highway/footway": {
-                "name": "Пешеходная дорожка"
-            },
-            "highway/motorway": {
-                "name": "Автомагистраль"
-            },
-            "highway/motorway_link": {
-                "name": "Съезд с автомагистрали"
-            },
-            "highway/path": {
-                "name": "Тропа"
-            },
-            "highway/primary": {
-                "name": "Дорога регионального значения"
-            },
-            "highway/primary_link": {
-                "name": "Съезд с дороги регионального значения"
-            },
-            "highway/residential": {
-                "name": "Улица"
-            },
-            "highway/road": {
-                "name": "Дорога неизвестного класса"
-            },
-            "highway/secondary": {
-                "name": "Важная дорога"
-            },
-            "highway/secondary_link": {
-                "name": "Съезд с важной дороги"
-            },
-            "highway/service": {
-                "name": "Проезд"
-            },
-            "highway/steps": {
-                "name": "Лестница"
-            },
-            "highway/tertiary": {
-                "name": "Местная дорога"
-            },
-            "highway/tertiary_link": {
-                "name": "Съезд"
-            },
-            "highway/track": {
-                "name": "Полевая / лесная дорога"
-            },
-            "highway/traffic_signals": {
-                "name": "Светофор"
-            },
-            "highway/trunk": {
-                "name": "Дорога федерального значения"
-            },
-            "highway/trunk_link": {
-                "name": "Съезд с дороги федерального значения"
-            },
-            "highway/turning_circle": {
-                "name": "Разворот"
-            },
-            "highway/unclassified": {
-                "name": "Обычная дорога"
-            },
-            "historic": {
-                "name": "Историческое место"
-            },
-            "historic/archaeological_site": {
-                "name": "Археологические раскопки"
-            },
-            "historic/boundary_stone": {
-                "name": "Пограничный камень"
-            },
-            "historic/castle": {
-                "name": "Замок"
-            },
-            "historic/memorial": {
-                "name": "Мемориал"
-            },
-            "historic/monument": {
-                "name": "Памятник"
-            },
-            "historic/ruins": {
-                "name": "Развалины"
-            },
-            "historic/wayside_cross": {
-                "name": "Придорожный крест"
-            },
-            "historic/wayside_shrine": {
-                "name": "Придорожная часовня"
-            },
-            "landuse": {
-                "name": "Землепользование"
-            },
-            "landuse/allotments": {
-                "name": "Садовые участки"
-            },
-            "landuse/basin": {
-                "name": "Хранилище сточных вод"
-            },
-            "landuse/cemetery": {
-                "name": "Кладбище"
-            },
-            "landuse/commercial": {
-                "name": "Коммерческая застройка"
-            },
-            "landuse/construction": {
-                "name": "Стройплощадка"
-            },
-            "landuse/farm": {
-                "name": "Земельные угодья"
-            },
-            "landuse/farmyard": {
-                "name": "Ферма"
-            },
-            "landuse/forest": {
-                "name": "Лес"
-            },
-            "landuse/grass": {
-                "name": "Трава"
-            },
-            "landuse/industrial": {
-                "name": "Промышленная застройка"
-            },
-            "landuse/meadow": {
-                "name": "Луг"
-            },
-            "landuse/orchard": {
-                "name": "Кустарник"
-            },
-            "landuse/quarry": {
-                "name": "Карьер"
-            },
-            "landuse/residential": {
-                "name": "Жилой квартал"
-            },
-            "landuse/vineyard": {
-                "name": "Виноградник"
-            },
-            "leisure": {
-                "name": "Отдых"
-            },
-            "leisure/garden": {
-                "name": "Сад"
-            },
-            "leisure/golf_course": {
-                "name": "Площадка для гольфа"
-            },
-            "leisure/marina": {
-                "name": "Яхтклуб"
-            },
-            "leisure/park": {
-                "name": "Парк"
-            },
-            "leisure/pitch": {
-                "name": "Спортплощадка"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Регбийное поле"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Бейсбольная площадка"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Баскетбольная площадка"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Футбольное поле"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Теннисный корт"
-            },
-            "leisure/playground": {
-                "name": "Детская площадка"
-            },
-            "leisure/slipway": {
-                "name": "Стапель"
-            },
-            "leisure/stadium": {
-                "name": "Стадион"
-            },
-            "leisure/swimming_pool": {
-                "name": "Бассейн"
-            },
-            "man_made": {
-                "name": "Сооружения"
-            },
-            "man_made/lighthouse": {
-                "name": "Маяк"
-            },
-            "man_made/pier": {
-                "name": "Пирс"
-            },
-            "man_made/survey_point": {
-                "name": "Тригонометрический пункт"
-            },
-            "man_made/water_tower": {
-                "name": "Водонапорная башня"
-            },
-            "natural": {
-                "name": "Природа"
-            },
-            "natural/bay": {
-                "name": "Бухта"
-            },
-            "natural/beach": {
-                "name": "Пляж"
-            },
-            "natural/cliff": {
-                "name": "Скала"
-            },
-            "natural/coastline": {
-                "name": "Береговая линия",
-                "terms": "берег"
-            },
-            "natural/glacier": {
-                "name": "Ледник"
-            },
-            "natural/grassland": {
-                "name": "Травяной луг"
-            },
-            "natural/heath": {
-                "name": "Поросший луг"
-            },
-            "natural/peak": {
-                "name": "Вершина"
-            },
-            "natural/scrub": {
-                "name": "Кустарник"
-            },
-            "natural/spring": {
-                "name": "Родник"
-            },
-            "natural/tree": {
-                "name": "Дерево"
-            },
-            "natural/water": {
-                "name": "Водоём"
-            },
-            "natural/water/lake": {
-                "name": "Озеро"
-            },
-            "natural/water/pond": {
-                "name": "Пруд"
-            },
-            "natural/water/reservoir": {
-                "name": "Водохранилище"
-            },
-            "natural/wetland": {
-                "name": "Болото"
-            },
-            "natural/wood": {
-                "name": "Лес"
-            },
-            "office": {
-                "name": "Офисы"
-            },
-            "other": {
-                "name": "Другое"
-            },
-            "other_area": {
-                "name": "Другое"
-            },
-            "place": {
-                "name": "Населённый пункт"
-            },
-            "place/city": {
-                "name": "Большой город"
-            },
-            "place/hamlet": {
-                "name": "Малое село"
-            },
-            "place/island": {
-                "name": "Остров"
-            },
-            "place/locality": {
-                "name": "Местность"
-            },
-            "place/town": {
-                "name": "Город"
-            },
-            "place/village": {
-                "name": "Деревня"
-            },
-            "power": {
-                "name": "Электричество"
-            },
-            "power/generator": {
-                "name": "Электростанция"
-            },
-            "power/line": {
-                "name": "ЛЭП"
-            },
-            "power/pole": {
-                "name": "Столб ЛЭП"
-            },
-            "power/sub_station": {
-                "name": "Подстанция"
-            },
-            "power/tower": {
-                "name": "Опора ЛЭП"
-            },
-            "power/transformer": {
-                "name": "Трансформатор"
-            },
-            "railway": {
-                "name": "Железная дорога"
-            },
-            "railway/abandoned": {
-                "name": "Разобранная железная дорога"
-            },
-            "railway/disused": {
-                "name": "Заброшенная железная дорога"
-            },
-            "railway/level_crossing": {
-                "name": "Переезд"
-            },
-            "railway/monorail": {
-                "name": "Монорельс"
-            },
-            "railway/platform": {
-                "name": "Железнодорожная платформа"
-            },
-            "railway/rail": {
-                "name": "Рельсовый путь"
-            },
-            "railway/station": {
-                "name": "Железнодорожная станция"
-            },
-            "railway/subway": {
-                "name": "Метро"
-            },
-            "railway/subway_entrance": {
-                "name": "Вход в метро"
-            },
-            "railway/tram": {
-                "name": "Трамвайные пути"
-            },
-            "shop": {
-                "name": "Магазин"
-            },
-            "shop/alcohol": {
-                "name": "Винный магазин"
-            },
-            "shop/bakery": {
-                "name": "Хлебный"
-            },
-            "shop/beauty": {
-                "name": "Салон красоты"
-            },
-            "shop/beverages": {
-                "name": "Магазин напитков"
-            },
-            "shop/bicycle": {
-                "name": "Веломагазин"
-            },
-            "shop/books": {
-                "name": "Книжный"
-            },
-            "shop/boutique": {
-                "name": "Бутик"
-            },
-            "shop/butcher": {
-                "name": "Мясной"
-            },
-            "shop/car": {
-                "name": "Автодилер"
-            },
-            "shop/car_parts": {
-                "name": "Автозапчасти"
-            },
-            "shop/car_repair": {
-                "name": "Автомастерская"
-            },
-            "shop/chemist": {
-                "name": "Бытовая химия"
-            },
-            "shop/clothes": {
-                "name": "Одежда"
-            },
-            "shop/computer": {
-                "name": "Компьютерный магазин"
-            },
-            "shop/confectionery": {
-                "name": "Кондитерская"
-            },
-            "shop/convenience": {
-                "name": "Продуктовый"
-            },
-            "shop/deli": {
-                "name": "Кулинария"
-            },
-            "shop/department_store": {
-                "name": "Универсам"
-            },
-            "shop/electronics": {
-                "name": "Магазин электроники"
-            },
-            "shop/fishmonger": {
-                "name": "Рыбный магазин"
-            },
-            "shop/florist": {
-                "name": "Цветочный"
-            },
-            "shop/furniture": {
-                "name": "Мебельный"
-            },
-            "shop/garden_centre": {
-                "name": "Садовые принадлежности"
-            },
-            "shop/gift": {
-                "name": "Подарки"
-            },
-            "shop/greengrocer": {
-                "name": "Овощи, фрукты"
-            },
-            "shop/hairdresser": {
-                "name": "Парикмахерская"
-            },
-            "shop/hardware": {
-                "name": "Хозяйственный магазин"
-            },
-            "shop/hifi": {
-                "name": "Техника Hi-fi"
-            },
-            "shop/jewelry": {
-                "name": "Ювелирный"
-            },
-            "shop/kiosk": {
-                "name": "Киоск"
-            },
-            "shop/laundry": {
-                "name": "Прачечная"
-            },
-            "shop/mall": {
-                "name": "Торговый центр"
-            },
-            "shop/mobile_phone": {
-                "name": "Мобильные телефоны"
-            },
-            "shop/motorcycle": {
-                "name": "Магазин мотоциклов"
-            },
-            "shop/music": {
-                "name": "Музыкальный магазин"
-            },
-            "shop/newsagent": {
-                "name": "Газеты-журналы"
-            },
-            "shop/optician": {
-                "name": "Оптика"
-            },
-            "shop/outdoor": {
-                "name": "Товары для отдыха и туризма"
-            },
-            "shop/pet": {
-                "name": "Зоомагазин"
-            },
-            "shop/shoes": {
-                "name": "Обувной"
-            },
-            "shop/sports": {
-                "name": "Спорттовары"
-            },
-            "shop/stationery": {
-                "name": "Канцелярский магазин"
-            },
-            "shop/supermarket": {
-                "name": "Гипермаркет"
-            },
-            "shop/toys": {
-                "name": "Игрушки"
-            },
-            "shop/travel_agency": {
-                "name": "Бюро путешествий"
-            },
-            "shop/tyres": {
-                "name": "Шины, покрышки"
-            },
-            "shop/vacant": {
-                "name": "Закрытый магазин"
-            },
-            "shop/variety_store": {
-                "name": "Товары по одной цене"
-            },
-            "shop/video": {
-                "name": "Видеомагазин"
-            },
-            "tourism": {
-                "name": "Туризм"
-            },
-            "tourism/alpine_hut": {
-                "name": "Альпийский домик"
-            },
-            "tourism/artwork": {
-                "name": "Произведение искусства"
-            },
-            "tourism/attraction": {
-                "name": "Достопримечательность"
-            },
-            "tourism/camp_site": {
-                "name": "Кемпинг"
-            },
-            "tourism/caravan_site": {
-                "name": "Стоянка автодомов"
-            },
-            "tourism/chalet": {
-                "name": "Сельский домик, шале"
-            },
-            "tourism/guest_house": {
-                "name": "Гостевой дом"
-            },
-            "tourism/hostel": {
-                "name": "Хостел"
-            },
-            "tourism/hotel": {
-                "name": "Гостиница"
-            },
-            "tourism/information": {
-                "name": "Инфопункт"
-            },
-            "tourism/motel": {
-                "name": "Мотель"
-            },
-            "tourism/museum": {
-                "name": "Музей"
-            },
-            "tourism/picnic_site": {
-                "name": "Место для пикника"
-            },
-            "tourism/theme_park": {
-                "name": "Парк развлечений"
-            },
-            "tourism/viewpoint": {
-                "name": "Обзорная точка"
-            },
-            "tourism/zoo": {
-                "name": "Зоопарк"
-            },
-            "waterway": {
-                "name": "Водный путь"
-            },
-            "waterway/canal": {
-                "name": "Канал"
-            },
-            "waterway/dam": {
-                "name": "Дамба"
-            },
-            "waterway/ditch": {
-                "name": "Оросительная канава"
-            },
-            "waterway/drain": {
-                "name": "Дренажный канал"
-            },
-            "waterway/river": {
-                "name": "Река"
-            },
-            "waterway/riverbank": {
-                "name": "Поверхность реки"
-            },
-            "waterway/stream": {
-                "name": "Ручей"
-            },
-            "waterway/weir": {
-                "name": "Плотина"
             }
         }
+
+
+        var content = selection.append('div')
+                .attr('class', 'fillL map-overlay col3 content hide'),
+            tooltip = bootstrap.tooltip()
+                .placement('left')
+                .html(true)
+                .title(iD.ui.tooltipHtml(t('map_data.description'), key)),
+            button = selection.append('button')
+                .attr('tabindex', -1)
+                .on('click', togglePanel)
+                .call(iD.svg.Icon('#icon-data', 'light'))
+                .call(tooltip),
+            shown = false;
+
+        content.append('h4')
+            .text(t('map_data.title'));
+
+
+        // data layers
+        content.append('a')
+            .text(t('map_data.data_layers'))
+            .attr('href', '#')
+            .classed('hide-toggle', true)
+            .classed('expanded', true)
+            .on('click', function() {
+                var exp = d3.select(this).classed('expanded');
+                layerContainer.style('display', exp ? 'none' : 'block');
+                d3.select(this).classed('expanded', !exp);
+                d3.event.preventDefault();
+            });
+
+        var layerContainer = content.append('div')
+            .attr('class', 'filters')
+            .style('display', 'block');
+
+        // mapillary
+        var mapillaryLayerItem = layerContainer.append('ul')
+            .attr('class', 'layer-list')
+            .append('li');
+
+        var label = mapillaryLayerItem.append('label')
+            .call(bootstrap.tooltip()
+                .title(t('mapillary.tooltip'))
+                .placement('top'));
+
+        label.append('input')
+            .attr('type', 'checkbox')
+            .on('change', clickMapillary);
+
+        label.append('span')
+            .text(t('mapillary.title'));
+
+        // gpx
+        var gpxLayerItem = layerContainer.append('ul')
+            .style('display', iD.detect().filedrop ? 'block' : 'none')
+            .attr('class', 'layer-list')
+            .append('li')
+            .classed('layer-toggle-gpx', true);
+
+        gpxLayerItem.append('button')
+            .attr('class', 'layer-extent')
+            .call(bootstrap.tooltip()
+                .title(t('gpx.zoom'))
+                .placement('left'))
+            .on('click', function() {
+                d3.event.preventDefault();
+                d3.event.stopPropagation();
+                context.background().zoomToGpxLayer();
+            })
+            .call(iD.svg.Icon('#icon-search'));
+
+        gpxLayerItem.append('button')
+            .attr('class', 'layer-browse')
+            .call(bootstrap.tooltip()
+                .title(t('gpx.browse'))
+                .placement('left'))
+            .on('click', function() {
+                d3.select(document.createElement('input'))
+                    .attr('type', 'file')
+                    .on('change', function() {
+                        context.background().gpxLayerFiles(d3.event.target.files);
+                    })
+                    .node().click();
+            })
+            .call(iD.svg.Icon('#icon-geolocate'));
+
+        label = gpxLayerItem.append('label')
+            .call(bootstrap.tooltip()
+                .title(t('gpx.drag_drop'))
+                .placement('top'));
+
+        label.append('input')
+            .attr('type', 'checkbox')
+            .property('disabled', true)
+            .on('change', clickGpx);
+
+        label.append('span')
+            .text(t('gpx.local_layer'));
+
+
+        // area fills
+        content.append('a')
+            .text(t('map_data.fill_area'))
+            .attr('href', '#')
+            .classed('hide-toggle', true)
+            .classed('expanded', false)
+            .on('click', function() {
+                var exp = d3.select(this).classed('expanded');
+                fillContainer.style('display', exp ? 'none' : 'block');
+                d3.select(this).classed('expanded', !exp);
+                d3.event.preventDefault();
+            });
+
+        var fillContainer = content.append('div')
+            .attr('class', 'filters')
+            .style('display', 'none');
+
+        var fillList = fillContainer.append('ul')
+            .attr('class', 'layer-list');
+
+
+        // feature filters
+        content.append('a')
+            .text(t('map_data.map_features'))
+            .attr('href', '#')
+            .classed('hide-toggle', true)
+            .classed('expanded', false)
+            .on('click', function() {
+                var exp = d3.select(this).classed('expanded');
+                featureContainer.style('display', exp ? 'none' : 'block');
+                d3.select(this).classed('expanded', !exp);
+                d3.event.preventDefault();
+            });
+
+        var featureContainer = content.append('div')
+            .attr('class', 'filters')
+            .style('display', 'none');
+
+        var featureList = featureContainer.append('ul')
+            .attr('class', 'layer-list');
+
+
+        context.features()
+            .on('change.map_data-update', update);
+
+        setFill(fillDefault);
+
+        var keybinding = d3.keybinding('features')
+            .on(key, togglePanel)
+            .on('W', toggleWireframe)
+            .on('B', hidePanel)
+            .on('H', hidePanel);
+
+        d3.select(document)
+            .call(keybinding);
+
+        context.surface().on('mousedown.map_data-outside', hidePanel);
+        context.container().on('mousedown.map_data-outside', hidePanel);
     }
+
+    return map_data;
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.MapInMap = function(context) {
+    var key = '/';
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    function map_in_map(selection) {
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        var backgroundLayer = iD.TileLayer(),
+            overlayLayers = {},
+            dispatch = d3.dispatch('change'),
+            gpxLayer = iD.GpxLayer(context, dispatch),
+            projection = iD.geo.RawMercator(),
+            zoom = d3.behavior.zoom()
+                .scaleExtent([ztok(0.5), ztok(24)])
+                .on('zoom', zoomPan),
+            transformed = false,
+            panning = false,
+            zDiff = 6,    // by default, minimap renders at (main zoom - 6)
+            tStart, tLast, tCurr, kLast, kCurr, tiles, svg, gpx, timeoutId;
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.sk = {
-    "modes": {
-        "add_area": {
-            "title": "Plocha",
-            "description": "Pridaj do mapy parky, budovy, jazerá alebo dalšie plochy.",
-            "tail": "Kliknite na mapu a začnite kresliť plochu ako park, jazero alebo budovu."
-        },
-        "add_line": {
-            "title": "Čiara",
-            "description": "Pridaj do mapy cesty, ulice, chodníky pre chodcov, kanály alebo iné čiary.",
-            "tail": "Kliknite na mapu a začnite kresliť cestu, chodník alebo trať."
-        },
-        "add_point": {
-            "title": "Bod",
-            "description": "Pridaj do mapy reštaurácie, pamätihodnosťi, poštové schránky alebo iné body.",
-            "tail": "Kliknite na mapu a pridajte bod."
-        },
-        "browse": {
-            "title": "Prehľadať",
-            "description": "Posunúť a priblížiť mapu."
-        },
-        "draw_area": {
-            "tail": "Kliknite pre pridanie uzlov ku ploche. Pre dokončenie plochy, kliknite na prvý uzol."
-        },
-        "draw_line": {
-            "tail": "Kliknite pre pridanie ďalších uzlov ku čiare. Kliknite na iné čiary aby ste ich spojili a potom dva krát kliknite pre ukončenie čiary."
+        iD.ui.MapInMap.gpxLayer = gpxLayer;
+
+        function ztok(z) { return 256 * Math.pow(2, z); }
+        function ktoz(k) { return Math.log(k) / Math.LN2 - 8; }
+
+
+        function startMouse() {
+            context.surface().on('mouseup.map-in-map-outside', endMouse);
+            context.container().on('mouseup.map-in-map-outside', endMouse);
+
+            tStart = tLast = tCurr = projection.translate();
+            panning = true;
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Pridanie bodu.",
-                "vertex": "Pridanie bodu k čiare."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Začatie čiary.",
-                "area": "Začatie plochy."
+
+
+        function zoomPan() {
+            var e = d3.event.sourceEvent,
+                t = d3.event.translate,
+                k = d3.event.scale,
+                zMain = ktoz(context.projection.scale() * 2 * Math.PI),
+                zMini = ktoz(k);
+
+            // restrict minimap zoom to < (main zoom - 3)
+            if (zMini > zMain - 3) {
+                zMini = zMain - 3;
+                zoom.scale(kCurr).translate(tCurr);  // restore last good values
+                return;
             }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Pokračovanie čiary.",
-                "area": "Pokračovanie plochy."
+
+            tCurr = t;
+            kCurr = k;
+            zDiff = zMain - zMini;
+
+            var scale = kCurr / kLast,
+                tX = (tCurr[0] / scale - tLast[0]) * scale,
+                tY = (tCurr[1] / scale - tLast[1]) * scale;
+
+            iD.util.setTransform(tiles, tX, tY, scale);
+            iD.util.setTransform(svg, 0, 0, scale);
+            transformed = true;
+
+            queueRedraw();
+
+            e.preventDefault();
+            e.stopPropagation();
+        }
+
+
+        function endMouse() {
+            context.surface().on('mouseup.map-in-map-outside', null);
+            context.container().on('mouseup.map-in-map-outside', null);
+
+            updateProjection();
+            panning = false;
+
+            if (tCurr[0] !== tStart[0] && tCurr[1] !== tStart[1]) {
+                var dMini = selection.dimensions(),
+                    cMini = [ dMini[0] / 2, dMini[1] / 2 ];
+
+                context.map().center(projection.invert(cMini));
             }
-        },
-        "cancel_draw": {
-            "annotation": "Zrušenie kreslenia."
-        },
-        "change_tags": {
-            "annotation": "Zmenenie označenia."
-        },
-        "circularize": {
-            "title": "Usporiadaj do kruhu",
-            "description": {
-                "line": "Usporiadaj čiaru do kruhu.",
-                "area": "Usporiadaj plochu do kruhu."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Usporiadanie čiary do kruhu.",
-                "area": "Usporiadanie plochy do kruhu."
-            },
-            "not_closed": "Tento objekt nemožno usporiadať do kruhu, pretože nie je uzavretý do slučky."
-        },
-        "orthogonalize": {
-            "title": "Usporiadaj do pravého uhla.",
-            "description": "Sprav rohy pravouhlé.",
-            "key": "Q",
-            "annotation": {
-                "line": "Usporiadanie rohov čiary do pravého uhla.",
-                "area": "Usporiadanie rohov plochy do pravého uhla."
-            },
-            "not_closed": "Tento objekt nemožno usporiadať do pravého uhla, pretože nie je uzavretý do slučky."
-        },
-        "delete": {
-            "title": "Vymaž",
-            "description": "Odstráň z mapy.",
-            "annotation": {
-                "point": "Odstránenie bodu.",
-                "vertex": "Odstránenie uzla z cesty.",
-                "line": "Odstránenie čiary.",
-                "area": "Odstránenie plochy.",
-                "relation": "Odstránenie relácie.",
-                "multiple": "Odstránenie {n} objektov."
+        }
+
+
+        function updateProjection() {
+            var loc = context.map().center(),
+                dMini = selection.dimensions(),
+                cMini = [ dMini[0] / 2, dMini[1] / 2 ],
+                tMain = context.projection.translate(),
+                kMain = context.projection.scale(),
+                zMain = ktoz(kMain * 2 * Math.PI),
+                zMini = Math.max(zMain - zDiff, 0.5),
+                kMini = ztok(zMini);
+
+            projection
+                .translate(tMain)
+                .scale(kMini / (2 * Math.PI));
+
+            var s = projection(loc),
+                mouse = panning ? [ tCurr[0] - tStart[0], tCurr[1] - tStart[1] ] : [0, 0],
+                tMini = [
+                    cMini[0] - s[0] + tMain[0] + mouse[0],
+                    cMini[1] - s[1] + tMain[1] + mouse[1]
+                ];
+
+            projection
+                .translate(tMini)
+                .clipExtent([[0, 0], dMini]);
+
+            zoom
+                .center(cMini)
+                .translate(tMini)
+                .scale(kMini);
+
+            tLast = tCurr = tMini;
+            kLast = kCurr = kMini;
+
+            if (transformed) {
+                iD.util.setTransform(tiles, 0, 0);
+                iD.util.setTransform(svg, 0, 0);
+                transformed = false;
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Pripojenie cesty k bodu.",
-                "vertex": "Pripojenie cesty k inej ceste.",
-                "line": "Pripojenie cesty k čiare.",
-                "area": "Pripojenie cesty k ploche."
+        }
+
+
+        function redraw() {
+            if (hidden()) return;
+
+            updateProjection();
+
+            var dMini = selection.dimensions(),
+                zMini = ktoz(projection.scale() * 2 * Math.PI);
+
+            // setup tile container
+            tiles = selection
+                .selectAll('.map-in-map-tiles')
+                .data([0]);
+
+            tiles
+                .enter()
+                .append('div')
+                .attr('class', 'map-in-map-tiles');
+
+            // redraw background
+            backgroundLayer
+                .source(context.background().baseLayerSource())
+                .projection(projection)
+                .dimensions(dMini);
+
+            var background = tiles
+                .selectAll('.map-in-map-background')
+                .data([0]);
+
+            background.enter()
+                .append('div')
+                .attr('class', 'map-in-map-background');
+
+            background
+                .call(backgroundLayer);
+
+            // redraw overlay
+            var overlaySources = context.background().overlayLayerSources();
+            var activeOverlayLayers = [];
+            for (var i = 0; i < overlaySources.length; i++) {
+                if (overlaySources[i].validZoom(zMini)) {
+                    if (!overlayLayers[i]) overlayLayers[i] = iD.TileLayer();
+                    activeOverlayLayers.push(overlayLayers[i]
+                        .source(overlaySources[i])
+                        .projection(projection)
+                        .dimensions(dMini));
+                }
             }
-        },
-        "disconnect": {
-            "title": "Oddeľ",
-            "description": "Oddeľ od seba tieto čiary/plochy.",
-            "key": "D",
-            "annotation": "Oddelenie čiar/plôch.",
-            "not_connected": "Nie je dostatočný počet čiar/plôch na oddelenie."
-        },
-        "merge": {
-            "title": "Zlúč",
-            "description": "Zlúč tieto čiary.",
-            "key": "C",
-            "annotation": "Zlúčenie {n} čiar.",
-            "not_eligible": "Tieto objekty nemôžu byť zlúčené.",
-            "not_adjacent": "Tieto čiary nemožno zlúčiť, pretože nie sú prepojené."
-        },
-        "move": {
-            "title": "Presuň",
-            "description": "Presuň na iné miesto.",
-            "key": "M",
-            "annotation": {
-                "point": "Presunutie bodu.",
-                "vertex": "Presunutie uzlu cesty.",
-                "line": "Presunutie čiary.",
-                "area": "Presunutie plochy.",
-                "multiple": "Presunutie viacerých objektov."
-            },
-            "incomplete_relation": "Tento objekt nemožno presunúť, pretože nebol úplne stiahnutý."
-        },
-        "rotate": {
-            "title": "Otoč",
-            "description": "Otoč objekt okolo jeho stredového bodu.",
-            "key": "R",
-            "annotation": {
-                "line": "Otočenie čiary.",
-                "area": "Otočenie plochy."
+
+            var overlay = tiles
+                .selectAll('.map-in-map-overlay')
+                .data([0]);
+
+            overlay.enter()
+                .append('div')
+                .attr('class', 'map-in-map-overlay');
+
+            var overlays = overlay
+                .selectAll('div')
+                .data(activeOverlayLayers, function(d) { return d.source().name(); });
+
+            overlays.enter().append('div');
+            overlays.each(function(layer) {
+                d3.select(this).call(layer);
+            });
+
+            overlays.exit()
+                .remove();
+
+            // redraw gpx overlay
+            gpxLayer
+                .projection(projection);
+
+            gpx = tiles
+                .selectAll('.map-in-map-gpx')
+                .data([0]);
+
+            gpx.enter()
+                .append('div')
+                .attr('class', 'map-in-map-gpx');
+
+            gpx.call(gpxLayer);
+            gpx.dimensions(dMini);
+
+            // redraw bounding box
+            if (!panning) {
+                var getPath = d3.geo.path().projection(projection),
+                    bbox = { type: 'Polygon', coordinates: [context.map().extent().polygon()] };
+
+                svg = selection.selectAll('.map-in-map-svg')
+                    .data([0]);
+
+                svg.enter()
+                    .append('svg')
+                    .attr('class', 'map-in-map-svg');
+
+                var path = svg.selectAll('.map-in-map-bbox')
+                    .data([bbox]);
+
+                path.enter()
+                    .append('path')
+                    .attr('class', 'map-in-map-bbox');
+
+                path
+                    .attr('d', getPath)
+                    .classed('thick', function(d) { return getPath.area(d) < 30; });
             }
-        },
-        "reverse": {
-            "title": "Obráť",
-            "description": "Obráť smer čiary na opačnú stranu.",
-            "key": "V",
-            "annotation": "Obrátenie čiary."
-        },
-        "split": {
-            "title": "Rozdeľ",
-            "description": {
-                "line": "Rozdeľ čiaru v tomto uzle na dve.",
-                "area": "Rozdeľ ohraničenie tejto plochy na dve.",
-                "multiple": "Rozdeľ čiary/hranice plôch v tomto uzle na dve."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Rozdeľ čiaru.",
-                "area": "Rozdeľ ohraničenie plochy.",
-                "multiple": "Rozdelenie {n} čiar/hraníc plôch. "
-            },
-            "not_eligible": "Čiary nemôžu byť rozdelené na ich začiatku alebo konci.",
-            "multiple_ways": "Príliš veľa čiar na rozdelenie."
         }
-    },
-    "nothing_to_undo": "Nič na vrátenie.",
-    "nothing_to_redo": "Nič na zopakovanie.",
-    "just_edited": "Práve ste upravili OpenStreetMap!",
-    "browser_notice": "Tento editor je podporovaný v prehliadačoch Firefox, Chrome, Safari, Opera, a Internet Explorer 9 a vyšší. Prosím aktualizujte svoj prehliadač alebo použite  Potlatch 2 na editovanie mapy.",
-    "view_on_osm": "Zobraz na OSM",
-    "zoom_in_edit": "Priblíž pre editovanie mapy",
-    "logout": "odhlásiť",
-    "loading_auth": "Pripájam na OpenStreetMap...",
-    "report_a_bug": "nahlásiť chybu",
-    "commit": {
-        "title": "Ulož zmeny",
-        "description_placeholder": "Stručný popis tvojho prispievania",
-        "message_label": "Pripojiť správu",
-        "upload_explanation": "Zmeny, ktoré nahráš ako {user}, budú viditeľné na všetkých mapách, ktoré používajú údaje z OpenStreetMap.",
-        "save": "Ulož",
-        "cancel": "Zruš",
-        "warnings": "Varovania",
-        "modified": "Upravené",
-        "deleted": "Odstránené",
-        "created": "Vytvorené"
-    },
-    "contributors": {
-        "list": "S prispením {users}",
-        "truncated_list": "S prispením {users} a {count} dalších "
-    },
-    "geocoder": {
-        "title": "Nájdi miesto",
-        "placeholder": "Nájdi miesto",
-        "no_results": "Nebolo možné nájsť miesto s menom \"{name}\""
-    },
-    "geolocate": {
-        "title": "Ukáž moju polohu"
-    },
-    "inspector": {
-        "no_documentation_combination": "Pre túto kombináciu označenia nie je dostupná dokumentácia",
-        "no_documentation_key": "Pre tento kľúč nie je dostupná dokumentácia",
-        "show_more": "Ukáž viac",
-        "new_tag": "Nové označenie",
-        "view_on_osm": "Zobraz na openstreetmap.org",
-        "editing_feature": "Upravovanie {feature}",
-        "additional": "Dodatočné označenia",
-        "choose": "Zvoľ typ vlastnosti",
-        "results": "{n} výsledkov pre {search}",
-        "reference": "Zobraz na OpenStreetMap Wiki",
-        "back_tooltip": "Zmeň typ vlastnosti",
-        "remove": "Odstráň"
-    },
-    "background": {
-        "title": "Pozadie",
-        "description": "Nastavenia pozadia",
-        "percent_brightness": "{opacity}% jas",
-        "fix_misalignment": "Oprav zarovnanie",
-        "reset": "vynulovať"
-    },
-    "restore": {
-        "heading": "Máte neuložené zmeny",
-        "description": "Želáte si obnoviť neuložené zmeny z predchádzajúcej relácie?",
-        "restore": "Obnov",
-        "reset": "Vynuluj"
-    },
-    "save": {
-        "title": "Ulož",
-        "help": "Ulož zmeny do OpenStreetMap a sprístupni ich ďalším užívateľom.",
-        "no_changes": "Žiadne zmeny na uloženie.",
-        "error": "Počas ukladania sa vyskytla chyba",
-        "uploading": "Nahrávam zmeny do OpenStreetMap.",
-        "unsaved_changes": "Máte neuložené zmeny"
-    },
-    "splash": {
-        "welcome": "Vitajte v iD editore pre OpenStreetMap",
-        "text": "iD je prívetivý ale silný nástroj pre prispievanie do najlepšej slobodnej mapy sveta. Toto je vývojová verzia {version}. Pre viac informácií navštívte {website} a nahlasujte chyby na {github}.",
-        "walkthrough": "Začni prehliadku",
-        "start": "Upravuj"
-    },
-    "source_switch": {
-        "live": "pripojený",
-        "lose_changes": "Máte neuložené zmeny. Zmenou mapového servera ich zrušíte. Ste si istý, že chcete prepnúť na iný server?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Popis",
-        "on_wiki": "{tag} na wiki.osm.org",
-        "used_with": "použité s {type}"
-    },
-    "validations": {
-        "untagged_point": "Neoznačený bod",
-        "untagged_line": "Neoznačená čiara",
-        "untagged_area": "Neoznačená plocha",
-        "many_deletions": "Vymazávate {n} objektov. Ste si naozaj istý? Týmto ich vymažete z mapy na openstreetmap.org, ktorú používajú ďalší používatelia.",
-        "tag_suggests_area": "Označenie {tag} predpokladá, že objekt by mal byť plochou a nie čiarou.",
-        "deprecated_tags": "Neschválené označenie: {tags}"
-    },
-    "zoom": {
-        "in": "Priblížiť",
-        "out": "Oddialiť"
-    },
-    "cannot_zoom": "V tomto móde nemožno viac oddialiť.",
-    "gpx": {
-        "local_layer": "Lokálny GPX súbor",
-        "drag_drop": "Pretiahnite a pustite .gpx súbor na stránku"
-    },
-    "help": {
-        "title": "Pomoc",
-        "help": "# Pomoc\n\nToto je editor pre [OpenStreetMap](http://www.openstreetmap.org/), slobodnú a upravovateľnú mapu sveta. Môžete ho používať na pridávanie a aktualizovanie údajov vo vašom okolí a vylepšiť tak mapu sveta s otvoreným kódom a dátami pre všetkých.\n\nÚpravy, ktoré v tejto mape spravíte, budú viditeľné pre každého, kto používa OpenStreetMap. Na to, aby ste mohli upravovať, budete potrebovať [OpenStreetMap účet](https://www.openstreetmap.org/user/new).\n\n[iD editor](http://ideditor.com/) je kolaboratívny projekt so [zdrojovým kódom dostupným na GitHub](https://github.com/systemed/iD).\n",
-        "editing_saving": "# Upravovanie a ukladanie\n\nTento editor je navrhnutý na prácu primárne online, a práve teraz ho používate cez internetovú stránku.\n\n### Výber objektov\n\nPre výber objektu, ako napríklad cesta alebo bod záujmu, naň kliknite na mape. Týmto sa zvýrazní vybraný objekt, otvorí sa panel s jeho detailmi a zobrazí sa ponuka s vecami, ktoré môžete s objektom urobiť.\n\nViacero objektov je možné vybrať podržaním klávesu \"Shift\", kliknutím a potiahnutím na mape. Týmto budú vybrané všetky objekty vo vnútri nakresleného rámu, čo vám umožní robiť operácie s viacerými objektami naraz. \n\n### Ukladanie úprav\n\nKed urobíte zmeny ako úpravy ciest, budov a miest, tieto budú lokálne uložené, až pokiaľ ich neuložíte na server. Netrápte sa ak urobíte chybu. Zmeny môžete vrátit späť kliknutím na tlačítko späť a zopakovať kliknutím na tlačitko zopakovať.\n\nKeď chcete ukončit sériu úprav, kliknite na \"Uložiť\". Napríklad  ak ste dokončili časť mesta a chcete začať s inou časťou. Budete mať možnosť si prehliadnuť, čo ste urobili a editor poskytne užitočné návrhy a varovania ak niečo nie je so zmenami vporiadku.\n\nAk všetko vyzerá vporiadku, môžete vyplniť krátky komentár vysvetľujúci, čo ste urobili a kliknite znovu na \"Uložiť\" pre odoslanie zmien na [OpenStreetMap.org](http://www.openstreetmap.org/), kde sú viditeľné pre ostatných používateľov a dostupné pre vylepšenia od iných.\n\nAk nemôžete dokončiť úpravy počas jedného sedenia, môžete zatvoriť okno prehliadača, vrátiť sa späť (na rovnakom prehliadači a počítači) a editor vám ponúkne obnoviť vašu prácu.\n\n",
-        "roads": "# Cesty\n\nS týmto editorom môžete cesty vytvoriť, opraviť alebo vymazať. Cesty môžu byť rôzneho druhu: chodníky, diaľnice, lesné cestičky, cyklochodníky a iné. Akýkoľvek často prechádzaný úsek by malo byť možné zmapovať.\n\n### Výber\n\nKliknite na cestu pre jej výber. Viditeľným by sa mal stať jej obrys spolu s malou ponukou nástrojov na mape a postranným panelom, ukazujúcim dodatočné informácie o ceste.\n\n### Úprava\n\nČasto krát uvidíte cesty, ktoré nie sú zarovnané so snímkami pod nimi alebo s GPS stopu. Tieto cesty môžete upraviť tak, aby boli na správnom mieste.\n\nNajskôr kliknite na cestu, ktorú chcete zmeniť. Týmto sa zvýrazní a po jej dĺžke sa ukážu kontrolné body, ktoré môžete pretiahnuť na lepšiu pozíciu. Ak chcete pridať nový kontrolný bod pre viac detailov, dva krát kliknite na časť cesty bez uzla a jeden bude pridaný.\n\nAk sa cesta spája s inou cestou, ale nie je správne spojená na mape, môžete pretiahnuť jeden z jej kontrolných bodov na druhú cestu, aby ste ich spojili. Spojenie ciest je dôležité pre mapu a nevyhnutné pre poskytovanie navigácie na cestách.\n\nMôžete tiež kliknúť na nástroj \"Presuň\" alebo stlačiť kláves \"M\" pre posunutie celej cesty naraz a potom kliknite znovu, aby ste uložili presun.\n\n### Vymazávanie\n\nAk je cesta úplne nesprávna - vidíte, že cesta neexistuje na satelitných snímkoch a najlepšie mate potvrdené zo samotného miesta, že tam cesta nie je - môžete ju vymazať, čím ju odstránite z mapy. Pri vymazávaní objektov buďte obozretný, rovnako ako pri iných úpravách sú výsledky viditeľné ostatnými a satelitné snímky sú často neaktuálne, takže cesta môže byť jednoducho novopostavená.\n\nCestu môžete vymazať, tak že na ňu kliknete čim ju vyberiete  a potom kliknete na ikonu smetného koša alebo stlačením klávesu \"Delete\".\n\n### Vytváranie\n\nZistili ste, že niekde by mala byť cesta ale ona tam nie je? Kliknite naľavo hore na ikonu \"Čiara\" alebo stlačte kláves \"2\" pre kreslenie čiary.\n\nAby ste začali kresliť, kliknite na začiatok cesty na mape. Ak cesta odbočuje z inej existujúcej cesty, začnite kliknútím na miesto, kde sa spájajú.\n\nPotom kliknite na body pozdĺž cesty tak, aby nasledovali správny smer podľa satelitných snímkov alebo GPS. Ak cesta, ktorú kreslíte, pretína ďalšiu cestu, spojte ich kliknutím v mieste križovatky. Keď ste hotový s skreslením, dva krát kliknite alebo stlačte kláves \"Enter\" na vašej klávesnici.\n",
-        "gps": "# GPS\nGPS údaje sú najviac dôveryhodný zdroj dát pre OpenStreetMap. Tento editor podporuje stopy z lokálnych \".gpx\" súborov na vašom počítači. Tento typ GPS stôp môžete zachytiť pomocou rôznych aplikácií pre múdre telefóny ako aj GPS prístrojmi.\n\nPre informácie, ako robiť GPS prieskum, si prečítajte [Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/).\n\nAby ste použili GPX trasu pre mapovanie, pretiahnite a pustite GPX súbor na mapový editor. Ak je rozpoznaný, bude pridaný na mapu ako jasná zelená čiara. Kliknite na ponuku \"Nastavenia pozadia\" na ľavej strane pre zapnutie, vypnutie alebo priblíženie na túto novú GPX vrstvu.\n\nGPX trasa nie je priamo nahraná na OpenStreetMap. Najlepší spôsob ako ju využiť je, použiť ju ako predlohu pre zakreslovanie nových objektov.\n",
-        "imagery": "# Snímky povrchu\n\nLetecké snímky sú dôležitým zdrojom pre mapovanie. Kombinácia leteckých fotografií, satelitných snímok a voľne skompilovaných zdrojov je v editore dostupná vľavo pod ponukou \"Nastavenia pozadia\".\n\nŠtandardne je v editore predvolená satelitná vrstva z [Bing Maps](http://www.bing.com/maps/), ale ako posuniete a priblížite mapu na nové geografické miesta, dostupnými sa stanú nové zdroje. Niektoré krajiny ako Spojené Štáty, Francúzsko, a Dánsko majú pre niektoré oblasti dostupné veľmi kvalitné snímky.\n\nSnímky môžu byť niekedy posunuté voči mapovým dátam, kvôli chybe na strane poskytovateľa snímkov. Ak uvidíte veľa ciest posunutých voči pozadiu, neposúvajte ich hneď všetky, aby ste ich zarovnali s pozadím. Namiesto toho môžete upraviť snímky, aby odpovedali existujúcim dátam tým, že kliknete na \"Oprav zarovnanie\" naspodku Nastavenia pozadia.\n",
-        "addresses": "# Adresy\n\nAdresy sú niekedy tou najužitočnejšou informáciou na mape.\n\nHoci sú adresy často znázorňované ako časti ulíc, v OpenStreetMap sú zaznamenávané ako atribúty budov a miest pozdĺž ulíc.\n\nInformáciu o adrese môžete pridať ku miestam na mape ako obrysy budov ale tiež ku tým, ktoré boli zmapované ako samostatný bod. Najvhodnejším zdrojom adresných údajov je miestny prieskum alebo znalosť lokality. Tak ako pri iných objektoch, kopírovanie z komerčných zdrojov ako Google Mapy je prísne zakázané.\n",
-        "inspector": "# Používanie Inšpektora\n\nInšpektor je používateľské rozhranie na pravej strane stránky, ktoré sa objaví po vybraní objektu a umožní vám upravovať detaily.\n\n### Voľba typu objektu\n\nPo tom ako pridáte bod, čiaru alebo plochu, môžete vybrať aký je to typ objektu. Napríklad či je to diaľnica alebo obytná ulica, či supermarket alebo kaviareň. Inšpektor zobrazí tlačítka pre bežné typy objektov a nájsť ďalšie môžete zadaním toho, čo hľadáte do vyhľadávacieho políčka.\n\nKliknite na \"i\" v pravom dolnom rohu tlačítka pre výber typu objektu, ak sa chcete o ňom dozvedieť viac. Kliknite na tlačítko a vyberte typ objektu.\n\n### Používanie formulárov a upravovanie označenia\n\nPo tom ako zvolíte typ objektu, alebo keď vyberiete objekt, ktorý už má pridelený typ, inšpektor zobrazí polia s detailmi o objekte ako jeho meno a adresa.\n\nPod poliami sú ikony, na ktoré môžete kliknúť a pridať ďalšie detaily ako informácie z [Wikipédie](http://www.wikipedia.org/), prístup pre vozičkárov a ďalšie.\n\nNaspodku inšpektora kliknite na \"Dodatočné označenia\" pre pridanie  ľubovoľných označení pre daný element. [Taginfo](http://taginfo.openstreetmap.org/) je výborný zdroj pre zistenie populárnych kombinácií označení.\n\nZmeny, ktoré spravíte v inšpektorovi, sú automaticky aplikované na mapu. Vrátiť späť ich môžete kedykoľvek kliknutím na tlačítko \"Vrátiť\".\n\n### Zatvorenie inšpektora\n\nInšpektora môžete zatvoriť kliknutím na tlačitko pre zatvorenie vpravo hore, stlačením klávesu \"Escape\" alebo kliknutím na mapu.\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "Hlavná plocha s mapou zobrazuje nad pozadím údaje z OpenStreetMap. Posúvať sa môžete ťahaním za mapu a koliečkom myši rovnako ako u iných webových máp. **Potiahnite za mapu!**",
-            "select": "Objekty na mape sú reprezentované tromi spôsobmi: pomocou bodov, čiar alebo plôch. Všetky objekty môžu byť vybrané kliknutím na ne. **Kliknite na bod aby ste ho vybrali.**",
-            "header": "Hlavička nám ukazuje typ objektu.",
-            "pane": "Keď je objekt vybraný, zobrazí sa editor objektu. Hlavička nám ukazuje typ objektu a hlavný panel zobrazuje atribúty objektu, ako sú jeho meno a adresa. **Zatvorte editor objektu pomocou tlačítka vpravo hore.**"
-        },
-        "points": {
-            "add": "Body môžu byť použité na znázorňovanie objektov ako sú obchody, reštaurácie a pamätihodnosťi. Označujú špecifickú polohu a popisujú čo tam je. **Kliknite na tlačidlo Bod a pridajte nový bod.**",
-            "place": "Bod môžete umiestniť kliknutím na mapu. **Umiestnite bod na vrch budovy.**",
-            "search": "Bod môže znázorňovať veľa rôznych objektov. Bod, ktorý ste práve pridali, je Kaviareň. **Vyhľadajte \"Kaviareň\"**",
-            "choose": "**Vyberte Kaviareň z ponuky.**",
-            "describe": "Bod je teraz označený ako kaviareň. S použitím editora objektu môžeme pridať viac informácií o objekte. **Pridajte meno**",
-            "close": "Editor objektu sa zatvára pomocou zatváracieho tlačítka. **Zatvorte editor objektu**",
-            "reselect": "Často krát už body existujú, ale obsahujú chyby alebo nekompletné informácie. Existujúce body môžeme upravovať. **Zvoľte bod, ktorý ste práve vytvorili.**",
-            "fixname": "**Zmeňte meno a zavrite editor objektu.**",
-            "reselect_delete": "Všetky objekty na mape môžu byť vymazané. **Kliknite na bod, ktorý ste vytvorili.**",
-            "delete": "Ponuka okolo bodu obsahuje operácie, ktoré s ním môžete uskutočniť, vrátane vymazania. **Vymažte bod.**"
-        },
-        "areas": {
-            "add": "Plochy sú detailnejší spôsob ako znázorniť objekty. Poskytujú informácie o hraniciach objektu. Plochy môžu byť použité pre väčšinu typov objektu, pre ktoré používame body a sú často krát uprednostňované. **Kliknite na tlačítko Plocha a pridajte novú plochu.**",
-            "corner": "Plochy sú zakreslované umiestňovaním uzlov, ktoré označujú hranicu plochy. **Umiestnite počiatočný uzol na jeden z rohov ihriska.**",
-            "place": "Nakreslite plochu umiestnením ďalších uzlov. Dokončite plochu kliknutím na počiatočný uzol. **Nakreslite plochu pre ihrisko.**",
-            "search": "**Vyhľadajte Ihrisko.**",
-            "choose": "**Vyberte Ihrisko z ponuky.**",
-            "describe": "**Vyplňte meno a zatvorte editor objektu**"
-        },
-        "lines": {
-            "add": "Čiary sú používané na znázorňovanie objektov ako cesty, železnice a rieky. **Kliknite na tlačítko Čiara a pridajte novú čiaru.**",
-            "start": "**Začnite kresliť čiaru kliknutím na koniec cesty.**",
-            "intersect": "Kliknite pre pridanie ďalších uzlov ku čiare. Ak je to nutné, potiahnite za mapu pre posun. Cesty a mnoho ďalších typov čiar sú súčasťou veľkej siete. Aby aplikácie pre navigáciu pracovali správne, je dôležité, aby boli tieto čiary správne prepojené. **Kliknite na ulicu Flower Street a vytvorte tak križovatku spájajúcu obe čiary.**",
-            "finish": "Čiary sa dajú ukončiť opätovným kliknutím na posledný uzol. **Dokončite kreslenie cesty.**",
-            "road": "**Vyberte Cestu z ponuky**",
-            "residential": "Poznáme cesty rôznych typov. Najviac častý z nich je Obytná cesta. **Vyberte typ: Obytná cesta**",
-            "describe": "**Pomenujte cestu a zatvorte editor objektu.**",
-            "restart": "Cesta musí pretínať ulicu Flower Street."
-        },
-        "startediting": {
-            "help": "Ďalšia dokumentácia a táto prehliadka sú dostupné tu.",
-            "save": "Nezabudnite pravidelne ukladať vaše zmeny!",
-            "start": "Začnite mapovať!"
+
+
+        function queueRedraw() {
+            clearTimeout(timeoutId);
+            timeoutId = setTimeout(function() { redraw(); }, 300);
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Prístup",
-                "types": {
-                    "access": "Všeobecné",
-                    "foot": "Chodci",
-                    "motor_vehicle": "Motorové vozidlá",
-                    "bicycle": "Bicykle",
-                    "horse": "Kone"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Povolené",
-                        "description": "Vstup povolený zo zákona"
-                    },
-                    "no": {
-                        "title": "Zakázané",
-                        "description": "Verejnosti vstup zakázaný"
-                    },
-                    "permissive": {
-                        "title": "Povolený",
-                        "description": "Vstup povolený pokiaľ majiteľ povolenie neodvolá"
-                    },
-                    "private": {
-                        "title": "Súkromné",
-                        "description": "Vstup možný iba s povolením vlastníka na individuálnom základe"
-                    },
-                    "designated": {
-                        "title": "Vyznačené",
-                        "description": "Povolenie vstupu je riadené dopravnými značkami alebo miestnymi zákonmi"
-                    },
-                    "destination": {
-                        "title": "Prejazd zakázaný",
-                        "description": "Vstup povolený iba dosiahnutie cieľa"
-                    }
-                }
-            },
-            "address": {
-                "label": "Adresa",
-                "placeholders": {
-                    "housename": "Názov domu",
-                    "number": "123",
-                    "street": "Ulica",
-                    "city": "Mesto"
-                }
-            },
-            "admin_level": {
-                "label": "Administratívna úroveň"
-            },
-            "aeroway": {
-                "label": "Typ"
-            },
-            "amenity": {
-                "label": "Typ"
-            },
-            "atm": {
-                "label": "Bankomat"
-            },
-            "barrier": {
-                "label": "Typ"
-            },
-            "bicycle_parking": {
-                "label": "Typ"
-            },
-            "building": {
-                "label": "Budova"
-            },
-            "building_area": {
-                "label": "Budova"
-            },
-            "building_yes": {
-                "label": "Budova"
-            },
-            "capacity": {
-                "label": "Kapacita"
-            },
-            "cardinal_direction": {
-                "label": "Smer"
-            },
-            "clock_direction": {
-                "label": "Smer",
-                "options": {
-                    "clockwise": "V smere hodinových ručičiek",
-                    "anticlockwise": "Proti smeru hodinových ručičiek"
-                }
-            },
-            "collection_times": {
-                "label": "Časy výberov"
-            },
-            "construction": {
-                "label": "Typ"
-            },
-            "country": {
-                "label": "štát"
-            },
-            "crossing": {
-                "label": "Typ"
-            },
-            "cuisine": {
-                "label": "Druh jedla"
-            },
-            "denomination": {
-                "label": "Vierovyznanie"
-            },
-            "elevation": {
-                "label": "Nadmorská výška"
-            },
-            "emergency": {
-                "label": "Záchranná služba"
-            },
-            "entrance": {
-                "label": "Typ"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Poplatok"
-            },
-            "highway": {
-                "label": "Typ"
-            },
-            "historic": {
-                "label": "Typ"
-            },
-            "internet_access": {
-                "label": "Prístup k Internetu",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Káblom",
-                    "terminal": "Terminál"
-                }
-            },
-            "landuse": {
-                "label": "Typ"
-            },
-            "lanes": {
-                "label": "Pruhov"
-            },
-            "layer": {
-                "label": "Vrstva"
-            },
-            "leisure": {
-                "label": "Typ"
-            },
-            "levels": {
-                "label": "Poschodia"
-            },
-            "man_made": {
-                "label": "Typ"
-            },
-            "maxspeed": {
-                "label": "Povolená rýchlosť"
-            },
-            "name": {
-                "label": "Názov"
-            },
-            "natural": {
-                "label": "Prírodný"
-            },
-            "network": {
-                "label": "Sieť"
-            },
-            "note": {
-                "label": "Poznámka"
-            },
-            "office": {
-                "label": "Typ"
-            },
-            "oneway": {
-                "label": "Jednosmerná"
-            },
-            "oneway_yes": {
-                "label": "Jednosmerná"
-            },
-            "opening_hours": {
-                "label": "Hodiny"
-            },
-            "operator": {
-                "label": "Operátor"
-            },
-            "park_ride": {
-                "label": "Odstavné parkovisko"
-            },
-            "parking": {
-                "label": "Typ"
-            },
-            "phone": {
-                "label": "Telefón"
-            },
-            "place": {
-                "label": "Typ"
-            },
-            "power": {
-                "label": "Typ"
-            },
-            "railway": {
-                "label": "Typ"
-            },
-            "ref": {
-                "label": "Referenčné čislo"
-            },
-            "religion": {
-                "label": "Náboženstvo",
-                "options": {
-                    "christian": "Kresťanstvo",
-                    "muslim": "Islam",
-                    "buddhist": "Budhizmus",
-                    "jewish": "Židovské",
-                    "hindu": "Hinduistické",
-                    "shinto": "Šintuizmus",
-                    "taoist": "Taoizmus"
-                }
-            },
-            "service": {
-                "label": "Typ"
-            },
-            "shelter": {
-                "label": "Prístrešok"
-            },
-            "shop": {
-                "label": "Typ"
-            },
-            "source": {
-                "label": "Zroj"
-            },
-            "sport": {
-                "label": "Šport"
-            },
-            "structure": {
-                "options": {
-                    "bridge": "Most",
-                    "tunnel": "Tunel",
-                    "embankment": "Násyp"
-                }
-            },
-            "supervised": {
-                "label": "Pod dohľadom"
-            },
-            "surface": {
-                "label": "Povrch"
-            },
-            "tourism": {
-                "label": "Typ"
-            },
-            "tracktype": {
-                "label": "Typ"
-            },
-            "water": {
-                "label": "Typ"
-            },
-            "waterway": {
-                "label": "Typ"
-            },
-            "website": {
-                "label": "Internetová stránka"
-            },
-            "wetland": {
-                "label": "Typ"
-            },
-            "wheelchair": {
-                "label": "Prístup pre vozičkárov"
-            },
-            "wikipedia": {
-                "label": "Wikipédia"
-            },
-            "wood": {
-                "label": "Typ"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Letectvo"
-            },
-            "aeroway/aerodrome": {
-                "name": "Letisko"
-            },
-            "aeroway/helipad": {
-                "name": "Heliport"
-            },
-            "amenity": {
-                "name": "Občianska vybavenosť"
-            },
-            "amenity/bank": {
-                "name": "Banka"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Lavička"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Stojan pre bicykle"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Prenájom bicyklov"
-            },
-            "amenity/cafe": {
-                "name": "Kaviareň"
-            },
-            "amenity/cinema": {
-                "name": "Kino"
-            },
-            "amenity/fast_food": {
-                "name": "Rýchle občerstvenie"
-            },
-            "amenity/fire_station": {
-                "name": "Požiarna stanica"
-            },
-            "amenity/fuel": {
-                "name": "Čerpacia stanica"
-            },
-            "amenity/grave_yard": {
-                "name": "Pohrebisko"
-            },
-            "amenity/hospital": {
-                "name": "Nemocnica"
-            },
-            "amenity/library": {
-                "name": "Knižnica"
-            },
-            "amenity/parking": {
-                "name": "Parkovisko"
-            },
-            "amenity/pharmacy": {
-                "name": "Lekáreň"
-            },
-            "amenity/place_of_worship": {
-                "name": "Náboženské miesto"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Kostol"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Synagóga"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Mešita"
-            },
-            "amenity/police": {
-                "name": "Polícia"
-            },
-            "amenity/post_box": {
-                "name": "Poštová schránka"
-            },
-            "amenity/post_office": {
-                "name": "Pošta"
-            },
-            "amenity/pub": {
-                "name": "Krčma"
-            },
-            "amenity/restaurant": {
-                "name": "Reštaurácia"
-            },
-            "amenity/school": {
-                "name": "Škola"
-            },
-            "amenity/swimming_pool": {
-                "name": "Plaváreň/Kúpalisko"
-            },
-            "amenity/telephone": {
-                "name": "Telefón"
-            },
-            "amenity/toilets": {
-                "name": "Toalety"
-            },
-            "amenity/townhall": {
-                "name": "Mestský úrad/Radnica"
-            },
-            "amenity/university": {
-                "name": "Univerzita"
-            },
-            "barrier/fence": {
-                "name": "Plot"
-            },
-            "barrier/gate": {
-                "name": "Brána"
-            },
-            "barrier/hedge": {
-                "name": "Živý plot"
-            },
-            "barrier/kissing_gate": {
-                "name": "Zábrana pre dobytok"
-            },
-            "barrier/lift_gate": {
-                "name": "Rampa"
-            },
-            "barrier/retaining_wall": {
-                "name": "Rampa"
-            },
-            "barrier/toll_booth": {
-                "name": "Búdka pre výber mýta"
-            },
-            "barrier/wall": {
-                "name": "Múr"
-            },
-            "boundary/administrative": {
-                "name": "Hranica administratívneho územia"
-            },
-            "building": {
-                "name": "Budova"
-            },
-            "building/apartments": {
-                "name": "Bytovka/Obytná budova"
-            },
-            "building/house": {
-                "name": "Dom"
-            },
-            "entrance": {
-                "name": "Vstup"
-            },
-            "highway": {
-                "name": "Cesta"
-            },
-            "highway/bus_stop": {
-                "name": "Autobusová zastávka"
-            },
-            "highway/crossing": {
-                "name": "Prechod pre chodcov"
-            },
-            "highway/cycleway": {
-                "name": "Cestička pre cyklistov"
-            },
-            "highway/footway": {
-                "name": "Cestička pre chodcov"
-            },
-            "highway/mini_roundabout": {
-                "name": "Malý kruhový objazd"
-            },
-            "highway/motorway": {
-                "name": "Diaľnica"
-            },
-            "highway/motorway_junction": {
-                "name": "Diaľničná križovatka"
-            },
-            "highway/motorway_link": {
-                "name": "Diaľničný privádzač"
-            },
-            "highway/path": {
-                "name": "Cestička"
-            },
-            "highway/pedestrian": {
-                "name": "Pešia zóna"
-            },
-            "highway/primary": {
-                "name": "Cesta 1. triedy"
-            },
-            "highway/primary_link": {
-                "name": "Privádzač na cestu 1. triedy"
-            },
-            "highway/residential": {
-                "name": "Obytná ulica"
-            },
-            "highway/road": {
-                "name": "Cesta bez označenia"
-            },
-            "highway/secondary": {
-                "name": "Cesta 2. triedy"
-            },
-            "highway/secondary_link": {
-                "name": "Privádzač na cestu 2. triedy"
-            },
-            "highway/service": {
-                "name": "Servisná cesta"
-            },
-            "highway/steps": {
-                "name": "Schody"
-            },
-            "highway/tertiary": {
-                "name": "Cesta 3. triedy"
-            },
-            "highway/tertiary_link": {
-                "name": "Privádzač na cestu 3. triedy"
-            },
-            "highway/track": {
-                "name": "Lesná cesta"
-            },
-            "highway/traffic_signals": {
-                "name": "Semafory"
-            },
-            "highway/trunk": {
-                "name": "Rýchlostná cesta"
-            },
-            "highway/turning_circle": {
-                "name": "Otáčací kruh"
-            },
-            "highway/unclassified": {
-                "name": "Neklasifikovaná cesta"
-            },
-            "historic": {
-                "name": "Historické miesto"
-            },
-            "historic/castle": {
-                "name": "Hrad"
-            },
-            "historic/memorial": {
-                "name": "Pamätihodnosť"
-            },
-            "historic/monument": {
-                "name": "Pamätihodnosť"
-            },
-            "historic/ruins": {
-                "name": "Ruiny"
-            },
-            "historic/wayside_cross": {
-                "name": "Kresťanský kríž pri ceste"
-            },
-            "landuse": {
-                "name": "Využitie územia"
-            },
-            "landuse/allotments": {
-                "name": "Záhradkárska osada"
-            },
-            "landuse/basin": {
-                "name": "Zadržiavacia nádrž"
-            },
-            "landuse/cemetery": {
-                "name": "Cintorín"
-            },
-            "landuse/commercial": {
-                "name": "Obchodné"
-            },
-            "landuse/construction": {
-                "name": "Stavenisko"
-            },
-            "landuse/farm": {
-                "name": "Pestovateľská plocha"
-            },
-            "landuse/farmyard": {
-                "name": "Farma"
-            },
-            "landuse/forest": {
-                "name": "Les"
-            },
-            "landuse/grass": {
-                "name": "Tráva"
-            },
-            "landuse/industrial": {
-                "name": "Priemyselné"
-            },
-            "landuse/meadow": {
-                "name": "Lúka"
-            },
-            "landuse/orchard": {
-                "name": "Sad"
-            },
-            "landuse/quarry": {
-                "name": "Kameňolom"
-            },
-            "landuse/residential": {
-                "name": "Obytné"
-            },
-            "landuse/vineyard": {
-                "name": "Vinica"
-            },
-            "leisure": {
-                "name": "Oddych"
-            },
-            "leisure/garden": {
-                "name": "Záhrada"
-            },
-            "leisure/golf_course": {
-                "name": "Golfové ihrisko"
-            },
-            "leisure/marina": {
-                "name": "Lodenica"
-            },
-            "leisure/park": {
-                "name": "Park"
-            },
-            "leisure/pitch": {
-                "name": "Športový kurt"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Ihrisko pre americký futbal"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Basebalové ihrisko"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Basketbalové ihrisko"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Futbalové ihrisko"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Tenisový kurt"
-            },
-            "leisure/playground": {
-                "name": "Ihrisko pre deti"
-            },
-            "leisure/swimming_pool": {
-                "name": "Plaváreň/Kúpalisko"
-            },
-            "man_made": {
-                "name": "Výtvor ľudskej činnosti"
-            },
-            "man_made/lighthouse": {
-                "name": "Maják"
-            },
-            "man_made/pier": {
-                "name": "Mólo"
-            },
-            "man_made/survey_point": {
-                "name": "Triangulačný bod"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Čistička odpadových vôd"
-            },
-            "man_made/water_tower": {
-                "name": "Veža s vodojemom"
-            },
-            "natural": {
-                "name": "Prírodné"
-            },
-            "natural/bay": {
-                "name": "Zátoka"
-            },
-            "natural/beach": {
-                "name": "Pláž"
-            },
-            "natural/cliff": {
-                "name": "Útes"
-            },
-            "natural/coastline": {
-                "name": "Pobrežie"
-            },
-            "natural/glacier": {
-                "name": "Ľadovec"
-            },
-            "natural/grassland": {
-                "name": "Trávnaté porasty"
-            },
-            "natural/heath": {
-                "name": "Vresovisko"
-            },
-            "natural/peak": {
-                "name": "Vrchol"
-            },
-            "natural/scrub": {
-                "name": "kosodrevina"
-            },
-            "natural/spring": {
-                "name": "Prameň"
-            },
-            "natural/tree": {
-                "name": "Strom"
-            },
-            "natural/water": {
-                "name": "Voda"
-            },
-            "natural/water/lake": {
-                "name": "Jazero"
-            },
-            "natural/water/pond": {
-                "name": "Rybník"
-            },
-            "natural/water/reservoir": {
-                "name": "Nádrž"
-            },
-            "natural/wetland": {
-                "name": "Mokrina"
-            },
-            "natural/wood": {
-                "name": "Prales/Prirodzený les"
-            },
-            "office": {
-                "name": "Úrad"
-            },
-            "other": {
-                "name": "Iné"
-            },
-            "other_area": {
-                "name": "Iné"
-            },
-            "place": {
-                "name": "Obec"
-            },
-            "place/city": {
-                "name": "Veľkomesto"
-            },
-            "place/hamlet": {
-                "name": "Osada"
-            },
-            "place/island": {
-                "name": "Ostrov"
-            },
-            "place/isolated_dwelling": {
-                "name": "Samota"
-            },
-            "place/locality": {
-                "name": "Lokalita"
-            },
-            "place/town": {
-                "name": "Mesto"
-            },
-            "place/village": {
-                "name": "Dedina"
-            },
-            "power/generator": {
-                "name": "Elektráreň"
-            },
-            "power/sub_station": {
-                "name": "Rozvodná stanica"
-            },
-            "railway": {
-                "name": "Železnica"
-            },
-            "railway/disused": {
-                "name": "Železnica mimo prevádzky"
-            },
-            "railway/level_crossing": {
-                "name": "Železničné priecestie"
-            },
-            "railway/platform": {
-                "name": "Železničné nástupište"
-            },
-            "railway/rail": {
-                "name": "Železničná trať"
-            },
-            "railway/station": {
-                "name": "Železničná stanica"
-            },
-            "railway/subway": {
-                "name": "Metro"
-            },
-            "railway/subway_entrance": {
-                "name": "Vstup do metra"
-            },
-            "railway/tram": {
-                "name": "Električka"
-            },
-            "shop": {
-                "name": "Obchod"
-            },
-            "shop/alcohol": {
-                "name": "Obchod s alkoholom"
-            },
-            "shop/bakery": {
-                "name": "Pekáreň"
-            },
-            "shop/beverages": {
-                "name": "Obchod s nápojmi"
-            },
-            "shop/bicycle": {
-                "name": "Cykloobchod"
-            },
-            "shop/books": {
-                "name": "Knihkupectvo"
-            },
-            "shop/boutique": {
-                "name": "Butik"
-            },
-            "shop/butcher": {
-                "name": "Mäsiarstvo"
-            },
-            "shop/car": {
-                "name": "Predajňa áut"
-            },
-            "shop/car_parts": {
-                "name": "Predajňa autodielov"
-            },
-            "shop/car_repair": {
-                "name": "Autoservis"
-            },
-            "shop/chemist": {
-                "name": "Drogéria"
-            },
-            "shop/clothes": {
-                "name": "Obchod s odevami"
-            },
-            "shop/computer": {
-                "name": "Obchod s výpočtovou technikou"
-            },
-            "shop/department_store": {
-                "name": "Obchodný dom"
-            },
-            "shop/electronics": {
-                "name": "Elektro obchod"
-            },
-            "shop/fishmonger": {
-                "name": "Predaj rýb"
-            },
-            "shop/florist": {
-                "name": "Kvetinárstvo"
-            },
-            "shop/furniture": {
-                "name": "Obchod s nábytkom"
-            },
-            "shop/garden_centre": {
-                "name": "Záhradné centrum"
-            },
-            "shop/gift": {
-                "name": "Darčekový obchod"
-            },
-            "shop/greengrocer": {
-                "name": "Predajňa zeleniny"
-            },
-            "shop/hairdresser": {
-                "name": "Kaderník"
-            },
-            "shop/hardware": {
-                "name": "Železiarstvo"
-            },
-            "shop/jewelry": {
-                "name": "Zlatníctvo"
-            },
-            "shop/kiosk": {
-                "name": "Stánok"
-            },
-            "shop/mobile_phone": {
-                "name": "Obchod s mobilnými telefónmi"
-            },
-            "shop/music": {
-                "name": "Obchod s hudbou"
-            },
-            "shop/optician": {
-                "name": "Optika"
-            },
-            "shop/outdoor": {
-                "name": "Outdoorový obchod"
-            },
-            "shop/pet": {
-                "name": "Chovprodukt"
-            },
-            "shop/shoes": {
-                "name": "Obchod s obuvov"
-            },
-            "shop/sports": {
-                "name": "Obchod so športovými potrebami"
-            },
-            "shop/stationery": {
-                "name": "Papierníctvo"
-            },
-            "shop/supermarket": {
-                "name": "Supermarket"
-            },
-            "shop/toys": {
-                "name": "Hračkárstvo"
-            },
-            "shop/travel_agency": {
-                "name": "Cestovná agentúra"
-            },
-            "shop/tyres": {
-                "name": "Predajňa pneumatík"
-            },
-            "shop/video": {
-                "name": "Videopožičovňa"
-            },
-            "tourism": {
-                "name": "Turizmus"
-            },
-            "tourism/alpine_hut": {
-                "name": "Vysokohorská chata"
-            },
-            "tourism/artwork": {
-                "name": "Umelecké dielo"
-            },
-            "tourism/attraction": {
-                "name": "Turistická atrakcia"
-            },
-            "tourism/camp_site": {
-                "name": "Kemping/Táborisko"
-            },
-            "tourism/chalet": {
-                "name": "Chata"
-            },
-            "tourism/guest_house": {
-                "name": "Penzión"
-            },
-            "tourism/hostel": {
-                "name": "Hostel"
-            },
-            "tourism/hotel": {
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "name": "Informácie"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Múzeum"
-            },
-            "tourism/picnic_site": {
-                "name": "Miesto pre piknik"
-            },
-            "tourism/theme_park": {
-                "name": "Zábavný park"
-            },
-            "tourism/viewpoint": {
-                "name": "Vyhliadka"
-            },
-            "tourism/zoo": {
-                "name": "Zoo"
-            },
-            "waterway": {
-                "name": "Vodná cesta"
-            },
-            "waterway/canal": {
-                "name": "Kanál"
-            },
-            "waterway/dam": {
-                "name": "Priehrada"
-            },
-            "waterway/ditch": {
-                "name": "Priekopa"
-            },
-            "waterway/drain": {
-                "name": "Odvodňovací kanál"
-            },
-            "waterway/river": {
-                "name": "Rieka"
-            },
-            "waterway/riverbank": {
-                "name": "Breh rieky"
-            },
-            "waterway/stream": {
-                "name": "Potok"
-            },
-            "waterway/weir": {
-                "name": "Hrádza/Hať"
+
+
+        function hidden() {
+            return selection.style('display') === 'none';
+        }
+
+
+        function toggle() {
+            if (d3.event) d3.event.preventDefault();
+
+            var label = d3.select('.minimap-toggle');
+
+            if (hidden()) {
+                selection
+                    .style('display', 'block')
+                    .style('opacity', 0)
+                    .transition()
+                    .duration(200)
+                    .style('opacity', 1);
+
+                label.classed('active', true)
+                    .select('input').property('checked', true);
+
+                redraw();
+
+            } else {
+                selection
+                    .style('display', 'block')
+                    .style('opacity', 1)
+                    .transition()
+                    .duration(200)
+                    .style('opacity', 0)
+                    .each('end', function() {
+                        d3.select(this).style('display', 'none');
+                    });
+
+                label.classed('active', false)
+                    .select('input').property('checked', false);
             }
         }
+
+        iD.ui.MapInMap.toggle = toggle;
+
+        selection
+            .on('mousedown.map-in-map', startMouse)
+            .on('mouseup.map-in-map', endMouse);
+
+        selection
+            .call(zoom)
+            .on('dblclick.zoom', null);
+
+        context.map()
+            .on('drawn.map-in-map', function(drawn) {
+                if (drawn.full === true) redraw();
+            });
+
+        redraw();
+
+        var keybinding = d3.keybinding('map-in-map')
+            .on(key, toggle);
+
+        d3.select(document)
+            .call(keybinding);
     }
+
+    return map_in_map;
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.modal = function(selection, blocking) {
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    var previous = selection.select('div.modal');
+    var animate = previous.empty();
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+    previous.transition()
+        .duration(200)
+        .style('opacity', 0)
+        .remove();
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.sr = {
-    "modes": {
-        "add_area": {
-            "title": "Област",
-            "description": "Додајте паркове, зграде, језера или друге области на карту.",
-            "tail": "Кликните на карту како бисте почели да исцртавате област као што су парк, језеро или зграда."
-        },
-        "add_line": {
-            "title": "Линија",
-            "description": "Додајте ауто-путеве, улице, пешачке стазе, канале или друге линије на карту.",
-            "tail": "Кликните на карту како бисте почели да исцртавате пут, стазу или путању."
-        },
-        "add_point": {
-            "title": "Чвор",
-            "description": "Додајте ресторане, споменике, поштанске сандучиће или друге чворове на карту.",
-            "tail": "Кликните на карту како бисте додали чвор."
-        },
-        "browse": {
-            "description": "Померајте и увећајте карту."
+    var shaded = selection
+        .append('div')
+        .attr('class', 'shaded')
+        .style('opacity', 0);
+
+    shaded.close = function() {
+        shaded
+            .transition()
+            .duration(200)
+            .style('opacity',0)
+            .remove();
+        modal
+            .transition()
+            .duration(200)
+            .style('top','0px');
+        keybinding.off();
+    };
+
+    var keybinding = d3.keybinding('modal')
+        .on('⌫', shaded.close)
+        .on('⎋', shaded.close);
+
+    d3.select(document).call(keybinding);
+
+    var modal = shaded.append('div')
+        .attr('class', 'modal fillL col6');
+
+        shaded.on('click.remove-modal', function() {
+            if (d3.event.target === this && !blocking) shaded.close();
+        });
+
+    modal.append('button')
+        .attr('class', 'close')
+        .on('click', function() {
+            if (!blocking) shaded.close();
+        })
+        .append('div')
+            .attr('class','icon close');
+
+    modal.append('div')
+        .attr('class', 'content');
+
+    if (animate) {
+        shaded.transition().style('opacity', 1);
+    } else {
+        shaded.style('opacity', 1);
+    }
+
+    return shaded;
+};
+iD.ui.Modes = function(context) {
+    var modes = [
+        iD.modes.AddPoint(context),
+        iD.modes.AddLine(context),
+        iD.modes.AddArea(context)];
+
+    function editable() {
+        return context.editable() && context.mode().id !== 'save';
+    }
+
+    return function(selection) {
+        var buttons = selection.selectAll('button.add-button')
+            .data(modes);
+
+       buttons.enter().append('button')
+           .attr('tabindex', -1)
+           .attr('class', function(mode) { return mode.id + ' add-button col4'; })
+           .on('click.mode-buttons', function(mode) {
+               if (mode.id === context.mode().id) {
+                   context.enter(iD.modes.Browse(context));
+               } else {
+                   context.enter(mode);
+               }
+           })
+           .call(bootstrap.tooltip()
+               .placement('bottom')
+               .html(true)
+               .title(function(mode) {
+                   return iD.ui.tooltipHtml(mode.description, mode.key);
+               }));
+
+        context.map()
+            .on('move.modes', _.debounce(update, 500));
+
+        context
+            .on('enter.modes', update);
+
+        buttons.each(function(d) {
+            d3.select(this)
+                .call(iD.svg.Icon('#icon-' + d.button, 'pre-text'));
+        });
+
+        buttons.append('span')
+            .attr('class', 'label')
+            .text(function(mode) { return mode.title; });
+
+        context.on('enter.editor', function(entered) {
+            buttons.classed('active', function(mode) { return entered.button === mode.button; });
+            context.container()
+                .classed('mode-' + entered.id, true);
+        });
+
+        context.on('exit.editor', function(exited) {
+            context.container()
+                .classed('mode-' + exited.id, false);
+        });
+
+        var keybinding = d3.keybinding('mode-buttons');
+
+        modes.forEach(function(m) {
+            keybinding.on(m.key, function() { if (editable()) context.enter(m); });
+        });
+
+        d3.select(document)
+            .call(keybinding);
+
+        function update() {
+            buttons.property('disabled', !editable());
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Додат чвор.",
-                "vertex": "Додат чвор на путању."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Започета линија.",
-                "area": "Започета област."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Настављена линија.",
-                "area": "Настављена област."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Отказано цртање."
-        },
-        "change_tags": {
-            "annotation": "Измењене ознаке."
-        },
-        "circularize": {
-            "title": "Заокружи",
-            "key": "O",
-            "annotation": {
-                "line": "Учините линију кружном.",
-                "area": "Учините област кружном."
-            }
-        },
-        "orthogonalize": {
-            "title": "Нормализуј",
-            "description": "Исправите ове углове.",
-            "key": "Q",
-            "annotation": {
-                "line": "Исправљени углови линије.",
-                "area": "Исправљени углови области."
-            }
-        },
-        "delete": {
-            "title": "Обриши",
-            "description": "Уклони ово са карте.",
-            "annotation": {
-                "point": "Обрисан чвор.",
-                "vertex": "Обрисан чвор са путање.",
-                "line": "Обрисана линија.",
-                "area": "Обрисана област.",
-                "relation": "Обрисан однос.",
-                "multiple": "Обрисано {n} објеката."
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Повезана путања са чвором.",
-                "vertex": "Повезана путања са другом путањом.",
-                "line": "Повезана путања са линијом.",
-                "area": "Повезана путања са облашћу."
-            }
-        },
-        "disconnect": {
-            "title": "Прекини везу",
-            "key": "D"
-        },
-        "merge": {
-            "title": "Споји",
-            "description": "Спојите ове линије.",
-            "key": "C",
-            "annotation": "Спојено {n} линија."
-        },
-        "move": {
-            "title": "Премести",
-            "description": "Преместите ово на другу локацију.",
-            "key": "M"
-        },
-        "rotate": {
-            "title": "Ротирај",
-            "key": "R"
-        },
-        "reverse": {
-            "key": "V"
-        },
-        "split": {
-            "title": "Раздвој",
-            "key": "X",
-            "annotation": {
-                "line": "Раздвој линију.",
-                "area": "Раздвој границе области."
-            }
+    };
+};
+iD.ui.Notice = function(context) {
+    return function(selection) {
+        var div = selection.append('div')
+            .attr('class', 'notice');
+
+        var button = div.append('button')
+            .attr('class', 'zoom-to notice')
+            .on('click', function() { context.map().zoom(context.minEditableZoom()); });
+
+        button
+            .call(iD.svg.Icon('#icon-plus', 'pre-text'))
+            .append('span')
+            .attr('class', 'label')
+            .text(t('zoom_in_edit'));
+
+        function disableTooHigh() {
+            div.style('display', context.editable() ? 'none' : 'block');
         }
-    },
-    "view_on_osm": "Прикажи на ОСМ",
-    "loading_auth": "Повезивање са Опенстритмап...",
-    "report_a_bug": "пријави грешку",
-    "commit": {
-        "title": "Сачувај измене",
-        "save": "Сачувај",
-        "cancel": "Откажи",
-        "warnings": "Упозорења",
-        "modified": "Измењено",
-        "deleted": "Обрисано",
-        "created": "Направљено"
-    },
-    "contributors": {
-        "list": "Допринели {users}"
-    },
-    "geocoder": {
-        "title": "Пронађите место",
-        "placeholder": "Пронађите место"
-    },
-    "geolocate": {
-        "title": "Прикажи моју локацију"
-    },
-    "inspector": {
-        "show_more": "Прикажи још",
-        "new_tag": "Нова ознака",
-        "additional": "Додатне ознаке",
-        "results": "{n} резултата за {search}",
-        "remove": "Уклони"
-    },
-    "background": {
-        "title": "Позадина",
-        "description": "Подешавања позадине",
-        "percent_brightness": "{opacity}% прозирност"
-    },
-    "splash": {
-        "walkthrough": "Покрени упознавање",
-        "start": "Уређуј одмах"
-    },
-    "tag_reference": {
-        "description": "Опис"
-    },
-    "validations": {
-        "untagged_point": "Неозначени чвор"
-    },
-    "zoom": {
-        "in": "Увећај",
-        "out": "Умањи"
-    },
-    "help": {
-        "title": "Помоћ"
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Приступ"
-            },
-            "address": {
-                "label": "Адреса",
-                "placeholders": {
-                    "housename": "Назив зграде",
-                    "number": "123",
-                    "street": "Улица",
-                    "city": "Град"
-                }
-            },
-            "aeroway": {
-                "label": "Врста"
-            },
-            "amenity": {
-                "label": "Врста"
-            },
-            "atm": {
-                "label": "Банкомат"
-            },
-            "barrier": {
-                "label": "Врста"
-            },
-            "bicycle_parking": {
-                "label": "Врста"
-            },
-            "building": {
-                "label": "Зграда"
-            },
-            "building_area": {
-                "label": "Зграда"
-            },
-            "capacity": {
-                "label": "Капацитет"
-            },
-            "cardinal_direction": {
-                "label": "Правац"
-            },
-            "clock_direction": {
-                "label": "Правац",
-                "options": {
-                    "clockwise": "У смеру казаљке на сату",
-                    "anticlockwise": "Супротно смеру казаљке на сату"
-                }
-            },
-            "construction": {
-                "label": "Врста"
-            },
-            "crossing": {
-                "label": "Врста"
-            },
-            "cuisine": {
-                "label": "Кухиња"
-            },
-            "denomination": {
-                "label": "Вероисповест"
-            },
-            "elevation": {
-                "label": "Надморска висина"
-            },
-            "entrance": {
-                "label": "Врста"
-            },
-            "fax": {
-                "label": "Факс"
-            },
-            "fee": {
-                "label": "Провизија"
-            },
-            "highway": {
-                "label": "Врста"
-            },
-            "historic": {
-                "label": "Врста"
-            },
-            "internet_access": {
-                "label": "Приступ Интернету",
-                "options": {
-                    "wlan": "Бежични Интернет",
-                    "wired": "Кабловски",
-                    "terminal": "Терминал"
-                }
-            },
-            "landuse": {
-                "label": "Врста"
-            },
-            "layer": {
-                "label": "Слој"
-            },
-            "leisure": {
-                "label": "Врста"
-            },
-            "levels": {
-                "label": "Нивои"
-            },
-            "man_made": {
-                "label": "Врста"
-            },
-            "maxspeed": {
-                "label": "Ограничење брзине"
-            },
-            "network": {
-                "label": "Мрежа"
-            },
-            "note": {
-                "label": "Напомена"
-            },
-            "office": {
-                "label": "Врста"
-            },
-            "oneway": {
-                "label": "Једносмерни"
-            },
-            "opening_hours": {
-                "label": "Радно време"
-            },
-            "operator": {
-                "label": "Руковалац"
-            },
-            "parking": {
-                "label": "Врста"
-            },
-            "phone": {
-                "label": "Телефон"
-            },
-            "place": {
-                "label": "Врста"
-            },
-            "power": {
-                "label": "Врста"
-            },
-            "railway": {
-                "label": "Врста"
-            },
-            "religion": {
-                "label": "Религија",
-                "options": {
-                    "christian": "Хришћанство",
-                    "muslim": "Ислам",
-                    "buddhist": "Будизам",
-                    "jewish": "Јудаизам",
-                    "hindu": "Хинду",
-                    "shinto": "Шинто",
-                    "taoist": "Таоизам"
-                }
-            },
-            "service": {
-                "label": "Врста"
-            },
-            "shelter": {
-                "label": "Склониште"
-            },
-            "shop": {
-                "label": "Врста"
-            },
-            "source": {
-                "label": "Извор"
-            },
-            "sport": {
-                "label": "Спорт"
-            },
-            "structure": {
-                "label": "Грађевина",
-                "options": {
-                    "bridge": "Мост",
-                    "tunnel": "Тунел",
-                    "embankment": "Насип"
+
+        context.map()
+            .on('move.notice', _.debounce(disableTooHigh, 500));
+
+        disableTooHigh();
+    };
+};
+iD.ui.preset = function(context) {
+    var event = d3.dispatch('change'),
+        state,
+        fields,
+        preset,
+        tags,
+        id;
+
+    function UIField(field, entity, show) {
+        field = _.clone(field);
+
+        field.input = iD.ui.preset[field.type](field, context)
+            .on('change', event.change);
+
+        if (field.input.entity) field.input.entity(entity);
+
+        field.keys = field.keys || [field.key];
+
+        field.show = show;
+
+        field.shown = function() {
+            return field.id === 'name' || field.show || _.any(field.keys, function(key) { return !!tags[key]; });
+        };
+
+        field.modified = function() {
+            var original = context.graph().base().entities[entity.id];
+            return _.any(field.keys, function(key) {
+                return original ? tags[key] !== original.tags[key] : tags[key];
+            });
+        };
+
+        field.revert = function() {
+            var original = context.graph().base().entities[entity.id],
+                t = {};
+            field.keys.forEach(function(key) {
+                t[key] = original ? original.tags[key] : undefined;
+            });
+            return t;
+        };
+
+        field.present = function() {
+            return _.any(field.keys, function(key) {
+                return tags[key];
+            });
+        };
+
+        field.remove = function() {
+            var t = {};
+            field.keys.forEach(function(key) {
+                t[key] = undefined;
+            });
+            return t;
+        };
+
+        return field;
+    }
+
+    function fieldKey(field) {
+        return field.id;
+    }
+
+    function presets(selection) {
+        if (!fields) {
+            var entity = context.entity(id),
+                geometry = context.geometry(id);
+
+            fields = [UIField(context.presets().field('name'), entity)];
+
+            preset.fields.forEach(function(field) {
+                if (field.matchGeometry(geometry)) {
+                    fields.push(UIField(field, entity, true));
                 }
-            },
-            "surface": {
-                "label": "Површина"
-            },
-            "tourism": {
-                "label": "Врста"
-            },
-            "tracktype": {
-                "label": "Врста"
-            },
-            "water": {
-                "label": "Врста"
-            },
-            "waterway": {
-                "label": "Врста"
-            },
-            "website": {
-                "label": "Сајт"
-            },
-            "wetland": {
-                "label": "Врста"
-            },
-            "wheelchair": {
-                "label": "Прилаз за инвалидска колица"
-            },
-            "wikipedia": {
-                "label": "Википедија"
-            },
-            "wood": {
-                "label": "Врста"
+            });
+
+            if (entity.isHighwayIntersection(context.graph())) {
+                fields.push(UIField(context.presets().field('restrictions'), entity, true));
             }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Авио-пут"
-            },
-            "aeroway/aerodrome": {
-                "name": "Аеродром"
-            },
-            "aeroway/helipad": {
-                "name": "Хелиодром"
-            },
-            "amenity": {
-                "name": "Погодност"
-            },
-            "amenity/bank": {
-                "name": "Банка"
-            },
-            "amenity/bar": {
-                "name": "Бар"
-            },
-            "amenity/bench": {
-                "name": "Клупа"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Бициклистички паркинг"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Изнајмљивање бицикла"
-            },
-            "amenity/cafe": {
-                "name": "Кафе"
-            },
-            "amenity/cinema": {
-                "name": "Биоскоп"
-            },
-            "amenity/courthouse": {
-                "name": "Судница"
-            },
-            "amenity/embassy": {
-                "name": "Амбасада"
-            },
-            "amenity/fast_food": {
-                "name": "Брза храна"
-            },
-            "amenity/fire_station": {
-                "name": "Ватрогасна станица"
-            },
-            "amenity/fuel": {
-                "name": "Бензинска пумпа"
-            },
-            "amenity/grave_yard": {
-                "name": "Костурница"
-            },
-            "amenity/hospital": {
-                "name": "Болница"
-            },
-            "amenity/library": {
-                "name": "Библиотека"
-            },
-            "amenity/parking": {
-                "name": "Паркинг"
-            },
-            "amenity/pharmacy": {
-                "name": "Апотека"
-            },
-            "amenity/place_of_worship": {
-                "name": "Место богослужења"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Црква"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Синагога",
-                "terms": "јеврејска, синагога"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Џамија",
-                "terms": "муслиманска, џамија"
-            },
-            "amenity/police": {
-                "name": "Полиција"
-            },
-            "amenity/post_box": {
-                "name": "Поштанско сандуче"
-            },
-            "amenity/post_office": {
-                "name": "Пошта"
-            },
-            "amenity/pub": {
-                "name": "Паб"
-            },
-            "amenity/restaurant": {
-                "name": "Ресторан"
-            },
-            "amenity/school": {
-                "name": "Школа"
-            },
-            "amenity/swimming_pool": {
-                "name": "Базен"
-            },
-            "amenity/telephone": {
-                "name": "Телефонска говорница"
-            },
-            "amenity/theatre": {
-                "name": "Позориште"
-            },
-            "amenity/toilets": {
-                "name": "Тоалети"
-            },
-            "amenity/townhall": {
-                "name": "Градска кућа"
-            },
-            "amenity/university": {
-                "name": "Универзитет"
-            },
-            "barrier": {
-                "name": "Препрека"
-            },
-            "barrier/cattle_grid": {
-                "name": "Тор"
-            },
-            "barrier/city_wall": {
-                "name": "Зидине града"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Бициклистичка препрека"
-            },
-            "barrier/ditch": {
-                "name": "Јарак"
-            },
-            "barrier/entrance": {
-                "name": "Улаз"
-            },
-            "barrier/fence": {
-                "name": "Ограда"
-            },
-            "barrier/gate": {
-                "name": "Капија"
-            },
-            "barrier/hedge": {
-                "name": "Живица"
-            },
-            "barrier/retaining_wall": {
-                "name": "Потпорни зид"
-            },
-            "barrier/toll_booth": {
-                "name": "Наплатна рампа"
-            },
-            "barrier/wall": {
-                "name": "Зид"
-            },
-            "building": {
-                "name": "Зграда"
-            },
-            "building/house": {
-                "name": "Кућа"
-            },
-            "entrance": {
-                "name": "Улаз"
-            },
-            "highway": {
-                "name": "Ауто-пут"
-            },
-            "highway/bus_stop": {
-                "name": "Аутобуско стајалиште"
-            },
-            "highway/crossing": {
-                "name": "Прелаз",
-                "terms": "прелаз, пешачки"
-            },
-            "highway/cycleway": {
-                "name": "Бициклистичка стаза"
-            },
-            "highway/footway": {
-                "name": "Пешачка стаза"
-            },
-            "highway/mini_roundabout": {
-                "name": "Мини кружни ток"
-            },
-            "highway/motorway": {
-                "name": "Магистрални пут"
-            },
-            "highway/motorway_junction": {
-                "name": "Магистрално чвориште"
-            },
-            "highway/path": {
-                "name": "Стаза"
-            },
-            "highway/pedestrian": {
-                "name": "Пешачки"
-            },
-            "highway/steps": {
-                "name": "Степенице"
-            },
-            "historic": {
-                "name": "Историјско место"
-            },
-            "historic/archaeological_site": {
-                "name": "Археолошко налазиште"
-            },
-            "historic/boundary_stone": {
-                "name": "Гранични камен"
-            },
-            "historic/castle": {
-                "name": "Замак"
-            },
-            "historic/memorial": {
-                "name": "Спомен-комплекс"
-            },
-            "historic/monument": {
-                "name": "Споменик"
-            },
-            "historic/ruins": {
-                "name": "Рушевине"
-            },
-            "historic/wayside_cross": {
-                "name": "Крајпуташ"
-            },
-            "landuse": {
-                "name": "Намена земљишта"
-            },
-            "landuse/allotments": {
-                "name": "Парцеле"
-            },
-            "landuse/basin": {
-                "name": "Слив"
-            },
-            "landuse/cemetery": {
-                "name": "Гробље"
-            },
-            "landuse/commercial": {
-                "name": "Пословна област"
-            },
-            "landuse/construction": {
-                "name": "Област у изградњи"
-            },
-            "landuse/farm": {
-                "name": "Фарма"
-            },
-            "landuse/farmyard": {
-                "name": "Сеоско двориште"
-            },
-            "landuse/forest": {
-                "name": "Шума"
-            },
-            "landuse/grass": {
-                "name": "Трава"
-            },
-            "landuse/industrial": {
-                "name": "Индустријска област"
-            },
-            "landuse/meadow": {
-                "name": "Ливада"
-            },
-            "landuse/orchard": {
-                "name": "Воћњак"
-            },
-            "landuse/quarry": {
-                "name": "Каменолом"
-            },
-            "landuse/residential": {
-                "name": "Стамбена област"
-            },
-            "landuse/vineyard": {
-                "name": "Виноград"
-            },
-            "leisure": {
-                "name": "Рекреација"
-            },
-            "leisure/garden": {
-                "name": "Башта"
-            },
-            "leisure/golf_course": {
-                "name": "Голф терен"
-            },
-            "leisure/marina": {
-                "name": "Марина"
-            },
-            "leisure/park": {
-                "name": "Парк"
-            },
-            "leisure/pitch": {
-                "name": "Спортско игралиште"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Бејзбол терен"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Кошаркашки терен"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Фудбалски терен"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Тениски терен"
-            },
-            "leisure/playground": {
-                "name": "Игралиште"
-            },
-            "leisure/swimming_pool": {
-                "name": "Базен"
-            },
-            "man_made/lighthouse": {
-                "name": "Светионик"
-            },
-            "man_made/pier": {
-                "name": "Пристаниште"
-            },
-            "man_made/survey_point": {
-                "name": "Извиђачница"
-            },
-            "man_made/water_tower": {
-                "name": "Водо-торањ"
-            },
-            "natural/beach": {
-                "name": "Плажа"
-            },
-            "natural/cliff": {
-                "name": "Литица"
-            },
-            "natural/coastline": {
-                "name": "Обала"
-            },
-            "natural/glacier": {
-                "name": "Глечер"
-            },
-            "natural/grassland": {
-                "name": "Пашњак"
-            },
-            "natural/heath": {
-                "name": "Врес"
-            },
-            "natural/peak": {
-                "name": "Врх"
-            },
-            "natural/tree": {
-                "name": "Дрво"
-            },
-            "natural/water": {
-                "name": "Извор"
-            },
-            "natural/water/lake": {
-                "name": "Језеро"
-            },
-            "natural/water/pond": {
-                "name": "Рибњак"
-            },
-            "natural/water/reservoir": {
-                "name": "Резервоар"
-            },
-            "office": {
-                "name": "Канцеларија"
-            },
-            "place": {
-                "name": "Место"
-            },
-            "place/city": {
-                "name": "Град"
-            },
-            "place/hamlet": {
-                "name": "Засеок"
-            },
-            "place/island": {
-                "name": "Острво"
-            },
-            "place/locality": {
-                "name": "Локалитет"
-            },
-            "place/village": {
-                "name": "Село"
-            },
-            "power": {
-                "name": "Енергија"
-            },
-            "power/generator": {
-                "name": "Електрана"
-            },
-            "power/line": {
-                "name": "Енергетски вод"
-            },
-            "power/sub_station": {
-                "name": "Трафо станица"
-            },
-            "power/transformer": {
-                "name": "Трансформатор"
-            },
-            "railway": {
-                "name": "Железничка пруга"
-            },
-            "railway/level_crossing": {
-                "name": "Прелаз у нивоу"
-            },
-            "railway/platform": {
-                "name": "Железничка платформа"
-            },
-            "railway/rail": {
-                "name": "Шина"
-            },
-            "railway/subway": {
-                "name": "Подземна железница"
-            },
-            "railway/subway_entrance": {
-                "name": "Улаз у подземну железницу"
-            },
-            "railway/tram": {
-                "name": "Трамвај"
-            },
-            "shop": {
-                "name": "Продавница"
-            },
-            "shop/alcohol": {
-                "name": "Продавница алкохолних пића"
-            },
-            "shop/bakery": {
-                "name": "Пекара"
-            },
-            "shop/beauty": {
-                "name": "Салон лепоте"
-            },
-            "shop/beverages": {
-                "name": "Продавница пића"
-            },
-            "shop/bicycle": {
-                "name": "Продавница бицикла"
-            },
-            "shop/books": {
-                "name": "Књижара"
-            },
-            "shop/boutique": {
-                "name": "Бутик"
-            },
-            "shop/butcher": {
-                "name": "Месар"
-            },
-            "shop/car": {
-                "name": "Салон аутомобила"
-            },
-            "shop/car_parts": {
-                "name": "Продавница ауто делова"
-            },
-            "shop/car_repair": {
-                "name": "Ауто сервис"
-            },
-            "shop/chemist": {
-                "name": "Апотекар"
-            },
-            "shop/clothes": {
-                "name": "Продавница одеће"
-            },
-            "shop/computer": {
-                "name": "Продавница рачунара"
-            },
-            "shop/confectionery": {
-                "name": "Посластичарница"
-            },
-            "shop/convenience": {
-                "name": "Бакалница"
-            },
-            "shop/deli": {
-                "name": "Деликатеси"
-            },
-            "shop/department_store": {
-                "name": "Робна кућа"
-            },
-            "shop/doityourself": {
-                "name": "Све за кућу"
-            },
-            "shop/dry_cleaning": {
-                "name": "Хемијско чишћење"
-            },
-            "shop/electronics": {
-                "name": "Електроника"
-            },
-            "shop/fishmonger": {
-                "name": "Рибарница"
-            },
-            "shop/florist": {
-                "name": "Цвећар"
-            },
-            "shop/furniture": {
-                "name": "Продавница намештаја"
-            },
-            "shop/garden_centre": {
-                "name": "Баштенски центар"
-            },
-            "shop/gift": {
-                "name": "Продавница сувенира"
-            },
-            "shop/greengrocer": {
-                "name": "Пиљар"
-            },
-            "shop/hairdresser": {
-                "name": "Фризер"
-            },
-            "shop/hardware": {
-                "name": "Гвожђара"
-            },
-            "shop/hifi": {
-                "name": "Музичка опрема"
-            },
-            "shop/jewelry": {
-                "name": "Златар"
-            },
-            "shop/kiosk": {
-                "name": "Трафика"
-            },
-            "shop/laundry": {
-                "name": "Перионица"
-            },
-            "shop/mall": {
-                "name": "Тржни центар"
-            },
-            "shop/mobile_phone": {
-                "name": "Продавница мобилних телефона"
-            },
-            "shop/supermarket": {
-                "name": "Самопослуга"
-            },
-            "tourism/alpine_hut": {
-                "name": "Планинарски дом"
-            },
-            "tourism/artwork": {
-                "name": "Уметничко дело"
-            },
-            "tourism/attraction": {
-                "name": "Туристичка атракција"
-            },
-            "tourism/camp_site": {
-                "name": "Камповалиште"
-            },
-            "tourism/caravan_site": {
-                "name": "Камп-парк"
-            },
-            "tourism/chalet": {
-                "name": "Шале"
-            },
-            "tourism/guest_house": {
-                "name": "Гостинска кућа"
-            },
-            "tourism/hostel": {
-                "name": "Хостел"
-            },
-            "tourism/hotel": {
-                "name": "Хотел"
-            },
-            "tourism/motel": {
-                "name": "Мотел"
-            },
-            "tourism/museum": {
-                "name": "Музеј"
-            },
-            "tourism/picnic_site": {
-                "name": "Излетиште"
-            },
-            "tourism/theme_park": {
-                "name": "Тематски парк"
-            },
-            "tourism/viewpoint": {
-                "name": "Видиковац"
-            },
-            "tourism/zoo": {
-                "name": "Зоолошки врт"
-            },
-            "waterway/canal": {
-                "name": "Канал"
-            },
-            "waterway/dam": {
-                "name": "Брана"
-            },
-            "waterway/ditch": {
-                "name": "Јарак"
-            },
-            "waterway/drain": {
-                "name": "Одвод"
-            },
-            "waterway/river": {
-                "name": "Река"
-            },
-            "waterway/riverbank": {
-                "name": "Речно корито"
-            },
-            "waterway/stream": {
-                "name": "Поток"
-            },
-            "waterway/weir": {
-                "name": "Устава"
+
+            context.presets().universal().forEach(function(field) {
+                if (preset.fields.indexOf(field) < 0) {
+                    fields.push(UIField(field, entity));
+                }
+            });
+        }
+
+        var shown = fields.filter(function(field) { return field.shown(); }),
+            notShown = fields.filter(function(field) { return !field.shown(); });
+
+        var $form = selection.selectAll('.preset-form')
+            .data([0]);
+
+        $form.enter().append('div')
+            .attr('class', 'preset-form inspector-inner fillL3');
+
+        var $fields = $form.selectAll('.form-field')
+            .data(shown, fieldKey);
+
+        // Enter
+
+        var $enter = $fields.enter()
+            .append('div')
+            .attr('class', function(field) {
+                return 'form-field form-field-' + field.id;
+            });
+
+        var $label = $enter.append('label')
+            .attr('class', 'form-label')
+            .attr('for', function(field) { return 'preset-input-' + field.id; })
+            .text(function(field) { return field.label(); });
+
+        var wrap = $label.append('div')
+            .attr('class', 'form-label-button-wrap');
+
+        wrap.append('button')
+            .attr('class', 'remove-icon')
+            .call(iD.svg.Icon('#operation-delete'));
+
+        wrap.append('button')
+            .attr('class', 'modified-icon')
+            .attr('tabindex', -1)
+            .call(iD.svg.Icon('#icon-undo'));
+
+        // Update
+
+        $fields.select('.form-label-button-wrap .remove-icon')
+            .on('click', remove);
+
+        $fields.select('.modified-icon')
+            .on('click', revert);
+
+        $fields
+            .order()
+            .classed('modified', function(field) {
+                return field.modified();
+            })
+            .classed('present', function(field) {
+                return field.present();
+            })
+            .each(function(field) {
+                var reference = iD.ui.TagReference(field.reference || {key: field.key}, context);
+
+                if (state === 'hover') {
+                    reference.showing(false);
+                }
+
+                d3.select(this)
+                    .call(field.input)
+                    .call(reference.body)
+                    .select('.form-label-button-wrap')
+                    .call(reference.button);
+
+                field.input.tags(tags);
+            });
+
+        $fields.exit()
+            .remove();
+
+        notShown = notShown.map(function(field) {
+            return {
+                title: field.label(),
+                value: field.label(),
+                field: field
+            };
+        });
+
+        var $more = selection.selectAll('.more-fields')
+            .data((notShown.length > 0) ? [0] : []);
+
+        $more.enter().append('div')
+            .attr('class', 'more-fields')
+            .append('label')
+                .text(t('inspector.add_fields'));
+
+        var $input = $more.selectAll('.value')
+            .data([0]);
+
+        $input.enter().append('input')
+            .attr('class', 'value')
+            .attr('type', 'text');
+
+        $input.value('')
+            .attr('placeholder', function() {
+                var placeholder = [];
+                for (var field in notShown) {
+                    placeholder.push(notShown[field].title);
+                }
+                return placeholder.slice(0,3).join(', ') + ((placeholder.length > 3) ? '…' : '');
+            })
+            .call(d3.combobox().data(notShown)
+                .minItems(1)
+                .on('accept', show));
+
+        $more.exit()
+            .remove();
+
+        $input.exit()
+            .remove();
+
+        function show(field) {
+            field = field.field;
+            field.show = true;
+            presets(selection);
+            field.input.focus();
+        }
+
+        function revert(field) {
+            d3.event.stopPropagation();
+            d3.event.preventDefault();
+            event.change(field.revert());
+        }
+
+        function remove(field) {
+            d3.event.stopPropagation();
+            d3.event.preventDefault();
+            event.change(field.remove());
+        }
+    }
+
+    presets.preset = function(_) {
+        if (!arguments.length) return preset;
+        if (preset && preset.id === _.id) return presets;
+        preset = _;
+        fields = null;
+        return presets;
+    };
+
+    presets.state = function(_) {
+        if (!arguments.length) return state;
+        state = _;
+        return presets;
+    };
+
+    presets.tags = function(_) {
+        if (!arguments.length) return tags;
+        tags = _;
+        // Don't reset fields here.
+        return presets;
+    };
+
+    presets.entityID = function(_) {
+        if (!arguments.length) return id;
+        if (id === _) return presets;
+        id = _;
+        fields = null;
+        return presets;
+    };
+
+    return d3.rebind(presets, event, 'on');
+};
+iD.ui.PresetIcon = function() {
+    var preset, geometry;
+
+    function presetIcon(selection) {
+        selection.each(render);
+    }
+
+    function render() {
+        var selection = d3.select(this),
+            p = preset.apply(this, arguments),
+            geom = geometry.apply(this, arguments),
+            icon = p.icon || (geom === 'line' ? 'other-line' : 'marker-stroked'),
+            maki = iD.data.featureIcons.hasOwnProperty(icon + '-24');
+
+        if (icon === 'dentist') maki = true;  // workaround for dentist icon missing in `maki-sprite.json`
+
+        function tag_classes(p) {
+            var s = '';
+            for (var i in p.tags) {
+                s += ' tag-' + i;
+                if (p.tags[i] !== '*') {
+                    s += ' tag-' + i + '-' + p.tags[i];
+                }
             }
+            return s;
         }
+
+        var $fill = selection.selectAll('.preset-icon-fill')
+            .data([0]);
+
+        $fill.enter().append('div');
+
+        $fill.attr('class', function() {
+            return 'preset-icon-fill preset-icon-fill-' + geom + tag_classes(p);
+        });
+
+        var $frame = selection.selectAll('.preset-icon-frame')
+            .data([0]);
+
+        $frame.enter()
+            .append('div')
+            .call(iD.svg.Icon('#preset-icon-frame'));
+
+        $frame.attr('class', function() {
+            return 'preset-icon-frame ' + (geom === 'area' ? '' : 'hide');
+        });
+
+
+        var $icon = selection.selectAll('.preset-icon')
+            .data([0]);
+
+        $icon.enter()
+            .append('div')
+            .attr('class', 'preset-icon')
+            .call(iD.svg.Icon(''));
+
+        $icon
+            .attr('class', 'preset-icon preset-icon-' + (maki ? '32' : '60'));
+
+        $icon.selectAll('svg')
+            .attr('class', function() {
+                return 'icon ' + icon + tag_classes(p);
+            });
+
+        $icon.selectAll('use')       // workaround: maki parking-24 broken?
+            .attr('href', '#' + icon + (maki ? ( icon === 'parking' ? '-18' : '-24') : ''));
     }
+
+    presetIcon.preset = function(_) {
+        if (!arguments.length) return preset;
+        preset = d3.functor(_);
+        return presetIcon;
+    };
+
+    presetIcon.geometry = function(_) {
+        if (!arguments.length) return geometry;
+        geometry = d3.functor(_);
+        return presetIcon;
+    };
+
+    return presetIcon;
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.PresetList = function(context) {
+    var event = d3.dispatch('choose'),
+        id,
+        currentPreset,
+        autofocus = false;
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    function presetList(selection) {
+        var geometry = context.geometry(id),
+            presets = context.presets().matchGeometry(geometry);
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        selection.html('');
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.sv = {
-    "modes": {
-        "add_area": {
-            "title": "Område",
-            "description": "Lägg till parker, byggnader, sjöar, eller andra områden till kartan.",
-            "tail": "Klicka på kartan för att börja rita ett område, typ en park, sjö eller byggnad."
-        },
-        "add_line": {
-            "title": "Linje",
-            "description": "Linjer kan vara vägar, gator, stigar, kanaler etc.",
-            "tail": "Klicka på kartan för att rita en väg, stig eller vattendrag."
-        },
-        "add_point": {
-            "title": "Punkt",
-            "description": "Restauranter, minnesmärken och postkontor kan vara punkter.",
-            "tail": "Klicka på kartan för att lägga till en punkt."
-        },
-        "browse": {
-            "title": "Bläddra",
-            "description": "Panera runt och zooma kartan."
+        var messagewrap = selection.append('div')
+            .attr('class', 'header fillL cf');
+
+        var message = messagewrap.append('h3')
+            .text(t('inspector.choose'));
+
+        if (context.entity(id).isUsed(context.graph())) {
+            messagewrap.append('button')
+                .attr('class', 'preset-choose')
+                .on('click', function() { event.choose(currentPreset); })
+                .append('span')
+                .html('&#9658;');
+        } else {
+            messagewrap.append('button')
+                .attr('class', 'close')
+                .on('click', function() {
+                    context.enter(iD.modes.Browse(context));
+                })
+                .call(iD.svg.Icon('#icon-close'));
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Lagt till en punkt.",
-                "vertex": "Lagt till en nod till en linje."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Påbörjade en linje.",
-                "area": "Påbörjade ett område."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Fortsatte en linje.",
-                "area": "Fortsatt ett område."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Avbröt ritning."
-        },
-        "change_tags": {
-            "annotation": "Ändrat tagg."
-        },
-        "circularize": {
-            "title": "Cirkularisera",
-            "description": {
-                "line": "Gör denna linje rund.",
-                "area": "Gör detta område runt."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Gjorde en linje rund.",
-                "area": "Gjorde ett område runt."
-            },
-            "not_closed": "Denna kan inte göras rund då den inte är en loop."
-        },
-        "orthogonalize": {
-            "title": "Ortogonalisering",
-            "description": "Gör kvadrat-hörn.",
-            "key": "Q",
-            "annotation": {
-                "line": "Gjort hörnen på en linje fyrkantiga.",
-                "area": "Gjort hörnen på ett område fyrkantiga."
-            },
-            "not_closed": "Denna kan inte göras kvadratisk då den inte är en loop."
-        },
-        "delete": {
-            "title": "Ta bort",
-            "description": "Tag bort detta från kartan.",
-            "annotation": {
-                "point": "Tagit bort en punkt.",
-                "vertex": "Tagit bort en nod från en väg.",
-                "line": "Tagit bort en linje.",
-                "area": "Tagit bort ett område.",
-                "relation": "Tagit bort en relation.",
-                "multiple": "Tagit bort {n} objekt."
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Forbandt en vej til et punkt.",
-                "vertex": "Forbandt en vej til en anden vej.",
-                "line": "Forbandt en vej til en linje.",
-                "area": "Forbandt en vej til et område."
+
+        function keydown() {
+            // hack to let delete shortcut work when search is autofocused
+            if (search.property('value').length === 0 &&
+                (d3.event.keyCode === d3.keybinding.keyCodes['⌫'] ||
+                 d3.event.keyCode === d3.keybinding.keyCodes['⌦'])) {
+                d3.event.preventDefault();
+                d3.event.stopPropagation();
+                iD.operations.Delete([id], context)();
+            } else if (search.property('value').length === 0 &&
+                (d3.event.ctrlKey || d3.event.metaKey) &&
+                d3.event.keyCode === d3.keybinding.keyCodes.z) {
+                d3.event.preventDefault();
+                d3.event.stopPropagation();
+                context.undo();
+            } else if (!d3.event.ctrlKey && !d3.event.metaKey) {
+                d3.select(this).on('keydown', null);
             }
-        },
-        "disconnect": {
-            "title": "Bryt av",
-            "description": "Bryt av dessa vägar från varandra.",
-            "key": "D",
-            "annotation": "Bryt av linjen.",
-            "not_connected": "Det finns inte tillräckligt med linjer/områden här att koppla ifrån."
-        },
-        "merge": {
-            "title": "Sammanfoga",
-            "description": "Sammanfoga dessa linjer.",
-            "key": "C",
-            "annotation": "Sammanfogade {n} linjer.",
-            "not_adjacent": "Dessa linjer kan inte slås ihop då dem inte är ihopsatta."
-        },
-        "move": {
-            "title": "Flytta",
-            "description": "Flytta detta till ett annan ställe.",
-            "key": "M",
-            "annotation": {
-                "point": "Flyttade en punkt.",
-                "vertex": "Flyttade en nod i en väg.",
-                "line": "Flyttade en linje.",
-                "area": "Flyttade ett område.",
-                "multiple": "Flyttade flera objekt."
+        }
+
+        function keypress() {
+            // enter
+            var value = search.property('value');
+            if (d3.event.keyCode === 13 && value.length) {
+                list.selectAll('.preset-list-item:first-child').datum().choose();
             }
-        },
-        "rotate": {
-            "title": "Rotera",
-            "description": "Rotera detta objekt runt dess centerpunkt.",
-            "key": "R",
-            "annotation": {
-                "line": "Roterade en linje.",
-                "area": "Roterade ett område."
+        }
+
+        function inputevent() {
+            var value = search.property('value');
+            list.classed('filtered', value.length);
+            if (value.length) {
+                var results = presets.search(value, geometry);
+                message.text(t('inspector.results', {
+                    n: results.collection.length,
+                    search: value
+                }));
+                list.call(drawList, results);
+            } else {
+                list.call(drawList, context.presets().defaults(geometry, 36));
+                message.text(t('inspector.choose'));
             }
-        },
-        "reverse": {
-            "title": "Byt riktning",
-            "description": "Byt riktning på linjen.",
-            "key": "V",
-            "annotation": "Bytte riktning på en linje."
-        },
-        "split": {
-            "title": "Dela upp",
-            "description": {
-                "area": "Dela gränserna för detta område i två delar."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Dela en linje.",
-                "area": "Dela gränsen för ett område.",
-                "multiple": "Dela gränsen för {n} linjer/områden."
-            },
-            "not_eligible": "Linjer kan inte delas vid deras början eller slut.",
-            "multiple_ways": "Det är för många linjer här för att kunna dela dem."
         }
-    },
-    "nothing_to_undo": "Inget att ångra.",
-    "nothing_to_redo": "Inget att upprepa.",
-    "just_edited": "Du har nu redigerat OpenStreetMap!",
-    "browser_notice": "Denna redigerare funkar i Firefox, Chrome, Safari, Opera och Internet Explorer 9 och högre. Uppgradera din webbläsare eller använd Potlatch 2 för att redigera på kartan.",
-    "view_on_osm": "Visa på OSM",
-    "zoom_in_edit": "Zooma in för att fixa på kartan",
-    "logout": "logga ut",
-    "loading_auth": "Kopplar till OpenStreetMap...",
-    "report_a_bug": "rapportera ett fel",
-    "commit": {
-        "title": "Spara ändringar",
-        "description_placeholder": "Kort beskrivning av dina ändringar",
-        "message_label": "Skicka meddelande",
-        "upload_explanation": "Ändringar du uppladdar som {user} kommer att kunna ses på alla kartor som användar OpenStreetMap data.",
-        "save": "Spara",
-        "cancel": "Avbryt",
-        "warnings": "Varningar",
-        "modified": "Ändrat",
-        "deleted": "Borttaget",
-        "created": "Skapat"
-    },
-    "contributors": {
-        "list": "Visa bidrag från {users}",
-        "truncated_list": "Visa bidrag från {users} och {count} andra"
-    },
-    "geocoder": {
-        "title": "Hitta ett ställe",
-        "placeholder": "Hitta ett ställe",
-        "no_results": "Kunde inte hitta '{name}'"
-    },
-    "geolocate": {
-        "title": "Visa var jag är"
-    },
-    "inspector": {
-        "no_documentation_combination": "Der er ingen dokumentation for denne tag kombination",
-        "no_documentation_key": "Det finns inget dokumentation för denna nyckel.",
-        "show_more": "Visa mer",
-        "new_tag": "Ny tagg",
-        "view_on_osm": "Visa på openstreetmap.org",
-        "editing_feature": "Ändrar {feature}",
-        "additional": "Fler taggar",
-        "choose": "Vad lägger du till?",
-        "results": "{n} sökresult för {search}",
-        "reference": "Visa på OpenStreetmap Wiki",
-        "back_tooltip": "Ändra funktionstyp"
-    },
-    "background": {
-        "title": "Bakgrund",
-        "description": "Bakgrundsinställningar",
-        "percent_brightness": "{opacity}% ljusstyrka",
-        "fix_misalignment": "Fixa feljustering",
-        "reset": "återställ"
-    },
-    "restore": {
-        "heading": "Du har osparade ändringar.",
-        "description": "Du har ändringar från förra sessiones som inte har sparats. Vill du spara dessa ändringar?",
-        "restore": "Återställ",
-        "reset": "Återställ"
-    },
-    "save": {
-        "title": "Spara",
-        "help": "Spara ändringer till OpenStreetMap så att andra användare kan se dem.",
-        "no_changes": "Inget att spara.",
-        "error": "Något gick fel vid sparandet",
-        "uploading": "Dina ändringer sparas nu till OpenStreetMap.",
-        "unsaved_changes": "Du har icke-sparade ändringer."
-    },
-    "splash": {
-        "welcome": "Välkommen till iD OpenStreetMap redigerare",
-        "text": "Detta är utvecklingsversion {version}. Mer information besök {website} och rapportera fel på {github}.",
-        "walkthrough": "Starta genomgången",
-        "start": "Ändra nu"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "Du har osparade ändringar som kommer gå förlorade vid byte av kartserver. Är du säker att du vill byta server?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "Beskrivning",
-        "on_wiki": "{tag} på wiki.osm.org",
-        "used_with": "används med {type}"
-    },
-    "validations": {
-        "untagged_line": "Otaggad linje",
-        "untagged_area": "Otaggat område",
-        "many_deletions": "Du håller på att ta bort {n} objekt. Är du helt säker? Detta tar bort dem för alla som använder openstreetmap.org.",
-        "tag_suggests_area": "Denna tagg {tag} indikerar att denna linje borde vara ett område, men detta är inte ett område",
-        "deprecated_tags": "Uönskade taggar: {tags}"
-    },
-    "zoom": {
-        "in": "Zooma in",
-        "out": "Zooma ut"
-    },
-    "cannot_zoom": "Går ej att zooma ut ytterligare med nuvarande sätt.",
-    "gpx": {
-        "local_layer": "Lokal gpx-fil",
-        "drag_drop": "Dra och släpp en .gpx-fil på sidan"
-    },
-    "help": {
-        "title": "Hjälp"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "Huvudkartområdet visar OpenStreetMap data ovanpå en bakgrund. Du kan navigera genom att dra och skrolla, precis som i vanliga nätkartor. **Dra kartan!**"
-        },
-        "points": {
-            "place": "Punkten kan placeras genom att klicka på kartan. **Placera punkten ovanpå byggnaden.**",
-            "reselect": "Ofta existerar redan punkter, men innehåller misstag eller är ofullständiga. Vi kan ändra redan existerande punkter. **Välj punkten du just skapade.**",
-            "delete": "Menyn runt punkten innehåller operationer som kan utföras på den, inklusive ta bort. **Ta bort punkten.**"
-        },
-        "areas": {
-            "corner": "Områden ritas genom att placera punkter som representerar gränsen av området. **Placera startpunkten på ett av hörnen på lekplatsen.**",
-            "search": "**Sök efter lekpark.**"
-        },
-        "lines": {
-            "start": "**Påbörja linjen genom att klicka på änden av vägen.**",
-            "residential": "Det finns olika typer av vägar. Den vanligaste är \"Residential\". **Välj vägtypen \"Residential\"**",
-            "restart": "Vägen behöver ha en korsning med Flower Street."
-        },
-        "startediting": {
-            "help": "Ytterligare dokumentation samt denna genomgång finns tillgängliga här.",
-            "save": "Glöm inte att regelbundet spara dina ändringar!"
+
+        var searchWrap = selection.append('div')
+            .attr('class', 'search-header');
+
+        var search = searchWrap.append('input')
+            .attr('class', 'preset-search-input')
+            .attr('placeholder', t('inspector.search'))
+            .attr('type', 'search')
+            .on('keydown', keydown)
+            .on('keypress', keypress)
+            .on('input', inputevent);
+
+        searchWrap
+            .call(iD.svg.Icon('#icon-search', 'pre-text'));
+
+        if (autofocus) {
+            search.node().focus();
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Tillgång"
-            },
-            "address": {
-                "label": "Adress",
-                "placeholders": {
-                    "housename": "Husnamn",
-                    "number": "123",
-                    "street": "Gata",
-                    "city": "Stad"
-                }
-            },
-            "admin_level": {
-                "label": "Administrativ nivå"
-            },
-            "aeroway": {
-                "label": "Typ"
-            },
-            "amenity": {
-                "label": "Typ"
-            },
-            "atm": {
-                "label": "Uttagsautomat"
-            },
-            "barrier": {
-                "label": "Typ"
-            },
-            "bicycle_parking": {
-                "label": "Typ"
-            },
-            "building": {
-                "label": "Byggnad"
-            },
-            "building_area": {
-                "label": "Byggnad"
-            },
-            "building_yes": {
-                "label": "Byggnad"
-            },
-            "capacity": {
-                "label": "Kapacitet"
-            },
-            "collection_times": {
-                "label": "Hämtningstider"
-            },
-            "construction": {
-                "label": "Typ"
-            },
-            "crossing": {
-                "label": "Typ"
-            },
-            "entrance": {
-                "label": "Typ"
-            },
-            "fax": {
-                "label": "Fax"
-            },
-            "fee": {
-                "label": "Avgift"
-            },
-            "highway": {
-                "label": "Typ"
-            },
-            "historic": {
-                "label": "Typ"
-            },
-            "internet_access": {
-                "options": {
-                    "wlan": "Wifi"
-                }
-            },
-            "landuse": {
-                "label": "Typ"
-            },
-            "layer": {
-                "label": "Lager"
-            },
-            "leisure": {
-                "label": "Typ"
-            },
-            "levels": {
-                "label": "Våningar"
-            },
-            "man_made": {
-                "label": "Typ"
-            },
-            "maxspeed": {
-                "label": "Hastighetsbegränsning"
-            },
-            "name": {
-                "label": "Namn"
-            },
-            "natural": {
-                "label": "Natur"
-            },
-            "network": {
-                "label": "Nätverk"
-            },
-            "note": {
-                "label": "Notering"
-            },
-            "office": {
-                "label": "Typ"
-            },
-            "oneway": {
-                "label": "Enkelriktat"
-            },
-            "oneway_yes": {
-                "label": "Enkelriktat"
-            },
-            "opening_hours": {
-                "label": "Timmar"
-            },
-            "operator": {
-                "label": "Operatör"
-            },
-            "phone": {
-                "label": "Telefon"
-            },
-            "place": {
-                "label": "Typ"
-            },
-            "power": {
-                "label": "Typ"
-            },
-            "railway": {
-                "label": "Typ"
-            },
-            "ref": {
-                "label": "Referens"
-            },
-            "religion": {
-                "label": "Religion",
-                "options": {
-                    "christian": "Kristendom",
-                    "muslim": "Muslim",
-                    "buddhist": "Buddist",
-                    "hindu": "Hinduist"
-                }
-            },
-            "service": {
-                "label": "Typ"
-            },
-            "shop": {
-                "label": "Typ"
-            },
-            "source": {
-                "label": "Källa"
-            },
-            "sport": {
-                "label": "Sport"
-            },
-            "structure": {
-                "options": {
-                    "bridge": "Bro",
-                    "tunnel": "Tunnel"
-                }
-            },
-            "surface": {
-                "label": "Yta"
-            },
-            "tourism": {
-                "label": "Typ"
-            },
-            "water": {
-                "label": "Typ"
-            },
-            "waterway": {
-                "label": "Typ"
-            },
-            "website": {
-                "label": "Websida"
-            },
-            "wetland": {
-                "label": "Typ"
-            },
-            "wheelchair": {
-                "label": "Handikappanpassat"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Typ"
-            }
-        },
-        "presets": {
-            "amenity/bank": {
-                "name": "Bank"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "name": "Bänk"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Cykelparkering"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Cykeluthyrning"
-            },
-            "amenity/cafe": {
-                "name": "Café"
-            },
-            "amenity/cinema": {
-                "name": "Biograf"
-            },
-            "amenity/courthouse": {
-                "name": "Domstol"
-            },
-            "amenity/embassy": {
-                "name": "Embassad"
-            },
-            "amenity/fast_food": {
-                "name": "Snabbmat"
-            },
-            "amenity/fire_station": {
-                "name": "Brandstation"
-            },
-            "amenity/hospital": {
-                "name": "Sjukhus"
-            },
-            "amenity/library": {
-                "name": "Bibliotek"
-            },
-            "amenity/marketplace": {
-                "name": "Maknadsplats"
-            },
-            "amenity/parking": {
-                "name": "Parkering"
-            },
-            "amenity/place_of_worship": {
-                "name": "Plats för tillbedjan"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Kyrka"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Synagoga"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Moské",
-                "terms": "muslim,moské"
-            },
-            "amenity/police": {
-                "name": "Polis"
-            },
-            "amenity/post_box": {
-                "name": "Postlåda"
-            },
-            "amenity/post_office": {
-                "name": "Postkontor"
-            },
-            "amenity/pub": {
-                "name": "Pub"
-            },
-            "amenity/restaurant": {
-                "name": "Restaurang"
-            },
-            "amenity/school": {
-                "name": "Skola"
-            },
-            "amenity/swimming_pool": {
-                "name": "Simbassäng"
-            },
-            "amenity/telephone": {
-                "name": "Telefon"
-            },
-            "amenity/theatre": {
-                "name": "Teater"
-            },
-            "amenity/toilets": {
-                "name": "Toaletter"
-            },
-            "amenity/townhall": {
-                "name": "Kommunhus"
-            },
-            "amenity/university": {
-                "name": "Universitet"
-            },
-            "barrier": {
-                "name": "Barriär"
-            },
-            "barrier/block": {
-                "name": "Block"
-            },
-            "barrier/city_wall": {
-                "name": "Stadsmur"
-            },
-            "barrier/ditch": {
-                "name": "Dike"
-            },
-            "barrier/entrance": {
-                "name": "Entré"
-            },
-            "barrier/fence": {
-                "name": "Staket"
-            },
-            "barrier/gate": {
-                "name": "Grind"
-            },
-            "barrier/hedge": {
-                "name": "Häck"
-            },
-            "barrier/lift_gate": {
-                "name": "Bom"
-            },
-            "barrier/retaining_wall": {
-                "name": "Stödmur"
-            },
-            "barrier/wall": {
-                "name": "Vägg"
-            },
-            "boundary/administrative": {
-                "name": "Administrativ gräns"
-            },
-            "building": {
-                "name": "Byggnad"
-            },
-            "building/apartments": {
-                "name": "Lägenheter"
-            },
-            "building/entrance": {
-                "name": "Entré"
-            },
-            "building/house": {
-                "name": "Hus"
-            },
-            "entrance": {
-                "name": "Entré"
-            },
-            "highway/cycleway": {
-                "name": "Cykelväg"
-            },
-            "highway/footway": {
-                "name": "Gångväg"
-            },
-            "highway/motorway": {
-                "name": "Motorväg"
-            },
-            "highway/path": {
-                "name": "Stig"
-            },
-            "highway/road": {
-                "name": "Okänd väg"
-            },
-            "highway/steps": {
-                "name": "Steg"
-            },
-            "highway/traffic_signals": {
-                "name": "Trafiksignaler"
-            },
-            "highway/turning_circle": {
-                "name": "Vändplan"
-            },
-            "highway/unclassified": {
-                "name": "Oklassificerad väg"
-            },
-            "historic": {
-                "name": "Historisk plats"
-            },
-            "historic/archaeological_site": {
-                "name": "Arkeologisk plats"
-            },
-            "historic/boundary_stone": {
-                "name": "Gränssten"
-            },
-            "historic/castle": {
-                "name": "Slott"
-            },
-            "historic/monument": {
-                "name": "Monument"
-            },
-            "historic/ruins": {
-                "name": "Ruiner"
-            },
-            "landuse": {
-                "name": "Markanvändning"
-            },
-            "landuse/commercial": {
-                "name": "Kommersiell"
-            },
-            "landuse/construction": {
-                "name": "Konstruktion"
-            },
-            "landuse/farm": {
-                "name": "Åker"
-            },
-            "landuse/farmyard": {
-                "name": "Bondgård"
-            },
-            "landuse/forest": {
-                "name": "Skog"
-            },
-            "landuse/grass": {
-                "name": "Gräs"
-            },
-            "landuse/industrial": {
-                "name": "Industriell"
-            },
-            "landuse/orchard": {
-                "name": "Fruktträdgård"
-            },
-            "landuse/quarry": {
-                "name": "Täkt"
-            },
-            "leisure": {
-                "name": "Nöje"
-            },
-            "leisure/garden": {
-                "name": "Trädgård"
-            },
-            "leisure/golf_course": {
-                "name": "Golfbana"
-            },
-            "leisure/marina": {
-                "name": "Marina"
-            },
-            "leisure/park": {
-                "name": "Park"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Amerikansk fotbollsplan"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Baseball-plan"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Basketplan"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Fotbollsplan"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Tennisplan"
-            },
-            "leisure/playground": {
-                "name": "Lekplats"
-            },
-            "leisure/slipway": {
-                "name": "Sjösättningsplats"
-            },
-            "leisure/stadium": {
-                "name": "Stadium"
-            },
-            "leisure/swimming_pool": {
-                "name": "Simbassäng"
-            },
-            "man_made": {
-                "name": "Människoskapad"
-            },
-            "man_made/lighthouse": {
-                "name": "Fyr"
-            },
-            "man_made/pier": {
-                "name": "Pir"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Avloppsreningsverk"
-            },
-            "man_made/water_tower": {
-                "name": "Vattentorn"
-            },
-            "man_made/water_works": {
-                "name": "Vattenverk"
-            },
-            "natural": {
-                "name": "Naturlig"
-            },
-            "natural/bay": {
-                "name": "Vik"
-            },
-            "natural/beach": {
-                "name": "Strand"
-            },
-            "natural/cliff": {
-                "name": "Klippa"
-            },
-            "natural/coastline": {
-                "name": "Kustlinje",
-                "terms": "kust"
-            },
-            "natural/glacier": {
-                "name": "Glassiär"
-            },
-            "natural/peak": {
-                "name": "Topp"
-            },
-            "natural/spring": {
-                "name": "Källa"
-            },
-            "natural/tree": {
-                "name": "Träd"
-            },
-            "natural/water": {
-                "name": "Vatten"
-            },
-            "natural/water/lake": {
-                "name": "Sjö"
-            },
-            "natural/water/pond": {
-                "name": "Pöl"
-            },
-            "natural/water/reservoir": {
-                "name": "Reservoar"
-            },
-            "natural/wetland": {
-                "name": "Våtmark"
-            },
-            "natural/wood": {
-                "name": "Skog"
-            },
-            "office": {
-                "name": "Kontor"
-            },
-            "other": {
-                "name": "Övrigt"
-            },
-            "other_area": {
-                "name": "Övrigt"
-            },
-            "place": {
-                "name": "Plats"
-            },
-            "place/hamlet": {
-                "name": "Småby"
-            },
-            "place/island": {
-                "name": "Ö"
-            },
-            "place/village": {
-                "name": "By"
-            },
-            "power": {
-                "name": "Kraft"
-            },
-            "power/generator": {
-                "name": "Kraftverk"
-            },
-            "power/line": {
-                "name": "Kraftledning"
-            },
-            "power/pole": {
-                "name": "Kraftledningsstolpe"
-            },
-            "power/sub_station": {
-                "name": "Transformator"
-            },
-            "power/transformer": {
-                "name": "Transformator"
-            },
-            "railway": {
-                "name": "Järnväg"
-            },
-            "railway/abandoned": {
-                "name": "Övergiven järnväg"
-            },
-            "railway/disused": {
-                "name": "Oanvänd järnväg"
-            },
-            "railway/level_crossing": {
-                "name": "Plankorsning"
-            },
-            "railway/station": {
-                "name": "Järnvägsstation"
-            },
-            "railway/subway": {
-                "name": "Tunnelbana"
-            },
-            "shop": {
-                "name": "Affär"
-            },
-            "shop/bakery": {
-                "name": "Bageri"
-            },
-            "shop/bicycle": {
-                "name": "Cykelaffär"
-            },
-            "shop/butcher": {
-                "name": "Slaktare"
-            },
-            "shop/car_repair": {
-                "name": "Bilverkstad"
-            },
-            "shop/clothes": {
-                "name": "Klädaffär"
-            },
-            "shop/computer": {
-                "name": "Datorbutik"
-            },
-            "shop/department_store": {
-                "name": "Varuhus"
-            },
-            "shop/electronics": {
-                "name": "Elektronikbutik"
-            },
-            "shop/florist": {
-                "name": "Florist"
-            },
-            "shop/furniture": {
-                "name": "Möbelaffär"
-            },
-            "shop/gift": {
-                "name": "Presentbutik"
-            },
-            "shop/hairdresser": {
-                "name": "Hårfrissör"
-            },
-            "shop/jewelry": {
-                "name": "Juvelerare"
-            },
-            "shop/kiosk": {
-                "name": "Kiosk"
-            },
-            "shop/mobile_phone": {
-                "name": "Mobiltelefonbutik"
-            },
-            "shop/music": {
-                "name": "Musikaffär"
-            },
-            "shop/optician": {
-                "name": "Optiker"
-            },
-            "shop/pet": {
-                "name": "Djurbutik"
-            },
-            "shop/shoes": {
-                "name": "Skoaffär"
-            },
-            "shop/toys": {
-                "name": "Leksaksaffär"
-            },
-            "shop/travel_agency": {
-                "name": "Resebyrå"
-            },
-            "shop/video": {
-                "name": "Videobutik"
-            },
-            "tourism": {
-                "name": "Turism"
-            },
-            "tourism/attraction": {
-                "name": "Turistattraktion"
-            },
-            "tourism/camp_site": {
-                "name": "Kampingplats"
-            },
-            "tourism/hotel": {
-                "name": "Hotell"
-            },
-            "tourism/information": {
-                "name": "Information"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Museum"
-            },
-            "tourism/picnic_site": {
-                "name": "Picknickplats"
-            },
-            "tourism/viewpoint": {
-                "name": "Utsiktspunkt"
-            },
-            "tourism/zoo": {
-                "name": "Zoo"
-            },
-            "waterway/canal": {
-                "name": "Kanal"
-            },
-            "waterway/dam": {
-                "name": "Fördämning"
-            },
-            "waterway/ditch": {
-                "name": "Dike"
-            },
-            "waterway/drain": {
-                "name": "Dränering"
-            },
-            "waterway/river": {
-                "name": "Flod"
-            },
-            "waterway/riverbank": {
-                "name": "Flodbank"
-            },
-            "waterway/stream": {
-                "name": "Bäck"
+
+        var listWrap = selection.append('div')
+            .attr('class', 'inspector-body');
+
+        var list = listWrap.append('div')
+            .attr('class', 'preset-list fillL cf')
+            .call(drawList, context.presets().defaults(geometry, 36));
+    }
+
+    function drawList(list, presets) {
+        var collection = presets.collection.map(function(preset) {
+            return preset.members ? CategoryItem(preset) : PresetItem(preset);
+        });
+
+        var items = list.selectAll('.preset-list-item')
+            .data(collection, function(d) { return d.preset.id; });
+
+        items.enter().append('div')
+            .attr('class', function(item) { return 'preset-list-item preset-' + item.preset.id.replace('/', '-'); })
+            .classed('current', function(item) { return item.preset === currentPreset; })
+            .each(function(item) {
+                d3.select(this).call(item);
+            })
+            .style('opacity', 0)
+            .transition()
+            .style('opacity', 1);
+
+        items.order();
+
+        items.exit()
+            .remove();
+    }
+
+    function CategoryItem(preset) {
+        var box, sublist, shown = false;
+
+        function item(selection) {
+            var wrap = selection.append('div')
+                .attr('class', 'preset-list-button-wrap category col12');
+
+            wrap.append('button')
+                .attr('class', 'preset-list-button')
+                .call(iD.ui.PresetIcon()
+                    .geometry(context.geometry(id))
+                    .preset(preset))
+                .on('click', item.choose)
+                .append('div')
+                .attr('class', 'label')
+                .text(preset.name());
+
+            box = selection.append('div')
+                .attr('class', 'subgrid col12')
+                .style('max-height', '0px')
+                .style('opacity', 0);
+
+            box.append('div')
+                .attr('class', 'arrow');
+
+            sublist = box.append('div')
+                .attr('class', 'preset-list fillL3 cf fl');
+        }
+
+        item.choose = function() {
+            if (shown) {
+                shown = false;
+                box.transition()
+                    .duration(200)
+                    .style('opacity', '0')
+                    .style('max-height', '0px')
+                    .style('padding-bottom', '0px');
+            } else {
+                shown = true;
+                sublist.call(drawList, preset.members);
+                box.transition()
+                    .duration(200)
+                    .style('opacity', '1')
+                    .style('max-height', 200 + preset.members.collection.length * 80 + 'px')
+                    .style('padding-bottom', '20px');
             }
+        };
+
+        item.preset = preset;
+
+        return item;
+    }
+
+    function PresetItem(preset) {
+        function item(selection) {
+            var wrap = selection.append('div')
+                .attr('class', 'preset-list-button-wrap col12');
+
+            wrap.append('button')
+                .attr('class', 'preset-list-button')
+                .call(iD.ui.PresetIcon()
+                    .geometry(context.geometry(id))
+                    .preset(preset))
+                .on('click', item.choose)
+                .append('div')
+                .attr('class', 'label')
+                .text(preset.name());
+
+            wrap.call(item.reference.button);
+            selection.call(item.reference.body);
         }
+
+        item.choose = function() {
+            context.presets().choose(preset);
+
+            context.perform(
+                iD.actions.ChangePreset(id, currentPreset, preset),
+                t('operations.change_tags.annotation'));
+
+            event.choose(preset);
+        };
+
+        item.help = function() {
+            d3.event.stopPropagation();
+            item.reference.toggle();
+        };
+
+        item.preset = preset;
+        item.reference = iD.ui.TagReference(preset.reference(context.geometry(id)), context);
+
+        return item;
     }
+
+    presetList.autofocus = function(_) {
+        if (!arguments.length) return autofocus;
+        autofocus = _;
+        return presetList;
+    };
+
+    presetList.entityID = function(_) {
+        if (!arguments.length) return id;
+        id = _;
+        presetList.preset(context.presets().match(context.entity(id), context.graph()));
+        return presetList;
+    };
+
+    presetList.preset = function(_) {
+        if (!arguments.length) return currentPreset;
+        currentPreset = _;
+        return presetList;
+    };
+
+    return d3.rebind(presetList, event, 'on');
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.RadialMenu = function(context, operations) {
+    var menu,
+        center = [0, 0],
+        tooltip;
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    var radialMenu = function(selection) {
+        if (!operations.length)
+            return;
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        selection.node().parentNode.focus();
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.tr = {
-    "modes": {
-        "add_area": {
-            "title": "Alan",
-            "description": "Park, bina, göl ve benzeri alanları haritaya ekle.",
-            "tail": "Park, göl ya da bina gibi alanları çizmek için haritaya tıklayın."
-        },
-        "add_line": {
-            "title": "Çizgi",
-            "description": "Yollar, sokaklar, patikalar ya da kanallar çizgi ile çizilebilir.",
-            "tail": "Yol, patika yada rota çizmek için haritaya tıklayın."
-        },
-        "add_point": {
-            "title": "Nokta",
-            "description": "Restoranlar, anıtlar ya da posta kutuları nokta ile gösterilebilir.",
-            "tail": "Nokta eklemek için haritaya tıklayın."
-        },
-        "browse": {
-            "title": "Dolaş",
-            "description": "Harita üzerinde dolan ve yaklaş."
+        function click(operation) {
+            d3.event.stopPropagation();
+            if (operation.disabled())
+                return;
+            operation();
+            radialMenu.close();
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Nokta eklendi.",
-                "vertex": "Çizgiye bir nod eklendi."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Çizgi çizimi başlatıldı.",
-                "area": "Alan çizimi başlatıldı."
+
+        menu = selection.append('g')
+            .attr('class', 'radial-menu')
+            .attr('transform', 'translate(' + center + ')')
+            .attr('opacity', 0);
+
+        menu.transition()
+            .attr('opacity', 1);
+
+        var r = 50,
+            a = Math.PI / 4,
+            a0 = -Math.PI / 4,
+            a1 = a0 + (operations.length - 1) * a;
+
+        menu.append('path')
+            .attr('class', 'radial-menu-background')
+            .attr('d', 'M' + r * Math.sin(a0) + ',' +
+                             r * Math.cos(a0) +
+                      ' A' + r + ',' + r + ' 0 ' + (operations.length > 5 ? '1' : '0') + ',0 ' +
+                             (r * Math.sin(a1) + 1e-3) + ',' +
+                             (r * Math.cos(a1) + 1e-3)) // Force positive-length path (#1305)
+            .attr('stroke-width', 50)
+            .attr('stroke-linecap', 'round');
+
+        var button = menu.selectAll()
+            .data(operations)
+            .enter()
+            .append('g')
+            .attr('class', function(d) { return 'radial-menu-item radial-menu-item-' + d.id; })
+            .classed('disabled', function(d) { return d.disabled(); })
+            .attr('transform', function(d, i) {
+                return 'translate(' + iD.geo.roundCoords([
+                        r * Math.sin(a0 + i * a),
+                        r * Math.cos(a0 + i * a)]).join(',') + ')';
+            });
+
+        button.append('circle')
+            .attr('r', 15)
+            .on('click', click)
+            .on('mousedown', mousedown)
+            .on('mouseover', mouseover)
+            .on('mouseout', mouseout);
+
+        button.append('use')
+            .attr('transform', 'translate(-10,-10)')
+            .attr('width', '20')
+            .attr('height', '20')
+            .attr('xlink:href', function(d) { return '#operation-' + d.id; });
+
+        tooltip = d3.select(document.body)
+            .append('div')
+            .attr('class', 'tooltip-inner radial-menu-tooltip');
+
+        function mousedown() {
+            d3.event.stopPropagation(); // https://github.com/openstreetmap/iD/issues/1869
+        }
+
+        function mouseover(d, i) {
+            var rect = context.surfaceRect(),
+                angle = a0 + i * a,
+                top = rect.top + (r + 25) * Math.cos(angle) + center[1] + 'px',
+                left = rect.left + (r + 25) * Math.sin(angle) + center[0] + 'px',
+                bottom = rect.height - (r + 25) * Math.cos(angle) - center[1] + 'px',
+                right = rect.width - (r + 25) * Math.sin(angle) - center[0] + 'px';
+
+            tooltip
+                .style('top', null)
+                .style('left', null)
+                .style('bottom', null)
+                .style('right', null)
+                .style('display', 'block')
+                .html(iD.ui.tooltipHtml(d.tooltip(), d.keys[0]));
+
+            if (i === 0) {
+                tooltip
+                    .style('right', right)
+                    .style('top', top);
+            } else if (i >= 4) {
+                tooltip
+                    .style('left', left)
+                    .style('bottom', bottom);
+            } else {
+                tooltip
+                    .style('left', left)
+                    .style('top', top);
             }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Çizgiye devam edildi.",
-                "area": "Alana devam edildi."
+        }
+
+        function mouseout() {
+            tooltip.style('display', 'none');
+        }
+    };
+
+    radialMenu.close = function() {
+        if (menu) {
+            menu
+                .style('pointer-events', 'none')
+                .transition()
+                .attr('opacity', 0)
+                .remove();
+        }
+
+        if (tooltip) {
+            tooltip.remove();
+        }
+    };
+
+    radialMenu.center = function(_) {
+        if (!arguments.length) return center;
+        center = _;
+        return radialMenu;
+    };
+
+    return radialMenu;
+};
+iD.ui.RawMemberEditor = function(context) {
+    var id;
+
+    function selectMember(d) {
+        d3.event.preventDefault();
+        context.enter(iD.modes.Select(context, [d.id]));
+    }
+
+    function changeRole(d) {
+        var role = d3.select(this).property('value');
+        context.perform(
+            iD.actions.ChangeMember(d.relation.id, _.extend({}, d.id, {role: role}), d.index),
+            t('operations.change_role.annotation'));
+    }
+
+    function deleteMember(d) {
+        context.perform(
+            iD.actions.DeleteMember(d.relation.id, d.index),
+            t('operations.delete_member.annotation'));
+
+        if (!context.hasEntity(d.relation.id)) {
+            context.enter(iD.modes.Browse(context));
+        }
+    }
+
+    function rawMemberEditor(selection) {
+        var entity = context.entity(id),
+            memberships = [];
+
+        entity.members.forEach(function(member, index) {
+            memberships.push({
+                index: index,
+                id: member.id,
+                role: member.role,
+                relation: entity,
+                member: context.hasEntity(member.id)
+            });
+        });
+
+        selection.call(iD.ui.Disclosure()
+            .title(t('inspector.all_members') + ' (' + memberships.length + ')')
+            .expanded(true)
+            .on('toggled', toggled)
+            .content(content));
+
+        function toggled(expanded) {
+            if (expanded) {
+                selection.node().parentNode.scrollTop += 200;
             }
-        },
-        "cancel_draw": {
-            "annotation": "Çizim iptal edildi."
-        },
-        "change_tags": {
-            "annotation": "Etiketler değiştirildi."
-        },
-        "circularize": {
-            "title": "Daireleştir",
-            "description": {
-                "line": "Bu çizgiyi daireleştir.",
-                "area": "Bu alanı daireleştir."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Çizgiyi daireleştirin.",
-                "area": "Alanı daireleştirin."
-            },
-            "not_closed": "Bu daireleştirilemez çünkü döngü içerisinde değil."
-        },
-        "orthogonalize": {
-            "title": "Doğrultmak",
-            "description": "Köşeleri doğrultun.",
-            "key": "Q",
-            "annotation": {
-                "line": "Çizginin köşeleri doğrultuldu.",
-                "area": "Alanın köşeleri doğrultuldu."
+        }
+
+        function content($wrap) {
+            var $list = $wrap.selectAll('.member-list')
+                .data([0]);
+
+            $list.enter().append('ul')
+                .attr('class', 'member-list');
+
+            var $items = $list.selectAll('li')
+                .data(memberships, function(d) {
+                    return iD.Entity.key(d.relation) + ',' + d.index + ',' +
+                        (d.member ? iD.Entity.key(d.member) : 'incomplete');
+                });
+
+            var $enter = $items.enter().append('li')
+                .attr('class', 'member-row form-field')
+                .classed('member-incomplete', function(d) { return !d.member; });
+
+            $enter.each(function(d) {
+                if (d.member) {
+                    var $label = d3.select(this).append('label')
+                        .attr('class', 'form-label')
+                        .append('a')
+                        .attr('href', '#')
+                        .on('click', selectMember);
+
+                    $label.append('span')
+                        .attr('class', 'member-entity-type')
+                        .text(function(d) { return context.presets().match(d.member, context.graph()).name(); });
+
+                    $label.append('span')
+                        .attr('class', 'member-entity-name')
+                        .text(function(d) { return iD.util.displayName(d.member); });
+
+                } else {
+                    d3.select(this).append('label')
+                        .attr('class', 'form-label')
+                        .text(t('inspector.incomplete'));
+                }
+            });
+
+            $enter.append('input')
+                .attr('class', 'member-role')
+                .property('type', 'text')
+                .attr('maxlength', 255)
+                .attr('placeholder', t('inspector.role'))
+                .property('value', function(d) { return d.role; })
+                .on('change', changeRole);
+
+            $enter.append('button')
+                .attr('tabindex', -1)
+                .attr('class', 'remove button-input-action member-delete minor')
+                .on('click', deleteMember)
+                .call(iD.svg.Icon('#operation-delete'));
+
+            $items.exit()
+                .remove();
+        }
+    }
+
+    rawMemberEditor.entityID = function(_) {
+        if (!arguments.length) return id;
+        id = _;
+        return rawMemberEditor;
+    };
+
+    return rawMemberEditor;
+};
+iD.ui.RawMembershipEditor = function(context) {
+    var id, showBlank;
+
+    function selectRelation(d) {
+        d3.event.preventDefault();
+        context.enter(iD.modes.Select(context, [d.relation.id]));
+    }
+
+    function changeRole(d) {
+        var role = d3.select(this).property('value');
+        context.perform(
+            iD.actions.ChangeMember(d.relation.id, _.extend({}, d.member, {role: role}), d.index),
+            t('operations.change_role.annotation'));
+    }
+
+    function addMembership(d, role) {
+        showBlank = false;
+
+        if (d.relation) {
+            context.perform(
+                iD.actions.AddMember(d.relation.id, {id: id, type: context.entity(id).type, role: role}),
+                t('operations.add_member.annotation'));
+
+        } else {
+            var relation = iD.Relation();
+
+            context.perform(
+                iD.actions.AddEntity(relation),
+                iD.actions.AddMember(relation.id, {id: id, type: context.entity(id).type, role: role}),
+                t('operations.add.annotation.relation'));
+
+            context.enter(iD.modes.Select(context, [relation.id]));
+        }
+    }
+
+    function deleteMembership(d) {
+        context.perform(
+            iD.actions.DeleteMember(d.relation.id, d.index),
+            t('operations.delete_member.annotation'));
+    }
+
+    function relations(q) {
+        var newRelation = {
+                relation: null,
+                value: t('inspector.new_relation')
             },
-            "not_closed": "Bu kareye çevrilemez çünkü bir döngü içerisinde değil."
-        },
-        "delete": {
-            "title": "Sil",
-            "description": "Haritan bunu sil.",
-            "annotation": {
-                "point": "Bir nokta silindi.",
-                "vertex": "Yoldan bir nod silindi.",
-                "line": "Bir çizgi silindi.",
-                "area": "Bir alan silindi.",
-                "relation": "Bir ilişki silindi.",
-                "multiple": "{n} adet obje silindi."
+            result = [],
+            graph = context.graph();
+
+        context.intersects(context.extent()).forEach(function(entity) {
+            if (entity.type !== 'relation' || entity.id === id)
+                return;
+
+            var presetName = context.presets().match(entity, graph).name(),
+                entityName = iD.util.displayName(entity) || '';
+
+            var value = presetName + ' ' + entityName;
+            if (q && value.toLowerCase().indexOf(q.toLowerCase()) === -1)
+                return;
+
+            result.push({
+                relation: entity,
+                value: value
+            });
+        });
+
+        result.sort(function(a, b) {
+            return iD.Relation.creationOrder(a.relation, b.relation);
+        });
+        result.unshift(newRelation);
+
+        return result;
+    }
+
+    function rawMembershipEditor(selection) {
+        var entity = context.entity(id),
+            memberships = [];
+
+        context.graph().parentRelations(entity).forEach(function(relation) {
+            relation.members.forEach(function(member, index) {
+                if (member.id === entity.id) {
+                    memberships.push({relation: relation, member: member, index: index});
+                }
+            });
+        });
+
+        selection.call(iD.ui.Disclosure()
+            .title(t('inspector.all_relations') + ' (' + memberships.length + ')')
+            .expanded(true)
+            .on('toggled', toggled)
+            .content(content));
+
+        function toggled(expanded) {
+            if (expanded) {
+                selection.node().parentNode.scrollTop += 200;
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Taraf bir noktaya bağlandı.",
-                "vertex": "Bir taraf diğerine bağlandı.",
-                "line": "Taraf bir çizgiye bağlandı.",
-                "area": "Taraf bir alana bağlandı."
+        }
+
+        function content($wrap) {
+            var $list = $wrap.selectAll('.member-list')
+                .data([0]);
+
+            $list.enter().append('ul')
+                .attr('class', 'member-list');
+
+            var $items = $list.selectAll('li.member-row-normal')
+                .data(memberships, function(d) { return iD.Entity.key(d.relation) + ',' + d.index; });
+
+            var $enter = $items.enter().append('li')
+                .attr('class', 'member-row member-row-normal form-field');
+
+            var $label = $enter.append('label')
+                .attr('class', 'form-label')
+                .append('a')
+                .attr('href', '#')
+                .on('click', selectRelation);
+
+            $label.append('span')
+                .attr('class', 'member-entity-type')
+                .text(function(d) { return context.presets().match(d.relation, context.graph()).name(); });
+
+            $label.append('span')
+                .attr('class', 'member-entity-name')
+                .text(function(d) { return iD.util.displayName(d.relation); });
+
+            $enter.append('input')
+                .attr('class', 'member-role')
+                .property('type', 'text')
+                .attr('maxlength', 255)
+                .attr('placeholder', t('inspector.role'))
+                .property('value', function(d) { return d.member.role; })
+                .on('change', changeRole);
+
+            $enter.append('button')
+                .attr('tabindex', -1)
+                .attr('class', 'remove button-input-action member-delete minor')
+                .on('click', deleteMembership)
+                .call(iD.svg.Icon('#operation-delete'));
+
+            $items.exit()
+                .remove();
+
+            if (showBlank) {
+                var $new = $list.selectAll('.member-row-new')
+                    .data([0]);
+
+                $enter = $new.enter().append('li')
+                    .attr('class', 'member-row member-row-new form-field');
+
+                $enter.append('input')
+                    .attr('type', 'text')
+                    .attr('class', 'member-entity-input')
+                    .call(d3.combobox()
+                        .minItems(1)
+                        .fetcher(function(value, callback) {
+                            callback(relations(value));
+                        })
+                        .on('accept', function(d) {
+                            addMembership(d, $new.select('.member-role').property('value'));
+                        }));
+
+                $enter.append('input')
+                    .attr('class', 'member-role')
+                    .property('type', 'text')
+                    .attr('maxlength', 255)
+                    .attr('placeholder', t('inspector.role'))
+                    .on('change', changeRole);
+
+                $enter.append('button')
+                    .attr('tabindex', -1)
+                    .attr('class', 'remove button-input-action member-delete minor')
+                    .on('click', deleteMembership)
+                    .call(iD.svg.Icon('#operation-delete'));
+
+            } else {
+                $list.selectAll('.member-row-new')
+                    .remove();
             }
-        },
-        "disconnect": {
-            "title": "Birbirinden Ayır",
-            "description": "Her iki çizgi/alanı da birbirinden ayır.",
-            "key": "D",
-            "annotation": "Çizgier/alanlar birbirinden ayrıldı.",
-            "not_connected": "Burada bağlantıyı kesmek için yeteri kadar çizgi/alan yok."
-        },
-        "merge": {
-            "title": "Birleştir",
-            "description": "Bu çizgileri birleştir.",
-            "key": "C",
-            "annotation": "{n} adet çizgi birleştirildi.",
-            "not_eligible": "Bu kısımlar birleştirilemez.",
-            "not_adjacent": "Bu çizgiler birleştirilemez çünkü bağlı değiller."
-        },
-        "move": {
-            "title": "Taşı",
-            "description": "Bunu farklı bir konuma taşı.",
-            "key": "M",
-            "annotation": {
-                "point": "Bir nokta taşındı.",
-                "vertex": "Yoldan bir nokta taşındı.",
-                "line": "Bir çizgi taşındı.",
-                "area": "Bir alan taşındı.",
-                "multiple": "Birden fazla obje taşındı."
-            },
-            "incomplete_relation": "Bu kısım taşınamaz çünkü tamamı indirilmedi."
-        },
-        "rotate": {
-            "title": "Çevir",
-            "description": "Bu objeyi merkezi etrafında çevir.",
-            "key": "R",
-            "annotation": {
-                "line": "Çizgi çevrildi.",
-                "area": "Alan çevirildi."
+
+            var $add = $wrap.selectAll('.add-relation')
+                .data([0]);
+
+            $add.enter()
+                .append('button')
+                .attr('class', 'add-relation')
+                .call(iD.svg.Icon('#icon-plus', 'light'));
+
+            $wrap.selectAll('.add-relation')
+                .on('click', function() {
+                    showBlank = true;
+                    content($wrap);
+                    $list.selectAll('.member-entity-input').node().focus();
+                });
+        }
+    }
+
+    rawMembershipEditor.entityID = function(_) {
+        if (!arguments.length) return id;
+        id = _;
+        return rawMembershipEditor;
+    };
+
+    return rawMembershipEditor;
+};
+iD.ui.RawTagEditor = function(context) {
+    var event = d3.dispatch('change'),
+        showBlank = false,
+        state,
+        preset,
+        tags,
+        id;
+
+    function rawTagEditor(selection) {
+        var count = Object.keys(tags).filter(function(d) { return d; }).length;
+
+        selection.call(iD.ui.Disclosure()
+            .title(t('inspector.all_tags') + ' (' + count + ')')
+            .expanded(context.storage('raw_tag_editor.expanded') === 'true' || preset.isFallback())
+            .on('toggled', toggled)
+            .content(content));
+
+        function toggled(expanded) {
+            context.storage('raw_tag_editor.expanded', expanded);
+            if (expanded) {
+                selection.node().parentNode.scrollTop += 200;
             }
-        },
-        "reverse": {
-            "title": "Ters çevir",
-            "description": "Bu çizgiyi ters yönde çevir.",
-            "key": "V",
-            "annotation": "Çizgi ters çevrildi."
-        },
-        "split": {
-            "title": "Ayır",
-            "description": {
-                "area": "Bu alanın sınırını ikiye ayır."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Çizgiyi ayır.",
-                "area": "Alan sınırını ayır.",
-                "multiple": "{n} adet çizgi/alan sınırı ayrıldı."
-            },
-            "not_eligible": "Çizgiler başlagıç ya da bitişlerinden ayrılamazlar",
-            "multiple_ways": "Burada ayrılacak çok fazla çizgi var"
         }
-    },
-    "nothing_to_undo": "Geri alınacak birşey yok.",
-    "nothing_to_redo": "Tekrar yapılacak birşey yok.",
-    "just_edited": "Şu an OpenStreetMap'de bir değişiklik yaptınız!",
-    "browser_notice": "Bu editör sadece Firefox, Chrome, Safari, Opera ile Internet Explorer 9 ve üstü tarayıcılarda çalışmaktadır. Lütfen tarayınıcı güncelleyin ya da Potlatch 2'yi kullanarak haritada güncelleme yapınız.",
-    "view_on_osm": "OSM üstünde Gör",
-    "zoom_in_edit": "Güncelleme yapmak için haritada yakınlaşmalısınız",
-    "logout": "Çıkış",
-    "loading_auth": "OpenStreetMap'e bağlanıyor...",
-    "report_a_bug": "Hata rapor et",
-    "commit": {
-        "title": "Değişiklikleri kaydet",
-        "description_placeholder": "Katkı sağlayanlar hakkında kısa açıklama",
-        "message_label": "Mesajı işle",
-        "upload_explanation": "{user} kullanıcısı olarak yaptığınız değişiklikler tüm OpenStreetMap kullanan haritalarda görünür olacaktır.",
-        "save": "Kaydet",
-        "cancel": "İptal",
-        "warnings": "Uyarılar",
-        "modified": "Değiştirildi",
-        "deleted": "Silindi",
-        "created": "Oluşturuldu"
-    },
-    "contributors": {
-        "list": "{users} tarafından yapılan katkılar",
-        "truncated_list": "{users} ve diğer {count} tarafından yapılan katkılar"
-    },
-    "geocoder": {
-        "title": "Bir Yer Bul",
-        "placeholder": "Bir yer bul",
-        "no_results": "'{name}' ismindeki yer bulunamadı"
-    },
-    "geolocate": {
-        "title": "Konumumu göster"
-    },
-    "inspector": {
-        "no_documentation_combination": "Bu etiket kombinasyonu için dökümantasyon bulunmamaktadır.",
-        "no_documentation_key": "Bu anahtar için dökümantasyon bulunmamaktadır.",
-        "show_more": "Daha fazla göster",
-        "new_tag": "Yeni Etiket",
-        "editing_feature": "{feature} düzenleniyor",
-        "additional": "Ekstra etiketler",
-        "choose": "Kısım tipini seçiniz",
-        "results": "{search} kelimesi için {n} adet sonuç ",
-        "back_tooltip": "Kısım tipini değiştir"
-    },
-    "background": {
-        "title": "Arkaplan",
-        "description": "Arkaplan Ayarları",
-        "percent_brightness": "{opacity}% parlaklık",
-        "fix_misalignment": "Yanlış hizalamayı düzelt",
-        "reset": "Sıfırla"
-    },
-    "restore": {
-        "heading": "Kaydedilmemiş bir değişikliğiniz var",
-        "description": "Daha önceki oturumunuzdan kaydedilmemiş değişiklikler var. Bu değişiklikleri geri getirmek ister misiniz?",
-        "restore": "Geri Getir",
-        "reset": "Sıfırla"
-    },
-    "save": {
-        "title": "Kaydet",
-        "help": "Diğer kullanıcıların yaptığınız değişiklikleri görmesi için OpenStreetMap'e kaydediniz.",
-        "no_changes": "Kaydedilecek bir değişiklik yok",
-        "error": "Kaydederken bir hata oluştu",
-        "uploading": "Değişiklikleriniz OpenStreetMap'e gönderiliyor.",
-        "unsaved_changes": "Kaydedilmemiş değişiklikleriniz var"
-    },
-    "splash": {
-        "welcome": "OpenStreetMap Editörü iD'ye hoşgeldiniz",
-        "text": "Bu {version} versiyonu geliştirme versiyonudur. Daha fazla bilgi için {website} sitesine bakabilirsiniz ve hataları {github} sitesine raporlayabilirsiniz.",
-        "walkthrough": "Örnek çalışmaya başla",
-        "start": "Şimdi Düzenle"
-    },
-    "source_switch": {
-        "live": "canlı",
-        "lose_changes": "Kaydedilmemiş değişikliğiniz var. Harita sunucusunu değiştirmek bunları kaybetmenize sebep olur. Sunucuyu değiştirmeye emin misiniz?",
-        "dev": "geliştirme"
-    },
-    "tag_reference": {
-        "description": "Açıklama",
-        "on_wiki": "wiki.osm.org sitesindeki {tag} ",
-        "used_with": "{type} ile birlikte"
-    },
-    "validations": {
-        "untagged_line": "Etiketlenmemiş çizgi",
-        "untagged_area": "Etiketlenmemiş alan",
-        "many_deletions": "Şu an {n} adet objeyi siliyorsunuz. Bunu yapmak istediğinize emin misiniz? Bu işlem ile ilgili objelerin tamamı herkesin ziyaret ettiği openstreetmap.org üzerinden de silinmiş olacaktır.",
-        "tag_suggests_area": "{tag} etiketi buranın alan olmasını tavsiye ediyor ama alan değil.",
-        "deprecated_tags": "Kullanımdan kaldırılmış etiket : {tags}"
-    },
-    "zoom": {
-        "in": "Yaklaş",
-        "out": "Uzaklaş"
-    },
-    "gpx": {
-        "local_layer": "Lokal GPX dosyası",
-        "drag_drop": ".gpx dosyasını sayfa üzerine sürükleyip bırakınız"
-    },
-    "help": {
-        "title": "Yardım"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "Ana harita alanı OpenStreetMap verisini arka plan olarak size sunmaktadır. Diğer harita uygulamalarında olduğu gibi sürekleyip yaklaş/uzaklaş ile haritada dolaşabilirsiniz. **Haritayı sürükleyin!** ",
-            "select": "Harita nesneleri üç farklı şekilde gösterilir : noktalar, çizgiler ve alanlar. Tüm nesneler üzerine tıklanarak seçilebilir. **Bir nokta üzerine tıklayarak seçiniz.**",
-            "header": "Başlık bize nesne tipini göstermektedir.",
-            "pane": "Bir nesne seçildiği zaman, nesne editörü görünür hale gelir. Başlık kısmı bize nesnenin tipini, ana panel ise nesnenin adı ya da adresi gibi özelliklerini gösterir. **Nesne editörünü sağ üst köşesindeki kapat butonu yardımıyla kapatınız.**"
-        },
-        "points": {
-            "add": "Noktalar dükkanları, restoranları ya da anıtları göstermek için kullanılabilir. Bunlar bir lokasyonu işaretler ve orada ne olduğunu tarif eder. **Nokta butonuna tıklayarak yeni bir nokta ekleyiniz.**",
-            "place": "Bir noktayı haritaya tıklayarak yerleştirebilirsiniz. **Bir binanın üstüne noktayı yerleştiriniz.**",
-            "search": "Birçok farklı nesne nokta ile gösterilebilir. Az önce eklediğiniz nokta bir kafe olarak işaretlendi. **'Cafe' için arama yapınız**",
-            "choose": "**Sistemden kafe seçimi yapınız.**",
-            "describe": "Nokta artık kafe olarak işaretlendi. Nesne editörü ile nesneye daha fazla bilgi ekleyebiliriz. **Bir ad ekleyiniz**",
-            "close": "Nesne editörü kapat butonuna tıklayarak kapanabilir. **Nesne editörünü kapatınız**",
-            "reselect": "Bazen noktalar bulunmaktadır fakat hataları ya da eksiklikleri bulunmaktadır. Bunları düzenleyebiliriz. **Oluşturduğunuz noktayı seçiniz.**",
-            "fixname": "**Adı değiştirin ve editörü kapatınız.**",
-            "reselect_delete": "Harita üstündeki tüm nesneler silinebilir. **Oluşturduğunuz noktaya tıklayınız.**",
-            "delete": "Nokta çevresindeki menü ile farklı operasyonlar gerçekleştirilebilir, silme de bunlardan birisidir. **Noktayı siliniz.**"
-        },
-        "areas": {
-            "add": "Alanlar nesnelerin detaylı gösterimi olarak nitelendirilebilir. Bunlar nesnenin sınırları hakkında bilgi verirler. Alanlar birçok yerde noktaların gösterimi yerine kullanılabilir, hatta onların tercih edilirler. ** Alan butonuna tıklayarak yeni alan ekleyiniz.**",
-            "corner": "Alanlar alan sınırlarını belirleyen noktaların konulması ile çizilirler. **Test alanında bir alanın köşe noktasına tıklayarak çizime başlayın.**",
-            "search": "**Bir test alanı arayınız.**",
-            "choose": "**Sistem üzerinden bir test alanı seçiniz.**",
-            "describe": "**Bir ad ekleyerek editörü kapatınız**"
-        },
-        "lines": {
-            "add": "Çizgiler yollar, tren yolları ve akarsu gibi nesneleri göstermek amacıyla kullanılır. **Çizgi butonuna tıklyarak yeni bir çizgi ekleyiniz.**",
-            "start": "**Çizimi başlatmak için yolun sonuna tıklayınız.**",
-            "road": "**Sistemden bir yol seçiniz**",
-            "residential": "Çok farklı tiplerde yollar bulunmaktadır, en yaygın olanı Şehir İçi olanlardır. **Şehir için yol tipini şeçiniz**",
-            "describe": "**Yola adını verin ve editörü kapatın.**",
-            "restart": "Bu yolun \"Flower Street\" -sokağı- ile kesişmesi gerekiyor."
-        },
-        "startediting": {
-            "help": "Daha fazla dökümantasyon ve örnek burada mevcut.",
-            "save": "Belli aralıklarla değişikliklerinizi kaydetmeyi unutmayınız!",
-            "start": "Haritalamaya başla!"
+    }
+
+    function content($wrap) {
+        var entries = d3.entries(tags);
+
+        if (!entries.length || showBlank) {
+            showBlank = false;
+            entries.push({key: '', value: ''});
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Ulaşım",
-                "types": {
-                    "foot": "Yürüyerek"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Serbest"
-                    },
-                    "no": {
-                        "title": "Yasak"
-                    },
-                    "private": {
-                        "title": "Özel"
-                    },
-                    "destination": {
-                        "title": "Hedef"
+
+        var $list = $wrap.selectAll('.tag-list')
+            .data([0]);
+
+        $list.enter().append('ul')
+            .attr('class', 'tag-list');
+
+        var $newTag = $wrap.selectAll('.add-tag')
+            .data([0]);
+
+        $newTag.enter()
+            .append('button')
+            .attr('class', 'add-tag')
+            .call(iD.svg.Icon('#icon-plus', 'light'));
+
+        $newTag.on('click', addTag);
+
+        var $items = $list.selectAll('li')
+            .data(entries, function(d) { return d.key; });
+
+        // Enter
+
+        var $enter = $items.enter().append('li')
+            .attr('class', 'tag-row cf');
+
+        $enter.append('div')
+            .attr('class', 'key-wrap')
+            .append('input')
+            .property('type', 'text')
+            .attr('class', 'key')
+            .attr('maxlength', 255);
+
+        $enter.append('div')
+            .attr('class', 'input-wrap-position')
+            .append('input')
+            .property('type', 'text')
+            .attr('class', 'value')
+            .attr('maxlength', 255);
+
+        $enter.append('button')
+            .attr('tabindex', -1)
+            .attr('class', 'remove minor')
+            .call(iD.svg.Icon('#operation-delete'));
+
+        if (context.taginfo()) {
+            $enter.each(bindTypeahead);
+        }
+
+        // Update
+
+        $items.order();
+
+        $items.each(function(tag) {
+            var isRelation = (context.entity(id).type === 'relation'),
+                reference;
+            if (isRelation && tag.key === 'type')
+                reference = iD.ui.TagReference({rtype: tag.value}, context);
+            else
+                reference = iD.ui.TagReference({key: tag.key, value: tag.value}, context);
+
+            if (state === 'hover') {
+                reference.showing(false);
+            }
+
+            d3.select(this)
+                .call(reference.button)
+                .call(reference.body);
+        });
+
+        $items.select('input.key')
+            .value(function(d) { return d.key; })
+            .on('blur', keyChange)
+            .on('change', keyChange);
+
+        $items.select('input.value')
+            .value(function(d) { return d.value; })
+            .on('blur', valueChange)
+            .on('change', valueChange)
+            .on('keydown.push-more', pushMore);
+
+        $items.select('button.remove')
+            .on('click', removeTag);
+
+        $items.exit()
+            .remove();
+
+        function pushMore() {
+            if (d3.event.keyCode === 9 && !d3.event.shiftKey &&
+                $list.selectAll('li:last-child input.value').node() === this) {
+                addTag();
+            }
+        }
+
+        function bindTypeahead() {
+            var row = d3.select(this),
+                key = row.selectAll('input.key'),
+                value = row.selectAll('input.value');
+
+            function sort(value, data) {
+                var sameletter = [],
+                    other = [];
+                for (var i = 0; i < data.length; i++) {
+                    if (data[i].value.substring(0, value.length) === value) {
+                        sameletter.push(data[i]);
+                    } else {
+                        other.push(data[i]);
                     }
                 }
-            },
-            "address": {
-                "label": "Adres",
-                "placeholders": {
-                    "housename": "Bina Adı",
-                    "number": "123",
-                    "street": "Sokak",
-                    "city": "Şehir"
-                }
-            },
-            "aeroway": {
-                "label": "Tip"
-            },
-            "amenity": {
-                "label": "Tip"
-            },
-            "atm": {
-                "label": "ATM"
-            },
-            "barrier": {
-                "label": "Tip"
-            },
-            "bicycle_parking": {
-                "label": "Tip"
-            },
-            "building": {
-                "label": "Bina"
-            },
-            "building_area": {
-                "label": "Bina"
-            },
-            "building_yes": {
-                "label": "Bina"
-            },
-            "capacity": {
-                "label": "Kapasite"
-            },
-            "collection_times": {
-                "label": "Toplanma Zamanları"
-            },
-            "construction": {
-                "label": "Tip"
-            },
-            "country": {
-                "label": "Ülke"
-            },
-            "crossing": {
-                "label": "Tip"
-            },
-            "cuisine": {
-                "label": "Mutfak"
-            },
-            "denomination": {
-                "label": "Sınıf"
-            },
-            "denotation": {
-                "label": "Ünvan"
-            },
-            "elevation": {
-                "label": "Yükseklik"
-            },
-            "emergency": {
-                "label": "Acil"
-            },
-            "entrance": {
-                "label": "Tip"
-            },
-            "fax": {
-                "label": "Faks"
-            },
-            "fee": {
-                "label": "Ücret"
-            },
-            "highway": {
-                "label": "Tip"
-            },
-            "historic": {
-                "label": "Tip"
-            },
-            "internet_access": {
-                "label": "İnternet Bağlantısı",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Kablolu",
-                    "terminal": "Terminal"
-                }
-            },
-            "landuse": {
-                "label": "Tip"
-            },
-            "lanes": {
-                "label": "Şerit"
-            },
-            "layer": {
-                "label": "Katman"
-            },
-            "leisure": {
-                "label": "Tip"
-            },
-            "levels": {
-                "label": "Bölümler"
-            },
-            "man_made": {
-                "label": "Tip"
-            },
-            "maxspeed": {
-                "label": "Hız Limiti"
-            },
-            "natural": {
-                "label": "Doğal"
-            },
-            "network": {
-                "label": "Ağ"
-            },
-            "note": {
-                "label": "Not"
-            },
-            "office": {
-                "label": "Tip"
-            },
-            "oneway": {
-                "label": "Tek Yön"
-            },
-            "oneway_yes": {
-                "label": "Tek Yön"
-            },
-            "opening_hours": {
-                "label": "Saatler"
-            },
-            "operator": {
-                "label": "Operatör"
-            },
-            "parking": {
-                "label": "Tür"
-            },
-            "phone": {
-                "label": "Telefon"
-            },
-            "place": {
-                "label": "Tip"
-            },
-            "power": {
-                "label": "Tip"
-            },
-            "railway": {
-                "label": "Tip"
-            },
-            "ref": {
-                "label": "Referans"
-            },
-            "religion": {
-                "label": "Dini",
-                "options": {
-                    "christian": "Hristiyan",
-                    "muslim": "Müslüman",
-                    "buddhist": "Budist",
-                    "jewish": "Yahudi",
-                    "hindu": "Hindu",
-                    "shinto": "Şinto",
-                    "taoist": "Taoist"
-                }
-            },
-            "service": {
-                "label": "Tip"
-            },
-            "shelter": {
-                "label": "Barınak"
-            },
-            "shop": {
-                "label": "Tip"
-            },
-            "source": {
-                "label": "Kaynak"
-            },
-            "sport": {
-                "label": "Spor"
-            },
-            "structure": {
-                "label": "Yapı",
-                "options": {
-                    "bridge": "Köprü",
-                    "tunnel": "Tünel"
-                }
-            },
-            "surface": {
-                "label": "Yüzey"
-            },
-            "tourism": {
-                "label": "Tip"
-            },
-            "water": {
-                "label": "Tip"
-            },
-            "waterway": {
-                "label": "Tip"
-            },
-            "website": {
-                "label": "Web Sitesi"
-            },
-            "wetland": {
-                "label": "Tip"
-            },
-            "wheelchair": {
-                "label": "Tekerlekli Sandalye Erişimi"
-            },
-            "wikipedia": {
-                "label": "Vikipedi"
-            },
-            "wood": {
-                "label": "Tip"
+                return sameletter.concat(other);
             }
-        },
-        "presets": {
-            "aeroway/aerodrome": {
-                "name": "Havaalanı"
-            },
-            "aeroway/helipad": {
-                "name": "Helikopter Pisti"
-            },
-            "amenity": {
-                "name": "Dinlenme tesisi"
-            },
-            "amenity/bank": {
-                "name": "Banka"
-            },
-            "amenity/bar": {
-                "name": "Bar"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Bisiklet Parkı"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Bisiklet Kiralama"
-            },
-            "amenity/cafe": {
-                "name": "Kafe",
-                "terms": "kahve,çay,kahveci"
-            },
-            "amenity/cinema": {
-                "name": "Sinema"
-            },
-            "amenity/courthouse": {
-                "name": "Mahkeme"
-            },
-            "amenity/embassy": {
-                "name": "Büyükelçilik"
-            },
-            "amenity/fast_food": {
-                "name": "Fast Food"
-            },
-            "amenity/fire_station": {
-                "name": "İtfaiye"
-            },
-            "amenity/fuel": {
-                "name": "Benzinci"
-            },
-            "amenity/grave_yard": {
-                "name": "Mezarlık"
-            },
-            "amenity/hospital": {
-                "name": "Hastane"
-            },
-            "amenity/library": {
-                "name": "Kütüphane"
-            },
-            "amenity/marketplace": {
-                "name": "Pazar Yeri"
-            },
-            "amenity/parking": {
-                "name": "Park Alanı"
-            },
-            "amenity/pharmacy": {
-                "name": "Eczane"
-            },
-            "amenity/place_of_worship": {
-                "name": "İbadethane"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Kilise"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Sinagog",
-                "terms": "yahudi,sinagog"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Cami",
-                "terms": "müslüman,cami"
-            },
-            "amenity/police": {
-                "name": "Polis"
-            },
-            "amenity/post_office": {
-                "name": "Postane"
-            },
-            "amenity/pub": {
-                "name": "Bar"
-            },
-            "amenity/restaurant": {
-                "name": "Restoran"
-            },
-            "amenity/school": {
-                "name": "Okul"
-            },
-            "amenity/swimming_pool": {
-                "name": "Yüzme Havuzu"
-            },
-            "amenity/telephone": {
-                "name": "Telefon"
-            },
-            "amenity/theatre": {
-                "name": "Tiyatro"
-            },
-            "amenity/toilets": {
-                "name": "Tuvalet"
-            },
-            "amenity/townhall": {
-                "name": "Belediye Binası"
-            },
-            "amenity/university": {
-                "name": "Üniversite"
-            },
-            "barrier": {
-                "name": "Bariyer"
-            },
-            "barrier/block": {
-                "name": "Blok"
-            },
-            "barrier/city_wall": {
-                "name": "Şehir Duvarı"
-            },
-            "barrier/entrance": {
-                "name": "Giriş"
-            },
-            "barrier/fence": {
-                "name": "Çit"
-            },
-            "barrier/gate": {
-                "name": "Kapı"
-            },
-            "barrier/wall": {
-                "name": "Duvar"
-            },
-            "building": {
-                "name": "Bina"
-            },
-            "building/apartments": {
-                "name": "Apartmanlar"
-            },
-            "building/entrance": {
-                "name": "Giriş"
-            },
-            "building/house": {
-                "name": "Ev"
-            },
-            "entrance": {
-                "name": "Giriş"
-            },
-            "highway": {
-                "name": "Otoyol"
-            },
-            "highway/bus_stop": {
-                "name": "Otobüs Durağı"
-            },
-            "highway/crossing": {
-                "name": "Geçit"
-            },
-            "highway/cycleway": {
-                "name": "Bisiklet Yolu"
-            },
-            "highway/footway": {
-                "name": "Yaya Yolu"
-            },
-            "highway/path": {
-                "name": "Patika"
-            },
-            "highway/road": {
-                "name": "Bilinmeyen Yol"
-            },
-            "highway/steps": {
-                "name": "Adım"
-            },
-            "highway/traffic_signals": {
-                "name": "Trafik Sinyali"
-            },
-            "historic": {
-                "name": "Tarihi Site"
-            },
-            "historic/archaeological_site": {
-                "name": "Arkeolojik Alan"
-            },
-            "historic/castle": {
-                "name": "Kale"
-            },
-            "historic/memorial": {
-                "name": "Tarihi Anıt"
-            },
-            "historic/monument": {
-                "name": "Anıt"
-            },
-            "historic/ruins": {
-                "name": "Harabeler"
-            },
-            "landuse/basin": {
-                "name": "Havza"
-            },
-            "landuse/cemetery": {
-                "name": "Mezarlık"
-            },
-            "landuse/commercial": {
-                "name": "Ticari"
-            },
-            "landuse/construction": {
-                "name": "İnşaat"
-            },
-            "landuse/farm": {
-                "name": "Tarla"
-            },
-            "landuse/forest": {
-                "name": "Orman"
-            },
-            "landuse/grass": {
-                "name": "Yeşil Alan"
-            },
-            "landuse/industrial": {
-                "name": "Endüstri"
-            },
-            "landuse/meadow": {
-                "name": "Çayır"
-            },
-            "landuse/residential": {
-                "name": "Yerleşim"
-            },
-            "leisure": {
-                "name": "Keyif"
-            },
-            "leisure/garden": {
-                "name": "Bahçe"
-            },
-            "leisure/golf_course": {
-                "name": "Golf Alanı"
-            },
-            "leisure/park": {
-                "name": "Park"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Amerikan Futbol Sahası"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Beyzbol Sahası"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Basketbol Sahası"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Futbol Sahası"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Tenis Kortu"
-            },
-            "leisure/playground": {
-                "name": "Oyun Alanı"
-            },
-            "leisure/stadium": {
-                "name": "Stadyum"
-            },
-            "leisure/swimming_pool": {
-                "name": "Yüzme Havuzu"
-            },
-            "man_made": {
-                "name": "İnsan Yapımı"
-            },
-            "man_made/pier": {
-                "name": "Rıhtım"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Atıksu Santrali"
-            },
-            "man_made/water_tower": {
-                "name": "Su Kulesi"
-            },
-            "natural": {
-                "name": "Doğal"
-            },
-            "natural/beach": {
-                "name": "Plaj"
-            },
-            "natural/coastline": {
-                "terms": "kıyı"
-            },
-            "natural/grassland": {
-                "name": "Otlak"
-            },
-            "natural/heath": {
-                "name": "Sağlık"
-            },
-            "natural/spring": {
-                "name": "Kaynak"
-            },
-            "natural/tree": {
-                "name": "Ağaç"
-            },
-            "natural/water": {
-                "name": "Su"
-            },
-            "natural/water/lake": {
-                "name": "Göl"
-            },
-            "natural/water/pond": {
-                "name": "Gölet"
-            },
-            "natural/water/reservoir": {
-                "name": "Reservuar"
-            },
-            "office": {
-                "name": "Ofis"
-            },
-            "other": {
-                "name": "Diğer"
-            },
-            "other_area": {
-                "name": "Diğer"
-            },
-            "place": {
-                "name": "Yer"
-            },
-            "place/city": {
-                "name": "Şehir"
-            },
-            "place/island": {
-                "name": "Ada"
-            },
-            "place/town": {
-                "name": "Kasaba"
-            },
-            "place/village": {
-                "name": "Köy"
-            },
-            "power": {
-                "name": "Güç"
-            },
-            "power/generator": {
-                "name": "Elektrik Santrali"
-            },
-            "power/line": {
-                "name": "Güç Hattı"
-            },
-            "power/sub_station": {
-                "name": "Ara istasyon"
-            },
-            "railway": {
-                "name": "Demiryolu"
-            },
-            "railway/station": {
-                "name": "Tren İstasyonu"
-            },
-            "railway/subway": {
-                "name": "Metro"
-            },
-            "railway/subway_entrance": {
-                "name": "Metro Girişi"
-            },
-            "railway/tram": {
-                "name": "Tramvay"
-            },
-            "shop": {
-                "name": "Dükkan"
-            },
-            "shop/bakery": {
-                "name": "Fırın"
-            },
-            "shop/beauty": {
-                "name": "Güzellik Salonu"
-            },
-            "shop/bicycle": {
-                "name": "Bisikletçi"
-            },
-            "shop/books": {
-                "name": "Kitapçı"
-            },
-            "shop/boutique": {
-                "name": "Butik"
-            },
-            "shop/butcher": {
-                "name": "Kasap"
-            },
-            "shop/car": {
-                "name": "Oto Galeri"
-            },
-            "shop/car_parts": {
-                "name": "Araba Parça Mağazası"
-            },
-            "shop/car_repair": {
-                "name": "Tamirci"
-            },
-            "shop/convenience": {
-                "name": "Bakkal"
-            },
-            "shop/dry_cleaning": {
-                "name": "Kuru Temizleme"
-            },
-            "shop/electronics": {
-                "name": "Elektronik Mağazası"
-            },
-            "shop/florist": {
-                "name": "Çiçekçi"
-            },
-            "shop/furniture": {
-                "name": "Mobilya Mağazası"
-            },
-            "shop/gift": {
-                "name": "Hediye Mağazası"
-            },
-            "shop/greengrocer": {
-                "name": "Manav"
-            },
-            "shop/hairdresser": {
-                "name": "Kuaför"
-            },
-            "shop/hardware": {
-                "name": "Donanım Mağazası"
-            },
-            "shop/jewelry": {
-                "name": "Kuyumcu"
-            },
-            "shop/laundry": {
-                "name": "Çamaşır Yıkama"
-            },
-            "shop/mall": {
-                "name": "Alışveriş Merkezi"
-            },
-            "shop/optician": {
-                "name": "Optik"
-            },
-            "shop/shoes": {
-                "name": "Ayakkabı Mağazası"
-            },
-            "shop/supermarket": {
-                "name": "Süpermarket"
-            },
-            "shop/toys": {
-                "name": "Oyuncakçı"
-            },
-            "shop/travel_agency": {
-                "name": "Turizm Acentası"
-            },
-            "tourism": {
-                "name": "Turizm"
-            },
-            "tourism/artwork": {
-                "name": "Sanat eseri"
-            },
-            "tourism/camp_site": {
-                "name": "Kamp Alanı"
-            },
-            "tourism/hostel": {
-                "name": "Hostel"
-            },
-            "tourism/hotel": {
-                "name": "Otel"
-            },
-            "tourism/information": {
-                "name": "Bilgi"
-            },
-            "tourism/motel": {
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "name": "Müze"
-            },
-            "tourism/picnic_site": {
-                "name": "Piknik Alanı"
-            },
-            "tourism/theme_park": {
-                "name": "Tema Parkı"
-            },
-            "tourism/viewpoint": {
-                "name": "Bakış Açısı"
-            },
-            "tourism/zoo": {
-                "name": "Hayvanat Bahçesi"
-            },
-            "waterway": {
-                "name": "Su Yolu"
-            },
-            "waterway/canal": {
-                "name": "Kanal"
-            },
-            "waterway/dam": {
-                "name": "Baraj"
-            },
-            "waterway/river": {
-                "name": "Akarsu"
-            },
-            "waterway/stream": {
-                "name": "Dere"
+
+            key.call(d3.combobox()
+                .fetcher(function(value, callback) {
+                    context.taginfo().keys({
+                        debounce: true,
+                        geometry: context.geometry(id),
+                        query: value
+                    }, function(err, data) {
+                        if (!err) callback(sort(value, data));
+                    });
+                }));
+
+            value.call(d3.combobox()
+                .fetcher(function(value, callback) {
+                    context.taginfo().values({
+                        debounce: true,
+                        key: key.value(),
+                        geometry: context.geometry(id),
+                        query: value
+                    }, function(err, data) {
+                        if (!err) callback(sort(value, data));
+                    });
+                }));
+        }
+
+        function keyChange(d) {
+            var kOld = d.key,
+                kNew = this.value.trim(),
+                tag = {};
+
+            if (kNew && kNew !== kOld) {
+                var match = kNew.match(/^(.*?)(?:_(\d+))?$/),
+                    base = match[1],
+                    suffix = +(match[2] || 1);
+                while (tags[kNew]) {  // rename key if already in use
+                    kNew = base + '_' + suffix++;
+                }
             }
+            tag[kOld] = undefined;
+            tag[kNew] = d.value;
+            d.key = kNew; // Maintain DOM identity through the subsequent update.
+            this.value = kNew;
+            event.change(tag);
+        }
+
+        function valueChange(d) {
+            var tag = {};
+            tag[d.key] = this.value;
+            event.change(tag);
+        }
+
+        function removeTag(d) {
+            var tag = {};
+            tag[d.key] = undefined;
+            event.change(tag);
+            d3.select(this.parentNode).remove();
+        }
+
+        function addTag() {
+            // Wrapped in a setTimeout in case it's being called from a blur
+            // handler. Without the setTimeout, the call to `content` would
+            // wipe out the pending value change.
+            setTimeout(function() {
+                showBlank = true;
+                content($wrap);
+                $list.selectAll('li:last-child input.key').node().focus();
+            }, 0);
         }
     }
+
+    rawTagEditor.state = function(_) {
+        if (!arguments.length) return state;
+        state = _;
+        return rawTagEditor;
+    };
+
+    rawTagEditor.preset = function(_) {
+        if (!arguments.length) return preset;
+        preset = _;
+        return rawTagEditor;
+    };
+
+    rawTagEditor.tags = function(_) {
+        if (!arguments.length) return tags;
+        tags = _;
+        return rawTagEditor;
+    };
+
+    rawTagEditor.entityID = function(_) {
+        if (!arguments.length) return id;
+        id = _;
+        return rawTagEditor;
+    };
+
+    return d3.rebind(rawTagEditor, event, 'on');
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.Restore = function(context) {
+    return function(selection) {
+        if (!context.history().lock() || !context.history().restorableChanges())
+            return;
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+        var modal = iD.ui.modal(selection);
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        modal.select('.modal')
+            .attr('class', 'modal fillL col6');
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.uk = {
-    "modes": {
-        "add_area": {
-            "title": "Полігон",
-            "description": "Додати парки, будівлі, озера та інше на мапу.",
-            "tail": "Клацніть на мапу, щоб розпочати креслити — наприклад, парк, озеро чи будинок."
-        },
-        "add_line": {
-            "title": "Лінія",
-            "description": "Лініями позначаються дороги, вулиці, стежки, чи навіть, канали.",
-            "tail": "Клацніть на мапу, щоб розпочати креслити дорогу, стежку чи канал."
-        },
-        "add_point": {
-            "title": "Точка",
-            "description": "Ресторани, пам’ятники, поштові скрині.",
-            "tail": "Клацніть на мапу, щоб постаивти точку."
-        },
-        "browse": {
-            "title": "Перегляд",
-            "description": "Пересування та масштабування мапи."
-        },
-        "draw_area": {
-            "tail": "Клацніть, щоб додати точку до полігону. Клацніть на початкову точку, щоб замкнути полігон."
-        },
-        "draw_line": {
-            "tail": "Клацніть, щоб додати ще точку до лінії. Клацніть на іншу лінію, щоб з’єднатись з нею, подвійне клацання — завершення креслення лінії."
+        var introModal = modal.select('.content');
+
+        introModal.attr('class','cf');
+
+        introModal.append('div')
+            .attr('class', 'modal-section')
+            .append('h3')
+            .text(t('restore.heading'));
+
+        introModal.append('div')
+            .attr('class','modal-section')
+            .append('p')
+            .text(t('restore.description'));
+
+        var buttonWrap = introModal.append('div')
+            .attr('class', 'modal-actions cf');
+
+        var restore = buttonWrap.append('button')
+            .attr('class', 'restore col6')
+            .text(t('restore.restore'))
+            .on('click', function() {
+                context.history().restore();
+                modal.remove();
+            });
+
+        buttonWrap.append('button')
+            .attr('class', 'reset col6')
+            .text(t('restore.reset'))
+            .on('click', function() {
+                context.history().clearSaved();
+                modal.remove();
+            });
+
+        restore.node().focus();
+    };
+};
+iD.ui.Save = function(context) {
+    var history = context.history(),
+        key = iD.ui.cmd('⌘S');
+
+    function saving() {
+        return context.mode().id === 'save';
+    }
+
+    function save() {
+        d3.event.preventDefault();
+        if (!saving() && history.hasChanges()) {
+            context.enter(iD.modes.Save(context));
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Додано точку.",
-                "vertex": "Точку додано до лінії."
+    }
+
+    return function(selection) {
+        var tooltip = bootstrap.tooltip()
+            .placement('bottom')
+            .html(true)
+            .title(iD.ui.tooltipHtml(t('save.no_changes'), key));
+
+        var button = selection.append('button')
+            .attr('class', 'save col12 disabled')
+            .attr('tabindex', -1)
+            .on('click', save)
+            .call(tooltip);
+
+        button.append('span')
+            .attr('class', 'label')
+            .text(t('save.title'));
+
+        button.append('span')
+            .attr('class', 'count')
+            .text('0');
+
+        var keybinding = d3.keybinding('undo-redo')
+            .on(key, save, true);
+
+        d3.select(document)
+            .call(keybinding);
+
+        var numChanges = 0;
+
+        context.history().on('change.save', function() {
+            var _ = history.difference().summary().length;
+            if (_ === numChanges)
+                return;
+            numChanges = _;
+
+            tooltip.title(iD.ui.tooltipHtml(t(numChanges > 0 ?
+                    'save.help' : 'save.no_changes'), key));
+
+            button
+                .classed('disabled', numChanges === 0)
+                .classed('has-count', numChanges > 0);
+
+            button.select('span.count')
+                .text(numChanges);
+        });
+
+        context.on('enter.save', function() {
+            button.property('disabled', saving());
+            if (saving()) button.call(tooltip.hide);
+        });
+    };
+};
+iD.ui.Scale = function(context) {
+    var projection = context.projection,
+        maxLength = 180,
+        tickHeight = 8;
+
+    function scaleDefs(loc1, loc2) {
+        var lat = (loc2[1] + loc1[1]) / 2,
+            imperial = (iD.detect().locale.toLowerCase() === 'en-us'),
+            conversion = (imperial ? 3.28084 : 1),
+            dist = iD.geo.lonToMeters(loc2[0] - loc1[0], lat) * conversion,
+            scale = { dist: 0, px: 0, text: '' },
+            buckets, i, val, dLon;
+
+        if (imperial) {
+            buckets = [5280000, 528000, 52800, 5280, 500, 50, 5, 1];
+        } else {
+            buckets = [5000000, 500000, 50000, 5000, 500, 50, 5, 1];
+        }
+
+        // determine a user-friendly endpoint for the scale
+        for (i = 0; i < buckets.length; i++) {
+            val = buckets[i];
+            if (dist >= val) {
+                scale.dist = Math.floor(dist / val) * val;
+                break;
             }
-        },
-        "start": {
-            "annotation": {
-                "line": "Розпочато креслення лінії.",
-                "area": "Розпочато креслення полігону."
+        }
+
+        dLon = iD.geo.metersToLon(scale.dist / conversion, lat);
+        scale.px = Math.round(projection([loc1[0] + dLon, loc1[1]])[0]);
+
+        if (imperial) {
+            if (scale.dist >= 5280) {
+                scale.dist /= 5280;
+                scale.text = String(scale.dist) + ' mi';
+            } else {
+                scale.text = String(scale.dist) + ' ft';
             }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Лінію подовженно.",
-                "area": "Полігон змінено."
+        } else {
+            if (scale.dist >= 1000) {
+                scale.dist /= 1000;
+                scale.text = String(scale.dist) + ' km';
+            } else {
+                scale.text = String(scale.dist) + ' m';
             }
-        },
-        "cancel_draw": {
-            "annotation": "Креслення відмінене."
-        },
-        "change_tags": {
-            "annotation": "Теґи змінені."
-        },
-        "circularize": {
-            "title": "Закруглити",
-            "description": {
-                "line": "Робить з лінії коло.",
-                "area": "Перетворює полігон на коло."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Лінія перетворена на коло.",
-                "area": "Полігон перетворено на коло."
-            },
-            "not_closed": "Неможливо перетворити на коло — лінія не замкнена."
-        },
-        "orthogonalize": {
-            "title": "Ортогоналізувати",
-            "description": "Зробити кути прямими.",
-            "key": "Q",
-            "annotation": {
-                "line": "Випрямлено кути лінії.",
-                "area": "Випрямлено кути полігону."
-            },
-            "not_closed": "Неможливо зробити кути прямими — лінія не замкнена."
-        },
-        "delete": {
-            "title": "Вилучити",
-            "description": "Вилучити об’єкт з мапи.",
-            "annotation": {
-                "point": "Вилучено точку.",
-                "vertex": "Вилучено точку з лінії.",
-                "line": "Вилучено лінію.",
-                "area": "Вилучено полігон.",
-                "relation": "Вилучено зв’язок.",
-                "multiple": "Вилучено {n} обґктів."
+        }
+
+        return scale;
+    }
+
+    function update(selection) {
+        // choose loc1, loc2 along bottom of viewport (near where the scale will be drawn)
+        var dims = context.map().dimensions(),
+            loc1 = projection.invert([0, dims[1]]),
+            loc2 = projection.invert([maxLength, dims[1]]),
+            scale = scaleDefs(loc1, loc2);
+
+        selection.select('#scalepath')
+            .attr('d', 'M0.5,0.5v' + tickHeight + 'h' + scale.px + 'v-' + tickHeight);
+
+        selection.select('#scaletext')
+            .attr('x', scale.px + 8)
+            .attr('y', tickHeight)
+            .text(scale.text);
+    }
+
+    return function(selection) {
+        var g = selection.append('svg')
+            .attr('id', 'scale')
+            .append('g')
+            .attr('transform', 'translate(10,11)');
+
+        g.append('path').attr('id', 'scalepath');
+        g.append('text').attr('id', 'scaletext');
+
+        update(selection);
+
+        context.map().on('move.scale', function() {
+            update(selection);
+        });
+    };
+};
+iD.ui.SelectionList = function(context, selectedIDs) {
+
+    function selectEntity(entity) {
+        context.enter(iD.modes.Select(context, [entity.id]).suppressMenu(true));
+    }
+
+
+    function selectionList(selection) {
+        selection.classed('selection-list-pane', true);
+
+        var header = selection.append('div')
+            .attr('class', 'header fillL cf');
+
+        header.append('h3')
+            .text(t('inspector.multiselect'));
+
+        var listWrap = selection.append('div')
+            .attr('class', 'inspector-body');
+
+        var list = listWrap.append('div')
+            .attr('class', 'feature-list cf');
+
+        context.history().on('change.selection-list', drawList);
+        drawList();
+
+        function drawList() {
+            var entities = selectedIDs
+                .map(function(id) { return context.hasEntity(id); })
+                .filter(function(entity) { return entity; });
+
+            var items = list.selectAll('.feature-list-item')
+                .data(entities, iD.Entity.key);
+
+            var enter = items.enter().append('button')
+                .attr('class', 'feature-list-item')
+                .on('click', selectEntity);
+
+            // Enter
+            var label = enter.append('div')
+                .attr('class', 'label')
+                .call(iD.svg.Icon('', 'pre-text'));
+
+            label.append('span')
+                .attr('class', 'entity-type');
+
+            label.append('span')
+                .attr('class', 'entity-name');
+
+            // Update
+            items.selectAll('use')
+                .attr('href', function() {
+                    var entity = this.parentElement.parentElement.__data__;
+                    return '#icon-' + context.geometry(entity.id);
+                });
+
+            items.selectAll('.entity-type')
+                .text(function(entity) { return context.presets().match(entity, context.graph()).name(); });
+
+            items.selectAll('.entity-name')
+                .text(function(entity) { return iD.util.displayName(entity); });
+
+            // Exit
+            items.exit()
+                .remove();
+        }
+    }
+
+    return selectionList;
+
+};
+iD.ui.Sidebar = function(context) {
+    var inspector = iD.ui.Inspector(context),
+        current;
+
+    function sidebar(selection) {
+        var featureListWrap = selection.append('div')
+            .attr('class', 'feature-list-pane')
+            .call(iD.ui.FeatureList(context));
+
+        selection.call(iD.ui.Notice(context));
+
+        var inspectorWrap = selection.append('div')
+            .attr('class', 'inspector-hidden inspector-wrap fr');
+
+        sidebar.hover = function(id) {
+            if (!current && id) {
+                featureListWrap.classed('inspector-hidden', true);
+                inspectorWrap.classed('inspector-hidden', false)
+                    .classed('inspector-hover', true);
+
+                if (inspector.entityID() !== id || inspector.state() !== 'hover') {
+                    inspector
+                        .state('hover')
+                        .entityID(id);
+
+                    inspectorWrap.call(inspector);
+                }
+            } else if (!current) {
+                featureListWrap.classed('inspector-hidden', false);
+                inspectorWrap.classed('inspector-hidden', true);
+                inspector.state('hide');
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Лінію приєднано до точки.",
-                "vertex": "Лінію приєднано до іншої лінії.",
-                "line": "Ліняя з’єднана з іншою лінією.",
-                "area": "Лінія з’єднана з полігоном."
+        };
+
+        sidebar.hover = _.throttle(sidebar.hover, 200);
+
+        sidebar.select = function(id, newFeature) {
+            if (!current && id) {
+                featureListWrap.classed('inspector-hidden', true);
+                inspectorWrap.classed('inspector-hidden', false)
+                    .classed('inspector-hover', false);
+
+                if (inspector.entityID() !== id || inspector.state() !== 'select') {
+                    inspector
+                        .state('select')
+                        .entityID(id)
+                        .newFeature(newFeature);
+
+                    inspectorWrap.call(inspector);
+                }
+            } else if (!current) {
+                featureListWrap.classed('inspector-hidden', false);
+                inspectorWrap.classed('inspector-hidden', true);
+                inspector.state('hide');
             }
-        },
-        "disconnect": {
-            "title": "Від’єднати",
-            "description": "Від’єднати лінії/полігони друг від друга.",
-            "key": "D",
-            "annotation": "Роз’єднано лінії.",
-            "not_connected": "Недостатньо ліній/полігонів для роз’єднання."
-        },
-        "merge": {
-            "title": "Поєднати",
-            "description": "Поєднати лінії.",
-            "key": "C",
-            "annotation": "З’єднати {n} ліній.",
-            "not_eligible": "Ці об’єкти неможливо злити.",
-            "not_adjacent": "Ці лінії неможливо злити, бо вони не з’єднані."
-        },
-        "move": {
-            "title": "Пересунути",
-            "description": "Пересунути об’єкт на інше місце.",
-            "key": "M",
-            "annotation": {
-                "point": "Точку пересунуто.",
-                "vertex": "Точку лінії пересунуто.",
-                "line": "Лінію пересунуто.",
-                "area": "Полігон пересунуто.",
-                "multiple": "Пересунуто кілька об’єктів."
-            },
-            "incomplete_relation": "Цей об’єкт неможливо пересунути, бо він не повністю завантажний."
-        },
-        "rotate": {
-            "title": "Обернути",
-            "description": "Обернути об’єкт навколо його центру.",
-            "key": "R",
-            "annotation": {
-                "line": "Напрямок лінії змінено.",
-                "area": "Полігон обернуто."
-            }
-        },
-        "reverse": {
-            "title": "Розвернути",
-            "description": "Змінити напрямок лінії на протилежний.",
-            "key": "V",
-            "annotation": "Напрямок лінії змінено."
-        },
-        "split": {
-            "title": "Розділити",
-            "description": {
-                "line": "Розділити лінію на дві в цій точці.",
-                "area": "Розділити межі цього полігону надвоє.",
-                "multiple": "Розділити лінію/контур полігону надвоє в цій точці."
-            },
-            "key": "X",
-            "annotation": {
-                "line": "Розділити лінію.",
-                "area": "Розділити лінію полігону.",
-                "multiple": "Розділити {n} лінії/контури полігонів."
-            },
-            "not_eligible": "Неможливо розділити лінію на її початку чи кінці.",
-            "multiple_ways": "Забагато ліній для розділення."
-        }
-    },
-    "nothing_to_undo": "Скасовувати нічого.",
-    "nothing_to_redo": "Повертати нічого.",
-    "just_edited": "Ви тільки що відредагували мапу OpenStreetMap!",
-    "browser_notice": "Цей редактор працює в оглядачах Firefox, Chrome, Safari, Opera і Internet Explorer версії 9 і вище.  Будь ласка, оновіть свій оглядач або скористайтеся редактором Potlatch 2.",
-    "view_on_osm": "Подивитись в ОСМ",
-    "zoom_in_edit": "наблизтесь, щоб редагувати",
-    "logout": "вийти",
-    "loading_auth": "З’єднання з OpenStreetMap…",
-    "report_a_bug": "повідомити про помилку",
-    "commit": {
-        "title": "Зберегти зміни",
-        "description_placeholder": "Короткий опис ваших правок",
-        "message_label": "Надіслати повідомлення",
-        "upload_explanation": "Зміни, зроблені вами під іменем {user}, з’являться на всіх мапах, що використовують дані OpenStreetMap.",
-        "save": "Зберегти",
-        "cancel": "Відмінити",
-        "warnings": "Попередження",
-        "modified": "Змінено",
-        "deleted": "Вилучено",
-        "created": "Створено"
-    },
-    "contributors": {
-        "list": "Тут мапу редагували: {users}",
-        "truncated_list": "Тут мапу редагували {users} та ще {count} інших"
-    },
-    "geocoder": {
-        "title": "Знайти місце",
-        "placeholder": "знайти місце",
-        "no_results": "Неможливо знайти '{name}'"
-    },
-    "geolocate": {
-        "title": "Моє місцезнаходження"
-    },
-    "inspector": {
-        "no_documentation_combination": "Для цієї комбінації теґів немає документації",
-        "no_documentation_key": "Для цього теґа немає документації",
-        "show_more": "Ще",
-        "new_tag": "Новий теґ",
-        "view_on_osm": "Подивитись на openstreetmap.org",
-        "editing_feature": "{feature}",
-        "additional": "Додаткові теґи",
-        "choose": "Виберіть тип об’єкту",
-        "results": "знайдено {n} об’єктів на запит {search}",
-        "reference": "Подивитись на OpenStreetMap Wiki",
-        "back_tooltip": "Змінити тип об’єкта"
-    },
-    "background": {
-        "title": "Фон",
-        "description": "Налаштування фону",
-        "percent_brightness": "прозорість {opacity}%",
-        "fix_misalignment": "Виправити зсув",
-        "reset": "скинути"
-    },
-    "restore": {
-        "heading": "Ви маєте незбережені правки",
-        "description": "У вас виявилися незбережені правки з минулого разу. Відновити їх?",
-        "restore": "Відновити",
-        "reset": "Відкинути"
-    },
-    "save": {
-        "title": "Зберегти",
-        "help": "Зберегти зміни надіславши їх на OpenStreetMap, та зробивши їх доступними всім іншим.",
-        "no_changes": "Зміни для збереження відсутні.",
-        "error": "Під час збереження виникла помилка",
-        "uploading": "Надсилання змін до OpenStreetMap.",
-        "unsaved_changes": "Ви маєте незбережені правки"
-    },
-    "splash": {
-        "welcome": "Ласкаво просимо до редактора OpenStreetMap — iD",
-        "text": "Це експериментальна версія {version}. Докладніше на {website}, сповіщайте про помилки на {github}.",
-        "walkthrough": "Подивитись Покрокове керівництво",
-        "start": "Розпочати редагування"
-    },
-    "source_switch": {
-        "live": "основна",
-        "lose_changes": "Ви маєте незбережені правки. Перемикання на інший сервер мап призведе до їх втрати. Ви дійсно бажаєте підключитись до іншого серверу?",
-        "dev": "тест"
-    },
-    "tag_reference": {
-        "description": "Опис",
-        "on_wiki": "{tag} на wiki.osm.org",
-        "used_with": "використовується з {type}"
-    },
-    "validations": {
-        "untagged_point": "Точка без теґів",
-        "untagged_line": "Лінія без теґів",
-        "untagged_area": "Полігон без  теґів",
-        "many_deletions": "Ви збираєтесь вилучити {n} об’єктів. Ви дійсно бажаєте це зробити? Таке вилучення призведе до їх зникнення з мапи openstreetmap.org.",
-        "tag_suggests_area": "Теґ {tag} зазвичай ставться на полігони, але об’єкт ним не є",
-        "deprecated_tags": "Застарілі теґи: {tags}"
-    },
-    "zoom": {
-        "in": "Наблизитись",
-        "out": "Віддалитись"
-    },
-    "cannot_zoom": "Не можливо зменшити масштаб в поточному режимі.",
-    "gpx": {
-        "local_layer": "Локальний файл GPX",
-        "drag_drop": "Перетягніть файл .gpx на сторінку"
-    },
-    "help": {
-        "title": "Довідка",
-        "help": "# Довідка\n\nЦе редактор для [OpenStreetMap](http://www.openstreetmap.org/),\nвільної мапи світу, яку може редагувати кожний. Ви можете використовувати \nредактор для додавання та уточнення даних у вашій місцевості, роблячи \nмапу вільних та відкритих даних світу ще кращою.\n\nВаші правки будуть доступні кожному, хто користується мапою OpenStreetMap. \nДля того, щоб їх вносити вам потрібно [зареєструватись в OpenStreetMap](https://www.openstreetmap.org/user/new).\n\n[Редактор iD](http://ideditor.com/) —  є спільним проектом [сирці якого \nдоступні на GitHub](https://github.com/systemed/iD).\n",
-        "editing_saving": "# Редагування та збереження\n\nЦей редактор створений переважно для роботи онлайн, і ви зараз\nпрацюєте з ним на веб-сайті.\n\n### Виділення об’єктів\n\nДля виділення об’єктів на мапі, таких як дороги чи пам’ятки, треба\nклацнути по них на мапі. Виділені об’єкти будуть підсвічені, з’явиться\nпанель з подробицями про них та меню із переліком того, що можна\nзробити.\n\nДля виділення кількох об’єктів натисніть 'Shift', клацніть та потягніть\nмишею по мапі. Будуть виділені всі об’єкти, що попали у прямокутник\nвиділення, це дозволить вам виконувати дії одночасно над кількома\nоб’єктами одночасно.\n\n### Збереження правок\n\nПісля того як ви зробили зміни, виправивши дорогу, чи будинок, вони є\nлокальними доки ви не збережете їх на сервері. Не хвилюйтесь, якщо\nви припустились помилки, ви можете відмінити зміни натиснувши на\nкнопку 'Відмінити', а також повернути зміни — натиснувши 'Повернути'\n\nНатисніть 'Зберегти', щоб закінчити групу правок, наприклад, якщо ви\nзакінчили роботу над одним районом міста і бажаєте перейти до іншого.\nВи будете мати можливість переглянути те, що ви зробили, а редактор\nзапропонує вам корисні поради та видасть попередження, якщо у ваші\nправки не виглядають вірними.\n\nЯкщо все виглядає добре, ви можете додати коротке пояснення того, що\nви зробили та натиснути кнопку 'Зберегти' ще раз, щоб надіслати зміни\nдо  [OpenStreetMap.org](http://www.openstreetmap.org/), де вони стануть\nдоступні для всіх інших користувачів для перегляду та вдосконалення.\n\nЯкщо ви не можете закінчити ваші правки за один раз, ви можете лишити\nвікно з редактором відкритим і повернутись (на тому самому комп’ютері та\nоглядачі) до роботи потім — редактор запропонує вам відновити вашу\nроботу.\n",
-        "roads": "# Дороги\n\nВи можете створювати, виправляти та вилучати дороги з допомогою\nцього редактора. Дороги можуть бути будь-якого типу: автомагістралі, \nстежки, велодоріжки та багато інших — все що частіше за все має\nперетин між собою, повинне бути нанесено на мапу.\n\n###  Виділення\n\nКлацніть по дорозі для того щоб її вибрати. Вона стані підсвіченою\nпо всій довжині, поряд на мапі з’явиться невеличке меню з інструментами,\nа на бічній панелі буде показано додаткову інформацію про дорогу.\n\n### Зміна\n\nДоволі часто вам будуть траплятись дороги, що не співпадають із дорогами\nна супутниковому знімку чи треками GPS. Ви можете виправити їх положення.\nАле з початку вирівняйте положення знімку по треках GPS. \n\nПотім клацніть по дорозі, яку ви маєте намір змінити. Вона стане підсвіченою\nі на ній з’являться контрольні точки, які можна рухати, підлаштовуючи положення\nта форму дороги. Якщо вам потрібно додати нову точку, для підвищення деталізації,\nдодайте її подвійним клацанням на відрізку дороги. \n\nЯкщо дорога повинна з’єднуватись з іншою дорогою, але на мапі лінії не\nз’єднані, підтягніть одну із контрольних точок однієї дорого до іншої, для\nїх з’єднання. Мати з’єднані дороги — дуже важливо для мапи, а особливо\nдля впровадження можливості прокладання маршрутів.\n\nВи також можете обрати інструмент 'Перемістити' або натиснути 'M' для \nпереміщення всієї дороги, повторне клацання зберігає нове положення\nдороги.\n\n### Вилучення\n\nЯкщо дороги накреслені зовсім невірно і це добре видно по супутникових\nзнімках, а, в ідеалі, ви точно знаєте що їх у цьому місці немає — ви можете\nїх вилучити, що призведе до їх вилучення з мапи.  Проте будьте уважними,\nвилучення, як і інші виправлення, призведуть до змін на мапі, що доступна\nкожному; також зауважте, що супутникові знімки з часом застарівають, отже\nновозбудована дорога буде на них відсутня. \n\nВи можете вилучити дорогу клацнувши на неї для виділення, потім натиснувши\nна значок із смітником чи натиснувши клавішу 'Delete'.\n\n### Створення\n\nЩо робити — знайшли місце де повинна бути дорога, а її там немає? Оберіть \nінструмент 'Лінія' зверху ліворуч або натисніть клавішу '2' для того, щоб\nрозпочати креслення ліній.\n\nКлацніть на початку дороги на мапі для того, щоб розпочати креслення. Якщо\nдорога відгалужується від існуючої дороги, розпочніть з місця їх з’єднання.\n\nПотім клацайте вздовж дороги так щоб утворився правильний шлях, відповідно\nдо супутникових знімків та/чи треків GPS. Якщо дорога, яку ви креслите, перетинає\nіншу дорогу, з’єднуйте їх клацаючи в точці їх перехрещення. Для закінчення\nкреслення виконайте подвійне клацання мишею чи натисніть 'Enter' на \nклавіатурі.\n",
-        "gps": "# GPS\n\nGPS дані є найбільш надійним джерелом даних для OpenStreetMap.\nЦей редактор підтримує роботу з локальними треками  — файлами `.gpx`\nз вашого комп’ютера. Ви можете отримати GPS треки за допомогою\nчисленних застосунків для смартфонів так само, як і з допомогою\nспеціального GPS-обладнання. \n\nДля того, щоб дізнатись як проводити збір GPS даних прочитайте\n[Збір інформації за допомогою GPS](http://learnosm.org/en/beginner/using-gps/).\n\nДля того, щоб   скористатись GPX треками, перетягніть файл GPX у\nредактор мап. Після того, як його буде розпізнано, він буде доданий\nна мапу у вигляді лінії світло-зеленого кольору. Клацніть на меню\n'Налаштування фону' ліворуч для того, щоб показати, чи приховати,\nабо масштабувати новий шар з GPX.\n\nGPX трек не буде завантажений безпосередньо до OpenStreetMap,\nкращій спосіб його використання — креслити об’єкти на мапі,\nвикористовуючи його для керівництва для додавання об’єктів.\n",
-        "imagery": "# Фон\n\nАерофотознімки є важливим джерелом для картографування. Знімки\nзроблені з літака, супутника, а також з отримані з відкритих джерел\nдоступні в редакторі в меню 'Налаштування фону' ліворуч.\n\nТиповим шаром,  який містить супутникові знімки є [Bing Maps](http://www.bing.com/maps/).\nРухаючись мапою до інших місць ви можете отримати фонові зображення\nз інших джерел. Деякі країни, Сполучені Штати, Франція, Данія, мають\nдуже високоякісні знімки певних територій.\n\nФонове зображення іноді є зміщеним від даних мапи, що є помилкою\nз боку постачальників знімків. Якщо ви помітили, що дороги є зміщеними\nвідносно до фонового зображення, не кидайтесь негайно пересувати їх\nтак, щоб вони співпали із дорогами на знімку. Замість цього спробуйте\nпідлаштувати положення фону, так щоб він співпав із даними. Для цього\nскористуйтесь підменю 'Виправити зсув' наприкінці меню 'Налаштування\nфону'.\n",
-        "addresses": "# Адреси\n\nАдреси є однією із найкориснішою інформацією для мапи.\n\nХоча адреси часто представляються, як частина вулиці, в OpenStreetMap\nвони заносяться до атрибутів будівель та інших місць вздовж вулиць.\n\nВи можете додавати адреси як до споруд, нанесених на мапу у вигляді\nполігонів, так і у вигляді окремих точок. Оптимальним джерелом\nадресної інформації є дослідження місцевості чи особисті знання, так само\nі для інших об’єктів. Копіювання з комерційних джерел, таких як Google Maps\nє суворо забороненим.\n",
-        "inspector": "# Використання Інспектора\n\nІнспектор — елемент інтерфейсу, який з’являється праворуч,\nколи виділяється об’єкт, який дозволяє вам правити атрибути об’єкту.\n\n### Вибір типів об’єкта\n\nПісля того, як ви додали точку, лінію, чи полігон, ви можете вибрати\nтип об’єкту, чи це автомагістраль чи дорога місцевого значення,\nсупермаркет або кафе. Інспектор запропонує вам обрати серед\nрізних типів, також, ви можете пошукати потрібний тип об’єкта\nчерез пошуковий рядок.\n\nНатисніть на прапорець у правому нижньому куті кнопки об’єкта, \nщоб отримати більше відомостей про нього. Натисніть на кнопку,\nщоб застосувати обраний тип до об’єкта.\n\n### Використання форм та редагування теґів\n\nПісля того, як ви обрали тип об’єкта, чи коли ви виділили об’єкт,\nтип якого вже був заданий, інспектор покаже поля властивостей,\nтакі як назва та адреса.\n\nНижче, під ними ви побачите рядок значків для додавання інших\nдеталей: посилання на [Wikipedia](http://www.wikipedia.org/), вказання\nна можливість пересування інвалідним візком та т.і.\n\nВнизу інспектора натисніть на 'Додаткові теґи', щоб додати до\nоб’єкта довільні теґи. [Taginfo](http://taginfo.openstreetmap.org/) є\nгарним джерелом для того, щоб дізнатись про поширені комбінації\nзастосування теґів.\n\nЗміни, які ви робите в інспекторі, автоматично застосовуються до мапи.\nВи можете скасувати їх натиснувши на кнопку 'відмінити'\n\n### Вихід із інспектора\n\nВи можете закрити інспектор, натиснувши на клавішу закриття\nвгорі праворуч, натиснувши 'Escape', чи клацнувши на мапі.\n",
-        "buildings": "# Будівлі\n\nOpenStreetMap — є найбільшою в світі базою даних будівель. Ви можете\nпримати участь у її створенні та покращенні.\n\n### Виділення\n\nДля  того, щоб виділити будівлю, потрібно клацнути на її контурі. Вона\nстане підсвіченою і поруч з’явиться невеличке меню з інструментами, а\nна боковій панелі — докладна інформація про будівлю.\n\n### Змінення\n\nІноді будівлі неточно розміщенні або мають неправильні теґи.\n\nДля того, щоб пересунути будівлю, виділіть її, клацніть на інструмент\n'Переміщення'. Рухайте мишею, щоб пересунути будівлю на нове місце,\nпісля чого клацніть мишею ще раз.\n\nДля того щоб надати будівлі певної форми, перетягуйте точки її контуру\nдо досягнення бажаного результату.\n\n\n### Створення\n\nОдне із питань є в тому, що OpenStreetMap підтримує обидва варіанти \nбудівель: у вигляді полігонів та точок. Основне правило полягає в тому,\nщо _наносити будівлі потрібно у вигляді полігонів, якщо це можливо_, а\nкомпанії, помешкання, зручності та інші речі, які розташовані в будинках —\nточками в межах полігону будівлі.\n\nДля того, щоб розпочати креслення будівлі, оберіть інструмент 'Полігон'\nзверху ліворуч, для закінчення креслення натисніть або 'Return' на \nклавіатурі чи клацнувши на першій  точці для замкнення полігону.\n\n### Вилучення\n\nЯкщо будівля є зовсім неправильною — її немає на супутниковому знімку\nта, в ідеалі, це підтверджено дослідженнями на місцевості — ви можете\nїї вилучити, що призведе до її зникнення з мапи. Будьте обережні, \nвилучаючи об’єкти, ці дії, так само як і інші зміни вони будуть видимі\nвсім іншим; до того ж супутникові знімки можуть бути застарілими, отже\nновозбудовані будівлі будуть на них відсутні.\n\nДля того, щоб вилучити будівлі, виділіть її, потім натисніть на значок із\nзображенням смітника чи натисніть клавішу 'Delete'.\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "На основній мапі показуються данні OpenStreetMap поверх фонового зображення.  Ви можете рухатись мапою перетягуючи її так само, як і на будь якій іншій веб-мапі. **Потягніть мапу!**",
-            "select": "Об’єкти мапи показані трьома різними способами: у вигляді точок, ліній та полігонів. Для того щоб їх виділити треба клацнути по них. **Клацніть на точку для її виділення.**",
-            "header": "В заголовку показується тип об’єкта.",
-            "pane": "Коли об’єкт мапи виділено, з’являється редактор його властивостей. В заголовку буде показаний тип об’єкта, а на головній панелі — атрибути об’єкта, такі як його назва та адреса. **Закрийте редактор об’єктів натиснувши на кнопку вгорі праворуч.**"
-        },
-        "points": {
-            "add": "Точки використовуються для того, щоб позначати такі об’єкти як магазини, ресторани чи пам’ятники. Ними позначаються відповідні місця та додається опис того, що було позначено. **Натисніть на кнопку 'Точка' для додавання нової точки.**",
-            "place": "Для додавання точки треба клацнути на мапі. **Додайте точку поверх будівлі.**",
-            "search": "Існує багато різноманітних об’єктів, які можуть бути представлені точками. Нехай точка, яку ви додали буде Кафе. **Знайдіть 'Кафе' серед інших шаблонів**",
-            "choose": "**Виберіть Кафе із запропонованих варіантів.**",
-            "describe": "Тепер наша точка позначена, як кафе. Використовуючи редактор об’єктів ви можете додати більше інформації про об’єкт. **Додайте назву**",
-            "close": "Редактор об’єктів можна закрити клацнувши на кнопку вгорі праворуч. **Закрийте редактор об’єктів**",
-            "reselect": "Часто точки вже існують, але мають помилки чи не повну інформацію. Ми можемо правити вже існуючі точки. **Виділіть щойно створену точку.**",
-            "fixname": "**Змініть її назву та закрите редактор об’єктів.**",
-            "reselect_delete": "Всі об’єкти на мапі можуть бути вилучені. **Виберіть щойно створену точку.**",
-            "delete": "Меню навколо точки містить дії, які можна застосовувати до неї, включаючи вилучення. **Вилучіть точку.**"
-        },
-        "areas": {
-            "add": "Полігони — більш докладний спосіб представлення об’єктів. Вони надають інформацію про межі об’єктів. Полігони можуть застосовуватись для більшості об’єктів, що позначаються точками, і є більш бажаними у застосуванні. **Натисніть на 'Полігон' для додавання нового полігону.**",
-            "corner": "Полігони кресляться додаванням точок на межах об’єкта. **Поставте першу точку на куті ігрового майданчика.**",
-            "place": "Окресліть територію, додаючи точки. Закінчіть креслення, клацнувши на першу точку. **Накресліть полігон для ігрового майданчика.**",
-            "search": "**Знайдіть Ігровий майданчик.**",
-            "choose": "**Виберіть Ігровий майданчик серед запропонованих варіантів.**",
-            "describe": "**Додайте назву та закрите редактор об’єктів**"
-        },
-        "lines": {
-            "add": "Лінії використовуються для того, щоб позначати такі об’єкти як дороги, залізничні колії та річки. **Натисніть на кнопку 'Лінія' для додавання нової лінії.**",
-            "start": "**Почніть лінію клацнувши на кінці дороги.**",
-            "intersect": "Клацніть, щоб додати ще кілька точок до лінії. Ви можете перетягувати мапу під час креслення у разі потреби. Дороги, та багато ліній інших типів, є частиною великих мереж. Тому дуже важливо, щоб вони були правильно з’єднані друг з другом, для того, щоб можливо було прокласти по них маршрут. **Клацніть на Flower Street, для того, щоб створити перехрещення, що з’єднує дві лінії.**",
-            "finish": "Закінчити креслення лінії можна клацнувши на її останню точку знов. **Закінчіть креслення дороги.**",
-            "road": "**Виберіть Дороги серед запропонованих варіантів**",
-            "residential": "Існує багато різних типів доріг, найбільш уживаним є Дорога місцевого значення. **Виберіть Дорогу місцевого значення** ",
-            "describe": "**Додайте назву дорозі та закрите редактор об’єктів.**",
-            "restart": "Дорога повинна з’єднуватись з "
-        },
-        "startediting": {
-            "help": "Більш докладна документація та покрокове керівництво знаходиться тут.",
-            "save": "Не забувайте регулярно зберігати свої зміни!",
-            "start": "Розпочати!"
-        }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Доступ",
-                "types": {
-                    "access": "Загальний",
-                    "foot": "Пішки",
-                    "motor_vehicle": "Автівкам",
-                    "bicycle": "Велосипедам",
-                    "horse": "Коням"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Дозволений",
-                        "description": "Доступ дозволений законодавчо; право проїзду"
-                    },
-                    "no": {
-                        "title": "Заборонений",
-                        "description": "Доступ не дозволений для широкого загалу"
-                    },
-                    "permissive": {
-                        "title": "З дозволу",
-                        "description": "Доступ дозволений, доки власник не вирішить інакше"
-                    },
-                    "private": {
-                        "title": "Приватний",
-                        "description": "Доступ дозволений лише за персональним дозволом власника"
-                    },
-                    "designated": {
-                        "title": "Зазначений",
-                        "description": "Доступ дозволений відповідними знаками чи на законодавчому рівні"
-                    },
-                    "destination": {
-                        "title": "До місця призначення",
-                        "description": "Доступ дозволений тільки для того, щоб дістатись місця призначення"
-                    }
-                }
-            },
-            "address": {
-                "label": "Адреса",
-                "placeholders": {
-                    "housename": "Назва будинку",
-                    "number": "Номер",
-                    "street": "Вулиця",
-                    "city": "Місто"
-                }
-            },
-            "admin_level": {
-                "label": "Адміністративний рівень"
-            },
-            "aeroway": {
-                "label": "Тип"
-            },
-            "amenity": {
-                "label": "Тип"
-            },
-            "atm": {
-                "label": "Банкомат"
-            },
-            "barrier": {
-                "label": "Тип"
-            },
-            "bicycle_parking": {
-                "label": "Тип"
-            },
-            "building": {
-                "label": "Будинок"
-            },
-            "building_area": {
-                "label": "Будинок"
-            },
-            "building_yes": {
-                "label": "Будинок"
-            },
-            "capacity": {
-                "label": "Міськість"
-            },
-            "cardinal_direction": {
-                "label": "Напрямок"
-            },
-            "clock_direction": {
-                "label": "Напрямок",
-                "options": {
-                    "clockwise": "За годинниковою стрілкою",
-                    "anticlockwise": "Проти годинникової стрілки"
-                }
-            },
-            "collection_times": {
-                "label": "Час виїмки пошти"
-            },
-            "construction": {
-                "label": "Тип"
-            },
-            "country": {
-                "label": "Країна"
-            },
-            "crossing": {
-                "label": "Тип"
-            },
-            "cuisine": {
-                "label": "Кухня"
-            },
-            "denomination": {
-                "label": "Віросповідання"
-            },
-            "denotation": {
-                "label": "Позначення"
-            },
-            "elevation": {
-                "label": "Висота"
-            },
-            "emergency": {
-                "label": "Аварійні служби"
-            },
-            "entrance": {
-                "label": "Тип"
-            },
-            "fax": {
-                "label": "Факс"
-            },
-            "fee": {
-                "label": "Плата"
-            },
-            "highway": {
-                "label": "Тип"
-            },
-            "historic": {
-                "label": "Тип"
-            },
-            "internet_access": {
-                "label": "Доступ до Інтеренету",
-                "options": {
-                    "wlan": "Wifi",
-                    "wired": "Дротовий",
-                    "terminal": "Термінал"
-                }
-            },
-            "landuse": {
-                "label": "Тип"
-            },
-            "lanes": {
-                "label": "Смуги"
-            },
-            "layer": {
-                "label": "Шар"
-            },
-            "leisure": {
-                "label": "Тип"
-            },
-            "levels": {
-                "label": "Поверхи"
-            },
-            "man_made": {
-                "label": "Тип"
-            },
-            "maxspeed": {
-                "label": "Обмеження швидкості"
-            },
-            "name": {
-                "label": "Назва"
-            },
-            "natural": {
-                "label": "Природа"
-            },
-            "network": {
-                "label": "Мережа"
-            },
-            "note": {
-                "label": "Примітка"
-            },
-            "office": {
-                "label": "Тип"
-            },
-            "oneway": {
-                "label": "Односторонній рух"
-            },
-            "oneway_yes": {
-                "label": "Односторонній рух"
-            },
-            "opening_hours": {
-                "label": "Години"
-            },
-            "operator": {
-                "label": "Оператор"
-            },
-            "park_ride": {
-                "label": "Перехоплююча стоянка"
-            },
-            "parking": {
-                "label": "Тип"
-            },
-            "phone": {
-                "label": "Телефон"
-            },
-            "place": {
-                "label": "Тип"
-            },
-            "power": {
-                "label": "Тип"
-            },
-            "railway": {
-                "label": "Тип"
-            },
-            "ref": {
-                "label": "Посилання"
-            },
-            "religion": {
-                "label": "Релігія",
-                "options": {
-                    "christian": "Християнство",
-                    "muslim": "Мусульманство",
-                    "buddhist": "Будизм",
-                    "jewish": "Іудейство",
-                    "hindu": "Хінду",
-                    "shinto": "Сінто",
-                    "taoist": "Даосизм"
-                }
-            },
-            "service": {
-                "label": "Тип"
-            },
-            "shelter": {
-                "label": "Притулок"
-            },
-            "shop": {
-                "label": "Тип"
-            },
-            "source": {
-                "label": "Джерело"
-            },
-            "sport": {
-                "label": "Спорт"
-            },
-            "structure": {
-                "label": "Споруда",
-                "options": {
-                    "bridge": "Міст",
-                    "tunnel": "Тунель",
-                    "embankment": "Насип",
-                    "cutting": "Виїмка"
-                }
-            },
-            "supervised": {
-                "label": "Під наглядом"
-            },
-            "surface": {
-                "label": "Поверхня"
-            },
-            "tourism": {
-                "label": "Тип"
-            },
-            "tracktype": {
-                "label": "Тип"
-            },
-            "water": {
-                "label": "Тип"
-            },
-            "waterway": {
-                "label": "Тип"
-            },
-            "website": {
-                "label": "Вебсайт"
-            },
-            "wetland": {
-                "label": "Тип"
-            },
-            "wheelchair": {
-                "label": "Для інвалідних візків"
-            },
-            "wikipedia": {
-                "label": "Вікіпедія"
-            },
-            "wood": {
-                "label": "Тип"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Аеропорт"
-            },
-            "aeroway/aerodrome": {
-                "name": "Аеропорт",
-                "terms": "літак,аеропорт,аеродром"
-            },
-            "aeroway/helipad": {
-                "name": "Вертолітний майданчик",
-                "terms": "вертоліт,вертолітний майданчик,вертодром"
-            },
-            "amenity": {
-                "name": "Зручності"
-            },
-            "amenity/bank": {
-                "name": "Банк",
-                "terms": "депозитний сейф,бухгалтерія,кредитна спілка,казна,фонди,накопичення,інвестиційна компанія,сховище,резерв,скарбниця,сейф,заощадження,біржа,запаси,запас,скарбниця,багатство,казначейство,трастова компанія,сховище"
-            },
-            "amenity/bar": {
-                "name": "Бар"
-            },
-            "amenity/bench": {
-                "name": "Лавка"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Вело-парковка"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Прокат велосипедів"
-            },
-            "amenity/cafe": {
-                "name": "Кафе",
-                "terms": "кава,чай,кав’ярня"
-            },
-            "amenity/cinema": {
-                "name": "Кінотеатр"
-            },
-            "amenity/courthouse": {
-                "name": "Суд"
-            },
-            "amenity/embassy": {
-                "name": "Амбасада"
-            },
-            "amenity/fast_food": {
-                "name": "Фаст-Фуд"
-            },
-            "amenity/fire_station": {
-                "name": "Пожежна станція"
-            },
-            "amenity/fuel": {
-                "name": "Заправка"
-            },
-            "amenity/grave_yard": {
-                "name": "Цвинтар"
-            },
-            "amenity/hospital": {
-                "name": "Лікарня"
-            },
-            "amenity/library": {
-                "name": "Бібліотека"
-            },
-            "amenity/marketplace": {
-                "name": "Ринок"
-            },
-            "amenity/parking": {
-                "name": "Стоянка"
-            },
-            "amenity/pharmacy": {
-                "name": "Аптека"
-            },
-            "amenity/place_of_worship": {
-                "name": "Культове місце"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Церква"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Синагога",
-                "terms": "іудейство,синагога"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Мечеть",
-                "terms": "мусульманство,мечеть"
-            },
-            "amenity/police": {
-                "name": "Міліція/Поліція"
-            },
-            "amenity/post_box": {
-                "name": "Поштова скриня"
-            },
-            "amenity/post_office": {
-                "name": "Пошта"
-            },
-            "amenity/pub": {
-                "name": "Паб"
-            },
-            "amenity/restaurant": {
-                "name": "Ресторан"
-            },
-            "amenity/school": {
-                "name": "Школа"
-            },
-            "amenity/swimming_pool": {
-                "name": "Басейн"
-            },
-            "amenity/telephone": {
-                "name": "Телефон"
-            },
-            "amenity/theatre": {
-                "name": "Театр",
-                "terms": "театр,вистава,гра,музичний"
-            },
-            "amenity/toilets": {
-                "name": "Туалет"
-            },
-            "amenity/townhall": {
-                "name": "Міська державна адміністрація"
-            },
-            "amenity/university": {
-                "name": "Університет"
-            },
-            "barrier": {
-                "name": "Перепони"
-            },
-            "barrier/block": {
-                "name": "Блок"
-            },
-            "barrier/bollard": {
-                "name": "Стовпчик"
-            },
-            "barrier/cattle_grid": {
-                "name": "Перешкода для худоби"
-            },
-            "barrier/city_wall": {
-                "name": "Міська стіна"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Перешкода для велосипедистів"
-            },
-            "barrier/ditch": {
-                "name": "Канава"
-            },
-            "barrier/entrance": {
-                "name": "Вхід"
-            },
-            "barrier/fence": {
-                "name": "Огорожа"
-            },
-            "barrier/gate": {
-                "name": "Ворота"
-            },
-            "barrier/hedge": {
-                "name": "Жива огорожа"
-            },
-            "barrier/kissing_gate": {
-                "name": "Вузька хвіртка"
-            },
-            "barrier/lift_gate": {
-                "name": "Шлагбаум"
-            },
-            "barrier/retaining_wall": {
-                "name": "Підпірна стіна"
-            },
-            "barrier/stile": {
-                "name": "Перелаз/Турнікет"
-            },
-            "barrier/toll_booth": {
-                "name": "Пункт сплати за проїзд"
-            },
-            "barrier/wall": {
-                "name": "Стіна"
-            },
-            "boundary/administrative": {
-                "name": "Адміністративний кордон"
-            },
-            "building": {
-                "name": "Будинок"
-            },
-            "building/apartments": {
-                "name": "Житло"
-            },
-            "building/entrance": {
-                "name": "Вхід"
-            },
-            "building/house": {
-                "name": "Дім"
-            },
-            "entrance": {
-                "name": "Вхід"
-            },
-            "highway": {
-                "name": "Дорога"
-            },
-            "highway/bridleway": {
-                "name": "Доріжка для вершників "
-            },
-            "highway/bus_stop": {
-                "name": "Автобусна зупинка"
-            },
-            "highway/crossing": {
-                "name": "Прехресття"
-            },
-            "highway/cycleway": {
-                "name": "Вело-доріжка"
-            },
-            "highway/footway": {
-                "name": "Тротуар"
-            },
-            "highway/mini_roundabout": {
-                "name": "Малий круговий рух "
-            },
-            "highway/motorway": {
-                "name": "Автомагістраль"
-            },
-            "highway/motorway_junction": {
-                "name": "З’єднання з автомагістраллю"
-            },
-            "highway/motorway_link": {
-                "name": "З’їзд з/на автомагістраль"
-            },
-            "highway/path": {
-                "name": "Тропа"
-            },
-            "highway/pedestrian": {
-                "name": "Пішохідна доріжка"
-            },
-            "highway/primary": {
-                "name": "Головна дорога"
-            },
-            "highway/primary_link": {
-                "name": "З’їзд з/на головну дорогу"
-            },
-            "highway/residential": {
-                "name": "Дорога місцевого значення"
-            },
-            "highway/road": {
-                "name": "Тип невідомий"
-            },
-            "highway/secondary": {
-                "name": "Другорядна дорога"
-            },
-            "highway/secondary_link": {
-                "name": "З’їзд з/на другорядну дорогу"
-            },
-            "highway/service": {
-                "name": "Третинна дорога"
-            },
-            "highway/steps": {
-                "name": "Сходи"
-            },
-            "highway/tertiary": {
-                "name": "Третинна дорога"
-            },
-            "highway/tertiary_link": {
-                "name": "З’їзд з/на третинну дорогу"
-            },
-            "highway/track": {
-                "name": "Грунтовка"
-            },
-            "highway/traffic_signals": {
-                "name": "Світлофор"
-            },
-            "highway/trunk": {
-                "name": "Шосе"
-            },
-            "highway/trunk_link": {
-                "name": "З’їзд з/на шосе"
-            },
-            "highway/turning_circle": {
-                "name": "Місце для розвороту"
-            },
-            "highway/unclassified": {
-                "name": "Не має класифікації"
-            },
-            "historic": {
-                "name": "Історичні місця"
-            },
-            "historic/archaeological_site": {
-                "name": "Археологічні пам’ятки"
-            },
-            "historic/boundary_stone": {
-                "name": "Прикордонний камінь"
-            },
-            "historic/castle": {
-                "name": "За́мок"
-            },
-            "historic/memorial": {
-                "name": "Пам’ятник"
-            },
-            "historic/monument": {
-                "name": "Пам’ятник"
-            },
-            "historic/ruins": {
-                "name": "Руїни"
-            },
-            "historic/wayside_cross": {
-                "name": "Придорожній хрест"
-            },
-            "historic/wayside_shrine": {
-                "name": "Придорожня рака"
-            },
-            "landuse": {
-                "name": "Землекористування"
-            },
-            "landuse/allotments": {
-                "name": "Дачі/горо́ди"
-            },
-            "landuse/basin": {
-                "name": "Водойма"
-            },
-            "landuse/cemetery": {
-                "name": "Кладовище"
-            },
-            "landuse/commercial": {
-                "name": "Діловий район"
-            },
-            "landuse/construction": {
-                "name": "Будівництво"
-            },
-            "landuse/farm": {
-                "name": "Ферма"
-            },
-            "landuse/farmyard": {
-                "name": "Двір ферми"
-            },
-            "landuse/forest": {
-                "name": "Лісовий масив"
-            },
-            "landuse/grass": {
-                "name": "Трава"
-            },
-            "landuse/industrial": {
-                "name": "Промзона"
-            },
-            "landuse/meadow": {
-                "name": "Левада"
-            },
-            "landuse/orchard": {
-                "name": "Сад"
-            },
-            "landuse/quarry": {
-                "name": "Кар’єр"
-            },
-            "landuse/residential": {
-                "name": "Житлова зона"
-            },
-            "landuse/vineyard": {
-                "name": "Виноградник"
-            },
-            "leisure": {
-                "name": "Дозвілля"
-            },
-            "leisure/garden": {
-                "name": "Сад"
-            },
-            "leisure/golf_course": {
-                "name": "Поле для гольфу"
-            },
-            "leisure/marina": {
-                "name": "Пристань для яхт"
-            },
-            "leisure/park": {
-                "name": "Парк"
-            },
-            "leisure/pitch": {
-                "name": "Спортивний майданчик"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Поле для американського футболу"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Бейсбольний майданчик"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Баскетбольний майданчик"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Футбольне поле"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Тенісний майданчик"
-            },
-            "leisure/playground": {
-                "name": "Ігровий майданчик"
-            },
-            "leisure/slipway": {
-                "name": "Сліп"
-            },
-            "leisure/stadium": {
-                "name": "Стадіон"
-            },
-            "leisure/swimming_pool": {
-                "name": "Басейн"
-            },
-            "man_made": {
-                "name": "Штучні споруди"
-            },
-            "man_made/lighthouse": {
-                "name": "Маяк"
-            },
-            "man_made/pier": {
-                "name": "Пірс"
-            },
-            "man_made/survey_point": {
-                "name": "Геодезичний пункт"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Очисні споруди"
-            },
-            "man_made/water_tower": {
-                "name": "Водонапірна вежа"
-            },
-            "man_made/water_works": {
-                "name": "Водозабір"
-            },
-            "natural": {
-                "name": "Природа"
-            },
-            "natural/bay": {
-                "name": "Затока"
-            },
-            "natural/beach": {
-                "name": "Пляж"
-            },
-            "natural/cliff": {
-                "name": "Скеля/Яр"
-            },
-            "natural/coastline": {
-                "name": "Берегова лінія",
-                "terms": "прибійна смуга"
-            },
-            "natural/glacier": {
-                "name": "Льодовик"
-            },
-            "natural/grassland": {
-                "name": "Трави"
-            },
-            "natural/heath": {
-                "name": "Пустир/Вереск"
-            },
-            "natural/peak": {
-                "name": "Пік"
-            },
-            "natural/scrub": {
-                "name": "Чагарник"
-            },
-            "natural/spring": {
-                "name": "Джерело"
-            },
-            "natural/tree": {
-                "name": "Дерево"
-            },
-            "natural/water": {
-                "name": "Вода"
-            },
-            "natural/water/lake": {
-                "name": "Озеро"
-            },
-            "natural/water/pond": {
-                "name": "Ставок"
-            },
-            "natural/water/reservoir": {
-                "name": "Резервуар"
-            },
-            "natural/wetland": {
-                "name": "Заболочені землі"
-            },
-            "natural/wood": {
-                "name": "Дерева"
-            },
-            "office": {
-                "name": "Офіс"
-            },
-            "other": {
-                "name": "Інше"
-            },
-            "other_area": {
-                "name": "Інше"
-            },
-            "place": {
-                "name": "Місцевість"
-            },
-            "place/city": {
-                "name": "Місто"
-            },
-            "place/hamlet": {
-                "name": "Хутір"
-            },
-            "place/island": {
-                "name": "Острів"
-            },
-            "place/isolated_dwelling": {
-                "name": "Відокремлене житло"
-            },
-            "place/locality": {
-                "name": "Місцевість"
-            },
-            "place/town": {
-                "name": "Місто"
-            },
-            "place/village": {
-                "name": "Село"
-            },
-            "power": {
-                "name": "Енергетика"
-            },
-            "power/generator": {
-                "name": "Електростанція"
-            },
-            "power/line": {
-                "name": "Лінія електропередач"
-            },
-            "power/pole": {
-                "name": "Опора"
-            },
-            "power/sub_station": {
-                "name": "Підстанція"
-            },
-            "power/tower": {
-                "name": "Опора ЛЕП"
-            },
-            "power/transformer": {
-                "name": "Трансформатор"
-            },
-            "railway": {
-                "name": "Залізниця"
-            },
-            "railway/abandoned": {
-                "name": "Занедбані колії"
-            },
-            "railway/disused": {
-                "name": "Путі, що не використовуються"
-            },
-            "railway/level_crossing": {
-                "name": "Залізничний переїзд"
-            },
-            "railway/monorail": {
-                "name": "Монорейка"
-            },
-            "railway/platform": {
-                "name": "Залізнична платформа"
-            },
-            "railway/rail": {
-                "name": "Рейки"
-            },
-            "railway/station": {
-                "name": "Залізнична станція"
-            },
-            "railway/subway": {
-                "name": "Метрополітен"
-            },
-            "railway/subway_entrance": {
-                "name": "Вхід до метро"
-            },
-            "railway/tram": {
-                "name": "Трамвай",
-                "terms": "трамвай"
-            },
-            "shop": {
-                "name": "Магазини/Майстерні"
-            },
-            "shop/alcohol": {
-                "name": "Алкогольні напої"
-            },
-            "shop/bakery": {
-                "name": "Булочна"
-            },
-            "shop/beauty": {
-                "name": "Cалон краси"
-            },
-            "shop/beverages": {
-                "name": "Напої"
-            },
-            "shop/bicycle": {
-                "name": "Веломагазин"
-            },
-            "shop/books": {
-                "name": "Книгарня"
-            },
-            "shop/boutique": {
-                "name": "Бутік"
-            },
-            "shop/butcher": {
-                "name": "М’ясна лавка"
-            },
-            "shop/car": {
-                "name": "Автосалон"
-            },
-            "shop/car_parts": {
-                "name": "Автозапчастини"
-            },
-            "shop/car_repair": {
-                "name": "Автомайстерня"
-            },
-            "shop/chemist": {
-                "name": "Побутова хімія"
-            },
-            "shop/clothes": {
-                "name": "Одяг"
-            },
-            "shop/computer": {
-                "name": "Комп’ютери"
-            },
-            "shop/confectionery": {
-                "name": "Кондитерська"
-            },
-            "shop/convenience": {
-                "name": "міні-маркет"
-            },
-            "shop/deli": {
-                "name": "Делікатеси/Вишукана їжа"
-            },
-            "shop/department_store": {
-                "name": "Універмаг"
-            },
-            "shop/doityourself": {
-                "name": "Зроби сам"
-            },
-            "shop/dry_cleaning": {
-                "name": "Хімчистка"
-            },
-            "shop/electronics": {
-                "name": "Електроніка"
-            },
-            "shop/fishmonger": {
-                "name": "Риба"
-            },
-            "shop/florist": {
-                "name": "Квіти"
-            },
-            "shop/furniture": {
-                "name": "Меблі"
-            },
-            "shop/garden_centre": {
-                "name": "Садово-парковий центр"
-            },
-            "shop/gift": {
-                "name": "Подарунки"
-            },
-            "shop/greengrocer": {
-                "name": "Овочевий"
-            },
-            "shop/hairdresser": {
-                "name": "Перукарня"
-            },
-            "shop/hardware": {
-                "name": "Господарські товари"
-            },
-            "shop/hifi": {
-                "name": "Аудіо апаратура"
-            },
-            "shop/jewelry": {
-                "name": "Ювелірні прикраси"
-            },
-            "shop/kiosk": {
-                "name": "Кіоск"
-            },
-            "shop/laundry": {
-                "name": "Пральня"
-            },
-            "shop/mall": {
-                "name": "Торгівельний центр"
-            },
-            "shop/mobile_phone": {
-                "name": "Мобільні телефони"
-            },
-            "shop/motorcycle": {
-                "name": "Мотомагазин"
-            },
-            "shop/music": {
-                "name": "Музичний магазин"
-            },
-            "shop/newsagent": {
-                "name": "Газетний кіоск"
-            },
-            "shop/optician": {
-                "name": "Оптика"
-            },
-            "shop/outdoor": {
-                "name": "Товари для активного відпочинку"
-            },
-            "shop/pet": {
-                "name": "Товари для тварин"
-            },
-            "shop/shoes": {
-                "name": "Взуття"
-            },
-            "shop/sports": {
-                "name": "Спорттовари"
-            },
-            "shop/stationery": {
-                "name": "Канцтовари"
-            },
-            "shop/supermarket": {
-                "name": "Супермаркет"
-            },
-            "shop/toys": {
-                "name": "Іграшки"
-            },
-            "shop/travel_agency": {
-                "name": "Туристична агенція"
-            },
-            "shop/tyres": {
-                "name": "Колеса та шини"
-            },
-            "shop/vacant": {
-                "name": "Здається в оренду"
-            },
-            "shop/variety_store": {
-                "name": "Універсам"
-            },
-            "shop/video": {
-                "name": "Відео"
-            },
-            "tourism": {
-                "name": "Туризм"
-            },
-            "tourism/alpine_hut": {
-                "name": "Гірський притулок"
-            },
-            "tourism/artwork": {
-                "name": "Витвори мистецтв"
-            },
-            "tourism/attraction": {
-                "name": "Визначне місце"
-            },
-            "tourism/camp_site": {
-                "name": "Кемпінг"
-            },
-            "tourism/caravan_site": {
-                "name": "Караван-парк"
-            },
-            "tourism/chalet": {
-                "name": "Шале"
-            },
-            "tourism/guest_house": {
-                "name": "Гостьовий будинок"
-            },
-            "tourism/hostel": {
-                "name": "Хостел"
-            },
-            "tourism/hotel": {
-                "name": "Готель"
-            },
-            "tourism/information": {
-                "name": "Інформація"
-            },
-            "tourism/motel": {
-                "name": "Мотель"
-            },
-            "tourism/museum": {
-                "name": "Музей"
-            },
-            "tourism/picnic_site": {
-                "name": "Місце для пікніка"
-            },
-            "tourism/theme_park": {
-                "name": "Тематичний парк"
-            },
-            "tourism/viewpoint": {
-                "name": "Оглядовий майданчик"
-            },
-            "tourism/zoo": {
-                "name": "Зоопарк"
-            },
-            "waterway": {
-                "name": "Водний шлях"
-            },
-            "waterway/canal": {
-                "name": "Канал"
-            },
-            "waterway/dam": {
-                "name": "Дамба"
-            },
-            "waterway/ditch": {
-                "name": "Канава"
-            },
-            "waterway/drain": {
-                "name": "Дренажний канал"
-            },
-            "waterway/river": {
-                "name": "Ріка"
-            },
-            "waterway/riverbank": {
-                "name": "Берег ріки"
-            },
-            "waterway/stream": {
-                "name": "Струмок"
-            },
-            "waterway/weir": {
-                "name": "Водозлив"
-            }
-        }
+        };
+
+        sidebar.show = function(component) {
+            featureListWrap.classed('inspector-hidden', true);
+            inspectorWrap.classed('inspector-hidden', true);
+            if (current) current.remove();
+            current = selection.append('div')
+                .attr('class', 'sidebar-component')
+                .call(component);
+        };
+
+        sidebar.hide = function() {
+            featureListWrap.classed('inspector-hidden', false);
+            inspectorWrap.classed('inspector-hidden', true);
+            if (current) current.remove();
+            current = null;
+        };
     }
+
+    sidebar.hover = function() {};
+    sidebar.select = function() {};
+    sidebar.show = function() {};
+    sidebar.hide = function() {};
+
+    return sidebar;
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.SourceSwitch = function(context) {
+    var keys;
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    function click() {
+        d3.event.preventDefault();
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        if (context.history().hasChanges() &&
+            !window.confirm(t('source_switch.lose_changes'))) return;
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.vi = {
-    "modes": {
-        "add_area": {
-            "title": "Vùng",
-            "description": "Thêm công viên, tòa nhà, hồ nước, hoặc vùng khác vào bản đồ.",
-            "tail": "Nhấn vào bản đồ để bắt đầu vẽ vùng."
-        },
-        "add_line": {
-            "title": "Đường",
-            "description": "Thêm con đường, lối đi bộ, dòng nước, hoặc đường kẻ khác vào bản đồ.",
-            "tail": "Nhấn vào bản đồ để bắt đầu vẽ đường kẻ."
-        },
-        "add_point": {
-            "title": "Điểm",
-            "description": "Thêm nhà hàng, đài kỷ niệm, hòm thư, hoặc địa điểm khác vào bản đồ.",
-            "tail": "Nhấn vào bản đồ để thêm địa điểm."
-        },
-        "browse": {
-            "title": "Duyệt",
-            "description": "Di chuyển và thu phóng bản đồ."
-        },
-        "draw_area": {
-            "tail": "Nhấn chuột để thêm nốt vào vùng. Nhấn nốt đầu tiên để hoàn thành vùng."
-        },
-        "draw_line": {
-            "tail": "Nhấn chuột để thêm nốt vào đường kẻ. Nhấn vào đường khác để nối đường lại. Nhấn đúp để hoàn thành đường."
-        }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "Đã thêm địa điểm.",
-                "vertex": "Đã thêm nốt vào lối."
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "Đã bắt đầu vẽ đường kẻ.",
-                "area": "Đã bắt đầu vẽ vùng."
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "Đã vẽ tiếp đường kẻ.",
-                "area": "Đã vẽ tiếp vùng."
-            }
-        },
-        "cancel_draw": {
-            "annotation": "Đã hủy vẽ đối tượng."
-        },
-        "change_tags": {
-            "annotation": "Đã thay đổi thẻ."
-        },
-        "circularize": {
-            "title": "Làm Tròn",
-            "description": {
-                "line": "Làm tròn đường kẻ này.",
-                "area": "Làm tròn vùng này."
-            },
-            "key": "O",
-            "annotation": {
-                "line": "Đã làm tròn một đường kẻ.",
-                "area": "Đã làm tròn một vùng."
-            },
-            "not_closed": "Không thể làm tròn một đối tượng không phải là đa giác kín."
-        },
-        "orthogonalize": {
-            "title": "Làm Vuông góc",
-            "description": "Làm vuông góc một đối tượng.",
-            "key": "Q",
-            "annotation": {
-                "line": "Đã làm vuông góc một đường kẻ.",
-                "area": "Đã làm vuông góc một vùng."
-            },
-            "not_closed": "Không thể làm vuông góc một đối tượng không phải là đa giác kín."
-        },
-        "delete": {
-            "title": "Xóa",
-            "description": "Xóa đối tượng này khỏi bản đồ.",
-            "annotation": {
-                "point": "Đã xóa địa điểm.",
-                "vertex": "Đã xóa nốt khỏi lối.",
-                "line": "Đã xóa đường kẻ.",
-                "area": "Đã xóa vùng.",
-                "relation": "Đã xóa quan hệ.",
-                "multiple": "Đã xóa {n} đối tượng."
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "Đã nối liền lối với địa điểm.",
-                "vertex": "Đã nối liền đường kẻ với đường khác.",
-                "line": "Đã nối liền lối với đường kẻ.",
-                "area": "Đã nối liền đường kẻ với vùng."
-            }
-        },
-        "disconnect": {
-            "title": "Tháo gỡ",
-            "description": "Gỡ các lối này khỏi nhau.",
-            "key": "G",
-            "annotation": "Đã tháo gỡ đường kẻ và vùng.",
-            "not_connected": "Không có đủ đường kẻ hoặc vùng ở đây để tháo gỡ."
-        },
-        "merge": {
-            "title": "Hợp nhất",
-            "description": "Hợp nhất các đường kẻ này.",
-            "key": "H",
-            "annotation": "Đã hợp nhất {n} đường kẻ.",
-            "not_eligible": "Không thể hợp nhất các đối tượng này.",
-            "not_adjacent": "Không thể hợp nhất các đường kẻ không nối liền với nhau."
-        },
-        "move": {
-            "title": "Di chuyển",
-            "description": "Di chuyển đối tượng này sang chỗ khác.",
-            "key": "D",
-            "annotation": {
-                "point": "Đã di chuyển địa điểm.",
-                "vertex": "Đã di chuyển nốt trong lối.",
-                "line": "Đã di chuyển đường kẻ.",
-                "area": "Đã di chuyển vùng.",
-                "multiple": "Đã di chuyển hơn một đối tượng."
-            },
-            "incomplete_relation": "Không thể di chuyển đối tượng chưa được tải về hoàn toàn."
-        },
-        "rotate": {
-            "title": "Xoay",
-            "description": "Xoay đối tượng này quanh trung tâm.",
-            "key": "X",
-            "annotation": {
-                "line": "Đã xoay đường kẻ.",
-                "area": "Đã xoay vùng."
-            }
-        },
-        "reverse": {
-            "title": "Đảo ngược",
-            "description": "Đảo nguợc chiều đường kẻ này.",
-            "key": "V",
-            "annotation": "Đã đảo ngược đường kẻ."
-        },
-        "split": {
-            "title": "Chia cắt",
-            "description": {
-                "line": "Cắt đôi đường kẻ này tại nốt này.",
-                "area": "Cắt đôi đường biên của vùng này.",
-                "multiple": "Cắt đôi các đường kẻ và đường viền tại nốt này."
-            },
-            "key": "C",
-            "annotation": {
-                "line": "Đã cắt đôi một đường kẻ.",
-                "area": "Đã cắt đôi một đường biên của vùng.",
-                "multiple": "Đã cắt đôi {n} đường kẻ và đường biên."
-            },
-            "not_eligible": "Không thể cắt đôi đường kẻ vào đầu hoặc cuối đường.",
-            "multiple_ways": "Có quá nhiều đường kẻ tại đây để cắt đôi."
-        }
-    },
-    "nothing_to_undo": "Không có gì để hoàn tác.",
-    "nothing_to_redo": "Không có gì để làm lại.",
-    "just_edited": "Bạn vừa sửa đổi OpenStreetMap!",
-    "browser_notice": "Chường trình vẽ bản đồ này chạy tốt trong Firefox, Chrome, Safari, Opera, và Internet Explorer 9 trở lên. Xin vui lòng nâng cấp trình duyệt của bạn hoặc sửa đổi bản đồ trong Potlatch 2.",
-    "view_on_osm": "Xem tại OSM",
-    "zoom_in_edit": "phóng to để sửa đổi bản đồ",
-    "logout": "đăng xuất",
-    "loading_auth": "Đang kết nối với OpenStreetMap…",
-    "report_a_bug": "báo cáo lỗi",
-    "commit": {
-        "title": "Lưu các Thay đổi",
-        "description_placeholder": "Tóm lược các đóng góp của bạn",
-        "message_label": "Tóm lược sửa đổi",
-        "upload_explanation": "Các thay đổi bạn thực hiện dưới tên {user} sẽ xuất hiện trên tất cả các bản đồ sử dụng dữ liệu OpenStreetMap.",
-        "save": "Lưu",
-        "cancel": "Hủy bỏ",
-        "warnings": "Cảnh báo",
-        "modified": "Đã Thay đổi",
-        "deleted": "Đã Xóa",
-        "created": "Đã Tạo"
-    },
-    "contributors": {
-        "list": "Đang xem các đóng góp của {users}",
-        "truncated_list": "Đang xem các đóng góp của {users} và {count} người khác"
-    },
-    "geocoder": {
-        "title": "Tìm kiếm Địa phương",
-        "placeholder": "Tìm kiếm địa phương",
-        "no_results": "Không tìm thấy địa phương với tên “{name}”"
-    },
-    "geolocate": {
-        "title": "Nhảy tới Vị trí của Tôi"
-    },
-    "inspector": {
-        "no_documentation_combination": "Không có tài liệu về tổ hợp thẻ này",
-        "no_documentation_key": "Không có tài liệu về chìa khóa này",
-        "show_more": "Xem thêm",
-        "new_tag": "Thẻ mới",
-        "view_on_osm": "Xem tại openstreetmap.org",
-        "editing_feature": "Đang sửa {feature}",
-        "additional": "Các thẻ nâng cao",
-        "choose": "Chọn thể loại đối tượng",
-        "results": "{n} kết quả cho {search}",
-        "reference": "Tra cứu OpenStreetMap Wiki",
-        "back_tooltip": "Thay đổi thể loại đối tượng"
-    },
-    "background": {
-        "title": "Hình nền",
-        "description": "Tùy chọn Hình nền",
-        "percent_brightness": "Sáng {opacity}%",
-        "fix_misalignment": "Chỉnh lại hình nền bị chệch",
-        "reset": "đặt lại"
-    },
-    "restore": {
-        "heading": "Bạn có thay đổi chưa lưu",
-        "description": "Bạn có thay đổi chưa lưu từ một phiên làm việc trước đây. Bạn có muốn khôi phục các thay đổi này không?",
-        "restore": "Mở lại",
-        "reset": "Đặt lại"
-    },
-    "save": {
-        "title": "Lưu",
-        "help": "Lưu các thay đổi vào OpenStreetMap để cho mọi người xem.",
-        "no_changes": "Không có thay đổi nào để lưu.",
-        "error": "Đã xuất hiện lỗi khi lưu",
-        "uploading": "Đang tải các thay đổi lên OpenStreetMap.",
-        "unsaved_changes": "Bạn có Thay đổi Chưa lưu"
-    },
-    "splash": {
-        "welcome": "Chào mừng bạn đến với iD, chương trình sửa đổi OpenStreetMap",
-        "text": "Đây là phiên bản đang phát triển {version}. Xem thêm thông tin tại {website} và báo cáo lỗi tại {github}.",
-        "walkthrough": "Mở trình hướng dẫn",
-        "start": "Tiến hành sửa đổi"
-    },
-    "source_switch": {
-        "live": "thật",
-        "lose_changes": "Bạn có các thay đổi chưa lưu. Các thay đổi này sẽ bị mất khi bạn đổi máy chủ bản đồ. Bạn có chắc chắn muốn đổi máy chủ?",
-        "dev": "thử"
-    },
-    "tag_reference": {
-        "description": "Miêu tả",
-        "on_wiki": "{tag} tại wiki.osm.org",
-        "used_with": "được sử dụng với {type}"
-    },
-    "validations": {
-        "untagged_point": "Địa điểm không có thẻ",
-        "untagged_line": "Đường kẻ không có thẻ",
-        "untagged_area": "Vùng không có thẻ",
-        "many_deletions": "Bạn có chắc chắn muốn xóa {n} đối tượng? Các đối tượng này sẽ bị xóa khỏi bản đồ công cộng tại openstreetmap.org.",
-        "tag_suggests_area": "Thẻ {tag} có lẽ dành cho vùng nhưng được gắn vào đường kẻ",
-        "deprecated_tags": "Thẻ bị phản đối: {tags}"
-    },
-    "zoom": {
-        "in": "Phóng to",
-        "out": "Thu nhỏ"
-    },
-    "cannot_zoom": "Không thể thu nhỏ hơn trong chế độ hiện tại.",
-    "gpx": {
-        "local_layer": "Tập tin GPX địa phương",
-        "drag_drop": "Kéo thả một tập tin .gpx vào trang"
-    },
-    "help": {
-        "title": "Trợ giúp",
-        "help": "# Trợ giúp\n\nĐây là trình vẽ của [OpenStreetMap](http://www.openstreetmap.org/), bản đồ có mã nguồn mở và dữ liệu mở cho phép mọi người cùng sửa đổi. Bạn có thể sử dụng chương trình này để bổ sung và cập nhật dữ liệu bản đồ tại khu vực của bạn. Bạn có thể cải tiến bản đồ thế giới mở để cho mọi người sử dụng.\n\nCác sửa đổi của bạn trên bản đồ này sẽ xuất hiện cho mọi người dùng OpenStreetMap. Để sửa bản đồ, bạn cần có một [tài khoản OpenStreetMap miễn phí](https://www.openstreetmap.org/user/new).\n\n[Trình vẽ iD](http://ideditor.com/) là một dự án cộng tác. [Tất cả mã nguồn](https://github.com/systemed/iD) được xuất bản tại GitHub.\n",
-        "editing_saving": "# Sửa đổi & Lưu giữ\n\nĐây là một trình vẽ trực tuyến, nên bạn hiện đang truy cập nó qua một trang Web.\n\n### Lựa chọn Đối tượng\n\nĐể lựa chọn một đối tượng, thí dụ con đường hay địa điểm quan tâm, nhấn chuột vào nó trên bản đồ. Khi đối tượng được chọn, bạn sẽ thấy một biểu mẫu ở bên phải chứa các chi tiết về đối tượng, cũng như một trình đơn giống bảng màu của họa sĩ chứa các tác vụ để thực hiện với đối tượng.\n\nCó thể lựa chọn nhiều đối tượng cùng lúc bằng cách nhấn giữ phím Shift và kéo chuột trên bản đồ. Khi kéo chuột, một hộp sẽ xuất hiện và các đối tượng nằm ở trong hộp này sẽ được chọn. Bạn có thể thực hiện một tác vụ với tất cả các đối tượng này cùng lúc.\n\n### Lưu giữ Sửa đổi\n\nKhi bạn sửa đổi các đường sá, tòa nhà, và địa điểm, các thay đổi này được lưu giữ trên máy cho đến khi bạn đăng nó lên máy chủ. Đừng lo nhầm lẫn: chỉ việc nhấn vào các nút Hoàn tác và Làm lại.\n\nNhấn “Lưu” để hoàn thành một tập hợp sửa đổi, thí dụ bạn vừa vẽ xong một khu và muốn bắt đầu vẽ khu mới. Trình vẽ sẽ trình bày các thay đổi để bạn xem lại, cũng như các gợi ý và cảnh báo nếu bạn đã sửa nhầm lẫn.\n\nNếu các thay đổi đều đâu vào đấy, bạn sẽ nhập lời tóm lược các thay đổi và nhấn “Lưu” lần nữa để đăng các thay đổi lên [OpenStreetMap.org](http://www.openstreetmap.org/). Các thay đổi sẽ xuất hiện tại trang đó để mọi người xem và cải tiến.\n\nNếu bạn chưa xong mà cần rời khỏi máy tính, bạn có thể đóng trình vẽ này không sao. Lần sau trở lại, trình vẽ này sẽ cho phép khôi phục các thay đổi chưa lưu của bạn (miễn là bạn sử dụng cùng máy tính và trình duyệt).\n",
-        "roads": "# Đường sá\n\nTrình vẽ này cho phép tạo, sửa, và xóa các con đường. Con đường không nhất thiết phải là đường phố: có thể vẽ đường cao tốc, đường mòn, đường đi bộ, đường xe đạp…\n\n### Lựa chọn\n\nNhấn vào con đường để lựa chọn nó. Con đường sẽ được tô sáng, một trình đơn công cụ sẽ xuất hiện bên cạnh đường, và thanh bên sẽ trình bày các chi tiết của con đường.\n\n### Sửa đổi\n\nNhiều khi bạn sẽ gặp những con đường bị chệch đối với hình nền hoặc tuyến đường GPS. Bạn có thể chỉnh lại các con đường này để chính xác hơn.\n\nTrước tiên, nhấn vào con đường cần chỉnh lại. Đường sẽ được tô sáng và các nốt sẽ xuất hiện để bạn kéo sang vị trí đúng hơn. Để thêm chi tiết, nhấn đúp vào một khúc đường chưa có nốt, và một nốt mới sẽ xuất hiện để bạn kéo.\n\nNếu con đường nối với đường khác trên thực tiếp, nhưng trên bản đồ thì chưa nối liền, hãy kéo một nốt của một con đường sang đường kia để nối liền hai con đường. Nối liền các đường tại giao lộ là một điều rất quan trọng tăng khả năng chỉ đường.\n\nĐể di chuyển toàn bộ con đường cùng lúc, nhấn vào công cụ “Di chuyển” hoặc nhấn phím tắt `M`, chuyển chuột sang vị trí mới, rồi nhấn chuột để hoàn thành việc di chuyển.\n\n### Xóa\n\nHãy tưởng tượng bạn gặp một con đường hoàn toàn sai: bạn không thấy được con đường trong hình ảnh trên không và, theo lý tưởng, cũng đã ghé vào chỗ đó để xác nhận rằng nó không tồn tại. Nếu trường hợp này, bạn có thể xóa con đường hoàn toàn khỏi bản đồ. Xin cẩn thận khi xóa đối tượng: giống như mọi sửa đổi khác, mọi người sẽ thấy được kết quả. Ngoài ra, hình ảnh trên không nhiều khi lỗi thời – con đường có thể mới xây – thành thử tốt nhất là ghé vào chỗ đó để quan sát chắc chắn, nếu có thể.\n\nĐể xóa một con đường, lựa chọn nó bằng cách nhấn vào nó, rồi nhấn vào hình thùng rác hoặc nhấn phím Delete.\n\n### Tạo mới\n\nBạn có tìm ra một con đường chưa được vẽ trên bản đồ? Hãy bắt đầu vẽ đường kẻ mới bằng cách nhấn vào nút “Đường” ở phía trên bên trái của trình vẽ, hoặc nhấn phím tắt `2`.\n\nNhấn vào bản đồ tại điểm bắt đầu của con đường. Hoặc nếu con đường chia ra từ đường khác đã tồn tại, trước tiên nhấn chuột tại giao lộ giữa hai con đường này.\n\nSau đó, nhấn chuột lần lượt theo lối đường dùng hình ảnh trên không hoặc tuyến đường GPS. Khi nào con đường giao với đường khác, nhấn chuột tại giao lộ để nối liền hai con đường này. Sau khi vẽ xong, nhấn đúp vào nốt cuối dùng hoặc nhấn phím Return hay Enter.\n",
-        "gps": "# GPS\n\nHệ thống định vị toàn cầu, còn gọi GPS, là nguồn dữ liệu tin tưởng nhất trong dự án OpenStreetMap. Trình vẽ này hỗ trợ các tuyến đường địa phương, tức tập tin `.gpx` trên máy tính của bạn. Bạn có thể thu loại tuyến đường GPS này dùng một ứng dụng điện thoại thông minh hoặc máy thu GPS.\n\nĐọc về cách khảo sát bằng GPS trong “[Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/)”.\n\nĐể sử dụng một tuyến đường GPX trong việc vẽ bản đồ, kéo thả tập tin GPX vào trình vẽ bản đồ này. Nếu trình vẽ nhận ra tuyến đường, tuyến đường sẽ được tô màu xanh nõn chuối trên bản đồ. Mở hộp “Tùy chọn Hình nền” ở thanh công cụ bên trái để bật tắt hoặc thu phóng lớp GPX này.\n\nTuyến đường GPX không được tải lên OpenStreetMap trực tiếp. Cách tốt nhất sử dụng nó là vạch đường theo nó trên bản đồ.\n",
-        "imagery": "# Hình ảnh\n\nHình ảnh trên không là một tài nguyên quan trọng trong việc vẽ bản đồ. Có sẵn một số nguồn hình ảnh từ máy bay, vệ tinh, và dịch vụ mở trong trình vẽ này, dưới trình đơn “Tùy chọn Hình nền” ở bên trái.\n\nTheo mặc định, trình vẽ hiển thị lớp trên không của [Bản đồ Bing](http://www.bing.com/maps/), nhưng có sẵn nguồn khác tùy theo vị trí đang xem trong trình duyệt. Ngoài ra có hình ảnh rất rõ tại nhiều vùng ở một số quốc gia như Hoa Kỳ, Pháp, và Đan Mạch.\n\nHình ảnh đôi khi bị chệch đối với dữ liệu bản đồ vì dịch vụ hình ảnh có lỗi. Nếu bạn nhận thấy nhiều con đường bị chệch đối với hình nền, xin đừng di chuyển các đường này để trùng hợp với hình ảnh. Thay vì di chuyển các con đường, hãy chỉnh lại hình ảnh để phù hợp với dữ liệu tồn tại bằng cách nhấn “Chỉnh lại hình nền bị chệch” ở cuối hộp Tùy chọn Hình nền.\n",
-        "addresses": "# Địa chỉ\n\nĐịa chỉ là những thông tin rất cần thiết trên bản đồ.\n\nTuy bản đồ thường trình bày các địa chỉ như một thuộc tính của đường sá, nhưng OpenStreetMap liên kết các địa chỉ với các tòa nhà hoặc miếng đất dọc đường.\n\nBạn có thể thêm thông tin địa chỉ vào các hình dạng tòa nhà hoặc các địa điểm quan tâm. Tốt nhất là lấy thông tin địa chỉ từ kinh nghiệm cá nhân, thí dụ đi dạo trên phố và ghi chép các địa chỉ hoặc nhớ lại những chi tiết từ hoạt động hàng ngày của bạn. Cũng như bất cứ chi tiết nào, dự án này hoàn toàn cấm sao chép từ các nguồn thương mại như Bản đồ Google.\n",
-        "inspector": "# Biểu mẫu\n\nBiểu mẫu là hộp xuất hiện ở bên phải của trang khi nào một đối tượng được chọn. Biểu mẫu này cho phép sửa đổi các chi tiết của các đối tượng được chọn.\n\n### Chọn Thể loại\n\nSau khi thêm địa điểm, đường kẻ, hoặc vùng vào bản đồ, bạn có thể cho biết đối tượng này tượng trưng cho gì, chẳng hạn con đường, siêu thị, hoặc quán cà phê. Biểu mẫu trình bày các nút tiện để chọn các thể loại đối tượng thường gặp, hoặc bạn có thể gõ một vài chữ miêu tả vào hộp tìm kiếm để tìm ra các thể loại khác.\n\nNhấn vào hình dấu trang ở phía dưới bên phải của một nút thể loại để tìm hiểu thêm về thể loại đó. Nhấn vào nút để chọn thể loại đó.\n\n### Điền đơn và Gắn thẻ\n\nSau khi bạn chọn thể loại, hoặc nếu chọn một đối tượng đã có thể loại, biểu mẫu trình bày các trường văn bản và điều khiển để xem và sửa các thuộc tính của đối tượng như tên và địa chỉ.\n\nỞ dưới các điều khiển có một số hình tượng có thể nhấn để thêm chi tiết, chẳng hạn tên bài [Wikipedia](http://www.wikipedia.org/) và mức hỗ trợ xe lăn.\n\nNhấn vào “Các thẻ năng cao” ở cuối biểu mẫu để gắn bất cứ thẻ nào vào đối tượng. [Taginfo](http://taginfo.openstreetmap.org/) là một công cụ rất hữu ích để tìm ra những phối hợp thẻ phổ biến.\n\nCác thay đổi trong biểu mẫu được tự động áp dụng vào bản đồ. Bạn có thể nhấn vào nút “Hoàn tác” vào bất cứ lúc nào để hoàn tác các thay đổi.\n\n### Đóng Biểu mẫu\n\nĐể đóng biểu mẫu, nhấn vào nút Đóng ở phía trên bên phải, nhấn phím Esc, hoặc nhấn vào một khoảng trống trên bản đồ.\n",
-        "buildings": "# Tòa nhà\n\nOpenStreetMap là cơ sở dữ liệu tòa nhà lớn nhất trên thế giới. Mời bạn cùng xây dựng và cải tiến cơ sở dữ liệu này.\n\n### Lựa chọn\n\nNhấn vào một vùng tòa nhà để lựa chọn nó. Đường biên của vùng sẽ được tô sáng, một trình đơn giống bảng màu của họa sĩ sẽ xuất hiện gần con trỏ, và thanh bên sẽ trình bày các chi tiết về con đường.\n\n### Sửa đổi\n\nĐôi khi vị trí hoặc các thẻ của một tòa nhà không chính xác.\n\nĐể di chuyển toàn bộ tòa nhà cùng lúc, lựa chọn vùng, rồi nhấn vào công cụ “Di chuyển”. Chuyển con trỏ sang vị trí mới và nhấn chuột để hoàn thành việc di chuyển.\n\nĐể sửa hình dạng của một tòa nhà, kéo các nốt của đường biên sang các vị trí chính xác.\n\n### Vẽ mới\n\nMột trong những điều gây nhầm lẫn là một tòa nhà có thể là vùng hoặc có thể là địa điểm. Nói chung, khuyên bạn _vẽ tòa nhà là vùng nếu có thể_. Nếu tòa nhà chứa hơn một công ty, chỗ ở, hoặc gì đó có địa chỉ, hãy đặt một địa điểm riêng cho mỗi địa chỉ đó và đưa mỗi địa điểm vào trong vùng của tòa nhà.\n\nĐể bắt đầu vẽ tòa nhà, nhấn vào nút “Vùng” ở phía trên bên trái của trình vẽ. Nhấn chuột tại các góc tường, rồi “đóng” vùng bằng cách nhấn phím Return hay Enter hoặc nhấn vào nốt đầu tiên.\n\n### Xóa\n\nHãy tưởng tượng bạn gặp một tòa nhà hoàn toàn sai: bạn không thấy được tòa nhà trong hình ảnh trên không và, theo lý tưởng, cũng đã ghé vào chỗ đó để xác nhận rằng nó không tồn tại. Nếu trường hợp này, bạn có thể xóa tòa nhà hoàn toàn khỏi bản đồ. Xin cẩn thận khi xóa đối tượng: giống như mọi sửa đổi khác, mọi người sẽ thấy được kết quả. Ngoài ra, hình ảnh trên không nhiều khi lỗi thời – có thể mới xây tòa nhà – thành thử tốt nhất là ghé vào chỗ đó để quan sát chắc chắn, nếu có thể.\n\nĐể xóa một tòa nhà, lựa chọn nó bằng cách nhấn vào nó, rồi nhấn vào hình thùng rác hoặc nhấn phím Delete.\n"
-    },
-    "intro": {
-        "navigation": {
-            "drag": "Bản đồ ở giữa cho xem dữ liệu OpenStreetMap ở trên một hình nền. Bạn có thể kéo thả và cuộn nó để đi tới đi lui, giống như một bản đồ trực tuyến bình thường. **Kéo bản đồ này!**",
-            "select": "Có ba hình thức đối tượng tượng trưng cho tất cả các chi tiết trên bản đồ: địa điểm, đường kẻ, vùng. Nhấn vào một đối tượng để lựa chọn nó. **Nhấn vào địa điểm để lựa chọn nó.**",
-            "header": "Đầu đề cho biết thể loại đối tượng.",
-            "pane": "Khi lựa chọn một đối tượng, bạn sẽ thấy biểu mẫu để sửa đối tượng. Đầu đề của biểu mẫu cho biết thể loại đối tượng, và dưới đó có các thuộc tính của đối tượng, chẳng hạn tên và địa chỉ. **Bấm nút Đóng ở phía trên bên phải để đóng biểu mẫu.**"
-        },
-        "points": {
-            "add": "Một địa điểm chỉ ra và miêu tả một vị trí, chẳng hạn tiệm quán, nhà hàng, đài tưởng niệm. **Nhấn nút Điểm để thêm một địa điểm mới.**",
-            "place": "Nhấn vào bản đồ để đặt địa điểm. **Đặt địa điểm trên tòa nhà.**",
-            "search": "Có đủ thứ địa điểm. Bạn vừa đặt một địa điểm quán cà phê. **Tìm cho “cà phê”.**",
-            "choose": "***Chọn Quán Cà phê từ lưới.***",
-            "describe": "Địa điểm hiện là một quán cà phê. Bây giờ bạn có thể cung cấp thêm chi tiết về địa điểm này trong biểu mẫu. **Nhập tên của địa điểm.**",
-            "close": "Nhấn vào nút Đóng để đóng biểu mẫu. **Đóng biểu mẫu.**",
-            "reselect": "Nhiều khi một địa điểm đã tồn tại nhưng không chính xác hoặc không đầy đủ. Chúng ta có thể sửa đổi địa điểm đã tồn tại. **Lựa chọn địa điểm mà bạn vừa tạo ra.**",
-            "fixname": "**Đổi tên và đóng biểu mẫu.**",
-            "reselect_delete": "Có thể xóa bất cứ đối tượng nào trên bản đồ. **Nhấn vào điểm mà bạn vừa vẽ.**",
-            "delete": "Một trình đơn nhìn giống bảng màu của họa sĩ bọc quanh địa điểm. Nó chứa các tác vụ có thể thực hiện với địa điểm, thí dụ xóa. **Xóa địa điểm này.**"
-        },
-        "areas": {
-            "add": "Bạn có thể vẽ kỹ hơn bằng cách vẽ vùng thay vì địa điểm. Phần nhiều thể loại địa điểm có thể được vẽ như vùng. Khuyên bạn cố gắng vẽ vùng thay vì địa điểm để cho biết đường biên của đối tượng. **Nhấn vào nút Vùng để bắt đầu vẽ vùng mới.**",
-            "corner": "Để vẽ vùng, đặt các nốt theo đường biên của vùng. **Đặt nốt đầu tiên vào một góc của khu vui chơi trẻ em.**",
-            "place": "Đặt thêm nốt để tiếp tục vẽ vùng, rồi nhấn vào nốt đầu tiên để “đóng” vùng này. **Vẽ một vùng cho khu vui chơi trẻ em.**",
-            "search": "**Tìm Khu Vui chơi Trẻ em.**",
-            "choose": "**Chọn Khu Vui chơi Trẻ em từ lưới.**",
-            "describe": "**Đặt tên và đóng biểu mẫu.**"
-        },
-        "lines": {
-            "add": "Các đường kẻ tượng trưng cho đường sá, đường sắt, dòng sông chẳng hạn. **Nhấn vào nút Đường để bắt đầu vẽ đường mới.**",
-            "start": "**Nhấn vào cuối đường để bắt đầu vẽ con đường.**",
-            "intersect": "Nhấn chuột để thêm nốt và kéo dài đường kẻ. Bạn có thể kéo bản đồ vào lúc vẽ đường để xem vùng chung quanh. Tương tự với nhiều loại đường kẻ, các đường bộ kết hợp nhau thành một mạng lớn hơn. Để cho các ứng dụng chỉ đường có thể hoạt động chính xác, xin chú ý nối liền các đường ở những giao lộ trên thực tế. **Nhấn vào đường Flower Street để nối hai đường kẻ tại một giao lộ.**",
-            "finish": "Để kết thúc đường kẻ, nhấn vào nốt cuối cùng lần nữa. **Kết thúc đường.**",
-            "road": "**Chọn Đường Giao thông từ lưới.**",
-            "residential": "Có nhiều kiểu con đường; kiểu phổ biến nhất là Ngõ Dân cư. **Chọn kiểu con đường là Ngõ Dân cư.**",
-            "describe": "**Đặt tên cho con đường và đóng biểu mẫu.**",
-            "restart": "Con đường phải giao với đường Flower Street."
-        },
-        "startediting": {
-            "help": "Có sẵn trình hướng dẫn này và thêm tài liệu tại đây.",
-            "save": "Hãy nhớ lưu các thay đổi của bạn thường xuyên!",
-            "start": "Hãy bắt đầu vẽ bản đồ!"
-        }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "Quyền Truy cập",
-                "types": {
-                    "access": "Tổng quát",
-                    "foot": "Người Đi bộ",
-                    "motor_vehicle": "Xe cộ",
-                    "bicycle": "Xe đạp",
-                    "horse": "Ngựa"
-                },
-                "options": {
-                    "yes": {
-                        "title": "Cho phép",
-                        "description": "Mọi người được phép truy cập theo luật pháp"
-                    },
-                    "no": {
-                        "title": "Cấm",
-                        "description": "Công chúng không được phép truy cập"
-                    },
-                    "permissive": {
-                        "title": "Chủ cho phép",
-                        "description": "Chủ cho phép rộng rãi nhưng có thể cấm sau"
-                    },
-                    "private": {
-                        "title": "Tư nhân",
-                        "description": "Chỉ có những người được chủ cho phép truy cập"
-                    },
-                    "designated": {
-                        "title": "Theo mục đích",
-                        "description": "Được xây với mục đích cho phép vận chuyển bằng phương thức này, theo bảng hay luật pháp địa phương"
-                    },
-                    "destination": {
-                        "title": "Để tới nơi",
-                        "description": "Chỉ cho phép truy cập để tới nơi"
-                    }
-                }
-            },
-            "address": {
-                "label": "Địa chỉ",
-                "placeholders": {
-                    "housename": "Tên nhà",
-                    "number": "123",
-                    "street": "Tên đường",
-                    "city": "Thành phố"
-                }
-            },
-            "admin_level": {
-                "label": "Cấp Hành chính"
-            },
-            "aeroway": {
-                "label": "Loại"
-            },
-            "amenity": {
-                "label": "Loại"
-            },
-            "atm": {
-                "label": "Máy Rút tiền"
-            },
-            "barrier": {
-                "label": "Kiểu"
-            },
-            "bicycle_parking": {
-                "label": "Kiểu"
-            },
-            "building": {
-                "label": "Tòa nhà"
-            },
-            "building_area": {
-                "label": "Tòa nhà"
-            },
-            "building_yes": {
-                "label": "Tòa nhà"
-            },
-            "capacity": {
-                "label": "Số Chỗ Đậu Xe"
-            },
-            "cardinal_direction": {
-                "label": "Chiều"
-            },
-            "clock_direction": {
-                "label": "Chiều",
-                "options": {
-                    "clockwise": "Theo Chiều kim Đồng hồ",
-                    "anticlockwise": "Ngược Chiều kim Đồng hồ"
-                }
-            },
-            "collection_times": {
-                "label": "Giờ Lấy thư"
-            },
-            "construction": {
-                "label": "Kiểu"
-            },
-            "country": {
-                "label": "Quốc gia"
-            },
-            "crossing": {
-                "label": "Kiểu"
-            },
-            "cuisine": {
-                "label": "Ẩm thực"
-            },
-            "denomination": {
-                "label": "Giáo phái"
-            },
-            "denotation": {
-                "label": "Tầm Quan trọng"
-            },
-            "elevation": {
-                "label": "Cao độ"
-            },
-            "emergency": {
-                "label": "Khẩn cấp"
-            },
-            "entrance": {
-                "label": "Kiểu"
-            },
-            "fax": {
-                "label": "Số Fax"
-            },
-            "fee": {
-                "label": "Phí"
-            },
-            "highway": {
-                "label": "Kiểu"
-            },
-            "historic": {
-                "label": "Loại"
-            },
-            "internet_access": {
-                "label": "Truy cập Internet",
-                "options": {
-                    "wlan": "Wi-Fi",
-                    "wired": "Qua dây điện",
-                    "terminal": "Máy tính công cộng"
-                }
-            },
-            "landuse": {
-                "label": "Mục đích"
-            },
-            "lanes": {
-                "label": "Số Làn"
-            },
-            "layer": {
-                "label": "Lớp"
-            },
-            "leisure": {
-                "label": "Loại"
-            },
-            "levels": {
-                "label": "Số Tầng"
-            },
-            "man_made": {
-                "label": "Loại"
-            },
-            "maxspeed": {
-                "label": "Tốc độ Tối đa"
-            },
-            "name": {
-                "label": "Tên"
-            },
-            "natural": {
-                "label": "Thiên nhiên"
-            },
-            "network": {
-                "label": "Hệ thống"
-            },
-            "note": {
-                "label": "Chú thích"
-            },
-            "office": {
-                "label": "Kiểu"
-            },
-            "oneway": {
-                "label": "Một chiều"
-            },
-            "oneway_yes": {
-                "label": "Một chiều"
-            },
-            "opening_hours": {
-                "label": "Giờ Mở cửa"
-            },
-            "operator": {
-                "label": "Cơ quan Chủ quản"
-            },
-            "park_ride": {
-                "label": "Trung chuyển"
-            },
-            "parking": {
-                "label": "Kiểu"
-            },
-            "phone": {
-                "label": "Số Điện thoại"
-            },
-            "place": {
-                "label": "Kiểu"
-            },
-            "power": {
-                "label": "Kiểu"
-            },
-            "railway": {
-                "label": "Kiểu"
-            },
-            "ref": {
-                "label": "Số"
-            },
-            "religion": {
-                "label": "Tôn giáo",
-                "options": {
-                    "christian": "Kitô giáo",
-                    "muslim": "Hồi giáo",
-                    "buddhist": "Phật giáo",
-                    "jewish": "Do Thái giáo",
-                    "hindu": "Ấn Độ giáo",
-                    "shinto": "Thần đạo",
-                    "taoist": "Đạo giáo"
-                }
-            },
-            "service": {
-                "label": "Kiểu"
-            },
-            "shelter": {
-                "label": "Chỗ che"
-            },
-            "shop": {
-                "label": "Kiểu"
-            },
-            "source": {
-                "label": "Nguồn"
-            },
-            "sport": {
-                "label": "Môn Thể thao"
-            },
-            "structure": {
-                "label": "Cấu trúc",
-                "options": {
-                    "bridge": "Cầu",
-                    "tunnel": "Đường hầm",
-                    "embankment": "Đường đắp cao",
-                    "cutting": "Đường xẻ"
+        var live = d3.select(this)
+            .classed('live');
+
+        context.connection()
+            .switch(live ? keys[1] : keys[0]);
+
+        context.enter(iD.modes.Browse(context));
+        context.flush();
+
+        d3.select(this)
+            .text(live ? t('source_switch.dev') : t('source_switch.live'))
+            .classed('live', !live);
+    }
+
+    var sourceSwitch = function(selection) {
+        selection.append('a')
+            .attr('href', '#')
+            .text(t('source_switch.live'))
+            .classed('live', true)
+            .attr('tabindex', -1)
+            .on('click', click);
+    };
+
+    sourceSwitch.keys = function(_) {
+        if (!arguments.length) return keys;
+        keys = _;
+        return sourceSwitch;
+    };
+
+    return sourceSwitch;
+};
+iD.ui.Spinner = function(context) {
+    var connection = context.connection();
+
+    return function(selection) {
+        var img = selection.append('img')
+            .attr('src', context.imagePath('loader-black.gif'))
+            .style('opacity', 0);
+
+        connection.on('loading.spinner', function() {
+            img.transition()
+                .style('opacity', 1);
+        });
+
+        connection.on('loaded.spinner', function() {
+            img.transition()
+                .style('opacity', 0);
+        });
+    };
+};
+iD.ui.Splash = function(context) {
+    return function(selection) {
+        if (context.storage('sawSplash'))
+             return;
+
+        context.storage('sawSplash', true);
+
+        var modal = iD.ui.modal(selection);
+
+        modal.select('.modal')
+            .attr('class', 'modal-splash modal col6');
+
+        var introModal = modal.select('.content')
+            .append('div')
+            .attr('class', 'fillL');
+
+        introModal.append('div')
+            .attr('class','modal-section cf')
+            .append('h3').text(t('splash.welcome'));
+
+        introModal.append('div')
+            .attr('class','modal-section')
+            .append('p')
+            .html(t('splash.text', {
+                version: iD.version,
+                website: '<a href="http://ideditor.com/">ideditor.com</a>',
+                github: '<a href="https://github.com/openstreetmap/iD">github.com</a>'
+            }));
+
+        var buttons = introModal.append('div').attr('class', 'modal-actions cf');
+
+        buttons.append('button')
+            .attr('class', 'col6 walkthrough')
+            .text(t('splash.walkthrough'))
+            .on('click', function() {
+                d3.select(document.body).call(iD.ui.intro(context));
+                modal.close();
+            });
+
+        buttons.append('button')
+            .attr('class', 'col6 start')
+            .text(t('splash.start'))
+            .on('click', modal.close);
+
+        modal.select('button.close').attr('class','hide');
+
+    };
+};
+iD.ui.Status = function(context) {
+    var connection = context.connection(),
+        errCount = 0;
+
+    return function(selection) {
+
+        function update() {
+
+            connection.status(function(err, apiStatus) {
+
+                selection.html('');
+
+                if (err && errCount++ < 2) return;
+
+                if (err) {
+                    selection.text(t('status.error'));
+
+                } else if (apiStatus === 'readonly') {
+                    selection.text(t('status.readonly'));
+
+                } else if (apiStatus === 'offline') {
+                    selection.text(t('status.offline'));
                 }
-            },
-            "supervised": {
-                "label": "Canh gác"
-            },
-            "surface": {
-                "label": "Mặt"
-            },
-            "tourism": {
-                "label": "Loại"
-            },
-            "tracktype": {
-                "label": "Kiểu"
-            },
-            "water": {
-                "label": "Loại"
-            },
-            "waterway": {
-                "label": "Loại"
-            },
-            "website": {
-                "label": "Trang Web"
-            },
-            "wetland": {
-                "label": "Loại"
-            },
-            "wheelchair": {
-                "label": "Đi Xe lăn Được"
-            },
-            "wikipedia": {
-                "label": "Wikipedia"
-            },
-            "wood": {
-                "label": "Loại"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "Hàng không"
-            },
-            "aeroway/aerodrome": {
-                "name": "Sân bay",
-                "terms": "máy bay,phi cơ,tàu bay,sân bay,phi trường"
-            },
-            "aeroway/helipad": {
-                "name": "Sân bay Trực thăng",
-                "terms": "máy bay trực thăng,máy bay lên thẳng,sân bay trực thăng,sân bay lên thẳng,phi trường trực thăng,sàn đỗ trực thăng,sàn đáp trực thăng"
-            },
-            "amenity": {
-                "name": "Tiện nghi"
-            },
-            "amenity/bank": {
-                "name": "Ngân hàng",
-                "terms": "ngân hàng,nhà băng,ngân hàng công đoàn,nhà băng công đoàn,công đoàn tín dụng"
-            },
-            "amenity/bar": {
-                "name": "Quán rượu"
-            },
-            "amenity/bench": {
-                "name": "Ghế"
-            },
-            "amenity/bicycle_parking": {
-                "name": "Chỗ Đậu Xe đạp"
-            },
-            "amenity/bicycle_rental": {
-                "name": "Chỗ Mướn Xe đạp"
-            },
-            "amenity/cafe": {
-                "name": "Quán Cà phê",
-                "terms": "cà phê,quán cà phê,trà,quán trà"
-            },
-            "amenity/cinema": {
-                "name": "Rạp phim",
-                "terms": "rạp phim,rạp điện ảnh,xi nê, xi-nê,xinê,phim,điện ảnh"
-            },
-            "amenity/courthouse": {
-                "name": "Tòa"
-            },
-            "amenity/embassy": {
-                "name": "Tòa đại sứ"
-            },
-            "amenity/fast_food": {
-                "name": "Nhà hàng Ăn nhanh"
-            },
-            "amenity/fire_station": {
-                "name": "Trạm Cứu hỏa"
-            },
-            "amenity/fuel": {
-                "name": "Cây xăng"
-            },
-            "amenity/grave_yard": {
-                "name": "Nghĩa địa"
-            },
-            "amenity/hospital": {
-                "name": "Bệnh viện",
-                "terms": "bệnh viện,nhà thương,phòng khám khẩn cấp,phòng khẩn cấp"
-            },
-            "amenity/library": {
-                "name": "Thư viện"
-            },
-            "amenity/marketplace": {
-                "name": "Chợ phiên"
-            },
-            "amenity/parking": {
-                "name": "Bãi Đậu xe"
-            },
-            "amenity/pharmacy": {
-                "name": "Nhà thuốc"
-            },
-            "amenity/place_of_worship": {
-                "name": "Nơi Thờ phụng",
-                "terms": "nơi thờ phụng,nhà thờ,giáo xứ,thánh đường,hội đường"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "Nhà thờ",
-                "terms": "nhà thờ,Kitô giáo,Kitô giáo,Thiên Chúa giáo,đạo Thiên Chúa,giáo xứ,thánh đường"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "Nhà thờ Do Thái giáo",
-                "terms": "Do Thái giáo,đạo Do Thái,hội đường"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "Nhà thờ Hồi giáo",
-                "terms": "Hồi giáo,nhà thờ"
-            },
-            "amenity/police": {
-                "name": "Đồn Cảnh sát",
-                "terms": "cảnh sát,sở cảnh sát,đồn cảnh sát,trạm cảnh sát,sen đầm,sở sen đầm,đội sen đầm,hiến binh,sở hiến binh,đồn hiến binh,công an,sở công an,đồn công an,trạm công an"
-            },
-            "amenity/post_box": {
-                "name": "Hòm thư",
-                "terms": "hòm thư,hộp thư,thùng thư"
-            },
-            "amenity/post_office": {
-                "name": "Bưu điện"
-            },
-            "amenity/pub": {
-                "name": "Quán rượu Pub"
-            },
-            "amenity/restaurant": {
-                "name": "Nhà hàng",
-                "terms": "quán ăn,nhà hàng,tiệm ăn,nhà ăn,phòng ăn,quán ăn nhanh,nhà hàng ăn nhanh,quán ăn qua loa,căng tin,căng-tin,xe đẩy,quán rượu,quán bia,tiệm rượu,hiệu chả cá,quán chả nướng,quán phở,tiệm phở,quán cơm,quán bánh cuốn,tiệm bánh cuốn,quán bánh mì,tiệm bánh mì,quán bánh xèo,tiệm bánh xèo,quán chè,tiệm chè,quán gỏi cuốn,quán bún,quán hải sản,quán gà,quán cà ri,quán cà-ri,tiệm cà ri, tiệm cà-ri"
-            },
-            "amenity/school": {
-                "name": "Nhà trường",
-                "terms": "trường,trường học,nhà trường,học viện,trường tư,trường tư thực,trường công,trường công lập,tiểu học,trường tiểu học,trung học,trường trung học,trung học cơ sở,trường trung học cơ sở,THCS,TTHCS,trung học phổ thông,trường trung học phổ thông,THPT,TTHPT,trung học chuyên nghiệp,trường trung học chuyên nghiệp,THCN,TTHCN,cao đẳng,trường cao đẳng,CĐ,đại học,trường đại học,ĐH,trường dòng,khoa,học"
-            },
-            "amenity/swimming_pool": {
-                "name": "Hồ Bơi"
-            },
-            "amenity/telephone": {
-                "name": "Điện thoại"
-            },
-            "amenity/theatre": {
-                "name": "Nhà hát",
-                "terms": "nhà hát,rạp hát,sân khấu,kịch"
-            },
-            "amenity/toilets": {
-                "name": "Phòng Vệ sinh"
-            },
-            "amenity/townhall": {
-                "name": "Tòa thị chính Thị xã",
-                "terms": "tòa thị chính,tòa thị chánh,toà thị chính,toà thị chánh,trụ sở thành phố,trụ sở thị xã,trụ sở làng"
-            },
-            "amenity/university": {
-                "name": "Trường Đại học"
-            },
-            "barrier": {
-                "name": "Chướng ngại"
-            },
-            "barrier/block": {
-                "name": "Tấm Bê tông"
-            },
-            "barrier/bollard": {
-                "name": "Cột Bê tông"
-            },
-            "barrier/cattle_grid": {
-                "name": "Bẫy Trâu bò Trên đường"
-            },
-            "barrier/city_wall": {
-                "name": "Tường thành"
-            },
-            "barrier/cycle_barrier": {
-                "name": "Hàng rào Ngăn Xe đạp"
-            },
-            "barrier/ditch": {
-                "name": "Mương"
-            },
-            "barrier/entrance": {
-                "name": "Cửa vào"
-            },
-            "barrier/fence": {
-                "name": "Hàng rào"
-            },
-            "barrier/gate": {
-                "name": "Cổng"
-            },
-            "barrier/hedge": {
-                "name": "Hàng rào Cây"
-            },
-            "barrier/kissing_gate": {
-                "name": "Cửa Hàng rào Chắn Trâu bò"
-            },
-            "barrier/lift_gate": {
-                "name": "Rào chắn Đóng mở"
-            },
-            "barrier/retaining_wall": {
-                "name": "Tường Chắn Đất"
-            },
-            "barrier/stile": {
-                "name": "Bậc trèo"
-            },
-            "barrier/toll_booth": {
-                "name": "Nhà thu phí"
-            },
-            "barrier/wall": {
-                "name": "Tường"
-            },
-            "boundary/administrative": {
-                "name": "Biên giới Hành chính"
-            },
-            "building": {
-                "name": "Tòa nhà"
-            },
-            "building/apartments": {
-                "name": "Khu chung cư"
-            },
-            "building/entrance": {
-                "name": "Cửa vào"
-            },
-            "building/house": {
-                "name": "Nhà ở"
-            },
-            "entrance": {
-                "name": "Cửa vào"
-            },
-            "highway": {
-                "name": "Đường Giao thông"
-            },
-            "highway/bridleway": {
-                "name": "Đường mòn Ngựa",
-                "terms": "đường mòn ngựa,đường cưỡi ngựa,đường đi ngựa"
-            },
-            "highway/bus_stop": {
-                "name": "Trạm Xe buýt"
-            },
-            "highway/crossing": {
-                "name": "Lối Băng qua Đường",
-                "terms": "lối băng qua đường,lối qua đường,đường ngựa vằn"
-            },
-            "highway/cycleway": {
-                "name": "Đường Xe đạp"
-            },
-            "highway/footway": {
-                "name": "Đường Dạo",
-                "terms": "đường đi bộ,hè,vỉa hè,đường mòn,phố,đường đi dạo,đường dạo"
-            },
-            "highway/mini_roundabout": {
-                "name": "Đường vòng Nhỏ"
-            },
-            "highway/motorway": {
-                "name": "Đường Cao tốc"
-            },
-            "highway/motorway_junction": {
-                "name": "Giao lộ Đường Cao tốc"
-            },
-            "highway/motorway_link": {
-                "name": "Nhánh Ra vào Đường Cao tốc",
-                "terms": "đường nhánh,đoạn nhánh,đường nhánh rẽ,đoạn nhánh rẽ,đường nhánh chuyển đường,nhánh chuyển đường,lối ra vào,lối ra,lối vào,nhánh ra,nhánh vào,đường nối"
-            },
-            "highway/path": {
-                "name": "Lối"
-            },
-            "highway/pedestrian": {
-                "name": "Đường Đi bộ"
-            },
-            "highway/primary": {
-                "name": "Đường Chính"
-            },
-            "highway/primary_link": {
-                "name": "Nhánh Ra vào Đường Chính",
-                "terms": "đường nhánh,đoạn nhánh,đường nhánh rẽ,đoạn nhánh rẽ,đường nhánh chuyển đường,nhánh chuyển đường,lối ra vào,lối ra,lối vào,nhánh ra,nhánh vào,đường nối"
-            },
-            "highway/residential": {
-                "name": "Ngõ Dân cư"
-            },
-            "highway/road": {
-                "name": "Đường Nói chung"
-            },
-            "highway/secondary": {
-                "name": "Đường Lớn"
-            },
-            "highway/secondary_link": {
-                "name": "Nhánh Ra vào Đường Lớn",
-                "terms": "đường nhánh,đoạn nhánh,đường nhánh rẽ,đoạn nhánh rẽ,đường nhánh chuyển đường,nhánh chuyển đường,lối ra vào,lối ra,lối vào,nhánh ra,nhánh vào,đường nối"
-            },
-            "highway/service": {
-                "name": "Ngách"
-            },
-            "highway/steps": {
-                "name": "Cầu thang",
-                "terms": "cầu thang"
-            },
-            "highway/tertiary": {
-                "name": "Phố"
-            },
-            "highway/tertiary_link": {
-                "name": "Nhánh Ra vào Phố",
-                "terms": "đường nhánh,đoạn nhánh,đường nhánh rẽ,đoạn nhánh rẽ,đường nhánh chuyển đường,nhánh chuyển đường,lối ra vào,lối ra,lối vào,nhánh ra,nhánh vào,đường nối"
-            },
-            "highway/track": {
-                "name": "Đường mòn"
-            },
-            "highway/traffic_signals": {
-                "name": "Đèn Giao thông",
-                "terms": "đèn giao thông,đèn tín hiệu giao thông,đèn tín hiệu,đèn điều khiển giao thông,đèn điều khiển,đèn xanh đèn đỏ,đèn xanh đỏ,đèn ngã tư,đèn ngã ba"
-            },
-            "highway/trunk": {
-                "name": "Xa lộ"
-            },
-            "highway/trunk_link": {
-                "name": "Nhánh Ra vào Xa lộ",
-                "terms": "đường nhánh,đoạn nhánh,đường nhánh rẽ,đoạn nhánh rẽ,đường nhánh chuyển đường,nhánh chuyển đường,lối ra vào,lối ra,lối vào,nhánh ra,nhánh vào,đường nối"
-            },
-            "highway/turning_circle": {
-                "name": "Cuối đường Vòng tròn"
-            },
-            "highway/unclassified": {
-                "name": "Phố"
-            },
-            "historic": {
-                "name": "Nơi Lịch sử"
-            },
-            "historic/archaeological_site": {
-                "name": "Khu vực Khảo cổ"
-            },
-            "historic/boundary_stone": {
-                "name": "Mốc Biên giới"
-            },
-            "historic/castle": {
-                "name": "Lâu đài"
-            },
-            "historic/memorial": {
-                "name": "Đài Tưởng niệm"
-            },
-            "historic/monument": {
-                "name": "Đài tưởng niệm"
-            },
-            "historic/ruins": {
-                "name": "Tàn tích"
-            },
-            "historic/wayside_cross": {
-                "name": "Thánh Giá Dọc đường"
-            },
-            "historic/wayside_shrine": {
-                "name": "Đền thánh Dọc đường"
-            },
-            "landuse": {
-                "name": "Kiểu Sử dụng Đất"
-            },
-            "landuse/allotments": {
-                "name": "Khu Vườn Gia đình"
-            },
-            "landuse/basin": {
-                "name": "Lưu vực"
-            },
-            "landuse/cemetery": {
-                "name": "Nghĩa địa"
-            },
-            "landuse/commercial": {
-                "name": "Thương mại"
-            },
-            "landuse/construction": {
-                "name": "Công trường Xây dựng"
-            },
-            "landuse/farm": {
-                "name": "Trại"
-            },
-            "landuse/farmyard": {
-                "name": "Sân Trại"
-            },
-            "landuse/forest": {
-                "name": "Rừng Trồng cây"
-            },
-            "landuse/grass": {
-                "name": "Cỏ"
-            },
-            "landuse/industrial": {
-                "name": "Công nghiệp"
-            },
-            "landuse/meadow": {
-                "name": "Đồng cỏ"
-            },
-            "landuse/orchard": {
-                "name": "Vườn Cây"
-            },
-            "landuse/quarry": {
-                "name": "Mỏ Đá"
-            },
-            "landuse/residential": {
-                "name": "Dân cư"
-            },
-            "landuse/vineyard": {
-                "name": "Vườn Nho"
-            },
-            "leisure": {
-                "name": "Giải trí"
-            },
-            "leisure/garden": {
-                "name": "Vườn"
-            },
-            "leisure/golf_course": {
-                "name": "Sân Golf"
-            },
-            "leisure/marina": {
-                "name": "Bến tàu"
-            },
-            "leisure/park": {
-                "name": "Công viên",
-                "terms": "công viên,vườn,vườn hoa,vườn cây,bãi cỏ,bãi cỏ xanh,thảm cỏ xanh,vành đai xanh,sân chơi,khu vui chơi,khu vui chơi trẻ em,khu chơi trẻ em,quảng trường,rừng"
-            },
-            "leisure/pitch": {
-                "name": "Sân cỏ"
-            },
-            "leisure/pitch/american_football": {
-                "name": "Sân cỏ Bóng bầu dục Mỹ"
-            },
-            "leisure/pitch/baseball": {
-                "name": "Sân cỏ Bóng chày"
-            },
-            "leisure/pitch/basketball": {
-                "name": "Sân Bóng rổ"
-            },
-            "leisure/pitch/soccer": {
-                "name": "Sân cỏ Bóng đá"
-            },
-            "leisure/pitch/tennis": {
-                "name": "Sân Quần vợt"
-            },
-            "leisure/playground": {
-                "name": "Khu Vui chơi Trẻ em"
-            },
-            "leisure/slipway": {
-                "name": "Đường Trượt tàu"
-            },
-            "leisure/stadium": {
-                "name": "Sân vận động"
-            },
-            "leisure/swimming_pool": {
-                "name": "Hồ Bơi"
-            },
-            "man_made": {
-                "name": "Công trình"
-            },
-            "man_made/lighthouse": {
-                "name": "Hải đăng"
-            },
-            "man_made/pier": {
-                "name": "Cầu tàu"
-            },
-            "man_made/survey_point": {
-                "name": "Điểm Khảo sát"
-            },
-            "man_made/wastewater_plant": {
-                "name": "Nhà máy Nước thải",
-                "terms": "nhà máy nước thải,nhà máy xử lý nước thải,nhà máy xử lí nước thải"
-            },
-            "man_made/water_tower": {
-                "name": "Tháp nước"
-            },
-            "man_made/water_works": {
-                "name": "Nhà máy Nước"
-            },
-            "natural": {
-                "name": "Thiên nhiên"
-            },
-            "natural/bay": {
-                "name": "Vịnh"
-            },
-            "natural/beach": {
-                "name": "Bãi biển"
-            },
-            "natural/cliff": {
-                "name": "Vách đá"
-            },
-            "natural/coastline": {
-                "name": "Bờ biển",
-                "terms": "bờ biển,bờ sông,bờ"
-            },
-            "natural/glacier": {
-                "name": "Sông băng"
-            },
-            "natural/grassland": {
-                "name": "Đồng cỏ"
-            },
-            "natural/heath": {
-                "name": "Bãi hoang"
-            },
-            "natural/peak": {
-                "name": "Đỉnh núi",
-                "terms": "đồi,núi,đỉnh núi,đỉnh,chỏm núi,chỏm,chóp núi,chóp,chỏm chóp"
-            },
-            "natural/scrub": {
-                "name": "Đất Bụi rậm"
-            },
-            "natural/spring": {
-                "name": "Suối"
-            },
-            "natural/tree": {
-                "name": "Cây"
-            },
-            "natural/water": {
-                "name": "Nước"
-            },
-            "natural/water/lake": {
-                "name": "Hồ",
-                "terms": "hồ,hồ nước"
-            },
-            "natural/water/pond": {
-                "name": "Ao nước",
-                "terms": "hồ nhỏ,ao,ao cá,hồ cá,hồ đánh cá"
-            },
-            "natural/water/reservoir": {
-                "name": "Bể nước"
-            },
-            "natural/wetland": {
-                "name": "Đầm lầy"
-            },
-            "natural/wood": {
-                "name": "Rừng"
-            },
-            "office": {
-                "name": "Văn phòng"
-            },
-            "other": {
-                "name": "Khác"
-            },
-            "other_area": {
-                "name": "Khác"
-            },
-            "place": {
-                "name": "Địa phương"
-            },
-            "place/city": {
-                "name": "Thành phố"
-            },
-            "place/hamlet": {
-                "name": "Xóm"
-            },
-            "place/island": {
-                "name": "Đảo",
-                "terms": "đảo,hòn đảo,quần đảo,đảo san hô,san hô,cồn cát,cồn,đá ngầm,chỗ nông,chỗ cạn"
-            },
-            "place/isolated_dwelling": {
-                "name": "Chỗ ở Hẻo lánh"
-            },
-            "place/locality": {
-                "name": "Địa phương"
-            },
-            "place/town": {
-                "name": "Thị xã"
-            },
-            "place/village": {
-                "name": "Làng"
-            },
-            "power": {
-                "name": "Điện năng"
-            },
-            "power/generator": {
-                "name": "Nhà máy Điện"
-            },
-            "power/line": {
-                "name": "Đường Dây điện"
-            },
-            "power/pole": {
-                "name": "Cột điện"
-            },
-            "power/sub_station": {
-                "name": "Trạm Điện Phụ"
-            },
-            "power/tower": {
-                "name": "Cột điện Cao thế"
-            },
-            "power/transformer": {
-                "name": "Máy biến áp"
-            },
-            "railway": {
-                "name": "Đường sắt"
-            },
-            "railway/abandoned": {
-                "name": "Đường sắt Bỏ hoang"
-            },
-            "railway/disused": {
-                "name": "Đường sắt Không hoạt động"
-            },
-            "railway/level_crossing": {
-                "name": "Giao lộ Đường sắt",
-                "terms": "giao lộ đường sắt,giao lộ đường ray,nút giao đường sắt"
-            },
-            "railway/monorail": {
-                "name": "Đường sắt Một ray"
-            },
-            "railway/platform": {
-                "name": "Ke ga"
-            },
-            "railway/rail": {
-                "name": "Đường sắt"
-            },
-            "railway/station": {
-                "name": "Nhà ga"
-            },
-            "railway/subway": {
-                "name": "Đường Tàu điện ngầm"
-            },
-            "railway/subway_entrance": {
-                "name": "Cửa vào Nhà ga Tàu điện ngầm"
-            },
-            "railway/tram": {
-                "name": "Đường Tàu điện",
-                "terms": "đường tàu điện,tàu điện,đường xe điện,xe điện"
-            },
-            "shop": {
-                "name": "Tiệm"
-            },
-            "shop/alcohol": {
-                "name": "Tiệm Rượu"
-            },
-            "shop/bakery": {
-                "name": "Tiệm Bánh"
-            },
-            "shop/beauty": {
-                "name": "Tiệm Mỹ phẩm"
-            },
-            "shop/beverages": {
-                "name": "Tiệm Đồ uống"
-            },
-            "shop/bicycle": {
-                "name": "Tiệm Xe đạp"
-            },
-            "shop/books": {
-                "name": "Hiệu Sách"
-            },
-            "shop/boutique": {
-                "name": "Tiệm Thời trang"
-            },
-            "shop/butcher": {
-                "name": "Tiệm Thịt"
-            },
-            "shop/car": {
-                "name": "Tiệm Xe hơi"
-            },
-            "shop/car_parts": {
-                "name": "Tiệm Phụ tùng Xe hơi"
-            },
-            "shop/car_repair": {
-                "name": "Tiệm Sửa Xe"
-            },
-            "shop/chemist": {
-                "name": "Tiệm Dược phẩm"
-            },
-            "shop/clothes": {
-                "name": "Tiệm Quần áo"
-            },
-            "shop/computer": {
-                "name": "Tiệm Máy tính"
-            },
-            "shop/confectionery": {
-                "name": "Tiệm Kẹo"
-            },
-            "shop/convenience": {
-                "name": "Tiệm Tiện lợi"
-            },
-            "shop/deli": {
-                "name": "Tiệm Deli"
-            },
-            "shop/department_store": {
-                "name": "Tiệm Bách hóa"
-            },
-            "shop/doityourself": {
-                "name": "Tiệm Vật liệu Xây dựng"
-            },
-            "shop/dry_cleaning": {
-                "name": "Tiệm Giặt Hấp tẩy"
-            },
-            "shop/electronics": {
-                "name": "Tiệm Thiết bị Điện tử"
-            },
-            "shop/fishmonger": {
-                "name": "Tiệm Cá"
-            },
-            "shop/florist": {
-                "name": "Tiệm Hoa"
-            },
-            "shop/furniture": {
-                "name": "Tiệm Đồ đạc"
-            },
-            "shop/garden_centre": {
-                "name": "Trung tâm Làm vườn"
-            },
-            "shop/gift": {
-                "name": "Tiệm Quà tặng"
-            },
-            "shop/greengrocer": {
-                "name": "Tiệm Rau quả"
-            },
-            "shop/hairdresser": {
-                "name": "Tiệm Làm tóc"
-            },
-            "shop/hardware": {
-                "name": "Tiệm Ngũ kim"
-            },
-            "shop/hifi": {
-                "name": "Tiệm Thiết bị Âm thanh"
-            },
-            "shop/jewelry": {
-                "name": "Tiệm Kim hoàn"
-            },
-            "shop/kiosk": {
-                "name": "Gian hàng"
-            },
-            "shop/laundry": {
-                "name": "Tiệm Máy giặt"
-            },
-            "shop/mall": {
-                "name": "Trung tâm Thương mại"
-            },
-            "shop/mobile_phone": {
-                "name": "Tiệm Điện thoại Di động"
-            },
-            "shop/motorcycle": {
-                "name": "Tiệm Xe máy"
-            },
-            "shop/music": {
-                "name": "Tiệm Âm nhạc"
-            },
-            "shop/newsagent": {
-                "name": "Quầy báo"
-            },
-            "shop/optician": {
-                "name": "Tiệm Kính mắt"
-            },
-            "shop/outdoor": {
-                "name": "Tiệm Thể thao Ngoài trời"
-            },
-            "shop/pet": {
-                "name": "Tiệm Vật nuôi"
-            },
-            "shop/shoes": {
-                "name": "Tiệm Giày"
-            },
-            "shop/sports": {
-                "name": "Tiệm Thể thao"
-            },
-            "shop/stationery": {
-                "name": "Tiệm Văn phòng phẩm"
-            },
-            "shop/supermarket": {
-                "name": "Siêu thị",
-                "terms": "siêu thị,chợ,tiệm,cửa hàng,khu buôn bán,trung tâm buôn bán,chợ trời,chợ phiên,chợ xổm"
-            },
-            "shop/toys": {
-                "name": "Tiệm Đồ chơ"
-            },
-            "shop/travel_agency": {
-                "name": "Văn phòng Du lịch"
-            },
-            "shop/tyres": {
-                "name": "Tiệm Lốp xe"
-            },
-            "shop/vacant": {
-                "name": "Tiệm Đóng cửa"
-            },
-            "shop/variety_store": {
-                "name": "Tiệm Tạp hóa"
-            },
-            "shop/video": {
-                "name": "Tiệm Phim"
-            },
-            "tourism": {
-                "name": "Du lịch"
-            },
-            "tourism/alpine_hut": {
-                "name": "Túp lều trên Núi"
-            },
-            "tourism/artwork": {
-                "name": "Nghệ phẩm"
-            },
-            "tourism/attraction": {
-                "name": "Điểm Thu hút Du lịch"
-            },
-            "tourism/camp_site": {
-                "name": "Nơi Cắm trại"
-            },
-            "tourism/caravan_site": {
-                "name": "Bãi Đậu Nhà lưu động"
-            },
-            "tourism/chalet": {
-                "name": "Nhà nghỉ Riêng biệt"
-            },
-            "tourism/guest_house": {
-                "name": "Nhà khách",
-                "terms": "nhà khách,nhà trọ"
-            },
-            "tourism/hostel": {
-                "name": "Nhà trọ"
-            },
-            "tourism/hotel": {
-                "name": "Khách sạn"
-            },
-            "tourism/information": {
-                "name": "Thông tin"
-            },
-            "tourism/motel": {
-                "name": "Khách sạn Dọc đường"
-            },
-            "tourism/museum": {
-                "name": "Bảo tàng",
-                "terms": "viện bảo tàng,bảo tàng,thư viện,văn thư lưu trữ,lưu trữ,kho"
-            },
-            "tourism/picnic_site": {
-                "name": "Nơi Ăn Ngoài trời"
-            },
-            "tourism/theme_park": {
-                "name": "Công viên Chủ đề"
-            },
-            "tourism/viewpoint": {
-                "name": "Điểm Ngắm cảnh"
-            },
-            "tourism/zoo": {
-                "name": "Vườn thú"
-            },
-            "waterway": {
-                "name": "Đường sông"
-            },
-            "waterway/canal": {
-                "name": "Kênh đào"
-            },
-            "waterway/dam": {
-                "name": "Đập nước"
-            },
-            "waterway/ditch": {
-                "name": "Mương"
-            },
-            "waterway/drain": {
-                "name": "Cống"
-            },
-            "waterway/river": {
-                "name": "Sông",
-                "terms": "sông,con sông,dòng sông,nhánh sông,sông nhánh,sông con,suối,suối nước,dòng suối,châu thổ"
-            },
-            "waterway/riverbank": {
-                "name": "Bờ sông"
-            },
-            "waterway/stream": {
-                "name": "Dòng suối",
-                "terms": "nhánh sông,sông nhánh,sông con,suối,suối nước,dòng suối"
-            },
-            "waterway/weir": {
-                "name": "Đập Tràn"
-            }
+
+                selection.attr('class', 'api-status ' + (err ? 'error' : apiStatus));
+                if (!err) errCount = 0;
+
+            });
         }
+
+        connection.on('auth', function() { update(selection); });
+        window.setInterval(update, 90000);
+        update(selection);
+    };
+};
+iD.ui.Success = function(context) {
+    var dispatch = d3.dispatch('cancel'),
+        changeset;
+
+    function success(selection) {
+        var message = (changeset.comment || t('success.edited_osm')).substring(0, 130) +
+            ' ' + context.connection().changesetURL(changeset.id);
+
+        var header = selection.append('div')
+            .attr('class', 'header fillL');
+
+        header.append('button')
+            .attr('class', 'fr')
+            .on('click', function() { dispatch.cancel(); })
+            .call(iD.svg.Icon('#icon-close'));
+
+        header.append('h3')
+            .text(t('success.just_edited'));
+
+        var body = selection.append('div')
+            .attr('class', 'body save-success fillL');
+
+        body.append('p')
+            .html(t('success.help_html'));
+
+        var changesetURL = context.connection().changesetURL(changeset.id);
+
+        body.append('a')
+            .attr('class', 'button col12 osm')
+            .attr('target', '_blank')
+            .attr('href', changesetURL)
+            .text(t('success.view_on_osm'));
+
+        var sharing = {
+            facebook: 'https://facebook.com/sharer/sharer.php?u=' + encodeURIComponent(changesetURL),
+            twitter: 'https://twitter.com/intent/tweet?source=webclient&text=' + encodeURIComponent(message),
+            google: 'https://plus.google.com/share?url=' + encodeURIComponent(changesetURL)
+        };
+
+        body.selectAll('.button.social')
+            .data(d3.entries(sharing))
+            .enter()
+            .append('a')
+            .attr('class', 'button social col4')
+            .attr('target', '_blank')
+            .attr('href', function(d) { return d.value; })
+            .call(bootstrap.tooltip()
+                .title(function(d) { return t('success.' + d.key); })
+                .placement('bottom'))
+            .each(function(d) { d3.select(this).call(iD.svg.Icon('#logo-' + d.key, 'social')); });
     }
+
+    success.changeset = function(_) {
+        if (!arguments.length) return changeset;
+        changeset = _;
+        return success;
+    };
+
+    return d3.rebind(success, dispatch, 'on');
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.TagReference = function(tag, context) {
+    var tagReference = {},
+        button,
+        body,
+        loaded,
+        showing;
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    function findLocal(data) {
+        var locale = iD.detect().locale.toLowerCase(),
+            localized;
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+        localized = _.find(data, function(d) {
+            return d.lang.toLowerCase() === locale;
+        });
+        if (localized) return localized;
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.zh = {
-    "modes": {
-        "add_area": {
-            "title": "面",
-            "description": "在地图上添加公园,建筑物,湖泊或其他面状区域。",
-            "tail": "在地图上点击开始绘制一个区域,像一个公园,湖边,或建筑物。"
-        },
-        "add_line": {
-            "title": "线",
-            "description": "在地图上添加公路,街道,行人路,运河或其他线路。",
-            "tail": "在地图上点击开始绘制道路,路径或路线。"
-        },
-        "add_point": {
-            "title": "点",
-            "description": "在地图上添加餐馆,古迹,邮箱或其他点。",
-            "tail": "在地图上点击添加一个点。"
-        },
-        "browse": {
-            "title": "浏览",
-            "description": "平移和缩放地图。"
+        // try the non-regional version of a language, like
+        // 'en' if the language is 'en-US'
+        if (locale.indexOf('-') !== -1) {
+            var first = locale.split('-')[0];
+            localized = _.find(data, function(d) {
+                return d.lang.toLowerCase() === first;
+            });
+            if (localized) return localized;
         }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "添加一个点。",
-                "vertex": "给线添加一个节点。"
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "开始一条线。",
-                "area": "开始一个面。"
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "接着绘制一条线。",
-                "area": "接着绘制一个面。"
-            }
-        },
-        "cancel_draw": {
-            "annotation": "取消绘图。"
-        },
-        "change_tags": {
-            "annotation": "改变标签。"
-        },
-        "circularize": {
-            "title": "圆",
-            "key": "O",
-            "annotation": {
-                "line": "把线制作成圆形。",
-                "area": "把面制作成圆形。"
+
+        // finally fall back to english
+        return _.find(data, function(d) {
+            return d.lang.toLowerCase() === 'en';
+        });
+    }
+
+    function load(param) {
+        button.classed('tag-reference-loading', true);
+
+        context.taginfo().docs(param, function show(err, data) {
+            var docs;
+            if (!err && data) {
+                docs = findLocal(data);
             }
-        },
-        "orthogonalize": {
-            "title": "直角化",
-            "description": "边角直角化。",
-            "key": "Q",
-            "annotation": {
-                "line": "线直角化。",
-                "area": "面直角化。"
+
+            body.html('');
+
+            if (!docs || !docs.description) {
+                if (param.hasOwnProperty('value')) {
+                    load(_.omit(param, 'value'));   // retry with key only
+                } else {
+                    body.append('p').text(t('inspector.no_documentation_key'));
+                    done();
+                }
+                return;
             }
-        },
-        "delete": {
-            "title": "删除",
-            "description": "从地图中删除此。",
-            "annotation": {
-                "point": "删除一个点。",
-                "vertex": "删除线上一个结点。",
-                "line": "删除一条点。",
-                "area": "删除一个面。",
-                "relation": "删除一个关系。",
-                "multiple": "删除{n}个对象。"
+
+            if (docs.image && docs.image.thumb_url_prefix) {
+                body
+                    .append('img')
+                    .attr('class', 'wiki-image')
+                    .attr('src', docs.image.thumb_url_prefix + '100' + docs.image.thumb_url_suffix)
+                    .on('load', function() { done(); })
+                    .on('error', function() { d3.select(this).remove(); done(); });
+            } else {
+                done();
             }
-        },
-        "connect": {
-            "annotation": {
-                "point": "连接线到一个点上。",
-                "vertex": "连接线到另一条线上。",
-                "line": "连接线到一条线上。",
-                "area": "连接线到一个面上。"
+
+            body
+                .append('p')
+                .text(docs.description);
+
+            body
+                .append('a')
+                .attr('target', '_blank')
+                .attr('href', 'http://wiki.openstreetmap.org/wiki/' + docs.title)
+                .call(iD.svg.Icon('#icon-out-link', 'inline'))
+                .append('span')
+                .text(t('inspector.reference'));
+        });
+    }
+
+    function done() {
+        loaded = true;
+
+        button.classed('tag-reference-loading', false);
+
+        body.transition()
+            .duration(200)
+            .style('max-height', '200px')
+            .style('opacity', '1');
+
+        showing = true;
+    }
+
+    function hide(selection) {
+        selection = selection || body.transition().duration(200);
+
+        selection
+            .style('max-height', '0px')
+            .style('opacity', '0');
+
+        showing = false;
+    }
+
+    tagReference.button = function(selection) {
+        button = selection.selectAll('.tag-reference-button')
+            .data([0]);
+
+        button.enter()
+            .append('button')
+            .attr('class', 'tag-reference-button')
+            .attr('tabindex', -1)
+            .call(iD.svg.Icon('#icon-inspect'));
+
+        button.on('click', function () {
+            d3.event.stopPropagation();
+            d3.event.preventDefault();
+            if (showing) {
+                hide();
+            } else if (loaded) {
+                done();
+            } else {
+                if (context.taginfo()) {
+                    load(tag);
+                }
             }
-        },
-        "disconnect": {
-            "title": "断开",
-            "description": "断开这些线。",
-            "key": "D",
-            "annotation": "断开线。"
-        },
-        "merge": {
-            "title": "合并",
-            "description": "合并这些线。",
-            "key": "C",
-            "annotation": "合并{n}条线。"
-        },
-        "move": {
-            "title": "移动",
-            "description": "移动到其他的位置。",
-            "key": "M",
-            "annotation": {
-                "point": "移动一个点。",
-                "vertex": "移动线上一个结点",
-                "line": "移动一条线。",
-                "area": "移动一个面。",
-                "multiple": "移动多个对象。"
-            }
-        },
-        "rotate": {
-            "title": "旋转",
-            "description": "绕其中心点旋转该对象。",
-            "key": "R",
-            "annotation": {
-                "line": "旋转一条线。",
-                "area": "旋转一个面。"
-            }
-        },
-        "reverse": {
-            "title": "反转",
-            "description": "这条线走在相反的方向。",
-            "key": "V",
-            "annotation": "反转一条线。"
-        },
-        "split": {
-            "title": "分割",
-            "key": "X"
-        }
-    },
-    "nothing_to_undo": "没有可撤消的。",
-    "nothing_to_redo": "没有可重做的。",
-    "just_edited": "你正在编辑的OpenStreetMap!",
-    "browser_notice": "该编辑器支持Firefox、Chrome、Safari、Opera和Internet Explorer9及以上的浏览器。请升级您的浏览器或者使用Potlatch 2来编辑地图。",
-    "view_on_osm": "在OSM上查看",
-    "zoom_in_edit": "放大编辑地图",
-    "logout": "退出",
-    "report_a_bug": "报告bug",
-    "commit": {
-        "title": "保存更改",
-        "description_placeholder": "简要说明你的贡献",
-        "message_label": "提交说明",
-        "upload_explanation": "{user}你上传的更新将会显示在所有使用OpenStreetMap数据的地图上。",
-        "save": "保存",
-        "cancel": "取消",
-        "warnings": "警告",
-        "modified": "修改的",
-        "deleted": "删除的",
-        "created": "创建的"
-    },
-    "contributors": {
-        "list": "查看{users}的贡献",
-        "truncated_list": "查看{users}和其他{count}个成员的贡献"
-    },
-    "geocoder": {
-        "title": "查找位置",
-        "placeholder": "查找位置",
-        "no_results": "无法找到叫'{name}'的地方"
-    },
-    "geolocate": {
-        "title": "显示我的位置"
-    },
-    "inspector": {
-        "no_documentation_combination": "没有关于此标签组合的文档",
-        "no_documentation_key": "没有关于此键的文档",
-        "show_more": "显示更多",
-        "new_tag": "新建标签",
-        "editing_feature": "编辑{feature}",
-        "additional": "附加标签",
-        "choose": "选择对象的类型",
-        "results": "{search}共有{n}个结果",
-        "back_tooltip": "修改对象的类型"
-    },
-    "background": {
-        "title": "背景",
-        "description": "设置背景",
-        "percent_brightness": "{opacity}% 亮度",
-        "fix_misalignment": "修复错位",
-        "reset": "重置"
-    },
-    "restore": {
-        "heading": "您有未保存的更改",
-        "description": "上次您有未保存的更改。你想恢复这些更改吗?",
-        "restore": "恢复",
-        "reset": "重置"
-    },
-    "save": {
-        "title": "保存",
-        "help": "保存更改到OpenStreetMap上,使其他用户可以看见。",
-        "no_changes": "没有可以保存的更改。",
-        "error": "保存发生错误",
-        "uploading": "正在向OpenStreetMap上传更改。",
-        "unsaved_changes": "您有未保存的更改"
-    },
-    "splash": {
-        "welcome": "欢迎使用OpenStreetMap编辑器iD",
-        "text": "这是开发版本{version}。欲了解更多信息,请参阅{website},在{github}报告bug。",
-        "walkthrough": "开始练习",
-        "start": "现在编辑"
-    },
-    "source_switch": {
-        "live": "live",
-        "lose_changes": "您有未保存的更改。切换地图服务器会丢弃他们。你确定要切换服务器吗?",
-        "dev": "dev"
-    },
-    "tag_reference": {
-        "description": "描述",
-        "on_wiki": "在wiki.osm.org查看{tag}",
-        "used_with": "使用{type}"
-    },
-    "validations": {
-        "untagged_line": "未标记的线",
-        "untagged_area": "未标记的面",
-        "many_deletions": "您正在删除{n}个对象。你确定你想这样做吗?所有的其他openstreetmap.org用户都将在地图上看不到这些数据。",
-        "tag_suggests_area": "{tag}这个标签建议使用在面上,但是他不是一个面",
-        "deprecated_tags": "已过时标签:{tags}"
-    },
-    "zoom": {
-        "in": "放大",
-        "out": "缩小"
-    },
-    "gpx": {
-        "local_layer": "本地GPX文件",
-        "drag_drop": "把GPX文件拖到页面上。"
-    },
-    "help": {
-        "title": "帮助"
-    },
-    "intro": {
-        "startediting": {
-            "start": "开始制图!"
+        });
+    };
+
+    tagReference.body = function(selection) {
+        body = selection.selectAll('.tag-reference-body')
+            .data([0]);
+
+        body.enter().append('div')
+            .attr('class', 'tag-reference-body cf')
+            .style('max-height', '0')
+            .style('opacity', '0');
+
+        if (showing === false) {
+            hide(body);
         }
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "通道",
-                "types": {
-                    "access": "普通",
-                    "foot": "步行",
-                    "motor_vehicle": "汽车",
-                    "bicycle": "自行车",
-                    "horse": "马匹"
-                },
-                "options": {
-                    "yes": {
-                        "title": "允许的"
-                    },
-                    "private": {
-                        "title": "私人"
-                    },
-                    "designated": {
-                        "title": "特定的"
-                    },
-                    "destination": {
-                        "title": "目的地"
+    };
+
+    tagReference.showing = function(_) {
+        if (!arguments.length) return showing;
+        showing = _;
+        return tagReference;
+    };
+
+    return tagReference;
+};
+// toggles the visibility of ui elements, using a combination of the
+// hide class, which sets display=none, and a d3 transition for opacity.
+// this will cause blinking when called repeatedly, so check that the
+// value actually changes between calls.
+iD.ui.Toggle = function(show, callback) {
+    return function(selection) {
+        selection
+            .style('opacity', show ? 0 : 1)
+            .classed('hide', false)
+            .transition()
+            .style('opacity', show ? 1 : 0)
+            .each('end', function() {
+                d3.select(this).classed('hide', !show);
+                if (callback) callback.apply(this);
+            });
+    };
+};
+iD.ui.UndoRedo = function(context) {
+    var commands = [{
+        id: 'undo',
+        cmd: iD.ui.cmd('⌘Z'),
+        action: function() { if (!saving()) context.undo(); },
+        annotation: function() { return context.history().undoAnnotation(); }
+    }, {
+        id: 'redo',
+        cmd: iD.ui.cmd('⌘⇧Z'),
+        action: function() { if (!saving()) context.redo(); },
+        annotation: function() { return context.history().redoAnnotation(); }
+    }];
+
+    function saving() {
+        return context.mode().id === 'save';
+    }
+
+    return function(selection) {
+        var tooltip = bootstrap.tooltip()
+            .placement('bottom')
+            .html(true)
+            .title(function (d) {
+                return iD.ui.tooltipHtml(d.annotation() ?
+                    t(d.id + '.tooltip', {action: d.annotation()}) :
+                    t(d.id + '.nothing'), d.cmd);
+            });
+
+        var buttons = selection.selectAll('button')
+            .data(commands)
+            .enter().append('button')
+            .attr('class', 'col6 disabled')
+            .on('click', function(d) { return d.action(); })
+            .call(tooltip);
+
+        buttons.each(function(d) {
+            d3.select(this)
+                .call(iD.svg.Icon('#icon-' + d.id));
+        });
+
+        var keybinding = d3.keybinding('undo')
+            .on(commands[0].cmd, function() { d3.event.preventDefault(); commands[0].action(); })
+            .on(commands[1].cmd, function() { d3.event.preventDefault(); commands[1].action(); });
+
+        d3.select(document)
+            .call(keybinding);
+
+        context.history()
+            .on('change.undo_redo', update);
+
+        context
+            .on('enter.undo_redo', update);
+
+        function update() {
+            buttons
+                .property('disabled', saving())
+                .classed('disabled', function(d) { return !d.annotation(); })
+                .each(function() {
+                    var selection = d3.select(this);
+                    if (selection.property('tooltipVisible')) {
+                        selection.call(tooltip.show);
                     }
-                }
-            },
-            "address": {
-                "label": "地址",
-                "placeholders": {
-                    "housename": "房屋名称",
-                    "number": "123",
-                    "street": "街道",
-                    "city": "城市"
-                }
-            },
-            "aeroway": {
-                "label": "类型"
-            },
-            "amenity": {
-                "label": "类型"
-            },
-            "atm": {
-                "label": "ATM"
-            },
-            "barrier": {
-                "label": "类型"
-            },
-            "bicycle_parking": {
-                "label": "类型"
-            },
-            "building": {
-                "label": "建筑物"
-            },
-            "building_area": {
-                "label": "建筑物"
-            },
-            "building_yes": {
-                "label": "建筑物"
-            },
-            "capacity": {
-                "label": "容量"
-            },
-            "collection_times": {
-                "label": "收集时间"
-            },
-            "construction": {
-                "label": "类型"
-            },
-            "country": {
-                "label": "国家"
-            },
-            "crossing": {
-                "label": "类型"
-            },
-            "cuisine": {
-                "label": "美食"
-            },
-            "denomination": {
-                "label": "教派"
-            },
-            "denotation": {
-                "label": "意思"
-            },
-            "elevation": {
-                "label": "海拔"
-            },
-            "emergency": {
-                "label": "急诊"
-            },
-            "entrance": {
-                "label": "类型"
-            },
-            "fax": {
-                "label": "传真"
-            },
-            "fee": {
-                "label": "费用"
-            },
-            "highway": {
-                "label": "类型"
-            },
-            "historic": {
-                "label": "类型"
-            },
-            "internet_access": {
-                "label": "互联网接入",
-                "options": {
-                    "wlan": "无线网络",
-                    "wired": "有线网络",
-                    "terminal": "终端"
-                }
-            },
-            "landuse": {
-                "label": "类型"
-            },
-            "layer": {
-                "label": "层"
-            },
-            "leisure": {
-                "label": "类型"
-            },
-            "levels": {
-                "label": "级别"
-            },
-            "man_made": {
-                "label": "类型"
-            },
-            "maxspeed": {
-                "label": "限速"
-            },
-            "name": {
-                "label": "名称"
-            },
-            "natural": {
-                "label": "自然"
-            },
-            "network": {
-                "label": "网络"
-            },
-            "note": {
-                "label": "备注"
-            },
-            "office": {
-                "label": "类型"
-            },
-            "oneway": {
-                "label": "单行"
-            },
-            "oneway_yes": {
-                "label": "单行"
-            },
-            "opening_hours": {
-                "label": "小时"
-            },
-            "operator": {
-                "label": "经营者"
-            },
-            "parking": {
-                "label": "类型"
-            },
-            "phone": {
-                "label": "手机"
-            },
-            "place": {
-                "label": "类型"
-            },
-            "power": {
-                "label": "类型"
-            },
-            "railway": {
-                "label": "类型"
-            },
-            "ref": {
-                "label": "参考"
-            },
-            "religion": {
-                "label": "宗教",
-                "options": {
-                    "christian": "基督教",
-                    "muslim": "穆斯林",
-                    "buddhist": "佛教",
-                    "jewish": "犹太教",
-                    "hindu": "印度教",
-                    "shinto": "神道教",
-                    "taoist": "道教"
-                }
-            },
-            "service": {
-                "label": "类型"
-            },
-            "shelter": {
-                "label": "避难所"
-            },
-            "shop": {
-                "label": "类型"
-            },
-            "source": {
-                "label": "来源"
-            },
-            "sport": {
-                "label": "运动"
-            },
-            "structure": {
-                "label": "结构",
-                "options": {
-                    "bridge": "桥",
-                    "tunnel": "隧道",
-                    "embankment": "堤岸",
-                    "cutting": "开凿"
-                }
-            },
-            "supervised": {
-                "label": "监督"
-            },
-            "surface": {
-                "label": "表面"
-            },
-            "tourism": {
-                "label": "类型"
-            },
-            "tracktype": {
-                "label": "类型"
-            },
-            "water": {
-                "label": "类型"
-            },
-            "waterway": {
-                "label": "类型"
-            },
-            "website": {
-                "label": "网站"
-            },
-            "wetland": {
-                "label": "类型"
-            },
-            "wheelchair": {
-                "label": "轮椅通道"
-            },
-            "wikipedia": {
-                "label": "维基百科"
-            },
-            "wood": {
-                "label": "类型"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "机场相关道路"
-            },
-            "aeroway/aerodrome": {
-                "name": "机场",
-                "terms": "飞机,机场,机场"
-            },
-            "aeroway/helipad": {
-                "name": "直升机场",
-                "terms": "直升机,直升机停机坪,直升机场"
-            },
-            "amenity": {
-                "name": "便利设施"
-            },
-            "amenity/bank": {
-                "name": "银行"
-            },
-            "amenity/bar": {
-                "name": "酒吧"
-            },
-            "amenity/bench": {
-                "name": "长凳"
-            },
-            "amenity/bicycle_parking": {
-                "name": "自行车停放处"
-            },
-            "amenity/bicycle_rental": {
-                "name": "自行车租赁处"
-            },
-            "amenity/cafe": {
-                "name": "咖啡",
-                "terms": "咖啡,茶,咖啡馆"
-            },
-            "amenity/cinema": {
-                "name": "电影院"
-            },
-            "amenity/courthouse": {
-                "name": "法院"
-            },
-            "amenity/embassy": {
-                "name": "使馆"
-            },
-            "amenity/fast_food": {
-                "name": "快餐"
-            },
-            "amenity/fire_station": {
-                "name": "消防站"
-            },
-            "amenity/fuel": {
-                "name": "加油站"
-            },
-            "amenity/grave_yard": {
-                "name": "墓地"
-            },
-            "amenity/hospital": {
-                "name": "医院"
-            },
-            "amenity/library": {
-                "name": "图书馆"
-            },
-            "amenity/marketplace": {
-                "name": "市场"
-            },
-            "amenity/parking": {
-                "name": "停车场"
-            },
-            "amenity/pharmacy": {
-                "name": "药房"
-            },
-            "amenity/place_of_worship": {
-                "name": "礼拜场所"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "教堂"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "犹太教堂",
-                "terms": "犹太人,犹太教堂"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "清真寺",
-                "terms": "穆斯林,清真寺"
-            },
-            "amenity/police": {
-                "name": "警察局"
-            },
-            "amenity/post_box": {
-                "name": "邮箱",
-                "terms": "邮件投递,信箱,邮筒,邮箱"
-            },
-            "amenity/post_office": {
-                "name": "邮局"
-            },
-            "amenity/pub": {
-                "name": "酒馆"
-            },
-            "amenity/restaurant": {
-                "name": "餐馆"
-            },
-            "amenity/school": {
-                "name": "学校"
-            },
-            "amenity/swimming_pool": {
-                "name": "游泳池"
-            },
-            "amenity/telephone": {
-                "name": "电话"
-            },
-            "amenity/theatre": {
-                "name": "剧院"
-            },
-            "amenity/toilets": {
-                "name": "厕所"
-            },
-            "amenity/townhall": {
-                "name": "市政府"
-            },
-            "amenity/university": {
-                "name": "大学"
-            },
-            "barrier": {
-                "name": "屏障"
-            },
-            "barrier/block": {
-                "name": "街区"
-            },
-            "barrier/bollard": {
-                "name": "短柱"
-            },
-            "barrier/cattle_grid": {
-                "name": "家畜栅栏"
-            },
-            "barrier/city_wall": {
-                "name": "城墙"
-            },
-            "barrier/ditch": {
-                "name": "沟"
-            },
-            "barrier/entrance": {
-                "name": "入口"
-            },
-            "barrier/fence": {
-                "name": "篱笆"
-            },
-            "barrier/gate": {
-                "name": "门"
-            },
-            "barrier/lift_gate": {
-                "name": "电梯门"
-            },
-            "barrier/retaining_wall": {
-                "name": "挡土墙"
-            },
-            "barrier/toll_booth": {
-                "name": "收费站"
-            },
-            "barrier/wall": {
-                "name": "墙"
-            },
-            "building": {
-                "name": "建筑物"
-            },
-            "building/apartments": {
-                "name": "酒店公寓"
-            },
-            "building/entrance": {
-                "name": "入口"
-            },
-            "entrance": {
-                "name": "入口"
-            },
-            "highway": {
-                "name": "公路"
-            },
-            "highway/bridleway": {
-                "name": "马道",
-                "terms": "楼梯"
-            },
-            "highway/bus_stop": {
-                "name": "公交车站"
-            },
-            "highway/crossing": {
-                "name": "路口",
-                "terms": "人行横道,斑马线"
-            },
-            "highway/cycleway": {
-                "name": "自行车道"
-            },
-            "highway/footway": {
-                "name": "人行道"
-            },
-            "highway/motorway": {
-                "name": "高速公路"
-            },
-            "highway/motorway_link": {
-                "name": "高速公路匝道"
-            },
-            "highway/path": {
-                "name": "路"
-            },
-            "highway/primary": {
-                "name": "主要道路"
-            },
-            "highway/primary_link": {
-                "name": "主要道路匝道"
-            },
-            "highway/residential": {
-                "name": "住宅区道路"
-            },
-            "highway/road": {
-                "name": "未知道路"
-            },
-            "highway/secondary": {
-                "name": "次要道路"
-            },
-            "highway/secondary_link": {
-                "name": "次要道路匝道"
-            },
-            "highway/service": {
-                "name": "辅助道路"
-            },
-            "highway/steps": {
-                "name": "台阶",
-                "terms": "楼梯"
-            },
-            "highway/tertiary": {
-                "name": "三级道路"
-            },
-            "highway/tertiary_link": {
-                "name": "三级道路匝道"
-            },
-            "highway/track": {
-                "name": "小路"
-            },
-            "highway/traffic_signals": {
-                "name": "红绿灯",
-                "terms": "灯,刹车灯,交通灯"
-            },
-            "highway/trunk": {
-                "name": "干线道路"
-            },
-            "highway/trunk_link": {
-                "name": "干线道路匝道"
-            },
-            "highway/turning_circle": {
-                "name": "环岛"
-            },
-            "highway/unclassified": {
-                "name": "未分级的道路"
-            },
-            "historic": {
-                "name": "历史遗迹"
-            },
-            "historic/archaeological_site": {
-                "name": "考古遗址"
-            },
-            "historic/boundary_stone": {
-                "name": "界桩"
-            },
-            "historic/castle": {
-                "name": "城堡"
-            },
-            "historic/memorial": {
-                "name": "纪念馆"
-            },
-            "historic/monument": {
-                "name": "纪念碑"
-            },
-            "historic/ruins": {
-                "name": "废墟"
-            },
-            "historic/wayside_cross": {
-                "name": "路边的十字架"
-            },
-            "historic/wayside_shrine": {
-                "name": "路边的神社"
-            },
-            "landuse": {
-                "name": "土地用途"
-            },
-            "landuse/allotments": {
-                "name": "社区花园"
-            },
-            "landuse/basin": {
-                "name": "水池"
-            },
-            "landuse/cemetery": {
-                "name": "墓地"
-            },
-            "landuse/commercial": {
-                "name": "商业区"
-            },
-            "landuse/construction": {
-                "name": "建筑物"
-            },
-            "landuse/farm": {
-                "name": "农场"
-            },
-            "landuse/farmyard": {
-                "name": "农场"
-            },
-            "landuse/forest": {
-                "name": "森林"
-            },
-            "landuse/grass": {
-                "name": "草坪"
-            },
-            "landuse/industrial": {
-                "name": "工业区"
-            },
-            "landuse/meadow": {
-                "name": "牧场"
-            },
-            "landuse/orchard": {
-                "name": "果园"
-            },
-            "landuse/quarry": {
-                "name": "采石场"
-            },
-            "landuse/residential": {
-                "name": "住宅区"
-            },
-            "landuse/vineyard": {
-                "name": "葡萄园"
-            },
-            "leisure": {
-                "name": "休闲场所"
-            },
-            "leisure/garden": {
-                "name": "花园"
-            },
-            "leisure/golf_course": {
-                "name": "高尔夫球场"
-            },
-            "leisure/marina": {
-                "name": "码头"
-            },
-            "leisure/park": {
-                "name": "公园"
-            },
-            "leisure/pitch": {
-                "name": "运动场所"
-            },
-            "leisure/pitch/american_football": {
-                "name": "美式足球场"
-            },
-            "leisure/pitch/baseball": {
-                "name": "棒球场"
-            },
-            "leisure/pitch/basketball": {
-                "name": "篮球场"
-            },
-            "leisure/pitch/soccer": {
-                "name": "足球场"
-            },
-            "leisure/pitch/tennis": {
-                "name": "网球场"
-            },
-            "leisure/playground": {
-                "name": "运动场"
-            },
-            "leisure/slipway": {
-                "name": "下水滑道"
-            },
-            "leisure/stadium": {
-                "name": "体育场"
-            },
-            "leisure/swimming_pool": {
-                "name": "游泳池"
-            },
-            "man_made": {
-                "name": "人造的"
-            },
-            "man_made/lighthouse": {
-                "name": "灯塔"
-            },
-            "man_made/pier": {
-                "name": "码头"
-            },
-            "man_made/survey_point": {
-                "name": "测量点"
-            },
-            "man_made/water_tower": {
-                "name": "水塔"
-            },
-            "natural": {
-                "name": "自然"
-            },
-            "natural/bay": {
-                "name": "海湾"
-            },
-            "natural/beach": {
-                "name": "海滩"
-            },
-            "natural/cliff": {
-                "name": "悬崖"
-            },
-            "natural/coastline": {
-                "name": "海岸线",
-                "terms": "岸"
-            },
-            "natural/glacier": {
-                "name": "冰川"
-            },
-            "natural/grassland": {
-                "name": "草原"
-            },
-            "natural/heath": {
-                "name": "荒野"
-            },
-            "natural/peak": {
-                "name": "山峰"
-            },
-            "natural/scrub": {
-                "name": "灌木丛"
-            },
-            "natural/spring": {
-                "name": "泉水"
-            },
-            "natural/tree": {
-                "name": "树"
-            },
-            "natural/water": {
-                "name": "水"
-            },
-            "natural/water/lake": {
-                "name": "湖泊",
-                "terms": "小湖,湖"
-            },
-            "natural/water/pond": {
-                "name": "池塘"
-            },
-            "natural/water/reservoir": {
-                "name": "水库"
-            },
-            "natural/wetland": {
-                "name": "湿地"
-            },
-            "natural/wood": {
-                "name": "树林"
-            },
-            "office": {
-                "name": "办公室"
-            },
-            "other": {
-                "name": "其他"
-            },
-            "other_area": {
-                "name": "其他"
-            },
-            "place": {
-                "name": "地点"
-            },
-            "place/city": {
-                "name": "城市"
-            },
-            "place/hamlet": {
-                "name": "小村庄"
-            },
-            "place/island": {
-                "name": "岛屿"
-            },
-            "place/locality": {
-                "name": "位置"
-            },
-            "place/town": {
-                "name": "城镇"
-            },
-            "place/village": {
-                "name": "村庄"
-            },
-            "power": {
-                "name": "电力设施"
-            },
-            "power/generator": {
-                "name": "发电厂"
-            },
-            "power/line": {
-                "name": "电路线"
-            },
-            "power/pole": {
-                "name": "电线杆"
-            },
-            "power/sub_station": {
-                "name": "变电站"
-            },
-            "power/tower": {
-                "name": "高压电塔"
-            },
-            "power/transformer": {
-                "name": "变压器"
-            },
-            "railway": {
-                "name": "铁路"
-            },
-            "railway/abandoned": {
-                "name": "废弃的铁路"
-            },
-            "railway/disused": {
-                "name": "废弃的铁路"
-            },
-            "railway/level_crossing": {
-                "name": "平交路口"
-            },
-            "railway/monorail": {
-                "name": "单轨铁路"
-            },
-            "railway/rail": {
-                "name": "铁轨"
-            },
-            "railway/subway": {
-                "name": "地铁"
-            },
-            "railway/subway_entrance": {
-                "name": "地铁口"
-            },
-            "railway/tram": {
-                "name": "电车",
-                "terms": "电车"
-            },
-            "shop": {
-                "name": "商店"
-            },
-            "shop/alcohol": {
-                "name": "酒品店"
-            },
-            "shop/bakery": {
-                "name": "面包店"
-            },
-            "shop/beauty": {
-                "name": "美容店"
-            },
-            "shop/beverages": {
-                "name": "饮料店"
-            },
-            "shop/bicycle": {
-                "name": "自行车店"
-            },
-            "shop/books": {
-                "name": "书店"
-            },
-            "shop/boutique": {
-                "name": "精品店"
-            },
-            "shop/butcher": {
-                "name": "肉贩"
-            },
-            "shop/car": {
-                "name": "汽车经销商"
-            },
-            "shop/car_parts": {
-                "name": "汽车配件店"
-            },
-            "shop/car_repair": {
-                "name": "汽车修理店"
-            },
-            "shop/chemist": {
-                "name": "药房"
-            },
-            "shop/clothes": {
-                "name": "服装店"
-            },
-            "shop/computer": {
-                "name": "电脑店"
-            },
-            "shop/confectionery": {
-                "name": "糕饼"
-            },
-            "shop/convenience": {
-                "name": "便利店"
-            },
-            "shop/deli": {
-                "name": "熟食店"
-            },
-            "shop/department_store": {
-                "name": "百货店"
-            },
-            "shop/doityourself": {
-                "name": "DIY商店"
-            },
-            "shop/dry_cleaning": {
-                "name": "干洗店"
-            },
-            "shop/electronics": {
-                "name": "家电店"
-            },
-            "shop/fishmonger": {
-                "name": "鱼贩"
-            },
-            "shop/florist": {
-                "name": "花店"
-            },
-            "shop/furniture": {
-                "name": "家具店"
-            },
-            "shop/garden_centre": {
-                "name": "花店"
-            },
-            "shop/gift": {
-                "name": "礼品店"
-            },
-            "shop/greengrocer": {
-                "name": "蔬菜水果店"
-            },
-            "shop/hairdresser": {
-                "name": "理发师"
-            },
-            "shop/hardware": {
-                "name": "五金商店"
-            },
-            "shop/hifi": {
-                "name": "音响店"
-            },
-            "shop/jewelry": {
-                "name": "珠宝店"
-            },
-            "shop/kiosk": {
-                "name": "报刊亭"
-            },
-            "shop/laundry": {
-                "name": "洗衣店"
-            },
-            "shop/mall": {
-                "name": "购物中心"
-            },
-            "shop/mobile_phone": {
-                "name": "手机店"
-            },
-            "shop/motorcycle": {
-                "name": "摩托车经销商"
-            },
-            "shop/music": {
-                "name": "音乐店"
-            },
-            "shop/newsagent": {
-                "name": "书报"
-            },
-            "shop/optician": {
-                "name": "眼镜店"
-            },
-            "shop/outdoor": {
-                "name": "户外店"
-            },
-            "shop/pet": {
-                "name": "宠物店"
-            },
-            "shop/shoes": {
-                "name": "鞋店"
-            },
-            "shop/sports": {
-                "name": "体育用品店"
-            },
-            "shop/stationery": {
-                "name": "文化用品店"
-            },
-            "shop/supermarket": {
-                "name": "超级市场"
-            },
-            "shop/toys": {
-                "name": "玩具店"
-            },
-            "shop/travel_agency": {
-                "name": "旅行社"
-            },
-            "shop/tyres": {
-                "name": "轮胎店"
-            },
-            "shop/vacant": {
-                "name": "空置铺位"
-            },
-            "shop/variety_store": {
-                "name": "杂货店"
-            },
-            "shop/video": {
-                "name": "影像店"
-            },
-            "tourism": {
-                "name": "旅游业"
-            },
-            "tourism/alpine_hut": {
-                "name": "高山小屋"
-            },
-            "tourism/artwork": {
-                "name": "艺术品"
-            },
-            "tourism/attraction": {
-                "name": "旅游景点"
-            },
-            "tourism/camp_site": {
-                "name": "露营区"
-            },
-            "tourism/caravan_site": {
-                "name": "房车营地"
-            },
-            "tourism/chalet": {
-                "name": "木屋"
-            },
-            "tourism/guest_house": {
-                "name": "宾馆"
-            },
-            "tourism/hostel": {
-                "name": "招待所"
-            },
-            "tourism/hotel": {
-                "name": "旅馆"
-            },
-            "tourism/information": {
-                "name": "信息板"
-            },
-            "tourism/motel": {
-                "name": "汽车旅馆"
-            },
-            "tourism/museum": {
-                "name": "博物馆"
-            },
-            "tourism/picnic_site": {
-                "name": "郊游地点"
-            },
-            "tourism/theme_park": {
-                "name": "主题公园"
-            },
-            "tourism/viewpoint": {
-                "name": "景点"
-            },
-            "tourism/zoo": {
-                "name": "动物园"
-            },
-            "waterway": {
-                "name": "航道"
-            },
-            "waterway/canal": {
-                "name": "运河"
-            },
-            "waterway/dam": {
-                "name": "水坝"
-            },
-            "waterway/ditch": {
-                "name": "沟渠"
-            },
-            "waterway/drain": {
-                "name": "下水道"
-            },
-            "waterway/river": {
-                "name": "河流"
-            },
-            "waterway/riverbank": {
-                "name": "河堤"
-            },
-            "waterway/stream": {
-                "name": "溪流"
-            },
-            "waterway/weir": {
-                "name": "堤坝"
-            }
+                });
         }
+    };
+};
+iD.ui.ViewOnOSM = function(context) {
+    var id;
+
+    function viewOnOSM(selection) {
+        var entity = context.entity(id);
+
+        selection.style('display', entity.isNew() ? 'none' : null);
+
+        var $link = selection.selectAll('.view-on-osm')
+            .data([0]);
+
+        $link.enter()
+            .append('a')
+            .attr('class', 'view-on-osm')
+            .attr('target', '_blank')
+            .call(iD.svg.Icon('#icon-out-link', 'inline'))
+            .append('span')
+            .text(t('inspector.view_on_osm'));
+
+        $link
+            .attr('href', context.connection().entityURL(entity));
     }
+
+    viewOnOSM.entityID = function(_) {
+        if (!arguments.length) return id;
+        id = _;
+        return viewOnOSM;
+    };
+
+    return viewOnOSM;
 };
-/*
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+iD.ui.Zoom = function(context) {
+    var zooms = [{
+        id: 'zoom-in',
+        icon: 'plus',
+        title: t('zoom.in'),
+        action: context.zoomIn,
+        key: '+'
+    }, {
+        id: 'zoom-out',
+        icon: 'minus',
+        title: t('zoom.out'),
+        action: context.zoomOut,
+        key: '-'
+    }];
 
-    THIS FILE IS GENERATED BY `make translations`. Don't make changes to it.
+    function zoomIn() {
+        d3.event.preventDefault();
+        context.zoomIn();
+    }
 
-    Instead, edit the English strings in data/core.yaml, or contribute
-    translations on https://www.transifex.com/projects/p/id-editor/.
+    function zoomOut() {
+        d3.event.preventDefault();
+        context.zoomOut();
+    }
 
-    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
-locale.zh_TW = {
-    "modes": {
-        "add_area": {
-            "title": "區域",
-            "description": "在地圖上添加公園、建築物、湖泊或其他區域。",
-            "tail": "按一下地圖來開始繪製一個區域,如公園、湖泊或建築物。"
-        },
-        "add_line": {
-            "title": "線",
-            "description": "在地圖上添加公路、街道、行人徑、運河或其他線段。",
-            "tail": "按一下地圖來開始繪製道路、小徑或路徑。"
-        },
-        "add_point": {
-            "title": "點",
-            "description": "在地圖上添加餐廳、古蹪、郵箱或其他地點。",
-            "tail": "按一下地圖來添加一個點。"
-        },
-        "browse": {
-            "title": "瀏覽",
-            "description": "平移及縮放地圖。"
-        }
-    },
-    "operations": {
-        "add": {
-            "annotation": {
-                "point": "添加了一點。",
-                "vertex": "給路徑添加了一節點。"
-            }
-        },
-        "start": {
-            "annotation": {
-                "line": "開始繪製一線段。",
-                "area": "開始繪製一區域。"
-            }
-        },
-        "continue": {
-            "annotation": {
-                "line": "繼續繪製一線段。",
-                "area": "繼續繪製一區域。"
-            }
-        },
-        "cancel_draw": {
-            "annotation": "取消了繪圖。"
-        },
-        "change_tags": {
-            "annotation": "修改了標籤。"
-        },
-        "circularize": {
-            "title": "環形化",
-            "key": "O",
-            "annotation": {
-                "line": "把一線段製成圓形。",
-                "area": "把一區域製成圓形。"
-            }
-        },
-        "orthogonalize": {
-            "title": "直角化",
-            "description": "把角落轉換成轉角。",
-            "key": "Q",
-            "annotation": {
-                "line": "把線段上的角落換成轉角。",
-                "area": "把區域的角落換成轉角"
-            }
-        },
-        "delete": {
-            "title": "刪除",
-            "description": "從地圖上移除這個物件。",
-            "annotation": {
-                "point": "刪除了一點。",
-                "vertex": "刪除了路徑上的一個節點。",
-                "line": "刪除了一線段。",
-                "area": "刪除了一區域。",
-                "relation": "刪除了一關係",
-                "multiple": "刪除了 {n} 個物件。"
-            }
-        },
-        "connect": {
-            "annotation": {
-                "point": "已連接路徑到一點。",
-                "vertex": "已連接路徑到另一路徑。",
-                "line": "已連接路徑到一線段。",
-                "area": "已連接路徑到一區域。"
-            }
-        },
-        "disconnect": {
-            "title": "斷開",
-            "description": "斷開這些路徑。",
-            "key": "D",
-            "annotation": "斷開了路徑。"
-        },
-        "merge": {
-            "title": "合併",
-            "description": "合併這些線段。",
-            "key": "C",
-            "annotation": "合併了 {n} 條線段。"
-        },
-        "move": {
-            "title": "移動",
-            "description": "移動這物件到另一處。",
-            "key": "M",
-            "annotation": {
-                "point": "移動了一點。",
-                "vertex": "移動了路徑上的一節點。",
-                "line": "移動了一線段。",
-                "area": "移動了一區域。",
-                "multiple": "移動了數個物件。"
-            }
-        },
-        "rotate": {
-            "title": "旋轉",
-            "description": "讓這物件圍繞其中心點旋轉。",
-            "key": "R",
-            "annotation": {
-                "line": "旋轉了一線段。",
-                "area": "旋轉了一區域。"
-            }
-        },
-        "reverse": {
-            "title": "反轉",
-            "description": "讓這線段循相反方向走。",
-            "key": "V",
-            "annotation": "反轉一線段。"
-        },
-        "split": {
-            "title": "分割",
-            "key": "X"
-        }
-    },
-    "nothing_to_undo": "沒有動作可以撤銷。",
-    "nothing_to_redo": "沒有動作可以重做。",
-    "just_edited": "你剛剛編輯了OpenStreetMap!",
-    "browser_notice": "這編輯器支援Firefox、Chrome、Safari、Opera及Internet Explorer 9或以上。請先把你的瀏覽器升級或使用Potlatch 2來編輯地圖。",
-    "view_on_osm": "於OSM上顯示",
-    "zoom_in_edit": "放大地圖以開始編輯",
-    "logout": "登出",
-    "report_a_bug": "報導錯誤",
-    "commit": {
-        "title": "儲存修改",
-        "description_placeholder": "簡要描述你的貢獻",
-        "upload_explanation": "你以 {user} 具名的修改將會在所有使用OpenStreetMap數據的地圖上看得見。",
-        "save": "儲存",
-        "cancel": "取消",
-        "warnings": "警告",
-        "modified": "已修改",
-        "deleted": "已刪除",
-        "created": "已創建"
-    },
-    "contributors": {
-        "list": "正在觀看 {users} 的貢獻",
-        "truncated_list": "正在觀看 {users} 和另外 {count} 個用戶的貢獻"
-    },
-    "geocoder": {
-        "title": "尋找一地方",
-        "placeholder": "尋找一地方",
-        "no_results": "找不到名為 '{name}' 的地方"
-    },
-    "geolocate": {
-        "title": "顯示我的位置"
-    },
-    "inspector": {
-        "no_documentation_combination": "這個標籤組合沒有可用的文檔",
-        "no_documentation_key": "這個鍵值沒有可用的文檔",
-        "show_more": "顯示更多",
-        "new_tag": "新的標籤",
-        "editing_feature": "正在編輯 {feature}",
-        "additional": "附加的標籤",
-        "choose": "選擇功能種類",
-        "results": "{search} 的 {n} 個結果",
-        "back_tooltip": "修改功能種類"
-    },
-    "background": {
-        "title": "背景",
-        "description": "背景設定",
-        "percent_brightness": "{opacity}%的光度",
-        "fix_misalignment": "校準",
-        "reset": "重設"
-    },
-    "restore": {
-        "description": "上一次你仍有未儲存的修改,你想恢復這些修改嗎﹖",
-        "restore": "恢復",
-        "reset": "重設"
-    },
-    "save": {
-        "title": "儲存",
-        "help": "儲存修改至OpenStreetMap,使其他用戶均可觀看你的修改。",
-        "no_changes": "沒有修改需要儲存。",
-        "error": "儲存時發生錯誤",
-        "uploading": "正在上傳修改至OpenStreetMap。",
-        "unsaved_changes": "你有未儲存的修改"
-    },
-    "splash": {
-        "welcome": "歡迎使用iD OpenStreetMap編輯器",
-        "text": "這是開發版本 {version}。欲知詳情請瀏覽 {website} 及於 {github} 報告錯誤。"
-    },
-    "source_switch": {
-        "live": "實況模式",
-        "dev": "開發模式"
-    },
-    "tag_reference": {
-        "description": "描述",
-        "on_wiki": "於wiki.osm.org上的 {tag}",
-        "used_with": "可與 {type} 使用"
-    },
-    "validations": {
-        "untagged_line": "未標記的線段",
-        "untagged_area": "未標記的區域",
-        "many_deletions": "你正在刪除 {n} 個物件。這樣會從openstreetmap.org的地圖上刪除,你是否確定需要這樣做?",
-        "tag_suggests_area": "{tag} 標籤所建議的線段應為區域,但這個不是一區域",
-        "deprecated_tags": "已棄用的標籤︰{tags}"
-    },
-    "zoom": {
-        "in": "放大",
-        "out": "縮小"
-    },
-    "gpx": {
-        "local_layer": "本機GPX檔案",
-        "drag_drop": "拖放一個.gpx格式的檔案到本頁"
-    },
-    "presets": {
-        "fields": {
-            "access": {
-                "label": "通道"
-            },
-            "address": {
-                "label": "地址",
-                "placeholders": {
-                    "housename": "屋宇名稱",
-                    "number": "123",
-                    "street": "街道",
-                    "city": "城市"
-                }
-            },
-            "aeroway": {
-                "label": "種類"
-            },
-            "amenity": {
-                "label": "種類"
-            },
-            "atm": {
-                "label": "自動取款機"
-            },
-            "bicycle_parking": {
-                "label": "種類"
-            },
-            "building": {
-                "label": "建築物"
-            },
-            "building_area": {
-                "label": "建築物"
-            },
-            "building_yes": {
-                "label": "建築物"
-            },
-            "capacity": {
-                "label": "容量"
-            },
-            "collection_times": {
-                "label": "收集時間"
-            },
-            "construction": {
-                "label": "種類"
-            },
-            "country": {
-                "label": "國家"
-            },
-            "crossing": {
-                "label": "種類"
-            },
-            "cuisine": {
-                "label": "美饌"
-            },
-            "denomination": {
-                "label": "教派"
-            },
-            "denotation": {
-                "label": "表示"
-            },
-            "elevation": {
-                "label": "高度"
-            },
-            "emergency": {
-                "label": "緊急"
-            },
-            "entrance": {
-                "label": "種類"
-            },
-            "fax": {
-                "label": "傳真"
-            },
-            "fee": {
-                "label": "費用"
-            },
-            "highway": {
-                "label": "種類"
-            },
-            "historic": {
-                "label": "種類"
-            },
-            "internet_access": {
-                "label": "網際網絡連接",
-                "options": {
-                    "wlan": "無線網絡",
-                    "wired": "有線網絡",
-                    "terminal": "終端"
-                }
-            },
-            "landuse": {
-                "label": "種類"
-            },
-            "layer": {
-                "label": "層"
-            },
-            "leisure": {
-                "label": "種類"
-            },
-            "levels": {
-                "label": "級別"
-            },
-            "man_made": {
-                "label": "種類"
-            },
-            "maxspeed": {
-                "label": "速度限制"
-            },
-            "natural": {
-                "label": "自然"
-            },
-            "network": {
-                "label": "網絡"
-            },
-            "note": {
-                "label": "備註"
-            },
-            "office": {
-                "label": "種類"
-            },
-            "oneway": {
-                "label": "單程"
-            },
-            "opening_hours": {
-                "label": "小時"
-            },
-            "operator": {
-                "label": "營運商"
-            },
-            "phone": {
-                "label": "電話"
-            },
-            "place": {
-                "label": "種類"
-            },
-            "railway": {
-                "label": "種類"
-            },
-            "ref": {
-                "label": "參考"
-            },
-            "religion": {
-                "label": "宗教",
-                "options": {
-                    "christian": "基督教徒",
-                    "muslim": "穆斯林",
-                    "buddhist": "佛教徒",
-                    "jewish": "猶太教徒",
-                    "hindu": "印度教徒",
-                    "shinto": "神道教徒",
-                    "taoist": "道教徒"
-                }
-            },
-            "service": {
-                "label": "種類"
-            },
-            "shelter": {
-                "label": "遮雨棚/涼亭"
-            },
-            "shop": {
-                "label": "種類"
-            },
-            "source": {
-                "label": "來源"
-            },
-            "sport": {
-                "label": "運動"
-            },
-            "structure": {
-                "label": "結構",
-                "options": {
-                    "bridge": "橋樑",
-                    "tunnel": "隧道",
-                    "embankment": "堤岸",
-                    "cutting": "切割"
-                }
-            },
-            "surface": {
-                "label": "表面"
-            },
-            "tourism": {
-                "label": "種類"
-            },
-            "water": {
-                "label": "種類"
-            },
-            "waterway": {
-                "label": "種類"
-            },
-            "website": {
-                "label": "網站"
-            },
-            "wetland": {
-                "label": "種類"
-            },
-            "wheelchair": {
-                "label": "輪椅通道"
-            },
-            "wikipedia": {
-                "label": "維基百科"
-            },
-            "wood": {
-                "label": "種類"
-            }
-        },
-        "presets": {
-            "aeroway": {
-                "name": "機場相關設施"
-            },
-            "aeroway/aerodrome": {
-                "name": "機場",
-                "terms": "飛機,飛機場,飛行場"
-            },
-            "aeroway/helipad": {
-                "name": "直昇機場",
-                "terms": "直升機,直升機坪,直升機場"
-            },
-            "amenity": {
-                "name": "便利設施"
-            },
-            "amenity/bank": {
-                "name": "銀行",
-                "terms": "保險箱,帳房,信用合作社,受托人,國庫,基金,窖藏,投資機構,儲存庫,儲備,儲備,保險箱,存款,庫存,庫存,倉庫,倉庫,儲蓄及貸款協會,國庫,信託公司,窖"
-            },
-            "amenity/bar": {
-                "name": "酒吧"
-            },
-            "amenity/bench": {
-                "name": "長凳"
-            },
-            "amenity/bicycle_parking": {
-                "name": "腳踏車停泊處"
-            },
-            "amenity/bicycle_rental": {
-                "name": "腳踏車租賃"
-            },
-            "amenity/cafe": {
-                "name": "咖啡廳",
-                "terms": "咖啡,茶,咖啡店"
-            },
-            "amenity/cinema": {
-                "name": "戲院",
-                "terms": "大銀幕,電影院,電影,得來速影院,電影,電影,電影,電影院,電影院,電影,電影院,電影院,電影,電影,劇場,表演,銀幕"
-            },
-            "amenity/courthouse": {
-                "name": "法院"
-            },
-            "amenity/embassy": {
-                "name": "使館"
-            },
-            "amenity/fast_food": {
-                "name": "快餐店"
-            },
-            "amenity/fire_station": {
-                "name": "消防局"
-            },
-            "amenity/fuel": {
-                "name": "加油站"
-            },
-            "amenity/grave_yard": {
-                "name": "墓地"
-            },
-            "amenity/hospital": {
-                "name": "醫院",
-                "terms": "診所,急診室,衛生服務,安養院,醫院,醫院,療養院,療養院,療養院,療養院,醫務室,手術室,病房"
-            },
-            "amenity/library": {
-                "name": "圖書館"
-            },
-            "amenity/parking": {
-                "name": "停車場"
-            },
-            "amenity/pharmacy": {
-                "name": "藥房"
-            },
-            "amenity/place_of_worship": {
-                "name": "禮拜地方",
-                "terms": "隱修院,宗座聖殿,伯特利,座堂,聖壇,附屬小教堂,小聖堂,教堂,信徒,神殿,祈禱場所,宗教場所,修道院附屬的教堂,傳道部,清真寺,小教堂,教區,小聖堂,聖所,聖地,猶太教堂,禮拜堂,寺廟"
-            },
-            "amenity/place_of_worship/christian": {
-                "name": "教堂",
-                "terms": "基督教,隱修院,宗座聖殿,伯特利,座堂,聖壇,附屬小教堂,小聖堂,教堂,信徒,神殿,祈禱場所,宗教場所,修道院附屬的教堂,傳道部,清真寺,小教堂,教區,小聖堂,聖所,聖地,猶太教堂,禮拜堂,寺廟"
-            },
-            "amenity/place_of_worship/jewish": {
-                "name": "猶太教堂",
-                "terms": "猶太教,猶太教堂"
-            },
-            "amenity/place_of_worship/muslim": {
-                "name": "清真寺",
-                "terms": "穆斯林,清真寺"
-            },
-            "amenity/police": {
-                "name": "警察局",
-                "terms": "徽章,警官,警官,警官,警官,男童軍,警官,警官,警官,警官,警官,軍團,警車,偵探,警官,警官,部隊,警官,憲兵,刑警,警官, 法律,執法,警官,警官,警官,警官,警察"
-            },
-            "amenity/post_box": {
-                "name": "郵箱",
-                "terms": "信箱,信箱,郵箱,郵箱,郵筒,郵箱"
-            },
-            "amenity/post_office": {
-                "name": "郵政局"
-            },
-            "amenity/pub": {
-                "name": "酒館"
-            },
-            "amenity/restaurant": {
-                "name": "餐廳"
-            },
-            "amenity/school": {
-                "name": "學校"
-            },
-            "amenity/swimming_pool": {
-                "name": "游泳池"
-            },
-            "amenity/telephone": {
-                "name": "電話"
-            },
-            "amenity/theatre": {
-                "name": "劇院"
-            },
-            "amenity/toilets": {
-                "name": "廁所"
-            },
-            "amenity/townhall": {
-                "name": "市政廳"
-            },
-            "amenity/university": {
-                "name": "大學"
-            },
-            "building": {
-                "name": "建築物"
-            },
-            "building/entrance": {
-                "name": "入口"
-            },
-            "entrance": {
-                "name": "入口"
-            },
-            "highway": {
-                "name": "公路"
-            },
-            "highway/bus_stop": {
-                "name": "公共汽車站"
-            },
-            "highway/crossing": {
-                "name": "路口"
-            },
-            "highway/cycleway": {
-                "name": "自行車道"
-            },
-            "highway/footway": {
-                "name": "小徑"
-            },
-            "highway/motorway": {
-                "name": "高速公路"
-            },
-            "highway/path": {
-                "name": "路徑"
-            },
-            "highway/primary": {
-                "name": "主要道路"
-            },
-            "highway/residential": {
-                "name": "住宅區道路"
-            },
-            "highway/secondary": {
-                "name": "次要道路"
-            },
-            "highway/service": {
-                "name": "輔助道路"
-            },
-            "highway/steps": {
-                "name": "樓梯"
-            },
-            "highway/tertiary": {
-                "name": "三級道路"
-            },
-            "highway/track": {
-                "name": "軌道"
-            },
-            "highway/traffic_signals": {
-                "name": "交通訊號"
-            },
-            "highway/trunk": {
-                "name": "幹道"
-            },
-            "highway/turning_circle": {
-                "name": "回轉圈"
-            },
-            "highway/unclassified": {
-                "name": "未分類的道路"
-            },
-            "historic": {
-                "name": "歷史遺址"
-            },
-            "historic/monument": {
-                "name": "古蹟"
-            },
-            "landuse": {
-                "name": "土地用途"
-            },
-            "landuse/allotments": {
-                "name": "社區花園"
-            },
-            "landuse/basin": {
-                "name": "水池"
-            },
-            "landuse/cemetery": {
-                "name": "墳場"
-            },
-            "landuse/commercial": {
-                "name": "商業區"
-            },
-            "landuse/construction": {
-                "name": "施工"
-            },
-            "landuse/farm": {
-                "name": "農場"
-            },
-            "landuse/farmyard": {
-                "name": "農莊"
-            },
-            "landuse/forest": {
-                "name": "森林"
-            },
-            "landuse/grass": {
-                "name": "草地"
-            },
-            "landuse/industrial": {
-                "name": "工業區"
-            },
-            "landuse/meadow": {
-                "name": "牧場"
-            },
-            "landuse/orchard": {
-                "name": "果園"
-            },
-            "landuse/quarry": {
-                "name": "礦場"
-            },
-            "landuse/residential": {
-                "name": "住宅區"
-            },
-            "landuse/vineyard": {
-                "name": "酒莊"
-            },
-            "leisure": {
-                "name": "優閒設施"
-            },
-            "leisure/garden": {
-                "name": "花園"
-            },
-            "leisure/golf_course": {
-                "name": "高爾夫球場"
-            },
-            "leisure/park": {
-                "name": "公園"
-            },
-            "leisure/pitch": {
-                "name": "運動場所"
-            },
-            "leisure/pitch/american_football": {
-                "name": "美式足球場"
-            },
-            "leisure/pitch/baseball": {
-                "name": "棒球場"
-            },
-            "leisure/pitch/basketball": {
-                "name": "籃球場"
-            },
-            "leisure/pitch/soccer": {
-                "name": "足球場"
-            },
-            "leisure/pitch/tennis": {
-                "name": "網球場"
-            },
-            "leisure/playground": {
-                "name": "遊樂場"
-            },
-            "leisure/stadium": {
-                "name": "體育場"
-            },
-            "leisure/swimming_pool": {
-                "name": "游泳池"
-            },
-            "man_made": {
-                "name": "人造"
-            },
-            "man_made/lighthouse": {
-                "name": "燈塔"
-            },
-            "man_made/pier": {
-                "name": "碼頭"
-            },
-            "man_made/survey_point": {
-                "name": "測量點"
-            },
-            "man_made/water_tower": {
-                "name": "水塔"
-            },
-            "natural": {
-                "name": "自然"
-            },
-            "natural/bay": {
-                "name": "海灣"
-            },
-            "natural/beach": {
-                "name": "沙灘"
-            },
-            "natural/cliff": {
-                "name": "懸崖"
-            },
-            "natural/coastline": {
-                "name": "海岸線",
-                "terms": "岸"
-            },
-            "natural/glacier": {
-                "name": "冰川"
-            },
-            "natural/grassland": {
-                "name": "草原"
-            },
-            "natural/heath": {
-                "name": "荒地"
-            },
-            "natural/peak": {
-                "name": "山頂"
-            },
-            "natural/scrub": {
-                "name": "灌木叢"
-            },
-            "natural/spring": {
-                "name": "溫泉"
-            },
-            "natural/tree": {
-                "name": "樹"
-            },
-            "natural/water": {
-                "name": "水"
-            },
-            "natural/water/lake": {
-                "name": "湖泊"
-            },
-            "natural/water/pond": {
-                "name": "池塘"
-            },
-            "natural/water/reservoir": {
-                "name": "水塘"
-            },
-            "natural/wetland": {
-                "name": "濕地"
-            },
-            "natural/wood": {
-                "name": "樹林"
-            },
-            "office": {
-                "name": "辦公室"
-            },
-            "place": {
-                "name": "可歸類的地方"
-            },
-            "place/hamlet": {
-                "name": "村莊"
-            },
-            "place/island": {
-                "name": "島嶼"
-            },
-            "place/locality": {
-                "name": "未能歸類的地方"
-            },
-            "place/village": {
-                "name": "村鎮"
-            },
-            "power/sub_station": {
-                "name": "變電站"
-            },
-            "railway": {
-                "name": "火車站"
-            },
-            "railway/level_crossing": {
-                "name": "平交道"
-            },
-            "railway/rail": {
-                "name": "鐵路"
-            },
-            "railway/subway": {
-                "name": "地鐵"
-            },
-            "railway/subway_entrance": {
-                "name": "地鐵入口"
-            },
-            "shop": {
-                "name": "商店"
-            },
-            "shop/butcher": {
-                "name": "肉販"
-            },
-            "shop/supermarket": {
-                "name": "超級市場"
-            },
-            "tourism": {
-                "name": "旅遊業"
-            },
-            "tourism/alpine_hut": {
-                "name": "高山小屋"
-            },
-            "tourism/artwork": {
-                "name": "藝術品"
-            },
-            "tourism/attraction": {
-                "name": "觀光點"
-            },
-            "tourism/camp_site": {
-                "name": "營地"
-            },
-            "tourism/caravan_site": {
-                "name": "露營車停車場"
-            },
-            "tourism/chalet": {
-                "name": "木屋"
-            },
-            "tourism/guest_house": {
-                "name": "賓館"
-            },
-            "tourism/hostel": {
-                "name": "旅舍"
-            },
-            "tourism/hotel": {
-                "name": "酒店"
-            },
-            "tourism/information": {
-                "name": "資訊"
-            },
-            "tourism/motel": {
-                "name": "汽車旅館"
-            },
-            "tourism/museum": {
-                "name": "博物館"
-            },
-            "tourism/picnic_site": {
-                "name": "野餐地點"
-            },
-            "tourism/theme_park": {
-                "name": "主題公園"
-            },
-            "tourism/viewpoint": {
-                "name": "觀景點"
-            },
-            "tourism/zoo": {
-                "name": "動物園"
-            },
-            "waterway": {
-                "name": "水道"
-            },
-            "waterway/canal": {
-                "name": "運河"
-            },
-            "waterway/dam": {
-                "name": "堤壩"
-            },
-            "waterway/ditch": {
-                "name": "溝"
-            },
-            "waterway/drain": {
-                "name": "渠"
-            },
-            "waterway/river": {
-                "name": "河流"
-            },
-            "waterway/riverbank": {
-                "name": "河床"
-            },
-            "waterway/stream": {
-                "name": "溪流"
-            },
-            "waterway/weir": {
-                "name": "堤堰"
-            }
-        }
+    function zoomInFurther() {
+        d3.event.preventDefault();
+        context.zoomInFurther();
+    }
+
+    function zoomOutFurther() {
+        d3.event.preventDefault();
+        context.zoomOutFurther();
     }
+
+
+    return function(selection) {
+        var button = selection.selectAll('button')
+            .data(zooms)
+            .enter().append('button')
+            .attr('tabindex', -1)
+            .attr('class', function(d) { return d.id; })
+            .on('click.editor', function(d) { d.action(); })
+            .call(bootstrap.tooltip()
+                .placement('left')
+                .html(true)
+                .title(function(d) {
+                    return iD.ui.tooltipHtml(d.title, d.key);
+                }));
+
+        button.each(function(d) {
+            d3.select(this)
+                .call(iD.svg.Icon('#icon-' + d.icon, 'light'));
+        });
+
+        var keybinding = d3.keybinding('zoom');
+
+        _.each(['=','ffequals','plus','ffplus'], function(key) {
+            keybinding.on(key, zoomIn);
+            keybinding.on('⇧' + key, zoomIn);
+            keybinding.on(iD.ui.cmd('⌘' + key), zoomInFurther);
+            keybinding.on(iD.ui.cmd('⌘⇧' + key), zoomInFurther);
+        });
+        _.each(['-','ffminus','_','dash'], function(key) {
+            keybinding.on(key, zoomOut);
+            keybinding.on('⇧' + key, zoomOut);
+            keybinding.on(iD.ui.cmd('⌘' + key), zoomOutFurther);
+            keybinding.on(iD.ui.cmd('⌘⇧' + key), zoomOutFurther);
+        });
+
+        d3.select(document)
+            .call(keybinding);
+    };
 };
-iD.data = {
-    "deprecated": [
-        {
-            "old": {
-                "barrier": "wire_fence"
-            },
-            "replace": {
-                "barrier": "fence",
-                "fence_type": "chain"
-            }
-        },
-        {
-            "old": {
-                "barrier": "wood_fence"
-            },
-            "replace": {
-                "barrier": "fence",
-                "fence_type": "wood"
-            }
-        },
-        {
-            "old": {
-                "highway": "ford"
-            },
-            "replace": {
-                "ford": "yes"
-            }
-        },
-        {
-            "old": {
-                "highway": "stile"
-            },
-            "replace": {
-                "barrier": "stile"
-            }
-        },
-        {
-            "old": {
-                "highway": "incline"
-            },
-            "replace": {
-                "highway": "road",
-                "incline": "up"
-            }
-        },
-        {
-            "old": {
-                "highway": "incline_steep"
-            },
-            "replace": {
-                "highway": "road",
-                "incline": "up"
-            }
-        },
-        {
-            "old": {
-                "highway": "unsurfaced"
-            },
-            "replace": {
-                "highway": "road",
-                "incline": "unpaved"
-            }
-        },
-        {
-            "old": {
-                "landuse": "wood"
-            },
-            "replace": {
-                "landuse": "forest",
-                "natural": "wood"
-            }
-        },
-        {
-            "old": {
-                "natural": "marsh"
-            },
-            "replace": {
-                "natural": "wetland",
-                "wetland": "marsh"
-            }
-        },
-        {
-            "old": {
-                "shop": "organic"
-            },
-            "replace": {
-                "shop": "supermarket",
-                "organic": "only"
-            }
-        },
-        {
-            "old": {
-                "power_source": "*"
-            },
-            "replace": {
-                "generator:source": "$1"
-            }
-        },
-        {
-            "old": {
-                "power_rating": "*"
-            },
-            "replace": {
-                "generator:output": "$1"
+iD.ui.preset.access = function(field) {
+    var event = d3.dispatch('change'),
+        items;
+
+    function access(selection) {
+        var wrap = selection.selectAll('.preset-input-wrap')
+            .data([0]);
+
+        wrap.enter().append('div')
+            .attr('class', 'cf preset-input-wrap')
+            .append('ul');
+
+        items = wrap.select('ul').selectAll('li')
+            .data(field.keys);
+
+        // Enter
+
+        var enter = items.enter().append('li')
+            .attr('class', function(d) { return 'cf preset-access-' + d; });
+
+        enter.append('span')
+            .attr('class', 'col6 label preset-label-access')
+            .attr('for', function(d) { return 'preset-input-access-' + d; })
+            .text(function(d) { return field.t('types.' + d); });
+
+        enter.append('div')
+            .attr('class', 'col6 preset-input-access-wrap')
+            .append('input')
+            .attr('type', 'text')
+            .attr('class', 'preset-input-access')
+            .attr('id', function(d) { return 'preset-input-access-' + d; })
+            .each(function(d) {
+                d3.select(this)
+                    .call(d3.combobox()
+                        .data(access.options(d)));
+            });
+
+        // Update
+
+        wrap.selectAll('.preset-input-access')
+            .on('change', change)
+            .on('blur', change);
+    }
+
+    function change(d) {
+        var tag = {};
+        tag[d] = d3.select(this).value() || undefined;
+        event.change(tag);
+    }
+
+    access.options = function(type) {
+        var options = ['no', 'permissive', 'private', 'destination'];
+
+        if (type !== 'access') {
+            options.unshift('yes');
+            options.push('designated');
+
+            if (type === 'bicycle') {
+                options.push('dismount');
             }
         }
-    ],
-    "discarded": [
-        "created_by",
-        "tiger:upload_uuid",
-        "tiger:tlid",
-        "tiger:source",
-        "tiger:separated",
-        "geobase:datasetName",
-        "geobase:uuid",
-        "sub_sea:type",
-        "odbl",
-        "odbl:note",
-        "yh:LINE_NAME",
-        "yh:LINE_NUM",
-        "yh:STRUCTURE",
-        "yh:TOTYUMONO",
-        "yh:TYPE",
-        "yh:WIDTH_RANK"
-    ],
-    "keys": {
-        "http://api06.dev.openstreetmap.org": {
-            "oauth_consumer_key": "zwQZFivccHkLs3a8Rq5CoS412fE5aPCXDw9DZj7R",
-            "oauth_secret": "aMnOOCwExO2XYtRVWJ1bI9QOdqh1cay2UgpbhA6p",
-            "oauth_signature_method": "HMAC-SHA1"
-        },
-        "http://www.openstreetmap.org": {
-            "oauth_consumer_key": "5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT",
-            "oauth_secret": "aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL",
-            "oauth_signature_method": "HMAC-SHA1"
+
+        return options.map(function(option) {
+            return {
+                title: field.t('options.' + option + '.description'),
+                value: option
+            };
+        });
+    };
+
+    var placeholders = {
+        footway: {
+            foot: 'designated',
+            motor_vehicle: 'no'
+        },
+        steps: {
+            foot: 'yes',
+            motor_vehicle: 'no',
+            bicycle: 'no',
+            horse: 'no'
+        },
+        pedestrian: {
+            foot: 'yes',
+            motor_vehicle: 'no'
+        },
+        cycleway: {
+            motor_vehicle: 'no',
+            bicycle: 'designated'
+        },
+        bridleway: {
+            motor_vehicle: 'no',
+            horse: 'designated'
+        },
+        path: {
+            foot: 'yes',
+            motor_vehicle: 'no',
+            bicycle: 'yes',
+            horse: 'yes'
+        },
+        motorway: {
+            foot: 'no',
+            motor_vehicle: 'yes',
+            bicycle: 'no',
+            horse: 'no'
+        },
+        trunk: {
+            motor_vehicle: 'yes'
+        },
+        primary: {
+            foot: 'yes',
+            motor_vehicle: 'yes',
+            bicycle: 'yes',
+            horse: 'yes'
+        },
+        secondary: {
+            foot: 'yes',
+            motor_vehicle: 'yes',
+            bicycle: 'yes',
+            horse: 'yes'
+        },
+        tertiary: {
+            foot: 'yes',
+            motor_vehicle: 'yes',
+            bicycle: 'yes',
+            horse: 'yes'
+        },
+        residential: {
+            foot: 'yes',
+            motor_vehicle: 'yes',
+            bicycle: 'yes',
+            horse: 'yes'
+        },
+        unclassified: {
+            foot: 'yes',
+            motor_vehicle: 'yes',
+            bicycle: 'yes',
+            horse: 'yes'
+        },
+        service: {
+            foot: 'yes',
+            motor_vehicle: 'yes',
+            bicycle: 'yes',
+            horse: 'yes'
+        },
+        motorway_link: {
+            foot: 'no',
+            motor_vehicle: 'yes',
+            bicycle: 'no',
+            horse: 'no'
+        },
+        trunk_link: {
+            motor_vehicle: 'yes'
+        },
+        primary_link: {
+            foot: 'yes',
+            motor_vehicle: 'yes',
+            bicycle: 'yes',
+            horse: 'yes'
+        },
+        secondary_link: {
+            foot: 'yes',
+            motor_vehicle: 'yes',
+            bicycle: 'yes',
+            horse: 'yes'
+        },
+        tertiary_link: {
+            foot: 'yes',
+            motor_vehicle: 'yes',
+            bicycle: 'yes',
+            horse: 'yes'
         }
-    },
-    "imagery": [
-        {
-            "name": "Bing aerial imagery",
-            "template": "http://ecn.t{t}.tiles.virtualearth.net/tiles/a{u}.jpeg?g=587&mkt=en-gb&n=z",
-            "description": "Satellite imagery.",
-            "scaleExtent": [
-                0,
-                20
-            ],
-            "subdomains": [
-                "0",
-                "1",
-                "2",
-                "3"
-            ],
-            "default": "yes",
-            "sourcetag": "Bing",
-            "logo": "bing_maps.png",
-            "logo_url": "http://www.bing.com/maps",
-            "terms_url": "http://opengeodata.org/microsoft-imagery-details"
-        },
-        {
-            "name": "MapBox Satellite",
-            "template": "http://{t}.tiles.mapbox.com/v3/openstreetmap.map-4wvf9l0l/{z}/{x}/{y}.png",
-            "description": "Satellite and aerial imagery.",
-            "scaleExtent": [
-                0,
-                16
-            ],
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ],
-            "terms_url": "http://mapbox.com/tos/"
-        },
-        {
-            "name": "OpenStreetMap",
-            "template": "http://{t}.tile.openstreetmap.org/{z}/{x}/{y}.png",
-            "description": "The default OpenStreetMap layer.",
-            "scaleExtent": [
-                0,
-                18
-            ],
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ]
-        },
-        {
-            "name": " TIGER 2012 Roads Overlay",
-            "template": "http://{t}.tile.openstreetmap.us/tiger2012_roads_expanded/{z}/{x}/{y}.png",
-            "overlay": true,
-            "scaleExtent": [
-                16,
-                19
-            ],
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ],
-            "extent": [
-                [
-                    -124.81,
-                    24.055
-                ],
-                [
-                    -66.865,
-                    49.386
-                ]
-            ]
-        },
-        {
-            "name": " TIGER 2012 Roads Overlay",
-            "template": "http://{t}.tile.openstreetmap.us/tiger2012_roads_expanded/{z}/{x}/{y}.png",
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ],
-            "extent": [
-                [
-                    -179.754,
-                    50.858
-                ],
-                [
-                    -129.899,
-                    71.463
-                ]
-            ]
-        },
-        {
-            "name": " TIGER 2012 Roads Overlay",
-            "template": "http://{t}.tile.openstreetmap.us/tiger2012_roads_expanded/{z}/{x}/{y}.png",
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ],
-            "extent": [
-                [
-                    -174.46,
-                    18.702
-                ],
-                [
-                    -154.516,
-                    26.501
-                ]
-            ]
-        },
-        {
-            "name": " USGS Topographic Maps",
-            "template": "http://{t}.tile.openstreetmap.us/usgs_scanned_topos/{z}/{x}/{y}.png",
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ],
-            "extent": [
-                [
-                    -125.991,
-                    24.005
-                ],
-                [
-                    -65.988,
-                    50.009
-                ]
-            ]
-        },
-        {
-            "name": " USGS Topographic Maps",
-            "template": "http://{t}.tile.openstreetmap.us/usgs_scanned_topos/{z}/{x}/{y}.png",
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ],
-            "extent": [
-                [
-                    -160.579,
-                    18.902
-                ],
-                [
-                    -154.793,
-                    22.508
-                ]
-            ]
-        },
-        {
-            "name": " USGS Topographic Maps",
-            "template": "http://{t}.tile.openstreetmap.us/usgs_scanned_topos/{z}/{x}/{y}.png",
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ],
-            "extent": [
-                [
-                    -178.001,
-                    51.255
-                ],
-                [
-                    -130.004,
-                    71.999
-                ]
-            ]
-        },
-        {
-            "name": " USGS Large Scale Aerial Imagery",
-            "template": "http://{t}.tile.openstreetmap.us/usgs_large_scale/{z}/{x}/{y}.jpg",
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ],
-            "extent": [
-                [
-                    -124.819,
-                    24.496
-                ],
-                [
-                    -66.931,
-                    49.443
-                ]
-            ]
-        },
-        {
-            "name": "British Columbia bc_mosaic",
-            "template": "http://{t}.imagery.paulnorman.ca/tiles/bc_mosaic/{z}/{x}/{y}.png",
-            "subdomains": [
-                "a",
-                "b",
-                "c",
-                "d"
-            ],
-            "extent": [
-                [
-                    -123.441,
-                    48.995
-                ],
-                [
-                    -121.346,
-                    50.426
-                ]
-            ],
-            "sourcetag": "bc_mosaic",
-            "terms_url": "http://imagery.paulnorman.ca/tiles/about.html"
-        },
-        {
-            "name": "OS OpenData Streetview",
-            "template": "http://os.openstreetmap.org/sv/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    -8.72,
-                    49.86
-                ],
-                [
-                    1.84,
-                    60.92
-                ]
-            ],
-            "sourcetag": "OS_OpenData_StreetView"
-        },
-        {
-            "name": "OS OpenData Locator",
-            "template": "http://tiles.itoworld.com/os_locator/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    -9,
-                    49.8
-                ],
-                [
-                    1.9,
-                    61.1
-                ]
-            ],
-            "sourcetag": "OS_OpenData_Locator"
-        },
-        {
-            "name": "OS 1:25k historic (OSM)",
-            "template": "http://ooc.openstreetmap.org/os1/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    -9,
-                    49.8
-                ],
-                [
-                    1.9,
-                    61.1
-                ]
-            ],
-            "sourcetag": "OS 1:25k"
-        },
-        {
-            "name": "OS 1:25k historic (NLS)",
-            "template": "http://geo.nls.uk/mapdata2/os/25000/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    -9,
-                    49.8
-                ],
-                [
-                    1.9,
-                    61.1
-                ]
-            ],
-            "sourcetag": "OS 1:25k",
-            "logo": "icons/logo_nls70-nq8.png",
-            "logo_url": "http://geo.nls.uk/maps/"
-        },
-        {
-            "name": "OS 7th Series historic (OSM)",
-            "template": "http://ooc.openstreetmap.org/os7/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    -9,
-                    49.8
-                ],
-                [
-                    1.9,
-                    61.1
-                ]
-            ],
-            "sourcetag": "OS7"
-        },
-        {
-            "name": "OS 7th Series historic (NLS)",
-            "template": "http://geo.nls.uk/mapdata2/os/seventh/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    -9,
-                    49.8
-                ],
-                [
-                    1.9,
-                    61.1
-                ]
-            ],
-            "sourcetag": "OS7",
-            "logo": "icons/logo_nls70-nq8.png",
-            "logo_url": "http://geo.nls.uk/maps/"
-        },
-        {
-            "name": "OS New Popular Edition historic",
-            "template": "http://ooc.openstreetmap.org/npe/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    -5.8,
-                    49.8
-                ],
-                [
-                    1.9,
-                    55.8
-                ]
-            ],
-            "sourcetag": "NPE"
-        },
-        {
-            "name": "OS Scottish Popular historic",
-            "template": "http://ooc.openstreetmap.org/npescotland/tiles/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    -7.8,
-                    54.5
-                ],
-                [
-                    -1.1,
-                    61.1
-                ]
-            ],
-            "sourcetag": "NPE"
-        },
-        {
-            "name": "Surrey aerial",
-            "template": "http://gravitystorm.dev.openstreetmap.org/surrey/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    -0.856,
-                    51.071
-                ],
-                [
-                    0.062,
-                    51.473
-                ]
-            ],
-            "sourcetag": "Surrey aerial"
-        },
-        {
-            "name": "Haiti - GeoEye Jan 13",
-            "template": "http://gravitystorm.dev.openstreetmap.org/imagery/haiti/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    -74.5,
-                    17.95
-                ],
-                [
-                    -71.58,
-                    20.12
-                ]
-            ],
-            "sourcetag": "Haiti GeoEye"
-        },
-        {
-            "name": "Haiti - GeoEye Jan 13+",
-            "template": "http://maps.nypl.org/tilecache/1/geoeye/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    -74.5,
-                    17.95
-                ],
-                [
-                    -71.58,
-                    20.12
-                ]
-            ],
-            "sourcetag": "Haiti GeoEye"
-        },
-        {
-            "name": "Haiti - DigitalGlobe",
-            "template": "http://maps.nypl.org/tilecache/1/dg_crisis/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    -74.5,
-                    17.95
-                ],
-                [
-                    -71.58,
-                    20.12
-                ]
-            ],
-            "sourcetag": "Haiti DigitalGlobe"
-        },
-        {
-            "name": "Haiti - Street names",
-            "template": "http://hypercube.telascience.org/tiles/1.0.0/haiti-city/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    -74.5,
-                    17.95
-                ],
-                [
-                    -71.58,
-                    20.12
-                ]
-            ],
-            "sourcetag": "Haiti streetnames"
-        },
-        {
-            "name": "NAIP",
-            "template": "http://cube.telascience.org/tilecache/tilecache.py/NAIP_ALL/{z}/{x}/{y}.png",
-            "description": "National Agriculture Imagery Program",
-            "extent": [
-                [
-                    -125.8,
-                    24.2
-                ],
-                [
-                    -62.3,
-                    49.5
-                ]
-            ],
-            "sourcetag": "NAIP"
-        },
-        {
-            "name": "NAIP",
-            "template": "http://cube.telascience.org/tilecache/tilecache.py/NAIP_ALL/{z}/{x}/{y}.png",
-            "description": "National Agriculture Imagery Program",
-            "extent": [
-                [
-                    -168.5,
-                    55.3
-                ],
-                [
-                    -140,
-                    71.5
-                ]
-            ],
-            "sourcetag": "NAIP"
-        },
-        {
-            "name": "Ireland - NLS Historic Maps",
-            "template": "http://geo.nls.uk/maps/ireland/gsgs4136/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    -10.71,
-                    51.32
-                ],
-                [
-                    -5.37,
-                    55.46
-                ]
-            ],
-            "sourcetag": "NLS Historic Maps",
-            "logo": "icons/logo_nls70-nq8.png",
-            "logo_url": "http://geo.nls.uk/maps/"
-        },
-        {
-            "name": "Denmark - Fugro Aerial Imagery",
-            "template": "http://tile.openstreetmap.dk/fugro2005/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    7.81,
-                    54.44
-                ],
-                [
-                    15.49,
-                    57.86
-                ]
-            ],
-            "sourcetag": "Fugro (2005)"
-        },
-        {
-            "name": "Denmark - Stevns Kommune",
-            "template": "http://tile.openstreetmap.dk/stevns/2009/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    12.09144,
-                    55.23403
-                ],
-                [
-                    12.47712,
-                    55.43647
-                ]
-            ],
-            "sourcetag": "Stevns Kommune (2009)"
-        },
-        {
-            "name": "Austria - geoimage.at",
-            "template": "http://geoimage.openstreetmap.at/4d80de696cd562a63ce463a58a61488d/{z}/{x}/{y}.jpg",
-            "extent": [
-                [
-                    9.36,
-                    46.33
-                ],
-                [
-                    17.28,
-                    49.09
-                ]
-            ],
-            "sourcetag": "geoimage.at"
-        },
-        {
-            "name": "Russia - Kosmosnimki.ru IRS Satellite",
-            "template": "http://irs.gis-lab.info/?layers=irs&request=GetTile&z={z}&x={x}&y={y}",
-            "extent": [
-                [
-                    19.02,
-                    40.96
-                ],
-                [
-                    77.34,
-                    70.48
-                ]
-            ],
-            "sourcetag": "Kosmosnimki.ru IRS"
-        },
-        {
-            "name": "Belarus - Kosmosnimki.ru SPOT4 Satellite",
-            "template": "http://irs.gis-lab.info/?layers=spot&request=GetTile&z={z}&x={x}&y={y}",
-            "extent": [
-                [
-                    23.16,
-                    51.25
-                ],
-                [
-                    32.83,
-                    56.19
-                ]
-            ],
-            "sourcetag": "Kosmosnimki.ru SPOT4"
-        },
-        {
-            "name": "Australia - Geographic Reference Image",
-            "template": "http://agri.openstreetmap.org/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    96,
-                    -44
-                ],
-                [
-                    168,
-                    -9
-                ]
-            ],
-            "sourcetag": "AGRI"
-        },
-        {
-            "name": "Switzerland - Canton Aargau - AGIS 25cm 2011",
-            "template": "http://tiles.poole.ch/AGIS/OF2011/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    7.69,
-                    47.13
-                ],
-                [
-                    8.48,
-                    47.63
-                ]
-            ],
-            "sourcetag": "AGIS OF2011"
-        },
-        {
-            "name": "Switzerland - Canton Solothurn - SOGIS 2007",
-            "template": "http://mapproxy.sosm.ch:8080/tiles/sogis2007/EPSG900913/{z}/{x}/{y}.png?origin=nw",
-            "extent": [
-                [
-                    7.33,
-                    47.06
-                ],
-                [
-                    8.04,
-                    47.5
-                ]
-            ],
-            "sourcetag": "Orthofoto 2007 WMS Solothurn"
-        },
-        {
-            "name": "Poland - Media-Lab fleet GPS masstracks",
-            "template": "http://masstracks.media-lab.com.pl/{z}/{x}/{y}.png",
-            "extent": [
-                [
-                    14,
-                    48.9
-                ],
-                [
-                    24.2,
-                    55
-                ]
-            ],
-            "sourcetag": "masstracks"
-        },
-        {
-            "name": "South Africa - CD:NGI Aerial",
-            "template": "http://{t}.aerial.openstreetmap.org.za/ngi-aerial/{z}/{x}/{y}.jpg",
-            "subdomains": [
-                "a",
-                "b",
-                "c"
-            ],
-            "extent": [
-                [
-                    17.64,
-                    -34.95
-                ],
-                [
-                    32.87,
-                    -22.05
-                ]
-            ],
-            "sourcetag": "ngi-aerial"
+    };
+
+    access.tags = function(tags) {
+        items.selectAll('.preset-input-access')
+            .value(function(d) { return tags[d] || ''; })
+            .attr('placeholder', function() {
+                return tags.access ? tags.access : field.placeholder();
+            });
+
+        // items.selectAll('#preset-input-access-access')
+        //     .attr('placeholder', 'yes');
+
+        _.forEach(placeholders[tags.highway], function(v, k) {
+            items.selectAll('#preset-input-access-' + k)
+                .attr('placeholder', function() { return (tags.access || v); });
+        });
+    };
+
+    access.focus = function() {
+        items.selectAll('.preset-input-access')
+            .node().focus();
+    };
+
+    return d3.rebind(access, event, 'on');
+};
+iD.ui.preset.address = function(field, context) {
+    var event = d3.dispatch('init', 'change'),
+        wrap,
+        entity,
+        isInitialized;
+
+    var widths = {
+        housenumber: 1/3,
+        street: 2/3,
+        city: 2/3,
+        state: 1/4,
+        postcode: 1/3
+    };
+
+    function getStreets() {
+        var extent = entity.extent(context.graph()),
+            l = extent.center(),
+            box = iD.geo.Extent(l).padByMeters(200);
+
+        return context.intersects(box)
+            .filter(isAddressable)
+            .map(function(d) {
+                var loc = context.projection([
+                    (extent[0][0] + extent[1][0]) / 2,
+                    (extent[0][1] + extent[1][1]) / 2]),
+                    choice = iD.geo.chooseEdge(context.childNodes(d), loc, context.projection);
+                return {
+                    title: d.tags.name,
+                    value: d.tags.name,
+                    dist: choice.distance
+                };
+            }).sort(function(a, b) {
+                return a.dist - b.dist;
+            });
+
+        function isAddressable(d) {
+            return d.tags.highway && d.tags.name && d.type === 'way';
         }
-    ],
-    "wikipedia": [
-        [
-            "English",
-            "English",
-            "en"
-        ],
-        [
-            "German",
-            "Deutsch",
-            "de"
-        ],
-        [
-            "Dutch",
-            "Nederlands",
-            "nl"
-        ],
-        [
-            "French",
-            "Français",
-            "fr"
-        ],
-        [
-            "Italian",
-            "Italiano",
-            "it"
-        ],
-        [
-            "Russian",
-            "Русский",
-            "ru"
-        ],
-        [
-            "Spanish",
-            "Español",
-            "es"
-        ],
-        [
-            "Polish",
-            "Polski",
-            "pl"
-        ],
-        [
-            "Swedish",
-            "Svenska",
-            "sv"
-        ],
-        [
-            "Japanese",
-            "日本語",
-            "ja"
-        ],
-        [
-            "Portuguese",
-            "Português",
-            "pt"
-        ],
-        [
-            "Chinese",
-            "中文",
-            "zh"
-        ],
-        [
-            "Vietnamese",
-            "Tiếng Việt",
-            "vi"
-        ],
-        [
-            "Ukrainian",
-            "Українська",
-            "uk"
-        ],
-        [
-            "Catalan",
-            "Català",
-            "ca"
-        ],
-        [
-            "Norwegian (Bokmål)",
-            "Norsk (Bokmål)",
-            "no"
-        ],
-        [
-            "Waray-Waray",
-            "Winaray",
-            "war"
-        ],
-        [
-            "Cebuano",
-            "Sinugboanong Binisaya",
-            "ceb"
-        ],
-        [
-            "Finnish",
-            "Suomi",
-            "fi"
-        ],
-        [
-            "Persian",
-            "فارسی",
-            "fa"
-        ],
-        [
-            "Czech",
-            "Čeština",
-            "cs"
-        ],
-        [
-            "Hungarian",
-            "Magyar",
-            "hu"
-        ],
-        [
-            "Korean",
-            "한국어",
-            "ko"
-        ],
-        [
-            "Romanian",
-            "Română",
-            "ro"
-        ],
-        [
-            "Arabic",
-            "العربية",
-            "ar"
-        ],
-        [
-            "Turkish",
-            "Türkçe",
-            "tr"
-        ],
-        [
-            "Indonesian",
-            "Bahasa Indonesia",
-            "id"
-        ],
-        [
-            "Kazakh",
-            "Қазақша",
-            "kk"
-        ],
-        [
-            "Malay",
-            "Bahasa Melayu",
-            "ms"
-        ],
-        [
-            "Serbian",
-            "Српски / Srpski",
-            "sr"
-        ],
-        [
-            "Slovak",
-            "Slovenčina",
-            "sk"
-        ],
-        [
-            "Esperanto",
-            "Esperanto",
-            "eo"
-        ],
-        [
-            "Danish",
-            "Dansk",
-            "da"
-        ],
-        [
-            "Lithuanian",
-            "Lietuvių",
-            "lt"
-        ],
-        [
-            "Basque",
-            "Euskara",
-            "eu"
-        ],
-        [
-            "Bulgarian",
-            "Български",
-            "bg"
-        ],
-        [
-            "Hebrew",
-            "עברית",
-            "he"
-        ],
-        [
-            "Slovenian",
-            "Slovenščina",
-            "sl"
-        ],
-        [
-            "Croatian",
-            "Hrvatski",
-            "hr"
-        ],
-        [
-            "Volapük",
-            "Volapük",
-            "vo"
-        ],
-        [
-            "Estonian",
-            "Eesti",
-            "et"
-        ],
-        [
-            "Hindi",
-            "हिन्दी",
-            "hi"
-        ],
-        [
-            "Uzbek",
-            "O‘zbek",
-            "uz"
-        ],
-        [
-            "Galician",
-            "Galego",
-            "gl"
-        ],
-        [
-            "Norwegian (Nynorsk)",
-            "Nynorsk",
-            "nn"
-        ],
-        [
-            "Simple English",
-            "Simple English",
-            "simple"
-        ],
-        [
-            "Azerbaijani",
-            "Azərbaycanca",
-            "az"
-        ],
-        [
-            "Latin",
-            "Latina",
-            "la"
-        ],
-        [
-            "Greek",
-            "Ελληνικά",
-            "el"
-        ],
-        [
-            "Thai",
-            "ไทย",
-            "th"
-        ],
-        [
-            "Serbo-Croatian",
-            "Srpskohrvatski / Српскохрватски",
-            "sh"
-        ],
-        [
-            "Georgian",
-            "ქართული",
-            "ka"
-        ],
-        [
-            "Occitan",
-            "Occitan",
-            "oc"
-        ],
-        [
-            "Macedonian",
-            "Македонски",
-            "mk"
-        ],
-        [
-            "Newar / Nepal Bhasa",
-            "नेपाल भाषा",
-            "new"
-        ],
-        [
-            "Tagalog",
-            "Tagalog",
-            "tl"
-        ],
-        [
-            "Piedmontese",
-            "Piemontèis",
-            "pms"
-        ],
-        [
-            "Belarusian",
-            "Беларуская",
-            "be"
-        ],
-        [
-            "Haitian",
-            "Krèyol ayisyen",
-            "ht"
-        ],
-        [
-            "Tamil",
-            "தமிழ்",
-            "ta"
-        ],
-        [
-            "Telugu",
-            "తెలుగు",
-            "te"
-        ],
-        [
-            "Belarusian (Taraškievica)",
-            "Беларуская (тарашкевіца)",
-            "be-x-old"
-        ],
-        [
-            "Latvian",
-            "Latviešu",
-            "lv"
-        ],
-        [
-            "Breton",
-            "Brezhoneg",
-            "br"
-        ],
-        [
-            "Malagasy",
-            "Malagasy",
-            "mg"
-        ],
-        [
-            "Albanian",
-            "Shqip",
-            "sq"
-        ],
-        [
-            "Armenian",
-            "Հայերեն",
-            "hy"
-        ],
-        [
-            "Tatar",
-            "Tatarça / Татарча",
-            "tt"
-        ],
-        [
-            "Javanese",
-            "Basa Jawa",
-            "jv"
-        ],
-        [
-            "Welsh",
-            "Cymraeg",
-            "cy"
-        ],
-        [
-            "Marathi",
-            "मराठी",
-            "mr"
-        ],
-        [
-            "Luxembourgish",
-            "Lëtzebuergesch",
-            "lb"
-        ],
-        [
-            "Icelandic",
-            "Íslenska",
-            "is"
-        ],
-        [
-            "Bosnian",
-            "Bosanski",
-            "bs"
-        ],
-        [
-            "Burmese",
-            "မြန်မာဘာသာ",
-            "my"
-        ],
-        [
-            "Yoruba",
-            "Yorùbá",
-            "yo"
-        ],
-        [
-            "Bashkir",
-            "Башҡорт",
-            "ba"
-        ],
-        [
-            "Malayalam",
-            "മലയാളം",
-            "ml"
-        ],
-        [
-            "Aragonese",
-            "Aragonés",
-            "an"
-        ],
-        [
-            "Lombard",
-            "Lumbaart",
-            "lmo"
-        ],
-        [
-            "Afrikaans",
-            "Afrikaans",
-            "af"
-        ],
-        [
-            "West Frisian",
-            "Frysk",
-            "fy"
-        ],
-        [
-            "Western Panjabi",
-            "شاہ مکھی پنجابی (Shāhmukhī Pañjābī)",
-            "pnb"
-        ],
-        [
-            "Bengali",
-            "বাংলা",
-            "bn"
-        ],
-        [
-            "Swahili",
-            "Kiswahili",
-            "sw"
-        ],
-        [
-            "Bishnupriya Manipuri",
-            "ইমার ঠার/বিষ্ণুপ্রিয়া মণিপুরী",
-            "bpy"
-        ],
-        [
-            "Ido",
-            "Ido",
-            "io"
-        ],
-        [
-            "Kirghiz",
-            "Кыргызча",
-            "ky"
-        ],
-        [
-            "Urdu",
-            "اردو",
-            "ur"
-        ],
-        [
-            "Nepali",
-            "नेपाली",
-            "ne"
-        ],
-        [
-            "Sicilian",
-            "Sicilianu",
-            "scn"
-        ],
-        [
-            "Gujarati",
-            "ગુજરાતી",
-            "gu"
-        ],
-        [
-            "Cantonese",
-            "粵語",
-            "zh-yue"
-        ],
-        [
-            "Low Saxon",
-            "Plattdüütsch",
-            "nds"
-        ],
-        [
-            "Kurdish",
-            "Kurdî / كوردی",
-            "ku"
-        ],
-        [
-            "Irish",
-            "Gaeilge",
-            "ga"
-        ],
-        [
-            "Asturian",
-            "Asturianu",
-            "ast"
-        ],
-        [
-            "Quechua",
-            "Runa Simi",
-            "qu"
-        ],
-        [
-            "Sundanese",
-            "Basa Sunda",
-            "su"
-        ],
-        [
-            "Chuvash",
-            "Чăваш",
-            "cv"
-        ],
-        [
-            "Scots",
-            "Scots",
-            "sco"
-        ],
-        [
-            "Interlingua",
-            "Interlingua",
-            "ia"
-        ],
-        [
-            "Alemannic",
-            "Alemannisch",
-            "als"
-        ],
-        [
-            "Buginese",
-            "Basa Ugi",
-            "bug"
-        ],
-        [
-            "Neapolitan",
-            "Nnapulitano",
-            "nap"
-        ],
-        [
-            "Samogitian",
-            "Žemaitėška",
-            "bat-smg"
-        ],
-        [
-            "Kannada",
-            "ಕನ್ನಡ",
-            "kn"
-        ],
-        [
-            "Banyumasan",
-            "Basa Banyumasan",
-            "map-bms"
-        ],
-        [
-            "Walloon",
-            "Walon",
-            "wa"
-        ],
-        [
-            "Amharic",
-            "አማርኛ",
-            "am"
-        ],
-        [
-            "Sorani",
-            "Soranî / کوردی",
-            "ckb"
-        ],
-        [
-            "Scottish Gaelic",
-            "Gàidhlig",
-            "gd"
-        ],
-        [
-            "Fiji Hindi",
-            "Fiji Hindi",
-            "hif"
-        ],
-        [
-            "Min Nan",
-            "Bân-lâm-gú",
-            "zh-min-nan"
-        ],
-        [
-            "Tajik",
-            "Тоҷикӣ",
-            "tg"
-        ],
-        [
-            "Mazandarani",
-            "مَزِروني",
-            "mzn"
-        ],
-        [
-            "Egyptian Arabic",
-            "مصرى (Maṣrī)",
-            "arz"
-        ],
-        [
-            "Yiddish",
-            "ייִדיש",
-            "yi"
-        ],
-        [
-            "Venetian",
-            "Vèneto",
-            "vec"
-        ],
-        [
-            "Mongolian",
-            "Монгол",
-            "mn"
-        ],
-        [
-            "Tarantino",
-            "Tarandíne",
-            "roa-tara"
-        ],
-        [
-            "Sanskrit",
-            "संस्कृतम्",
-            "sa"
-        ],
-        [
-            "Nahuatl",
-            "Nāhuatl",
-            "nah"
-        ],
-        [
-            "Ossetian",
-            "Иронау",
-            "os"
-        ],
-        [
-            "Sakha",
-            "Саха тыла (Saxa Tyla)",
-            "sah"
-        ],
-        [
-            "Kapampangan",
-            "Kapampangan",
-            "pam"
-        ],
-        [
-            "Upper Sorbian",
-            "Hornjoserbsce",
-            "hsb"
-        ],
-        [
-            "Sinhalese",
-            "සිංහල",
-            "si"
-        ],
-        [
-            "Northern Sami",
-            "Sámegiella",
-            "se"
-        ],
-        [
-            "Limburgish",
-            "Limburgs",
-            "li"
-        ],
-        [
-            "Maori",
-            "Māori",
-            "mi"
-        ],
-        [
-            "Bavarian",
-            "Boarisch",
-            "bar"
-        ],
-        [
-            "Corsican",
-            "Corsu",
-            "co"
-        ],
-        [
-            "Ilokano",
-            "Ilokano",
-            "ilo"
-        ],
-        [
-            "Gan",
-            "贛語",
-            "gan"
-        ],
-        [
-            "Tibetan",
-            "བོད་སྐད",
-            "bo"
-        ],
-        [
-            "Gilaki",
-            "گیلکی",
-            "glk"
-        ],
-        [
-            "Faroese",
-            "Føroyskt",
-            "fo"
-        ],
-        [
-            "Rusyn",
-            "русиньскый язык",
-            "rue"
-        ],
-        [
-            "Punjabi",
-            "ਪੰਜਾਬੀ",
-            "pa"
-        ],
-        [
-            "Central_Bicolano",
-            "Bikol",
-            "bcl"
-        ],
-        [
-            "Hill Mari",
-            "Кырык Мары (Kyryk Mary) ",
-            "mrj"
-        ],
-        [
-            "Võro",
-            "Võro",
-            "fiu-vro"
-        ],
-        [
-            "Dutch Low Saxon",
-            "Nedersaksisch",
-            "nds-nl"
-        ],
-        [
-            "Turkmen",
-            "تركمن / Туркмен",
-            "tk"
-        ],
-        [
-            "Pashto",
-            "پښتو",
-            "ps"
-        ],
-        [
-            "West Flemish",
-            "West-Vlams",
-            "vls"
-        ],
-        [
-            "Mingrelian",
-            "მარგალური (Margaluri)",
-            "xmf"
-        ],
-        [
-            "Manx",
-            "Gaelg",
-            "gv"
-        ],
-        [
-            "Zazaki",
-            "Zazaki",
-            "diq"
-        ],
-        [
-            "Pangasinan",
-            "Pangasinan",
-            "pag"
-        ],
-        [
-            "Komi",
-            "Коми",
-            "kv"
-        ],
-        [
-            "Zeelandic",
-            "Zeêuws",
-            "zea"
-        ],
-        [
-            "Divehi",
-            "ދިވެހިބަސް",
-            "dv"
-        ],
-        [
-            "Oriya",
-            "ଓଡ଼ିଆ",
-            "or"
-        ],
-        [
-            "Khmer",
-            "ភាសាខ្មែរ",
-            "km"
-        ],
-        [
-            "Norman",
-            "Nouormand/Normaund",
-            "nrm"
-        ],
-        [
-            "Romansh",
-            "Rumantsch",
-            "rm"
-        ],
-        [
-            "Komi-Permyak",
-            "Перем Коми (Perem Komi)",
-            "koi"
-        ],
-        [
-            "Udmurt",
-            "Удмурт кыл",
-            "udm"
-        ],
-        [
-            "Meadow Mari",
-            "Олык Марий (Olyk Marij)",
-            "mhr"
-        ],
-        [
-            "Ladino",
-            "Dzhudezmo",
-            "lad"
-        ],
-        [
-            "North Frisian",
-            "Nordfriisk",
-            "frr"
-        ],
-        [
-            "Kashubian",
-            "Kaszëbsczi",
-            "csb"
-        ],
-        [
-            "Ligurian",
-            "Líguru",
-            "lij"
-        ],
-        [
-            "Wu",
-            "吴语",
-            "wuu"
-        ],
-        [
-            "Friulian",
-            "Furlan",
-            "fur"
-        ],
-        [
-            "Vepsian",
-            "Vepsän",
-            "vep"
-        ],
-        [
-            "Classical Chinese",
-            "古文 / 文言文",
-            "zh-classical"
-        ],
-        [
-            "Uyghur",
-            "ئۇيغۇر تىلى",
-            "ug"
-        ],
-        [
-            "Saterland Frisian",
-            "Seeltersk",
-            "stq"
-        ],
-        [
-            "Sardinian",
-            "Sardu",
-            "sc"
-        ],
-        [
-            "Aromanian",
-            "Armãneashce",
-            "roa-rup"
-        ],
-        [
-            "Pali",
-            "पाऴि",
-            "pi"
-        ],
-        [
-            "Somali",
-            "Soomaaliga",
-            "so"
-        ],
-        [
-            "Bihari",
-            "भोजपुरी",
-            "bh"
-        ],
-        [
-            "Maltese",
-            "Malti",
-            "mt"
-        ],
-        [
-            "Aymara",
-            "Aymar",
-            "ay"
-        ],
-        [
-            "Ripuarian",
-            "Ripoarisch",
-            "ksh"
-        ],
-        [
-            "Novial",
-            "Novial",
-            "nov"
-        ],
-        [
-            "Anglo-Saxon",
-            "Englisc",
-            "ang"
-        ],
-        [
-            "Cornish",
-            "Kernewek/Karnuack",
-            "kw"
-        ],
-        [
-            "Navajo",
-            "Diné bizaad",
-            "nv"
-        ],
-        [
-            "Picard",
-            "Picard",
-            "pcd"
-        ],
-        [
-            "Hakka",
-            "Hak-kâ-fa / 客家話",
-            "hak"
-        ],
-        [
-            "Guarani",
-            "Avañe'ẽ",
-            "gn"
-        ],
-        [
-            "Extremaduran",
-            "Estremeñu",
-            "ext"
-        ],
-        [
-            "Franco-Provençal/Arpitan",
-            "Arpitan",
-            "frp"
-        ],
-        [
-            "Assamese",
-            "অসমীয়া",
-            "as"
-        ],
-        [
-            "Silesian",
-            "Ślůnski",
-            "szl"
-        ],
-        [
-            "Gagauz",
-            "Gagauz",
-            "gag"
-        ],
-        [
-            "Interlingue",
-            "Interlingue",
-            "ie"
-        ],
-        [
-            "Lingala",
-            "Lingala",
-            "ln"
-        ],
-        [
-            "Emilian-Romagnol",
-            "Emiliàn e rumagnòl",
-            "eml"
-        ],
-        [
-            "Chechen",
-            "Нохчийн",
-            "ce"
-        ],
-        [
-            "Kalmyk",
-            "Хальмг",
-            "xal"
-        ],
-        [
-            "Palatinate German",
-            "Pfälzisch",
-            "pfl"
-        ],
-        [
-            "Hawaiian",
-            "Hawai`i",
-            "haw"
-        ],
-        [
-            "Karachay-Balkar",
-            "Къарачай-Малкъар (Qarachay-Malqar)",
-            "krc"
-        ],
-        [
-            "Pennsylvania German",
-            "Deitsch",
-            "pdc"
-        ],
-        [
-            "Kinyarwanda",
-            "Ikinyarwanda",
-            "rw"
-        ],
-        [
-            "Crimean Tatar",
-            "Qırımtatarca",
-            "crh"
-        ],
-        [
-            "Acehnese",
-            "Bahsa Acèh",
-            "ace"
-        ],
-        [
-            "Tongan",
-            "faka Tonga",
-            "to"
-        ],
-        [
-            "Greenlandic",
-            "Kalaallisut",
-            "kl"
-        ],
-        [
-            "Lower Sorbian",
-            "Dolnoserbski",
-            "dsb"
-        ],
-        [
-            "Aramaic",
-            "ܐܪܡܝܐ",
-            "arc"
-        ],
-        [
-            "Erzya",
-            "Эрзянь (Erzjanj Kelj)",
-            "myv"
-        ],
-        [
-            "Lezgian",
-            "Лезги чІал (Lezgi č’al)",
-            "lez"
-        ],
-        [
-            "Banjar",
-            "Bahasa Banjar",
-            "bjn"
-        ],
-        [
-            "Shona",
-            "chiShona",
-            "sn"
-        ],
-        [
-            "Papiamentu",
-            "Papiamentu",
-            "pap"
-        ],
-        [
-            "Kabyle",
-            "Taqbaylit",
-            "kab"
-        ],
-        [
-            "Tok Pisin",
-            "Tok Pisin",
-            "tpi"
-        ],
-        [
-            "Lak",
-            "Лакку",
-            "lbe"
-        ],
-        [
-            "Buryat (Russia)",
-            "Буряад",
-            "bxr"
-        ],
-        [
-            "Lojban",
-            "Lojban",
-            "jbo"
-        ],
-        [
-            "Wolof",
-            "Wolof",
-            "wo"
-        ],
-        [
-            "Moksha",
-            "Мокшень (Mokshanj Kälj)",
-            "mdf"
-        ],
-        [
-            "Zamboanga Chavacano",
-            "Chavacano de Zamboanga",
-            "cbk-zam"
-        ],
-        [
-            "Avar",
-            "Авар",
-            "av"
-        ],
-        [
-            "Sranan",
-            "Sranantongo",
-            "srn"
-        ],
-        [
-            "Mirandese",
-            "Mirandés",
-            "mwl"
-        ],
-        [
-            "Kabardian Circassian",
-            "Адыгэбзэ (Adighabze)",
-            "kbd"
-        ],
-        [
-            "Tahitian",
-            "Reo Mā`ohi",
-            "ty"
-        ],
-        [
-            "Lao",
-            "ລາວ",
-            "lo"
-        ],
-        [
-            "Abkhazian",
-            "Аҧсуа",
-            "ab"
-        ],
-        [
-            "Tetum",
-            "Tetun",
-            "tet"
-        ],
-        [
-            "Latgalian",
-            "Latgaļu",
-            "ltg"
-        ],
-        [
-            "Nauruan",
-            "dorerin Naoero",
-            "na"
-        ],
-        [
-            "Kongo",
-            "KiKongo",
-            "kg"
-        ],
-        [
-            "Igbo",
-            "Igbo",
-            "ig"
-        ],
-        [
-            "Northern Sotho",
-            "Sesotho sa Leboa",
-            "nso"
-        ],
-        [
-            "Zhuang",
-            "Cuengh",
-            "za"
-        ],
-        [
-            "Karakalpak",
-            "Qaraqalpaqsha",
-            "kaa"
-        ],
-        [
-            "Zulu",
-            "isiZulu",
-            "zu"
-        ],
-        [
-            "Cheyenne",
-            "Tsetsêhestâhese",
-            "chy"
-        ],
-        [
-            "Romani",
-            "romani - रोमानी",
-            "rmy"
-        ],
-        [
-            "Old Church Slavonic",
-            "Словѣньскъ",
-            "cu"
-        ],
-        [
-            "Tswana",
-            "Setswana",
-            "tn"
-        ],
-        [
-            "Cherokee",
-            "ᏣᎳᎩ",
-            "chr"
-        ],
-        [
-            "Bislama",
-            "Bislama",
-            "bi"
-        ],
-        [
-            "Min Dong",
-            "Mìng-dĕ̤ng-ngṳ̄",
-            "cdo"
-        ],
-        [
-            "Gothic",
-            "𐌲𐌿𐍄𐌹𐍃𐌺",
-            "got"
-        ],
-        [
-            "Samoan",
-            "Gagana Samoa",
-            "sm"
-        ],
-        [
-            "Moldovan",
-            "Молдовеняскэ",
-            "mo"
-        ],
-        [
-            "Bambara",
-            "Bamanankan",
-            "bm"
-        ],
-        [
-            "Inuktitut",
-            "ᐃᓄᒃᑎᑐᑦ",
-            "iu"
-        ],
-        [
-            "Norfolk",
-            "Norfuk",
-            "pih"
-        ],
-        [
-            "Pontic",
-            "Ποντιακά",
-            "pnt"
-        ],
-        [
-            "Sindhi",
-            "سنڌي، سندھی ، सिन्ध",
-            "sd"
-        ],
-        [
-            "Swati",
-            "SiSwati",
-            "ss"
-        ],
-        [
-            "Kikuyu",
-            "Gĩkũyũ",
-            "ki"
-        ],
-        [
-            "Ewe",
-            "Eʋegbe",
-            "ee"
-        ],
-        [
-            "Hausa",
-            "هَوُسَ",
-            "ha"
-        ],
-        [
-            "Oromo",
-            "Oromoo",
-            "om"
-        ],
-        [
-            "Fijian",
-            "Na Vosa Vakaviti",
-            "fj"
-        ],
-        [
-            "Tigrinya",
-            "ትግርኛ",
-            "ti"
-        ],
-        [
-            "Tsonga",
-            "Xitsonga",
-            "ts"
-        ],
-        [
-            "Kashmiri",
-            "कश्मीरी / كشميري",
-            "ks"
-        ],
-        [
-            "Venda",
-            "Tshivenda",
-            "ve"
-        ],
-        [
-            "Sango",
-            "Sängö",
-            "sg"
-        ],
-        [
-            "Kirundi",
-            "Kirundi",
-            "rn"
-        ],
-        [
-            "Sesotho",
-            "Sesotho",
-            "st"
-        ],
-        [
-            "Dzongkha",
-            "ཇོང་ཁ",
-            "dz"
-        ],
-        [
-            "Cree",
-            "Nehiyaw",
-            "cr"
-        ],
-        [
-            "Akan",
-            "Akana",
-            "ak"
-        ],
-        [
-            "Tumbuka",
-            "chiTumbuka",
-            "tum"
-        ],
-        [
-            "Luganda",
-            "Luganda",
-            "lg"
-        ],
-        [
-            "Chichewa",
-            "Chi-Chewa",
-            "ny"
-        ],
-        [
-            "Fula",
-            "Fulfulde",
-            "ff"
-        ],
-        [
-            "Inupiak",
-            "Iñupiak",
-            "ik"
-        ],
-        [
-            "Chamorro",
-            "Chamoru",
-            "ch"
-        ],
-        [
-            "Twi",
-            "Twi",
-            "tw"
-        ],
-        [
-            "Xhosa",
-            "isiXhosa",
-            "xh"
-        ],
-        [
-            "Ndonga",
-            "Oshiwambo",
-            "ng"
-        ],
-        [
-            "Sichuan Yi",
-            "ꆇꉙ",
-            "ii"
-        ],
-        [
-            "Choctaw",
-            "Choctaw",
-            "cho"
-        ],
-        [
-            "Marshallese",
-            "Ebon",
-            "mh"
-        ],
-        [
-            "Afar",
-            "Afar",
-            "aa"
-        ],
-        [
-            "Kuanyama",
-            "Kuanyama",
-            "kj"
-        ],
-        [
-            "Hiri Motu",
-            "Hiri Motu",
-            "ho"
-        ],
-        [
-            "Muscogee",
-            "Muskogee",
-            "mus"
-        ],
-        [
-            "Kanuri",
-            "Kanuri",
-            "kr"
-        ],
-        [
-            "Herero",
-            "Otsiherero",
-            "hz"
-        ]
-    ],
-    "presets": {
-        "presets": {
-            "aeroway": {
-                "icon": "airport",
-                "fields": [
-                    "aeroway"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "aeroway": "*"
-                },
-                "name": "Aeroway"
-            },
-            "aeroway/aerodrome": {
-                "icon": "airport",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "airplane",
-                    "airport",
-                    "aerodrome"
-                ],
-                "tags": {
-                    "aeroway": "aerodrome"
-                },
-                "name": "Airport"
-            },
-            "aeroway/helipad": {
-                "icon": "heliport",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "helicopter",
-                    "helipad",
-                    "heliport"
-                ],
-                "tags": {
-                    "aeroway": "helipad"
-                },
-                "name": "Helipad"
-            },
-            "amenity": {
-                "fields": [
-                    "amenity"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "*"
-                },
-                "name": "Amenity"
-            },
-            "amenity/bank": {
-                "icon": "bank",
-                "fields": [
-                    "atm",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "coffer",
-                    "countinghouse",
-                    "credit union",
-                    "depository",
-                    "exchequer",
-                    "fund",
-                    "hoard",
-                    "investment firm",
-                    "repository",
-                    "reserve",
-                    "reservoir",
-                    "safe",
-                    "savings",
-                    "stock",
-                    "stockpile",
-                    "store",
-                    "storehouse",
-                    "thrift",
-                    "treasury",
-                    "trust company",
-                    "vault"
-                ],
-                "tags": {
-                    "amenity": "bank"
-                },
-                "name": "Bank"
-            },
-            "amenity/bar": {
-                "icon": "bar",
-                "fields": [
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "bar"
-                },
-                "terms": [],
-                "name": "Bar"
-            },
-            "amenity/bench": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line"
-                ],
-                "tags": {
-                    "amenity": "bench"
-                },
-                "name": "Bench"
-            },
-            "amenity/bicycle_parking": {
-                "icon": "bicycle",
-                "fields": [
-                    "bicycle_parking",
-                    "capacity",
-                    "operator"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "bicycle_parking"
-                },
-                "name": "Bicycle Parking"
-            },
-            "amenity/bicycle_rental": {
-                "icon": "bicycle",
-                "fields": [
-                    "capacity",
-                    "network",
-                    "operator"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "bicycle_rental"
-                },
-                "name": "Bicycle Rental"
-            },
-            "amenity/cafe": {
-                "icon": "cafe",
-                "fields": [
-                    "cuisine",
-                    "internet_access",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "coffee",
-                    "tea",
-                    "coffee shop"
-                ],
-                "tags": {
-                    "amenity": "cafe"
-                },
-                "name": "Cafe"
-            },
-            "amenity/cinema": {
-                "icon": "cinema",
-                "fields": [
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "big screen",
-                    "bijou",
-                    "cine",
-                    "drive-in",
-                    "film",
-                    "flicks",
-                    "motion pictures",
-                    "movie house",
-                    "movie theater",
-                    "moving pictures",
-                    "nabes",
-                    "photoplay",
-                    "picture show",
-                    "pictures",
-                    "playhouse",
-                    "show",
-                    "silver screen"
-                ],
-                "tags": {
-                    "amenity": "cinema"
-                },
-                "name": "Cinema"
-            },
-            "amenity/courthouse": {
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "courthouse"
-                },
-                "name": "Courthouse"
-            },
-            "amenity/embassy": {
-                "geometry": [
-                    "area",
-                    "point"
-                ],
-                "tags": {
-                    "amenity": "embassy"
-                },
-                "fields": [
-                    "country"
-                ],
-                "icon": "embassy",
-                "name": "Embassy"
-            },
-            "amenity/fast_food": {
-                "icon": "fast-food",
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "fast_food"
-                },
-                "terms": [],
-                "name": "Fast Food"
-            },
-            "amenity/fire_station": {
-                "icon": "fire-station",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "fire_station"
-                },
-                "terms": [],
-                "name": "Fire Station"
-            },
-            "amenity/fuel": {
-                "icon": "fuel",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "fuel"
-                },
-                "name": "Gas Station"
-            },
-            "amenity/grave_yard": {
-                "icon": "cemetery",
-                "fields": [
-                    "religion"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "grave_yard"
-                },
-                "name": "Graveyard"
-            },
-            "amenity/hospital": {
-                "icon": "hospital",
-                "fields": [
-                    "emergency",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "clinic",
-                    "emergency room",
-                    "health service",
-                    "hospice",
-                    "infirmary",
-                    "institution",
-                    "nursing home",
-                    "rest home",
-                    "sanatorium",
-                    "sanitarium",
-                    "sick bay",
-                    "surgery",
-                    "ward"
-                ],
-                "tags": {
-                    "amenity": "hospital"
-                },
-                "name": "Hospital"
-            },
-            "amenity/library": {
-                "icon": "library",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "library"
-                },
-                "terms": [],
-                "name": "Library"
-            },
-            "amenity/marketplace": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "marketplace"
-                },
-                "name": "Marketplace"
-            },
-            "amenity/parking": {
-                "icon": "parking",
-                "fields": [
-                    "parking",
-                    "capacity",
-                    "fee",
-                    "supervised",
-                    "park_ride",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "parking"
-                },
-                "terms": [],
-                "name": "Parking"
-            },
-            "amenity/pharmacy": {
-                "icon": "pharmacy",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "pharmacy"
-                },
-                "terms": [],
-                "name": "Pharmacy"
-            },
-            "amenity/place_of_worship": {
-                "icon": "place-of-worship",
-                "fields": [
-                    "religion",
-                    "denomination",
-                    "building",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "abbey",
-                    "basilica",
-                    "bethel",
-                    "cathedral",
-                    "chancel",
-                    "chantry",
-                    "chapel",
-                    "church",
-                    "fold",
-                    "house of God",
-                    "house of prayer",
-                    "house of worship",
-                    "minster",
-                    "mission",
-                    "mosque",
-                    "oratory",
-                    "parish",
-                    "sacellum",
-                    "sanctuary",
-                    "shrine",
-                    "synagogue",
-                    "tabernacle",
-                    "temple"
-                ],
-                "tags": {
-                    "amenity": "place_of_worship"
-                },
-                "name": "Place of Worship"
-            },
-            "amenity/place_of_worship/christian": {
-                "icon": "religious-christian",
-                "fields": [
-                    "denomination",
-                    "building",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "christian",
-                    "abbey",
-                    "basilica",
-                    "bethel",
-                    "cathedral",
-                    "chancel",
-                    "chantry",
-                    "chapel",
-                    "church",
-                    "fold",
-                    "house of God",
-                    "house of prayer",
-                    "house of worship",
-                    "minster",
-                    "mission",
-                    "oratory",
-                    "parish",
-                    "sacellum",
-                    "sanctuary",
-                    "shrine",
-                    "tabernacle",
-                    "temple"
-                ],
-                "tags": {
-                    "amenity": "place_of_worship",
-                    "religion": "christian"
-                },
-                "name": "Church"
-            },
-            "amenity/place_of_worship/jewish": {
-                "icon": "religious-jewish",
-                "fields": [
-                    "denomination",
-                    "building",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "jewish",
-                    "synagogue"
-                ],
-                "tags": {
-                    "amenity": "place_of_worship",
-                    "religion": "jewish"
-                },
-                "name": "Synagogue"
-            },
-            "amenity/place_of_worship/muslim": {
-                "icon": "religious-muslim",
-                "fields": [
-                    "denomination",
-                    "building",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "muslim",
-                    "mosque"
-                ],
-                "tags": {
-                    "amenity": "place_of_worship",
-                    "religion": "muslim"
-                },
-                "name": "Mosque"
-            },
-            "amenity/police": {
-                "icon": "police",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "badge",
-                    "bear",
-                    "blue",
-                    "bluecoat",
-                    "bobby",
-                    "boy scout",
-                    "bull",
-                    "constable",
-                    "constabulary",
-                    "cop",
-                    "copper",
-                    "corps",
-                    "county mounty",
-                    "detective",
-                    "fed",
-                    "flatfoot",
-                    "force",
-                    "fuzz",
-                    "gendarme",
-                    "gumshoe",
-                    "heat",
-                    "law",
-                    "law enforcement",
-                    "man",
-                    "narc",
-                    "officers",
-                    "patrolman",
-                    "police"
-                ],
-                "tags": {
-                    "amenity": "police"
-                },
-                "name": "Police"
-            },
-            "amenity/post_box": {
-                "icon": "post",
-                "fields": [
-                    "operator",
-                    "collection_times"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "amenity": "post_box"
-                },
-                "terms": [
-                    "letter drop",
-                    "letterbox",
-                    "mail drop",
-                    "mailbox",
-                    "pillar box",
-                    "postbox"
-                ],
-                "name": "Mailbox"
-            },
-            "amenity/post_office": {
-                "icon": "post",
-                "fields": [
-                    "operator",
-                    "collection_times"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "post_office"
-                },
-                "name": "Post Office"
-            },
-            "amenity/pub": {
-                "icon": "beer",
-                "fields": [
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "pub"
-                },
-                "terms": [],
-                "name": "Pub"
-            },
-            "amenity/restaurant": {
-                "icon": "restaurant",
-                "fields": [
-                    "cuisine",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "bar",
-                    "cafeteria",
-                    "café",
-                    "canteen",
-                    "chophouse",
-                    "coffee shop",
-                    "diner",
-                    "dining room",
-                    "dive*",
-                    "doughtnut shop",
-                    "drive-in",
-                    "eatery",
-                    "eating house",
-                    "eating place",
-                    "fast-food place",
-                    "greasy spoon",
-                    "grill",
-                    "hamburger stand",
-                    "hashery",
-                    "hideaway",
-                    "hotdog stand",
-                    "inn",
-                    "joint*",
-                    "luncheonette",
-                    "lunchroom",
-                    "night club",
-                    "outlet*",
-                    "pizzeria",
-                    "saloon",
-                    "soda fountain",
-                    "watering hole"
-                ],
-                "tags": {
-                    "amenity": "restaurant"
-                },
-                "name": "Restaurant"
-            },
-            "amenity/school": {
-                "icon": "school",
-                "fields": [
-                    "operator",
-                    "building",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "academy",
-                    "alma mater",
-                    "blackboard",
-                    "college",
-                    "department",
-                    "discipline",
-                    "establishment",
-                    "faculty",
-                    "hall",
-                    "halls of ivy",
-                    "institute",
-                    "institution",
-                    "jail*",
-                    "schoolhouse",
-                    "seminary",
-                    "university"
-                ],
-                "tags": {
-                    "amenity": "school"
-                },
-                "name": "School"
-            },
-            "amenity/swimming_pool": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "swimming_pool"
-                },
-                "icon": "swimming",
-                "searchable": false,
-                "name": "Swimming Pool"
-            },
-            "amenity/telephone": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "amenity": "telephone"
-                },
-                "name": "Telephone"
-            },
-            "amenity/theatre": {
-                "icon": "theatre",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "theatre",
-                    "performance",
-                    "play",
-                    "musical"
-                ],
-                "tags": {
-                    "amenity": "theatre"
-                },
-                "name": "Theater"
-            },
-            "amenity/toilets": {
-                "fields": [
-                    "operator",
-                    "building"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "amenity": "toilets"
-                },
-                "icon": "toilets",
-                "name": "Toilets"
-            },
-            "amenity/townhall": {
-                "icon": "town-hall",
-                "fields": [
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "village hall",
-                    "city government",
-                    "courthouse",
-                    "municipal building",
-                    "municipal center"
-                ],
-                "tags": {
-                    "amenity": "townhall"
-                },
-                "name": "Town Hall"
-            },
-            "amenity/university": {
-                "icon": "college",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "amenity": "university"
-                },
-                "terms": [],
-                "name": "University"
-            },
-            "barrier": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "*"
-                },
-                "fields": [
-                    "barrier"
-                ],
-                "name": "Barrier"
-            },
-            "barrier/block": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "block"
-                },
-                "name": "Block"
-            },
-            "barrier/bollard": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line"
-                ],
-                "tags": {
-                    "barrier": "bollard"
-                },
-                "name": "Bollard"
-            },
-            "barrier/cattle_grid": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "cattle_grid"
-                },
-                "name": "Cattle Grid"
-            },
-            "barrier/city_wall": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "city_wall"
-                },
-                "name": "City Wall"
-            },
-            "barrier/cycle_barrier": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "cycle_barrier"
-                },
-                "name": "Cycle Barrier"
-            },
-            "barrier/ditch": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "ditch"
-                },
-                "name": "Ditch"
-            },
-            "barrier/entrance": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "entrance"
-                },
-                "name": "Entrance"
-            },
-            "barrier/fence": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "fence"
-                },
-                "name": "Fence"
-            },
-            "barrier/gate": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line"
-                ],
-                "tags": {
-                    "barrier": "gate"
-                },
-                "name": "Gate"
-            },
-            "barrier/hedge": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "hedge"
-                },
-                "name": "Hedge"
-            },
-            "barrier/kissing_gate": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "kissing_gate"
-                },
-                "name": "Kissing Gate"
-            },
-            "barrier/lift_gate": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "lift_gate"
-                },
-                "name": "Lift Gate"
-            },
-            "barrier/retaining_wall": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "retaining_wall"
-                },
-                "name": "Retaining Wall"
-            },
-            "barrier/stile": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "stile"
-                },
-                "name": "Stile"
-            },
-            "barrier/toll_booth": {
-                "fields": [
-                    "access"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "barrier": "toll_booth"
-                },
-                "name": "Toll Booth"
-            },
-            "barrier/wall": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "barrier": "wall"
-                },
-                "name": "Wall"
-            },
-            "boundary/administrative": {
-                "name": "Administrative Boundary",
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "boundary": "administrative"
-                },
-                "fields": [
-                    "admin_level"
-                ]
-            },
-            "building": {
-                "icon": "warehouse",
-                "fields": [
-                    "building_yes",
-                    "levels",
-                    "address"
-                ],
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "building": "*"
-                },
-                "terms": [],
-                "name": "Building"
-            },
-            "building/apartments": {
-                "icon": "commercial",
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "building": "apartments"
-                },
-                "name": "Apartments"
-            },
-            "building/entrance": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "building": "entrance"
-                },
-                "name": "Entrance",
-                "searchable": false
-            },
-            "building/house": {
-                "fields": [
-                    "address",
-                    "levels"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "building": "house"
-                },
-                "name": "House"
-            },
-            "entrance": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "entrance": "*"
-                },
-                "fields": [
-                    "entrance"
-                ],
-                "name": "Entrance"
-            },
-            "highway": {
-                "fields": [
-                    "highway"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "highway": "*"
-                },
-                "name": "Highway"
-            },
-            "highway/bridleway": {
-                "fields": [
-                    "access",
-                    "surface",
-                    "structure"
-                ],
-                "icon": "highway-bridleway",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "bridleway"
-                },
-                "terms": [
-                    "bridleway",
-                    "equestrian trail",
-                    "horse riding path",
-                    "bridle road",
-                    "horse trail"
-                ],
-                "name": "Bridle Path"
-            },
-            "highway/bus_stop": {
-                "icon": "bus",
-                "fields": [
-                    "operator",
-                    "shelter"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "bus_stop"
-                },
-                "terms": [],
-                "name": "Bus Stop"
-            },
-            "highway/crossing": {
-                "fields": [
-                    "crossing"
-                ],
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "crossing"
-                },
-                "terms": [
-                    "crosswalk",
-                    "zebra crossing"
-                ],
-                "name": "Crossing"
-            },
-            "highway/cycleway": {
-                "icon": "highway-cycleway",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "cycleway"
-                },
-                "terms": [],
-                "name": "Cycle Path"
-            },
-            "highway/footway": {
-                "icon": "highway-footway",
-                "fields": [
-                    "structure",
-                    "access",
-                    "surface"
-                ],
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "terms": [
-                    "beaten path",
-                    "boulevard",
-                    "clearing",
-                    "course",
-                    "cut*",
-                    "drag*",
-                    "footpath",
-                    "highway",
-                    "lane",
-                    "line",
-                    "orbit",
-                    "passage",
-                    "pathway",
-                    "rail",
-                    "rails",
-                    "road",
-                    "roadway",
-                    "route",
-                    "street",
-                    "thoroughfare",
-                    "trackway",
-                    "trail",
-                    "trajectory",
-                    "walk"
-                ],
-                "tags": {
-                    "highway": "footway"
-                },
-                "name": "Foot Path"
-            },
-            "highway/living_street": {
-                "icon": "highway-residential",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "living_street"
-                },
-                "name": "Living Street"
-            },
-            "highway/mini_roundabout": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "mini_roundabout"
-                },
-                "fields": [
-                    "clock_direction"
-                ],
-                "name": "Mini-Roundabout"
-            },
-            "highway/motorway": {
-                "icon": "highway-motorway",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "motorway"
-                },
-                "terms": [],
-                "name": "Motorway"
-            },
-            "highway/motorway_junction": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "motorway_junction"
-                },
-                "fields": [
-                    "ref"
-                ],
-                "name": "Motorway Junction"
-            },
-            "highway/motorway_link": {
-                "icon": "highway-motorway-link",
-                "fields": [
-                    "oneway_yes",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "motorway_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Motorway Link"
-            },
-            "highway/path": {
-                "icon": "highway-path",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "path"
-                },
-                "terms": [],
-                "name": "Path"
-            },
-            "highway/pedestrian": {
-                "fields": [
-                    "access",
-                    "oneway",
-                    "surface"
-                ],
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "highway": "pedestrian"
-                },
-                "terms": [],
-                "name": "Pedestrian"
-            },
-            "highway/primary": {
-                "icon": "highway-primary",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "primary"
-                },
-                "terms": [],
-                "name": "Primary Road"
-            },
-            "highway/primary_link": {
-                "icon": "highway-primary-link",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "primary_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Primary Link"
-            },
-            "highway/residential": {
-                "icon": "highway-residential",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "residential"
-                },
-                "terms": [],
-                "name": "Residential Road"
-            },
-            "highway/road": {
-                "icon": "highway-road",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "road"
-                },
-                "terms": [],
-                "name": "Unknown Road"
-            },
-            "highway/secondary": {
-                "icon": "highway-secondary",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "secondary"
-                },
-                "terms": [],
-                "name": "Secondary Road"
-            },
-            "highway/secondary_link": {
-                "icon": "highway-secondary-link",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "secondary_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Secondary Link"
-            },
-            "highway/service": {
-                "icon": "highway-service",
-                "fields": [
-                    "service",
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "service"
-                },
-                "terms": [],
-                "name": "Service Road"
-            },
-            "highway/steps": {
-                "fields": [
-                    "access",
-                    "surface"
-                ],
-                "icon": "highway-steps",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "steps"
-                },
-                "terms": [
-                    "stairs",
-                    "staircase"
-                ],
-                "name": "Steps"
-            },
-            "highway/tertiary": {
-                "icon": "highway-tertiary",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "tertiary"
-                },
-                "terms": [],
-                "name": "Tertiary Road"
-            },
-            "highway/tertiary_link": {
-                "icon": "highway-tertiary-link",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "tertiary_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Tertiary Link"
-            },
-            "highway/track": {
-                "icon": "highway-track",
-                "fields": [
-                    "tracktype",
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "track"
-                },
-                "terms": [],
-                "name": "Track"
-            },
-            "highway/traffic_signals": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "traffic_signals"
-                },
-                "terms": [
-                    "light",
-                    "stoplight",
-                    "traffic light"
-                ],
-                "name": "Traffic Signals"
-            },
-            "highway/trunk": {
-                "icon": "highway-trunk",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "lanes",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "trunk"
-                },
-                "terms": [],
-                "name": "Trunk Road"
-            },
-            "highway/trunk_link": {
-                "icon": "highway-trunk-link",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface",
-                    "ref"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "trunk_link"
-                },
-                "terms": [
-                    "ramp",
-                    "on ramp",
-                    "off ramp"
-                ],
-                "name": "Trunk Link"
-            },
-            "highway/turning_circle": {
-                "icon": "circle",
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "highway": "turning_circle"
-                },
-                "terms": [],
-                "name": "Turning Circle"
-            },
-            "highway/unclassified": {
-                "icon": "highway-unclassified",
-                "fields": [
-                    "oneway",
-                    "structure",
-                    "access",
-                    "maxspeed",
-                    "surface"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "highway": "unclassified"
-                },
-                "terms": [],
-                "name": "Unclassified Road"
-            },
-            "historic": {
-                "fields": [
-                    "historic"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "*"
-                },
-                "name": "Historic Site"
-            },
-            "historic/archaeological_site": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "archaeological_site"
-                },
-                "name": "Archaeological Site"
-            },
-            "historic/boundary_stone": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "historic": "boundary_stone"
-                },
-                "name": "Boundary Stone"
-            },
-            "historic/castle": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "castle"
-                },
-                "name": "Castle"
-            },
-            "historic/memorial": {
-                "icon": "monument",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "memorial"
-                },
-                "name": "Memorial"
-            },
-            "historic/monument": {
-                "icon": "monument",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "monument"
-                },
-                "name": "Monument"
-            },
-            "historic/ruins": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "ruins"
-                },
-                "name": "Ruins"
-            },
-            "historic/wayside_cross": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "wayside_cross"
-                },
-                "name": "Wayside Cross"
-            },
-            "historic/wayside_shrine": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "historic": "wayside_shrine"
-                },
-                "name": "Wayside Shrine"
-            },
-            "landuse": {
-                "fields": [
-                    "landuse"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "*"
-                },
-                "name": "Landuse"
-            },
-            "landuse/allotments": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "allotments"
-                },
-                "terms": [],
-                "name": "Allotments"
-            },
-            "landuse/basin": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "basin"
-                },
-                "terms": [],
-                "name": "Basin"
-            },
-            "landuse/cemetery": {
-                "icon": "cemetery",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "cemetery"
-                },
-                "terms": [],
-                "name": "Cemetery"
-            },
-            "landuse/commercial": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "commercial"
-                },
-                "terms": [],
-                "name": "Commercial"
-            },
-            "landuse/construction": {
-                "fields": [
-                    "construction",
-                    "operator"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "construction"
-                },
-                "terms": [],
-                "name": "Construction"
-            },
-            "landuse/farm": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "farm"
-                },
-                "terms": [],
-                "name": "Farm"
-            },
-            "landuse/farmyard": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "farmyard"
-                },
-                "terms": [],
-                "name": "Farmyard"
-            },
-            "landuse/forest": {
-                "fields": [
-                    "wood"
-                ],
-                "icon": "park2",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "forest"
-                },
-                "terms": [],
-                "name": "Forest"
-            },
-            "landuse/grass": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "grass"
-                },
-                "terms": [],
-                "name": "Grass"
-            },
-            "landuse/industrial": {
-                "icon": "industrial",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "industrial"
-                },
-                "terms": [],
-                "name": "Industrial"
-            },
-            "landuse/meadow": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "meadow"
-                },
-                "terms": [],
-                "name": "Meadow"
-            },
-            "landuse/orchard": {
-                "icon": "park2",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "orchard"
-                },
-                "terms": [],
-                "name": "Orchard"
-            },
-            "landuse/quarry": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "quarry"
-                },
-                "terms": [],
-                "name": "Quarry"
-            },
-            "landuse/residential": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "residential"
-                },
-                "terms": [],
-                "name": "Residential"
-            },
-            "landuse/retail": {
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "retail"
-                },
-                "name": "Retail"
-            },
-            "landuse/vineyard": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "landuse": "vineyard"
-                },
-                "terms": [],
-                "name": "Vineyard"
-            },
-            "leisure": {
-                "fields": [
-                    "leisure"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "*"
-                },
-                "name": "Leisure"
-            },
-            "leisure/garden": {
-                "icon": "garden",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "garden"
-                },
-                "name": "Garden"
-            },
-            "leisure/golf_course": {
-                "icon": "golf",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "golf_course"
-                },
-                "terms": [],
-                "name": "Golf Course"
-            },
-            "leisure/marina": {
-                "icon": "harbor",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "marina"
-                },
-                "name": "Marina"
-            },
-            "leisure/park": {
-                "icon": "park",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "esplanade",
-                    "estate",
-                    "forest",
-                    "garden",
-                    "grass",
-                    "green",
-                    "grounds",
-                    "lawn",
-                    "lot",
-                    "meadow",
-                    "parkland",
-                    "place",
-                    "playground",
-                    "plaza",
-                    "pleasure garden",
-                    "recreation area",
-                    "square",
-                    "tract",
-                    "village green",
-                    "woodland"
-                ],
-                "tags": {
-                    "leisure": "park"
-                },
-                "name": "Park"
-            },
-            "leisure/pitch": {
-                "icon": "pitch",
-                "fields": [
-                    "sport",
-                    "surface"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch"
-                },
-                "terms": [],
-                "name": "Sport Pitch"
-            },
-            "leisure/pitch/american_football": {
-                "icon": "america-football",
-                "fields": [
-                    "surface"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "american_football"
-                },
-                "terms": [],
-                "name": "American Football Field"
-            },
-            "leisure/pitch/baseball": {
-                "icon": "baseball",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "baseball"
-                },
-                "terms": [],
-                "name": "Baseball Diamond"
-            },
-            "leisure/pitch/basketball": {
-                "icon": "basketball",
-                "fields": [
-                    "surface"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "basketball"
-                },
-                "terms": [],
-                "name": "Basketball Court"
-            },
-            "leisure/pitch/soccer": {
-                "icon": "soccer",
-                "fields": [
-                    "surface"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "soccer"
-                },
-                "terms": [],
-                "name": "Soccer Field"
-            },
-            "leisure/pitch/tennis": {
-                "icon": "tennis",
-                "fields": [
-                    "surface"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "pitch",
-                    "sport": "tennis"
-                },
-                "terms": [],
-                "name": "Tennis Court"
-            },
-            "leisure/playground": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "playground"
-                },
-                "name": "Playground"
-            },
-            "leisure/slipway": {
-                "geometry": [
-                    "point",
-                    "line"
-                ],
-                "tags": {
-                    "leisure": "slipway"
-                },
-                "name": "Slipway"
-            },
-            "leisure/stadium": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "stadium"
-                },
-                "fields": [
-                    "sport"
-                ],
-                "name": "Stadium"
-            },
-            "leisure/swimming_pool": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "leisure": "swimming_pool"
-                },
-                "icon": "swimming",
-                "name": "Swimming Pool"
-            },
-            "man_made": {
-                "fields": [
-                    "man_made"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "*"
-                },
-                "name": "Man Made"
-            },
-            "man_made/lighthouse": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "lighthouse"
-                },
-                "name": "Lighthouse"
-            },
-            "man_made/pier": {
-                "geometry": [
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "pier"
-                },
-                "name": "Pier"
-            },
-            "man_made/survey_point": {
-                "icon": "monument",
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "man_made": "survey_point"
-                },
-                "fields": [
-                    "ref"
-                ],
-                "name": "Survey Point"
-            },
-            "man_made/wastewater_plant": {
-                "icon": "water",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "wastewater_plant"
-                },
-                "name": "Wastewater Plant",
-                "terms": [
-                    "sewage works",
-                    "sewage treatment plant",
-                    "water treatment plant",
-                    "reclamation plant"
-                ]
-            },
-            "man_made/water_tower": {
-                "icon": "water",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "water_tower"
-                },
-                "name": "Water Tower"
-            },
-            "man_made/water_works": {
-                "icon": "water",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "man_made": "water_works"
-                },
-                "name": "Water Works"
-            },
-            "natural": {
-                "fields": [
-                    "natural"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "natural": "*"
-                },
-                "name": "Natural"
-            },
-            "natural/bay": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "bay"
-                },
-                "name": "Bay"
-            },
-            "natural/beach": {
-                "fields": [
-                    "surface"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "beach"
-                },
-                "name": "Beach"
-            },
-            "natural/cliff": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "cliff"
-                },
-                "name": "Cliff"
-            },
-            "natural/coastline": {
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "shore"
-                ],
-                "tags": {
-                    "natural": "coastline"
-                },
-                "name": "Coastline"
-            },
-            "natural/glacier": {
-                "geometry": [
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "glacier"
-                },
-                "name": "Glacier"
-            },
-            "natural/grassland": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "grassland"
-                },
-                "name": "Grassland"
-            },
-            "natural/heath": {
-                "geometry": [
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "heath"
-                },
-                "name": "Heath"
-            },
-            "natural/peak": {
-                "icon": "triangle",
-                "fields": [
-                    "elevation"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "natural": "peak"
-                },
-                "terms": [
-                    "acme",
-                    "aiguille",
-                    "alp",
-                    "climax",
-                    "crest",
-                    "crown",
-                    "hill",
-                    "mount",
-                    "mountain",
-                    "pinnacle",
-                    "summit",
-                    "tip",
-                    "top"
-                ],
-                "name": "Peak"
-            },
-            "natural/scrub": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "scrub"
-                },
-                "terms": [],
-                "name": "Scrub"
-            },
-            "natural/spring": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "spring"
-                },
-                "name": "Spring"
-            },
-            "natural/tree": {
-                "fields": [
-                    "denotation"
-                ],
-                "icon": "park",
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "terms": [],
-                "tags": {
-                    "natural": "tree"
-                },
-                "name": "Tree"
-            },
-            "natural/water": {
-                "fields": [
-                    "water"
-                ],
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "water"
-                },
-                "icon": "water",
-                "name": "Water"
-            },
-            "natural/water/lake": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "water",
-                    "water": "lake"
-                },
-                "terms": [
-                    "lakelet",
-                    "loch",
-                    "mere"
-                ],
-                "icon": "water",
-                "name": "Lake"
-            },
-            "natural/water/pond": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "water",
-                    "water": "pond"
-                },
-                "terms": [
-                    "lakelet",
-                    "millpond",
-                    "tarn",
-                    "pool",
-                    "mere"
-                ],
-                "icon": "water",
-                "name": "Pond"
-            },
-            "natural/water/reservoir": {
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "natural": "water",
-                    "water": "reservoir"
-                },
-                "icon": "water",
-                "name": "Reservoir"
-            },
-            "natural/wetland": {
-                "icon": "wetland",
-                "fields": [
-                    "wetland"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "natural": "wetland"
-                },
-                "terms": [],
-                "name": "Wetland"
-            },
-            "natural/wood": {
-                "fields": [
-                    "wood"
-                ],
-                "icon": "park2",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "natural": "wood"
-                },
-                "terms": [],
-                "name": "Wood"
-            },
-            "office": {
-                "icon": "commercial",
-                "fields": [
-                    "office",
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "office": "*"
-                },
-                "terms": [],
-                "name": "Office"
-            },
-            "other": {
-                "name": "Other",
-                "tags": {},
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "fields": []
-            },
-            "other_area": {
-                "name": "Other",
-                "tags": {
-                    "area": "yes"
-                },
-                "geometry": [
-                    "area"
-                ],
-                "fields": []
-            },
-            "place": {
-                "fields": [
-                    "place"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "place": "*"
-                },
-                "name": "Place"
-            },
-            "place/city": {
-                "icon": "square",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "city"
-                },
-                "name": "City"
-            },
-            "place/hamlet": {
-                "icon": "triangle-stroked",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "hamlet"
-                },
-                "name": "Hamlet"
-            },
-            "place/island": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "terms": [
-                    "archipelago",
-                    "atoll",
-                    "bar",
-                    "cay",
-                    "isle",
-                    "islet",
-                    "key",
-                    "reef"
-                ],
-                "tags": {
-                    "place": "island"
-                },
-                "name": "Island"
-            },
-            "place/isolated_dwelling": {
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "isolated_dwelling"
-                },
-                "name": "Isolated Dwelling"
-            },
-            "place/locality": {
-                "icon": "marker",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "locality"
-                },
-                "name": "Locality"
-            },
-            "place/town": {
-                "icon": "square-stroked",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "town"
-                },
-                "name": "Town"
-            },
-            "place/village": {
-                "icon": "triangle",
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "place": "village"
-                },
-                "name": "Village"
-            },
-            "power": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "power": "*"
-                },
-                "fields": [
-                    "power"
-                ],
-                "name": "Power"
-            },
-            "power/generator": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "power": "generator"
-                },
-                "name": "Power Plant"
-            },
-            "power/line": {
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "power": "line"
-                },
-                "name": "Power Line",
-                "icon": "power-line"
-            },
-            "power/pole": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "power": "pole"
-                },
-                "name": "Power Pole"
-            },
-            "power/sub_station": {
-                "fields": [
-                    "operator"
-                ],
-                "geometry": [
-                    "point",
-                    "area"
-                ],
-                "tags": {
-                    "power": "substation"
-                },
-                "name": "Substation"
-            },
-            "power/tower": {
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "power": "tower"
-                },
-                "name": "High-Voltage Tower"
-            },
-            "power/transformer": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "power": "transformer"
-                },
-                "name": "Transformer"
-            },
-            "railway": {
-                "fields": [
-                    "railway"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "railway": "*"
-                },
-                "name": "Railway"
-            },
-            "railway/abandoned": {
-                "icon": "railway-abandoned",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "abandoned"
-                },
-                "fields": [
-                    "structure"
-                ],
-                "terms": [],
-                "name": "Abandoned Railway"
-            },
-            "railway/disused": {
-                "icon": "railway-disused",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "disused"
-                },
-                "fields": [
-                    "structure"
-                ],
-                "terms": [],
-                "name": "Disused Railway"
-            },
-            "railway/level_crossing": {
-                "icon": "cross",
-                "geometry": [
-                    "vertex"
-                ],
-                "tags": {
-                    "railway": "level_crossing"
-                },
-                "terms": [
-                    "crossing",
-                    "railroad crossing",
-                    "railway crossing",
-                    "grade crossing",
-                    "road through railroad",
-                    "train crossing"
-                ],
-                "name": "Level Crossing"
-            },
-            "railway/monorail": {
-                "icon": "railway-monorail",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "monorail"
-                },
-                "fields": [
-                    "structure"
-                ],
-                "terms": [],
-                "name": "Monorail"
-            },
-            "railway/platform": {
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "railway": "platform"
-                },
-                "name": "Railway Platform"
-            },
-            "railway/rail": {
-                "icon": "railway-rail",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "rail"
-                },
-                "fields": [
-                    "structure"
-                ],
-                "terms": [],
-                "name": "Rail"
-            },
-            "railway/station": {
-                "icon": "rail",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "railway": "station"
-                },
-                "name": "Railway Station"
-            },
-            "railway/subway": {
-                "icon": "railway-subway",
-                "fields": [
-                    "structure"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "subway"
-                },
-                "terms": [],
-                "name": "Subway"
-            },
-            "railway/subway_entrance": {
-                "icon": "rail-underground",
-                "geometry": [
-                    "point"
-                ],
-                "tags": {
-                    "railway": "subway_entrance"
-                },
-                "terms": [],
-                "name": "Subway Entrance"
-            },
-            "railway/tram": {
-                "icon": "railway-light_rail",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "railway": "tram"
-                },
-                "fields": [
-                    "structure"
-                ],
-                "terms": [
-                    "streetcar"
-                ],
-                "name": "Tram"
-            },
-            "shop": {
-                "icon": "shop",
-                "fields": [
-                    "shop",
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "*"
-                },
-                "terms": [],
-                "name": "Shop"
-            },
-            "shop/alcohol": {
-                "icon": "alcohol-shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "alcohol"
-                },
-                "name": "Liquor Store"
-            },
-            "shop/bakery": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "bakery"
-                },
-                "name": "Bakery"
-            },
-            "shop/beauty": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "beauty"
-                },
-                "name": "Beauty Shop"
-            },
-            "shop/beverages": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "beverages"
-                },
-                "name": "Beverage Store"
-            },
-            "shop/bicycle": {
-                "icon": "bicycle",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "bicycle"
-                },
-                "name": "Bicycle Shop"
-            },
-            "shop/books": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "books"
-                },
-                "name": "Bookstore"
-            },
-            "shop/boutique": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "boutique"
-                },
-                "name": "Boutique"
-            },
-            "shop/butcher": {
-                "icon": "slaughterhouse",
-                "fields": [
-                    "building_area",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "shop": "butcher"
-                },
-                "name": "Butcher"
-            },
-            "shop/car": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "car"
-                },
-                "name": "Car Dealership"
-            },
-            "shop/car_parts": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "car_parts"
-                },
-                "name": "Car Parts Store"
-            },
-            "shop/car_repair": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "car_repair"
-                },
-                "name": "Car Repair Shop"
-            },
-            "shop/chemist": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "chemist"
-                },
-                "name": "Chemist"
-            },
-            "shop/clothes": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "clothes"
-                },
-                "name": "Clothing Store"
-            },
-            "shop/computer": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "computer"
-                },
-                "name": "Computer Store"
-            },
-            "shop/confectionery": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "confectionery"
-                },
-                "name": "Confectionery"
-            },
-            "shop/convenience": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "convenience"
-                },
-                "name": "Convenience Store"
-            },
-            "shop/deli": {
-                "icon": "restaurant",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "deli"
-                },
-                "name": "Deli"
-            },
-            "shop/department_store": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "department_store"
-                },
-                "name": "Department Store"
-            },
-            "shop/doityourself": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "doityourself"
-                },
-                "name": "DIY Store"
-            },
-            "shop/dry_cleaning": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "dry_cleaning"
-                },
-                "name": "Dry Cleaners"
-            },
-            "shop/electronics": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "electronics"
-                },
-                "name": "Electronics Store"
-            },
-            "shop/fishmonger": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "fishmonger"
-                },
-                "name": "Fishmonger"
-            },
-            "shop/florist": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "florist"
-                },
-                "name": "Florist"
-            },
-            "shop/furniture": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "furniture"
-                },
-                "name": "Furniture Store"
-            },
-            "shop/garden_centre": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "garden_centre"
-                },
-                "name": "Garden Center"
-            },
-            "shop/gift": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "gift"
-                },
-                "name": "Gift Shop"
-            },
-            "shop/greengrocer": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "greengrocer"
-                },
-                "name": "Greengrocer"
-            },
-            "shop/hairdresser": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "hairdresser"
-                },
-                "name": "Hairdresser"
-            },
-            "shop/hardware": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "hardware"
-                },
-                "name": "Hardware Store"
-            },
-            "shop/hifi": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "hifi"
-                },
-                "name": "Hifi Store"
-            },
-            "shop/jewelry": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "jewelry"
-                },
-                "name": "Jeweler"
-            },
-            "shop/kiosk": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "kiosk"
-                },
-                "name": "Kiosk"
-            },
-            "shop/laundry": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "laundry"
-                },
-                "name": "Laundry"
-            },
-            "shop/mall": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "mall"
-                },
-                "name": "Mall"
-            },
-            "shop/mobile_phone": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "mobile_phone"
-                },
-                "name": "Mobile Phone Store"
-            },
-            "shop/motorcycle": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "motorcycle"
-                },
-                "name": "Motorcycle Dealership"
-            },
-            "shop/music": {
-                "icon": "music",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "music"
-                },
-                "name": "Music Store"
-            },
-            "shop/newsagent": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "newsagent"
-                },
-                "name": "Newsagent"
-            },
-            "shop/optician": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "optician"
-                },
-                "name": "Optician"
-            },
-            "shop/outdoor": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "outdoor"
-                },
-                "name": "Outdoor Store"
-            },
-            "shop/pet": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "pet"
-                },
-                "name": "Pet Store"
-            },
-            "shop/shoes": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "shoes"
-                },
-                "name": "Shoe Store"
-            },
-            "shop/sports": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "sports"
-                },
-                "name": "Sporting Goods Store"
-            },
-            "shop/stationery": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "stationery"
-                },
-                "name": "Stationery Store"
-            },
-            "shop/supermarket": {
-                "icon": "grocery",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "bazaar",
-                    "boutique",
-                    "chain",
-                    "co-op",
-                    "cut-rate store",
-                    "discount store",
-                    "five-and-dime",
-                    "flea market",
-                    "galleria",
-                    "mall",
-                    "mart",
-                    "outlet",
-                    "outlet store",
-                    "shop",
-                    "shopping center",
-                    "shopping plaza",
-                    "stand",
-                    "store",
-                    "supermarket",
-                    "thrift shop"
-                ],
-                "tags": {
-                    "shop": "supermarket"
-                },
-                "name": "Supermarket"
-            },
-            "shop/toys": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "toys"
-                },
-                "name": "Toy Store"
-            },
-            "shop/travel_agency": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "travel_agency"
-                },
-                "name": "Travel Agency"
-            },
-            "shop/tyres": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "tyres"
-                },
-                "name": "Tire Store"
-            },
-            "shop/vacant": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "vacant"
-                },
-                "name": "Vacant Shop"
-            },
-            "shop/variety_store": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "variety_store"
-                },
-                "name": "Variety Store"
-            },
-            "shop/video": {
-                "icon": "shop",
-                "fields": [
-                    "address",
-                    "opening_hours"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "shop": "video"
-                },
-                "name": "Video Store"
-            },
-            "tourism": {
-                "fields": [
-                    "tourism"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "*"
-                },
-                "name": "Tourism"
-            },
-            "tourism/alpine_hut": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "alpine_hut"
-                },
-                "name": "Alpine Hut"
-            },
-            "tourism/artwork": {
-                "icon": "art-gallery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "artwork"
-                },
-                "name": "Artwork"
-            },
-            "tourism/attraction": {
-                "icon": "monument",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "attraction"
-                },
-                "name": "Tourist Attraction"
-            },
-            "tourism/camp_site": {
-                "icon": "campsite",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "tourism": "camp_site"
-                },
-                "name": "Camp Site"
-            },
-            "tourism/caravan_site": {
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "caravan_site"
-                },
-                "name": "RV Park"
-            },
-            "tourism/chalet": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "chalet"
-                },
-                "name": "Chalet"
-            },
-            "tourism/guest_house": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "guest_house"
-                },
-                "terms": [
-                    "B&B",
-                    "Bed & Breakfast",
-                    "Bed and Breakfast"
-                ],
-                "name": "Guest House"
-            },
-            "tourism/hostel": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "hostel"
-                },
-                "name": "Hostel"
-            },
-            "tourism/hotel": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "tourism": "hotel"
-                },
-                "name": "Hotel"
-            },
-            "tourism/information": {
-                "fields": [
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "information"
-                },
-                "name": "Information"
-            },
-            "tourism/motel": {
-                "icon": "lodging",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "motel"
-                },
-                "name": "Motel"
-            },
-            "tourism/museum": {
-                "icon": "museum",
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [
-                    "exhibition",
-                    "exhibits archive",
-                    "foundation",
-                    "gallery",
-                    "hall",
-                    "institution",
-                    "library",
-                    "menagerie",
-                    "repository",
-                    "salon",
-                    "storehouse",
-                    "treasury",
-                    "vault"
-                ],
-                "tags": {
-                    "tourism": "museum"
-                },
-                "name": "Museum"
-            },
-            "tourism/picnic_site": {
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "terms": [],
-                "tags": {
-                    "tourism": "picnic_site"
-                },
-                "name": "Picnic Site"
-            },
-            "tourism/theme_park": {
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "theme_park"
-                },
-                "name": "Theme Park"
-            },
-            "tourism/viewpoint": {
-                "geometry": [
-                    "point",
-                    "vertex"
-                ],
-                "tags": {
-                    "tourism": "viewpoint"
-                },
-                "name": "Viewpoint"
-            },
-            "tourism/zoo": {
-                "icon": "zoo",
-                "fields": [
-                    "operator",
-                    "address"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "tags": {
-                    "tourism": "zoo"
-                },
-                "name": "Zoo"
-            },
-            "waterway": {
-                "fields": [
-                    "waterway"
-                ],
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "waterway": "*"
-                },
-                "name": "Waterway"
-            },
-            "waterway/canal": {
-                "icon": "waterway-canal",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "waterway": "canal"
-                },
-                "name": "Canal"
-            },
-            "waterway/dam": {
-                "icon": "dam",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "line",
-                    "area"
-                ],
-                "tags": {
-                    "waterway": "dam"
-                },
-                "name": "Dam"
-            },
-            "waterway/ditch": {
-                "icon": "waterway-ditch",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "waterway": "ditch"
-                },
-                "name": "Ditch"
-            },
-            "waterway/drain": {
-                "icon": "waterway-stream",
-                "geometry": [
-                    "line"
-                ],
-                "tags": {
-                    "waterway": "drain"
-                },
-                "name": "Drain"
-            },
-            "waterway/river": {
-                "icon": "waterway-river",
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "beck",
-                    "branch",
-                    "brook",
-                    "course",
-                    "creek",
-                    "estuary",
-                    "rill",
-                    "rivulet",
-                    "run",
-                    "runnel",
-                    "stream",
-                    "tributary",
-                    "watercourse"
-                ],
-                "tags": {
-                    "waterway": "river"
-                },
-                "name": "River"
-            },
-            "waterway/riverbank": {
-                "icon": "water",
-                "geometry": [
-                    "area"
-                ],
-                "tags": {
-                    "waterway": "riverbank"
-                },
-                "name": "Riverbank"
-            },
-            "waterway/stream": {
-                "icon": "waterway-stream",
-                "fields": [
-                    "layer"
-                ],
-                "geometry": [
-                    "line"
-                ],
-                "terms": [
-                    "beck",
-                    "branch",
-                    "brook",
-                    "burn",
-                    "course",
-                    "creek",
-                    "current",
-                    "drift",
-                    "flood",
-                    "flow",
-                    "freshet",
-                    "race",
-                    "rill",
-                    "rindle",
-                    "rivulet",
-                    "run",
-                    "runnel",
-                    "rush",
-                    "spate",
-                    "spritz",
-                    "surge",
-                    "tide",
-                    "torrent",
-                    "tributary",
-                    "watercourse"
-                ],
-                "tags": {
-                    "waterway": "stream"
-                },
-                "name": "Stream"
-            },
-            "waterway/weir": {
-                "icon": "dam",
-                "geometry": [
-                    "vertex",
-                    "line"
-                ],
-                "tags": {
-                    "waterway": "weir"
-                },
-                "name": "Weir"
+    }
+
+    function getCities() {
+        var extent = entity.extent(context.graph()),
+            l = extent.center(),
+            box = iD.geo.Extent(l).padByMeters(200);
+
+        return context.intersects(box)
+            .filter(isAddressable)
+            .map(function(d) {
+                return {
+                    title: d.tags['addr:city'] || d.tags.name,
+                    value: d.tags['addr:city'] || d.tags.name,
+                    dist: iD.geo.sphericalDistance(d.extent(context.graph()).center(), l)
+                };
+            }).sort(function(a, b) {
+                return a.dist - b.dist;
+            });
+
+        function isAddressable(d) {
+            if (d.tags.name &&
+                (d.tags.admin_level === '8' || d.tags.border_type === 'city'))
+                return true;
+
+            if (d.tags.place && d.tags.name && (
+                    d.tags.place === 'city' ||
+                    d.tags.place === 'town' ||
+                    d.tags.place === 'village'))
+                return true;
+
+            if (d.tags['addr:city']) return true;
+
+            return false;
+        }
+    }
+
+    function getPostCodes() {
+        var extent = entity.extent(context.graph()),
+            l = extent.center(),
+            box = iD.geo.Extent(l).padByMeters(200);
+
+        return context.intersects(box)
+            .filter(isAddressable)
+            .map(function(d) {
+                return {
+                    title: d.tags['addr:postcode'],
+                    value: d.tags['addr:postcode'],
+                    dist: iD.geo.sphericalDistance(d.extent(context.graph()).center(), l)
+                };
+            }).sort(function(a, b) {
+                return a.dist - b.dist;
+            });
+
+        function isAddressable(d) {
+            return d.tags['addr:postcode'];
+        }
+    }
+
+    function address(selection) {
+        isInitialized = false;
+        
+        selection.selectAll('.preset-input-wrap')
+            .remove();
+
+        var center = entity.extent(context.graph()).center(),
+            addressFormat;
+
+        // Enter
+
+        wrap = selection.append('div')
+            .attr('class', 'preset-input-wrap');
+
+        iD.countryCode().search(center, function (err, countryCode) {
+            addressFormat = _.find(iD.data.addressFormats, function (a) {
+                return a && a.countryCodes && _.contains(a.countryCodes, countryCode);
+            }) || _.first(iD.data.addressFormats);
+
+            function row(r) {
+                // Normalize widths.
+                var total = _.reduce(r, function(sum, field) {
+                    return sum + (widths[field] || 0.5);
+                }, 0);
+
+                return r.map(function (field) {
+                    return {
+                        id: field,
+                        width: (widths[field] || 0.5) / total
+                    };
+                });
+            }
+
+            wrap.selectAll('div')
+                .data(addressFormat.format)
+                .enter()
+                .append('div')
+                .attr('class', 'addr-row')
+                .selectAll('input')
+                .data(row)
+                .enter()
+                .append('input')
+                .property('type', 'text')
+                .attr('placeholder', function (d) { return field.t('placeholders.' + d.id); })
+                .attr('class', function (d) { return 'addr-' + d.id; })
+                .style('width', function (d) { return d.width * 100 + '%'; });
+
+            // Update
+
+            wrap.selectAll('.addr-street')
+                .call(d3.combobox()
+                    .fetcher(function(value, callback) {
+                        callback(getStreets());
+                    }));
+
+            wrap.selectAll('.addr-city')
+                .call(d3.combobox()
+                    .fetcher(function(value, callback) {
+                        callback(getCities());
+                    }));
+
+            wrap.selectAll('.addr-postcode')
+                .call(d3.combobox()
+                    .fetcher(function(value, callback) {
+                        callback(getPostCodes());
+                    }));
+
+            wrap.selectAll('input')
+                .on('blur', change)
+                .on('change', change);
+
+            event.init();
+            isInitialized = true;
+        });
+    }
+
+    function change() {
+        var tags = {};
+
+        wrap.selectAll('input')
+            .each(function (field) {
+                tags['addr:' + field.id] = this.value || undefined;
+            });
+
+        event.change(tags);
+    }
+
+    function updateTags(tags) {
+        wrap.selectAll('input')
+            .value(function (field) {
+                return tags['addr:' + field.id] || '';
+            });
+    }
+
+    address.entity = function(_) {
+        if (!arguments.length) return entity;
+        entity = _;
+        return address;
+    };
+
+    address.tags = function(tags) {
+        if (isInitialized) {
+            updateTags(tags);
+        } else {
+            event.on('init', function () {
+                updateTags(tags);
+            });
+        }
+    };
+
+    address.focus = function() {
+        var node = wrap.selectAll('input').node();
+        if (node) node.focus();
+    };
+
+    return d3.rebind(address, event, 'on');
+};
+iD.ui.preset.check =
+iD.ui.preset.defaultcheck = function(field) {
+    var event = d3.dispatch('change'),
+        options = field.strings && field.strings.options,
+        values = [],
+        texts = [],
+        entity, value, box, text, label;
+
+    if (options) {
+        for (var k in options) {
+            values.push(k === 'undefined' ? undefined : k);
+            texts.push(field.t('options.' + k, { 'default': options[k] }));
+        }
+    } else {
+        values = [undefined, 'yes'];
+        texts = [t('inspector.unknown'), t('inspector.check.yes')];
+        if (field.type === 'check') {
+            values.push('no');
+            texts.push(t('inspector.check.no'));
+        }
+    }
+
+    var check = function(selection) {
+        // hack: pretend oneway field is a oneway_yes field
+        // where implied oneway tag exists (e.g. `junction=roundabout`) #2220, #1841
+        if (field.id === 'oneway') {
+            for (var key in entity.tags) {
+                if (key in iD.oneWayTags && (entity.tags[key] in iD.oneWayTags[key])) {
+                    texts[0] = t('presets.fields.oneway_yes.options.undefined');
+                    break;
+                }
+            }
+        }
+
+        selection.classed('checkselect', 'true');
+
+        label = selection.selectAll('.preset-input-wrap')
+            .data([0]);
+
+        var enter = label.enter().append('label')
+            .attr('class', 'preset-input-wrap');
+
+        enter.append('input')
+            .property('indeterminate', field.type === 'check')
+            .attr('type', 'checkbox')
+            .attr('id', 'preset-input-' + field.id);
+
+        enter.append('span')
+            .text(texts[0])
+            .attr('class', 'value');
+
+        box = label.select('input')
+            .on('click', function() {
+                var t = {};
+                t[field.key] = values[(values.indexOf(value) + 1) % values.length];
+                event.change(t);
+                d3.event.stopPropagation();
+            });
+
+        text = label.select('span.value');
+    };
+
+    check.entity = function(_) {
+        if (!arguments.length) return entity;
+        entity = _;
+        return check;
+    };
+
+    check.tags = function(tags) {
+        value = tags[field.key];
+        box.property('indeterminate', field.type === 'check' && !value);
+        box.property('checked', value === 'yes');
+        text.text(texts[values.indexOf(value)]);
+        label.classed('set', !!value);
+    };
+
+    check.focus = function() {
+        box.node().focus();
+    };
+
+    return d3.rebind(check, event, 'on');
+};
+iD.ui.preset.combo =
+iD.ui.preset.typeCombo = function(field, context) {
+    var event = d3.dispatch('change'),
+        optstrings = field.strings && field.strings.options,
+        optarray = field.options,
+        snake_case = (field.snake_case || (field.snake_case === undefined)),
+        strings = {},
+        input;
+
+    function snake(s) {
+        return s.replace(/\s+/g, '_');
+    }
+
+    function unsnake(s) {
+        return s.replace(/_+/g, ' ');
+    }
+
+    function clean(s) {
+        return s.split(';')
+            .map(function(s) { return s.trim(); })
+            .join(';');
+    }
+
+    function optString() {
+        return _.find(_.keys(strings), function(k) {
+                return strings[k] === input.value();
+            });
+    }
+
+    function combo(selection) {
+        var combobox = d3.combobox();
+
+        input = selection.selectAll('input')
+            .data([0]);
+
+        var enter = input.enter()
+            .append('input')
+            .attr('type', 'text')
+            .attr('id', 'preset-input-' + field.id);
+
+        if (optstrings) { enter.attr('readonly', 'readonly'); }
+
+        input
+            .call(combobox)
+            .on('change', change)
+            .on('blur', change)
+            .each(function() {
+                if (optstrings) {
+                    _.each(optstrings, function(v, k) {
+                        strings[k] = field.t('options.' + k, { 'default': v });
+                    });
+                    stringsLoaded();
+                } else if (optarray) {
+                    _.each(optarray, function(k) {
+                        strings[k] = (snake_case ? unsnake(k) : k);
+                    });
+                    stringsLoaded();
+                } else if (context.taginfo()) {
+                    context.taginfo().values({key: field.key}, function(err, data) {
+                        if (!err) {
+                            _.each(_.pluck(data, 'value'), function(k) {
+                                strings[k] = (snake_case ? unsnake(k) : k);
+                            });
+                            stringsLoaded();
+                        }
+                    });
+                }
+            });
+
+        function stringsLoaded() {
+            var keys = _.keys(strings),
+                strs = [],
+                placeholders;
+
+            combobox.data(keys.map(function(k) {
+                var s = strings[k],
+                    o = {};
+                o.title = o.value = s;
+                if (s.length < 20) { strs.push(s); }
+                return o;
+            }));
+
+            placeholders = strs.length > 1 ? strs : keys;
+            input.attr('placeholder', field.placeholder() ||
+                (placeholders.slice(0, 3).join(', ') + '...'));
+        }
+    }
+
+    function change() {
+        var value = optString() || clean(input.value());
+
+        if (snake_case) {
+            value = snake(value);
+        }
+        if (field.type === 'typeCombo' && !value) {
+            value = 'yes';
+        }
+
+        var t = {};
+        t[field.key] = value || undefined;
+        event.change(t);
+    }
+
+    combo.tags = function(tags) {
+        var key = tags[field.key],
+            optstring = optString(),
+            value = strings[key] || key || '';
+
+        if (field.type === 'typeCombo' && value.toLowerCase() === 'yes') {
+            value = '';
+        }
+        if (!optstring && snake_case) {
+            value = unsnake(value);
+        }
+        input.value(value);
+    };
+
+    combo.focus = function() {
+        input.node().focus();
+    };
+
+    return d3.rebind(combo, event, 'on');
+};
+iD.ui.preset.cycleway = function(field) {
+    var event = d3.dispatch('change'),
+        items;
+
+    function cycleway(selection) {
+        var wrap = selection.selectAll('.preset-input-wrap')
+            .data([0]);
+
+        wrap.enter().append('div')
+            .attr('class', 'cf preset-input-wrap')
+            .append('ul');
+
+        items = wrap.select('ul').selectAll('li')
+            .data(field.keys);
+
+        // Enter
+
+        var enter = items.enter().append('li')
+            .attr('class', function(d) { return 'cf preset-cycleway-' + d; });
+
+        enter.append('span')
+            .attr('class', 'col6 label preset-label-cycleway')
+            .attr('for', function(d) { return 'preset-input-cycleway-' + d; })
+            .text(function(d) { return field.t('types.' + d); });
+
+        enter.append('div')
+            .attr('class', 'col6 preset-input-cycleway-wrap')
+            .append('input')
+            .attr('type', 'text')
+            .attr('class', 'preset-input-cycleway')
+            .attr('id', function(d) { return 'preset-input-cycleway-' + d; })
+            .each(function(d) {
+                d3.select(this)
+                    .call(d3.combobox()
+                        .data(cycleway.options(d)));
+            });
+
+        // Update
+
+        wrap.selectAll('.preset-input-cycleway')
+            .on('change', change)
+            .on('blur', change);
+    }
+
+    function change() {
+        var inputs = d3.selectAll('.preset-input-cycleway')[0],
+            left = d3.select(inputs[0]).value(),
+            right = d3.select(inputs[1]).value(),
+            tag = {};
+        if (left === 'none' || left === '') { left = undefined; }
+        if (right === 'none' || right === '') { right = undefined; }
+
+        // Always set both left and right as changing one can affect the other
+        tag = {
+            cycleway: undefined,
+            'cycleway:left': left,
+            'cycleway:right': right
+        };
+
+        // If the left and right tags match, use the cycleway tag to tag both
+        // sides the same way
+        if (left === right) {
+            tag = {
+                cycleway: left,
+                'cycleway:left': undefined,
+                'cycleway:right': undefined
+            };
+        }
+
+        event.change(tag);
+    }
+
+    cycleway.options = function() {
+        return d3.keys(field.strings.options).map(function(option) {
+            return {
+                title: field.t('options.' + option + '.description'),
+                value: option
+            };
+        });
+    };
+
+    cycleway.tags = function(tags) {
+        items.selectAll('.preset-input-cycleway')
+            .value(function(d) {
+                // If cycleway is set, always return that
+                if (tags.cycleway) {
+                    return tags.cycleway;
+                }
+                return tags[d] || '';
+            })
+            .attr('placeholder', field.placeholder());
+    };
+
+    cycleway.focus = function() {
+        items.selectAll('.preset-input-cycleway')
+            .node().focus();
+    };
+
+    return d3.rebind(cycleway, event, 'on');
+};
+iD.ui.preset.text =
+iD.ui.preset.number =
+iD.ui.preset.tel =
+iD.ui.preset.email =
+iD.ui.preset.url = function(field) {
+
+    var event = d3.dispatch('change'),
+        input;
+
+    function i(selection) {
+        input = selection.selectAll('input')
+            .data([0]);
+
+        input.enter().append('input')
+            .attr('type', field.type)
+            .attr('id', 'preset-input-' + field.id)
+            .attr('placeholder', field.placeholder() || t('inspector.unknown'));
+
+        input
+            .on('blur', change)
+            .on('change', change);
+
+        if (field.type === 'number') {
+            input.attr('type', 'text');
+
+            var spinControl = selection.selectAll('.spin-control')
+                .data([0]);
+
+            var enter = spinControl.enter().append('div')
+                .attr('class', 'spin-control');
+
+            enter.append('button')
+                .datum(1)
+                .attr('class', 'increment');
+
+            enter.append('button')
+                .datum(-1)
+                .attr('class', 'decrement');
+
+            spinControl.selectAll('button')
+                .on('click', function(d) {
+                    d3.event.preventDefault();
+                    var num = parseInt(input.node().value || 0, 10);
+                    if (!isNaN(num)) input.node().value = num + d;
+                    change();
+                });
+        }
+    }
+
+    function change() {
+        var t = {};
+        t[field.key] = input.value() || undefined;
+        event.change(t);
+    }
+
+    i.tags = function(tags) {
+        input.value(tags[field.key] || '');
+    };
+
+    i.focus = function() {
+        input.node().focus();
+    };
+
+    return d3.rebind(i, event, 'on');
+};
+iD.ui.preset.localized = function(field, context) {
+
+    var event = d3.dispatch('change'),
+        wikipedia = iD.wikipedia(),
+        input, localizedInputs, wikiTitles,
+        entity;
+
+    function i(selection) {
+        input = selection.selectAll('.localized-main')
+            .data([0]);
+
+        input.enter().append('input')
+            .attr('type', 'text')
+            .attr('id', 'preset-input-' + field.id)
+            .attr('class', 'localized-main')
+            .attr('placeholder', field.placeholder());
+
+        if (field.id === 'name') {
+            var preset = context.presets().match(entity, context.graph());
+            input.call(d3.combobox().fetcher(
+                iD.util.SuggestNames(preset, iD.data.suggestions)
+            ));
+        }
+
+        input
+            .on('blur', change)
+            .on('change', change);
+
+        var translateButton = selection.selectAll('.localized-add')
+            .data([0]);
+
+        translateButton.enter()
+            .append('button')
+            .attr('class', 'button-input-action localized-add minor')
+            .call(iD.svg.Icon('#icon-plus'))
+            .call(bootstrap.tooltip()
+                .title(t('translate.translate'))
+                .placement('left'));
+
+        translateButton
+            .on('click', addBlank);
+
+        localizedInputs = selection.selectAll('.localized-wrap')
+            .data([0]);
+
+        localizedInputs.enter().append('div')
+            .attr('class', 'localized-wrap');
+    }
+
+    function addBlank() {
+        d3.event.preventDefault();
+        var data = localizedInputs.selectAll('div.entry').data();
+        data.push({ lang: '', value: '' });
+        localizedInputs.call(render, data);
+    }
+
+    function change() {
+        var t = {};
+        t[field.key] = d3.select(this).value() || undefined;
+        event.change(t);
+    }
+
+    function key(lang) { return field.key + ':' + lang; }
+
+    function changeLang(d) {
+        var lang = d3.select(this).value(),
+            t = {},
+            language = _.find(iD.data.wikipedia, function(d) {
+                return d[0].toLowerCase() === lang.toLowerCase() ||
+                    d[1].toLowerCase() === lang.toLowerCase();
+            });
+
+        if (language) lang = language[2];
+
+        if (d.lang && d.lang !== lang) {
+            t[key(d.lang)] = undefined;
+        }
+
+        var value = d3.select(this.parentNode)
+            .selectAll('.localized-value')
+            .value();
+
+        if (lang && value) {
+            t[key(lang)] = value;
+        } else if (lang && wikiTitles && wikiTitles[d.lang]) {
+            t[key(lang)] = wikiTitles[d.lang];
+        }
+
+        d.lang = lang;
+        event.change(t);
+    }
+
+    function changeValue(d) {
+        if (!d.lang) return;
+        var t = {};
+        t[key(d.lang)] = d3.select(this).value() || undefined;
+        event.change(t);
+    }
+
+    function fetcher(value, cb) {
+        var v = value.toLowerCase();
+
+        cb(iD.data.wikipedia.filter(function(d) {
+            return d[0].toLowerCase().indexOf(v) >= 0 ||
+            d[1].toLowerCase().indexOf(v) >= 0 ||
+            d[2].toLowerCase().indexOf(v) >= 0;
+        }).map(function(d) {
+            return { value: d[1] };
+        }));
+    }
+
+    function render(selection, data) {
+        var wraps = selection.selectAll('div.entry').
+            data(data, function(d) { return d.lang; });
+
+        var innerWrap = wraps.enter()
+            .insert('div', ':first-child');
+
+        innerWrap.attr('class', 'entry')
+            .each(function() {
+                var wrap = d3.select(this);
+                var langcombo = d3.combobox().fetcher(fetcher);
+
+                var label = wrap.append('label')
+                    .attr('class','form-label')
+                    .text(t('translate.localized_translation_label'))
+                    .attr('for','localized-lang');
+
+                label.append('button')
+                    .attr('class', 'minor remove')
+                    .on('click', function(d){
+                        d3.event.preventDefault();
+                        var t = {};
+                        t[key(d.lang)] = undefined;
+                        event.change(t);
+                        d3.select(this.parentNode.parentNode)
+                            .style('top','0')
+                            .style('max-height','240px')
+                            .transition()
+                            .style('opacity', '0')
+                            .style('max-height','0px')
+                            .remove();
+                    })
+                    .call(iD.svg.Icon('#operation-delete'));
+
+                wrap.append('input')
+                    .attr('class', 'localized-lang')
+                    .attr('type', 'text')
+                    .attr('placeholder',t('translate.localized_translation_language'))
+                    .on('blur', changeLang)
+                    .on('change', changeLang)
+                    .call(langcombo);
+
+                wrap.append('input')
+                    .on('blur', changeValue)
+                    .on('change', changeValue)
+                    .attr('type', 'text')
+                    .attr('placeholder', t('translate.localized_translation_name'))
+                    .attr('class', 'localized-value');
+            });
+
+        innerWrap
+            .style('margin-top', '0px')
+            .style('max-height', '0px')
+            .style('opacity', '0')
+            .transition()
+            .duration(200)
+            .style('margin-top', '10px')
+            .style('max-height', '240px')
+            .style('opacity', '1')
+            .each('end', function() {
+                d3.select(this)
+                    .style('max-height', '')
+                    .style('overflow', 'visible');
+            });
+
+        wraps.exit()
+            .transition()
+            .duration(200)
+            .style('max-height','0px')
+            .style('opacity', '0')
+            .style('top','-10px')
+            .remove();
+
+        var entry = selection.selectAll('.entry');
+
+        entry.select('.localized-lang')
+            .value(function(d) {
+                var lang = _.find(iD.data.wikipedia, function(lang) { return lang[2] === d.lang; });
+                return lang ? lang[1] : d.lang;
+            });
+
+        entry.select('.localized-value')
+            .value(function(d) { return d.value; });
+    }
+
+    i.tags = function(tags) {
+
+        // Fetch translations from wikipedia
+        if (tags.wikipedia && !wikiTitles) {
+            wikiTitles = {};
+            var wm = tags.wikipedia.match(/([^:]+):(.+)/);
+            if (wm && wm[0] && wm[1]) {
+                wikipedia.translations(wm[1], wm[2], function(d) {
+                    wikiTitles = d;
+                });
+            }
+        }
+
+        input.value(tags[field.key] || '');
+
+        var postfixed = [], k, m;
+        for (k in tags) {
+            m = k.match(/^(.*):([a-zA-Z_-]+)$/);
+            if (m && m[1] === field.key && m[2]) {
+                postfixed.push({ lang: m[2], value: tags[k] });
+            }
+        }
+
+        localizedInputs.call(render, postfixed.reverse());
+    };
+
+    i.focus = function() {
+        input.node().focus();
+    };
+
+    i.entity = function(_) {
+        entity = _;
+    };
+
+    return d3.rebind(i, event, 'on');
+};
+iD.ui.preset.maxspeed = function(field, context) {
+
+    var event = d3.dispatch('change'),
+        entity,
+        imperial,
+        unitInput,
+        combobox,
+        input;
+
+    var metricValues = [20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120],
+        imperialValues = [20, 25, 30, 35, 40, 45, 50, 55, 65, 70];
+
+    function maxspeed(selection) {
+        combobox = d3.combobox();
+        var unitCombobox = d3.combobox().data(['km/h', 'mph'].map(comboValues));
+
+        input = selection.selectAll('#preset-input-' + field.id)
+            .data([0]);
+
+        input.enter().append('input')
+            .attr('type', 'text')
+            .attr('id', 'preset-input-' + field.id)
+            .attr('placeholder', field.placeholder());
+
+        input
+            .call(combobox)
+            .on('change', change)
+            .on('blur', change);
+
+        var childNodes = context.graph().childNodes(context.entity(entity.id)),
+            loc = childNodes[~~(childNodes.length/2)].loc;
+
+        imperial = _.any(iD.data.imperial.features, function(f) {
+            return _.any(f.geometry.coordinates, function(d) {
+                return iD.geo.pointInPolygon(loc, d[0]);
+            });
+        });
+
+        unitInput = selection.selectAll('input.maxspeed-unit')
+            .data([0]);
+
+        unitInput.enter().append('input')
+            .attr('type', 'text')
+            .attr('class', 'maxspeed-unit');
+
+        unitInput
+            .on('blur', changeUnits)
+            .on('change', changeUnits)
+            .call(unitCombobox);
+
+        function changeUnits() {
+            imperial = unitInput.value() === 'mph';
+            unitInput.value(imperial ? 'mph' : 'km/h');
+            setSuggestions();
+            change();
+        }
+
+    }
+
+    function setSuggestions() {
+        combobox.data((imperial ? imperialValues : metricValues).map(comboValues));
+        unitInput.value(imperial ? 'mph' : 'km/h');
+    }
+
+    function comboValues(d) {
+        return {
+            value: d.toString(),
+            title: d.toString()
+        };
+    }
+
+    function change() {
+        var tag = {},
+            value = input.value();
+
+        if (!value) {
+            tag[field.key] = undefined;
+        } else if (isNaN(value) || !imperial) {
+            tag[field.key] = value;
+        } else {
+            tag[field.key] = value + ' mph';
+        }
+
+        event.change(tag);
+    }
+
+    maxspeed.tags = function(tags) {
+        var value = tags[field.key];
+
+        if (value && value.indexOf('mph') >= 0) {
+            value = parseInt(value, 10);
+            imperial = true;
+        } else if (value) {
+            imperial = false;
+        }
+
+        setSuggestions();
+
+        input.value(value || '');
+    };
+
+    maxspeed.focus = function() {
+        input.node().focus();
+    };
+
+    maxspeed.entity = function(_) {
+        entity = _;
+    };
+
+    return d3.rebind(maxspeed, event, 'on');
+};
+iD.ui.preset.radio = function(field) {
+
+    var event = d3.dispatch('change'),
+        labels, radios, placeholder;
+
+    function radio(selection) {
+        selection.classed('preset-radio', true);
+
+        var wrap = selection.selectAll('.preset-input-wrap')
+            .data([0]);
+
+        var buttonWrap = wrap.enter().append('div')
+            .attr('class', 'preset-input-wrap toggle-list');
+
+        buttonWrap.append('span')
+            .attr('class', 'placeholder');
+
+        placeholder = selection.selectAll('.placeholder');
+
+        labels = wrap.selectAll('label')
+            .data(field.options || field.keys);
+
+        var enter = labels.enter().append('label');
+
+        enter.append('input')
+            .attr('type', 'radio')
+            .attr('name', field.id)
+            .attr('value', function(d) { return field.t('options.' + d, { 'default': d }); })
+            .attr('checked', false);
+
+        enter.append('span')
+            .text(function(d) { return field.t('options.' + d, { 'default': d }); });
+
+        radios = labels.selectAll('input')
+            .on('change', change);
+    }
+
+    function change() {
+        var t = {};
+        if (field.key) t[field.key] = undefined;
+        radios.each(function(d) {
+            var active = d3.select(this).property('checked');
+            if (field.key) {
+                if (active) t[field.key] = d;
+            } else {
+                t[d] = active ? 'yes' : undefined;
+            }
+        });
+        event.change(t);
+    }
+
+    radio.tags = function(tags) {
+        function checked(d) {
+            if (field.key) {
+                return tags[field.key] === d;
+            } else {
+                return !!(tags[d] && tags[d] !== 'no');
+            }
+        }
+
+        labels.classed('active', checked);
+        radios.property('checked', checked);
+        var selection = radios.filter(function() { return this.checked; });
+        if (selection.empty()) {
+            placeholder.text(t('inspector.none'));
+        } else {
+            placeholder.text(selection.attr('value'));
+        }
+    };
+
+    radio.focus = function() {
+        radios.node().focus();
+    };
+
+    return d3.rebind(radio, event, 'on');
+};
+iD.ui.preset.restrictions = function(field, context) {
+    var event = d3.dispatch('change'),
+        vertexID,
+        fromNodeID;
+
+    function restrictions(selection) {
+        var wrap = selection.selectAll('.preset-input-wrap')
+            .data([0]);
+
+        var enter = wrap.enter().append('div')
+            .attr('class', 'preset-input-wrap');
+
+        enter.append('div')
+            .attr('class', 'restriction-help');
+
+        enter.append('svg')
+            .call(iD.svg.Surface(context))
+            .call(iD.behavior.Hover(context));
+
+        var intersection = iD.geo.Intersection(context.graph(), vertexID),
+            graph = intersection.graph,
+            vertex = graph.entity(vertexID),
+            surface = wrap.selectAll('svg'),
+            filter = function () { return true; },
+            extent = iD.geo.Extent(),
+            projection = iD.geo.RawMercator(),
+            lines = iD.svg.Lines(projection, context),
+            vertices = iD.svg.Vertices(projection, context),
+            turns = iD.svg.Turns(projection, context);
+
+        var d = wrap.dimensions(),
+            c = [d[0] / 2, d[1] / 2],
+            z = 21;
+
+        projection
+            .scale(256 * Math.pow(2, z) / (2 * Math.PI));
+
+        var s = projection(vertex.loc);
+
+        projection
+            .translate([c[0] - s[0], c[1] - s[1]])
+            .clipExtent([[0, 0], d]);
+
+        surface
+            .call(vertices, graph, [vertex], filter, extent, z)
+            .call(lines, graph, intersection.ways, filter)
+            .call(turns, graph, intersection.turns(fromNodeID));
+
+        surface
+            .on('click.restrictions', click)
+            .on('mouseover.restrictions', mouseover)
+            .on('mouseout.restrictions', mouseout);
+
+        surface
+            .selectAll('.selected')
+            .classed('selected', false);
+
+        if (fromNodeID) {
+            surface
+                .selectAll('.' + intersection.highways[fromNodeID].id)
+                .classed('selected', true);
+        }
+
+        mouseout();
+
+        context.history()
+            .on('change.restrictions', render);
+
+        d3.select(window)
+            .on('resize.restrictions', render);
+
+        function click() {
+            var datum = d3.event.target.__data__;
+            if (datum instanceof iD.Entity) {
+                fromNodeID = intersection.adjacentNodeId(datum.id);
+                render();
+            } else if (datum instanceof iD.geo.Turn) {
+                if (datum.restriction) {
+                    context.perform(
+                        iD.actions.UnrestrictTurn(datum, projection),
+                        t('operations.restriction.annotation.delete'));
+                } else {
+                    context.perform(
+                        iD.actions.RestrictTurn(datum, projection),
+                        t('operations.restriction.annotation.create'));
+                }
+            }
+        }
+
+        function mouseover() {
+            var datum = d3.event.target.__data__;
+            if (datum instanceof iD.geo.Turn) {
+                var graph = context.graph(),
+                    presets = context.presets(),
+                    preset;
+
+                if (datum.restriction) {
+                    preset = presets.match(graph.entity(datum.restriction), graph);
+                } else {
+                    preset = presets.item('type/restriction/' +
+                        iD.geo.inferRestriction(
+                            graph,
+                            datum.from,
+                            datum.via,
+                            datum.to,
+                            projection));
+                }
+
+                wrap.selectAll('.restriction-help')
+                    .text(t('operations.restriction.help.' +
+                        (datum.restriction ? 'toggle_off' : 'toggle_on'),
+                        {restriction: preset.name()}));
+            }
+        }
+
+        function mouseout() {
+            wrap.selectAll('.restriction-help')
+                .text(t('operations.restriction.help.' +
+                    (fromNodeID ? 'toggle' : 'select')));
+        }
+
+        function render() {
+            if (context.hasEntity(vertexID)) {
+                restrictions(selection);
+            }
+        }
+    }
+
+    restrictions.entity = function(_) {
+        if (!vertexID || vertexID !== _.id) {
+            fromNodeID = null;
+            vertexID = _.id;
+        }
+    };
+
+    restrictions.tags = function() {};
+    restrictions.focus = function() {};
+
+    return d3.rebind(restrictions, event, 'on');
+};
+iD.ui.preset.textarea = function(field) {
+
+    var event = d3.dispatch('change'),
+        input;
+
+    function i(selection) {
+        input = selection.selectAll('textarea')
+            .data([0]);
+
+        input.enter().append('textarea')
+            .attr('id', 'preset-input-' + field.id)
+            .attr('placeholder', field.placeholder() || t('inspector.unknown'))
+            .attr('maxlength', 255);
+
+        input
+            .on('blur', change)
+            .on('change', change);
+    }
+
+    function change() {
+        var t = {};
+        t[field.key] = input.value() || undefined;
+        event.change(t);
+    }
+
+    i.tags = function(tags) {
+        input.value(tags[field.key] || '');
+    };
+
+    i.focus = function() {
+        input.node().focus();
+    };
+
+    return d3.rebind(i, event, 'on');
+};
+iD.ui.preset.wikipedia = function(field, context) {
+
+    var event = d3.dispatch('change'),
+        wikipedia = iD.wikipedia(),
+        link, entity, lang, title;
+
+    function i(selection) {
+
+        var langcombo = d3.combobox()
+            .fetcher(function(value, cb) {
+                var v = value.toLowerCase();
+
+                cb(iD.data.wikipedia.filter(function(d) {
+                    return d[0].toLowerCase().indexOf(v) >= 0 ||
+                        d[1].toLowerCase().indexOf(v) >= 0 ||
+                        d[2].toLowerCase().indexOf(v) >= 0;
+                }).map(function(d) {
+                    return { value: d[1] };
+                }));
+            });
+
+        var titlecombo = d3.combobox()
+            .fetcher(function(value, cb) {
+
+                if (!value) value = context.entity(entity.id).tags.name || '';
+                var searchfn = value.length > 7 ? wikipedia.search : wikipedia.suggestions;
+
+                searchfn(language()[2], value, function(query, data) {
+                    cb(data.map(function(d) {
+                        return { value: d };
+                    }));
+                });
+            });
+
+        lang = selection.selectAll('input.wiki-lang')
+            .data([0]);
+
+        lang.enter().append('input')
+            .attr('type', 'text')
+            .attr('class', 'wiki-lang')
+            .value('English');
+
+        lang
+            .call(langcombo)
+            .on('blur', changeLang)
+            .on('change', changeLang);
+
+        title = selection.selectAll('input.wiki-title')
+            .data([0]);
+
+        title.enter().append('input')
+            .attr('type', 'text')
+            .attr('class', 'wiki-title')
+            .attr('id', 'preset-input-' + field.id);
+
+        title
+            .call(titlecombo)
+            .on('blur', change)
+            .on('change', change);
+
+        link = selection.selectAll('a.wiki-link')
+            .data([0]);
+
+        link.enter().append('a')
+            .attr('class', 'wiki-link button-input-action minor')
+            .attr('target', '_blank')
+            .call(iD.svg.Icon('#icon-out-link', 'inline'));
+    }
+
+    function language() {
+        var value = lang.value().toLowerCase();
+        var locale = iD.detect().locale.toLowerCase();
+        var localeLanguage;
+        return _.find(iD.data.wikipedia, function(d) {
+            if (d[2] === locale) localeLanguage = d;
+            return d[0].toLowerCase() === value ||
+                d[1].toLowerCase() === value ||
+                d[2] === value;
+        }) || localeLanguage || ['English', 'English', 'en'];
+    }
+
+    function changeLang() {
+        lang.value(language()[1]);
+        change();
+    }
+
+    function change() {
+        var value = title.value(),
+            m = value.match(/https?:\/\/([-a-z]+)\.wikipedia\.org\/(?:wiki|\1-[-a-z]+)\/([^#]+)(?:#(.+))?/),
+            l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; }),
+            anchor;
+
+        if (l) {
+            // Normalize title http://www.mediawiki.org/wiki/API:Query#Title_normalization
+            value = decodeURIComponent(m[2]).replace(/_/g, ' ');
+            if (m[3]) {
+                try {
+                    // Best-effort `anchordecode:` implementation
+                    anchor = decodeURIComponent(m[3].replace(/\.([0-9A-F]{2})/g, '%$1'));
+                } catch (e) {
+                    anchor = decodeURIComponent(m[3]);
+                }
+                value += '#' + anchor.replace(/_/g, ' ');
+            }
+            value = value.slice(0, 1).toUpperCase() + value.slice(1);
+            lang.value(l[1]);
+            title.value(value);
+        }
+
+        var t = {};
+        t[field.key] = value ? language()[2] + ':' + value : undefined;
+        event.change(t);
+    }
+
+    i.tags = function(tags) {
+        var value = tags[field.key] || '',
+            m = value.match(/([^:]+):([^#]+)(?:#(.+))?/),
+            l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; }),
+            anchor = m && m[3];
+
+        // value in correct format
+        if (l) {
+            lang.value(l[1]);
+            title.value(m[2] + (anchor ? ('#' + anchor) : ''));
+            if (anchor) {
+                try {
+                    // Best-effort `anchorencode:` implementation
+                    anchor = encodeURIComponent(anchor.replace(/ /g, '_')).replace(/%/g, '.');
+                } catch (e) {
+                    anchor = anchor.replace(/ /g, '_');
+                }
+            }
+            link.attr('href', 'http://' + m[1] + '.wikipedia.org/wiki/' +
+                      m[2].replace(/ /g, '_') + (anchor ? ('#' + anchor) : ''));
+
+        // unrecognized value format
+        } else {
+            title.value(value);
+            link.attr('href', 'http://en.wikipedia.org/wiki/Special:Search?search=' + value);
+        }
+    };
+
+    i.entity = function(_) {
+        entity = _;
+    };
+
+    i.focus = function() {
+        title.node().focus();
+    };
+
+    return d3.rebind(i, event, 'on');
+};
+iD.ui.intro.area = function(context, reveal) {
+
+    var event = d3.dispatch('done'),
+        timeout;
+
+    var step = {
+        title: 'intro.areas.title'
+    };
+
+    step.enter = function() {
+
+        var playground = [-85.63552, 41.94159],
+            corner = [-85.63565411045074, 41.9417715536927];
+        context.map().centerZoom(playground, 19);
+        reveal('button.add-area', t('intro.areas.add'), {tooltipClass: 'intro-areas-add'});
+
+        context.on('enter.intro', addArea);
+
+        function addArea(mode) {
+            if (mode.id !== 'add-area') return;
+            context.on('enter.intro', drawArea);
+
+            var padding = 120 * Math.pow(2, context.map().zoom() - 19);
+            var pointBox = iD.ui.intro.pad(corner, padding, context);
+            reveal(pointBox, t('intro.areas.corner'));
+
+            context.map().on('move.intro', function() {
+                padding = 120 * Math.pow(2, context.map().zoom() - 19);
+                pointBox = iD.ui.intro.pad(corner, padding, context);
+                reveal(pointBox, t('intro.areas.corner'), {duration: 0});
+            });
+        }
+
+        function drawArea(mode) {
+            if (mode.id !== 'draw-area') return;
+            context.on('enter.intro', enterSelect);
+
+            var padding = 150 * Math.pow(2, context.map().zoom() - 19);
+            var pointBox = iD.ui.intro.pad(playground, padding, context);
+            reveal(pointBox, t('intro.areas.place'));
+
+            context.map().on('move.intro', function() {
+                padding = 150 * Math.pow(2, context.map().zoom() - 19);
+                pointBox = iD.ui.intro.pad(playground, padding, context);
+                reveal(pointBox, t('intro.areas.place'), {duration: 0});
+            });
+        }
+
+        function enterSelect(mode) {
+            if (mode.id !== 'select') return;
+            context.map().on('move.intro', null);
+            context.on('enter.intro', null);
+
+            timeout = setTimeout(function() {
+                reveal('.preset-search-input', t('intro.areas.search', {name: context.presets().item('leisure/playground').name()}));
+                d3.select('.preset-search-input').on('keyup.intro', keySearch);
+            }, 500);
+        }
+
+        function keySearch() {
+            var first = d3.select('.preset-list-item:first-child');
+            if (first.classed('preset-leisure-playground')) {
+                reveal(first.select('.preset-list-button').node(), t('intro.areas.choose'));
+                d3.selection.prototype.one.call(context.history(), 'change.intro', selectedPreset);
+                d3.select('.preset-search-input').on('keyup.intro', null);
+            }
+        }
+
+        function selectedPreset() {
+            reveal('.pane', t('intro.areas.describe'));
+            context.on('exit.intro', event.done);
+        }
+    };
+
+    step.exit = function() {
+        window.clearTimeout(timeout);
+        context.on('enter.intro', null);
+        context.on('exit.intro', null);
+        context.history().on('change.intro', null);
+        context.map().on('move.intro', null);
+        d3.select('.preset-search-input').on('keyup.intro', null);
+    };
+
+    return d3.rebind(step, event, 'on');
+};
+iD.ui.intro.line = function(context, reveal) {
+
+    var event = d3.dispatch('done'),
+        timeouts = [];
+
+    var step = {
+        title: 'intro.lines.title'
+    };
+
+    function timeout(f, t) {
+        timeouts.push(window.setTimeout(f, t));
+    }
+
+    step.enter = function() {
+
+        var centroid = [-85.62830, 41.95699];
+        var midpoint = [-85.62975395449628, 41.95787501510204];
+        var start = [-85.6297754121684, 41.95805253325314];
+        var intersection = [-85.62974496187628, 41.95742515554585];
+
+        context.map().centerZoom(start, 18);
+        reveal('button.add-line', t('intro.lines.add'), {tooltipClass: 'intro-lines-add'});
+
+        context.on('enter.intro', addLine);
+
+        function addLine(mode) {
+            if (mode.id !== 'add-line') return;
+            context.on('enter.intro', drawLine);
+
+            var padding = 150 * Math.pow(2, context.map().zoom() - 18);
+            var pointBox = iD.ui.intro.pad(start, padding, context);
+            reveal(pointBox, t('intro.lines.start'));
+
+            context.map().on('move.intro', function() {
+                padding = 150 * Math.pow(2, context.map().zoom() - 18);
+                pointBox = iD.ui.intro.pad(start, padding, context);
+                reveal(pointBox, t('intro.lines.start'), {duration: 0});
+            });
+        }
+
+        function drawLine(mode) {
+            if (mode.id !== 'draw-line') return;
+            context.history().on('change.intro', addIntersection);
+            context.on('enter.intro', retry);
+
+            var padding = 300 * Math.pow(2, context.map().zoom() - 19);
+            var pointBox = iD.ui.intro.pad(midpoint, padding, context);
+            reveal(pointBox, t('intro.lines.intersect'));
+
+            context.map().on('move.intro', function() {
+                padding = 300 * Math.pow(2, context.map().zoom() - 19);
+                pointBox = iD.ui.intro.pad(midpoint, padding, context);
+                reveal(pointBox, t('intro.lines.intersect'), {duration: 0});
+            });
+        }
+
+        // ended line before creating intersection
+        function retry(mode) {
+            if (mode.id !== 'select') return;
+            var pointBox = iD.ui.intro.pad(intersection, 30, context);
+            reveal(pointBox, t('intro.lines.restart'));
+            timeout(function() {
+                context.replace(iD.actions.DeleteMultiple(mode.selectedIDs()));
+                step.exit();
+                step.enter();
+            }, 3000);
+        }
+
+        function addIntersection(changes) {
+            if ( _.any(changes.created(), function(d) {
+                return d.type === 'node' && context.graph().parentWays(d).length > 1;
+            })) {
+                context.history().on('change.intro', null);
+                context.on('enter.intro', enterSelect);
+
+                var padding = 900 * Math.pow(2, context.map().zoom() - 19);
+                var pointBox = iD.ui.intro.pad(centroid, padding, context);
+                reveal(pointBox, t('intro.lines.finish'));
+
+                context.map().on('move.intro', function() {
+                    padding = 900 * Math.pow(2, context.map().zoom() - 19);
+                    pointBox = iD.ui.intro.pad(centroid, padding, context);
+                    reveal(pointBox, t('intro.lines.finish'), {duration: 0});
+                });
+            }
+        }
+
+        function enterSelect(mode) {
+            if (mode.id !== 'select') return;
+            context.map().on('move.intro', null);
+            context.on('enter.intro', null);
+            d3.select('#curtain').style('pointer-events', 'all');
+
+            presetCategory();
+        }
+
+        function presetCategory() {
+            timeout(function() {
+                d3.select('#curtain').style('pointer-events', 'none');
+                var road = d3.select('.preset-category-road .preset-list-button');
+                reveal(road.node(), t('intro.lines.road'));
+                road.one('click.intro', roadCategory);
+            }, 500);
+        }
+
+        function roadCategory() {
+            timeout(function() {
+                var grid = d3.select('.subgrid');
+                reveal(grid.node(), t('intro.lines.residential'));
+                grid.selectAll(':not(.preset-highway-residential) .preset-list-button')
+                    .one('click.intro', retryPreset);
+                grid.selectAll('.preset-highway-residential .preset-list-button')
+                    .one('click.intro', roadDetails);
+            }, 500);
+        }
+
+        // selected wrong road type
+        function retryPreset() {
+            timeout(function() {
+                var preset = d3.select('.entity-editor-pane .preset-list-button');
+                reveal(preset.node(), t('intro.lines.wrong_preset'));
+                preset.one('click.intro', presetCategory);
+            }, 500);
+        }
+
+        function roadDetails() {
+            reveal('.pane', t('intro.lines.describe'));
+            context.on('exit.intro', event.done);
+        }
+
+    };
+
+    step.exit = function() {
+        d3.select('#curtain').style('pointer-events', 'none');
+        timeouts.forEach(window.clearTimeout);
+        context.on('enter.intro', null);
+        context.on('exit.intro', null);
+        context.map().on('move.intro', null);
+        context.history().on('change.intro', null);
+    };
+
+    return d3.rebind(step, event, 'on');
+};
+iD.ui.intro.navigation = function(context, reveal) {
+
+    var event = d3.dispatch('done'),
+        timeouts = [];
+
+    var step = {
+        title: 'intro.navigation.title'
+    };
+
+    function set(f, t) {
+        timeouts.push(window.setTimeout(f, t));
+    }
+
+    /*
+     * Steps:
+     * Drag map
+     * Select poi
+     * Show editor header
+     * Show editor pane
+     * Select road
+     * Show header
+     */
+
+    step.enter = function() {
+
+        var rect = context.surfaceRect(),
+            map = {
+                left: rect.left + 10,
+                top: rect.top + 70,
+                width: rect.width - 70,
+                height: rect.height - 170
+            };
+
+        context.map().centerZoom([-85.63591, 41.94285], 19);
+
+        reveal(map, t('intro.navigation.drag'));
+
+        context.map().on('move.intro', _.debounce(function() {
+            context.map().on('move.intro', null);
+            townhall();
+            context.on('enter.intro', inspectTownHall);
+        }, 400));
+
+        function townhall() {
+            var hall = [-85.63645945147184, 41.942986488012565];
+
+            var point = context.projection(hall);
+            if (point[0] < 0 || point[0] > rect.width ||
+                point[1] < 0 || point[1] > rect.height) {
+                context.map().center(hall);
+            }
+
+            var box = iD.ui.intro.pointBox(hall, context);
+            reveal(box, t('intro.navigation.select'));
+
+            context.map().on('move.intro', function() {
+                var box = iD.ui.intro.pointBox(hall, context);
+                reveal(box, t('intro.navigation.select'), {duration: 0});
+            });
+        }
+
+        function inspectTownHall(mode) {
+            if (mode.id !== 'select') return;
+            context.on('enter.intro', null);
+            context.map().on('move.intro', null);
+            set(function() {
+                reveal('.entity-editor-pane', t('intro.navigation.pane'));
+                context.on('exit.intro', event.done);
+            }, 700);
+        }
+
+    };
+
+    step.exit = function() {
+        context.map().on('move.intro', null);
+        context.on('enter.intro', null);
+        context.on('exit.intro', null);
+        timeouts.forEach(window.clearTimeout);
+    };
+
+    return d3.rebind(step, event, 'on');
+};
+iD.ui.intro.point = function(context, reveal) {
+
+    var event = d3.dispatch('done'),
+        timeouts = [];
+
+    var step = {
+        title: 'intro.points.title'
+    };
+
+    function setTimeout(f, t) {
+        timeouts.push(window.setTimeout(f, t));
+    }
+
+    step.enter = function() {
+
+        context.map().centerZoom([-85.63279, 41.94394], 19);
+        reveal('button.add-point', t('intro.points.add'), {tooltipClass: 'intro-points-add'});
+
+        var corner = [-85.632481,41.944094];
+
+        context.on('enter.intro', addPoint);
+
+        function addPoint(mode) {
+            if (mode.id !== 'add-point') return;
+            context.on('enter.intro', enterSelect);
+
+            var pointBox = iD.ui.intro.pad(corner, 150, context);
+            reveal(pointBox, t('intro.points.place'));
+
+            context.map().on('move.intro', function() {
+                pointBox = iD.ui.intro.pad(corner, 150, context);
+                reveal(pointBox, t('intro.points.place'), {duration: 0});
+            });
+
+        }
+
+        function enterSelect(mode) {
+            if (mode.id !== 'select') return;
+            context.map().on('move.intro', null);
+            context.on('enter.intro', null);
+
+            setTimeout(function() {
+                reveal('.preset-search-input', t('intro.points.search', {name: context.presets().item('amenity/cafe').name()}));
+                d3.select('.preset-search-input').on('keyup.intro', keySearch);
+            }, 500);
+        }
+
+        function keySearch() {
+            var first = d3.select('.preset-list-item:first-child');
+            if (first.classed('preset-amenity-cafe')) {
+                reveal(first.select('.preset-list-button').node(), t('intro.points.choose'));
+                d3.selection.prototype.one.call(context.history(), 'change.intro', selectedPreset);
+
+                d3.select('.preset-search-input').on('keydown.intro', function() {
+                    // Prevent search from updating and changing the grid
+                    d3.event.stopPropagation();
+                    d3.event.preventDefault();
+                }, true).on('keyup.intro', null);
+            }
+        }
+
+        function selectedPreset() {
+            setTimeout(function() {
+                reveal('.entity-editor-pane', t('intro.points.describe'), {tooltipClass: 'intro-points-describe'});
+                context.history().on('change.intro', closeEditor);
+                context.on('exit.intro', selectPoint);
+            }, 400);
+        }
+
+        function closeEditor() {
+            d3.select('.preset-search-input').on('keydown.intro', null);
+            context.history().on('change.intro', null);
+            reveal('.entity-editor-pane', t('intro.points.close'));
+        }
+
+        function selectPoint() {
+            context.on('exit.intro', null);
+            context.history().on('change.intro', null);
+            context.on('enter.intro', enterReselect);
+
+            var pointBox = iD.ui.intro.pad(corner, 150, context);
+            reveal(pointBox, t('intro.points.reselect'));
+
+            context.map().on('move.intro', function() {
+                pointBox = iD.ui.intro.pad(corner, 150, context);
+                reveal(pointBox, t('intro.points.reselect'), {duration: 0});
+            });
+        }
+
+        function enterReselect(mode) {
+            if (mode.id !== 'select') return;
+            context.map().on('move.intro', null);
+            context.on('enter.intro', null);
+
+            setTimeout(function() {
+                reveal('.entity-editor-pane', t('intro.points.fixname'));
+                context.on('exit.intro', deletePoint);
+            }, 500);
+        }
+
+        function deletePoint() {
+            context.on('exit.intro', null);
+            context.on('enter.intro', enterDelete);
+
+            var pointBox = iD.ui.intro.pad(corner, 150, context);
+            reveal(pointBox, t('intro.points.reselect_delete'));
+
+            context.map().on('move.intro', function() {
+                pointBox = iD.ui.intro.pad(corner, 150, context);
+                reveal(pointBox, t('intro.points.reselect_delete'), {duration: 0});
+            });
+        }
+
+        function enterDelete(mode) {
+            if (mode.id !== 'select') return;
+            context.map().on('move.intro', null);
+            context.on('enter.intro', null);
+            context.on('exit.intro', deletePoint);
+            context.map().on('move.intro', deletePoint);
+            context.history().on('change.intro', deleted);
+
+            setTimeout(function() {
+                var node = d3.select('.radial-menu-item-delete').node();
+                var pointBox = iD.ui.intro.pad(node.getBoundingClientRect(), 50, context);
+                reveal(pointBox, t('intro.points.delete'));
+            }, 300);
+        }
+
+        function deleted(changed) {
+            if (changed.deleted().length) event.done();
+        }
+
+    };
+
+    step.exit = function() {
+        timeouts.forEach(window.clearTimeout);
+        context.on('exit.intro', null);
+        context.on('enter.intro', null);
+        context.map().on('move.intro', null);
+        context.history().on('change.intro', null);
+        d3.select('.preset-search-input').on('keyup.intro', null).on('keydown.intro', null);
+    };
+
+    return d3.rebind(step, event, 'on');
+};
+iD.ui.intro.startEditing = function(context, reveal) {
+
+    var event = d3.dispatch('done', 'startEditing'),
+        modal,
+        timeouts = [];
+
+    var step = {
+        title: 'intro.startediting.title'
+    };
+
+    function timeout(f, t) {
+        timeouts.push(window.setTimeout(f, t));
+    }
+
+    step.enter = function() {
+
+        reveal('.map-control.help-control', t('intro.startediting.help'));
+
+        timeout(function() {
+            reveal('#bar button.save', t('intro.startediting.save'));
+        }, 3500);
+
+        timeout(function() {
+            reveal('#surface');
+        }, 7000);
+
+        timeout(function() {
+            modal = iD.ui.modal(context.container());
+
+            modal.select('.modal')
+                .attr('class', 'modal-splash modal col6');
+
+            modal.selectAll('.close').remove();
+
+            var startbutton = modal.select('.content')
+                .attr('class', 'fillL')
+                    .append('button')
+                        .attr('class', 'modal-section huge-modal-button')
+                        .on('click', function() {
+                                modal.remove();
+                        });
+
+                startbutton.append('div')
+                    .attr('class','illustration');
+                startbutton.append('h2')
+                    .text(t('intro.startediting.start'));
+
+            event.startEditing();
+
+        }, 7500);
+    };
+
+    step.exit = function() {
+        if (modal) modal.remove();
+        timeouts.forEach(window.clearTimeout);
+    };
+
+    return d3.rebind(step, event, 'on');
+};
+iD.presets = function() {
+
+    // an iD.presets.Collection with methods for
+    // loading new data and returning defaults
+
+    var all = iD.presets.Collection([]),
+        defaults = { area: all, line: all, point: all, vertex: all, relation: all },
+        fields = {},
+        universal = [],
+        recent = iD.presets.Collection([]);
+
+    // Index of presets by (geometry, tag key).
+    var index = {
+        point: {},
+        vertex: {},
+        line: {},
+        area: {},
+        relation: {}
+    };
+
+    all.match = function(entity, resolver) {
+        var geometry = entity.geometry(resolver),
+            geometryMatches = index[geometry],
+            best = -1,
+            match;
+
+        for (var k in entity.tags) {
+            var keyMatches = geometryMatches[k];
+            if (!keyMatches) continue;
+
+            for (var i = 0; i < keyMatches.length; i++) {
+                var score = keyMatches[i].matchScore(entity);
+                if (score > best) {
+                    best = score;
+                    match = keyMatches[i];
+                }
+            }
+        }
+
+        return match || all.item(geometry);
+    };
+
+    // Because of the open nature of tagging, iD will never have a complete
+    // list of tags used in OSM, so we want it to have logic like "assume
+    // that a closed way with an amenity tag is an area, unless the amenity
+    // is one of these specific types". This function computes a structure
+    // that allows testing of such conditions, based on the presets designated
+    // as as supporting (or not supporting) the area geometry.
+    //
+    // The returned object L is a whitelist/blacklist of tags. A closed way
+    // with a tag (k, v) is considered to be an area if `k in L && !(v in L[k])`
+    // (see `iD.Way#isArea()`). In other words, the keys of L form the whitelist,
+    // and the subkeys form the blacklist.
+    all.areaKeys = function() {
+        var areaKeys = {},
+            ignore = ['barrier', 'highway', 'footway', 'railway', 'type'],
+            presets = _.reject(all.collection, 'suggestion');
+
+        // whitelist
+        presets.forEach(function(d) {
+            for (var key in d.tags) break;
+            if (!key) return;
+            if (ignore.indexOf(key) !== -1) return;
+
+            if (d.geometry.indexOf('area') !== -1) {
+                areaKeys[key] = areaKeys[key] || {};
+            }
+        });
+
+        // blacklist
+        presets.forEach(function(d) {
+            for (var key in d.tags) break;
+            if (!key) return;
+            if (ignore.indexOf(key) !== -1) return;
+
+            var value = d.tags[key];
+            if (d.geometry.indexOf('area') === -1 && key in areaKeys && value !== '*') {
+                areaKeys[key][value] = true;
+            }
+        });
+
+        return areaKeys;
+    };
+
+    all.load = function(d) {
+
+        if (d.fields) {
+            _.forEach(d.fields, function(d, id) {
+                fields[id] = iD.presets.Field(id, d);
+                if (d.universal) universal.push(fields[id]);
+            });
+        }
+
+        if (d.presets) {
+            _.forEach(d.presets, function(d, id) {
+                all.collection.push(iD.presets.Preset(id, d, fields));
+            });
+        }
+
+        if (d.categories) {
+            _.forEach(d.categories, function(d, id) {
+                all.collection.push(iD.presets.Category(id, d, all));
+            });
+        }
+
+        if (d.defaults) {
+            var getItem = _.bind(all.item, all);
+            defaults = {
+                area: iD.presets.Collection(d.defaults.area.map(getItem)),
+                line: iD.presets.Collection(d.defaults.line.map(getItem)),
+                point: iD.presets.Collection(d.defaults.point.map(getItem)),
+                vertex: iD.presets.Collection(d.defaults.vertex.map(getItem)),
+                relation: iD.presets.Collection(d.defaults.relation.map(getItem))
+            };
+        }
+
+        for (var i = 0; i < all.collection.length; i++) {
+            var preset = all.collection[i],
+                geometry = preset.geometry;
+
+            for (var j = 0; j < geometry.length; j++) {
+                var g = index[geometry[j]];
+                for (var k in preset.tags) {
+                    (g[k] = g[k] || []).push(preset);
+                }
             }
+        }
+
+        return all;
+    };
+
+    all.field = function(id) {
+        return fields[id];
+    };
+
+    all.universal = function() {
+        return universal;
+    };
+
+    all.defaults = function(geometry, n) {
+        var rec = recent.matchGeometry(geometry).collection.slice(0, 4),
+            def = _.uniq(rec.concat(defaults[geometry].collection)).slice(0, n - 1);
+        return iD.presets.Collection(_.unique(rec.concat(def).concat(all.item(geometry))));
+    };
+
+    all.choose = function(preset) {
+        if (!preset.isFallback()) {
+            recent = iD.presets.Collection(_.unique([preset].concat(recent.collection)));
+        }
+        return all;
+    };
+
+    return all;
+};
+iD.presets.Category = function(id, category, all) {
+    category = _.clone(category);
+
+    category.id = id;
+
+    category.members = iD.presets.Collection(category.members.map(function(id) {
+        return all.item(id);
+    }));
+
+    category.matchGeometry = function(geometry) {
+        return category.geometry.indexOf(geometry) >= 0;
+    };
+
+    category.matchScore = function() { return -1; };
+
+    category.name = function() {
+        return t('presets.categories.' + id + '.name', {'default': id});
+    };
+
+    category.terms = function() {
+        return [];
+    };
+
+    return category;
+};
+iD.presets.Collection = function(collection) {
+
+    var maxSearchResults = 50,
+        maxSuggestionResults = 10;
+
+    var presets = {
+
+        collection: collection,
+
+        item: function(id) {
+            return _.find(collection, function(d) {
+                return d.id === id;
+            });
         },
-        "defaults": {
-            "area": [
-                "category-landuse",
-                "building",
-                "leisure/park",
-                "natural/water",
-                "amenity/hospital",
-                "amenity/place_of_worship",
-                "amenity/cafe",
-                "amenity/restaurant",
-                "other_area"
-            ],
-            "line": [
-                "category-road",
-                "category-rail",
-                "category-path",
-                "category-water",
-                "power/line",
-                "other"
-            ],
-            "point": [
-                "leisure/park",
-                "amenity/hospital",
-                "amenity/place_of_worship",
-                "amenity/cafe",
-                "amenity/restaurant",
-                "amenity/bar",
-                "amenity/bank",
-                "shop/supermarket",
-                "other"
-            ],
-            "vertex": [
-                "highway/crossing",
-                "railway/level_crossing",
-                "highway/traffic_signals",
-                "highway/turning_circle",
-                "highway/mini_roundabout",
-                "highway/motorway_junction",
-                "other"
-            ]
+
+        matchGeometry: function(geometry) {
+            return iD.presets.Collection(collection.filter(function(d) {
+                return d.matchGeometry(geometry);
+            }));
         },
-        "categories": {
-            "category-landuse": {
-                "geometry": "area",
-                "name": "Land Use",
-                "icon": "category-landuse",
-                "members": [
-                    "landuse/residential",
-                    "landuse/industrial",
-                    "landuse/commercial",
-                    "landuse/retail",
-                    "landuse/farm",
-                    "landuse/farmyard",
-                    "landuse/forest",
-                    "landuse/meadow",
-                    "landuse/cemetery"
-                ]
-            },
-            "category-path": {
-                "geometry": "line",
-                "name": "Path",
-                "icon": "category-path",
-                "members": [
-                    "highway/footway",
-                    "highway/cycleway",
-                    "highway/bridleway",
-                    "highway/path",
-                    "highway/steps"
-                ]
-            },
-            "category-rail": {
-                "geometry": "line",
-                "name": "Rail",
-                "icon": "category-rail",
-                "members": [
-                    "railway/rail",
-                    "railway/subway",
-                    "railway/tram",
-                    "railway/monorail",
-                    "railway/disused",
-                    "railway/abandoned"
-                ]
-            },
-            "category-road": {
-                "geometry": "line",
-                "name": "Road",
-                "icon": "category-roads",
-                "members": [
-                    "highway/residential",
-                    "highway/motorway",
-                    "highway/trunk",
-                    "highway/primary",
-                    "highway/secondary",
-                    "highway/tertiary",
-                    "highway/service",
-                    "highway/motorway_link",
-                    "highway/trunk_link",
-                    "highway/primary_link",
-                    "highway/secondary_link",
-                    "highway/tertiary_link",
-                    "highway/unclassified",
-                    "highway/track",
-                    "highway/road"
-                ]
-            },
-            "category-water": {
-                "geometry": "line",
-                "name": "Water",
-                "icon": "category-water",
-                "members": [
-                    "waterway/river",
-                    "waterway/stream",
-                    "waterway/canal",
-                    "waterway/ditch"
-                ]
+
+        search: function(value, geometry) {
+            if (!value) return this;
+
+            value = value.toLowerCase();
+
+            var searchable = _.filter(collection, function(a) {
+                    return a.searchable !== false && a.suggestion !== true;
+                }),
+                suggestions = _.filter(collection, function(a) {
+                    return a.suggestion === true;
+                });
+
+            function leading(a) {
+                var index = a.indexOf(value);
+                return index === 0 || a[index - 1] === ' ';
             }
-        },
-        "fields": {
-            "access": {
-                "keys": [
-                    "access",
-                    "foot",
-                    "motor_vehicle",
-                    "bicycle",
-                    "horse"
-                ],
-                "type": "access",
-                "label": "Access",
-                "strings": {
-                    "types": {
-                        "access": "General",
-                        "foot": "Foot",
-                        "motor_vehicle": "Motor Vehicles",
-                        "bicycle": "Bicycles",
-                        "horse": "Horses"
-                    },
-                    "options": {
-                        "yes": {
-                            "title": "Allowed",
-                            "description": "Access permitted by law; a right of way"
-                        },
-                        "no": {
-                            "title": "Prohibited",
-                            "description": "Access not permitted to the general public"
-                        },
-                        "permissive": {
-                            "title": "Permissive",
-                            "description": "Access permitted until such time as the owner revokes the permission"
-                        },
-                        "private": {
-                            "title": "Private",
-                            "description": "Access permitted only with permission of the owner on an individual basis"
-                        },
-                        "designated": {
-                            "title": "Designated",
-                            "description": "Access permitted according to signs or specific local laws"
-                        },
-                        "destination": {
-                            "title": "Destination",
-                            "description": "Access permitted only to reach a destination"
-                        }
-                    }
-                }
-            },
-            "address": {
-                "type": "address",
-                "keys": [
-                    "addr:housename",
-                    "addr:housenumber",
-                    "addr:street",
-                    "addr:city"
-                ],
-                "icon": "address",
-                "universal": true,
-                "label": "Address",
-                "strings": {
-                    "placeholders": {
-                        "housename": "Housename",
-                        "number": "123",
-                        "street": "Street",
-                        "city": "City"
-                    }
-                }
-            },
-            "admin_level": {
-                "key": "admin_level",
-                "type": "number",
-                "label": "Admin Level"
-            },
-            "aeroway": {
-                "key": "aeroway",
-                "type": "combo",
-                "label": "Type"
-            },
-            "amenity": {
-                "key": "amenity",
-                "type": "combo",
-                "label": "Type"
-            },
-            "atm": {
-                "key": "atm",
-                "type": "check",
-                "label": "ATM"
-            },
-            "barrier": {
-                "key": "barrier",
-                "type": "combo",
-                "label": "Type"
-            },
-            "bicycle_parking": {
-                "key": "bicycle_parking",
-                "type": "combo",
-                "label": "Type"
-            },
-            "building": {
-                "key": "building",
-                "type": "combo",
-                "label": "Building"
-            },
-            "building_area": {
-                "key": "building",
-                "type": "check",
-                "default": "yes",
-                "geometry": "area",
-                "label": "Building"
-            },
-            "building_yes": {
-                "key": "building",
-                "type": "combo",
-                "default": "yes",
-                "label": "Building"
-            },
-            "capacity": {
-                "key": "capacity",
-                "type": "text",
-                "label": "Capacity"
-            },
-            "cardinal_direction": {
-                "key": "direction",
-                "type": "combo",
-                "options": [
-                    "N",
-                    "E",
-                    "S",
-                    "W",
-                    "NE",
-                    "SE",
-                    "SW",
-                    "NNE",
-                    "ENE",
-                    "ESE",
-                    "SSE",
-                    "SSW",
-                    "WSW",
-                    "WNW",
-                    "NNW"
-                ],
-                "label": "Direction"
-            },
-            "clock_direction": {
-                "key": "direction",
-                "type": "combo",
-                "options": [
-                    "clockwise",
-                    "anticlockwise"
-                ],
-                "label": "Direction",
-                "strings": {
-                    "options": {
-                        "clockwise": "Clockwise",
-                        "anticlockwise": "Counterclockwise"
-                    }
-                }
-            },
-            "collection_times": {
-                "key": "collection_times",
-                "type": "text",
-                "label": "Collection Times"
-            },
-            "construction": {
-                "key": "construction",
-                "type": "combo",
-                "label": "Type"
-            },
-            "country": {
-                "key": "country",
-                "type": "combo",
-                "label": "Country"
-            },
-            "crossing": {
-                "key": "crossing",
-                "type": "combo",
-                "label": "Type"
-            },
-            "cuisine": {
-                "key": "cuisine",
-                "type": "combo",
-                "indexed": true,
-                "label": "Cuisine"
-            },
-            "denomination": {
-                "key": "denomination",
-                "type": "combo",
-                "label": "Denomination"
-            },
-            "denotation": {
-                "key": "denotation",
-                "type": "combo",
-                "label": "Denotation"
-            },
-            "elevation": {
-                "key": "ele",
-                "type": "number",
-                "icon": "elevation",
-                "universal": true,
-                "label": "Elevation"
-            },
-            "emergency": {
-                "key": "emergency",
-                "type": "check",
-                "label": "Emergency"
-            },
-            "entrance": {
-                "key": "entrance",
-                "type": "combo",
-                "label": "Type"
-            },
-            "fax": {
-                "key": "fax",
-                "type": "tel",
-                "label": "Fax"
-            },
-            "fee": {
-                "key": "fee",
-                "type": "check",
-                "label": "Fee"
-            },
-            "highway": {
-                "key": "highway",
-                "type": "combo",
-                "label": "Type"
-            },
-            "historic": {
-                "key": "historic",
-                "type": "combo",
-                "label": "Type"
-            },
-            "internet_access": {
-                "key": "internet_access",
-                "type": "combo",
-                "options": [
-                    "yes",
-                    "no",
-                    "wlan",
-                    "wired",
-                    "terminal"
-                ],
-                "label": "Internet Access",
-                "strings": {
-                    "options": {
-                        "yes": "Yes",
-                        "no": "No",
-                        "wlan": "Wifi",
-                        "wired": "Wired",
-                        "terminal": "Terminal"
-                    }
+
+            // matches value to preset.name
+            var leading_name = _.filter(searchable, function(a) {
+                    return leading(a.name().toLowerCase());
+                }).sort(function(a, b) {
+                    var i = a.name().toLowerCase().indexOf(value) - b.name().toLowerCase().indexOf(value);
+                    if (i === 0) return a.name().length - b.name().length;
+                    else return i;
+                });
+
+            // matches value to preset.terms values
+            var leading_terms = _.filter(searchable, function(a) {
+                    return _.any(a.terms() || [], leading);
+                });
+
+            // matches value to preset.tags values
+            var leading_tag_values = _.filter(searchable, function(a) {
+                    return _.any(_.without(_.values(a.tags || {}), '*'), leading);
+                });
+
+
+            // finds close matches to value in preset.name
+            var levenstein_name = searchable.map(function(a) {
+                    return {
+                        preset: a,
+                        dist: iD.util.editDistance(value, a.name().toLowerCase())
+                    };
+                }).filter(function(a) {
+                    return a.dist + Math.min(value.length - a.preset.name().length, 0) < 3;
+                }).sort(function(a, b) {
+                    return a.dist - b.dist;
+                }).map(function(a) {
+                    return a.preset;
+                });
+
+            // finds close matches to value in preset.terms
+            var leventstein_terms = _.filter(searchable, function(a) {
+                    return _.any(a.terms() || [], function(b) {
+                        return iD.util.editDistance(value, b) + Math.min(value.length - b.length, 0) < 3;
+                    });
+                });
+
+            function suggestionName(name) {
+                var nameArray = name.split(' - ');
+                if (nameArray.length > 1) {
+                    name = nameArray.slice(0, nameArray.length-1).join(' - ');
                 }
-            },
-            "landuse": {
-                "key": "landuse",
-                "type": "combo",
-                "label": "Type"
-            },
-            "lanes": {
-                "key": "lanes",
-                "type": "number",
-                "label": "Lanes"
-            },
-            "layer": {
-                "key": "layer",
-                "type": "combo",
-                "label": "Layer"
-            },
-            "leisure": {
-                "key": "leisure",
-                "type": "combo",
-                "label": "Type"
-            },
-            "levels": {
-                "key": "building:levels",
-                "type": "number",
-                "label": "Levels"
-            },
-            "man_made": {
-                "key": "man_made",
-                "type": "combo",
-                "label": "Type"
-            },
-            "maxspeed": {
-                "key": "maxspeed",
-                "type": "maxspeed",
-                "label": "Speed Limit"
-            },
-            "name": {
-                "key": "name",
-                "type": "localized",
-                "label": "Name"
-            },
-            "natural": {
-                "key": "natural",
-                "type": "combo",
-                "label": "Natural"
-            },
-            "network": {
-                "key": "network",
-                "type": "text",
-                "label": "Network"
-            },
-            "note": {
-                "key": "note",
-                "type": "textarea",
-                "universal": true,
-                "icon": "note",
-                "label": "Note"
-            },
-            "office": {
-                "key": "office",
-                "type": "combo",
-                "label": "Type"
-            },
-            "oneway": {
-                "key": "oneway",
-                "type": "check",
-                "label": "One Way"
-            },
-            "oneway_yes": {
-                "key": "oneway",
-                "type": "check",
-                "default": "yes",
-                "label": "One Way"
-            },
-            "opening_hours": {
-                "key": "opening_hours",
-                "type": "text",
-                "label": "Hours"
-            },
-            "operator": {
-                "key": "operator",
-                "type": "text",
-                "label": "Operator"
-            },
-            "park_ride": {
-                "key": "park_ride",
-                "type": "check",
-                "label": "Park and Ride"
-            },
-            "parking": {
-                "key": "parking",
-                "type": "combo",
-                "options": [
-                    "surface",
-                    "multi-storey",
-                    "underground",
-                    "sheds",
-                    "carports",
-                    "garage_boxes",
-                    "lane"
-                ],
-                "label": "Type"
-            },
-            "phone": {
-                "key": "phone",
-                "type": "tel",
-                "icon": "telephone",
-                "universal": true,
-                "label": "Phone"
-            },
-            "place": {
-                "key": "place",
-                "type": "combo",
-                "label": "Type"
-            },
-            "power": {
-                "key": "power",
-                "type": "combo",
-                "label": "Type"
-            },
-            "railway": {
-                "key": "railway",
-                "type": "combo",
-                "label": "Type"
-            },
-            "ref": {
-                "key": "ref",
-                "type": "text",
-                "label": "Reference"
-            },
-            "religion": {
-                "key": "religion",
-                "type": "combo",
-                "options": [
-                    "christian",
-                    "muslim",
-                    "buddhist",
-                    "jewish",
-                    "hindu",
-                    "shinto",
-                    "taoist"
-                ],
-                "label": "Religion",
-                "strings": {
-                    "options": {
-                        "christian": "Christian",
-                        "muslim": "Muslim",
-                        "buddhist": "Buddhist",
-                        "jewish": "Jewish",
-                        "hindu": "Hindu",
-                        "shinto": "Shinto",
-                        "taoist": "Taoist"
+                return name.toLowerCase();
+            }
+
+            var leading_suggestions = _.filter(suggestions, function(a) {
+                    return leading(suggestionName(a.name()));
+                }).sort(function(a, b) {
+                    a = suggestionName(a.name());
+                    b = suggestionName(b.name());
+                    var i = a.indexOf(value) - b.indexOf(value);
+                    if (i === 0) return a.length - b.length;
+                    else return i;
+                });
+
+            var leven_suggestions = suggestions.map(function(a) {
+                    return {
+                        preset: a,
+                        dist: iD.util.editDistance(value, suggestionName(a.name()))
+                    };
+                }).filter(function(a) {
+                    return a.dist + Math.min(value.length - suggestionName(a.preset.name()).length, 0) < 1;
+                }).sort(function(a, b) {
+                    return a.dist - b.dist;
+                }).map(function(a) {
+                    return a.preset;
+                });
+
+            var other = presets.item(geometry);
+
+            var results = leading_name.concat(
+                            leading_terms,
+                            leading_tag_values,
+                            leading_suggestions.slice(0, maxSuggestionResults+5),
+                            levenstein_name,
+                            leventstein_terms,
+                            leven_suggestions.slice(0, maxSuggestionResults)
+                        ).slice(0, maxSearchResults-1);
+
+            return iD.presets.Collection(_.unique(
+                    results.concat(other)
+                ));
+        }
+    };
+
+    return presets;
+};
+iD.presets.Field = function(id, field) {
+    field = _.clone(field);
+
+    field.id = id;
+
+    field.matchGeometry = function(geometry) {
+        return !field.geometry || field.geometry === geometry;
+    };
+
+    field.t = function(scope, options) {
+        return t('presets.fields.' + id + '.' + scope, options);
+    };
+
+    field.label = function() {
+        return field.t('label', {'default': id});
+    };
+
+    var placeholder = field.placeholder;
+    field.placeholder = function() {
+        return field.t('placeholder', {'default': placeholder});
+    };
+
+    return field;
+};
+iD.presets.Preset = function(id, preset, fields) {
+    preset = _.clone(preset);
+
+    preset.id = id;
+    preset.fields = (preset.fields || []).map(getFields);
+    preset.geometry = (preset.geometry || []);
+
+    function getFields(f) {
+        return fields[f];
+    }
+
+    preset.matchGeometry = function(geometry) {
+        return preset.geometry.indexOf(geometry) >= 0;
+    };
+
+    var matchScore = preset.matchScore || 1;
+    preset.matchScore = function(entity) {
+        var tags = preset.tags,
+            score = 0;
+
+        for (var t in tags) {
+            if (entity.tags[t] === tags[t]) {
+                score += matchScore;
+            } else if (tags[t] === '*' && t in entity.tags) {
+                score += matchScore / 2;
+            } else {
+                return -1;
+            }
+        }
+
+        return score;
+    };
+
+    preset.t = function(scope, options) {
+        return t('presets.presets.' + id + '.' + scope, options);
+    };
+
+    var name = preset.name;
+    preset.name = function() {
+        if (preset.suggestion) {
+            id = id.split('/');
+            id = id[0] + '/' + id[1];
+            return name + ' - ' + t('presets.presets.' + id + '.name');
+        }
+        return preset.t('name', {'default': name});
+    };
+
+    preset.terms = function() {
+        return preset.t('terms', {'default': ''}).toLowerCase().trim().split(/\s*,+\s*/);
+    };
+
+    preset.isFallback = function() {
+        return Object.keys(preset.tags).length === 0;
+    };
+
+    preset.reference = function(geometry) {
+        var key = Object.keys(preset.tags)[0],
+            value = preset.tags[key];
+
+        if (geometry === 'relation' && key === 'type') {
+            return { rtype: value };
+        } else if (value === '*') {
+            return { key: key };
+        } else {
+            return { key: key, value: value };
+        }
+    };
+
+    var removeTags = preset.removeTags || preset.tags;
+    preset.removeTags = function(tags, geometry) {
+        tags = _.omit(tags, _.keys(removeTags));
+
+        for (var f in preset.fields) {
+            var field = preset.fields[f];
+            if (field.matchGeometry(geometry) && field.default === tags[field.key]) {
+                delete tags[field.key];
+            }
+        }
+
+        delete tags.area;
+        return tags;
+    };
+
+    var applyTags = preset.addTags || preset.tags;
+    preset.applyTags = function(tags, geometry) {
+        var k;
+
+        tags = _.clone(tags);
+
+        for (k in applyTags) {
+            if (applyTags[k] === '*') {
+                tags[k] = 'yes';
+            } else {
+                tags[k] = applyTags[k];
+            }
+        }
+
+        // Add area=yes if necessary.
+        // This is necessary if the geometry is already an area (e.g. user drew an area) AND any of:
+        // 1. chosen preset could be either an area or a line (`barrier=city_wall`)
+        // 2. chosen preset doesn't have a key in areaKeys (`railway=station`)
+        if (geometry === 'area') {
+            var needsAreaTag = true;
+            if (preset.geometry.indexOf('line') === -1) {
+                for (k in applyTags) {
+                    if (k in iD.areaKeys) {
+                        needsAreaTag = false;
+                        break;
                     }
                 }
+            }
+            if (needsAreaTag) {
+                tags.area = 'yes';
+            }
+        }
+
+        for (var f in preset.fields) {
+            var field = preset.fields[f];
+            if (field.matchGeometry(geometry) && field.key && !tags[field.key] && field.default) {
+                tags[field.key] = field.default;
+            }
+        }
+
+        return tags;
+    };
+
+    return preset;
+};
+iD.validations = {};
+iD.validations.DeprecatedTag = function() {
+
+    var validation = function(changes) {
+        var warnings = [];
+        for (var i = 0; i < changes.created.length; i++) {
+            var change = changes.created[i],
+                deprecatedTags = change.deprecatedTags();
+
+            if (!_.isEmpty(deprecatedTags)) {
+                var tags = iD.util.tagText({ tags: deprecatedTags });
+                warnings.push({
+                    id: 'deprecated_tags',
+                    message: t('validations.deprecated_tags', { tags: tags }),
+                    entity: change
+                });
+            }
+        }
+        return warnings;
+    };
+
+    return validation;
+};
+iD.validations.ManyDeletions = function() {
+    var threshold = 100;
+
+    var validation = function(changes) {
+        var warnings = [];
+        if (changes.deleted.length > threshold) {
+            warnings.push({
+                id: 'many_deletions',
+                message: t('validations.many_deletions', { n: changes.deleted.length })
+            });
+        }
+        return warnings;
+    };
+
+    return validation;
+};
+iD.validations.MissingTag = function() {
+
+    var validation = function(changes, graph) {
+        var warnings = [];
+        for (var i = 0; i < changes.created.length; i++) {
+            var change = changes.created[i],
+                geometry = change.geometry(graph);
+
+            if ((geometry === 'point' || geometry === 'line' || geometry === 'area') && !change.isUsed(graph)) {
+                warnings.push({
+                    id: 'missing_tag',
+                    message: t('validations.untagged_' + geometry),
+                    tooltip: t('validations.untagged_' + geometry + '_tooltip'),
+                    entity: change
+                });
+            }
+        }
+        return warnings;
+    };
+
+    return validation;
+};
+iD.validations.TagSuggestsArea = function() {
+
+    // https://github.com/openstreetmap/josm/blob/mirror/src/org/
+    // openstreetmap/josm/data/validation/tests/UnclosedWays.java#L80
+    function tagSuggestsArea(tags) {
+        if (_.isEmpty(tags)) return false;
+
+        var presence = ['landuse', 'amenities', 'tourism', 'shop'];
+        for (var i = 0; i < presence.length; i++) {
+            if (tags[presence[i]] !== undefined) {
+                return presence[i] + '=' + tags[presence[i]];
+            }
+        }
+
+        if (tags.building && tags.building === 'yes') return 'building=yes';
+    }
+
+    var validation = function(changes, graph) {
+        var warnings = [];
+        for (var i = 0; i < changes.created.length; i++) {
+            var change = changes.created[i],
+                geometry = change.geometry(graph),
+                suggestion = (geometry === 'line' ? tagSuggestsArea(change.tags) : undefined);
+
+            if (suggestion) {
+                warnings.push({
+                    id: 'tag_suggests_area',
+                    message: t('validations.tag_suggests_area', { tag: suggestion }),
+                    entity: change
+                });
+            }
+        }
+        return warnings;
+    };
+
+    return validation;
+};
+})();
+window.locale = { _current: 'en' };
+
+locale.current = function(_) {
+    if (!arguments.length) return locale._current;
+    if (locale[_] !== undefined) locale._current = _;
+    else if (locale[_.split('-')[0]]) locale._current = _.split('-')[0];
+    return locale;
+};
+
+function t(s, o, loc) {
+    loc = loc || locale._current;
+
+    var path = s.split(".").reverse(),
+        rep = locale[loc];
+
+    while (rep !== undefined && path.length) rep = rep[path.pop()];
+
+    if (rep !== undefined) {
+        if (o) for (var k in o) rep = rep.replace('{' + k + '}', o[k]);
+        return rep;
+    }
+
+    if (loc !== 'en') {
+        return t(s, o, 'en');
+    }
+
+    if (o && 'default' in o) {
+        return o['default'];
+    }
+
+    var missing = 'Missing ' + loc + ' translation: ' + s;
+    if (typeof console !== "undefined") console.error(missing);
+
+    return missing;
+}
+iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185964961":{"id":"n185964961","loc":[-85.6406588,41.942601],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964962":{"id":"n185964962","loc":[-85.6394548,41.94261],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185970607":{"id":"n185970607","loc":[-85.641094,41.94006],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970614":{"id":"n185970614","loc":[-85.641825,41.941316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970616":{"id":"n185970616","loc":[-85.641838,41.941556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185973650":{"id":"n185973650","loc":[-85.639918,41.940064],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973660":{"id":"n185973660","loc":[-85.640645,41.941339],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973659":{"id":"n185973659","loc":[-85.6406115,41.9400658],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185974479":{"id":"n185974479","loc":[-85.639402,41.941344],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185974481":{"id":"n185974481","loc":[-85.643071,41.941288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185976259":{"id":"n185976259","loc":[-85.642213,41.940043],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976261":{"id":"n185976261","loc":[-85.643056,41.94001],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185964959":{"id":"n185964959","loc":[-85.6431031,41.9425754],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964960":{"id":"n185964960","loc":[-85.6418749,41.9425864],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185981481":{"id":"n185981481","loc":[-85.6386827,41.9400828],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981482":{"id":"n185981482","loc":[-85.6393664,41.9400854],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n2138493844":{"id":"n2138493844","loc":[-85.6427969,41.940522],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493845":{"id":"n2138493845","loc":[-85.6425891,41.9405228],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493846":{"id":"n2138493846","loc":[-85.6425868,41.9402875],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493847":{"id":"n2138493847","loc":[-85.6427969,41.9402858],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493848":{"id":"n2138493848","loc":[-85.6425708,41.9405234],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493849":{"id":"n2138493849","loc":[-85.642568,41.9402855],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493850":{"id":"n2138493850","loc":[-85.6423157,41.9402886],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493851":{"id":"n2138493851","loc":[-85.6423212,41.9404362],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493852":{"id":"n2138493852","loc":[-85.6422923,41.9404578],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493853":{"id":"n2138493853","loc":[-85.6422868,41.9404834],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493854":{"id":"n2138493854","loc":[-85.6423226,41.9405091],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493855":{"id":"n2138493855","loc":[-85.6423847,41.9405111],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2138493856":{"id":"n2138493856","loc":[-85.6424081,41.9405265],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{}},"n2140155811":{"id":"n2140155811","loc":[-85.6419547,41.9410956],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155814":{"id":"n2140155814","loc":[-85.6427577,41.9410884],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155816":{"id":"n2140155816","loc":[-85.6427545,41.9410052],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155818":{"id":"n2140155818","loc":[-85.6428057,41.9410028],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155821":{"id":"n2140155821","loc":[-85.6427993,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155823":{"id":"n2140155823","loc":[-85.6427385,41.9407339],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155825":{"id":"n2140155825","loc":[-85.6427417,41.9406435],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155827":{"id":"n2140155827","loc":[-85.6419515,41.9406482],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155828":{"id":"n2140155828","loc":[-85.6429368,41.9412407],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155829":{"id":"n2140155829","loc":[-85.6417756,41.9412526],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155830":{"id":"n2140155830","loc":[-85.641766,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155831":{"id":"n2140155831","loc":[-85.6419803,41.9405983],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155832":{"id":"n2140155832","loc":[-85.6419611,41.9401366],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155833":{"id":"n2140155833","loc":[-85.6429336,41.94012],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155834":{"id":"n2140155834","loc":[-85.6430697,41.9411732],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155835":{"id":"n2140155835","loc":[-85.6428411,41.9409974],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155837":{"id":"n2140155837","loc":[-85.6428388,41.9407211],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155839":{"id":"n2140155839","loc":[-85.6430624,41.9405521],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155840":{"id":"n2140155840","loc":[-85.6427323,41.9412396],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155842":{"id":"n2140155842","loc":[-85.6418147,41.9412457],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155844":{"id":"n2140155844","loc":[-85.641813,41.9411319],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155845":{"id":"n2140155845","loc":[-85.6418394,41.9411111],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155847":{"id":"n2140155847","loc":[-85.6418838,41.9410977],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155849":{"id":"n2140155849","loc":[-85.6427324,41.9410921],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155851":{"id":"n2140155851","loc":[-85.6427798,41.9412945],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155852":{"id":"n2140155852","loc":[-85.6427701,41.9411777],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155854":{"id":"n2140155854","loc":[-85.6427323,41.9411572],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2140155856":{"id":"n2140155856","loc":[-85.6418478,41.9411666],"version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{}},"n2165942818":{"id":"n2165942818","loc":[-85.6437533,41.9415029],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942819":{"id":"n2165942819","loc":[-85.6437623,41.9421195],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2168510551":{"id":"n2168510551","loc":[-85.6423795,41.9422615],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510552":{"id":"n2168510552","loc":[-85.6423744,41.9419439],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510553":{"id":"n2168510553","loc":[-85.642518,41.9419427],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510554":{"id":"n2168510554","loc":[-85.6425186,41.9419801],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510555":{"id":"n2168510555","loc":[-85.6428314,41.9419773],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510556":{"id":"n2168510556","loc":[-85.6428368,41.9423116],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510557":{"id":"n2168510557","loc":[-85.6424947,41.9423146],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2168510558":{"id":"n2168510558","loc":[-85.6424938,41.9422605],"version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:23Z","tags":{}},"n2189046007":{"id":"n2189046007","loc":[-85.6410866,41.9424327],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046009":{"id":"n2189046009","loc":[-85.6410805,41.9420061],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046011":{"id":"n2189046011","loc":[-85.6412443,41.9420048],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046012":{"id":"n2189046012","loc":[-85.6412505,41.9424314],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046014":{"id":"n2189046014","loc":[-85.6413311,41.942968],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046016":{"id":"n2189046016","loc":[-85.6413281,41.942713],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046018":{"id":"n2189046018","loc":[-85.641521,41.9427117],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046021":{"id":"n2189046021","loc":[-85.6415234,41.9429236],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046022":{"id":"n2189046022","loc":[-85.6415045,41.9429238],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046025":{"id":"n2189046025","loc":[-85.641505,41.9429668],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046053":{"id":"n2189046053","loc":[-85.6385988,41.942412],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046054":{"id":"n2189046054","loc":[-85.6385985,41.9423311],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046055":{"id":"n2189046055","loc":[-85.6387617,41.9423308],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046056":{"id":"n2189046056","loc":[-85.6387616,41.9423026],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046058":{"id":"n2189046058","loc":[-85.6388215,41.9423025],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046059":{"id":"n2189046059","loc":[-85.6388219,41.9424115],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046060":{"id":"n2189046060","loc":[-85.6391096,41.9424486],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046061":{"id":"n2189046061","loc":[-85.6391105,41.9423673],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046063":{"id":"n2189046063","loc":[-85.6392911,41.9423684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046065":{"id":"n2189046065","loc":[-85.6392903,41.9424497],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046067":{"id":"n2189046067","loc":[-85.6397927,41.9423876],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046069":{"id":"n2189046069","loc":[-85.6397897,41.9422981],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046070":{"id":"n2189046070","loc":[-85.6399702,41.9422947],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046072":{"id":"n2189046072","loc":[-85.6399732,41.9423843],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046074":{"id":"n2189046074","loc":[-85.6396331,41.9430227],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046075":{"id":"n2189046075","loc":[-85.6398673,41.9430189],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046077":{"id":"n2189046077","loc":[-85.6398656,41.9429637],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046079":{"id":"n2189046079","loc":[-85.6398885,41.9429633],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046082":{"id":"n2189046082","loc":[-85.6398832,41.942779],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046083":{"id":"n2189046083","loc":[-85.6398513,41.9427796],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046085":{"id":"n2189046085","loc":[-85.6398502,41.9427401],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046087":{"id":"n2189046087","loc":[-85.6397889,41.9427411],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046089":{"id":"n2189046089","loc":[-85.6397892,41.942753],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046090":{"id":"n2189046090","loc":[-85.6396983,41.9427544],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046092":{"id":"n2189046092","loc":[-85.6396993,41.9427882],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046094":{"id":"n2189046094","loc":[-85.6396746,41.9427886],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046096":{"id":"n2189046096","loc":[-85.6396758,41.9428296],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046097":{"id":"n2189046097","loc":[-85.6397007,41.9428292],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046099":{"id":"n2189046099","loc":[-85.6397018,41.9428686],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:43Z","tags":{}},"n2189046103":{"id":"n2189046103","loc":[-85.6396289,41.9428697],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046112":{"id":"n2189046112","loc":[-85.6435683,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046113":{"id":"n2189046113","loc":[-85.643568,41.9427766],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046115":{"id":"n2189046115","loc":[-85.6434011,41.9427767],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046116":{"id":"n2189046116","loc":[-85.6434012,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046117":{"id":"n2189046117","loc":[-85.643448,41.9428631],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046118":{"id":"n2189046118","loc":[-85.6434481,41.9429457],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046119":{"id":"n2189046119","loc":[-85.6428363,41.9429809],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046120":{"id":"n2189046120","loc":[-85.6429171,41.9429791],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046121":{"id":"n2189046121","loc":[-85.642914,41.9429041],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046122":{"id":"n2189046122","loc":[-85.6429385,41.9429035],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046123":{"id":"n2189046123","loc":[-85.6429348,41.9428126],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046124":{"id":"n2189046124","loc":[-85.6427746,41.9428163],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046125":{"id":"n2189046125","loc":[-85.6427783,41.942906],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046126":{"id":"n2189046126","loc":[-85.6428332,41.9429047],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046127":{"id":"n2189046127","loc":[-85.6423018,41.9428859],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046128":{"id":"n2189046128","loc":[-85.6422987,41.9427208],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046130":{"id":"n2189046130","loc":[-85.6424218,41.9427195],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046131":{"id":"n2189046131","loc":[-85.6424246,41.9428684],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046132":{"id":"n2189046132","loc":[-85.6423845,41.9428689],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046133":{"id":"n2189046133","loc":[-85.6423848,41.942885],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046134":{"id":"n2189046134","loc":[-85.641533,41.9429392],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046135":{"id":"n2189046135","loc":[-85.6416096,41.9428768],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046137":{"id":"n2189046137","loc":[-85.6416763,41.9429221],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046138":{"id":"n2189046138","loc":[-85.6415997,41.9429845],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046139":{"id":"n2189046139","loc":[-85.6420598,41.9428016],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046140":{"id":"n2189046140","loc":[-85.6420593,41.9427415],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046141":{"id":"n2189046141","loc":[-85.6421957,41.9427409],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046142":{"id":"n2189046142","loc":[-85.6421963,41.9428182],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046143":{"id":"n2189046143","loc":[-85.6421281,41.9428185],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046144":{"id":"n2189046144","loc":[-85.6421279,41.9428013],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046145":{"id":"n2189046145","loc":[-85.6409429,41.9429345],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046146":{"id":"n2189046146","loc":[-85.6410354,41.9429334],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046147":{"id":"n2189046147","loc":[-85.6410325,41.9427972],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046148":{"id":"n2189046148","loc":[-85.640997,41.9427976],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046149":{"id":"n2189046149","loc":[-85.6409963,41.9427643],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046150":{"id":"n2189046150","loc":[-85.6408605,41.9427659],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046152":{"id":"n2189046152","loc":[-85.6408623,41.9428482],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189046153":{"id":"n2189046153","loc":[-85.640941,41.9428473],"version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:44Z","tags":{}},"n2189152992":{"id":"n2189152992","loc":[-85.6437661,41.9422257],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152993":{"id":"n2189152993","loc":[-85.643768,41.9424067],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152994":{"id":"n2189152994","loc":[-85.6432176,41.9417705],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152995":{"id":"n2189152995","loc":[-85.6432097,41.941327],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152996":{"id":"n2189152996","loc":[-85.6436493,41.9413226],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152997":{"id":"n2189152997","loc":[-85.6436563,41.9417164],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152998":{"id":"n2189152998","loc":[-85.6435796,41.9417171],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189152999":{"id":"n2189152999","loc":[-85.6435805,41.9417669],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153000":{"id":"n2189153000","loc":[-85.6438202,41.9414953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153001":{"id":"n2189153001","loc":[-85.6438173,41.9413175],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153004":{"id":"n2189153004","loc":[-85.6432535,41.9418466],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153005":{"id":"n2189153005","loc":[-85.6433935,41.9418599],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153006":{"id":"n2189153006","loc":[-85.6434831,41.9418986],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153007":{"id":"n2189153007","loc":[-85.6435678,41.9419774],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153008":{"id":"n2189153008","loc":[-85.6435987,41.9420282],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153009":{"id":"n2189153009","loc":[-85.643438,41.9419573],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153010":{"id":"n2189153010","loc":[-85.6435284,41.9424676],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153011":{"id":"n2189153011","loc":[-85.6436207,41.9423631],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153012":{"id":"n2189153012","loc":[-85.6434957,41.9422973],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153013":{"id":"n2189153013","loc":[-85.6434457,41.9422458],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153014":{"id":"n2189153014","loc":[-85.6433976,41.9421772],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153015":{"id":"n2189153015","loc":[-85.6433861,41.9420785],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153016":{"id":"n2189153016","loc":[-85.6433765,41.9420313],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153017":{"id":"n2189153017","loc":[-85.6432207,41.9420284],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153018":{"id":"n2189153018","loc":[-85.6432245,41.9422759],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153019":{"id":"n2189153019","loc":[-85.6432649,41.9423474],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153020":{"id":"n2189153020","loc":[-85.6433226,41.9424132],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153021":{"id":"n2189153021","loc":[-85.6434111,41.9424704],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153022":{"id":"n2189153022","loc":[-85.6434591,41.9424347],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153025":{"id":"n2189153025","loc":[-85.6437669,41.9423073],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153026":{"id":"n2189153026","loc":[-85.6436611,41.942293],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153027":{"id":"n2189153027","loc":[-85.6435784,41.9422473],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153028":{"id":"n2189153028","loc":[-85.6435245,41.9421443],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153029":{"id":"n2189153029","loc":[-85.6435149,41.9420613],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153030":{"id":"n2189153030","loc":[-85.6433528,41.9419269],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153031":{"id":"n2189153031","loc":[-85.6432535,41.9419191],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153032":{"id":"n2189153032","loc":[-85.6430868,41.9419198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153033":{"id":"n2189153033","loc":[-85.6434894,41.9420033],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153034":{"id":"n2189153034","loc":[-85.6432974,41.9419225],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153035":{"id":"n2189153035","loc":[-85.6433055,41.9421632],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153036":{"id":"n2189153036","loc":[-85.6433538,41.9422849],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153037":{"id":"n2189153037","loc":[-85.6434718,41.9423887],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153038":{"id":"n2189153038","loc":[-85.6436134,41.9422667],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153040":{"id":"n2189153040","loc":[-85.6438759,41.9414017],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153041":{"id":"n2189153041","loc":[-85.6438181,41.9413687],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153042":{"id":"n2189153042","loc":[-85.6436821,41.9413044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153043":{"id":"n2189153043","loc":[-85.6435899,41.9412862],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153044":{"id":"n2189153044","loc":[-85.6433169,41.9417268],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153045":{"id":"n2189153045","loc":[-85.643301,41.9412859],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153046":{"id":"n2189153046","loc":[-85.6435531,41.9416981],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n2189153047":{"id":"n2189153047","loc":[-85.6435427,41.9412863],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"n185948706":{"id":"n185948706","loc":[-85.6369439,41.940122],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185949348":{"id":"n185949348","loc":[-85.640039,41.931135],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:09Z","tags":{}},"n185949870":{"id":"n185949870","loc":[-85.643195,41.949261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185954680":{"id":"n185954680","loc":[-85.6337802,41.9401143],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954784":{"id":"n185954784","loc":[-85.6487485,41.942527],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185958670":{"id":"n185958670","loc":[-85.637255,41.940104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958672":{"id":"n185958672","loc":[-85.636996,41.941355],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:31Z","tags":{}},"n185960207":{"id":"n185960207","loc":[-85.634992,41.940118],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:09Z","tags":{}},"n185963163":{"id":"n185963163","loc":[-85.638831,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963165":{"id":"n185963165","loc":[-85.640073,41.933968],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963167":{"id":"n185963167","loc":[-85.641225,41.933972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185963168":{"id":"n185963168","loc":[-85.642386,41.933952],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:45Z","tags":{}},"n185964695":{"id":"n185964695","loc":[-85.6443608,41.9425645],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n185964697":{"id":"n185964697","loc":[-85.644384,41.939941],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:31Z","tags":{}},"n185964963":{"id":"n185964963","loc":[-85.6382347,41.9426146],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964965":{"id":"n185964965","loc":[-85.637022,41.942622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:40Z","tags":{}},"n185964967":{"id":"n185964967","loc":[-85.6363706,41.9426606],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964968":{"id":"n185964968","loc":[-85.6357988,41.9427748],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964969":{"id":"n185964969","loc":[-85.6355409,41.9428465],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185964970":{"id":"n185964970","loc":[-85.6348729,41.9430443],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185966958":{"id":"n185966958","loc":[-85.641946,41.946413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185966960":{"id":"n185966960","loc":[-85.643148,41.946389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185967774":{"id":"n185967774","loc":[-85.641889,41.943852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967775":{"id":"n185967775","loc":[-85.641922,41.945121],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967776":{"id":"n185967776","loc":[-85.641927,41.947544],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185967777":{"id":"n185967777","loc":[-85.641982,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:12Z","tags":{}},"n185969289":{"id":"n185969289","loc":[-85.63928,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:52Z","tags":{}},"n185969704":{"id":"n185969704","loc":[-85.6388186,41.9350099],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969706":{"id":"n185969706","loc":[-85.6400709,41.9349957],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969708":{"id":"n185969708","loc":[-85.6412214,41.9349827],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185969710":{"id":"n185969710","loc":[-85.6423509,41.934974],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185970602":{"id":"n185970602","loc":[-85.641293,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970604":{"id":"n185970604","loc":[-85.641258,41.932705],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970605":{"id":"n185970605","loc":[-85.641148,41.936984],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970606":{"id":"n185970606","loc":[-85.641112,41.938169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:43Z","tags":{}},"n185970906":{"id":"n185970906","loc":[-85.639454,41.943871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:50Z","tags":{}},"n185970908":{"id":"n185970908","loc":[-85.6394635,41.9450504],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185970909":{"id":"n185970909","loc":[-85.6394914,41.9451911],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185971368":{"id":"n185971368","loc":[-85.635769,41.940122],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971978":{"id":"n185971978","loc":[-85.640003,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185971980":{"id":"n185971980","loc":[-85.642299,41.936988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:14Z","tags":{}},"n185973633":{"id":"n185973633","loc":[-85.639023,41.92861],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973635":{"id":"n185973635","loc":[-85.639153,41.928969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973637":{"id":"n185973637","loc":[-85.639213,41.929088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973639":{"id":"n185973639","loc":[-85.63935,41.929396],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973641":{"id":"n185973641","loc":[-85.640143,41.931462],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973644":{"id":"n185973644","loc":[-85.64019,41.931788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185973646":{"id":"n185973646","loc":[-85.6401365,41.9327199],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185973648":{"id":"n185973648","loc":[-85.639983,41.938174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:59Z","tags":{}},"n185974477":{"id":"n185974477","loc":[-85.638206,41.941331],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:18Z","tags":{}},"n185975928":{"id":"n185975928","loc":[-85.640683,41.94513],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975930":{"id":"n185975930","loc":[-85.643102,41.945103],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185976255":{"id":"n185976255","loc":[-85.642424,41.931817],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976257":{"id":"n185976257","loc":[-85.64242,41.932699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:24Z","tags":{}},"n185976258":{"id":"n185976258","loc":[-85.6422621,41.9381489],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185977452":{"id":"n185977452","loc":[-85.6457497,41.9398834],"version":"3","changeset":"5841745","user":"themps","uid":"196173","visible":"true","timestamp":"2010-09-22T00:20:34Z","tags":{}},"n185978772":{"id":"n185978772","loc":[-85.646656,41.939869],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185981472":{"id":"n185981472","loc":[-85.6388962,41.9321266],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981474":{"id":"n185981474","loc":[-85.6388769,41.9327334],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185981476":{"id":"n185981476","loc":[-85.638829,41.934116],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981478":{"id":"n185981478","loc":[-85.63876,41.937002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981480":{"id":"n185981480","loc":[-85.638682,41.93819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:11Z","tags":{}},"n185981999":{"id":"n185981999","loc":[-85.638194,41.9400866],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n185982001":{"id":"n185982001","loc":[-85.646302,41.93988],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:26Z","tags":{}},"n185982877":{"id":"n185982877","loc":[-85.640676,41.943867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185982879":{"id":"n185982879","loc":[-85.640734,41.945887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:54Z","tags":{}},"n185985823":{"id":"n185985823","loc":[-85.643106,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985824":{"id":"n185985824","loc":[-85.643145,41.947641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185985825":{"id":"n185985825","loc":[-85.643219,41.950829],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n1475301385":{"id":"n1475301385","loc":[-85.6360612,41.9427042],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n1475301397":{"id":"n1475301397","loc":[-85.6366651,41.9426328],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:12Z","tags":{}},"n2139795811":{"id":"n2139795811","loc":[-85.6469154,41.9425427],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795830":{"id":"n2139795830","loc":[-85.6443194,41.9399444],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795834":{"id":"n2139795834","loc":[-85.6453506,41.9399002],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139795837":{"id":"n2139795837","loc":[-85.645806,41.9398831],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858932":{"id":"n2139858932","loc":[-85.6351721,41.9429557],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2140019000":{"id":"n2140019000","loc":[-85.6359935,41.9427224],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2165942817":{"id":"n2165942817","loc":[-85.6442017,41.9414993],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2165942820":{"id":"n2165942820","loc":[-85.6442107,41.9421159],"version":"1","changeset":"15116533","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-21T20:33:02Z","tags":{}},"n2189152990":{"id":"n2189152990","loc":[-85.6442328,41.942404],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:05Z","tags":{}},"n2189152991":{"id":"n2189152991","loc":[-85.6442309,41.9422229],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153002":{"id":"n2189153002","loc":[-85.6441329,41.9413147],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153003":{"id":"n2189153003","loc":[-85.6441357,41.9414925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153023":{"id":"n2189153023","loc":[-85.6443453,41.9423074],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153024":{"id":"n2189153024","loc":[-85.6442318,41.9423045],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:06Z","tags":{}},"n2189153039":{"id":"n2189153039","loc":[-85.6441343,41.9414025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:07Z","tags":{}},"w208643102":{"id":"w208643102","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153034","n2189153035","n2189153036","n2189153037","n2189153038"]},"w17966942":{"id":"w17966942","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:04Z","tags":{"highway":"residential","name":"Millard St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Millard","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312476:15312477:15312478:15326070:15326071:15329003:15329004:15312479:15312480:15312483:15326956:15326957:15312485:15312486:15322600:15325988","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954680","n185960207","n185971368","n185948706","n185958670","n185981999","n185981481","n185981482","n185973650","n185973659","n185970607","n185976259","n185976261","n2139795830","n185964697","n2139795834","n185977452","n2139795837","n185982001","n185978772"]},"w208643105":{"id":"w208643105","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153046","n2189153047"]},"w208631637":{"id":"w208631637","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046014","n2189046016","n2189046018","n2189046021","n2189046022","n2189046025","n2189046014"]},"w208643096":{"id":"w208643096","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes","fee":"no"},"nodes":["n2189152990","n2189153024","n2189152991","n2189152992","n2189153025","n2189152993","n2189152990"]},"w208631656":{"id":"w208631656","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046134","n2189046135","n2189046137","n2189046138","n2189046134"]},"w204003417":{"id":"w204003417","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"area":"yes","building":"school"},"nodes":["n2140155811","n2140155814","n2140155816","n2140155818","n2140155821","n2140155823","n2140155825","n2140155827","n2140155811"]},"w208631654":{"id":"w208631654","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046127","n2189046128","n2189046130","n2189046131","n2189046132","n2189046133","n2189046127"]},"w17966327":{"id":"w17966327","version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976261","n2140155839","n2140155834","n185974481","n2189153032","n185964959"]},"w41785752":{"id":"w41785752","version":"10","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no","access":"yes"},"nodes":["n185954784","n2139795811","n185964695","n185964959","n185964960","n185964961","n185964962","n185964963","n185964965","n1475301397","n185964967","n1475301385","n2140019000","n185964968","n185964969","n2139858932","n185964970"]},"w203841842":{"id":"w203841842","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493848","n2138493849","n2138493850","n2138493851","n2138493852","n2138493853","n2138493854","n2138493855","n2138493856","n2138493848"]},"w208643103":{"id":"w208643103","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153039","n2189153040","n2189153041","n2189153042","n2189153043","n2189153047","n2189153045","n185974481"]},"w208643098":{"id":"w208643098","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153000","n2189153041","n2189153001","n2189153002","n2189153039","n2189153003","n2189153000"]},"w208631646":{"id":"w208631646","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046067","n2189046069","n2189046070","n2189046072","n2189046067"]},"w208631653":{"id":"w208631653","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046119","n2189046120","n2189046121","n2189046122","n2189046123","n2189046124","n2189046125","n2189046126","n2189046119"]},"w17966041":{"id":"w17966041","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:50Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312474:15312448","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973659","n185973660","n185964961"]},"w208631645":{"id":"w208631645","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046060","n2189046061","n2189046063","n2189046065","n2189046060"]},"w206803397":{"id":"w206803397","version":"1","changeset":"15132039","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:10:25Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168510551","n2168510552","n2168510553","n2168510554","n2168510555","n2168510556","n2168510557","n2168510558","n2168510551"]},"w17965792":{"id":"w17965792","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:10Z","tags":{"highway":"residential","name":"N Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313197:15312414:15312395","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964962","n185970906","n185970908","n185970909"]},"w208631651":{"id":"w208631651","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046112","n2189046113","n2189046115","n2189046116","n2189046117","n2189046118","n2189046112"]},"w208631643":{"id":"w208631643","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046053","n2189046054","n2189046055","n2189046056","n2189046058","n2189046059","n2189046053"]},"w17966878":{"id":"w17966878","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312508:15312529:15312553:15312597:15328883:15338803","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981472","n185981474","n185963163","n185981476","n185969704","n185981478","n185981480","n185981481"]},"w17966102":{"id":"w17966102","version":"2","changeset":"14896694","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:01:36Z","tags":{"highway":"residential","name":"South St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958672","n185974477","n185974479","n185973660","n185970614"]},"w208631660":{"id":"w208631660","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046145","n2189046146","n2189046147","n2189046148","n2189046149","n2189046150","n2189046152","n2189046153","n2189046145"]},"w208643101":{"id":"w208643101","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service"},"nodes":["n2189153023","n2189153024","n2189153025","n2189153026","n2189153038","n2189153027","n2189153028","n2189153029","n2189153033","n2189153009","n2189153030","n2189153034","n2189153031","n2189153032"]},"w204000205":{"id":"w204000205","version":"2","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:19Z","tags":{"highway":"residential","name":"South St","oneway":"yes","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"South","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312446","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185974481","n2140155851","n185970614"]},"w203841841":{"id":"w203841841","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"pitch","pitch":"basketball"},"nodes":["n2138493844","n2138493845","n2138493846","n2138493847","n2138493844"]},"w17965444":{"id":"w17965444","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:03Z","tags":{"highway":"residential","name":"N Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312348:15312365:15312422:15312392","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964960","n185967774","n185967775","n185966958","n185967776","n185967777"]},"w208631648":{"id":"w208631648","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046074","n2189046075","n2189046077","n2189046079","n2189046082","n2189046083","n2189046085","n2189046087","n2189046089","n2189046090","n2189046092","n2189046094","n2189046096","n2189046097","n2189046099","n2189046103","n2189046074"]},"w208643100":{"id":"w208643100","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153010","n2189153011","n2189153012","n2189153013","n2189153014","n2189153015","n2189153016","n2189153017","n2189153018","n2189153019","n2189153020","n2189153021","n2189153022","n2189153010"]},"w17965749":{"id":"w17965749","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:28Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312445","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970614","n185970616","n185964960"]},"w206574482":{"id":"w206574482","version":"2","changeset":"15128027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-22T20:03:31Z","tags":{"addr:state":"MI","amenity":"library","area":"yes","building":"yes","ele":"249","gnis:county_name":"St. Joseph","gnis:feature_id":"2418162","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Public Library","source":"USGS Geonames"},"nodes":["n2165942817","n2165942818","n2165942819","n2165942820","n2165942817"]},"w208643097":{"id":"w208643097","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189152994","n2189152995","n2189152996","n2189152997","n2189152998","n2189152999","n2189152994"]},"w17966879":{"id":"w17966879","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:48:03Z","tags":{"highway":"residential","name":"S Hooker Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hooker","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312475:15312449","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981482","n185974479","n185964962"]},"w17966325":{"id":"w17966325","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:43:58Z","tags":{"highway":"residential","name":"S Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15330300:15312522:15312547:15330299:15312603:15312571:15331740","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185976255","n185976257","n185963168","n185969710","n185971980","n185976258","n185954700","n185976259"]},"w17967390":{"id":"w17967390","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:27Z","tags":{"highway":"residential","name":"N Douglas Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Douglas","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312300","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964959","n185985823","n185975930","n185966960","n185985824","n185949870","n185985825"]},"w208631635":{"id":"w208631635","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046007","n2189046009","n2189046011","n2189046012","n2189046007"]},"w208643099":{"id":"w208643099","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153031","n2189153004","n2189153005","n2189153006","n2189153007","n2189153008","n2189153029","n2189153033","n2189153009","n2189153030","n2189153031"]},"w208631658":{"id":"w208631658","version":"1","changeset":"15276417","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:05:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189046139","n2189046140","n2189046141","n2189046142","n2189046143","n2189046144","n2189046139"]},"w208643104":{"id":"w208643104","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153044","n2189153045"]},"w17966039":{"id":"w17966039","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:49Z","tags":{"highway":"residential","name":"S Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312526:15312511:15312550:15312601:15312998:15312626:15312574:15328327:15328328:15313210","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185973633","n185973635","n185973637","n185969289","n185973639","n185949348","n185973641","n185973644","n185973646","n185963165","n185969706","n185971978","n185973648","n185973650"]},"w204003420":{"id":"w204003420","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140155840","n2140155842","n2140155844","n2140155845","n2140155847","n2140155849","n2140155854","n2140155840"]},"w204003419":{"id":"w204003419","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service"},"nodes":["n2140155834","n2140155835","n2140155837","n2140155839"]},"w204003418":{"id":"w204003418","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"amenity":"school","area":"yes","name":"Andrews Elementary School"},"nodes":["n2140155828","n2140155829","n2140155830","n2140155831","n2140155832","n2140155833","n2140155828"]},"w17965747":{"id":"w17965747","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:27Z","tags":{"highway":"residential","name":"S Grant Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Grant","tiger:name_direction_prefix":"S","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312509:15312524:15312549:15312605:15329008:15312572","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970602","n185970604","n185963167","n185969708","n185970605","n185970606","n185970607"]},"w17967073":{"id":"w17967073","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:07Z","tags":{"highway":"residential","name":"N Lincoln Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lincoln","tiger:name_direction_prefix":"N","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313196:15312424:15312394","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964961","n185982877","n185975928","n185982879"]},"w204003421":{"id":"w204003421","version":"1","changeset":"14897169","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T14:35:18Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2140155851","n2140155852","n2140155854","n2140155856"]},"r1943857":{"id":"r1943857","version":"2","changeset":"13612265","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-24T04:10:54Z","tags":{"is_in:state":"MI","modifier":"Business","name":"US 131 Business (Three Rivers, MI)","network":"US:US","ref":"131","route":"road","type":"route"},"members":[{"id":"w17966509","type":"way","role":"forward"},{"id":"w143497377","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w41785752","type":"way","role":""},{"id":"w17965146","type":"way","role":"forward"},{"id":"w17964031","type":"way","role":"forward"}]},"r270277":{"id":"r270277","version":"21","changeset":"15347356","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T03:41:02Z","tags":{"network":"US:MI","ref":"60","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-60_%28Michigan_highway%29"},"members":[{"id":"w17751087","type":"way","role":"east"},{"id":"w117148312","type":"way","role":"east"},{"id":"w40942155","type":"way","role":"west"},{"id":"w17751017","type":"way","role":""},{"id":"w17751083","type":"way","role":""},{"id":"w17747780","type":"way","role":""},{"id":"w41068082","type":"way","role":""},{"id":"w197025212","type":"way","role":""},{"id":"w17743874","type":"way","role":""},{"id":"w17751044","type":"way","role":""},{"id":"w17752167","type":"way","role":""},{"id":"w17751089","type":"way","role":""},{"id":"w17743879","type":"way","role":""},{"id":"w17751064","type":"way","role":""},{"id":"w197057073","type":"way","role":""},{"id":"w167699963","type":"way","role":""},{"id":"w167699972","type":"way","role":""},{"id":"w17967584","type":"way","role":""},{"id":"w167699964","type":"way","role":""},{"id":"w17967582","type":"way","role":"west"},{"id":"w41260270","type":"way","role":"west"},{"id":"w17965146","type":"way","role":"west"},{"id":"w41785752","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150836","type":"way","role":""},{"id":"w134150802","type":"way","role":""},{"id":"w41074896","type":"way","role":""},{"id":"w17966773","type":"way","role":""},{"id":"w17967415","type":"way","role":""},{"id":"w41074899","type":"way","role":""},{"id":"w17967581","type":"way","role":""},{"id":"w41074902","type":"way","role":""},{"id":"w41074906","type":"way","role":""},{"id":"w209707997","type":"way","role":""},{"id":"w209707998","type":"way","role":""},{"id":"w17964798","type":"way","role":""},{"id":"w17966034","type":"way","role":""},{"id":"w17967593","type":"way","role":""},{"id":"w41074888","type":"way","role":""},{"id":"w17733772","type":"way","role":""},{"id":"w41074813","type":"way","role":""},{"id":"w17742213","type":"way","role":""},{"id":"w17746863","type":"way","role":""},{"id":"w17745772","type":"way","role":""},{"id":"w17742222","type":"way","role":""},{"id":"w17745922","type":"way","role":""},{"id":"w17742198","type":"way","role":""},{"id":"w17747675","type":"way","role":""},{"id":"w17739927","type":"way","role":""},{"id":"w17745708","type":"way","role":""},{"id":"w41006323","type":"way","role":""},{"id":"w17744233","type":"way","role":""},{"id":"w17739436","type":"way","role":""},{"id":"w17742201","type":"way","role":""},{"id":"w151418616","type":"way","role":""},{"id":"w17750062","type":"way","role":""},{"id":"w17742227","type":"way","role":"east"},{"id":"w41006348","type":"way","role":"east"},{"id":"w41260984","type":"way","role":""},{"id":"w17832427","type":"way","role":""},{"id":"w17838408","type":"way","role":""},{"id":"w17835846","type":"way","role":""},{"id":"w17832923","type":"way","role":""},{"id":"w17839388","type":"way","role":""},{"id":"w17838390","type":"way","role":""},{"id":"w17831272","type":"way","role":""},{"id":"w17828581","type":"way","role":""},{"id":"w38240686","type":"way","role":""},{"id":"w17838405","type":"way","role":"east"},{"id":"w123323711","type":"way","role":"east"},{"id":"w17830167","type":"way","role":"east"},{"id":"w99011909","type":"way","role":"east"},{"id":"w41911361","type":"way","role":"east"},{"id":"w41911355","type":"way","role":"east"},{"id":"w41911356","type":"way","role":"east"},{"id":"w117148326","type":"way","role":"west"},{"id":"w41911352","type":"way","role":"west"},{"id":"w41911353","type":"way","role":"west"},{"id":"w41911354","type":"way","role":"west"},{"id":"w41911360","type":"way","role":"west"},{"id":"w38240676","type":"way","role":"west"},{"id":"w123323710","type":"way","role":"west"},{"id":"w41260271","type":"way","role":"east"},{"id":"w41260273","type":"way","role":"east"},{"id":"w17964031","type":"way","role":"east"},{"id":"w41006344","type":"way","role":"west"},{"id":"w41006351","type":"way","role":"west"}]},"n367813436":{"id":"n367813436","loc":[-85.63605205663384,41.94305506683346],"version":"2","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"addr:state":"MI","amenity":"fire_station","ele":"245","gnis:county_name":"St. Joseph","gnis:feature_id":"2417894","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"Three Rivers Fire Department","source":"USGS Geonames"}},"n185948708":{"id":"n185948708","loc":[-85.6369828,41.9408789],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185948710":{"id":"n185948710","loc":[-85.6370184,41.9411346],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T20:04:13Z","tags":{}},"n185954691":{"id":"n185954691","loc":[-85.634476,41.941475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954692":{"id":"n185954692","loc":[-85.635008,41.941846],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:32Z","tags":{}},"n185954693":{"id":"n185954693","loc":[-85.635362,41.941962],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185954695":{"id":"n185954695","loc":[-85.63578,41.941978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:33Z","tags":{}},"n185972903":{"id":"n185972903","loc":[-85.63295,41.9430062],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964971":{"id":"n185964971","loc":[-85.6346811,41.9431023],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n1819805854":{"id":"n1819805854","loc":[-85.6331275,41.9404837],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805918":{"id":"n1819805918","loc":[-85.6331168,41.942798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805762":{"id":"n1819805762","loc":[-85.6333034,41.9424123],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805907":{"id":"n1819805907","loc":[-85.6334819,41.9419121],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819805915":{"id":"n1819805915","loc":[-85.6334554,41.9413588],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n1819848888":{"id":"n1819848888","loc":[-85.6331625,41.942679],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848930":{"id":"n1819848930","loc":[-85.6338684,41.9431252],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819858505":{"id":"n1819858505","loc":[-85.6346782,41.9429092],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858507":{"id":"n1819858507","loc":[-85.6339003,41.9414534],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858508":{"id":"n1819858508","loc":[-85.6345709,41.9427742],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858509":{"id":"n1819858509","loc":[-85.63419,41.9417322],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858511":{"id":"n1819858511","loc":[-85.6340666,41.9415652],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858512":{"id":"n1819858512","loc":[-85.6343295,41.9423027],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858514":{"id":"n1819858514","loc":[-85.6343241,41.942207],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858521":{"id":"n1819858521","loc":[-85.633391,41.941231],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858528":{"id":"n1819858528","loc":[-85.6343027,41.9419716],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185954683":{"id":"n185954683","loc":[-85.6335412,41.940147],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954685":{"id":"n185954685","loc":[-85.6334296,41.9403023],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954687":{"id":"n185954687","loc":[-85.6333988,41.9404704],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954689":{"id":"n185954689","loc":[-85.6335511,41.9410225],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185954690":{"id":"n185954690","loc":[-85.6336721,41.9411669],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n1820938802":{"id":"n1820938802","loc":[-85.6330671,41.941845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1821006702":{"id":"n1821006702","loc":[-85.6344047,41.9395496],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n2130304133":{"id":"n2130304133","loc":[-85.6349025,41.9427659],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304136":{"id":"n2130304136","loc":[-85.6346027,41.9422017],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304138":{"id":"n2130304138","loc":[-85.6348577,41.9421517],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304140":{"id":"n2130304140","loc":[-85.6348419,41.9422694],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304142":{"id":"n2130304142","loc":[-85.6349071,41.9423135],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304144":{"id":"n2130304144","loc":[-85.6350495,41.9423312],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304146":{"id":"n2130304146","loc":[-85.6351009,41.9422812],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304147":{"id":"n2130304147","loc":[-85.6351227,41.9421532],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304148":{"id":"n2130304148","loc":[-85.635526,41.9421547],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304149":{"id":"n2130304149","loc":[-85.6355339,41.9425768],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304150":{"id":"n2130304150","loc":[-85.6351582,41.9426562],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304151":{"id":"n2130304151","loc":[-85.6351207,41.9427032],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2138493807":{"id":"n2138493807","loc":[-85.6350923,41.9415216],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493808":{"id":"n2138493808","loc":[-85.6353603,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493809":{"id":"n2138493809","loc":[-85.6354421,41.9410942],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493810":{"id":"n2138493810","loc":[-85.6355079,41.9411044],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493811":{"id":"n2138493811","loc":[-85.6355693,41.9411246],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493812":{"id":"n2138493812","loc":[-85.6355829,41.9411061],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493813":{"id":"n2138493813","loc":[-85.6355624,41.9409777],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493814":{"id":"n2138493814","loc":[-85.6355011,41.9409152],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493815":{"id":"n2138493815","loc":[-85.635383,41.9409219],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493816":{"id":"n2138493816","loc":[-85.635299,41.9409658],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493817":{"id":"n2138493817","loc":[-85.6351695,41.941204],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493818":{"id":"n2138493818","loc":[-85.6348879,41.9415166],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493819":{"id":"n2138493819","loc":[-85.634897,41.9415757],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493820":{"id":"n2138493820","loc":[-85.6349606,41.9416399],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493821":{"id":"n2138493821","loc":[-85.6350219,41.9416669],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493822":{"id":"n2138493822","loc":[-85.6351241,41.9416314],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493823":{"id":"n2138493823","loc":[-85.6350855,41.9415622],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493824":{"id":"n2138493824","loc":[-85.6350401,41.9413603],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493825":{"id":"n2138493825","loc":[-85.6352206,41.9410765],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493826":{"id":"n2138493826","loc":[-85.6343865,41.9415594],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493827":{"id":"n2138493827","loc":[-85.6343506,41.9415873],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493828":{"id":"n2138493828","loc":[-85.6344158,41.9417557],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493829":{"id":"n2138493829","loc":[-85.6344614,41.9417968],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493830":{"id":"n2138493830","loc":[-85.6345005,41.9418186],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493831":{"id":"n2138493831","loc":[-85.6345965,41.9418162],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493832":{"id":"n2138493832","loc":[-85.6347317,41.9417242],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493833":{"id":"n2138493833","loc":[-85.6346722,41.941775],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2139858909":{"id":"n2139858909","loc":[-85.633403,41.9391006],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858910":{"id":"n2139858910","loc":[-85.6332973,41.9393967],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858911":{"id":"n2139858911","loc":[-85.633205,41.9396742],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858912":{"id":"n2139858912","loc":[-85.6332203,41.9397772],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858913":{"id":"n2139858913","loc":[-85.6333453,41.939936],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858914":{"id":"n2139858914","loc":[-85.6333761,41.9400018],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858915":{"id":"n2139858915","loc":[-85.63328,41.9402249],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858916":{"id":"n2139858916","loc":[-85.6332357,41.9403523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858917":{"id":"n2139858917","loc":[-85.6332838,41.9405831],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858918":{"id":"n2139858918","loc":[-85.6333643,41.9408744],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858919":{"id":"n2139858919","loc":[-85.6334394,41.9410519],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858920":{"id":"n2139858920","loc":[-85.6335815,41.9411717],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858921":{"id":"n2139858921","loc":[-85.6337478,41.9412734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858922":{"id":"n2139858922","loc":[-85.6343174,41.9415268],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858923":{"id":"n2139858923","loc":[-85.6343886,41.9417397],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858924":{"id":"n2139858924","loc":[-85.6344407,41.9418015],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858925":{"id":"n2139858925","loc":[-85.6345139,41.9418366],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858926":{"id":"n2139858926","loc":[-85.6344846,41.942005],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858927":{"id":"n2139858927","loc":[-85.6345775,41.9422218],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858928":{"id":"n2139858928","loc":[-85.6348771,41.9427814],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858929":{"id":"n2139858929","loc":[-85.6349487,41.9427995],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858930":{"id":"n2139858930","loc":[-85.6350415,41.9427874],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858931":{"id":"n2139858931","loc":[-85.6351246,41.9428589],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858978":{"id":"n2139858978","loc":[-85.6349658,41.9431481],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858979":{"id":"n2139858979","loc":[-85.6350081,41.9431287],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858980":{"id":"n2139858980","loc":[-85.6349967,41.9430997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858981":{"id":"n2139858981","loc":[-85.6352158,41.9430352],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858982":{"id":"n2139858982","loc":[-85.6348174,41.94267],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858983":{"id":"n2139858983","loc":[-85.6346142,41.9425989],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858984":{"id":"n2139858984","loc":[-85.6344938,41.9423809],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858985":{"id":"n2139858985","loc":[-85.6344856,41.9422997],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139870380":{"id":"n2139870380","loc":[-85.6346707,41.9417955],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870381":{"id":"n2139870381","loc":[-85.6345949,41.9418311],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870382":{"id":"n2139870382","loc":[-85.6343322,41.9418659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870383":{"id":"n2139870383","loc":[-85.6342072,41.941885],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870384":{"id":"n2139870384","loc":[-85.6341325,41.9418919],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870385":{"id":"n2139870385","loc":[-85.6341314,41.9422028],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870386":{"id":"n2139870386","loc":[-85.6340472,41.9423271],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870387":{"id":"n2139870387","loc":[-85.6342185,41.9427933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870388":{"id":"n2139870388","loc":[-85.6340605,41.9423924],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870389":{"id":"n2139870389","loc":[-85.6339889,41.9424069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870390":{"id":"n2139870390","loc":[-85.633971,41.942356],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870391":{"id":"n2139870391","loc":[-85.63361,41.9424235],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870392":{"id":"n2139870392","loc":[-85.6337137,41.9426819],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870393":{"id":"n2139870393","loc":[-85.6336977,41.9428632],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870394":{"id":"n2139870394","loc":[-85.6338823,41.9428647],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870395":{"id":"n2139870395","loc":[-85.6339412,41.9430069],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870396":{"id":"n2139870396","loc":[-85.6338873,41.9430353],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870397":{"id":"n2139870397","loc":[-85.6337676,41.942815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870398":{"id":"n2139870398","loc":[-85.6336822,41.9423505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870399":{"id":"n2139870399","loc":[-85.634037,41.9422725],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870400":{"id":"n2139870400","loc":[-85.6340294,41.9422518],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870401":{"id":"n2139870401","loc":[-85.6336726,41.9423312],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870402":{"id":"n2139870402","loc":[-85.6342188,41.9425715],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870403":{"id":"n2139870403","loc":[-85.6342524,41.942565],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870404":{"id":"n2139870404","loc":[-85.6341438,41.942299],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870405":{"id":"n2139870405","loc":[-85.6341149,41.9423061],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870407":{"id":"n2139870407","loc":[-85.6340846,41.9431458],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870408":{"id":"n2139870408","loc":[-85.6339436,41.9429032],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870409":{"id":"n2139870409","loc":[-85.6343143,41.9428207],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870410":{"id":"n2139870410","loc":[-85.6343507,41.94277],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870411":{"id":"n2139870411","loc":[-85.6341527,41.942254],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870412":{"id":"n2139870412","loc":[-85.6340925,41.9422199],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870413":{"id":"n2139870413","loc":[-85.6335435,41.9423433],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870414":{"id":"n2139870414","loc":[-85.6335023,41.9423975],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870415":{"id":"n2139870415","loc":[-85.6335086,41.9424552],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870416":{"id":"n2139870416","loc":[-85.6336296,41.942665],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870417":{"id":"n2139870417","loc":[-85.6341396,41.9428596],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870418":{"id":"n2139870418","loc":[-85.6339701,41.9424487],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870419":{"id":"n2139870419","loc":[-85.6335514,41.9425294],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870420":{"id":"n2139870420","loc":[-85.6337406,41.9424929],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870421":{"id":"n2139870421","loc":[-85.6338939,41.9428687],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870422":{"id":"n2139870422","loc":[-85.6341323,41.9419538],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870423":{"id":"n2139870423","loc":[-85.6340321,41.9420376],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870424":{"id":"n2139870424","loc":[-85.6337648,41.942238],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870425":{"id":"n2139870425","loc":[-85.6337604,41.9422685],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870426":{"id":"n2139870426","loc":[-85.6337682,41.9422928],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870427":{"id":"n2139870427","loc":[-85.6338086,41.9423862],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870428":{"id":"n2139870428","loc":[-85.6349465,41.9416631],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870429":{"id":"n2139870429","loc":[-85.6351097,41.9416973],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870430":{"id":"n2139870430","loc":[-85.6353371,41.9416798],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870431":{"id":"n2139870431","loc":[-85.6349627,41.9422506],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870432":{"id":"n2139870432","loc":[-85.634979,41.9421815],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870433":{"id":"n2139870433","loc":[-85.634885,41.9421679],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870434":{"id":"n2139870434","loc":[-85.6348689,41.9422377],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870435":{"id":"n2139870435","loc":[-85.6349779,41.9419486],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870436":{"id":"n2139870436","loc":[-85.6349505,41.9418933],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870437":{"id":"n2139870437","loc":[-85.6347327,41.9419505],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870438":{"id":"n2139870438","loc":[-85.6347614,41.9420087],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870439":{"id":"n2139870439","loc":[-85.6351889,41.9416912],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870440":{"id":"n2139870440","loc":[-85.6351092,41.9418426],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870441":{"id":"n2139870441","loc":[-85.635086,41.9419659],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870442":{"id":"n2139870442","loc":[-85.6350584,41.9421466],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870443":{"id":"n2139870443","loc":[-85.6350993,41.9421606],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870444":{"id":"n2139870444","loc":[-85.6350993,41.9422132],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870445":{"id":"n2139870445","loc":[-85.6350794,41.9422855],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870446":{"id":"n2139870446","loc":[-85.6350474,41.9423159],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870447":{"id":"n2139870447","loc":[-85.6349251,41.9422998],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870448":{"id":"n2139870448","loc":[-85.634911,41.9422755],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870449":{"id":"n2139870449","loc":[-85.6349157,41.9422553],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870450":{"id":"n2139870450","loc":[-85.6347213,41.9419324],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870451":{"id":"n2139870451","loc":[-85.6349535,41.9418771],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139870452":{"id":"n2139870452","loc":[-85.6350135,41.9419421],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870453":{"id":"n2139870453","loc":[-85.6348584,41.9418997],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870454":{"id":"n2139870454","loc":[-85.6348113,41.9418101],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870455":{"id":"n2139870455","loc":[-85.6347306,41.9417449],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870456":{"id":"n2139870456","loc":[-85.6349123,41.941776],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870457":{"id":"n2139870457","loc":[-85.6349423,41.9421448],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870458":{"id":"n2139870458","loc":[-85.6349436,41.9420652],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870459":{"id":"n2139870459","loc":[-85.6349136,41.9419963],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139870460":{"id":"n2139870460","loc":[-85.6349814,41.9419789],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{}},"n2139989328":{"id":"n2139989328","loc":[-85.6334188,41.9421725],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989330":{"id":"n2139989330","loc":[-85.6335087,41.9416308],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989335":{"id":"n2139989335","loc":[-85.6336856,41.9429371],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989337":{"id":"n2139989337","loc":[-85.6333713,41.9427217],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989339":{"id":"n2139989339","loc":[-85.6332912,41.9425383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989341":{"id":"n2139989341","loc":[-85.6339369,41.9409198],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989344":{"id":"n2139989344","loc":[-85.634097,41.9409469],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989346":{"id":"n2139989346","loc":[-85.634137,41.9412852],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989348":{"id":"n2139989348","loc":[-85.6344536,41.9414151],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989350":{"id":"n2139989350","loc":[-85.6350794,41.9412392],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989351":{"id":"n2139989351","loc":[-85.6352541,41.9409387],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989353":{"id":"n2139989353","loc":[-85.6357198,41.9408007],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989355":{"id":"n2139989355","loc":[-85.6357235,41.9427088],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989357":{"id":"n2139989357","loc":[-85.6337119,41.9421256],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989359":{"id":"n2139989359","loc":[-85.6336913,41.9420655],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989360":{"id":"n2139989360","loc":[-85.633582,41.9420867],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989362":{"id":"n2139989362","loc":[-85.6336058,41.9421491],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989364":{"id":"n2139989364","loc":[-85.6339685,41.9410995],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989366":{"id":"n2139989366","loc":[-85.6339067,41.9411383],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989368":{"id":"n2139989368","loc":[-85.6339685,41.9411972],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139989370":{"id":"n2139989370","loc":[-85.6340398,41.9411619],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2139870379":{"id":"n2139870379","loc":[-85.6348391,41.9416651],"version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006363":{"id":"n2140006363","loc":[-85.6353144,41.9430345],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006364":{"id":"n2140006364","loc":[-85.6349191,41.9431422],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140018997":{"id":"n2140018997","loc":[-85.63645945147184,41.942986488012565],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"amenity":"townhall","name":"Three Rivers City Hall"}},"n2140018998":{"id":"n2140018998","loc":[-85.6370319,41.9427919],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2140018999":{"id":"n2140018999","loc":[-85.6360687,41.9427808],"version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{}},"n2199856288":{"id":"n2199856288","loc":[-85.6344968,41.9407307],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856289":{"id":"n2199856289","loc":[-85.634492,41.9406036],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856290":{"id":"n2199856290","loc":[-85.634891,41.9406001],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856291":{"id":"n2199856291","loc":[-85.6348894,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856292":{"id":"n2199856292","loc":[-85.6349166,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856293":{"id":"n2199856293","loc":[-85.6349166,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856294":{"id":"n2199856294","loc":[-85.6350219,41.9404956],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856295":{"id":"n2199856295","loc":[-85.6350251,41.94053],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856296":{"id":"n2199856296","loc":[-85.6350538,41.9405288],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856297":{"id":"n2199856297","loc":[-85.6350602,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856298":{"id":"n2199856298","loc":[-85.6351703,41.9407912],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856299":{"id":"n2199856299","loc":[-85.6351688,41.9409171],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856300":{"id":"n2199856300","loc":[-85.6347889,41.9409135],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856301":{"id":"n2199856301","loc":[-85.6347921,41.94079],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856302":{"id":"n2199856302","loc":[-85.6348942,41.9407888],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n2199856303":{"id":"n2199856303","loc":[-85.6348926,41.9407283],"version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{}},"n185951869":{"id":"n185951869","loc":[-85.6387639,41.957288],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185958643":{"id":"n185958643","loc":[-85.636746,41.929221],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958645":{"id":"n185958645","loc":[-85.636791,41.929363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958647":{"id":"n185958647","loc":[-85.6375975,41.9314987],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958649":{"id":"n185958649","loc":[-85.637669,41.931667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958651":{"id":"n185958651","loc":[-85.637728,41.931901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958653":{"id":"n185958653","loc":[-85.637724,41.932187],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958656":{"id":"n185958656","loc":[-85.637732,41.932761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958658":{"id":"n185958658","loc":[-85.637688,41.93398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958660":{"id":"n185958660","loc":[-85.637685,41.934223],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958662":{"id":"n185958662","loc":[-85.6376468,41.9350232],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185958664":{"id":"n185958664","loc":[-85.637564,41.937028],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958666":{"id":"n185958666","loc":[-85.637458,41.938197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185958668":{"id":"n185958668","loc":[-85.637424,41.938692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:30Z","tags":{}},"n185964972":{"id":"n185964972","loc":[-85.6341901,41.9432732],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185971361":{"id":"n185971361","loc":[-85.635762,41.938208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971364":{"id":"n185971364","loc":[-85.635732,41.9384],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185971366":{"id":"n185971366","loc":[-85.635736,41.938697],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:01Z","tags":{}},"n185972775":{"id":"n185972775","loc":[-85.635638,42.070357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972777":{"id":"n185972777","loc":[-85.635724,42.069929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972779":{"id":"n185972779","loc":[-85.635804,42.069248],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972781":{"id":"n185972781","loc":[-85.635869,42.068361],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972783":{"id":"n185972783","loc":[-85.635883,42.067582],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972785":{"id":"n185972785","loc":[-85.635875,42.067114],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972787":{"id":"n185972787","loc":[-85.635778,42.065359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972788":{"id":"n185972788","loc":[-85.635728,42.063416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972789":{"id":"n185972789","loc":[-85.635665,42.062491],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972790":{"id":"n185972790","loc":[-85.635617,42.061928],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972791":{"id":"n185972791","loc":[-85.635614,42.061898],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972793":{"id":"n185972793","loc":[-85.635379,42.060288],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972795":{"id":"n185972795","loc":[-85.635092,42.05799],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972797":{"id":"n185972797","loc":[-85.634843,42.055781],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972798":{"id":"n185972798","loc":[-85.634817,42.055549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:36Z","tags":{}},"n185972800":{"id":"n185972800","loc":[-85.634708,42.053942],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972802":{"id":"n185972802","loc":[-85.634447,42.051809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972805":{"id":"n185972805","loc":[-85.634241,42.04946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972807":{"id":"n185972807","loc":[-85.633787,42.045926],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972809":{"id":"n185972809","loc":[-85.633811,42.045645],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972811":{"id":"n185972811","loc":[-85.63373,42.043626],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972813":{"id":"n185972813","loc":[-85.633698,42.042184],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972814":{"id":"n185972814","loc":[-85.63369,42.04181],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972815":{"id":"n185972815","loc":[-85.633681,42.040714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972816":{"id":"n185972816","loc":[-85.633571,42.036322],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972817":{"id":"n185972817","loc":[-85.633537,42.034044],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972819":{"id":"n185972819","loc":[-85.633481,42.030785],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972821":{"id":"n185972821","loc":[-85.633452,42.027538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972824":{"id":"n185972824","loc":[-85.633438,42.027427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972826":{"id":"n185972826","loc":[-85.633342,42.022656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972830":{"id":"n185972830","loc":[-85.63327,42.020724],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972832":{"id":"n185972832","loc":[-85.633198,42.019106],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972834":{"id":"n185972834","loc":[-85.633249,42.018363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972835":{"id":"n185972835","loc":[-85.633139,42.012944],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:37Z","tags":{}},"n185972836":{"id":"n185972836","loc":[-85.63309,42.008284],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972839":{"id":"n185972839","loc":[-85.63298,42.00005],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:38Z","tags":{}},"n185972845":{"id":"n185972845","loc":[-85.6325369,41.9764959],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972847":{"id":"n185972847","loc":[-85.6327549,41.9750005],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972849":{"id":"n185972849","loc":[-85.6329374,41.9742527],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972851":{"id":"n185972851","loc":[-85.6331387,41.9736039],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972862":{"id":"n185972862","loc":[-85.6383589,41.9585023],"version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185972868":{"id":"n185972868","loc":[-85.6393633,41.9551716],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972878":{"id":"n185972878","loc":[-85.639377,41.95335],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972882":{"id":"n185972882","loc":[-85.6389179,41.9516944],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972885":{"id":"n185972885","loc":[-85.6387444,41.9512105],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972891":{"id":"n185972891","loc":[-85.636421,41.946392],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972895":{"id":"n185972895","loc":[-85.635965,41.945809],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972897":{"id":"n185972897","loc":[-85.635683,41.945449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:39Z","tags":{}},"n185972899":{"id":"n185972899","loc":[-85.635281,41.9450252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185972905":{"id":"n185972905","loc":[-85.6324428,41.9425743],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185985217":{"id":"n185985217","loc":[-85.638243,41.943674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985219":{"id":"n185985219","loc":[-85.638228,41.943747],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985221":{"id":"n185985221","loc":[-85.638163,41.943797],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985222":{"id":"n185985222","loc":[-85.638089,41.943832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985223":{"id":"n185985223","loc":[-85.637969,41.943841],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985225":{"id":"n185985225","loc":[-85.637841,41.943833],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985227":{"id":"n185985227","loc":[-85.637601,41.943789],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985229":{"id":"n185985229","loc":[-85.637449,41.943754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985231":{"id":"n185985231","loc":[-85.637342,41.943734],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:20Z","tags":{}},"n185985233":{"id":"n185985233","loc":[-85.637218,41.943703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985235":{"id":"n185985235","loc":[-85.637151,41.943663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985238":{"id":"n185985238","loc":[-85.637118,41.943615],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185985240":{"id":"n185985240","loc":[-85.637073,41.943494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:21Z","tags":{}},"n185990434":{"id":"n185990434","loc":[-85.6329028,41.9984292],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"railway":"level_crossing"}},"n1475284023":{"id":"n1475284023","loc":[-85.6336163,41.9435806],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475293222":{"id":"n1475293222","loc":[-85.6394045,41.953658],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293226":{"id":"n1475293226","loc":[-85.6364975,41.9638663],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293234":{"id":"n1475293234","loc":[-85.6390449,41.9565145],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293240":{"id":"n1475293240","loc":[-85.636943,41.9473114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293252":{"id":"n1475293252","loc":[-85.6392115,41.9559003],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293254":{"id":"n1475293254","loc":[-85.6348931,41.9685127],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{"railway":"level_crossing"}},"n1475293260":{"id":"n1475293260","loc":[-85.6375999,41.9485401],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293261":{"id":"n1475293261","loc":[-85.6391256,41.9523817],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1475293264":{"id":"n1475293264","loc":[-85.6394155,41.9546493],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"railway":"level_crossing"}},"n1819805614":{"id":"n1819805614","loc":[-85.6345652,41.9363097],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805618":{"id":"n1819805618","loc":[-85.6295334,41.9426862],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805622":{"id":"n1819805622","loc":[-85.6308208,41.9430773],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805626":{"id":"n1819805626","loc":[-85.6274734,41.9406592],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805629":{"id":"n1819805629","loc":[-85.6296943,41.9430533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805632":{"id":"n1819805632","loc":[-85.6340931,41.9354477],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805636":{"id":"n1819805636","loc":[-85.6304131,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805639":{"id":"n1819805639","loc":[-85.6304882,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:25Z","tags":{}},"n1819805641":{"id":"n1819805641","loc":[-85.6336103,41.9367487],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805643":{"id":"n1819805643","loc":[-85.6300376,41.9418084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805645":{"id":"n1819805645","loc":[-85.6365286,41.9336679],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805647":{"id":"n1819805647","loc":[-85.632016,41.9429221],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805666":{"id":"n1819805666","loc":[-85.6314753,41.9442663],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805669":{"id":"n1819805669","loc":[-85.6268619,41.9402203],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805673":{"id":"n1819805673","loc":[-85.6296728,41.9412099],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805676":{"id":"n1819805676","loc":[-85.6354557,41.932766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805680":{"id":"n1819805680","loc":[-85.632752,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805683":{"id":"n1819805683","loc":[-85.631147,41.9432014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805687":{"id":"n1819805687","loc":[-85.635284,41.9343942],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805690":{"id":"n1819805690","loc":[-85.6249736,41.9405794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805694":{"id":"n1819805694","loc":[-85.6294153,41.9417925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805698":{"id":"n1819805698","loc":[-85.6323486,41.9426986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805702":{"id":"n1819805702","loc":[-85.6340287,41.9373871],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805707":{"id":"n1819805707","loc":[-85.6353698,41.9316326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805711":{"id":"n1819805711","loc":[-85.6284176,41.940356],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805715":{"id":"n1819805715","loc":[-85.6291471,41.9412897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805718":{"id":"n1819805718","loc":[-85.6311105,41.943979],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805722":{"id":"n1819805722","loc":[-85.6320868,41.9400128],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805724":{"id":"n1819805724","loc":[-85.635166,41.9324627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805727":{"id":"n1819805727","loc":[-85.6344686,41.9350567],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805728":{"id":"n1819805728","loc":[-85.6357132,41.9332369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805731":{"id":"n1819805731","loc":[-85.629984,41.9434444],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:26Z","tags":{}},"n1819805760":{"id":"n1819805760","loc":[-85.6330996,41.9378784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805766":{"id":"n1819805766","loc":[-85.625274,41.9411141],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805770":{"id":"n1819805770","loc":[-85.6326321,41.9412173],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805774":{"id":"n1819805774","loc":[-85.6347047,41.9312096],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805777":{"id":"n1819805777","loc":[-85.6363569,41.9339552],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805780":{"id":"n1819805780","loc":[-85.6327392,41.941926],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805783":{"id":"n1819805783","loc":[-85.6357239,41.9338435],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805786":{"id":"n1819805786","loc":[-85.6356595,41.9346576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805789":{"id":"n1819805789","loc":[-85.6316469,41.9436598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805792":{"id":"n1819805792","loc":[-85.6350587,41.9354557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805795":{"id":"n1819805795","loc":[-85.6360028,41.9322791],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805798":{"id":"n1819805798","loc":[-85.63125,41.9443062],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805802":{"id":"n1819805802","loc":[-85.6263362,41.9408109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805805":{"id":"n1819805805","loc":[-85.6315075,41.9438753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805808":{"id":"n1819805808","loc":[-85.6340008,41.9316051],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805810":{"id":"n1819805810","loc":[-85.6345545,41.9320557],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805812":{"id":"n1819805812","loc":[-85.6250809,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805814":{"id":"n1819805814","loc":[-85.6257783,41.9400926],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805834":{"id":"n1819805834","loc":[-85.6326408,41.9424363],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n1819805838":{"id":"n1819805838","loc":[-85.6365607,41.9334365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805842":{"id":"n1819805842","loc":[-85.6288253,41.9410343],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805846":{"id":"n1819805846","loc":[-85.6279133,41.9402921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:27Z","tags":{}},"n1819805849":{"id":"n1819805849","loc":[-85.6289433,41.9405156],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805852":{"id":"n1819805852","loc":[-85.6313787,41.9439152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805858":{"id":"n1819805858","loc":[-85.6300805,41.9420398],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805861":{"id":"n1819805861","loc":[-85.6321941,41.9396297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805864":{"id":"n1819805864","loc":[-85.6329129,41.9393903],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805868":{"id":"n1819805868","loc":[-85.632001,41.9434922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805870":{"id":"n1819805870","loc":[-85.6314903,41.9431535],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805873":{"id":"n1819805873","loc":[-85.6251667,41.9401166],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805876":{"id":"n1819805876","loc":[-85.63287,41.939941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805878":{"id":"n1819805878","loc":[-85.6307886,41.9437317],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805880":{"id":"n1819805880","loc":[-85.6321727,41.940348],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805883":{"id":"n1819805883","loc":[-85.6265872,41.940113],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805885":{"id":"n1819805885","loc":[-85.6268404,41.9406672],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805887":{"id":"n1819805887","loc":[-85.6325267,41.9389035],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805889":{"id":"n1819805889","loc":[-85.6364964,41.933189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805911":{"id":"n1819805911","loc":[-85.6248663,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805922":{"id":"n1819805922","loc":[-85.633267,41.9387199],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819805925":{"id":"n1819805925","loc":[-85.6293402,41.9408428],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:08:28Z","tags":{}},"n1819848849":{"id":"n1819848849","loc":[-85.6464957,41.9695178],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848850":{"id":"n1819848850","loc":[-85.6497642,41.9611355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848851":{"id":"n1819848851","loc":[-85.6480943,41.9624818],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848854":{"id":"n1819848854","loc":[-85.6500362,41.9657367],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848855":{"id":"n1819848855","loc":[-85.6493673,41.9783496],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848856":{"id":"n1819848856","loc":[-85.6457409,41.9548007],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848857":{"id":"n1819848857","loc":[-85.651313,41.9760426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848858":{"id":"n1819848858","loc":[-85.6495819,41.9784772],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848859":{"id":"n1819848859","loc":[-85.6495105,41.9833722],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848860":{"id":"n1819848860","loc":[-85.6405053,41.9492792],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848863":{"id":"n1819848863","loc":[-85.6502293,41.9786826],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848865":{"id":"n1819848865","loc":[-85.6406877,41.9495106],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848870":{"id":"n1819848870","loc":[-85.6493136,41.9704611],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848871":{"id":"n1819848871","loc":[-85.6372249,41.9441284],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848873":{"id":"n1819848873","loc":[-85.6512379,41.9659441],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848875":{"id":"n1819848875","loc":[-85.6508087,41.9650187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848877":{"id":"n1819848877","loc":[-85.6487166,41.9605352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848878":{"id":"n1819848878","loc":[-85.6506478,41.9760665],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848879":{"id":"n1819848879","loc":[-85.651431,41.9758512],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848886":{"id":"n1819848886","loc":[-85.6477617,41.9563945],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848889":{"id":"n1819848889","loc":[-85.6497895,41.9832286],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848892":{"id":"n1819848892","loc":[-85.6504868,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848893":{"id":"n1819848893","loc":[-85.6498002,41.9615085],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848894":{"id":"n1819848894","loc":[-85.6404302,41.9502846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848901":{"id":"n1819848901","loc":[-85.6354412,41.9439886],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848903":{"id":"n1819848903","loc":[-85.6472145,41.9698528],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848904":{"id":"n1819848904","loc":[-85.6401979,41.9486233],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848905":{"id":"n1819848905","loc":[-85.6475042,41.963503],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848909":{"id":"n1819848909","loc":[-85.6343405,41.94358],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848914":{"id":"n1819848914","loc":[-85.6503474,41.9737773],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848915":{"id":"n1819848915","loc":[-85.6389533,41.9470992],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848916":{"id":"n1819848916","loc":[-85.6483625,41.9577907],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848917":{"id":"n1819848917","loc":[-85.6484768,41.9617419],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848918":{"id":"n1819848918","loc":[-85.644078,41.9545693],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848919":{"id":"n1819848919","loc":[-85.6437169,41.9543041],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848920":{"id":"n1819848920","loc":[-85.6478331,41.9627949],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848922":{"id":"n1819848922","loc":[-85.6499144,41.9785889],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848924":{"id":"n1819848924","loc":[-85.647633,41.9720066],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848926":{"id":"n1819848926","loc":[-85.6487987,41.978868],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848927":{"id":"n1819848927","loc":[-85.6495105,41.9730355],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848928":{"id":"n1819848928","loc":[-85.648223,41.9829654],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848929":{"id":"n1819848929","loc":[-85.6514846,41.9659122],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848931":{"id":"n1819848931","loc":[-85.6498753,41.9731871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848932":{"id":"n1819848932","loc":[-85.640906,41.9508575],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848933":{"id":"n1819848933","loc":[-85.649775,41.9799767],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848934":{"id":"n1819848934","loc":[-85.6507014,41.9739927],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848937":{"id":"n1819848937","loc":[-85.6479763,41.9840899],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848938":{"id":"n1819848938","loc":[-85.6501113,41.9600884],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848939":{"id":"n1819848939","loc":[-85.6389962,41.9478253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848941":{"id":"n1819848941","loc":[-85.637469,41.9445791],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848942":{"id":"n1819848942","loc":[-85.6494569,41.9601682],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848943":{"id":"n1819848943","loc":[-85.6368803,41.9439351],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819848945":{"id":"n1819848945","loc":[-85.6474398,41.9724213],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848946":{"id":"n1819848946","loc":[-85.6382629,41.9463666],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848948":{"id":"n1819848948","loc":[-85.6489633,41.9830771],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848952":{"id":"n1819848952","loc":[-85.6488882,41.9600326],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848953":{"id":"n1819848953","loc":[-85.6488094,41.9774324],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848954":{"id":"n1819848954","loc":[-85.6491135,41.9600485],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848955":{"id":"n1819848955","loc":[-85.6501435,41.9734583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848956":{"id":"n1819848956","loc":[-85.6495534,41.960958],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848958":{"id":"n1819848958","loc":[-85.6474683,41.9561491],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848959":{"id":"n1819848959","loc":[-85.6401083,41.9485451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848960":{"id":"n1819848960","loc":[-85.6481764,41.9678686],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848961":{"id":"n1819848961","loc":[-85.6484017,41.967382],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848962":{"id":"n1819848962","loc":[-85.6501328,41.959897],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848964":{"id":"n1819848964","loc":[-85.6403695,41.9504586],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848966":{"id":"n1819848966","loc":[-85.6398975,41.9491499],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848967":{"id":"n1819848967","loc":[-85.6412455,41.9510187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848968":{"id":"n1819848968","loc":[-85.6482622,41.9619493],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848969":{"id":"n1819848969","loc":[-85.6405841,41.9501474],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848970":{"id":"n1819848970","loc":[-85.6478583,41.9703394],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848971":{"id":"n1819848971","loc":[-85.6493388,41.9832845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848972":{"id":"n1819848972","loc":[-85.6485664,41.9829415],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848974":{"id":"n1819848974","loc":[-85.6491457,41.9779887],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848975":{"id":"n1819848975","loc":[-85.6468889,41.9697033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848976":{"id":"n1819848976","loc":[-85.6452726,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848977":{"id":"n1819848977","loc":[-85.6448435,41.9546072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848979":{"id":"n1819848979","loc":[-85.6485342,41.9763138],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848980":{"id":"n1819848980","loc":[-85.6495282,41.9664087],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848986":{"id":"n1819848986","loc":[-85.6486307,41.9603278],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848987":{"id":"n1819848987","loc":[-85.6492278,41.9791871],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848990":{"id":"n1819848990","loc":[-85.6501934,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848992":{"id":"n1819848992","loc":[-85.6482445,41.9819685],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848993":{"id":"n1819848993","loc":[-85.6481871,41.9704451],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848994":{"id":"n1819848994","loc":[-85.6371364,41.9457602],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848996":{"id":"n1819848996","loc":[-85.6500362,41.9801023],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849000":{"id":"n1819849000","loc":[-85.639007,41.9485914],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849001":{"id":"n1819849001","loc":[-85.6488882,41.9669253],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849002":{"id":"n1819849002","loc":[-85.6484698,41.9565062],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849004":{"id":"n1819849004","loc":[-85.6510769,41.9761064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849005":{"id":"n1819849005","loc":[-85.6503581,41.9799029],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849006":{"id":"n1819849006","loc":[-85.6489381,41.9703893],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849008":{"id":"n1819849008","loc":[-85.6497457,41.9833588],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849011":{"id":"n1819849011","loc":[-85.6497358,41.9717593],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849012":{"id":"n1819849012","loc":[-85.6494676,41.9796796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849019":{"id":"n1819849019","loc":[-85.6486093,41.9771034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849021":{"id":"n1819849021","loc":[-85.6504546,41.9796556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849022":{"id":"n1819849022","loc":[-85.6371294,41.9454154],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849023":{"id":"n1819849023","loc":[-85.6503436,41.9759249],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849025":{"id":"n1819849025","loc":[-85.6462382,41.9693822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849026":{"id":"n1819849026","loc":[-85.6497573,41.983093],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849028":{"id":"n1819849028","loc":[-85.6497465,41.9602799],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849029":{"id":"n1819849029","loc":[-85.6374728,41.9460698],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849030":{"id":"n1819849030","loc":[-85.6486592,41.9566039],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849031":{"id":"n1819849031","loc":[-85.6515989,41.9654993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849032":{"id":"n1819849032","loc":[-85.6387028,41.9482658],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849033":{"id":"n1819849033","loc":[-85.6464742,41.9688398],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849034":{"id":"n1819849034","loc":[-85.6495212,41.9589236],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849035":{"id":"n1819849035","loc":[-85.6490599,41.9790096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849036":{"id":"n1819849036","loc":[-85.6489918,41.9800724],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849038":{"id":"n1819849038","loc":[-85.6499182,41.9659042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849040":{"id":"n1819849040","loc":[-85.639758,41.9490143],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849041":{"id":"n1819849041","loc":[-85.6514846,41.9755241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849042":{"id":"n1819849042","loc":[-85.6436633,41.9540647],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849045":{"id":"n1819849045","loc":[-85.6475541,41.9726387],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849046":{"id":"n1819849046","loc":[-85.6488308,41.9718331],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849047":{"id":"n1819849047","loc":[-85.6377694,41.9460953],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849048":{"id":"n1819849048","loc":[-85.6490706,41.9804452],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849049":{"id":"n1819849049","loc":[-85.6485449,41.9766248],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849051":{"id":"n1819849051","loc":[-85.6483625,41.9790256],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849052":{"id":"n1819849052","loc":[-85.6490706,41.9585167],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849053":{"id":"n1819849053","loc":[-85.6425008,41.9522874],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849054":{"id":"n1819849054","loc":[-85.6475793,41.9632158],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849055":{"id":"n1819849055","loc":[-85.6408631,41.9499399],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849056":{"id":"n1819849056","loc":[-85.6483373,41.9814681],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849057":{"id":"n1819849057","loc":[-85.6313548,41.9442876],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849058":{"id":"n1819849058","loc":[-85.6432663,41.9529796],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849059":{"id":"n1819849059","loc":[-85.6487128,41.9582873],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849060":{"id":"n1819849060","loc":[-85.6482338,41.9817612],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849062":{"id":"n1819849062","loc":[-85.6485664,41.9788661],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849063":{"id":"n1819849063","loc":[-85.6373081,41.9448824],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849064":{"id":"n1819849064","loc":[-85.6472215,41.9557582],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849065":{"id":"n1819849065","loc":[-85.6348984,41.9440414],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849066":{"id":"n1819849066","loc":[-85.6501972,41.9647315],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849067":{"id":"n1819849067","loc":[-85.6489741,41.9808281],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849068":{"id":"n1819849068","loc":[-85.6420111,41.9515034],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849069":{"id":"n1819849069","loc":[-85.6397972,41.9488882],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849070":{"id":"n1819849070","loc":[-85.6499718,41.9593465],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849071":{"id":"n1819849071","loc":[-85.6486844,41.9811311],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849072":{"id":"n1819849072","loc":[-85.6390392,41.9474663],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849074":{"id":"n1819849074","loc":[-85.6495642,41.9616362],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849075":{"id":"n1819849075","loc":[-85.6483518,41.9791931],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849076":{"id":"n1819849076","loc":[-85.6478974,41.9833104],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849077":{"id":"n1819849077","loc":[-85.640155,41.948719],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849078":{"id":"n1819849078","loc":[-85.6399366,41.9487845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849079":{"id":"n1819849079","loc":[-85.6492959,41.9825348],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849080":{"id":"n1819849080","loc":[-85.6505083,41.9648352],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849081":{"id":"n1819849081","loc":[-85.6492959,41.9645241],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849082":{"id":"n1819849082","loc":[-85.6402049,41.9491835],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849083":{"id":"n1819849083","loc":[-85.6495175,41.9826963],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849084":{"id":"n1819849084","loc":[-85.6480836,41.9728361],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849085":{"id":"n1819849085","loc":[-85.6374349,41.9443425],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849086":{"id":"n1819849086","loc":[-85.6478331,41.9681238],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849089":{"id":"n1819849089","loc":[-85.639368,41.9486169],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849092":{"id":"n1819849092","loc":[-85.6503581,41.9788022],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849093":{"id":"n1819849093","loc":[-85.64862,41.9568014],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849094":{"id":"n1819849094","loc":[-85.6496999,41.9828877],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849095":{"id":"n1819849095","loc":[-85.647472,41.972198],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849096":{"id":"n1819849096","loc":[-85.6485771,41.9644523],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849097":{"id":"n1819849097","loc":[-85.6388353,41.9480488],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849099":{"id":"n1819849099","loc":[-85.6472752,41.9683312],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849104":{"id":"n1819849104","loc":[-85.6479548,41.9836035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849105":{"id":"n1819849105","loc":[-85.6462489,41.9691668],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849107":{"id":"n1819849107","loc":[-85.6511912,41.9746328],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849108":{"id":"n1819849108","loc":[-85.6498646,41.9714881],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849111":{"id":"n1819849111","loc":[-85.6488239,41.961684],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849112":{"id":"n1819849112","loc":[-85.6469356,41.9553812],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849114":{"id":"n1819849114","loc":[-85.6479548,41.9640853],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849119":{"id":"n1819849119","loc":[-85.6491565,41.961692],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849121":{"id":"n1819849121","loc":[-85.651667,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849124":{"id":"n1819849124","loc":[-85.6388423,41.9484414],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849126":{"id":"n1819849126","loc":[-85.6371686,41.9450978],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849127":{"id":"n1819849127","loc":[-85.6502615,41.9656728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849129":{"id":"n1819849129","loc":[-85.6498501,41.9613031],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849131":{"id":"n1819849131","loc":[-85.6513881,41.9653298],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849133":{"id":"n1819849133","loc":[-85.639883,41.9485291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849139":{"id":"n1819849139","loc":[-85.6508693,41.9658264],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849140":{"id":"n1819849140","loc":[-85.6486806,41.9761642],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849141":{"id":"n1819849141","loc":[-85.6483159,41.9717613],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849144":{"id":"n1819849144","loc":[-85.6443714,41.9546232],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849146":{"id":"n1819849146","loc":[-85.641775,41.9513359],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849147":{"id":"n1819849147","loc":[-85.6495604,41.9757335],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849148":{"id":"n1819849148","loc":[-85.6465671,41.9551678],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849150":{"id":"n1819849150","loc":[-85.6485127,41.9794084],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849151":{"id":"n1819849151","loc":[-85.6499144,41.9757096],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849152":{"id":"n1819849152","loc":[-85.6433736,41.9531072],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849154":{"id":"n1819849154","loc":[-85.6489741,41.9607426],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849155":{"id":"n1819849155","loc":[-85.640627,41.9507697],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849156":{"id":"n1819849156","loc":[-85.6509659,41.9743058],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849157":{"id":"n1819849157","loc":[-85.6486844,41.9704431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849158":{"id":"n1819849158","loc":[-85.6498538,41.9711132],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849159":{"id":"n1819849159","loc":[-85.6358937,41.943719],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849160":{"id":"n1819849160","loc":[-85.6497358,41.9707702],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849161":{"id":"n1819849161","loc":[-85.6480476,41.9564842],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849162":{"id":"n1819849162","loc":[-85.6482982,41.9574556],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849163":{"id":"n1819849163","loc":[-85.6501757,41.9757794],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849164":{"id":"n1819849164","loc":[-85.6372973,41.9459916],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849165":{"id":"n1819849165","loc":[-85.6513773,41.9750775],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849166":{"id":"n1819849166","loc":[-85.6436418,41.9537455],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849167":{"id":"n1819849167","loc":[-85.6483625,41.9571524],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849169":{"id":"n1819849169","loc":[-85.647751,41.9727962],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849170":{"id":"n1819849170","loc":[-85.6504546,41.9656808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849171":{"id":"n1819849171","loc":[-85.6479977,41.971839],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849172":{"id":"n1819849172","loc":[-85.6482767,41.9642449],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849174":{"id":"n1819849174","loc":[-85.6414317,41.9512086],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849176":{"id":"n1819849176","loc":[-85.6469034,41.9685287],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849179":{"id":"n1819849179","loc":[-85.6408631,41.9497564],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849182":{"id":"n1819849182","loc":[-85.6476721,41.96384],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849183":{"id":"n1819849183","loc":[-85.6479725,41.983111],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849184":{"id":"n1819849184","loc":[-85.640788,41.9500516],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849185":{"id":"n1819849185","loc":[-85.6427798,41.9528778],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849186":{"id":"n1819849186","loc":[-85.6435308,41.9534124],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849187":{"id":"n1819849187","loc":[-85.6483733,41.9821998],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849189":{"id":"n1819849189","loc":[-85.6351752,41.9440796],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819849191":{"id":"n1819849191","loc":[-85.6487021,41.9601463],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849192":{"id":"n1819849192","loc":[-85.6363811,41.9437605],"version":"2","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n1819849193":{"id":"n1819849193","loc":[-85.6490883,41.9759728],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849194":{"id":"n1819849194","loc":[-85.6423292,41.9520081],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849195":{"id":"n1819849195","loc":[-85.6500003,41.960242],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849196":{"id":"n1819849196","loc":[-85.6385778,41.9466443],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849197":{"id":"n1819849197","loc":[-85.6494032,41.9718789],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849198":{"id":"n1819849198","loc":[-85.6404339,41.9506501],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849199":{"id":"n1819849199","loc":[-85.6426226,41.9527083],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849200":{"id":"n1819849200","loc":[-85.6439101,41.9545035],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849201":{"id":"n1819849201","loc":[-85.6516563,41.9657845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819849202":{"id":"n1819849202","loc":[-85.6473395,41.9699585],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{}},"n1819858501":{"id":"n1819858501","loc":[-85.6361263,41.9437126],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858503":{"id":"n1819858503","loc":[-85.6350068,41.944034],"version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n1819858513":{"id":"n1819858513","loc":[-85.6371402,41.9453282],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858518":{"id":"n1819858518","loc":[-85.6348713,41.9432923],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858523":{"id":"n1819858523","loc":[-85.6357047,41.943799],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858526":{"id":"n1819858526","loc":[-85.6349947,41.9435756],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858531":{"id":"n1819858531","loc":[-85.6350376,41.943827],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1820937508":{"id":"n1820937508","loc":[-85.1026013,42.0881722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937509":{"id":"n1820937509","loc":[-85.0558088,42.102493],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937511":{"id":"n1820937511","loc":[-85.3030116,41.9724451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937513":{"id":"n1820937513","loc":[-85.0353221,42.1027398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937514":{"id":"n1820937514","loc":[-85.0835468,42.1015469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937515":{"id":"n1820937515","loc":[-85.2421298,42.0106305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937517":{"id":"n1820937517","loc":[-85.0090632,42.0910452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937518":{"id":"n1820937518","loc":[-85.086626,42.0948838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:57Z","tags":{}},"n1820937520":{"id":"n1820937520","loc":[-85.2552039,42.0015448],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937521":{"id":"n1820937521","loc":[-85.3739614,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937522":{"id":"n1820937522","loc":[-85.4831166,41.993898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937523":{"id":"n1820937523","loc":[-85.0341084,42.0977657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937524":{"id":"n1820937524","loc":[-85.3272802,41.9710333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937525":{"id":"n1820937525","loc":[-85.2125568,42.0414521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937526":{"id":"n1820937526","loc":[-85.3798022,41.9992458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937527":{"id":"n1820937527","loc":[-85.2652021,41.999768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937528":{"id":"n1820937528","loc":[-85.3852739,42.0004896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937529":{"id":"n1820937529","loc":[-85.3911919,42.0030513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937530":{"id":"n1820937530","loc":[-85.5440349,41.9717109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937531":{"id":"n1820937531","loc":[-85.2790155,41.9911764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937532":{"id":"n1820937532","loc":[-85.4723277,41.9950518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937533":{"id":"n1820937533","loc":[-85.5690546,41.9653931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937535":{"id":"n1820937535","loc":[-85.5674882,41.9649623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937536":{"id":"n1820937536","loc":[-85.6362815,41.9189165],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937537":{"id":"n1820937537","loc":[-85.5659003,41.963638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:58Z","tags":{}},"n1820937539":{"id":"n1820937539","loc":[-85.6391353,41.9122262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937540":{"id":"n1820937540","loc":[-85.4834385,41.9894803],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937541":{"id":"n1820937541","loc":[-85.6399078,41.9160744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937542":{"id":"n1820937542","loc":[-85.632874,41.941031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937543":{"id":"n1820937543","loc":[-85.1307591,42.0726961],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937544":{"id":"n1820937544","loc":[-85.6444397,41.9128378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937545":{"id":"n1820937545","loc":[-85.6197204,41.9420365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937546":{"id":"n1820937546","loc":[-85.1164857,42.0864631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937547":{"id":"n1820937547","loc":[-85.6476111,41.9142222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937548":{"id":"n1820937548","loc":[-85.2915747,41.9774223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937549":{"id":"n1820937549","loc":[-85.6430192,41.9102461],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937550":{"id":"n1820937550","loc":[-85.1597495,42.0639017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937551":{"id":"n1820937551","loc":[-85.5504079,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937553":{"id":"n1820937553","loc":[-85.2781317,41.9948951],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937555":{"id":"n1820937555","loc":[-85.3724594,41.997518],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937556":{"id":"n1820937556","loc":[-85.5629434,41.9665155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937557":{"id":"n1820937557","loc":[-85.3791971,41.9990808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937558":{"id":"n1820937558","loc":[-85.001891,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:55:59Z","tags":{}},"n1820937560":{"id":"n1820937560","loc":[-85.3140838,41.9709056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937561":{"id":"n1820937561","loc":[-85.2468032,42.0146987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937563":{"id":"n1820937563","loc":[-85.0877378,42.097255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937564":{"id":"n1820937564","loc":[-85.2442498,42.0150654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937566":{"id":"n1820937566","loc":[-85.3108973,41.9701478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937568":{"id":"n1820937568","loc":[-85.0344584,42.1016572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937569":{"id":"n1820937569","loc":[-85.2331025,42.0297387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937570":{"id":"n1820937570","loc":[-85.5058446,41.9746996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937571":{"id":"n1820937571","loc":[-85.5622739,41.9676427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937572":{"id":"n1820937572","loc":[-85.2792687,41.9890337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937574":{"id":"n1820937574","loc":[-84.9909302,42.08695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937575":{"id":"n1820937575","loc":[-85.6218233,41.9418609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937576":{"id":"n1820937576","loc":[-85.3577437,41.9931062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937577":{"id":"n1820937577","loc":[-85.639028,41.9165853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937578":{"id":"n1820937578","loc":[-84.9956576,42.0865348],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937579":{"id":"n1820937579","loc":[-85.4828376,41.990198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937580":{"id":"n1820937580","loc":[-85.3244478,41.9720543],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937582":{"id":"n1820937582","loc":[-85.0517479,42.1035159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937583":{"id":"n1820937583","loc":[-85.225646,42.0338025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937584":{"id":"n1820937584","loc":[-84.9941019,42.0862163],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937586":{"id":"n1820937586","loc":[-85.1051762,42.0879452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937587":{"id":"n1820937587","loc":[-85.1245203,42.0753162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937588":{"id":"n1820937588","loc":[-85.3250808,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937589":{"id":"n1820937589","loc":[-85.2720109,41.997933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:00Z","tags":{}},"n1820937590":{"id":"n1820937590","loc":[-85.2556653,42.0027248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937591":{"id":"n1820937591","loc":[-85.0872483,42.0943544],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937592":{"id":"n1820937592","loc":[-85.2778353,41.9955023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937593":{"id":"n1820937593","loc":[-85.2984733,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937594":{"id":"n1820937594","loc":[-85.101578,42.0889552],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937595":{"id":"n1820937595","loc":[-85.3888745,42.0016959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937596":{"id":"n1820937596","loc":[-84.9903508,42.0870654],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937597":{"id":"n1820937597","loc":[-85.6405558,41.9146261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937598":{"id":"n1820937598","loc":[-85.6460704,41.9141311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937599":{"id":"n1820937599","loc":[-85.0377468,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937600":{"id":"n1820937600","loc":[-85.2298345,42.0312899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937601":{"id":"n1820937601","loc":[-85.1080958,42.0861964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937602":{"id":"n1820937602","loc":[-85.6325307,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937603":{"id":"n1820937603","loc":[-85.1165984,42.0832184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937604":{"id":"n1820937604","loc":[-85.6354446,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937605":{"id":"n1820937605","loc":[-85.1114592,42.0862959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937606":{"id":"n1820937606","loc":[-85.0858763,42.1001646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937607":{"id":"n1820937607","loc":[-85.0472083,42.1015151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937608":{"id":"n1820937608","loc":[-85.0802477,42.1027609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937610":{"id":"n1820937610","loc":[-85.0924585,42.0928564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937611":{"id":"n1820937611","loc":[-85.0329617,42.09827],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937612":{"id":"n1820937612","loc":[-85.2814617,41.993465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937613":{"id":"n1820937613","loc":[-85.3097708,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937614":{"id":"n1820937614","loc":[-85.2809427,41.993695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937615":{"id":"n1820937615","loc":[-85.0583233,42.1026494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:01Z","tags":{}},"n1820937617":{"id":"n1820937617","loc":[-85.2801592,41.9840021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937619":{"id":"n1820937619","loc":[-85.1064154,42.0863449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937620":{"id":"n1820937620","loc":[-85.0423173,42.1014662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937621":{"id":"n1820937621","loc":[-85.2168913,42.0398107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937622":{"id":"n1820937622","loc":[-85.2798481,41.9833401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937623":{"id":"n1820937623","loc":[-85.0575468,42.1028672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937625":{"id":"n1820937625","loc":[-85.0130369,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937626":{"id":"n1820937626","loc":[-85.0346985,42.1018256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937627":{"id":"n1820937627","loc":[-85.2231569,42.0372768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937628":{"id":"n1820937628","loc":[-85.2956195,41.9732268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937629":{"id":"n1820937629","loc":[-85.1052312,42.086893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937630":{"id":"n1820937630","loc":[-85.4813356,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937631":{"id":"n1820937631","loc":[-85.0961599,42.0914672],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937632":{"id":"n1820937632","loc":[-85.308419,41.9704749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937633":{"id":"n1820937633","loc":[-85.295952,41.9715119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937634":{"id":"n1820937634","loc":[-85.3310933,41.9703923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937635":{"id":"n1820937635","loc":[-85.2940745,41.9739686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937636":{"id":"n1820937636","loc":[-85.3803343,42.000484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937637":{"id":"n1820937637","loc":[-85.1174231,42.0845533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:02Z","tags":{}},"n1820937638":{"id":"n1820937638","loc":[-85.0095836,42.089839],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937639":{"id":"n1820937639","loc":[-85.3179354,41.9705866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937640":{"id":"n1820937640","loc":[-85.257708,42.0001189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937641":{"id":"n1820937641","loc":[-85.2563522,42.0002771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937642":{"id":"n1820937642","loc":[-85.3181929,41.970419],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937643":{"id":"n1820937643","loc":[-85.2911884,41.9757154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937644":{"id":"n1820937644","loc":[-85.2714423,41.9975862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937645":{"id":"n1820937645","loc":[-85.0193669,42.089888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937646":{"id":"n1820937646","loc":[-85.3889818,42.0039921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937647":{"id":"n1820937647","loc":[-85.3408093,41.9853965],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937648":{"id":"n1820937648","loc":[-85.1258091,42.0748332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937649":{"id":"n1820937649","loc":[-85.5722561,41.962782],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937650":{"id":"n1820937650","loc":[-85.3266902,41.9721819],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937651":{"id":"n1820937651","loc":[-85.1473255,42.065192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937652":{"id":"n1820937652","loc":[-85.1462526,42.0655106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937653":{"id":"n1820937653","loc":[-85.4641051,42.0013929],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937654":{"id":"n1820937654","loc":[-85.5620379,41.9700677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937655":{"id":"n1820937655","loc":[-85.3226025,41.971121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937656":{"id":"n1820937656","loc":[-85.0200965,42.0899516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937657":{"id":"n1820937657","loc":[-85.0624714,42.1044711],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937658":{"id":"n1820937658","loc":[-85.5649562,41.9637178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937659":{"id":"n1820937659","loc":[-85.2360315,42.0253315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937660":{"id":"n1820937660","loc":[-85.3881449,41.9994475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937661":{"id":"n1820937661","loc":[-85.5032911,41.976263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937662":{"id":"n1820937662","loc":[-85.481297,41.9871414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937663":{"id":"n1820937663","loc":[-85.1167056,42.0841898],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937664":{"id":"n1820937664","loc":[-85.2891714,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937665":{"id":"n1820937665","loc":[-85.4393429,42.0058736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937666":{"id":"n1820937666","loc":[-85.0077007,42.0895762],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937667":{"id":"n1820937667","loc":[-85.2736202,41.9979171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937668":{"id":"n1820937668","loc":[-84.9935332,42.0859296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:03Z","tags":{}},"n1820937669":{"id":"n1820937669","loc":[-85.0622769,42.1046713],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937670":{"id":"n1820937670","loc":[-85.2309031,42.0311249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937671":{"id":"n1820937671","loc":[-85.0343726,42.10069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937672":{"id":"n1820937672","loc":[-85.0596551,42.1048612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937673":{"id":"n1820937673","loc":[-85.1338597,42.0707449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937674":{"id":"n1820937674","loc":[-85.3117663,41.9689194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937675":{"id":"n1820937675","loc":[-85.0705649,42.1057499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937676":{"id":"n1820937676","loc":[-85.2441425,42.0180944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937677":{"id":"n1820937677","loc":[-85.1171174,42.0862692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937678":{"id":"n1820937678","loc":[-85.0346824,42.1005519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937680":{"id":"n1820937680","loc":[-85.2389927,42.0229245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937681":{"id":"n1820937681","loc":[-85.0834892,42.1018642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937682":{"id":"n1820937682","loc":[-85.0619443,42.1049459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937683":{"id":"n1820937683","loc":[-85.2845366,41.9811868],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937684":{"id":"n1820937684","loc":[-85.210411,42.0394123],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937685":{"id":"n1820937685","loc":[-85.4377383,42.0055942],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820937686":{"id":"n1820937686","loc":[-85.2882058,41.9789138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937687":{"id":"n1820937687","loc":[-85.2741191,41.9955808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937688":{"id":"n1820937688","loc":[-85.3442211,41.9903575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937689":{"id":"n1820937689","loc":[-85.2641413,41.9995237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937690":{"id":"n1820937690","loc":[-85.2804489,41.9829174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937691":{"id":"n1820937691","loc":[-85.5593342,41.9729074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937692":{"id":"n1820937692","loc":[-85.3590912,41.9932601],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:04Z","tags":{}},"n1820937694":{"id":"n1820937694","loc":[-85.4826445,41.9957479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937695":{"id":"n1820937695","loc":[-85.4539127,42.0063041],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937696":{"id":"n1820937696","loc":[-85.2456767,42.0153683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937697":{"id":"n1820937697","loc":[-85.5794015,41.9489631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937698":{"id":"n1820937698","loc":[-85.4108686,42.0078507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937699":{"id":"n1820937699","loc":[-85.0616386,42.1051529],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937700":{"id":"n1820937700","loc":[-85.4977979,41.978241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937701":{"id":"n1820937701","loc":[-85.2488417,42.0086319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937702":{"id":"n1820937702","loc":[-85.5588836,41.9728116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937703":{"id":"n1820937703","loc":[-85.4557366,42.0051241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937705":{"id":"n1820937705","loc":[-85.0723151,42.1056094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937706":{"id":"n1820937706","loc":[-85.0057909,42.0887323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937707":{"id":"n1820937707","loc":[-85.0756786,42.105677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937708":{"id":"n1820937708","loc":[-85.0901504,42.0940001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937709":{"id":"n1820937709","loc":[-85.0979999,42.0910213],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937710":{"id":"n1820937710","loc":[-85.2376301,42.0239686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937711":{"id":"n1820937711","loc":[-85.2780671,41.9902299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937712":{"id":"n1820937712","loc":[-85.251481,42.0113188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937713":{"id":"n1820937713","loc":[-85.3114767,41.9690311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937714":{"id":"n1820937714","loc":[-85.2649621,41.9975662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937715":{"id":"n1820937715","loc":[-85.283807,41.9813383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:05Z","tags":{}},"n1820937716":{"id":"n1820937716","loc":[-85.5515451,41.9703867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937717":{"id":"n1820937717","loc":[-85.1176605,42.0850896],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937718":{"id":"n1820937718","loc":[-85.1069317,42.0862441],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937719":{"id":"n1820937719","loc":[-85.2739314,41.9976938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937720":{"id":"n1820937720","loc":[-85.5550212,41.9702112],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937721":{"id":"n1820937721","loc":[-85.3076679,41.9719904],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937722":{"id":"n1820937722","loc":[-85.592319,41.9440316],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937723":{"id":"n1820937723","loc":[-85.3139979,41.9704031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937724":{"id":"n1820937724","loc":[-85.0421134,42.1013149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937725":{"id":"n1820937725","loc":[-85.2508373,42.0102741],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937726":{"id":"n1820937726","loc":[-85.0830922,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937727":{"id":"n1820937727","loc":[-85.6342473,41.9360031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937730":{"id":"n1820937730","loc":[-85.0500192,42.1024942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937731":{"id":"n1820937731","loc":[-85.3498644,41.9926221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937732":{"id":"n1820937732","loc":[-85.0234117,42.0918903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937733":{"id":"n1820937733","loc":[-85.0464425,42.1009408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937734":{"id":"n1820937734","loc":[-85.033938,42.099886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937736":{"id":"n1820937736","loc":[-85.0152752,42.0886009],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937737":{"id":"n1820937737","loc":[-85.0441894,42.1012671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937738":{"id":"n1820937738","loc":[-85.4668731,41.9979804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937739":{"id":"n1820937739","loc":[-85.4407377,42.006033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937740":{"id":"n1820937740","loc":[-85.2262253,42.0344878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937741":{"id":"n1820937741","loc":[-85.2550001,42.0033706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937742":{"id":"n1820937742","loc":[-85.3071422,41.9722617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937743":{"id":"n1820937743","loc":[-85.6147852,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937744":{"id":"n1820937744","loc":[-85.0183853,42.0901825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:06Z","tags":{}},"n1820937745":{"id":"n1820937745","loc":[-85.6323161,41.9228489],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937746":{"id":"n1820937746","loc":[-85.0095568,42.0901376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937747":{"id":"n1820937747","loc":[-85.2524037,42.0113826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937748":{"id":"n1820937748","loc":[-85.3186864,41.9708578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937749":{"id":"n1820937749","loc":[-85.2805669,41.9870883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937750":{"id":"n1820937750","loc":[-85.0585768,42.1038144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937751":{"id":"n1820937751","loc":[-85.2970786,41.9715358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937752":{"id":"n1820937752","loc":[-85.1315758,42.0723445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937753":{"id":"n1820937753","loc":[-85.2448291,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937754":{"id":"n1820937754","loc":[-85.2446468,42.0174248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937755":{"id":"n1820937755","loc":[-85.229165,42.032129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937756":{"id":"n1820937756","loc":[-85.5612654,41.9724926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937757":{"id":"n1820937757","loc":[-85.2331776,42.030854],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937758":{"id":"n1820937758","loc":[-85.2271909,42.0334519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937759":{"id":"n1820937759","loc":[-85.1032396,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937760":{"id":"n1820937760","loc":[-85.0638447,42.1044154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937761":{"id":"n1820937761","loc":[-85.1260706,42.0745556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937762":{"id":"n1820937762","loc":[-85.3454485,41.99132],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937763":{"id":"n1820937763","loc":[-85.2639321,41.9980088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937764":{"id":"n1820937764","loc":[-85.0837681,42.1013746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937765":{"id":"n1820937765","loc":[-85.2808137,41.9869368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937766":{"id":"n1820937766","loc":[-85.6338997,41.9309373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937767":{"id":"n1820937767","loc":[-85.2267403,42.0332766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937768":{"id":"n1820937768","loc":[-85.0605831,42.1052074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937769":{"id":"n1820937769","loc":[-85.0259021,42.0930037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937770":{"id":"n1820937770","loc":[-85.232963,42.0313162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937771":{"id":"n1820937771","loc":[-85.2404947,42.0125381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:07Z","tags":{}},"n1820937772":{"id":"n1820937772","loc":[-85.0910892,42.0935742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937773":{"id":"n1820937773","loc":[-85.2554829,42.0019435],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937774":{"id":"n1820937774","loc":[-85.2799339,41.9867773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937775":{"id":"n1820937775","loc":[-85.1075432,42.0852767],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937776":{"id":"n1820937776","loc":[-85.1176927,42.0854001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937777":{"id":"n1820937777","loc":[-85.1067064,42.0863357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937778":{"id":"n1820937778","loc":[-85.2517492,42.0106333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937779":{"id":"n1820937779","loc":[-85.0987174,42.0909031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937780":{"id":"n1820937780","loc":[-85.1160083,42.0863994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937781":{"id":"n1820937781","loc":[-85.1268645,42.0739703],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937782":{"id":"n1820937782","loc":[-85.0454702,42.1002852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937783":{"id":"n1820937783","loc":[-85.1334145,42.0705418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937784":{"id":"n1820937784","loc":[-85.5866542,41.947431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937786":{"id":"n1820937786","loc":[-85.2359886,42.0250366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937787":{"id":"n1820937787","loc":[-85.3138048,41.9698527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937788":{"id":"n1820937788","loc":[-85.1274291,42.0733081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937790":{"id":"n1820937790","loc":[-85.6292905,41.9411267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937791":{"id":"n1820937791","loc":[-85.5958809,41.9417333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:08Z","tags":{}},"n1820937792":{"id":"n1820937792","loc":[-85.1271019,42.0737581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937793":{"id":"n1820937793","loc":[-85.2312679,42.0314437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937794":{"id":"n1820937794","loc":[-85.1081387,42.0863516],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937795":{"id":"n1820937795","loc":[-85.2424473,42.0212109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937796":{"id":"n1820937796","loc":[-85.2710654,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937797":{"id":"n1820937797","loc":[-85.4798408,41.9863223],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820937798":{"id":"n1820937798","loc":[-85.035939,42.104296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937799":{"id":"n1820937799","loc":[-85.2178139,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937800":{"id":"n1820937800","loc":[-85.0630709,42.1042614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937801":{"id":"n1820937801","loc":[-85.0440124,42.1014861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937802":{"id":"n1820937802","loc":[-85.1321874,42.0720458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937804":{"id":"n1820937804","loc":[-85.079427,42.1029121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937805":{"id":"n1820937805","loc":[-85.2962632,41.9738968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937806":{"id":"n1820937806","loc":[-85.6334748,41.9274627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937807":{"id":"n1820937807","loc":[-85.1057341,42.0872804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937808":{"id":"n1820937808","loc":[-85.4960169,41.9778263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937809":{"id":"n1820937809","loc":[-85.2821226,41.9910273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937810":{"id":"n1820937810","loc":[-85.0013868,42.0885054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937811":{"id":"n1820937811","loc":[-85.2952547,41.9729795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937812":{"id":"n1820937812","loc":[-85.1298375,42.0667842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937813":{"id":"n1820937813","loc":[-85.1339201,42.0710025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937814":{"id":"n1820937814","loc":[-85.0374356,42.103691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937815":{"id":"n1820937815","loc":[-85.0061115,42.0880607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937817":{"id":"n1820937817","loc":[-85.2398402,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937818":{"id":"n1820937818","loc":[-85.123501,42.076236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:09Z","tags":{}},"n1820937819":{"id":"n1820937819","loc":[-85.1209489,42.0791294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937820":{"id":"n1820937820","loc":[-85.0818624,42.1025778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937821":{"id":"n1820937821","loc":[-85.4428835,42.0054749],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937822":{"id":"n1820937822","loc":[-85.4710359,41.9961147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937823":{"id":"n1820937823","loc":[-85.4253354,42.006198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937824":{"id":"n1820937824","loc":[-85.5486483,41.9709451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937825":{"id":"n1820937825","loc":[-85.2303238,42.0310452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937826":{"id":"n1820937826","loc":[-85.6450405,41.9136361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937828":{"id":"n1820937828","loc":[-85.2606853,41.9964073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937830":{"id":"n1820937830","loc":[-85.097383,42.0911447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937831":{"id":"n1820937831","loc":[-85.0498207,42.102136],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937832":{"id":"n1820937832","loc":[-85.1232435,42.0763793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937833":{"id":"n1820937833","loc":[-85.394093,42.0055921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937834":{"id":"n1820937834","loc":[-85.3566665,41.9928295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937835":{"id":"n1820937835","loc":[-85.3543276,41.9920002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937837":{"id":"n1820937837","loc":[-85.084668,42.1034932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937838":{"id":"n1820937838","loc":[-85.4400296,42.0060649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937839":{"id":"n1820937839","loc":[-85.2362246,42.025714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937840":{"id":"n1820937840","loc":[-85.0409225,42.1012791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937841":{"id":"n1820937841","loc":[-85.2442283,42.019832],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937842":{"id":"n1820937842","loc":[-85.1123001,42.084824],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937843":{"id":"n1820937843","loc":[-85.1603074,42.0638061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937844":{"id":"n1820937844","loc":[-85.1359744,42.0650646],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937845":{"id":"n1820937845","loc":[-85.1757569,42.053849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937846":{"id":"n1820937846","loc":[-85.5200925,41.9716686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937848":{"id":"n1820937848","loc":[-85.5525322,41.9701315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937849":{"id":"n1820937849","loc":[-85.0406489,42.10149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:10Z","tags":{}},"n1820937850":{"id":"n1820937850","loc":[-85.0142547,42.088825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937851":{"id":"n1820937851","loc":[-85.343749,41.9881884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937852":{"id":"n1820937852","loc":[-85.074996,42.1060205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937853":{"id":"n1820937853","loc":[-85.2436275,42.0136864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937854":{"id":"n1820937854","loc":[-85.2641453,41.9980897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937856":{"id":"n1820937856","loc":[-85.2802343,41.9870086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937857":{"id":"n1820937857","loc":[-85.0099256,42.0909946],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937858":{"id":"n1820937858","loc":[-85.493957,41.9786079],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937859":{"id":"n1820937859","loc":[-85.0739405,42.1059795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937860":{"id":"n1820937860","loc":[-85.2331605,42.0301423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937862":{"id":"n1820937862","loc":[-85.2035231,42.0438425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937863":{"id":"n1820937863","loc":[-85.0884928,42.0986971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937864":{"id":"n1820937864","loc":[-85.131597,42.0690142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937865":{"id":"n1820937865","loc":[-85.3937454,42.0052677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937866":{"id":"n1820937866","loc":[-85.2212729,42.0378561],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937867":{"id":"n1820937867","loc":[-85.0886068,42.0982421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937868":{"id":"n1820937868","loc":[-85.0875004,42.0968064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:11Z","tags":{}},"n1820937869":{"id":"n1820937869","loc":[-85.0771323,42.1042642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937870":{"id":"n1820937870","loc":[-85.0164554,42.0894887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937871":{"id":"n1820937871","loc":[-85.6069102,41.9415577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937872":{"id":"n1820937872","loc":[-85.3273875,41.9704908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937873":{"id":"n1820937873","loc":[-85.3890891,41.9997983],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937875":{"id":"n1820937875","loc":[-85.5091276,41.9723705],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937876":{"id":"n1820937876","loc":[-85.0770626,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937877":{"id":"n1820937877","loc":[-85.612575,41.9419567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937878":{"id":"n1820937878","loc":[-85.3868146,42.0036094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937879":{"id":"n1820937879","loc":[-85.2722738,41.9981204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937880":{"id":"n1820937880","loc":[-85.3064878,41.9723733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937882":{"id":"n1820937882","loc":[-85.1270845,42.0727678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937884":{"id":"n1820937884","loc":[-85.3316512,41.97923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937885":{"id":"n1820937885","loc":[-85.3932519,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937886":{"id":"n1820937886","loc":[-85.2457411,42.0175444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937887":{"id":"n1820937887","loc":[-85.1397509,42.0648415],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937891":{"id":"n1820937891","loc":[-85.3196735,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937892":{"id":"n1820937892","loc":[-85.3372473,41.9845033],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937894":{"id":"n1820937894","loc":[-85.3254778,41.9719745],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937897":{"id":"n1820937897","loc":[-85.3185148,41.9691268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937899":{"id":"n1820937899","loc":[-85.5419106,41.9714556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937901":{"id":"n1820937901","loc":[-85.3293509,41.9748368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:12Z","tags":{}},"n1820937903":{"id":"n1820937903","loc":[-85.0798078,42.1028365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937905":{"id":"n1820937905","loc":[-85.3954191,42.0056025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937909":{"id":"n1820937909","loc":[-85.3417534,41.9857155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937913":{"id":"n1820937913","loc":[-84.9927822,42.0857107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937915":{"id":"n1820937915","loc":[-85.5444212,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937917":{"id":"n1820937917","loc":[-85.259088,41.9981682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937921":{"id":"n1820937921","loc":[-85.2784576,41.9876358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937922":{"id":"n1820937922","loc":[-84.9971918,42.087753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937924":{"id":"n1820937924","loc":[-85.5310688,41.966899],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820937928":{"id":"n1820937928","loc":[-85.3766436,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937930":{"id":"n1820937930","loc":[-85.5494852,41.9704346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937933":{"id":"n1820937933","loc":[-85.5548281,41.9695412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937935":{"id":"n1820937935","loc":[-85.0768588,42.105088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937937":{"id":"n1820937937","loc":[-85.2646885,41.9978054],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937939":{"id":"n1820937939","loc":[-85.2441532,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937941":{"id":"n1820937941","loc":[-85.105553,42.0877928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937943":{"id":"n1820937943","loc":[-85.0879457,42.0958909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937944":{"id":"n1820937944","loc":[-85.3187015,41.9704402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937945":{"id":"n1820937945","loc":[-85.5624456,41.970626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937946":{"id":"n1820937946","loc":[-85.0580176,42.1028644],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937948":{"id":"n1820937948","loc":[-85.3016061,41.9726286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937949":{"id":"n1820937949","loc":[-85.4310388,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937950":{"id":"n1820937950","loc":[-85.2945144,41.9740723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937951":{"id":"n1820937951","loc":[-85.1170222,42.082657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:13Z","tags":{}},"n1820937952":{"id":"n1820937952","loc":[-85.0864503,42.0947632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937953":{"id":"n1820937953","loc":[-85.4285926,42.0059533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937970":{"id":"n1820937970","loc":[-85.3629965,41.9938023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937972":{"id":"n1820937972","loc":[-85.2438099,42.0199755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937974":{"id":"n1820937974","loc":[-85.1327654,42.0699285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937977":{"id":"n1820937977","loc":[-85.1515956,42.0611935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937978":{"id":"n1820937978","loc":[-85.0107369,42.0896638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937979":{"id":"n1820937979","loc":[-85.1152626,42.0862083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937980":{"id":"n1820937980","loc":[-85.4531831,42.0062881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937981":{"id":"n1820937981","loc":[-85.0341473,42.0985924],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937982":{"id":"n1820937982","loc":[-85.0877485,42.0960171],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937983":{"id":"n1820937983","loc":[-85.2756373,41.9951742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937984":{"id":"n1820937984","loc":[-85.2965421,41.9714401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937985":{"id":"n1820937985","loc":[-85.2409775,42.0226934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937986":{"id":"n1820937986","loc":[-85.0170723,42.0900579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937987":{"id":"n1820937987","loc":[-85.1034663,42.0880555],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937988":{"id":"n1820937988","loc":[-85.0585071,42.1031577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937990":{"id":"n1820937990","loc":[-85.0819174,42.1032373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937992":{"id":"n1820937992","loc":[-85.0546608,42.1030542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937993":{"id":"n1820937993","loc":[-85.0100811,42.0906125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937995":{"id":"n1820937995","loc":[-85.6304278,41.9432655],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820937997":{"id":"n1820937997","loc":[-85.0255628,42.092778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:14Z","tags":{}},"n1820938011":{"id":"n1820938011","loc":[-85.2316756,42.0317146],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938012":{"id":"n1820938012","loc":[-85.4067917,42.008042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938013":{"id":"n1820938013","loc":[-85.390398,42.0028759],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938014":{"id":"n1820938014","loc":[-85.0161604,42.0886527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938015":{"id":"n1820938015","loc":[-85.125337,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938016":{"id":"n1820938016","loc":[-85.2151317,42.0404801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938017":{"id":"n1820938017","loc":[-85.3165085,41.9706025],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938018":{"id":"n1820938018","loc":[-85.5641193,41.9640688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938019":{"id":"n1820938019","loc":[-85.147583,42.0642203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938022":{"id":"n1820938022","loc":[-85.2803781,41.9947886],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938024":{"id":"n1820938024","loc":[-85.2692469,41.9982053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938026":{"id":"n1820938026","loc":[-85.4321975,42.0067505],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938028":{"id":"n1820938028","loc":[-85.572535,41.9633405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938030":{"id":"n1820938030","loc":[-85.3237505,41.9716475],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938032":{"id":"n1820938032","loc":[-85.6487698,41.9141583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938033":{"id":"n1820938033","loc":[-85.0526371,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938034":{"id":"n1820938034","loc":[-85.088069,42.0978731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938035":{"id":"n1820938035","loc":[-85.2516312,42.0102267],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938039":{"id":"n1820938039","loc":[-85.2731374,41.9982958],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:15Z","tags":{}},"n1820938040":{"id":"n1820938040","loc":[-85.5453224,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938041":{"id":"n1820938041","loc":[-85.4480548,42.0049647],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938043":{"id":"n1820938043","loc":[-85.2504081,42.010322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938045":{"id":"n1820938045","loc":[-85.2663447,41.99919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938046":{"id":"n1820938046","loc":[-85.0507287,42.102907],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938047":{"id":"n1820938047","loc":[-85.0408246,42.1024743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938048":{"id":"n1820938048","loc":[-85.2796335,41.9866099],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938050":{"id":"n1820938050","loc":[-85.452475,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938051":{"id":"n1820938051","loc":[-85.2410569,42.0128147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938052":{"id":"n1820938052","loc":[-85.0413302,42.1011477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938053":{"id":"n1820938053","loc":[-85.6327409,41.9197627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938056":{"id":"n1820938056","loc":[-85.1072039,42.0857994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938057":{"id":"n1820938057","loc":[-85.2001114,42.0448145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938058":{"id":"n1820938058","loc":[-85.2655347,41.9978186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938059":{"id":"n1820938059","loc":[-85.2330918,42.0304874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938060":{"id":"n1820938060","loc":[-85.2601113,41.9966545],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938061":{"id":"n1820938061","loc":[-85.5397863,41.9708494],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938062":{"id":"n1820938062","loc":[-85.2702085,41.9977217],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938063":{"id":"n1820938063","loc":[-85.2219982,42.03699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938064":{"id":"n1820938064","loc":[-85.0668957,42.105121],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938065":{"id":"n1820938065","loc":[-85.2328665,42.0270769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938066":{"id":"n1820938066","loc":[-85.3189654,41.9694778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938067":{"id":"n1820938067","loc":[-85.3814115,42.0022915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938068":{"id":"n1820938068","loc":[-85.2759108,41.9956008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:16Z","tags":{}},"n1820938069":{"id":"n1820938069","loc":[-85.0391938,42.1034853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938070":{"id":"n1820938070","loc":[-85.2850623,41.9810353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938071":{"id":"n1820938071","loc":[-85.538074,41.970855],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938073":{"id":"n1820938073","loc":[-85.1319661,42.0670932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938074":{"id":"n1820938074","loc":[-85.2816763,41.9913678],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938075":{"id":"n1820938075","loc":[-85.3182144,41.9700282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938076":{"id":"n1820938076","loc":[-85.5909028,41.9458989],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938077":{"id":"n1820938077","loc":[-85.4057617,42.0074361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938078":{"id":"n1820938078","loc":[-85.2620438,41.9967729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938079":{"id":"n1820938079","loc":[-85.1122143,42.0851107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938080":{"id":"n1820938080","loc":[-85.2443785,42.0174567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938081":{"id":"n1820938081","loc":[-85.0319733,42.0953853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938082":{"id":"n1820938082","loc":[-85.0878276,42.09443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938083":{"id":"n1820938083","loc":[-85.0271789,42.0935809],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938084":{"id":"n1820938084","loc":[-85.0326399,42.0974222],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938085":{"id":"n1820938085","loc":[-85.3989167,42.0065592],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938086":{"id":"n1820938086","loc":[-85.3263361,41.9721261],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938087":{"id":"n1820938087","loc":[-85.2547855,42.0037134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938088":{"id":"n1820938088","loc":[-85.4373259,42.005746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938089":{"id":"n1820938089","loc":[-85.3094275,41.9699245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938090":{"id":"n1820938090","loc":[-85.2783246,41.9872793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938092":{"id":"n1820938092","loc":[-85.0815633,42.1025169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938093":{"id":"n1820938093","loc":[-85.1788511,42.0522134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938095":{"id":"n1820938095","loc":[-85.2830345,41.9816733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938096":{"id":"n1820938096","loc":[-85.0744984,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938097":{"id":"n1820938097","loc":[-85.2788396,41.9879333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:17Z","tags":{}},"n1820938098":{"id":"n1820938098","loc":[-85.3640093,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938099":{"id":"n1820938099","loc":[-85.291167,41.9787463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938100":{"id":"n1820938100","loc":[-85.0772436,42.1038156],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938101":{"id":"n1820938101","loc":[-85.00563,42.0887482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938102":{"id":"n1820938102","loc":[-85.0326881,42.0961245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938104":{"id":"n1820938104","loc":[-85.0530448,42.1038634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938105":{"id":"n1820938105","loc":[-85.2625266,41.9970639],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938106":{"id":"n1820938106","loc":[-85.2827556,41.9823512],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938107":{"id":"n1820938107","loc":[-85.2784319,41.9910752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938108":{"id":"n1820938108","loc":[-85.0882099,42.094393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938109":{"id":"n1820938109","loc":[-85.5718484,41.9645371],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938110":{"id":"n1820938110","loc":[-85.2559764,42.0099317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938111":{"id":"n1820938111","loc":[-85.2969284,41.973179],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938113":{"id":"n1820938113","loc":[-85.3875055,42.0019726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938114":{"id":"n1820938114","loc":[-85.4250779,42.0068199],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938115":{"id":"n1820938115","loc":[-85.0645367,42.104889],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938116":{"id":"n1820938116","loc":[-85.1636762,42.0623724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938117":{"id":"n1820938117","loc":[-85.0757322,42.1055935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:18Z","tags":{}},"n1820938118":{"id":"n1820938118","loc":[-85.3695197,41.9981559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938120":{"id":"n1820938120","loc":[-85.1297516,42.0671027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938121":{"id":"n1820938121","loc":[-85.1057448,42.0875551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938122":{"id":"n1820938122","loc":[-85.2805175,41.9943182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938123":{"id":"n1820938123","loc":[-85.2545173,42.0040722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938124":{"id":"n1820938124","loc":[-84.9966607,42.0871319],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938125":{"id":"n1820938125","loc":[-85.0099899,42.0904612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938126":{"id":"n1820938126","loc":[-85.2489919,42.0091102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938127":{"id":"n1820938127","loc":[-85.0342706,42.0979476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938128":{"id":"n1820938128","loc":[-85.1080891,42.0855884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938129":{"id":"n1820938129","loc":[-85.0128183,42.0905356],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938130":{"id":"n1820938130","loc":[-85.631608,41.9434251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938131":{"id":"n1820938131","loc":[-85.2551975,42.0008524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938132":{"id":"n1820938132","loc":[-85.6421823,41.9096233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938133":{"id":"n1820938133","loc":[-85.0125059,42.0906284],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938134":{"id":"n1820938134","loc":[-85.5499358,41.9701793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938135":{"id":"n1820938135","loc":[-85.5472107,41.9712323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938136":{"id":"n1820938136","loc":[-85.2760758,41.9958691],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938137":{"id":"n1820938137","loc":[-85.276678,41.9960433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938138":{"id":"n1820938138","loc":[-85.0570319,42.1024731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938140":{"id":"n1820938140","loc":[-85.2394325,42.0227492],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938142":{"id":"n1820938142","loc":[-85.5666341,41.9638829],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938144":{"id":"n1820938144","loc":[-85.258101,41.9996353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938147":{"id":"n1820938147","loc":[-85.2129645,42.0413565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:19Z","tags":{}},"n1820938149":{"id":"n1820938149","loc":[-84.9962369,42.0868373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938151":{"id":"n1820938151","loc":[-85.2570386,42.0084968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938153":{"id":"n1820938153","loc":[-85.3971142,42.0050285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938155":{"id":"n1820938155","loc":[-85.1072093,42.0855566],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938157":{"id":"n1820938157","loc":[-85.2840323,41.9920959],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938159":{"id":"n1820938159","loc":[-85.1187924,42.0816458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938161":{"id":"n1820938161","loc":[-85.2681324,41.9985788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938163":{"id":"n1820938163","loc":[-85.0887034,42.0984969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938165":{"id":"n1820938165","loc":[-85.4133405,42.0073141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938166":{"id":"n1820938166","loc":[-85.0097445,42.0902888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938167":{"id":"n1820938167","loc":[-85.0828133,42.1037388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938168":{"id":"n1820938168","loc":[-85.0549599,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938169":{"id":"n1820938169","loc":[-85.4571528,42.0010421],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938178":{"id":"n1820938178","loc":[-85.2706644,41.9975941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938180":{"id":"n1820938180","loc":[-85.2258606,42.0335794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938182":{"id":"n1820938182","loc":[-85.2832276,41.9814659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938184":{"id":"n1820938184","loc":[-85.1082299,42.0860928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938185":{"id":"n1820938185","loc":[-85.3839392,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938186":{"id":"n1820938186","loc":[-85.2772131,41.995905],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938187":{"id":"n1820938187","loc":[-85.1044895,42.0879214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938188":{"id":"n1820938188","loc":[-85.2135267,42.0407087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938189":{"id":"n1820938189","loc":[-85.2543993,42.0044628],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938190":{"id":"n1820938190","loc":[-85.1501793,42.0617351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938191":{"id":"n1820938191","loc":[-85.3350587,41.9820469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938192":{"id":"n1820938192","loc":[-85.1350731,42.0655735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938193":{"id":"n1820938193","loc":[-85.0404008,42.1028843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:20Z","tags":{}},"n1820938194":{"id":"n1820938194","loc":[-85.6323161,41.943042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938195":{"id":"n1820938195","loc":[-85.1259593,42.0742837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938196":{"id":"n1820938196","loc":[-85.4562988,42.0033758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938197":{"id":"n1820938197","loc":[-85.256824,42.0056826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938198":{"id":"n1820938198","loc":[-85.2742103,41.9963862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938199":{"id":"n1820938199","loc":[-85.0380888,42.1037877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938200":{"id":"n1820938200","loc":[-85.47404,41.9944721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938201":{"id":"n1820938201","loc":[-85.103021,42.087948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938202":{"id":"n1820938202","loc":[-85.4030151,42.0065113],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938203":{"id":"n1820938203","loc":[-85.2113981,42.040735],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938204":{"id":"n1820938204","loc":[-85.2603433,41.9965137],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938206":{"id":"n1820938206","loc":[-85.1669378,42.0607634],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938207":{"id":"n1820938207","loc":[-85.0642027,42.1046076],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938208":{"id":"n1820938208","loc":[-85.2812428,41.9915696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938209":{"id":"n1820938209","loc":[-85.0839559,42.1038343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938210":{"id":"n1820938210","loc":[-85.1239946,42.0769368],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938211":{"id":"n1820938211","loc":[-85.2311177,42.0283042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938212":{"id":"n1820938212","loc":[-85.2791614,41.9882682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938213":{"id":"n1820938213","loc":[-85.2674941,41.9987582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938214":{"id":"n1820938214","loc":[-85.352787,41.9919579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938215":{"id":"n1820938215","loc":[-85.0874146,42.0952182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938216":{"id":"n1820938216","loc":[-85.0069711,42.0877092],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938217":{"id":"n1820938217","loc":[-85.2059049,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938218":{"id":"n1820938218","loc":[-85.2403552,42.0227332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938219":{"id":"n1820938219","loc":[-85.2492923,42.0098915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:21Z","tags":{}},"n1820938220":{"id":"n1820938220","loc":[-85.269778,41.9979541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938221":{"id":"n1820938221","loc":[-85.2097673,42.0389024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938222":{"id":"n1820938222","loc":[-85.0845942,42.1032015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938223":{"id":"n1820938223","loc":[-84.993206,42.0858142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938224":{"id":"n1820938224","loc":[-85.2108187,42.0402729],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938225":{"id":"n1820938225","loc":[-84.9893959,42.0873043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938226":{"id":"n1820938226","loc":[-85.2952332,41.9719984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938227":{"id":"n1820938227","loc":[-85.4100961,42.0081536],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938228":{"id":"n1820938228","loc":[-85.3299088,41.9785696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938229":{"id":"n1820938229","loc":[-85.2258176,42.0340097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938230":{"id":"n1820938230","loc":[-85.3146739,41.9711449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938231":{"id":"n1820938231","loc":[-85.5447645,41.9712801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938232":{"id":"n1820938232","loc":[-85.5510087,41.9705941],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938233":{"id":"n1820938233","loc":[-85.5122389,41.9703445],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938234":{"id":"n1820938234","loc":[-85.2792687,41.9865381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938235":{"id":"n1820938235","loc":[-85.1475229,42.0630151],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938237":{"id":"n1820938237","loc":[-85.0332889,42.0996034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938238":{"id":"n1820938238","loc":[-85.2588882,41.9986877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938239":{"id":"n1820938239","loc":[-85.0656458,42.1050892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:22Z","tags":{}},"n1820938240":{"id":"n1820938240","loc":[-84.9913915,42.086098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938241":{"id":"n1820938241","loc":[-85.4752416,41.9944402],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938242":{"id":"n1820938242","loc":[-85.1214304,42.0791147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938243":{"id":"n1820938243","loc":[-85.0075183,42.0886925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938244":{"id":"n1820938244","loc":[-85.1052888,42.0872087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938245":{"id":"n1820938245","loc":[-85.3104252,41.9703393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938246":{"id":"n1820938246","loc":[-85.232109,42.0318158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938247":{"id":"n1820938247","loc":[-85.0756075,42.1059528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938248":{"id":"n1820938248","loc":[-85.0075612,42.0890866],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938249":{"id":"n1820938249","loc":[-85.1013312,42.0897474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938250":{"id":"n1820938250","loc":[-85.1168076,42.0828919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938251":{"id":"n1820938251","loc":[-85.2951367,41.9723334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938252":{"id":"n1820938252","loc":[-85.0879363,42.0976053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938253":{"id":"n1820938253","loc":[-85.0354763,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938254":{"id":"n1820938254","loc":[-85.2379627,42.0236339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938255":{"id":"n1820938255","loc":[-85.1308245,42.0685364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938256":{"id":"n1820938256","loc":[-85.0914446,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938257":{"id":"n1820938257","loc":[-85.2436812,42.014069],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938258":{"id":"n1820938258","loc":[-85.0682529,42.1056106],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938259":{"id":"n1820938259","loc":[-85.290652,41.9766805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938260":{"id":"n1820938260","loc":[-85.0133494,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938261":{"id":"n1820938261","loc":[-85.2753047,41.9949429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938262":{"id":"n1820938262","loc":[-85.0314691,42.0950788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:23Z","tags":{}},"n1820938263":{"id":"n1820938263","loc":[-85.3444786,41.9908359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938264":{"id":"n1820938264","loc":[-85.0443115,42.1009061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938265":{"id":"n1820938265","loc":[-85.0634853,42.1043159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938267":{"id":"n1820938267","loc":[-85.3978223,42.0053952],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938268":{"id":"n1820938268","loc":[-85.0228659,42.0911885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938269":{"id":"n1820938269","loc":[-85.0220237,42.0906272],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938270":{"id":"n1820938270","loc":[-85.1061525,42.0863369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938271":{"id":"n1820938271","loc":[-85.2382309,42.0233708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938272":{"id":"n1820938272","loc":[-85.310672,41.9702755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938273":{"id":"n1820938273","loc":[-85.1448192,42.0652613],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938274":{"id":"n1820938274","loc":[-85.6036057,41.9403766],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938275":{"id":"n1820938275","loc":[-85.0778941,42.1032413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938276":{"id":"n1820938276","loc":[-85.1279374,42.0723974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938277":{"id":"n1820938277","loc":[-85.2806635,41.9847836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938278":{"id":"n1820938278","loc":[-85.2653201,41.9976352],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938279":{"id":"n1820938279","loc":[-85.0351665,42.1001805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938280":{"id":"n1820938280","loc":[-85.0718269,42.1056253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938281":{"id":"n1820938281","loc":[-85.2574248,42.0075322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938282":{"id":"n1820938282","loc":[-85.126666,42.0740778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938283":{"id":"n1820938283","loc":[-85.077705,42.1034733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938284":{"id":"n1820938284","loc":[-85.3535552,41.9919045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938286":{"id":"n1820938286","loc":[-85.2810711,41.9866657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938287":{"id":"n1820938287","loc":[-85.4567494,42.0019885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938288":{"id":"n1820938288","loc":[-85.2642419,41.9992936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938289":{"id":"n1820938289","loc":[-85.2643344,41.9980925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938290":{"id":"n1820938290","loc":[-85.3270335,41.9776125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938291":{"id":"n1820938291","loc":[-85.1200584,42.0795077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:24Z","tags":{}},"n1820938292":{"id":"n1820938292","loc":[-85.2290792,42.0340256],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938293":{"id":"n1820938293","loc":[-85.6015887,41.9401372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938294":{"id":"n1820938294","loc":[-85.5370869,41.970488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938295":{"id":"n1820938295","loc":[-85.3108866,41.9698048],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938297":{"id":"n1820938297","loc":[-85.1556511,42.0628184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938298":{"id":"n1820938298","loc":[-85.0027922,42.0875221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938300":{"id":"n1820938300","loc":[-85.3873338,42.0040614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938301":{"id":"n1820938301","loc":[-85.0350753,42.1004034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938302":{"id":"n1820938302","loc":[-85.6239476,41.9411906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938304":{"id":"n1820938304","loc":[-85.0118246,42.0897964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938306":{"id":"n1820938306","loc":[-85.4796877,41.995275],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938307":{"id":"n1820938307","loc":[-85.5388636,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938309":{"id":"n1820938309","loc":[-85.2971902,41.9727773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938310":{"id":"n1820938310","loc":[-85.5426831,41.9715513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938311":{"id":"n1820938311","loc":[-85.2798373,41.9836671],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938312":{"id":"n1820938312","loc":[-85.2432198,42.0104017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938313":{"id":"n1820938313","loc":[-85.2650412,41.9987554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938317":{"id":"n1820938317","loc":[-85.0015423,42.0882386],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:25Z","tags":{}},"n1820938318":{"id":"n1820938318","loc":[-85.1409783,42.064879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938319":{"id":"n1820938319","loc":[-85.1691908,42.058995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938320":{"id":"n1820938320","loc":[-85.1059165,42.0864882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938321":{"id":"n1820938321","loc":[-85.3664941,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938323":{"id":"n1820938323","loc":[-85.3143198,41.9710971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938324":{"id":"n1820938324","loc":[-85.0016067,42.0880675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938325":{"id":"n1820938325","loc":[-85.0148139,42.0887164],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938326":{"id":"n1820938326","loc":[-85.0324682,42.0959056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938327":{"id":"n1820938327","loc":[-85.0898661,42.0939921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938328":{"id":"n1820938328","loc":[-85.2556427,42.0004936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938329":{"id":"n1820938329","loc":[-85.6287112,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938330":{"id":"n1820938330","loc":[-84.9913392,42.0866701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938331":{"id":"n1820938331","loc":[-85.2685777,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938332":{"id":"n1820938332","loc":[-85.0078884,42.0901614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938333":{"id":"n1820938333","loc":[-84.999642,42.0878616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938334":{"id":"n1820938334","loc":[-85.0188909,42.0899186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938335":{"id":"n1820938335","loc":[-85.2830238,41.9819843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938336":{"id":"n1820938336","loc":[-85.2491421,42.0096204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:26Z","tags":{}},"n1820938337":{"id":"n1820938337","loc":[-85.0585701,42.1034295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938338":{"id":"n1820938338","loc":[-85.0651965,42.1051636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938339":{"id":"n1820938339","loc":[-85.0583944,42.104292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938340":{"id":"n1820938340","loc":[-85.119876,42.0801567],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938341":{"id":"n1820938341","loc":[-85.0943937,42.0931323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938342":{"id":"n1820938342","loc":[-85.1504583,42.0613209],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938343":{"id":"n1820938343","loc":[-85.0425426,42.1019836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938345":{"id":"n1820938345","loc":[-84.9991391,42.0878206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938346":{"id":"n1820938346","loc":[-85.2563841,42.0094614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938347":{"id":"n1820938347","loc":[-85.0515387,42.103297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938348":{"id":"n1820938348","loc":[-85.0857261,42.1003636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938349":{"id":"n1820938349","loc":[-85.078971,42.1029241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938350":{"id":"n1820938350","loc":[-85.5699558,41.958931],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938351":{"id":"n1820938351","loc":[-85.3181285,41.9696533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938352":{"id":"n1820938352","loc":[-85.5998506,41.9402329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938353":{"id":"n1820938353","loc":[-85.2567277,42.000317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938354":{"id":"n1820938354","loc":[-85.3082795,41.9708338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938355":{"id":"n1820938355","loc":[-85.3127856,41.9692784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938356":{"id":"n1820938356","loc":[-85.0340775,42.1010721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938357":{"id":"n1820938357","loc":[-85.3158111,41.9706583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938359":{"id":"n1820938359","loc":[-85.2312035,42.0280412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938360":{"id":"n1820938360","loc":[-85.2448613,42.018477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938361":{"id":"n1820938361","loc":[-85.29077,41.9759068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:27Z","tags":{}},"n1820938364":{"id":"n1820938364","loc":[-85.3677387,41.9976615],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938365":{"id":"n1820938365","loc":[-85.0785204,42.1030355],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938366":{"id":"n1820938366","loc":[-85.2262039,42.0333722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938367":{"id":"n1820938367","loc":[-85.1226011,42.0780902],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938368":{"id":"n1820938368","loc":[-85.3229673,41.971129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938369":{"id":"n1820938369","loc":[-85.385334,42.0000056],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938370":{"id":"n1820938370","loc":[-85.000098,42.0879094],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938372":{"id":"n1820938372","loc":[-85.3852481,42.0025091],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938373":{"id":"n1820938373","loc":[-85.3770513,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938374":{"id":"n1820938374","loc":[-85.6278314,41.9405362],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938375":{"id":"n1820938375","loc":[-85.6355133,41.9344068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938376":{"id":"n1820938376","loc":[-85.635642,41.9324753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938377":{"id":"n1820938377","loc":[-85.3154463,41.970778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938378":{"id":"n1820938378","loc":[-85.0920334,42.093411],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938379":{"id":"n1820938379","loc":[-85.3269155,41.9722297],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938381":{"id":"n1820938381","loc":[-85.1134334,42.0849184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938382":{"id":"n1820938382","loc":[-85.005968,42.088585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938384":{"id":"n1820938384","loc":[-85.1245203,42.0757183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938385":{"id":"n1820938385","loc":[-85.020704,42.0905396],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938386":{"id":"n1820938386","loc":[-85.119585,42.0808984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938387":{"id":"n1820938387","loc":[-85.0072447,42.0880117],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938388":{"id":"n1820938388","loc":[-85.2742908,41.9960273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938389":{"id":"n1820938389","loc":[-85.3275807,41.9696852],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938390":{"id":"n1820938390","loc":[-85.2385635,42.0231556],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:28Z","tags":{}},"n1820938392":{"id":"n1820938392","loc":[-85.0202856,42.0900778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938393":{"id":"n1820938393","loc":[-85.2067847,42.0395398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938394":{"id":"n1820938394","loc":[-85.5183544,41.9713495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938396":{"id":"n1820938396","loc":[-85.5073037,41.9736787],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938397":{"id":"n1820938397","loc":[-85.2519638,42.0114225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938398":{"id":"n1820938398","loc":[-85.287487,41.9793285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938399":{"id":"n1820938399","loc":[-85.2298088,42.0336431],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938400":{"id":"n1820938400","loc":[-85.229444,42.0339141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938401":{"id":"n1820938401","loc":[-85.2421791,42.0220239],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938402":{"id":"n1820938402","loc":[-85.2976687,41.9737612],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938403":{"id":"n1820938403","loc":[-85.3622069,41.993473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938404":{"id":"n1820938404","loc":[-85.2465458,42.014906],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938405":{"id":"n1820938405","loc":[-85.5724663,41.9639412],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938406":{"id":"n1820938406","loc":[-85.3708501,41.9982037],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938408":{"id":"n1820938408","loc":[-85.2564592,42.0055311],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938409":{"id":"n1820938409","loc":[-85.1192846,42.0810856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938410":{"id":"n1820938410","loc":[-85.5623812,41.971663],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938411":{"id":"n1820938411","loc":[-85.3221948,41.9719665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938412":{"id":"n1820938412","loc":[-85.5168738,41.9710305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938413":{"id":"n1820938413","loc":[-85.4546852,42.0061127],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938414":{"id":"n1820938414","loc":[-85.5896153,41.9463617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:29Z","tags":{}},"n1820938415":{"id":"n1820938415","loc":[-85.2978189,41.9722138],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938416":{"id":"n1820938416","loc":[-85.1021681,42.0883581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938417":{"id":"n1820938417","loc":[-85.2797193,41.9912984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938419":{"id":"n1820938419","loc":[-85.2362461,42.0248533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938420":{"id":"n1820938420","loc":[-85.4833639,41.9846252],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820938422":{"id":"n1820938422","loc":[-85.3281064,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938424":{"id":"n1820938424","loc":[-85.2416963,42.0130088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938425":{"id":"n1820938425","loc":[-85.5718655,41.9564577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938426":{"id":"n1820938426","loc":[-85.0512812,42.1030701],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938427":{"id":"n1820938427","loc":[-85.1273527,42.0723616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938428":{"id":"n1820938428","loc":[-85.0215033,42.0904083],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938429":{"id":"n1820938429","loc":[-85.6169953,41.942228],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938430":{"id":"n1820938430","loc":[-85.2829165,41.9907243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938431":{"id":"n1820938431","loc":[-85.2240796,42.0374203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938432":{"id":"n1820938432","loc":[-85.0167598,42.0898442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938433":{"id":"n1820938433","loc":[-85.2132649,42.0411334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938434":{"id":"n1820938434","loc":[-85.2293839,42.031513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:30Z","tags":{}},"n1820938435":{"id":"n1820938435","loc":[-85.1203374,42.0792608],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938436":{"id":"n1820938436","loc":[-85.109571,42.086268],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938437":{"id":"n1820938437","loc":[-85.1079026,42.0853842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938438":{"id":"n1820938438","loc":[-85.109237,42.0862413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938439":{"id":"n1820938439","loc":[-85.2259936,42.0350831],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938440":{"id":"n1820938440","loc":[-85.3669705,41.99679],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938441":{"id":"n1820938441","loc":[-85.2418143,42.0223507],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938442":{"id":"n1820938442","loc":[-85.3101248,41.9702515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938443":{"id":"n1820938443","loc":[-85.069315,42.1059688],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938444":{"id":"n1820938444","loc":[-85.205862,42.0410378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938445":{"id":"n1820938445","loc":[-85.0388076,42.1036604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938446":{"id":"n1820938446","loc":[-85.2225389,42.0370115],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938447":{"id":"n1820938447","loc":[-85.3241474,41.9719346],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938448":{"id":"n1820938448","loc":[-85.3125496,41.9690789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938449":{"id":"n1820938449","loc":[-85.1146497,42.0857039],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938450":{"id":"n1820938450","loc":[-85.1333944,42.0714963],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938451":{"id":"n1820938451","loc":[-85.5619306,41.9720937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938452":{"id":"n1820938452","loc":[-85.2553651,42.0006479],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938453":{"id":"n1820938453","loc":[-85.3151137,41.9710093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938454":{"id":"n1820938454","loc":[-85.2592315,41.9977947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938455":{"id":"n1820938455","loc":[-85.2655723,41.9995966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:31Z","tags":{}},"n1820938456":{"id":"n1820938456","loc":[-85.4820652,41.9959233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938459":{"id":"n1820938459","loc":[-85.450737,42.0055068],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938460":{"id":"n1820938460","loc":[-85.2428658,42.0205573],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938461":{"id":"n1820938461","loc":[-85.0835576,42.1021559],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938462":{"id":"n1820938462","loc":[-85.244636,42.0194733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938463":{"id":"n1820938463","loc":[-85.5702562,41.9581332],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938465":{"id":"n1820938465","loc":[-85.5680031,41.9659515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938467":{"id":"n1820938467","loc":[-85.2798752,41.9948353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938468":{"id":"n1820938468","loc":[-85.0477407,42.1015537],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938469":{"id":"n1820938469","loc":[-85.6403842,41.913732],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938470":{"id":"n1820938470","loc":[-85.0396029,42.103289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938471":{"id":"n1820938471","loc":[-85.2824702,41.9907777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938472":{"id":"n1820938472","loc":[-85.2969284,41.9735538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938474":{"id":"n1820938474","loc":[-85.401041,42.0070853],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938475":{"id":"n1820938475","loc":[-85.4116625,42.0073883],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938476":{"id":"n1820938476","loc":[-85.0437764,42.1016214],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938477":{"id":"n1820938477","loc":[-85.3643269,41.9958436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938478":{"id":"n1820938478","loc":[-85.3895182,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938479":{"id":"n1820938479","loc":[-85.636157,41.9333373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:32Z","tags":{}},"n1820938480":{"id":"n1820938480","loc":[-85.2811355,41.9858044],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938481":{"id":"n1820938481","loc":[-85.0239052,42.092153],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938482":{"id":"n1820938482","loc":[-85.2558798,42.0053557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938483":{"id":"n1820938483","loc":[-85.2544422,42.0047339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938484":{"id":"n1820938484","loc":[-85.4864683,41.9843183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938485":{"id":"n1820938485","loc":[-85.2554185,42.0031075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938486":{"id":"n1820938486","loc":[-85.3082795,41.9712486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938487":{"id":"n1820938487","loc":[-85.2433378,42.0133436],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938488":{"id":"n1820938488","loc":[-85.0216696,42.0904162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938489":{"id":"n1820938489","loc":[-85.2546138,42.0050289],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938490":{"id":"n1820938490","loc":[-85.2717521,41.9977349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938491":{"id":"n1820938491","loc":[-85.0100489,42.0908195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938492":{"id":"n1820938492","loc":[-85.207879,42.0392211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938493":{"id":"n1820938493","loc":[-85.0007363,42.0882836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938494":{"id":"n1820938494","loc":[-85.5775303,41.9504097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938495":{"id":"n1820938495","loc":[-85.1131584,42.0847683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938496":{"id":"n1820938496","loc":[-85.0887825,42.0941633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938497":{"id":"n1820938497","loc":[-85.1185926,42.0818938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938498":{"id":"n1820938498","loc":[-85.2748487,41.9948712],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938499":{"id":"n1820938499","loc":[-85.2566952,42.0090788],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938500":{"id":"n1820938500","loc":[-85.0774757,42.1036234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938501":{"id":"n1820938501","loc":[-85.4190869,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938502":{"id":"n1820938502","loc":[-85.1140395,42.0850577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938503":{"id":"n1820938503","loc":[-85.1136104,42.0848627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938504":{"id":"n1820938504","loc":[-85.5828089,41.9480638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938505":{"id":"n1820938505","loc":[-85.625514,41.9405202],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938506":{"id":"n1820938506","loc":[-85.2063384,42.0398322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938507":{"id":"n1820938507","loc":[-85.3395476,41.9851636],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:33Z","tags":{}},"n1820938508":{"id":"n1820938508","loc":[-85.0328853,42.0963606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938510":{"id":"n1820938510","loc":[-85.1170369,42.0843702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938511":{"id":"n1820938511","loc":[-85.2784748,41.9868487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938512":{"id":"n1820938512","loc":[-85.6310501,41.9435528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938514":{"id":"n1820938514","loc":[-85.0334284,42.0981028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938515":{"id":"n1820938515","loc":[-84.9912091,42.0868226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938516":{"id":"n1820938516","loc":[-85.2806141,41.9940351],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938517":{"id":"n1820938517","loc":[-85.1233025,42.0776734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938518":{"id":"n1820938518","loc":[-85.2047891,42.0429023],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938519":{"id":"n1820938519","loc":[-85.1475443,42.0648312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938520":{"id":"n1820938520","loc":[-85.2644685,41.9990891],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938521":{"id":"n1820938521","loc":[-85.1056281,42.0872553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938522":{"id":"n1820938522","loc":[-85.4813184,41.9930105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938523":{"id":"n1820938523","loc":[-85.321551,41.9722936],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938524":{"id":"n1820938524","loc":[-85.1564664,42.0631211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938525":{"id":"n1820938525","loc":[-85.4149885,42.0079144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938527":{"id":"n1820938527","loc":[-85.2861888,41.9803653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938528":{"id":"n1820938528","loc":[-85.1301379,42.0682178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938529":{"id":"n1820938529","loc":[-85.4156537,42.0084247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938530":{"id":"n1820938530","loc":[-85.245151,42.0176082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938531":{"id":"n1820938531","loc":[-85.457818,42.0001651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:34Z","tags":{}},"n1820938532":{"id":"n1820938532","loc":[-85.310951,41.9694538],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938533":{"id":"n1820938533","loc":[-85.1509089,42.0611298],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938534":{"id":"n1820938534","loc":[-85.1108249,42.086321],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938535":{"id":"n1820938535","loc":[-85.1260344,42.0740687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938536":{"id":"n1820938536","loc":[-85.4561228,42.0042791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938537":{"id":"n1820938537","loc":[-85.2805082,41.9945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938538":{"id":"n1820938538","loc":[-85.273352,41.9981921],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938539":{"id":"n1820938539","loc":[-85.1084216,42.0864364],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938540":{"id":"n1820938540","loc":[-85.5009737,41.9773637],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938541":{"id":"n1820938541","loc":[-85.3960843,42.0051879],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938542":{"id":"n1820938542","loc":[-85.3425088,41.9865034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938545":{"id":"n1820938545","loc":[-84.9937907,42.0860849],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938546":{"id":"n1820938546","loc":[-85.1084176,42.086065],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938547":{"id":"n1820938547","loc":[-85.3492851,41.9924786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938548":{"id":"n1820938548","loc":[-85.2512235,42.0101147],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938549":{"id":"n1820938549","loc":[-85.3717298,41.9979326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:35Z","tags":{}},"n1820938551":{"id":"n1820938551","loc":[-85.2573712,42.0064081],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938552":{"id":"n1820938552","loc":[-85.2514596,42.010139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938553":{"id":"n1820938553","loc":[-85.416512,42.0088073],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938554":{"id":"n1820938554","loc":[-85.4365964,42.0061606],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938555":{"id":"n1820938555","loc":[-85.4552431,42.0057301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938556":{"id":"n1820938556","loc":[-85.2916283,41.9778769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938557":{"id":"n1820938557","loc":[-85.100709,42.0902968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938558":{"id":"n1820938558","loc":[-85.4703064,41.9965771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938559":{"id":"n1820938559","loc":[-85.3134722,41.9696134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938560":{"id":"n1820938560","loc":[-85.4834213,41.9885768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938561":{"id":"n1820938561","loc":[-85.2740641,41.9975236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938562":{"id":"n1820938562","loc":[-85.148334,42.0623405],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938563":{"id":"n1820938563","loc":[-85.2358598,42.0263675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938565":{"id":"n1820938565","loc":[-85.2902979,41.9790892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938566":{"id":"n1820938566","loc":[-85.2528865,42.0112869],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938567":{"id":"n1820938567","loc":[-85.2595319,41.9973003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938568":{"id":"n1820938568","loc":[-85.071151,42.105689],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938570":{"id":"n1820938570","loc":[-85.299278,41.9732188],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938571":{"id":"n1820938571","loc":[-85.0354669,42.1024771],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938583":{"id":"n1820938583","loc":[-85.3313937,41.972562],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938585":{"id":"n1820938585","loc":[-85.0756933,42.1058334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938587":{"id":"n1820938587","loc":[-85.3130324,41.9694219],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:36Z","tags":{}},"n1820938590":{"id":"n1820938590","loc":[-85.0934227,42.0931681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938592":{"id":"n1820938592","loc":[-85.3517956,41.9922553],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938593":{"id":"n1820938593","loc":[-85.4023971,42.0065169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938594":{"id":"n1820938594","loc":[-85.3506798,41.9925583],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938595":{"id":"n1820938595","loc":[-85.3673524,41.9971193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938596":{"id":"n1820938596","loc":[-85.1073608,42.0853523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938597":{"id":"n1820938597","loc":[-85.2976579,41.972477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938598":{"id":"n1820938598","loc":[-85.5616517,41.9694295],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938599":{"id":"n1820938599","loc":[-85.3552074,41.9921915],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938600":{"id":"n1820938600","loc":[-85.4665126,41.9999953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938601":{"id":"n1820938601","loc":[-85.2740695,41.9966226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938602":{"id":"n1820938602","loc":[-85.279376,41.9886669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938603":{"id":"n1820938603","loc":[-85.0771109,42.1040413],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938604":{"id":"n1820938604","loc":[-85.2636049,41.9977895],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938605":{"id":"n1820938605","loc":[-85.3762145,41.9976456],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938606":{"id":"n1820938606","loc":[-85.2321369,42.0289577],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938620":{"id":"n1820938620","loc":[-85.4947724,41.9776189],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938622":{"id":"n1820938622","loc":[-85.1547069,42.0622768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938624":{"id":"n1820938624","loc":[-85.0005056,42.0880249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938626":{"id":"n1820938626","loc":[-85.0735596,42.1059357],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938628":{"id":"n1820938628","loc":[-85.4665298,41.99932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938629":{"id":"n1820938629","loc":[-85.434515,42.0065273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938630":{"id":"n1820938630","loc":[-85.117462,42.0823823],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938631":{"id":"n1820938631","loc":[-85.0131777,42.0890707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938632":{"id":"n1820938632","loc":[-85.0875326,42.0961934],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:37Z","tags":{}},"n1820938634":{"id":"n1820938634","loc":[-85.6433839,41.9112042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938635":{"id":"n1820938635","loc":[-85.1366181,42.064969],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938636":{"id":"n1820938636","loc":[-85.073109,42.1057925],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938638":{"id":"n1820938638","loc":[-85.161406,42.0632541],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938640":{"id":"n1820938640","loc":[-85.6343932,41.9188845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938642":{"id":"n1820938642","loc":[-85.2500004,42.010306],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938644":{"id":"n1820938644","loc":[-85.291918,41.9753166],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938663":{"id":"n1820938663","loc":[-85.2841611,41.9916812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938664":{"id":"n1820938664","loc":[-85.1052955,42.0868134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938665":{"id":"n1820938665","loc":[-85.4606118,42.0005534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938666":{"id":"n1820938666","loc":[-85.5672736,41.9642922],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938667":{"id":"n1820938667","loc":[-85.6348481,41.9316932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938668":{"id":"n1820938668","loc":[-85.0224904,42.0909576],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938669":{"id":"n1820938669","loc":[-85.0133856,42.0899755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938670":{"id":"n1820938670","loc":[-85.344779,41.991139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938671":{"id":"n1820938671","loc":[-85.632874,41.9425313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938673":{"id":"n1820938673","loc":[-85.4941501,41.9779698],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938675":{"id":"n1820938675","loc":[-85.0862559,42.0997519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938676":{"id":"n1820938676","loc":[-85.0097874,42.0898032],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938678":{"id":"n1820938678","loc":[-84.9913553,42.0863675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938680":{"id":"n1820938680","loc":[-85.0533666,42.1038315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938682":{"id":"n1820938682","loc":[-85.2950294,41.9743914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938684":{"id":"n1820938684","loc":[-85.2517385,42.0104499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938686":{"id":"n1820938686","loc":[-85.0247971,42.0922514],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938688":{"id":"n1820938688","loc":[-85.0807037,42.1026017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:38Z","tags":{}},"n1820938690":{"id":"n1820938690","loc":[-85.52462,41.9722748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938694":{"id":"n1820938694","loc":[-85.2586535,41.9988818],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938695":{"id":"n1820938695","loc":[-85.0931612,42.092948],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938697":{"id":"n1820938697","loc":[-85.2470822,42.016564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938698":{"id":"n1820938698","loc":[-85.4143018,42.0075158],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938699":{"id":"n1820938699","loc":[-85.0771484,42.104487],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938700":{"id":"n1820938700","loc":[-85.0291208,42.0942775],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938701":{"id":"n1820938701","loc":[-85.6367964,41.9185971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938702":{"id":"n1820938702","loc":[-85.085419,42.1010693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938703":{"id":"n1820938703","loc":[-85.0583877,42.1040584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938705":{"id":"n1820938705","loc":[-85.2573379,42.0003182],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938706":{"id":"n1820938706","loc":[-85.2655937,41.9981575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938707":{"id":"n1820938707","loc":[-85.023181,42.0915758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938708":{"id":"n1820938708","loc":[-85.2318687,42.0274674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938709":{"id":"n1820938709","loc":[-85.1056389,42.0866184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938710":{"id":"n1820938710","loc":[-85.5276265,41.9700978],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938711":{"id":"n1820938711","loc":[-85.0864128,42.0945761],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938712":{"id":"n1820938712","loc":[-84.9897071,42.0871888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:39Z","tags":{}},"n1820938714":{"id":"n1820938714","loc":[-85.1328845,42.0665611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938715":{"id":"n1820938715","loc":[-85.0336537,42.0991377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938716":{"id":"n1820938716","loc":[-85.087597,42.0986692],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938717":{"id":"n1820938717","loc":[-85.1241394,42.0761882],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938718":{"id":"n1820938718","loc":[-85.1176002,42.0847723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938719":{"id":"n1820938719","loc":[-85.2423615,42.0216572],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938721":{"id":"n1820938721","loc":[-85.2196378,42.0387908],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938722":{"id":"n1820938722","loc":[-85.0164272,42.0890082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938723":{"id":"n1820938723","loc":[-85.5917182,41.9451807],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938724":{"id":"n1820938724","loc":[-85.2458806,42.0086638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938725":{"id":"n1820938725","loc":[-85.1264474,42.0740527],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938726":{"id":"n1820938726","loc":[-85.1961631,42.04738],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938727":{"id":"n1820938727","loc":[-85.2784643,41.9943648],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938728":{"id":"n1820938728","loc":[-85.2905554,41.9763216],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938729":{"id":"n1820938729","loc":[-85.2913386,41.9771511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938730":{"id":"n1820938730","loc":[-85.0112519,42.0895683],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938732":{"id":"n1820938732","loc":[-85.4290261,42.0064531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:40Z","tags":{}},"n1820938733":{"id":"n1820938733","loc":[-85.3867073,42.0031629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938734":{"id":"n1820938734","loc":[-85.4943647,41.9836005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938735":{"id":"n1820938735","loc":[-85.4900303,41.9860728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938736":{"id":"n1820938736","loc":[-85.0866153,42.0944539],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938737":{"id":"n1820938737","loc":[-85.0869532,42.0990911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938738":{"id":"n1820938738","loc":[-85.6321659,41.9208851],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938739":{"id":"n1820938739","loc":[-85.5930485,41.9433453],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938740":{"id":"n1820938740","loc":[-85.0406851,42.102733],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938741":{"id":"n1820938741","loc":[-85.1051131,42.0869846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938742":{"id":"n1820938742","loc":[-85.1377554,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938743":{"id":"n1820938743","loc":[-85.2795694,41.994604],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938745":{"id":"n1820938745","loc":[-85.4948153,41.9826594],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938746":{"id":"n1820938746","loc":[-85.4488916,42.0050923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938747":{"id":"n1820938747","loc":[-85.1052526,42.0866144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938748":{"id":"n1820938748","loc":[-85.1468749,42.0653991],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938749":{"id":"n1820938749","loc":[-85.0856886,42.1006104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938750":{"id":"n1820938750","loc":[-85.2144022,42.0404004],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938751":{"id":"n1820938751","loc":[-85.277771,41.9907458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938752":{"id":"n1820938752","loc":[-85.1474542,42.0636149],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938753":{"id":"n1820938753","loc":[-85.0820515,42.1028075],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938754":{"id":"n1820938754","loc":[-85.1122948,42.08525],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:41Z","tags":{}},"n1820938756":{"id":"n1820938756","loc":[-85.0173352,42.0901933],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938757":{"id":"n1820938757","loc":[-85.2259721,42.0354018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938758":{"id":"n1820938758","loc":[-85.0872389,42.0987795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938759":{"id":"n1820938759","loc":[-85.2291436,42.031874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938760":{"id":"n1820938760","loc":[-85.3802485,42.0016002],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938761":{"id":"n1820938761","loc":[-85.3945822,42.0057938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938762":{"id":"n1820938762","loc":[-85.5273237,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938763":{"id":"n1820938763","loc":[-85.2868862,41.9798629],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938764":{"id":"n1820938764","loc":[-85.2516677,42.0107899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938766":{"id":"n1820938766","loc":[-85.3183002,41.9693103],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938768":{"id":"n1820938768","loc":[-85.2159042,42.0401932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938770":{"id":"n1820938770","loc":[-85.0094481,42.0911141],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938771":{"id":"n1820938771","loc":[-85.0244538,42.0922155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938772":{"id":"n1820938772","loc":[-85.231697,42.028862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938773":{"id":"n1820938773","loc":[-85.2102394,42.0390617],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938774":{"id":"n1820938774","loc":[-85.2463419,42.0151212],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938775":{"id":"n1820938775","loc":[-85.0726195,42.1056424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938776":{"id":"n1820938776","loc":[-85.0060431,42.0883262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938778":{"id":"n1820938778","loc":[-85.425889,42.0056982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938779":{"id":"n1820938779","loc":[-85.1183042,42.0820638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:42Z","tags":{}},"n1820938780":{"id":"n1820938780","loc":[-85.441596,42.0058257],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938781":{"id":"n1820938781","loc":[-85.1124879,42.0847086],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938782":{"id":"n1820938782","loc":[-85.2452733,42.0153894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938783":{"id":"n1820938783","loc":[-85.2741191,41.9969244],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938784":{"id":"n1820938784","loc":[-85.2829487,41.9822236],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938785":{"id":"n1820938785","loc":[-85.3202743,41.972142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938786":{"id":"n1820938786","loc":[-85.2345402,42.0266465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938787":{"id":"n1820938787","loc":[-85.3037626,41.9724611],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938789":{"id":"n1820938789","loc":[-85.2474792,42.0161973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938790":{"id":"n1820938790","loc":[-85.2951045,41.9727323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938791":{"id":"n1820938791","loc":[-85.322345,41.9712726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938792":{"id":"n1820938792","loc":[-85.2402372,42.0110394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938793":{"id":"n1820938793","loc":[-85.5135693,41.9698659],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938794":{"id":"n1820938794","loc":[-85.4695339,41.9967366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938796":{"id":"n1820938796","loc":[-85.0418492,42.1011131],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938797":{"id":"n1820938797","loc":[-85.3334107,41.9806337],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938798":{"id":"n1820938798","loc":[-85.5625314,41.9711685],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938799":{"id":"n1820938799","loc":[-85.3755707,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938800":{"id":"n1820938800","loc":[-85.5227532,41.9722429],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938801":{"id":"n1820938801","loc":[-85.4267687,42.0052836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938803":{"id":"n1820938803","loc":[-85.0284704,42.0940837],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938804":{"id":"n1820938804","loc":[-85.015585,42.0885305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938805":{"id":"n1820938805","loc":[-85.0765905,42.1053865],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938806":{"id":"n1820938806","loc":[-85.2614953,41.9964551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:43Z","tags":{}},"n1820938808":{"id":"n1820938808","loc":[-85.0307355,42.0947313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938810":{"id":"n1820938810","loc":[-85.3894753,42.0003565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938812":{"id":"n1820938812","loc":[-85.0868848,42.095006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938813":{"id":"n1820938813","loc":[-85.3854198,42.0009465],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938814":{"id":"n1820938814","loc":[-85.2659692,41.9993534],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938815":{"id":"n1820938815","loc":[-85.1234259,42.0765266],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938816":{"id":"n1820938816","loc":[-85.1426906,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938818":{"id":"n1820938818","loc":[-85.1014533,42.0893067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938819":{"id":"n1820938819","loc":[-85.0883064,42.098067],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938820":{"id":"n1820938820","loc":[-85.0503156,42.102704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938821":{"id":"n1820938821","loc":[-85.1179649,42.0821884],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938822":{"id":"n1820938822","loc":[-85.3484697,41.9921596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938823":{"id":"n1820938823","loc":[-85.3732962,41.9970874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938824":{"id":"n1820938824","loc":[-85.2784104,41.9898312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938825":{"id":"n1820938825","loc":[-85.4441709,42.0052198],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938826":{"id":"n1820938826","loc":[-85.3925438,42.0038326],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938829":{"id":"n1820938829","loc":[-85.5717582,41.9621861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:44Z","tags":{}},"n1820938830":{"id":"n1820938830","loc":[-85.0866314,42.0995051],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938831":{"id":"n1820938831","loc":[-85.576672,41.9522769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938832":{"id":"n1820938832","loc":[-85.1587238,42.0636205],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938833":{"id":"n1820938833","loc":[-85.3804245,41.9999155],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938834":{"id":"n1820938834","loc":[-85.280083,41.9948843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938836":{"id":"n1820938836","loc":[-85.561892,41.9686693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938837":{"id":"n1820938837","loc":[-85.0158975,42.0885253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938838":{"id":"n1820938838","loc":[-85.4248204,42.007633],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938839":{"id":"n1820938839","loc":[-85.0352738,42.1039657],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938840":{"id":"n1820938840","loc":[-85.211956,42.0411812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938841":{"id":"n1820938841","loc":[-85.4816575,41.9908997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938842":{"id":"n1820938842","loc":[-85.3807635,42.0020308],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938843":{"id":"n1820938843","loc":[-85.0100865,42.0898521],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938844":{"id":"n1820938844","loc":[-85.0103936,42.0897434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938848":{"id":"n1820938848","loc":[-85.2430052,42.0131363],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938849":{"id":"n1820938849","loc":[-85.112559,42.0853723],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:45Z","tags":{}},"n1820938851":{"id":"n1820938851","loc":[-85.3641553,41.9952535],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938852":{"id":"n1820938852","loc":[-85.2087373,42.0390777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938853":{"id":"n1820938853","loc":[-85.2473933,42.0148263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938854":{"id":"n1820938854","loc":[-85.0213464,42.090509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938855":{"id":"n1820938855","loc":[-85.0673208,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938856":{"id":"n1820938856","loc":[-85.1003053,42.0905528],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938857":{"id":"n1820938857","loc":[-85.2617367,41.9965389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938858":{"id":"n1820938858","loc":[-85.280363,41.9916015],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938859":{"id":"n1820938859","loc":[-85.0038866,42.0873469],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938860":{"id":"n1820938860","loc":[-85.2476401,42.0151451],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938861":{"id":"n1820938861","loc":[-85.193717,42.0499294],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938862":{"id":"n1820938862","loc":[-85.3478689,41.9917609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938863":{"id":"n1820938863","loc":[-85.5638017,41.9648881],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938864":{"id":"n1820938864","loc":[-85.4356308,42.0064476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938865":{"id":"n1820938865","loc":[-85.0561722,42.1023509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938867":{"id":"n1820938867","loc":[-85.2256031,42.0356034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938868":{"id":"n1820938868","loc":[-85.6102576,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938869":{"id":"n1820938869","loc":[-85.2285213,42.0339938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:46Z","tags":{}},"n1820938870":{"id":"n1820938870","loc":[-85.0326238,42.0978003],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938871":{"id":"n1820938871","loc":[-85.0131389,42.0903736],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938872":{"id":"n1820938872","loc":[-85.2550859,42.0012259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938873":{"id":"n1820938873","loc":[-85.1130029,42.0846966],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938874":{"id":"n1820938874","loc":[-85.1579041,42.06336],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938875":{"id":"n1820938875","loc":[-85.0430522,42.1020234],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938876":{"id":"n1820938876","loc":[-85.2786679,41.9865935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938877":{"id":"n1820938877","loc":[-85.1221666,42.0788706],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938878":{"id":"n1820938878","loc":[-85.2554614,42.0103303],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938879":{"id":"n1820938879","loc":[-85.2349801,42.0265748],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938880":{"id":"n1820938880","loc":[-85.0997434,42.0907864],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938881":{"id":"n1820938881","loc":[-85.0045464,42.0878167],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938882":{"id":"n1820938882","loc":[-85.2728048,41.9982519],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938883":{"id":"n1820938883","loc":[-85.3111333,41.9691587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938884":{"id":"n1820938884","loc":[-85.3219802,41.9721899],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938885":{"id":"n1820938885","loc":[-85.3091378,41.9699325],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938887":{"id":"n1820938887","loc":[-85.4242367,42.0085203],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938888":{"id":"n1820938888","loc":[-84.9968377,42.0874504],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:47Z","tags":{}},"n1820938890":{"id":"n1820938890","loc":[-85.5443139,41.9714078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938891":{"id":"n1820938891","loc":[-85.6404013,41.9154676],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938892":{"id":"n1820938892","loc":[-85.3644986,41.9962582],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938893":{"id":"n1820938893","loc":[-85.0496772,42.1018323],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938894":{"id":"n1820938894","loc":[-85.297261,41.9737373],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938895":{"id":"n1820938895","loc":[-85.0327096,42.098071],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938896":{"id":"n1820938896","loc":[-85.3856773,41.9996867],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938897":{"id":"n1820938897","loc":[-85.0493862,42.1015509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938898":{"id":"n1820938898","loc":[-84.9969879,42.0876614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938899":{"id":"n1820938899","loc":[-85.0848625,42.1013587],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938900":{"id":"n1820938900","loc":[-85.5853195,41.9479201],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938901":{"id":"n1820938901","loc":[-85.6329169,41.9387964],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938902":{"id":"n1820938902","loc":[-85.0843046,42.1029468],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938903":{"id":"n1820938903","loc":[-85.1228747,42.0778474],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938904":{"id":"n1820938904","loc":[-85.4855456,41.984095],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938905":{"id":"n1820938905","loc":[-85.0573269,42.1026801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938906":{"id":"n1820938906","loc":[-85.2425868,42.0131523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938907":{"id":"n1820938907","loc":[-85.1149622,42.0860053],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938908":{"id":"n1820938908","loc":[-85.4833097,41.9951578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938909":{"id":"n1820938909","loc":[-85.075979,42.1056372],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938910":{"id":"n1820938910","loc":[-85.0338509,42.0977139],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938911":{"id":"n1820938911","loc":[-85.6384272,41.9115715],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938912":{"id":"n1820938912","loc":[-85.0458363,42.1004074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938913":{"id":"n1820938913","loc":[-85.0592138,42.1048305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:48Z","tags":{}},"n1820938914":{"id":"n1820938914","loc":[-85.2807493,41.9916653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938915":{"id":"n1820938915","loc":[-85.1103274,42.0864193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938916":{"id":"n1820938916","loc":[-85.6267156,41.9404404],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938918":{"id":"n1820938918","loc":[-85.0331374,42.0982911],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938919":{"id":"n1820938919","loc":[-85.5637331,41.965409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938920":{"id":"n1820938920","loc":[-85.5457515,41.9714237],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938922":{"id":"n1820938922","loc":[-85.082073,42.1030104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938923":{"id":"n1820938923","loc":[-85.0780765,42.103102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938924":{"id":"n1820938924","loc":[-85.4208035,42.0089508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938925":{"id":"n1820938925","loc":[-85.3469934,41.9914795],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938926":{"id":"n1820938926","loc":[-85.0322,42.095619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938927":{"id":"n1820938927","loc":[-85.4784431,41.9949401],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938928":{"id":"n1820938928","loc":[-85.1303095,42.0667523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938929":{"id":"n1820938929","loc":[-85.2463784,42.0084781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938930":{"id":"n1820938930","loc":[-85.6299986,41.9427707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938931":{"id":"n1820938931","loc":[-85.6325907,41.9238499],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938932":{"id":"n1820938932","loc":[-85.4808464,41.9914476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938934":{"id":"n1820938934","loc":[-85.2411599,42.0105292],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938935":{"id":"n1820938935","loc":[-85.0163213,42.0892379],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938936":{"id":"n1820938936","loc":[-85.3290934,41.9682322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938937":{"id":"n1820938937","loc":[-85.4925623,41.9853231],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:49Z","tags":{}},"n1820938938":{"id":"n1820938938","loc":[-85.0338294,42.09892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938940":{"id":"n1820938940","loc":[-85.4174561,42.008903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938941":{"id":"n1820938941","loc":[-85.1165595,42.0838845],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938942":{"id":"n1820938942","loc":[-85.2954585,41.9717192],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938943":{"id":"n1820938943","loc":[-85.6330199,41.9257338],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938944":{"id":"n1820938944","loc":[-85.2294654,42.0324478],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938945":{"id":"n1820938945","loc":[-85.5601282,41.9728914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938946":{"id":"n1820938946","loc":[-85.1176324,42.08568],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938947":{"id":"n1820938947","loc":[-85.0210245,42.0906005],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938948":{"id":"n1820938948","loc":[-85.0251887,42.09253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938949":{"id":"n1820938949","loc":[-85.0895832,42.0939551],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938950":{"id":"n1820938950","loc":[-84.9915109,42.085842],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938951":{"id":"n1820938951","loc":[-85.2187366,42.0393486],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938952":{"id":"n1820938952","loc":[-85.006605,42.087579],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938953":{"id":"n1820938953","loc":[-85.046641,42.1012393],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938954":{"id":"n1820938954","loc":[-85.052102,42.103695],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938955":{"id":"n1820938955","loc":[-85.283925,41.9912825],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938956":{"id":"n1820938956","loc":[-85.2326626,42.0316349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938957":{"id":"n1820938957","loc":[-85.1174298,42.0859694],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938958":{"id":"n1820938958","loc":[-85.3802056,41.9994794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938959":{"id":"n1820938959","loc":[-85.4586334,41.9999737],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938960":{"id":"n1820938960","loc":[-85.4302234,42.0069418],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938961":{"id":"n1820938961","loc":[-85.092201,42.0930674],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938962":{"id":"n1820938962","loc":[-85.3684511,41.9979382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938963":{"id":"n1820938963","loc":[-85.4618735,42.0011856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938964":{"id":"n1820938964","loc":[-85.4828205,41.9877793],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:50Z","tags":{}},"n1820938965":{"id":"n1820938965","loc":[-85.0837789,42.1025726],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938966":{"id":"n1820938966","loc":[-85.0176195,42.090253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938967":{"id":"n1820938967","loc":[-85.3801627,42.001074],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938968":{"id":"n1820938968","loc":[-85.4767007,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938969":{"id":"n1820938969","loc":[-85.274268,41.9957495],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938970":{"id":"n1820938970","loc":[-85.2977438,41.9719506],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938971":{"id":"n1820938971","loc":[-85.2425546,42.0208682],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938972":{"id":"n1820938972","loc":[-85.2557082,42.002382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938973":{"id":"n1820938973","loc":[-85.3187937,41.9691986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938975":{"id":"n1820938975","loc":[-85.2448077,42.0153045],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938977":{"id":"n1820938977","loc":[-85.0343015,42.0997718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938978":{"id":"n1820938978","loc":[-85.2449364,42.01874],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938979":{"id":"n1820938979","loc":[-85.2598391,41.9969602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938980":{"id":"n1820938980","loc":[-85.4294724,42.0067665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938981":{"id":"n1820938981","loc":[-85.428082,42.0055124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938983":{"id":"n1820938983","loc":[-85.5436315,41.9717484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938985":{"id":"n1820938985","loc":[-85.5978336,41.9407437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938986":{"id":"n1820938986","loc":[-85.491661,41.9860249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938987":{"id":"n1820938987","loc":[-85.4942789,41.9801392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:51Z","tags":{}},"n1820938988":{"id":"n1820938988","loc":[-85.0416306,42.1010841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938989":{"id":"n1820938989","loc":[-85.2653644,41.9984433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938990":{"id":"n1820938990","loc":[-85.1028266,42.0881124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938991":{"id":"n1820938991","loc":[-85.0163146,42.0887932],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938992":{"id":"n1820938992","loc":[-85.5282209,41.9678112],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820938993":{"id":"n1820938993","loc":[-85.5442752,41.9715888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938994":{"id":"n1820938994","loc":[-85.5634327,41.9658558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938995":{"id":"n1820938995","loc":[-85.0384227,42.1037627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938996":{"id":"n1820938996","loc":[-85.1144258,42.0854439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938997":{"id":"n1820938997","loc":[-85.1870651,42.0506305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938998":{"id":"n1820938998","loc":[-85.1256159,42.0747376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820938999":{"id":"n1820938999","loc":[-85.3272695,41.9715836],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939000":{"id":"n1820939000","loc":[-85.0543067,42.103098],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939001":{"id":"n1820939001","loc":[-85.4678173,41.9973585],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939003":{"id":"n1820939003","loc":[-85.0266626,42.0933154],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939004":{"id":"n1820939004","loc":[-85.0353046,42.1019728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939005":{"id":"n1820939005","loc":[-85.1237961,42.0762798],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939006":{"id":"n1820939006","loc":[-85.2812214,41.9826702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:52Z","tags":{}},"n1820939007":{"id":"n1820939007","loc":[-85.2927763,41.9747343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939008":{"id":"n1820939008","loc":[-85.3270979,41.9720862],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939009":{"id":"n1820939009","loc":[-85.488657,41.9856581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939010":{"id":"n1820939010","loc":[-85.3087301,41.9701399],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939011":{"id":"n1820939011","loc":[-85.0276939,42.093768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939012":{"id":"n1820939012","loc":[-85.2956516,41.9748779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939013":{"id":"n1820939013","loc":[-85.1298579,42.0726443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939014":{"id":"n1820939014","loc":[-85.105144,42.0870893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939015":{"id":"n1820939015","loc":[-85.0677486,42.1053917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939016":{"id":"n1820939016","loc":[-85.0333681,42.0993459],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939017":{"id":"n1820939017","loc":[-85.6384272,41.910805],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939018":{"id":"n1820939018","loc":[-85.399496,42.006894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939019":{"id":"n1820939019","loc":[-85.2648427,41.9998318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939020":{"id":"n1820939020","loc":[-85.1237424,42.0766779],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939021":{"id":"n1820939021","loc":[-85.2515025,42.0109442],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939022":{"id":"n1820939022","loc":[-85.5566306,41.9718385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939023":{"id":"n1820939023","loc":[-85.090644,42.0938369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939024":{"id":"n1820939024","loc":[-85.1245525,42.074914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939025":{"id":"n1820939025","loc":[-85.1099934,42.0863926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939026":{"id":"n1820939026","loc":[-85.1251653,42.0744589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:53Z","tags":{}},"n1820939027":{"id":"n1820939027","loc":[-85.401792,42.0068143],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939028":{"id":"n1820939028","loc":[-85.0094763,42.0899584],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939029":{"id":"n1820939029","loc":[-85.1330779,42.0705605],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939030":{"id":"n1820939030","loc":[-85.4935064,41.984398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939031":{"id":"n1820939031","loc":[-85.5713334,41.9613939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939032":{"id":"n1820939032","loc":[-85.0873945,42.0964669],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939033":{"id":"n1820939033","loc":[-85.0886497,42.0986481],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939034":{"id":"n1820939034","loc":[-85.3276343,41.9758897],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939035":{"id":"n1820939035","loc":[-85.1304386,42.0727387],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939036":{"id":"n1820939036","loc":[-85.2551932,42.0052999],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939037":{"id":"n1820939037","loc":[-85.2206936,42.0384458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939038":{"id":"n1820939038","loc":[-85.2313645,42.0286389],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939039":{"id":"n1820939039","loc":[-85.0754586,42.1059835],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939040":{"id":"n1820939040","loc":[-85.0663324,42.1050812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939041":{"id":"n1820939041","loc":[-85.2406234,42.0106887],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939042":{"id":"n1820939042","loc":[-85.0685962,42.1058175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939043":{"id":"n1820939043","loc":[-85.0689462,42.1059437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939044":{"id":"n1820939044","loc":[-85.0586144,42.1046144],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939045":{"id":"n1820939045","loc":[-85.3650565,41.9965452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939047":{"id":"n1820939047","loc":[-85.5752558,41.9536014],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:54Z","tags":{}},"n1820939048":{"id":"n1820939048","loc":[-85.5110159,41.9710624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939050":{"id":"n1820939050","loc":[-85.2832641,41.9926477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939051":{"id":"n1820939051","loc":[-85.0078402,42.0898947],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939052":{"id":"n1820939052","loc":[-85.3882737,42.0017916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939053":{"id":"n1820939053","loc":[-85.1718945,42.0564937],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939054":{"id":"n1820939054","loc":[-85.0947048,42.0929293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939055":{"id":"n1820939055","loc":[-85.4456944,42.0051082],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939056":{"id":"n1820939056","loc":[-85.3139872,41.9706903],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939057":{"id":"n1820939057","loc":[-85.3893895,42.0034021],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939058":{"id":"n1820939058","loc":[-85.2425332,42.0106089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939059":{"id":"n1820939059","loc":[-85.6085624,41.9420844],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939060":{"id":"n1820939060","loc":[-85.210411,42.0397789],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939061":{"id":"n1820939061","loc":[-85.2762542,41.9960473],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939062":{"id":"n1820939062","loc":[-85.4686584,41.9969973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939063":{"id":"n1820939063","loc":[-85.3860421,42.0018394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939064":{"id":"n1820939064","loc":[-85.5636944,41.9644414],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939065":{"id":"n1820939065","loc":[-85.3267331,41.9766554],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939066":{"id":"n1820939066","loc":[-85.0868996,42.0943822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939067":{"id":"n1820939067","loc":[-85.104861,42.0880038],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939068":{"id":"n1820939068","loc":[-85.5537123,41.9695093],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939069":{"id":"n1820939069","loc":[-85.6325092,41.9396743],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939070":{"id":"n1820939070","loc":[-85.3869648,42.0024454],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939071":{"id":"n1820939071","loc":[-85.2775349,41.9957335],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:55Z","tags":{}},"n1820939072":{"id":"n1820939072","loc":[-85.2055616,42.0421533],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939073":{"id":"n1820939073","loc":[-85.4731431,41.9946531],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939074":{"id":"n1820939074","loc":[-85.0399609,42.1030833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939075":{"id":"n1820939075","loc":[-85.3055758,41.9725169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939076":{"id":"n1820939076","loc":[-85.4834599,41.994488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939077":{"id":"n1820939077","loc":[-85.3819866,42.0023018],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939078":{"id":"n1820939078","loc":[-85.1218756,42.0789992],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939079":{"id":"n1820939079","loc":[-85.2793159,41.9944458],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939080":{"id":"n1820939080","loc":[-85.2495498,42.0101466],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939081":{"id":"n1820939081","loc":[-85.0035969,42.0872434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939082":{"id":"n1820939082","loc":[-85.1054243,42.0865626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939083":{"id":"n1820939083","loc":[-85.0917665,42.0934774],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939084":{"id":"n1820939084","loc":[-85.3442211,41.988938],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939086":{"id":"n1820939086","loc":[-85.273989,41.9953588],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939087":{"id":"n1820939087","loc":[-85.1142541,42.0852488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939089":{"id":"n1820939089","loc":[-85.1526684,42.0615758],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939090":{"id":"n1820939090","loc":[-85.2538843,42.0110159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939091":{"id":"n1820939091","loc":[-85.28341,41.9909635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939092":{"id":"n1820939092","loc":[-85.3963178,42.0050217],"version":"2","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:29Z","tags":{}},"n1820939093":{"id":"n1820939093","loc":[-85.0851682,42.1012472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939095":{"id":"n1820939095","loc":[-85.2811784,41.986243],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939096":{"id":"n1820939096","loc":[-85.4274125,42.0052995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939097":{"id":"n1820939097","loc":[-85.0871262,42.0951652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:56Z","tags":{}},"n1820939099":{"id":"n1820939099","loc":[-85.1314253,42.0671665],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939100":{"id":"n1820939100","loc":[-85.2778997,41.991001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939101":{"id":"n1820939101","loc":[-85.112107,42.0862812],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939102":{"id":"n1820939102","loc":[-85.299911,41.9729955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939103":{"id":"n1820939103","loc":[-85.639822,41.9094796],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939104":{"id":"n1820939104","loc":[-85.122294,42.0785334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939105":{"id":"n1820939105","loc":[-85.2476294,42.015719],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939106":{"id":"n1820939106","loc":[-85.4946007,41.9814631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939107":{"id":"n1820939107","loc":[-85.0879524,42.0986919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939108":{"id":"n1820939108","loc":[-85.0342814,42.098274],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939109":{"id":"n1820939109","loc":[-85.2450695,42.0095463],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939110":{"id":"n1820939110","loc":[-85.3847546,42.0024135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939111":{"id":"n1820939111","loc":[-85.2961344,41.9742558],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939112":{"id":"n1820939112","loc":[-85.27899,41.994317],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939114":{"id":"n1820939114","loc":[-85.1017644,42.0886618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939115":{"id":"n1820939115","loc":[-85.076215,42.1056333],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939116":{"id":"n1820939116","loc":[-85.1198009,42.0805349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939117":{"id":"n1820939117","loc":[-85.11988,42.0798513],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939118":{"id":"n1820939118","loc":[-85.147819,42.0625476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939119":{"id":"n1820939119","loc":[-85.0585969,42.1029042],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939120":{"id":"n1820939120","loc":[-85.1248596,42.0745744],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:57Z","tags":{}},"n1820939121":{"id":"n1820939121","loc":[-85.3023786,41.9725249],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939123":{"id":"n1820939123","loc":[-85.0119332,42.0900699],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939124":{"id":"n1820939124","loc":[-85.2466852,42.0170343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939125":{"id":"n1820939125","loc":[-85.0033019,42.0872792],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939126":{"id":"n1820939126","loc":[-85.0042084,42.0875778],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939128":{"id":"n1820939128","loc":[-85.0052961,42.0885424],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939130":{"id":"n1820939130","loc":[-85.0647942,42.10508],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939131":{"id":"n1820939131","loc":[-85.2824123,41.9825107],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939132":{"id":"n1820939132","loc":[-85.3210039,41.9723255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939133":{"id":"n1820939133","loc":[-85.0491033,42.1014184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939134":{"id":"n1820939134","loc":[-85.1127776,42.0855168],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939135":{"id":"n1820939135","loc":[-85.1243768,42.0759322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939137":{"id":"n1820939137","loc":[-85.125974,42.0747547],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939138":{"id":"n1820939138","loc":[-85.1071248,42.0859973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939139":{"id":"n1820939139","loc":[-85.5326175,41.9674833],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1820939140":{"id":"n1820939140","loc":[-85.1338715,42.0660833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939142":{"id":"n1820939142","loc":[-85.649671,41.9135675],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:58Z","tags":{}},"n1820939144":{"id":"n1820939144","loc":[-85.0236545,42.0920444],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939145":{"id":"n1820939145","loc":[-85.1084391,42.0859376],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939146":{"id":"n1820939146","loc":[-85.1539988,42.0618626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939147":{"id":"n1820939147","loc":[-85.2354521,42.026511],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939148":{"id":"n1820939148","loc":[-85.2362246,42.0260408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939149":{"id":"n1820939149","loc":[-85.2401342,42.0115233],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939150":{"id":"n1820939150","loc":[-85.295319,41.9747423],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939151":{"id":"n1820939151","loc":[-85.1164696,42.0835409],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939152":{"id":"n1820939152","loc":[-85.3232891,41.9712885],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939153":{"id":"n1820939153","loc":[-85.2574463,42.0068944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939155":{"id":"n1820939155","loc":[-85.5704064,41.9598246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939156":{"id":"n1820939156","loc":[-85.0349077,42.0998116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939157":{"id":"n1820939157","loc":[-85.0949529,42.0925619],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939159":{"id":"n1820939159","loc":[-85.0179829,42.0902343],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939160":{"id":"n1820939160","loc":[-85.0405832,42.1016942],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939161":{"id":"n1820939161","loc":[-85.2534015,42.0111833],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939162":{"id":"n1820939162","loc":[-85.0839881,42.102708],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939163":{"id":"n1820939163","loc":[-85.0341996,42.1008385],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939164":{"id":"n1820939164","loc":[-85.1037761,42.0879731],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:56:59Z","tags":{}},"n1820939173":{"id":"n1820939173","loc":[-85.0460616,42.1005786],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939177":{"id":"n1820939177","loc":[-85.0061651,42.0878059],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939181":{"id":"n1820939181","loc":[-85.1456775,42.0654684],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939183":{"id":"n1820939183","loc":[-85.1325508,42.0718439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939185":{"id":"n1820939185","loc":[-85.2485842,42.008329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939187":{"id":"n1820939187","loc":[-85.2744128,41.9949322],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939189":{"id":"n1820939189","loc":[-85.2579025,41.9999542],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939191":{"id":"n1820939191","loc":[-85.3358998,41.9828987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939193":{"id":"n1820939193","loc":[-85.3192658,41.9716714],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939194":{"id":"n1820939194","loc":[-85.6400795,41.9130725],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939195":{"id":"n1820939195","loc":[-85.3278489,41.9780591],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939196":{"id":"n1820939196","loc":[-85.2800197,41.983061],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939197":{"id":"n1820939197","loc":[-85.3278167,41.9692943],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939198":{"id":"n1820939198","loc":[-85.3366894,41.9838653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939199":{"id":"n1820939199","loc":[-85.0328383,42.0969923],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939201":{"id":"n1820939201","loc":[-85.3259284,41.9720383],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:00Z","tags":{}},"n1820939217":{"id":"n1820939217","loc":[-85.1840181,42.0503277],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939220":{"id":"n1820939220","loc":[-85.422563,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939222":{"id":"n1820939222","loc":[-85.555386,41.9707856],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939224":{"id":"n1820939224","loc":[-85.3830809,42.002254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939226":{"id":"n1820939226","loc":[-84.9917938,42.0857517],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939227":{"id":"n1820939227","loc":[-85.2936775,41.9740484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939228":{"id":"n1820939228","loc":[-85.2632133,41.9975024],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939229":{"id":"n1820939229","loc":[-85.2809424,41.9853259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939230":{"id":"n1820939230","loc":[-85.242104,42.0131204],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939232":{"id":"n1820939232","loc":[-85.2610246,41.9963901],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939233":{"id":"n1820939233","loc":[-85.2335531,42.0268378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939234":{"id":"n1820939234","loc":[-85.3188839,41.9713575],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939235":{"id":"n1820939235","loc":[-85.2413637,42.0225658],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939237":{"id":"n1820939237","loc":[-85.0010796,42.0887215],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939239":{"id":"n1820939239","loc":[-85.2241697,42.0362624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939243":{"id":"n1820939243","loc":[-85.0368456,42.1040134],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939244":{"id":"n1820939244","loc":[-85.1327986,42.069524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939260":{"id":"n1820939260","loc":[-85.5408163,41.9711206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:01Z","tags":{}},"n1820939261":{"id":"n1820939261","loc":[-85.2959199,41.9746546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939262":{"id":"n1820939262","loc":[-85.3298659,41.9683598],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939263":{"id":"n1820939263","loc":[-85.2240581,42.0358425],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939264":{"id":"n1820939264","loc":[-85.2438206,42.0101944],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939265":{"id":"n1820939265","loc":[-85.3984489,42.0059589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939266":{"id":"n1820939266","loc":[-85.2330811,42.0294279],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939268":{"id":"n1820939268","loc":[-85.1126877,42.0857704],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939271":{"id":"n1820939271","loc":[-85.254925,42.0106253],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939273":{"id":"n1820939273","loc":[-85.4328046,42.0064662],"version":"2","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:51:01Z","tags":{}},"n1820939277":{"id":"n1820939277","loc":[-85.289622,41.9789616],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939279":{"id":"n1820939279","loc":[-85.4574532,42.0004043],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939281":{"id":"n1820939281","loc":[-85.4803486,41.9867211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939283":{"id":"n1820939283","loc":[-85.157475,42.0631848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939285":{"id":"n1820939285","loc":[-85.2571458,42.0059935],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939287":{"id":"n1820939287","loc":[-85.2818544,41.9825984],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939289":{"id":"n1820939289","loc":[-85.2298302,42.0328781],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:02Z","tags":{}},"n1820939291":{"id":"n1820939291","loc":[-85.4819523,41.984821],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939301":{"id":"n1820939301","loc":[-85.3139765,41.9701159],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939304":{"id":"n1820939304","loc":[-85.0424447,42.101742],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939306":{"id":"n1820939306","loc":[-85.6360283,41.9338482],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939310":{"id":"n1820939310","loc":[-85.3463025,41.9913622],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939312":{"id":"n1820939312","loc":[-85.4664869,41.9988097],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939314":{"id":"n1820939314","loc":[-85.149364,42.0622449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939316":{"id":"n1820939316","loc":[-85.2460415,42.0153125],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939318":{"id":"n1820939318","loc":[-85.4806103,41.9924523],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939320":{"id":"n1820939320","loc":[-85.2449042,42.0190987],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939322":{"id":"n1820939322","loc":[-85.5280165,41.9689263],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939324":{"id":"n1820939324","loc":[-85.0051204,42.0882625],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939326":{"id":"n1820939326","loc":[-85.1240925,42.0771546],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939329":{"id":"n1820939329","loc":[-85.2261653,42.0342225],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939331":{"id":"n1820939331","loc":[-85.5259933,41.972211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939333":{"id":"n1820939333","loc":[-85.0074754,42.0883183],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939335":{"id":"n1820939335","loc":[-85.0764014,42.1055549],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939336":{"id":"n1820939336","loc":[-85.2908773,41.9769597],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939337":{"id":"n1820939337","loc":[-85.4095382,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939346":{"id":"n1820939346","loc":[-85.2514166,42.0111753],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939348":{"id":"n1820939348","loc":[-85.0030377,42.0873799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939350":{"id":"n1820939350","loc":[-85.3659362,41.9964974],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:03Z","tags":{}},"n1820939352":{"id":"n1820939352","loc":[-85.226058,42.0348281],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939355":{"id":"n1820939355","loc":[-85.1902408,42.0507101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939357":{"id":"n1820939357","loc":[-85.2781854,41.9946001],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939359":{"id":"n1820939359","loc":[-85.2139988,42.0405175],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939361":{"id":"n1820939361","loc":[-85.0086609,42.0908262],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939363":{"id":"n1820939363","loc":[-85.0627128,42.1043398],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939365":{"id":"n1820939365","loc":[-85.1311346,42.072501],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939369":{"id":"n1820939369","loc":[-85.248198,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939370":{"id":"n1820939370","loc":[-84.99792,42.087794],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939371":{"id":"n1820939371","loc":[-85.2786775,41.9942783],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939372":{"id":"n1820939372","loc":[-85.0342103,42.1013957],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939373":{"id":"n1820939373","loc":[-85.2022357,42.0444799],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939374":{"id":"n1820939374","loc":[-85.2279205,42.0337388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939375":{"id":"n1820939375","loc":[-85.1337699,42.0712614],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939376":{"id":"n1820939376","loc":[-85.317517,41.9707062],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939377":{"id":"n1820939377","loc":[-85.1326326,42.070218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939394":{"id":"n1820939394","loc":[-85.0197746,42.0899118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939397":{"id":"n1820939397","loc":[-85.2590076,41.9984632],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939399":{"id":"n1820939399","loc":[-85.2469964,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939400":{"id":"n1820939400","loc":[-85.2470929,42.0146668],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939401":{"id":"n1820939401","loc":[-84.9984095,42.0878087],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939402":{"id":"n1820939402","loc":[-85.2372653,42.0243273],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:04Z","tags":{}},"n1820939403":{"id":"n1820939403","loc":[-85.2454986,42.0091955],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939404":{"id":"n1820939404","loc":[-85.0539205,42.1035995],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939405":{"id":"n1820939405","loc":[-85.550601,41.9706101],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939406":{"id":"n1820939406","loc":[-85.0351343,42.0999656],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939407":{"id":"n1820939407","loc":[-85.0082908,42.0905755],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939408":{"id":"n1820939408","loc":[-85.0132904,42.0902251],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939410":{"id":"n1820939410","loc":[-85.0892546,42.094012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939412":{"id":"n1820939412","loc":[-85.0350793,42.1030315],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939416":{"id":"n1820939416","loc":[-85.0012406,42.0886777],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939418":{"id":"n1820939418","loc":[-85.0577453,42.1029229],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939420":{"id":"n1820939420","loc":[-85.1230786,42.0776722],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939422":{"id":"n1820939422","loc":[-85.571136,41.9649304],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939436":{"id":"n1820939436","loc":[-85.1137968,42.0848997],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939437":{"id":"n1820939437","loc":[-85.3559584,41.9925105],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939438":{"id":"n1820939438","loc":[-85.0080172,42.0903565],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939439":{"id":"n1820939439","loc":[-85.0048897,42.0880913],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939441":{"id":"n1820939441","loc":[-85.0406959,42.1018574],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939443":{"id":"n1820939443","loc":[-85.3897328,42.0029078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939445":{"id":"n1820939445","loc":[-85.122349,42.0782814],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939448":{"id":"n1820939448","loc":[-85.4872193,41.985036],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939450":{"id":"n1820939450","loc":[-85.0120459,42.0904919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:05Z","tags":{}},"n1820939452":{"id":"n1820939452","loc":[-85.6320543,41.921982],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939456":{"id":"n1820939456","loc":[-85.0844749,42.1036843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939458":{"id":"n1820939458","loc":[-85.0968037,42.091296],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939463":{"id":"n1820939463","loc":[-85.5339747,41.9681841],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939465":{"id":"n1820939465","loc":[-85.4125423,42.0072129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939467":{"id":"n1820939467","loc":[-85.6335563,41.9303626],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939469":{"id":"n1820939469","loc":[-85.2821014,41.9932126],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939471":{"id":"n1820939471","loc":[-85.374691,41.9969917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939485":{"id":"n1820939485","loc":[-85.4471321,42.0049806],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939487":{"id":"n1820939487","loc":[-85.3752532,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939489":{"id":"n1820939489","loc":[-85.4517283,42.005927],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939492":{"id":"n1820939492","loc":[-85.4662552,42.0005693],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939494":{"id":"n1820939494","loc":[-85.0120083,42.0902928],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939496":{"id":"n1820939496","loc":[-85.044463,42.1004631],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939498":{"id":"n1820939498","loc":[-85.418293,42.0089667],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939500":{"id":"n1820939500","loc":[-85.0554762,42.1027358],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939504":{"id":"n1820939504","loc":[-85.1246289,42.0746858],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:06Z","tags":{}},"n1820939507":{"id":"n1820939507","loc":[-85.0408139,42.1021838],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939508":{"id":"n1820939508","loc":[-85.1236204,42.0775169],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939509":{"id":"n1820939509","loc":[-85.0350109,42.1037428],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939510":{"id":"n1820939510","loc":[-85.0551583,42.1029878],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939511":{"id":"n1820939511","loc":[-85.0956771,42.0916662],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939512":{"id":"n1820939512","loc":[-85.2323408,42.0273638],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939513":{"id":"n1820939513","loc":[-85.1232771,42.0762388],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939531":{"id":"n1820939531","loc":[-85.264608,41.9997828],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939533":{"id":"n1820939533","loc":[-85.4198808,42.0087914],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939535":{"id":"n1820939535","loc":[-85.3080864,41.9715677],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939536":{"id":"n1820939536","loc":[-85.1189426,42.0812596],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939537":{"id":"n1820939537","loc":[-85.2642741,41.9996764],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939538":{"id":"n1820939538","loc":[-85.2572531,42.0079627],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939539":{"id":"n1820939539","loc":[-85.2907807,41.9790174],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939540":{"id":"n1820939540","loc":[-85.3171415,41.9707301],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939541":{"id":"n1820939541","loc":[-85.08777,42.0953841],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939542":{"id":"n1820939542","loc":[-85.1239262,42.0773218],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939543":{"id":"n1820939543","loc":[-84.9973956,42.0877968],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939544":{"id":"n1820939544","loc":[-85.011606,42.0896161],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939545":{"id":"n1820939545","loc":[-85.4077358,42.0082971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939546":{"id":"n1820939546","loc":[-85.3614945,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:07Z","tags":{}},"n1820939547":{"id":"n1820939547","loc":[-85.3189118,41.9697649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939550":{"id":"n1820939550","loc":[-85.1262691,42.0740221],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939551":{"id":"n1820939551","loc":[-85.3863639,41.9994635],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939552":{"id":"n1820939552","loc":[-85.2836034,41.9923953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939554":{"id":"n1820939554","loc":[-85.3222377,41.9715916],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939555":{"id":"n1820939555","loc":[-85.0122658,42.0906312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939556":{"id":"n1820939556","loc":[-85.0022652,42.0877581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939557":{"id":"n1820939557","loc":[-85.1011314,42.0899954],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939559":{"id":"n1820939559","loc":[-85.0008181,42.0885293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939561":{"id":"n1820939561","loc":[-85.3637046,41.9942488],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939562":{"id":"n1820939562","loc":[-85.4500117,42.0052892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939563":{"id":"n1820939563","loc":[-85.0537636,42.1036365],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939565":{"id":"n1820939565","loc":[-85.2367503,42.0246939],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939566":{"id":"n1820939566","loc":[-85.0448479,42.1002653],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939567":{"id":"n1820939567","loc":[-85.6337065,41.9295006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939568":{"id":"n1820939568","loc":[-85.0879792,42.095623],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939569":{"id":"n1820939569","loc":[-85.6347623,41.9352369],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939570":{"id":"n1820939570","loc":[-85.1497931,42.0620378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:08Z","tags":{}},"n1820939571":{"id":"n1820939571","loc":[-85.5676169,41.9656324],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939572":{"id":"n1820939572","loc":[-85.638041,41.9166971],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939573":{"id":"n1820939573","loc":[-85.4993429,41.9781293],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939574":{"id":"n1820939574","loc":[-85.5352831,41.9692127],"version":"2","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:33Z","tags":{}},"n1820939575":{"id":"n1820939575","loc":[-84.9924429,42.0857118],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939577":{"id":"n1820939577","loc":[-85.0581101,42.1026721],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939578":{"id":"n1820939578","loc":[-85.641088,41.9094477],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939579":{"id":"n1820939579","loc":[-85.2548821,42.0052282],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939580":{"id":"n1820939580","loc":[-85.1124463,42.0859734],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939581":{"id":"n1820939581","loc":[-85.1083479,42.0857624],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939583":{"id":"n1820939583","loc":[-85.1387424,42.0648893],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939584":{"id":"n1820939584","loc":[-85.5152645,41.9700892],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939585":{"id":"n1820939585","loc":[-85.5463738,41.9713439],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939586":{"id":"n1820939586","loc":[-85.360207,41.9933717],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939587":{"id":"n1820939587","loc":[-85.2402372,42.0120917],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939588":{"id":"n1820939588","loc":[-85.3936381,42.0047255],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939589":{"id":"n1820939589","loc":[-85.3310246,41.973784],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939590":{"id":"n1820939590","loc":[-85.0329403,42.096642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:09Z","tags":{}},"n1820939591":{"id":"n1820939591","loc":[-85.0097271,42.0910981],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939593":{"id":"n1820939593","loc":[-85.0446562,42.1003437],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939595":{"id":"n1820939595","loc":[-85.0856671,42.1008452],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939596":{"id":"n1820939596","loc":[-85.4087228,42.0083449],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939597":{"id":"n1820939597","loc":[-85.0609519,42.1052564],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939598":{"id":"n1820939598","loc":[-85.3432126,41.9874548],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939599":{"id":"n1820939599","loc":[-85.4041738,42.0067027],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939600":{"id":"n1820939600","loc":[-85.0825437,42.1035768],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939601":{"id":"n1820939601","loc":[-85.048422,42.101498],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939602":{"id":"n1820939602","loc":[-85.0336256,42.0999031],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939603":{"id":"n1820939603","loc":[-85.046818,42.1014104],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939605":{"id":"n1820939605","loc":[-85.2856524,41.98078],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939607":{"id":"n1820939607","loc":[-85.1118173,42.0864245],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939609":{"id":"n1820939609","loc":[-85.0443397,42.1006263],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939610":{"id":"n1820939610","loc":[-85.0336698,42.0978361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:10Z","tags":{}},"n1820939611":{"id":"n1820939611","loc":[-85.4630322,42.0014248],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939612":{"id":"n1820939612","loc":[-85.0613127,42.1052353],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939613":{"id":"n1820939613","loc":[-85.0137571,42.0887801],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939614":{"id":"n1820939614","loc":[-85.272487,41.9982013],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939616":{"id":"n1820939616","loc":[-85.4665727,41.9983791],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939617":{"id":"n1820939617","loc":[-85.1288078,42.0725476],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939618":{"id":"n1820939618","loc":[-85.4653282,42.00109],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939619":{"id":"n1820939619","loc":[-85.2314717,42.0276746],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939620":{"id":"n1820939620","loc":[-85.255982,42.0003569],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939621":{"id":"n1820939621","loc":[-85.2886779,41.9787223],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939622":{"id":"n1820939622","loc":[-85.22438,42.0367509],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939623":{"id":"n1820939623","loc":[-85.0334713,42.0998382],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939624":{"id":"n1820939624","loc":[-85.2236504,42.037484],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939625":{"id":"n1820939625","loc":[-85.636908,41.9175162],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939627":{"id":"n1820939627","loc":[-85.2669187,41.9989707],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939628":{"id":"n1820939628","loc":[-85.3247268,41.9720702],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939629":{"id":"n1820939629","loc":[-85.3785104,41.9987299],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:11Z","tags":{}},"n1820939630":{"id":"n1820939630","loc":[-85.5267658,41.9720515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939631":{"id":"n1820939631","loc":[-85.2445116,42.0098811],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939632":{"id":"n1820939632","loc":[-85.1271448,42.0725077],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939633":{"id":"n1820939633","loc":[-85.0345751,42.099724],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939634":{"id":"n1820939634","loc":[-85.4217476,42.0089986],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939635":{"id":"n1820939635","loc":[-85.3121848,41.9689433],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939636":{"id":"n1820939636","loc":[-85.2826419,41.9929985],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939637":{"id":"n1820939637","loc":[-85.3160257,41.9706344],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939638":{"id":"n1820939638","loc":[-85.5684967,41.9657919],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939640":{"id":"n1820939640","loc":[-85.225131,42.0356194],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939642":{"id":"n1820939642","loc":[-85.1324124,42.0693328],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939644":{"id":"n1820939644","loc":[-84.9994073,42.0878843],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939645":{"id":"n1820939645","loc":[-85.1087596,42.0863329],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939646":{"id":"n1820939646","loc":[-85.2915532,41.9782996],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939647":{"id":"n1820939647","loc":[-84.9988708,42.0877808],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939648":{"id":"n1820939648","loc":[-85.2243628,42.0356728],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939649":{"id":"n1820939649","loc":[-85.0427397,42.1020524],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:12Z","tags":{}},"n1820939650":{"id":"n1820939650","loc":[-85.6388392,41.9100752],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939651":{"id":"n1820939651","loc":[-85.0133709,42.0888557],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939652":{"id":"n1820939652","loc":[-85.318798,41.9701211],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939653":{"id":"n1820939653","loc":[-85.6335778,41.9190602],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939654":{"id":"n1820939654","loc":[-85.6338396,41.9370247],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939655":{"id":"n1820939655","loc":[-85.0939069,42.0931988],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939656":{"id":"n1820939656","loc":[-85.5702347,41.9651378],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939657":{"id":"n1820939657","loc":[-85.4235286,42.0088392],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939658":{"id":"n1820939658","loc":[-85.2740856,41.9972206],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939659":{"id":"n1820939659","loc":[-85.4824299,41.9934195],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939660":{"id":"n1820939660","loc":[-85.3857846,42.0014408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939661":{"id":"n1820939661","loc":[-85.0451658,42.10028],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939662":{"id":"n1820939662","loc":[-85.3893036,42.001377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939664":{"id":"n1820939664","loc":[-85.2455845,42.0088607],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939665":{"id":"n1820939665","loc":[-85.2741071,41.9951116],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939666":{"id":"n1820939666","loc":[-85.1298375,42.0677718],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939667":{"id":"n1820939667","loc":[-85.5491848,41.9707377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:13Z","tags":{}},"n1820939669":{"id":"n1820939669","loc":[-85.2780298,41.995238],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939670":{"id":"n1820939670","loc":[-85.1330068,42.0716926],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939671":{"id":"n1820939671","loc":[-85.0811342,42.1025129],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939672":{"id":"n1820939672","loc":[-85.2325124,42.0290135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939673":{"id":"n1820939673","loc":[-85.2975077,41.9716953],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939674":{"id":"n1820939674","loc":[-85.0951729,42.0922394],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939676":{"id":"n1820939676","loc":[-85.0363252,42.1043119],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939677":{"id":"n1820939677","loc":[-85.2960057,41.97349],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939678":{"id":"n1820939678","loc":[-85.3701849,41.9982515],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939679":{"id":"n1820939679","loc":[-85.3381486,41.9848861],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939680":{"id":"n1820939680","loc":[-85.2058448,42.0417286],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939682":{"id":"n1820939682","loc":[-85.0819335,42.1034443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939683":{"id":"n1820939683","loc":[-85.3872223,41.9993359],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939684":{"id":"n1820939684","loc":[-85.095366,42.091909],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939685":{"id":"n1820939685","loc":[-85.2327914,42.0291888],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939686":{"id":"n1820939686","loc":[-85.0433459,42.1018773],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939687":{"id":"n1820939687","loc":[-85.0585339,42.1027318],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939688":{"id":"n1820939688","loc":[-85.0062885,42.0876347],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939689":{"id":"n1820939689","loc":[-85.246299,42.017377],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939690":{"id":"n1820939690","loc":[-85.2932376,41.9742877],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939691":{"id":"n1820939691","loc":[-85.2962846,41.9736815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:14Z","tags":{}},"n1820939692":{"id":"n1820939692","loc":[-85.6052365,41.9409193],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939693":{"id":"n1820939693","loc":[-85.2570536,42.0003341],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939694":{"id":"n1820939694","loc":[-85.0488458,42.1014064],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939695":{"id":"n1820939695","loc":[-85.4050321,42.0069578],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939696":{"id":"n1820939696","loc":[-85.4847517,41.9845894],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939697":{"id":"n1820939697","loc":[-85.0844655,42.1013826],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939698":{"id":"n1820939698","loc":[-85.1437206,42.0650008],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939699":{"id":"n1820939699","loc":[-85.1168183,42.0864034],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939700":{"id":"n1820939700","loc":[-85.5479831,41.9711366],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939701":{"id":"n1820939701","loc":[-85.0349948,42.1034124],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939702":{"id":"n1820939702","loc":[-85.0835589,42.1038821],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939703":{"id":"n1820939703","loc":[-85.0203875,42.0902649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939704":{"id":"n1820939704","loc":[-85.0371191,42.1038184],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939705":{"id":"n1820939705","loc":[-85.1273312,42.0735681],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939707":{"id":"n1820939707","loc":[-85.1272239,42.0730226],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939710":{"id":"n1820939710","loc":[-85.0349881,42.1019012],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939712":{"id":"n1820939712","loc":[-85.2440459,42.0178313],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939713":{"id":"n1820939713","loc":[-85.2444751,42.0182618],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939714":{"id":"n1820939714","loc":[-85.0539996,42.1032863],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:15Z","tags":{}},"n1820939715":{"id":"n1820939715","loc":[-85.2215905,42.0373246],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939716":{"id":"n1820939716","loc":[-85.0649712,42.1051994],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939717":{"id":"n1820939717","loc":[-85.0927146,42.0927581],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939718":{"id":"n1820939718","loc":[-85.3884668,42.0042312],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939719":{"id":"n1820939719","loc":[-85.0840672,42.1013241],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939720":{"id":"n1820939720","loc":[-85.304739,41.9725408],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939721":{"id":"n1820939721","loc":[-85.2243585,42.0371334],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939722":{"id":"n1820939722","loc":[-85.0599823,42.1049686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939723":{"id":"n1820939723","loc":[-85.0298825,42.0944288],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939724":{"id":"n1820939724","loc":[-85.0366095,42.1042443],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939725":{"id":"n1820939725","loc":[-85.0698783,42.1058135],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939726":{"id":"n1820939726","loc":[-85.1054551,42.0873361],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939727":{"id":"n1820939727","loc":[-84.9952324,42.0864285],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939728":{"id":"n1820939728","loc":[-85.3442211,41.9897993],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939729":{"id":"n1820939729","loc":[-85.4386134,42.0056822],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939730":{"id":"n1820939730","loc":[-85.2438528,42.0146589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939731":{"id":"n1820939731","loc":[-85.0355581,42.1041846],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939732":{"id":"n1820939732","loc":[-85.557682,41.9724447],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939734":{"id":"n1820939734","loc":[-85.2299418,42.033314],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939735":{"id":"n1820939735","loc":[-85.6297412,41.9419088],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939736":{"id":"n1820939736","loc":[-85.2645101,41.9980259],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939738":{"id":"n1820939738","loc":[-85.082195,42.1035649],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:16Z","tags":{}},"n1820939739":{"id":"n1820939739","loc":[-85.234272,42.0267102],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939740":{"id":"n1820939740","loc":[-85.0130758,42.0895006],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939741":{"id":"n1820939741","loc":[-85.4594702,42.0000375],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939742":{"id":"n1820939742","loc":[-84.9946745,42.0863687],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939743":{"id":"n1820939743","loc":[-85.6438775,41.9120186],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939744":{"id":"n1820939744","loc":[-85.6372685,41.9168089],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939745":{"id":"n1820939745","loc":[-85.2789468,41.9893208],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939747":{"id":"n1820939747","loc":[-85.3775019,41.998427],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939749":{"id":"n1820939749","loc":[-85.0993571,42.0909178],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939750":{"id":"n1820939750","loc":[-85.1308503,42.0669339],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939751":{"id":"n1820939751","loc":[-85.4802566,41.9856659],"version":"2","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1820939752":{"id":"n1820939752","loc":[-85.2543563,42.0108804],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939753":{"id":"n1820939753","loc":[-85.1041033,42.0878815],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939755":{"id":"n1820939755","loc":[-85.4000969,42.0071651],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939757":{"id":"n1820939757","loc":[-85.3858275,42.0022381],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939758":{"id":"n1820939758","loc":[-85.3653998,41.996609],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939759":{"id":"n1820939759","loc":[-85.2432949,42.0202305],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939760":{"id":"n1820939760","loc":[-85.3878874,42.0042472],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939761":{"id":"n1820939761","loc":[-85.2516741,42.0114145],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:17Z","tags":{}},"n1820939762":{"id":"n1820939762","loc":[-85.2788825,41.9865142],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939763":{"id":"n1820939763","loc":[-85.0009147,42.0886686],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939764":{"id":"n1820939764","loc":[-85.3918142,42.003434],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939765":{"id":"n1820939765","loc":[-85.5532832,41.9696848],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939766":{"id":"n1820939766","loc":[-85.5545063,41.969254],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939768":{"id":"n1820939768","loc":[-85.1327989,42.0704769],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939770":{"id":"n1820939770","loc":[-85.0588558,42.1047696],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939772":{"id":"n1820939772","loc":[-85.555798,41.9713017],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939773":{"id":"n1820939773","loc":[-85.0565853,42.1023589],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939774":{"id":"n1820939774","loc":[-85.2582941,41.9992765],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939775":{"id":"n1820939775","loc":[-85.3007264,41.9727642],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939776":{"id":"n1820939776","loc":[-85.2477045,42.0082652],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1820939777":{"id":"n1820939777","loc":[-85.2415247,42.0104973],"version":"1","changeset":"12180411","user":"Thad C","uid":"349027","visible":"true","timestamp":"2012-07-10T22:57:18Z","tags":{}},"n1821006698":{"id":"n1821006698","loc":[-85.6345227,41.9382009],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006700":{"id":"n1821006700","loc":[-85.6344894,41.938975],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006704":{"id":"n1821006704","loc":[-85.6351181,41.9370157],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006706":{"id":"n1821006706","loc":[-85.6357554,41.9361657],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006708":{"id":"n1821006708","loc":[-85.6351235,41.9368481],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006710":{"id":"n1821006710","loc":[-85.6352844,41.9364211],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006712":{"id":"n1821006712","loc":[-85.6351503,41.937307],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006716":{"id":"n1821006716","loc":[-85.6350366,41.9379774],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821006725":{"id":"n1821006725","loc":[-85.6352147,41.9375903],"version":"1","changeset":"12181163","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T01:58:48Z","tags":{}},"n1821137607":{"id":"n1821137607","loc":[-85.5297057,41.9669915],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821137608":{"id":"n1821137608","loc":[-85.5288598,41.9673094],"version":"1","changeset":"12182668","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:35:32Z","tags":{}},"n1821139530":{"id":"n1821139530","loc":[-85.4832228,41.9881686],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139531":{"id":"n1821139531","loc":[-85.4812101,41.9851258],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139532":{"id":"n1821139532","loc":[-85.4799127,41.9860244],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1821139533":{"id":"n1821139533","loc":[-85.4800313,41.9865555],"version":"1","changeset":"12182679","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T07:37:01Z","tags":{}},"n1841425201":{"id":"n1841425201","loc":[-85.4334577,42.0063713],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:57Z","tags":{}},"n1841425222":{"id":"n1841425222","loc":[-85.4382449,42.0055785],"version":"1","changeset":"12524188","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-28T14:50:58Z","tags":{}},"n1914861007":{"id":"n1914861007","loc":[-85.394959,42.0057472],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:21Z","tags":{}},"n1914861057":{"id":"n1914861057","loc":[-85.3967185,42.0049695],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:22Z","tags":{}},"n1914861112":{"id":"n1914861112","loc":[-85.394179,42.0056906],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:24Z","tags":{}},"n1914861306":{"id":"n1914861306","loc":[-85.3900226,42.0028488],"version":"1","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:27Z","tags":{}},"n2114807565":{"id":"n2114807565","loc":[-85.6385979,41.9577824],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807568":{"id":"n2114807568","loc":[-85.6325097,41.9775713],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807572":{"id":"n2114807572","loc":[-85.6328996,41.9980965],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807578":{"id":"n2114807578","loc":[-85.6344818,41.9696956],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807583":{"id":"n2114807583","loc":[-85.6326289,41.9757853],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807593":{"id":"n2114807593","loc":[-85.6360828,41.9650674],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2130304159":{"id":"n2130304159","loc":[-85.6352537,41.9450015],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"railway":"level_crossing"}},"n2139795852":{"id":"n2139795852","loc":[-85.6374708,41.9311633],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:57Z","tags":{}},"n2139858882":{"id":"n2139858882","loc":[-85.635178,41.9356158],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858883":{"id":"n2139858883","loc":[-85.63533,41.9355886],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858884":{"id":"n2139858884","loc":[-85.6353819,41.93556],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858885":{"id":"n2139858885","loc":[-85.6353665,41.9355157],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858886":{"id":"n2139858886","loc":[-85.6353165,41.9354971],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858887":{"id":"n2139858887","loc":[-85.6352454,41.9355328],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858888":{"id":"n2139858888","loc":[-85.6350184,41.9357846],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858889":{"id":"n2139858889","loc":[-85.634978,41.9359448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858890":{"id":"n2139858890","loc":[-85.6347723,41.9361523],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858891":{"id":"n2139858891","loc":[-85.6347165,41.9362667],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858892":{"id":"n2139858892","loc":[-85.6346992,41.9364312],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858893":{"id":"n2139858893","loc":[-85.634603,41.9366329],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858894":{"id":"n2139858894","loc":[-85.6345973,41.9367488],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858895":{"id":"n2139858895","loc":[-85.6345127,41.9369734],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858896":{"id":"n2139858896","loc":[-85.634478,41.9371923],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858897":{"id":"n2139858897","loc":[-85.6344838,41.9373768],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858898":{"id":"n2139858898","loc":[-85.6346242,41.9375299],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858899":{"id":"n2139858899","loc":[-85.6347723,41.9376357],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858900":{"id":"n2139858900","loc":[-85.6347607,41.9377788],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858901":{"id":"n2139858901","loc":[-85.6346204,41.9379533],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858902":{"id":"n2139858902","loc":[-85.6344184,41.9380105],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858903":{"id":"n2139858903","loc":[-85.6341627,41.9380406],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858904":{"id":"n2139858904","loc":[-85.634005,41.9381679],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858905":{"id":"n2139858905","loc":[-85.63393,41.9383353],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:11Z","tags":{}},"n2139858906":{"id":"n2139858906","loc":[-85.6338588,41.9384597],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858907":{"id":"n2139858907","loc":[-85.6336627,41.9387759],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858908":{"id":"n2139858908","loc":[-85.6335127,41.9389361],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858933":{"id":"n2139858933","loc":[-85.6353118,41.9432646],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858934":{"id":"n2139858934","loc":[-85.6353952,41.9433002],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858935":{"id":"n2139858935","loc":[-85.6356496,41.9433255],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858936":{"id":"n2139858936","loc":[-85.6363128,41.9433373],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858937":{"id":"n2139858937","loc":[-85.6365467,41.9433779],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858938":{"id":"n2139858938","loc":[-85.6368692,41.9435265],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858939":{"id":"n2139858939","loc":[-85.6370986,41.9437039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858940":{"id":"n2139858940","loc":[-85.6372371,41.9437732],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858941":{"id":"n2139858941","loc":[-85.6374756,41.9438171],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858942":{"id":"n2139858942","loc":[-85.6376164,41.9439286],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858943":{"id":"n2139858943","loc":[-85.6377504,41.944138],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858944":{"id":"n2139858944","loc":[-85.6384204,41.9443137],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858945":{"id":"n2139858945","loc":[-85.6385726,41.9444506],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858946":{"id":"n2139858946","loc":[-85.638702,41.9445739],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858947":{"id":"n2139858947","loc":[-85.6387179,41.9446516],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858948":{"id":"n2139858948","loc":[-85.6387088,41.9447985],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858949":{"id":"n2139858949","loc":[-85.6387656,41.9449877],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858950":{"id":"n2139858950","loc":[-85.638777,41.9451448],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858951":{"id":"n2139858951","loc":[-85.6387088,41.9452631],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858964":{"id":"n2139858964","loc":[-85.6383346,41.9442912],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858966":{"id":"n2139858966","loc":[-85.6384724,41.9443605],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858967":{"id":"n2139858967","loc":[-85.6354078,41.9434285],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858968":{"id":"n2139858968","loc":[-85.635271,41.943654],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858969":{"id":"n2139858969","loc":[-85.6352657,41.9437437],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858970":{"id":"n2139858970","loc":[-85.635271,41.9438195],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858971":{"id":"n2139858971","loc":[-85.6351563,41.9438906],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858972":{"id":"n2139858972","loc":[-85.6351384,41.9438882],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858973":{"id":"n2139858973","loc":[-85.6351514,41.9438034],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858974":{"id":"n2139858974","loc":[-85.6351237,41.9436641],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858975":{"id":"n2139858975","loc":[-85.6351498,41.9436108],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858976":{"id":"n2139858976","loc":[-85.6351058,41.9435345],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858977":{"id":"n2139858977","loc":[-85.6349641,41.9432051],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858986":{"id":"n2139858986","loc":[-85.6341205,41.9380746],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858990":{"id":"n2139858990","loc":[-85.6345671,41.9381816],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858995":{"id":"n2139858995","loc":[-85.6339783,41.9382273],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139859003":{"id":"n2139859003","loc":[-85.6340477,41.9373489],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139859004":{"id":"n2139859004","loc":[-85.6339784,41.9374752],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{}},"n2139870406":{"id":"n2139870406","loc":[-85.6342265,41.9432605],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:01Z","tags":{}},"n2139877106":{"id":"n2139877106","loc":[-85.6346323,41.9438746],"version":"1","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:38Z","tags":{}},"n2139982399":{"id":"n2139982399","loc":[-85.6324055,41.9408537],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982400":{"id":"n2139982400","loc":[-85.632488,41.941063],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"leisure":"slipway"}},"n2139982401":{"id":"n2139982401","loc":[-85.6327261,41.9415366],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982402":{"id":"n2139982402","loc":[-85.6326391,41.9413598],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982403":{"id":"n2139982403","loc":[-85.6327041,41.9414391],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982405":{"id":"n2139982405","loc":[-85.6322891,41.9406009],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982406":{"id":"n2139982406","loc":[-85.6325412,41.9425257],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139989333":{"id":"n2139989333","loc":[-85.6340584,41.9431731],"version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{}},"n2140006331":{"id":"n2140006331","loc":[-85.6361751,41.9459744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006334":{"id":"n2140006334","loc":[-85.636528,41.9459751],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006336":{"id":"n2140006336","loc":[-85.6370918,41.9458926],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006338":{"id":"n2140006338","loc":[-85.6378806,41.9456474],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006340":{"id":"n2140006340","loc":[-85.6385831,41.9454343],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006342":{"id":"n2140006342","loc":[-85.639341,41.945157],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006344":{"id":"n2140006344","loc":[-85.6393497,41.9450232],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006346":{"id":"n2140006346","loc":[-85.6388245,41.9450145],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006348":{"id":"n2140006348","loc":[-85.6388167,41.9441739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006351":{"id":"n2140006351","loc":[-85.6382915,41.9441797],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006353":{"id":"n2140006353","loc":[-85.63828,41.9438109],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006355":{"id":"n2140006355","loc":[-85.6381949,41.9436009],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006357":{"id":"n2140006357","loc":[-85.6371904,41.9435918],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006359":{"id":"n2140006359","loc":[-85.6366966,41.9432727],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006361":{"id":"n2140006361","loc":[-85.6353755,41.9432744],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006365":{"id":"n2140006365","loc":[-85.6350906,41.9435472],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006366":{"id":"n2140006366","loc":[-85.6343461,41.9441573],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006395":{"id":"n2140006395","loc":[-85.6351171,41.9437175],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006397":{"id":"n2140006397","loc":[-85.635352,41.9450206],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006399":{"id":"n2140006399","loc":[-85.6358194,41.9454937],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006401":{"id":"n2140006401","loc":[-85.6348693,41.9445739],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006431":{"id":"n2140006431","loc":[-85.6376737,41.9438023],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006437":{"id":"n2140006437","loc":[-85.6382631,41.9442724],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2189123379":{"id":"n2189123379","loc":[-85.6342671,41.9352665],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w203974076":{"id":"w203974076","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870442","n2139870457","n2139870458","n2139870459","n2139870460","n2139870452"]},"w170989131":{"id":"w170989131","version":"5","changeset":"13114234","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-09-15T03:33:30Z","tags":{"name":"St Joseph River","source":"Bing Imagery","waterway":"river"},"nodes":["n1820938225","n1820938712","n1820937596","n1820937574","n1820938515","n1820938330","n1820938678","n1820938240","n1820938950","n1820939226","n1820939575","n1820937913","n1820938223","n1820937668","n1820938545","n1820937584","n1820939742","n1820939727","n1820937578","n1820938149","n1820938124","n1820938888","n1820938898","n1820937922","n1820939543","n1820939370","n1820939401","n1820939647","n1820938345","n1820939644","n1820938333","n1820938370","n1820938624","n1820938493","n1820939559","n1820939763","n1820939237","n1820939416","n1820937810","n1820938317","n1820938324","n1820937558","n1820939556","n1820938298","n1820939348","n1820939125","n1820939081","n1820938859","n1820939126","n1820938881","n1820939439","n1820939324","n1820939128","n1820938101","n1820937706","n1820938382","n1820938776","n1820937815","n1820939177","n1820939688","n1820938952","n1820938216","n1820938387","n1820939333","n1820938243","n1820938248","n1820937666","n1820939051","n1820938332","n1820939438","n1820939407","n1820939361","n1820937517","n1820938770","n1820939591","n1820937857","n1820938491","n1820937993","n1820938125","n1820938166","n1820937746","n1820939028","n1820937638","n1820938676","n1820938843","n1820938844","n1820937978","n1820938730","n1820939544","n1820938304","n1820939123","n1820939494","n1820939450","n1820939555","n1820938133","n1820938129","n1820938871","n1820939408","n1820938669","n1820938260","n1820939740","n1820937625","n1820938631","n1820939651","n1820939613","n1820937850","n1820938325","n1820937736","n1820938804","n1820938837","n1820938014","n1820938991","n1820938722","n1820938935","n1820937870","n1820938432","n1820937986","n1820938756","n1820938966","n1820939159","n1820937744","n1820938334","n1820937645","n1820939394","n1820937656","n1820938392","n1820939703","n1820938385","n1820938947","n1820938854","n1820938428","n1820938488","n1820938269","n1820938668","n1820938268","n1820938707","n1820937732","n1820939144","n1820938481","n1820938771","n1820938686","n1820938948","n1820937997","n1820937769","n1820939003","n1820938083","n1820939011","n1820938803","n1820938700","n1820939723","n1820938808","n1820938262","n1820938081","n1820938926","n1820938326","n1820938102","n1820938508","n1820939590","n1820939199","n1820938084","n1820938870","n1820938895","n1820937611","n1820938918","n1820938514","n1820939610","n1820938910","n1820937523","n1820938127","n1820939108","n1820937981","n1820938938","n1820938715","n1820939016","n1820938237","n1820939623","n1820939602","n1820937734","n1820938977","n1820939633","n1820939156","n1820939406","n1820938279","n1820938301","n1820937678","n1820937671","n1820939163","n1820938356","n1820939372","n1820937568","n1820937626","n1820939710","n1820939004","n1820938253","n1820938571","n1820937513","n1820939412","n1820939701","n1820939509","n1820938839","n1820939731","n1820937798","n1820939676","n1820939724","n1820939243","n1820939704","n1820937814","n1820937599","n1820938199","n1820938995","n1820938445","n1820938069","n1820938470","n1820939074","n1820938193","n1820938740","n1820938047","n1820939507","n1820939441","n1820939160","n1820937849","n1820937840","n1820938052","n1820938988","n1820938796","n1820937724","n1820937620","n1820939304","n1820938343","n1820939649","n1820938875","n1820939686","n1820938476","n1820937801","n1820937737","n1820938264","n1820939609","n1820939496","n1820939593","n1820939566","n1820939661","n1820937782","n1820938912","n1820939173","n1820937733","n1820938953","n1820939603","n1820937607","n1820938468","n1820939601","n1820939694","n1820939133","n1820938897","n1820938893","n1820937831","n1820937730","n1820938820","n1820938046","n1820938426","n1820938347","n1820937582","n1820938954","n1820938033","n1820938104","n1820938680","n1820939563","n1820939404","n1820939714","n1820939000","n1820937992","n1820938168","n1820939510","n1820939500","n1820937509","n1820938865","n1820939773","n1820938138","n1820938905","n1820937623","n1820939418","n1820937946","n1820939577","n1820937615","n1820939687","n1820939119","n1820937988","n1820938337","n1820937750","n1820938703","n1820938339","n1820939044","n1820939770","n1820938913","n1820937672","n1820939722","n1820937768","n1820939597","n1820939612","n1820937699","n1820937682","n1820937669","n1820937657","n1820939363","n1820937800","n1820938265","n1820937760","n1820938207","n1820938115","n1820939130","n1820939716","n1820938338","n1820938239","n1820939040","n1820938064","n1820938855","n1820939015","n1820938258","n1820939042","n1820939043","n1820938443","n1820939725","n1820937675","n1820938568","n1820938280","n1820937705","n1820938775","n1820938636","n1820938626","n1820937859","n1820938096","n1820937852","n1820939039","n1820938247","n1820938585","n1820937707","n1820938117","n1820938909","n1820939115","n1820939335","n1820938805","n1820937935","n1820937876","n1820938699","n1820937869","n1820938603","n1820938100","n1820938500","n1820938283","n1820938275","n1820938923","n1820938365","n1820938349","n1820937804","n1820937903","n1820937608","n1820938688","n1820939671","n1820938092","n1820937820","n1820938753","n1820938922","n1820937990","n1820939682","n1820939738","n1820939600","n1820938167","n1820937726","n1820939702","n1820938209","n1820939456","n1820937837","n1820938222","n1820938902","n1820939162","n1820938965","n1820938461","n1820937681","n1820937514","n1820937764","n1820939719","n1820939697","n1820938899","n1820939093","n1820938702","n1820939595","n1820938749","n1820938348","n1820937606","n1820938675","n1820938830","n1820938737","n1820938758","n1820938716","n1820939107","n1820937863","n1820939033","n1820938163","n1820937867","n1820938819","n1820938034","n1820938252","n1820937563","n1820937868","n1820939032","n1820938632","n1820937982","n1820937943","n1820939568","n1820939541","n1820938215","n1820939097","n1820938812","n1820937518","n1820937952","n1820938711","n1820938736","n1820939066","n1820937591","n1820938082","n1820938108","n1820938496","n1820939410","n1820938949","n1820938327","n1820937708","n1820939023","n1820937772","n1820938256","n1820939083","n1820938378","n1820938961","n1820937610","n1820939717","n1820938695","n1820938590","n1820939655","n1820938341","n1820939054","n1820939157","n1820939674","n1820939684","n1820939511","n1820937631","n1820939458","n1820937830","n1820937709","n1820937779","n1820939749","n1820938880","n1820938856","n1820938557","n1820939557","n1820938249","n1820938818","n1820937594","n1820939114","n1820938416","n1820937508","n1820938990","n1820938201","n1820937759","n1820937987","n1820939164","n1820939753","n1820938187","n1820939067","n1820937586","n1820937941","n1820938121","n1820937807","n1820938521","n1820939726","n1820938244","n1820939014","n1820938741","n1820937629","n1820938664","n1820938747","n1820939082","n1820938709","n1820938320","n1820938270","n1820937619","n1820937777","n1820937718","n1820939138","n1820938056","n1820938155","n1820938596","n1820937775","n1820938437","n1820938128","n1820939581","n1820939145","n1820938546","n1820938184","n1820937601","n1820937794","n1820938539","n1820939645","n1820938438","n1820938436","n1820939025","n1820938915","n1820938534","n1820937605","n1820939607","n1820939101","n1820939580","n1820939268","n1820939134","n1820938849","n1820938754","n1820938079","n1820937842","n1820938781","n1820938873","n1820938495","n1820938381","n1820938503","n1820939436","n1820938502","n1820939087","n1820938996","n1820938449","n1820938907","n1820937979","n1820937780","n1820937546","n1820939699","n1820937677","n1820938957","n1820938946","n1820937776","n1820937717","n1820938718","n1820937637","n1820938510","n1820937663","n1820938941","n1820939151","n1820937603","n1820938250","n1820937951","n1820938630","n1820938821","n1820938779","n1820938497","n1820938159","n1820939536","n1820938409","n1820938386","n1820939116","n1820938340","n1820939117","n1820938291","n1820938435","n1820937819","n1820938242","n1820939078","n1820938877","n1820939104","n1820939445","n1820938367","n1820938903","n1820939420","n1820938517","n1820939508","n1820939542","n1820939326","n1820938210","n1820939020","n1820938815","n1820937832","n1820939513","n1820937818","n1820939005","n1820938717","n1820939135","n1820938384","n1820937587","n1820939024","n1820939504","n1820939120","n1820939026","n1820938015","n1820938998","n1820937648","n1820939137","n1820937761","n1820938195","n1820938535","n1820939550","n1820938725","n1820938282","n1820937781","n1820937792","n1820939705","n1820937788","n1820939707","n1820937882","n1820939632","n1820938427","n1820938276","n1820939617","n1820939013","n1820939035","n1820937543","n1820939365","n1820937752","n1820937802","n1820939183","n1820939670","n1820938450","n1820939375","n1820937813","n1820937673","n1820937783","n1820939029","n1820939768","n1820939377","n1820937974","n1820939244","n1820939642","n1820937864","n1820938255","n1820938528","n1820939666","n1820938120","n1820937812","n1820938928","n1820939750","n1820939099","n1820938073","n1820938714","n1820939140","n1820938192","n1820937844","n1820938635","n1820938742","n1820939583","n1820937887","n1820938318","n1820938816","n1820939698","n1820938273","n1820939181","n1820937652","n1820938748","n1820937651","n1820938519","n1820938019","n1820938752","n1820938235","n1820939118","n1820938562","n1820939314","n1820939570","n1820938190","n1820938342","n1820938533","n1820937977","n1820939089","n1820939146","n1820938622","n1820938297","n1820938524","n1820939283","n1820938874","n1820938832","n1820937550","n1820937843","n1820938638","n1820938116","n1820938206","n1820938319","n1820939053","n1820937845","n1820938093","n1820939217","n1820938997","n1820939355","n1820938861","n1820938726","n1820938057","n1820939373","n1820937862","n1820938518","n1820939072","n1820939680","n1820938444","n1820938217","n1820938506","n1820938393","n1820938492","n1820938852","n1820938221","n1820938773","n1820937684","n1820939060","n1820938224","n1820938203","n1820938840","n1820937525","n1820938147","n1820938433","n1820938188","n1820939359","n1820938750","n1820938016","n1820938768","n1820937621","n1820937799","n1820938951","n1820938721","n1820939037","n1820937866","n1820939715","n1820938063","n1820938446","n1820937627","n1820939624","n1820938431","n1820939721","n1820939622","n1820939239","n1820939263","n1820939648","n1820939640","n1820938867","n1820938757","n1820938439","n1820939352","n1820937740","n1820939329","n1820938229","n1820937583","n1820938180","n1820938366","n1820937767","n1820937758","n1820939374","n1820938869","n1820938292","n1820938400","n1820938399","n1820939734","n1820939289","n1820938944","n1820937755","n1820938759","n1820938434","n1820937600","n1820937825","n1820937670","n1820937793","n1820938011","n1820938246","n1820938956","n1820937770","n1820937757","n1820938059","n1820937860","n1820937569","n1820939266","n1820939685","n1820939672","n1820938606","n1820938772","n1820939038","n1820938211","n1820938359","n1820939619","n1820938708","n1820939512","n1820938065","n1820939233","n1820939739","n1820938786","n1820938879","n1820939147","n1820938563","n1820939148","n1820937839","n1820937659","n1820937786","n1820938419","n1820939565","n1820939402","n1820937710","n1820938254","n1820938271","n1820938390","n1820937680","n1820938140","n1820937817","n1820938218","n1820937985","n1820939235","n1820938441","n1820938401","n1820938719","n1820937795","n1820938971","n1820938460","n1820939759","n1820937972","n1820937841","n1820938462","n1820939320","n1820938978","n1820938360","n1820939713","n1820937676","n1820939712","n1820937939","n1820938080","n1820937754","n1820937753","n1820938530","n1820937886","n1820939689","n1820939124","n1820938697","n1820938789","n1820939105","n1820938860","n1820938853","n1820939400","n1820937561","n1820938404","n1820938774","n1820939316","n1820937696","n1820938782","n1820938975","n1820937564","n1820939730","n1820938257","n1820937853","n1820938487","n1820938848","n1820938906","n1820939230","n1820938424","n1820938051","n1820937771","n1820939587","n1820939149","n1820938792","n1820939041","n1820938934","n1820939777","n1820937515","n1820939058","n1820938312","n1820939264","n1820939631","n1820939109","n1820939403","n1820939664","n1820938724","n1820938929","n1820939399","n1820939776","n1820939369","n1820939185","n1820937701","n1820938126","n1820938336","n1820938219","n1820939080","n1820938642","n1820938043","n1820937725","n1820938548","n1820938552","n1820938035","n1820938684","n1820937778","n1820938764","n1820939021","n1820939346","n1820937712","n1820939761","n1820938397","n1820937747","n1820938566","n1820939161","n1820939090","n1820939752","n1820939271","n1820938878","n1820938110","n1820938346","n1820938499","n1820938151","n1820939538","n1820938281","n1820939153","n1820938551","n1820939285","n1820938197","n1820938408","n1820938482","n1820939036","n1820939579","n1820938489","n1820938483","n1820938189","n1820938123","n1820938087","n1820937741","n1820938485","n1820937590","n1820938972","n1820937773","n1820937520","n1820938872","n1820938131","n1820938452","n1820938328","n1820939620","n1820937641","n1820938353","n1820939693","n1820938705","n1820937640","n1820939189","n1820938144","n1820939774","n1820938694","n1820938238","n1820939397","n1820937917","n1820938454","n1820938567","n1820938979","n1820938060","n1820938204","n1820937828","n1820939232","n1820938806","n1820938857","n1820938078","n1820938105","n1820939228","n1820938604","n1820937763","n1820937854","n1820938289","n1820939736","n1820937937","n1820937714","n1820938278","n1820938058","n1820938706","n1820938989","n1820938313","n1820938520","n1820938288","n1820937689","n1820939537","n1820939531","n1820939019","n1820937527","n1820938455","n1820938814","n1820938045","n1820939627","n1820938213","n1820938161","n1820938331","n1820938024","n1820938220","n1820938062","n1820938178","n1820937796","n1820937644","n1820938490","n1820937589","n1820937879","n1820939614","n1820938882","n1820938039","n1820938538","n1820937667","n1820937719","n1820938561","n1820939658","n1820938783","n1820938601","n1820938198","n1820938388","n1820938969","n1820937687","n1820939086","n1820939665","n1820939187","n1820938498","n1820938261","n1820937983","n1820938068","n1820938136","n1820939061","n1820938137","n1820938186","n1820939071","n1820937592","n1820939669","n1820937553","n1820939357","n1820938727","n1820939371","n1820939112","n1820939079","n1820938743","n1820938467","n1820938834","n1820938022","n1820938537","n1820938122","n1820938516","n1820937614","n1820937612","n1820939469","n1820939636","n1820939050","n1820939552","n1820938157","n1820938663","n1820938955","n1820939091","n1820938430","n1820938471","n1820937809","n1820938074","n1820938208","n1820938914","n1820938858","n1820938417","n1820937531","n1820938107","n1820939100","n1820938751","n1820937711","n1820938824","n1820939745","n1820937572","n1820938602","n1820938212","n1820938097","n1820937921","n1820938090","n1820938511","n1820938876","n1820939762","n1820938234","n1820938048","n1820937774","n1820937856","n1820937749","n1820937765","n1820938286","n1820939095","n1820938480","n1820939229","n1820938277","n1820937617","n1820938311","n1820937622","n1820939196","n1820937690","n1820939006","n1820939287","n1820939131","n1820938106","n1820938784","n1820938335","n1820938095","n1820938182","n1820937715","n1820937683","n1820938070","n1820939605","n1820938527","n1820938763","n1820938398","n1820937686","n1820939621","n1820937664","n1820939277","n1820938565","n1820939539","n1820938099","n1820939646","n1820938556","n1820937548","n1820938729","n1820939336","n1820938259","n1820938728","n1820938361","n1820937643","n1820938644","n1820939007","n1820939690","n1820939227","n1820937635","n1820937950","n1820938682","n1820939150","n1820939012","n1820939261","n1820939111","n1820937805","n1820939691","n1820939677","n1820937628","n1820937811","n1820938790","n1820938251","n1820938226","n1820938942","n1820937633","n1820937984","n1820937751","n1820939673","n1820938970","n1820938415","n1820938597","n1820938309","n1820938111","n1820938472","n1820938894","n1820938402","n1820937593","n1820938570","n1820939102","n1820939775","n1820937948","n1820939121","n1820937511","n1820938787","n1820939720","n1820939075","n1820937880","n1820937742","n1820937721","n1820939535","n1820938486","n1820938354","n1820937632","n1820939010","n1820938885","n1820938089","n1820937613","n1820938442","n1820938245","n1820938272","n1820937566","n1820938295","n1820938532","n1820938883","n1820937713","n1820937674","n1820939635","n1820938448","n1820938355","n1820938587","n1820938559","n1820937787","n1820939301","n1820937723","n1820939056","n1820937560","n1820938323","n1820938230","n1820938453","n1820938377","n1820938357","n1820939637","n1820938017","n1820939540","n1820939376","n1820937639","n1820937642","n1820938075","n1820938351","n1820938766","n1820937897","n1820938973","n1820938066","n1820939547","n1820939652","n1820937944","n1820937748","n1820939234","n1820939193","n1820937891","n1820938785","n1820939132","n1820938523","n1820938884","n1820938411","n1820939554","n1820938791","n1820937655","n1820938368","n1820939152","n1820938030","n1820938447","n1820937580","n1820939628","n1820937588","n1820937894","n1820939201","n1820938086","n1820937650","n1820938379","n1820939008","n1820938999","n1820937524","n1820937872","n1820938389","n1820939197","n1820938422","n1820938936","n1820939262","n1820937634","n1820938583","n1820939589","n1820937901","n1820939034","n1820939065","n1820938290","n1820939195","n1820938228","n1820937884","n1820938797","n1820938191","n1820939191","n1820939198","n1820937892","n1820939679","n1820938507","n1820937647","n1820937909","n1820938542","n1820939598","n1820937851","n1820939084","n1820939728","n1820937688","n1820938263","n1820938670","n1820937762","n1820939310","n1820938925","n1820938862","n1820938822","n1820938547","n1820937731","n1820938594","n1820938592","n1820938214","n1820938284","n1820937835","n1820938599","n1820939437","n1820937834","n1820937576","n1820937692","n1820939586","n1820939546","n1820938403","n1820937970","n1820939561","n1820938098","n1820938851","n1820938477","n1820938892","n1820939045","n1820939758","n1820939350","n1820938321","n1820938440","n1820938595","n1820938364","n1820938962","n1820938118","n1820939678","n1820938406","n1820938549","n1820937555","n1820938823","n1820937521","n1820939471","n1820939487","n1820938799","n1820938605","n1820937928","n1820938373","n1820939747","n1820939629","n1820937557","n1820937526","n1820938958","n1820938833","n1820937636","n1820938967","n1820938760","n1820938842","n1820938067","n1820939077","n1820939224","n1820938185","n1820939110","n1820938372","n1820939757","n1820939063","n1820939660","n1820938813","n1820937528","n1820938369","n1820938896","n1820939551","n1820939683","n1820937660","n1820937873","n1820938810","n1820938478","n1820939662","n1820937595","n1820939052","n1820938113","n1820939070","n1820938733","n1820937878","n1820938300","n1820939760","n1820939718","n1820937646","n1820939057","n1820939443","n1914861306","n1820938013","n1820937529","n1820939764","n1820938826","n1820937885","n1820939588","n1820937865","n1820937833","n1914861112","n1820938761","n1914861007","n1820937905","n1820938541","n1820939092","n1914861057","n1820938153","n1820938267","n1820939265","n1820938085","n1820939018","n1820939755","n1820938474","n1820939027","n1820938593","n1820938202","n1820939599","n1820939695","n1820938077","n1820938012","n1820939545","n1820939596","n1820939337","n1820938227","n1820937698","n1820938475","n1820939465","n1820938165","n1820938698","n1820938525","n1820938529","n1820938553","n1820938940","n1820939498","n1820938501","n1820939533","n1820938924","n1820939634","n1820939220","n1820939657","n1820938887","n1820938838","n1820938114","n1820937823","n1820938778","n1820938801","n1820939096","n1820938981","n1820937953","n1820938732","n1820938980","n1820938960","n1820937949","n1820938026","n1820939273","n1841425201","n1820938629","n1820938864","n1820938554","n1820938088","n1820937685","n1841425222","n1820939729","n1820937665","n1820937838","n1820937739","n1820938780","n1820937821","n1820938825","n1820939055","n1820939485","n1820938041","n1820938746","n1820939562","n1820938459","n1820939489","n1820938050","n1820937980","n1820937695","n1820938413","n1820938555","n1820937703","n1820938536","n1820938196","n1820938287","n1820938169","n1820939279","n1820938531","n1820938959","n1820939741","n1820938665","n1820938963","n1820939611","n1820937653","n1820939618","n1820939492","n1820938600","n1820938628","n1820939312","n1820939616","n1820937738","n1820939001","n1820939062","n1820938794","n1820938558","n1820937822","n1820937532","n1820939073","n1820938200","n1820938241","n1820938968","n1820938927","n1820938306","n1820937630","n1820938456","n1820937694","n1820938908","n1820939076","n1820937522","n1820939659","n1820938522","n1820939318","n1820938932","n1820938841","n1820937579","n1820937540","n1820938560","n1821139530","n1820938964","n1820937662","n1820939281","n1821139533","n1820937797","n1821139532","n1820939751","n1821139531","n1820939291","n1820938420","n1820939696","n1820938904","n1820938484","n1820939448","n1820939009","n1820938735","n1820938986","n1820938937","n1820939030","n1820938734","n1820938745","n1820939106","n1820938987","n1820937858","n1820938673","n1820938620","n1820937808","n1820937700","n1820939573","n1820938540","n1820937661","n1820937570","n1820938396","n1820937875","n1820939048","n1820938233","n1820938793","n1820939584","n1820938412","n1820938394","n1820937846","n1820938800","n1820938690","n1820939331","n1820939630","n1820938762","n1820938710","n1820939322","n1820938992","n1821137608","n1821137607","n1820937924","n1820939139","n1820939463","n1820939574","n1820938294","n1820938071","n1820938307","n1820938061","n1820939260","n1820937899","n1820938310","n1820938983","n1820937530","n1820938993","n1820938890","n1820937915","n1820938231","n1820938040","n1820938920","n1820939585","n1820938135","n1820939700","n1820937824","n1820939667","n1820937930","n1820938134","n1820937551","n1820939405","n1820938232","n1820937716","n1820937848","n1820939765","n1820939068","n1820939766","n1820937933","n1820937720","n1820939222","n1820939772","n1820939022","n1820939732","n1820937702","n1820937691","n1820938945","n1820937756","n1820938451","n1820938410","n1820938798","n1820937945","n1820937654","n1820938598","n1820938836","n1820937571","n1820937556","n1820938994","n1820938919","n1820938863","n1820939064","n1820938018","n1820937658","n1820937537","n1820938142","n1820938666","n1820937535","n1820939571","n1820938465","n1820939638","n1820937533","n1820939656","n1820939422","n1820938109","n1820938405","n1820938028","n1820937649","n1820938829","n1820939031","n1820939155","n1820938350","n1820938463","n1820938425","n1820939047","n1820938831","n1820938494","n1820937697","n1820938504","n1820938900","n1820937784","n1820938414","n1820938076","n1820938723","n1820937722","n1820938739","n1820937791","n1820938985","n1820938352","n1820938293","n1820938274","n1820939692","n1820937871","n1820939059","n1820938868","n1820937877","n1820937743","n1820938429","n1820937545","n1820937575","n1820938302","n1820938505","n1820938916","n1820938374","n1820938329","n1820937790","n1820939735","n1820938930","n1820937995","n1820938512","n1820938130","n1820938194","n1820938671","n1820938802","n1820937542","n1820937602","n1820939069","n1820938901","n1820939654","n1820937727","n1820939569","n1820938375","n1820939306","n1820938479","n1820938376","n1820938667","n1820937766","n1820939467","n1820939567","n1820937806","n1820938943","n1820938931","n1820937745","n1820939452","n1820938738","n1820938053","n1820939653","n1820938640","n1820937604","n1820937536","n1820938701","n1820939625","n1820939744","n1820939572","n1820937577","n1820937541","n1820938891","n1820937597","n1820938469","n1820939194","n1820937539","n1820938911","n1820939017","n1820939650","n1820939103","n1820939578","n1820938132","n1820937549","n1820938634","n1820939743","n1820937544","n1820937826","n1820937598","n1820937547","n1820938032","n1820939142"]},"w17963021":{"id":"w17963021","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:22:17Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331667","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948706","n185948708","n185948710"]},"w203974069":{"id":"w203974069","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870431","n2139870432","n2139870433","n2139870434","n2139870431"]},"w209816575":{"id":"w209816575","version":"1","changeset":"15353718","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T16:29:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199856288","n2199856289","n2199856290","n2199856291","n2199856292","n2199856293","n2199856294","n2199856295","n2199856296","n2199856297","n2199856298","n2199856299","n2199856300","n2199856301","n2199856302","n2199856303","n2199856288"]},"w203841838":{"id":"w203841838","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493826","n2138493827","n2138493828","n2138493829","n2138493830","n2138493831","n2138493833","n2138493832","n2138493826"]},"w203972937":{"id":"w203972937","version":"2","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:26Z","tags":{"highway":"path","name":"Riverwalk Trail","surface":"asphalt","width":"3"},"nodes":["n2139858882","n2139858883","n2139858884","n2139858885","n2139858886","n2139858887","n2139858882","n2139858888","n2139858889","n2139858890","n2139858891","n2139858892","n2139858893","n2139858894","n2139858895","n2139858896","n2139858897","n2139858898","n2139858899","n2139858900","n2139858901","n2139858902","n2139858903","n2139858986","n2139858904","n2139858995","n2139858905","n2139858906","n2139858907","n2139858908","n2139858909","n2139858910","n2139858911","n2139858912","n2139858913","n2139858914","n2139858915","n2139858916","n2139858917","n2139858918","n2139858919","n2139858920","n2139858921","n2139858922","n2139858923","n2139858924","n2139858925","n2139858926","n2139858927","n2139858982","n2139858928","n2139858929","n2139858930","n2139858931","n2139858932","n2139858981","n2139858933","n2139858934","n2139858935","n2139858936","n2139858937","n2139858938","n2139858939","n2139858940","n2139858941","n2139858942","n2139858943","n2140006437","n2139858964","n2139858944","n2139858966","n2139858945","n2139858946","n2139858947","n2139858948","n2139858949","n2139858950","n2139858951"]},"w17964015":{"id":"w17964015","version":"2","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326005:15326006","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185954680","n185954683","n185954685","n185954687","n185954689","n185954690","n185954691","n2139870379","n2139870456","n185954692","n185954693","n185954695"]},"w17967315":{"id":"w17967315","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"South Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981999","n185974477","n185964963"]},"w203974071":{"id":"w203974071","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870439","n2139870440","n2139870441","n2139870442","n2139870443","n2139870444","n2139870445","n2139870446","n2139870447","n2139870448","n2139870449"]},"w170848824":{"id":"w170848824","version":"3","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:30Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819858503","n1819858531","n1819858526","n1819858518","n1819858505","n1819858508","n1819858512","n1819858514","n1819858528","n1819858509","n1819858511","n1819858507","n1819858521"]},"w203986458":{"id":"w203986458","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989357","n2139989359","n2139989360","n2139989362","n2139989357"]},"w170844917":{"id":"w170844917","version":"7","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819805911","n1819805690","n1819805812","n1819805766","n1819805802","n1819805885","n1819805626","n1819805842","n1819805715","n1819805694","n1819805618","n1819805629","n1819805731","n1819805636","n1819805878","n1819805718","n1819805798","n1819849057","n1819805666","n1819805852","n1819805805","n1819805789","n1819805868","n1819805680","n1819805918","n1819848888","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n1819858521","n1819805854","n1819805876","n1819805864","n1819805922","n2139859004","n1819805702","n2139859003","n1819805614","n1819805792","n1819805786","n1819805777","n1819805645","n1819805838","n1819805889","n1819805795","n1819805707","n1819805774","n1819805808","n1819805810","n1819805724","n1819805676","n1819805728","n1819805783","n1819805687","n1819805727","n2189123379","n1819805632","n1819805641","n1819805760","n1819805887","n1819805861","n1819805722","n1819805880","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n1819805698","n1819805647","n1819805870","n1819805683","n1819805622","n1819805639","n1819805858","n1819805643","n1819805673","n1819805925","n1819805849","n1819805711","n1819805846","n1819805669","n1819805883","n1819805814","n1819805873","n1819805911"]},"w17967326":{"id":"w17967326","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985217","n185985219","n185985221","n185985222","n185985223","n185985225","n2140006431","n185985227","n185985229","n185985231","n185985233","n185985235","n185985238","n185985240","n2140018998","n185964965"]},"w134150789":{"id":"w134150789","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964971","n2139870406","n185964972"]},"w17966400":{"id":"w17966400","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"tertiary","name":"South Constantine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958672","n185964965"]},"w203974066":{"id":"w203974066","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870417","n2139870418","n2139870420","n2139870419"]},"w17965998":{"id":"w17965998","version":"5","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:53Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972775","n185972777","n185972779","n185972781","n185972783","n185972785","n185972787","n185972788","n185972789","n185972790","n185972791","n185972793","n185972795","n185972797","n185972798","n185972800","n185972802","n185972805","n185972807","n185972809","n185972811","n185972813","n185972814","n185972815","n185972816","n185972817","n185972819","n185972821","n185972824","n185972826","n185972830","n185972832","n185972834","n185972835","n185972836","n185972839","n185990434","n2114807572","n2114807568","n185972845","n2114807583","n185972847","n185972849","n185972851","n2114807578","n1475293254","n2114807593","n1475293226","n185972862","n2114807565","n185951869","n1475293234","n1475293252","n185972868","n1475293264","n1475293222","n185972878","n1475293261","n185972882","n185972885","n1475293260","n1475293240","n185972891","n185972895","n185972897","n185972899","n2130304159","n1475284023","n185972903"]},"w134150795":{"id":"w134150795","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"bridge":"yes","highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964970","n185964971"]},"w203974067":{"id":"w203974067","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139870420","n2139870421"]},"w170995908":{"id":"w170995908","version":"3","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:15Z","tags":{"highway":"residential","name":"Thomas Street","source":"Bing"},"nodes":["n1821006702","n1821006700","n1821006698","n2139858990","n1821006716","n1821006725","n1821006712","n1821006704","n1821006708","n1821006710","n1821006706"]},"w17965834":{"id":"w17965834","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"Spring Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Spring","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971361","n185971364","n185971366","n185971368","n185954695","n185964968"]},"w203974070":{"id":"w203974070","version":"2","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:34Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139870435","n2139870436","n2139870437","n2139870438","n2139870435"]},"w203989879":{"id":"w203989879","version":"1","changeset":"14895342","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:35:05Z","tags":{"highway":"service"},"nodes":["n2140018998","n2140018999","n2140019000"]},"w203974062":{"id":"w203974062","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870387","n2139870388","n2139870389","n2139870390","n2139870391","n2139870392","n2139870397","n2139870393","n2139870396","n2139870395","n2139870394","n2139870387"]},"w203974061":{"id":"w203974061","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2139870382","n2139870383"]},"w203049587":{"id":"w203049587","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","name":"Scidmore Park Petting Zoo","tourism":"zoo","zoo":"petting_zoo"},"nodes":["n2130304133","n2130304136","n2130304138","n2130304140","n2130304142","n2130304144","n2130304146","n2130304147","n2130304148","n2130304149","n2130304150","n2130304151","n2130304133"]},"w203972941":{"id":"w203972941","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858982","n2139858983","n2139858984","n2139858985","n2139858927"]},"w203974065":{"id":"w203974065","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"service"},"nodes":["n2139870406","n2139870407","n2139870408","n2139870417","n2139870409","n2139870410","n2139870411","n2139870412","n2139870426","n2139870413","n2139870414","n2139870415","n2139870419","n2139870416","n2139870421","n2139870408"]},"w203972940":{"id":"w203972940","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858934","n2139858967","n2139858968","n2139858969","n2139858970","n2139858971","n2139858972","n2139858973","n2139858974","n2139858975","n2139858976","n2139858977","n2139858978","n2139858979","n2139858980","n2139858981"]},"w203974072":{"id":"w203974072","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139858925","n2139870450","n2139870453","n2139870451","n2139870452","n2139870441"]},"w203974074":{"id":"w203974074","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870454","n2139870456","n2139870429"]},"w203974060":{"id":"w203974060","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870383","n2139870384","n2139870422","n2139870385","n2139870386","n2139870388"]},"w203841837":{"id":"w203841837","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","natural":"water"},"nodes":["n2138493807","n2138493808","n2138493809","n2138493810","n2138493811","n2138493812","n2138493813","n2138493814","n2138493815","n2138493816","n2138493825","n2138493817","n2138493824","n2138493818","n2138493819","n2138493820","n2138493821","n2138493822","n2138493823","n2138493807"]},"w134150845":{"id":"w134150845","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{"bridge":"yes","name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324560:15329061:15329062:15333515:15333516:15333517:15328802:15312982:15312984:15312980:15326010:15326011:15313203:15322169:15324562:15312971:15312973:15312977:15328799:15328907:15328908:15322175:15329059:15333626:15333627:15325105:15322549:15337756:153","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185972903","n185972905"]},"w203974059":{"id":"w203974059","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"footway"},"nodes":["n2139870430","n2139870439","n2139870429","n2139870428","n2139870379","n2139870455","n2139870380","n2139870381","n2139858925","n2139870382"]},"w203986457":{"id":"w203986457","version":"2","changeset":"15287771","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T21:56:30Z","tags":{"area":"yes","ele":"241","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417887","gnis:state_id":"26","leisure":"park","name":"Scidmore Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139989333","n2139989335","n2139989337","n2139989339","n1819805762","n2139989328","n1819805907","n2139989330","n1819805915","n2139989341","n2139989344","n2139989346","n2139989348","n2139989350","n2139989351","n2139989353","n2139989355","n2139989333"]},"w170848331":{"id":"w170848331","version":"4","changeset":"15276848","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T22:54:29Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819848937","n1819849104","n1819849076","n1819849183","n1819848928","n1819848972","n1819848948","n1819848971","n1819848859","n1819849008","n1819848889","n1819849026","n1819849094","n1819849083","n1819849079","n1819849187","n1819848992","n1819849060","n1819849056","n1819849071","n1819849067","n1819849048","n1819849036","n1819849150","n1819849075","n1819849051","n1819849062","n1819848926","n1819849035","n1819848987","n1819849012","n1819848933","n1819848996","n1819848990","n1819849005","n1819849021","n1819848892","n1819849092","n1819848863","n1819848922","n1819848858","n1819848855","n1819848974","n1819848953","n1819849019","n1819849049","n1819848979","n1819849140","n1819849193","n1819849147","n1819849151","n1819849163","n1819849023","n1819848878","n1819849004","n1819848857","n1819848879","n1819849041","n1819849165","n1819849107","n1819849156","n1819848934","n1819848914","n1819848955","n1819848931","n1819848927","n1819849084","n1819849169","n1819849045","n1819848945","n1819849095","n1819848924","n1819849171","n1819849141","n1819849046","n1819849197","n1819849011","n1819849108","n1819849158","n1819849160","n1819848870","n1819849006","n1819849157","n1819848993","n1819848970","n1819849202","n1819848903","n1819848975","n1819848849","n1819849025","n1819849105","n1819849033","n1819849176","n1819849099","n1819849086","n1819848960","n1819848961","n1819849001","n1819848980","n1819849038","n1819848854","n1819849127","n1819849170","n1819849139","n1819848873","n1819848929","n1819849201","n1819849121","n1819849031","n1819849131","n1819848875","n1819849080","n1819849066","n1819849081","n1819849096","n1819849172","n1819849114","n1819849182","n1819848905","n1819849054","n1819848920","n1819848851","n1819848968","n1819848917","n1819849111","n1819849119","n1819849074","n1819848893","n1819849129","n1819848850","n1819848956","n1819849154","n1819848877","n1819848986","n1819849191","n1819848952","n1819848954","n1819848942","n1819849028","n1819849195","n1819848938","n1819848962","n1819849070","n1819849034","n1819849052","n1819849059","n1819848916","n1819849162","n1819849167","n1819849093","n1819849030","n1819849002","n1819849161","n1819848886","n1819848958","n1819849064","n1819849112","n1819849148","n1819848856","n1819848976","n1819848977","n1819849144","n1819848918","n1819849200","n1819848919","n1819849042","n1819849166","n1819849186","n1819849152","n1819849058","n1819849185","n1819849199","n1819849053","n1819849194","n1819849068","n1819849146","n1819849174","n1819848967","n1819848932","n1819849155","n1819849198","n1819848964","n1819848894","n1819848969","n1819849184","n1819849055","n1819849179","n1819848865","n1819848860","n1819849082","n1819848966","n1819849040","n1819849069","n1819849078","n1819849077","n1819848904","n1819848959","n1819849133","n1819849089","n1819849000","n1819849124","n1819849032","n1819849097","n1819848939","n1819849072","n1819848915","n1819849196","n1819848946","n1819849047","n1819849029","n1819849164","n1819848994","n1819849022","n1819858513","n1819849126","n1819849063","n1819848941","n1819849085","n1819848871","n1819848943","n1819849192","n1819858501","n1819849159","n1819858523","n1819848901","n1819849189","n1819858503","n1819849065","n2139877106","n1819848909","n1819848930","n1819848888"]},"w17967397":{"id":"w17967397","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:01Z","tags":{"highway":"residential","name":"North Andrews Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Andrews","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964963","n185985217"]},"w17964497":{"id":"w17964497","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:05Z","tags":{"highway":"tertiary","name":"Constantine St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Constantine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958643","n185958645","n2139795852","n185958647","n185958649","n185958651","n185958653","n185958656","n185958658","n185958660","n185958662","n185958664","n185958666","n185958668","n185958670","n185948710","n185958672"]},"w203974068":{"id":"w203974068","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870422","n2139870423","n2139870424","n2139870425","n2139870426","n2139870427"]},"w203974063":{"id":"w203974063","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870398","n2139870399","n2139870400","n2139870401","n2139870398"]},"w203986459":{"id":"w203986459","version":"1","changeset":"14894902","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:02:33Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139989364","n2139989366","n2139989368","n2139989370","n2139989364"]},"w203988286":{"id":"w203988286","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","leisure":"park","name":"Memory Isle Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2140006331","n2140006334","n2140006336","n2140006338","n2140006340","n2140006342","n2140006344","n2140006346","n2140006348","n2140006351","n2140006353","n2140006355","n2140006357","n2140006359","n2140006361","n2140006363","n2140006364","n2140006365","n2140006395","n2140006366","n2140006401","n2140006397","n2140006399","n2140006331"]},"w203974073":{"id":"w203974073","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"footway"},"nodes":["n2139870453","n2139870454","n2139870455"]},"w203974064":{"id":"w203974064","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139870402","n2139870403","n2139870404","n2139870405","n2139870402"]},"n185966959":{"id":"n185966959","loc":[-85.642185,41.946411],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n1475283980":{"id":"n1475283980","loc":[-85.6398249,41.9451425],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284013":{"id":"n1475284013","loc":[-85.6396448,41.9451666],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284042":{"id":"n1475284042","loc":[-85.6386382,41.9454789],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185975925":{"id":"n185975925","loc":[-85.6393332,41.9452388],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975919":{"id":"n185975919","loc":[-85.6391279,41.9453044],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975917":{"id":"n185975917","loc":[-85.6389034,41.9453872],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2140006369":{"id":"n2140006369","loc":[-85.6386163,41.9451631],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006370":{"id":"n2140006370","loc":[-85.6385144,41.9449357],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006417":{"id":"n2140006417","loc":[-85.6385785,41.9450299],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006419":{"id":"n2140006419","loc":[-85.6385781,41.9452152],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123361":{"id":"n2189123361","loc":[-85.6404948,41.947015],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123363":{"id":"n2189123363","loc":[-85.6395765,41.946495],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123365":{"id":"n2189123365","loc":[-85.6389347,41.9460875],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n185966962":{"id":"n185966962","loc":[-85.644417,41.946364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:51Z","tags":{}},"n185975911":{"id":"n185975911","loc":[-85.637532,41.9458276],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975913":{"id":"n185975913","loc":[-85.6376323,41.9457936],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185975915":{"id":"n185975915","loc":[-85.6383596,41.9455425],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185975932":{"id":"n185975932","loc":[-85.644403,41.945088],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185975934":{"id":"n185975934","loc":[-85.645486,41.945084],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:13Z","tags":{}},"n185979974":{"id":"n185979974","loc":[-85.644381,41.943831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n2139795809":{"id":"n2139795809","loc":[-85.6464756,41.9450813],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795810":{"id":"n2139795810","loc":[-85.6466646,41.945174],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139858952":{"id":"n2139858952","loc":[-85.6383567,41.9454039],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:12Z","tags":{}},"n2139858953":{"id":"n2139858953","loc":[-85.6380506,41.9455301],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858954":{"id":"n2139858954","loc":[-85.6377321,41.9455546],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858955":{"id":"n2139858955","loc":[-85.6376571,41.9455245],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858956":{"id":"n2139858956","loc":[-85.6375859,41.9454544],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858957":{"id":"n2139858957","loc":[-85.6376686,41.9453185],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858958":{"id":"n2139858958","loc":[-85.6378936,41.9451712],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858959":{"id":"n2139858959","loc":[-85.6379225,41.9450825],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858960":{"id":"n2139858960","loc":[-85.6379302,41.9447564],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858961":{"id":"n2139858961","loc":[-85.6379763,41.9446963],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858962":{"id":"n2139858962","loc":[-85.6380436,41.9446706],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858963":{"id":"n2139858963","loc":[-85.6381286,41.9445969],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2139858965":{"id":"n2139858965","loc":[-85.6382523,41.9444134],"version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:13Z","tags":{}},"n2140006367":{"id":"n2140006367","loc":[-85.6380923,41.9454418],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006368":{"id":"n2140006368","loc":[-85.6384089,41.9453146],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006372":{"id":"n2140006372","loc":[-85.6383252,41.9447706],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006374":{"id":"n2140006374","loc":[-85.6381033,41.9447436],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006376":{"id":"n2140006376","loc":[-85.6379759,41.9447815],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006378":{"id":"n2140006378","loc":[-85.6379832,41.9448654],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006380":{"id":"n2140006380","loc":[-85.6380632,41.9450738],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006382":{"id":"n2140006382","loc":[-85.6380414,41.9452064],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006389":{"id":"n2140006389","loc":[-85.6379068,41.9453092],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006391":{"id":"n2140006391","loc":[-85.637925,41.9453904],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006393":{"id":"n2140006393","loc":[-85.6379977,41.94545],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2189123275":{"id":"n2189123275","loc":[-85.6371346,41.9462544],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123278":{"id":"n2189123278","loc":[-85.6368371,41.9466153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123280":{"id":"n2189123280","loc":[-85.6379537,41.9489088],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123282":{"id":"n2189123282","loc":[-85.6383816,41.9497858],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123285":{"id":"n2189123285","loc":[-85.6393673,41.9512417],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123287":{"id":"n2189123287","loc":[-85.640554,41.9517766],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123289":{"id":"n2189123289","loc":[-85.6411,41.9522344],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123291":{"id":"n2189123291","loc":[-85.6417418,41.9526574],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123293":{"id":"n2189123293","loc":[-85.642321,41.9529407],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123295":{"id":"n2189123295","loc":[-85.6427697,41.9532278],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123297":{"id":"n2189123297","loc":[-85.6433332,41.9538254],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123300":{"id":"n2189123300","loc":[-85.6435785,41.9543648],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123301":{"id":"n2189123301","loc":[-85.6444394,41.9541048],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123303":{"id":"n2189123303","loc":[-85.6450603,41.954],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123312":{"id":"n2189123312","loc":[-85.6454829,41.9539108],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123314":{"id":"n2189123314","loc":[-85.6460464,41.9538526],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123315":{"id":"n2189123315","loc":[-85.6463178,41.9537167],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123316":{"id":"n2189123316","loc":[-85.646276,41.9534141],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123317":{"id":"n2189123317","loc":[-85.6459995,41.9531541],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123318":{"id":"n2189123318","loc":[-85.645222,41.9531929],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123319":{"id":"n2189123319","loc":[-85.6447316,41.9531813],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:20Z","tags":{}},"n2189123320":{"id":"n2189123320","loc":[-85.6440637,41.9532977],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123321":{"id":"n2189123321","loc":[-85.6438185,41.9531774],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123322":{"id":"n2189123322","loc":[-85.6440011,41.9528398],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123323":{"id":"n2189123323","loc":[-85.6442672,41.9525914],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123324":{"id":"n2189123324","loc":[-85.6442881,41.9523276],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123326":{"id":"n2189123326","loc":[-85.644262,41.952153],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123328":{"id":"n2189123328","loc":[-85.6441681,41.9520404],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123330":{"id":"n2189123330","loc":[-85.6442098,41.9517494],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123333":{"id":"n2189123333","loc":[-85.6438498,41.9515864],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123336":{"id":"n2189123336","loc":[-85.6435889,41.9513225],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123339":{"id":"n2189123339","loc":[-85.6425349,41.9510315],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123342":{"id":"n2189123342","loc":[-85.6422688,41.9508802],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123345":{"id":"n2189123345","loc":[-85.6418775,41.9508142],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123348":{"id":"n2189123348","loc":[-85.6415488,41.9508064],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123351":{"id":"n2189123351","loc":[-85.6411027,41.9505488],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123353":{"id":"n2189123353","loc":[-85.6410374,41.9498208],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123355":{"id":"n2189123355","loc":[-85.6410061,41.9494327],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123357":{"id":"n2189123357","loc":[-85.6411522,41.9482569],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123359":{"id":"n2189123359","loc":[-85.6410548,41.9473036],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123368":{"id":"n2189123368","loc":[-85.6380216,41.9458974],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123370":{"id":"n2189123370","loc":[-85.6386721,41.9507782],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"w17968193":{"id":"w17968193","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:35Z","tags":{"highway":"residential","name":"French St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"French","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312389:15312396","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185970906","n185982877","n185967774","n185985823","n185979974"]},"w203972939":{"id":"w203972939","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path"},"nodes":["n2139858965","n2139858966"]},"w203988289":{"id":"w203988289","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"area":"yes","natural":"water"},"nodes":["n2140006367","n2140006368","n2140006419","n2140006369","n2140006417","n2140006370","n2140006372","n2140006374","n2140006376","n2140006378","n2140006380","n2140006382","n2140006389","n2140006391","n2140006393","n2140006367"]},"w208640157":{"id":"w208640157","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n1819849029","n2189123275","n2189123278","n2189123280","n2189123282","n2189123370","n2189123285","n2189123287","n2189123289","n2189123291","n2189123293","n2189123295","n2189123297","n2189123300","n2189123301","n2189123303","n2189123312","n2189123314","n2189123315","n2189123316","n2189123317","n2189123318","n2189123319","n2189123320","n2189123321","n2189123322","n2189123323","n2189123324","n2189123326","n2189123328","n2189123330","n2189123333","n2189123336","n2189123339","n2189123342","n2189123345","n2189123348","n2189123351","n2189123353","n2189123355","n2189123357","n2189123359","n2189123361","n2189123363","n2189123365","n2189123368","n1819849029"]},"w17966281":{"id":"w17966281","version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:03Z","tags":{"highway":"residential","name":"Pealer St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pealer","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312363:15312366:15312367:15312368:15325990:15325991:15324554","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975911","n185975913","n185975915","n1475284042","n185975917","n185975919","n185975925","n185970909","n1475284013","n1475283980","n185975928","n185967775","n185975930","n185975932","n185975934","n2139795809","n2139795810"]},"w17965353":{"id":"w17965353","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:36:24Z","tags":{"highway":"residential","name":"Yauney St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Yauney","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312346:15312347","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185966958","n185966959","n185966960","n185966962"]},"w203972938":{"id":"w203972938","version":"1","changeset":"14893110","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:29:14Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858964","n2139858965","n2139858963","n2139858962","n2139858961","n2139858960","n2139858959","n2139858958","n2139858957","n2139858956","n2139858955","n2139858954","n2139858953","n2139858952","n2139858951"]},"n354002665":{"id":"n354002665","loc":[-85.6366599,41.9444923],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:26Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624726","gnis:state_id":"26","name":"Memory Isle","place":"island"}},"n354031301":{"id":"n354031301","loc":[-85.635,41.9463889],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:12:53Z","tags":{"amenity":"post_office","ele":"248","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418163","gnis:state_id":"26","name":"Three Rivers Post Office"}},"n185963454":{"id":"n185963454","loc":[-85.633686,41.946072],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963455":{"id":"n185963455","loc":[-85.633815,41.946131],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185963456":{"id":"n185963456","loc":[-85.633951,41.946174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:55Z","tags":{}},"n185978375":{"id":"n185978375","loc":[-85.634385,41.94559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978377":{"id":"n185978377","loc":[-85.634544,41.945725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978379":{"id":"n185978379","loc":[-85.634573,41.945764],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978381":{"id":"n185978381","loc":[-85.634616,41.945849],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:23Z","tags":{}},"n185978383":{"id":"n185978383","loc":[-85.634629,41.945893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185984011":{"id":"n185984011","loc":[-85.636058,41.946201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984013":{"id":"n185984013","loc":[-85.636112,41.946366],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984015":{"id":"n185984015","loc":[-85.636143,41.946551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185988237":{"id":"n185988237","loc":[-85.6354162,41.946044],"version":"3","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{}},"n185988969":{"id":"n185988969","loc":[-85.635374,41.945325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988971":{"id":"n185988971","loc":[-85.635643,41.945585],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185988972":{"id":"n185988972","loc":[-85.635853,41.94586],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n1475283992":{"id":"n1475283992","loc":[-85.6372968,41.9459007],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284011":{"id":"n1475284011","loc":[-85.6359415,41.9459797],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284019":{"id":"n1475284019","loc":[-85.6364433,41.9460423],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n185984009":{"id":"n185984009","loc":[-85.6360524,41.9460485],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988239":{"id":"n185988239","loc":[-85.6358187,41.9460423],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988243":{"id":"n185988243","loc":[-85.6366156,41.9460282],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988244":{"id":"n185988244","loc":[-85.6368316,41.9460046],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988245":{"id":"n185988245","loc":[-85.6370133,41.9459704],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185988241":{"id":"n185988241","loc":[-85.636291,41.9460461],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185964976":{"id":"n185964976","loc":[-85.633923,41.9434157],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185964980":{"id":"n185964980","loc":[-85.6333656,41.9437293],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185978388":{"id":"n185978388","loc":[-85.6346449,41.9460571],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819858504":{"id":"n1819858504","loc":[-85.6365343,41.9447926],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858506":{"id":"n1819858506","loc":[-85.6370546,41.9451882],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858516":{"id":"n1819858516","loc":[-85.6358369,41.9444654],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858519":{"id":"n1819858519","loc":[-85.6361534,41.9446176],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858525":{"id":"n1819858525","loc":[-85.6368025,41.9449442],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858527":{"id":"n1819858527","loc":[-85.6334199,41.9457495],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n185963452":{"id":"n185963452","loc":[-85.633564,41.9458519],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963453":{"id":"n185963453","loc":[-85.6336152,41.9459804],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:56Z","tags":{}},"n185963451":{"id":"n185963451","loc":[-85.6332888,41.9456871],"version":"3","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:57Z","tags":{}},"n2130304152":{"id":"n2130304152","loc":[-85.6359466,41.9454599],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304153":{"id":"n2130304153","loc":[-85.6362773,41.9452683],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304154":{"id":"n2130304154","loc":[-85.6352028,41.9442868],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304155":{"id":"n2130304155","loc":[-85.6348756,41.9444769],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304156":{"id":"n2130304156","loc":[-85.6349723,41.9444207],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304157":{"id":"n2130304157","loc":[-85.6338698,41.9434443],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304158":{"id":"n2130304158","loc":[-85.635094,41.9451026],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304160":{"id":"n2130304160","loc":[-85.6353716,41.9449322],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304162":{"id":"n2130304162","loc":[-85.6365942,41.9459352],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304163":{"id":"n2130304163","loc":[-85.6369006,41.9457469],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304164":{"id":"n2130304164","loc":[-85.6363292,41.9452278],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2130304165":{"id":"n2130304165","loc":[-85.6360248,41.9454175],"version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{}},"n2139824683":{"id":"n2139824683","loc":[-85.6339825,41.9446441],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824689":{"id":"n2139824689","loc":[-85.6340437,41.9446925],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:01Z","tags":{}},"n2139824702":{"id":"n2139824702","loc":[-85.6340961,41.9447551],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824705":{"id":"n2139824705","loc":[-85.6337467,41.944809],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824707":{"id":"n2139824707","loc":[-85.6341598,41.9448129],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824710":{"id":"n2139824710","loc":[-85.6342771,41.9448223],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824712":{"id":"n2139824712","loc":[-85.6346058,41.944841],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824713":{"id":"n2139824713","loc":[-85.633808,41.9448574],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824714":{"id":"n2139824714","loc":[-85.6340889,41.9448589],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824716":{"id":"n2139824716","loc":[-85.6343335,41.944871],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824717":{"id":"n2139824717","loc":[-85.6343341,41.9448717],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824720":{"id":"n2139824720","loc":[-85.6338757,41.9449069],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824721":{"id":"n2139824721","loc":[-85.6341445,41.9449071],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824724":{"id":"n2139824724","loc":[-85.6334787,41.9449262],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824726":{"id":"n2139824726","loc":[-85.6347119,41.9449332],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824727":{"id":"n2139824727","loc":[-85.6347175,41.9449418],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824728":{"id":"n2139824728","loc":[-85.6344284,41.9449538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824729":{"id":"n2139824729","loc":[-85.6339339,41.9449573],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824730":{"id":"n2139824730","loc":[-85.6339179,41.9449682],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824732":{"id":"n2139824732","loc":[-85.6335472,41.9449895],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824733":{"id":"n2139824733","loc":[-85.6339736,41.9450164],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824735":{"id":"n2139824735","loc":[-85.6336034,41.9450415],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824736":{"id":"n2139824736","loc":[-85.6348317,41.945043],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824737":{"id":"n2139824737","loc":[-85.63403,41.9450651],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824738":{"id":"n2139824738","loc":[-85.6336611,41.9450949],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824740":{"id":"n2139824740","loc":[-85.6336582,41.9450966],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824744":{"id":"n2139824744","loc":[-85.6331702,41.9451107],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824745":{"id":"n2139824745","loc":[-85.6333388,41.9451142],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824746":{"id":"n2139824746","loc":[-85.6337131,41.9451341],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824747":{"id":"n2139824747","loc":[-85.6337021,41.9451372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824748":{"id":"n2139824748","loc":[-85.6341244,41.9451472],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824749":{"id":"n2139824749","loc":[-85.6333952,41.945166],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:02Z","tags":{}},"n2139824750":{"id":"n2139824750","loc":[-85.633395,41.9451661],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824751":{"id":"n2139824751","loc":[-85.6346258,41.9451725],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824752":{"id":"n2139824752","loc":[-85.6332387,41.9451741],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824753":{"id":"n2139824753","loc":[-85.6346901,41.9451853],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824754":{"id":"n2139824754","loc":[-85.6346611,41.9452035],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824755":{"id":"n2139824755","loc":[-85.6346574,41.9452059],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824756":{"id":"n2139824756","loc":[-85.6345611,41.9452133],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824757":{"id":"n2139824757","loc":[-85.633453,41.9452194],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824758":{"id":"n2139824758","loc":[-85.6335508,41.9452283],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824759":{"id":"n2139824759","loc":[-85.6347424,41.9452312],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824760":{"id":"n2139824760","loc":[-85.6342305,41.9452395],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824761":{"id":"n2139824761","loc":[-85.6342319,41.9452449],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824762":{"id":"n2139824762","loc":[-85.6334969,41.94526],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824763":{"id":"n2139824763","loc":[-85.63468,41.9452706],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824764":{"id":"n2139824764","loc":[-85.6346772,41.9452724],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824765":{"id":"n2139824765","loc":[-85.6338611,41.9452763],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824766":{"id":"n2139824766","loc":[-85.6347811,41.9452939],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824767":{"id":"n2139824767","loc":[-85.6347375,41.9453211],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824768":{"id":"n2139824768","loc":[-85.6339171,41.9453301],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824769":{"id":"n2139824769","loc":[-85.6348307,41.9453377],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824770":{"id":"n2139824770","loc":[-85.6347067,41.9453405],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824771":{"id":"n2139824771","loc":[-85.6343461,41.9453461],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824772":{"id":"n2139824772","loc":[-85.6343481,41.9453475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824773":{"id":"n2139824773","loc":[-85.634805,41.9453538],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824774":{"id":"n2139824774","loc":[-85.6336997,41.9453692],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824775":{"id":"n2139824775","loc":[-85.6339709,41.9453818],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824776":{"id":"n2139824776","loc":[-85.6336229,41.9454134],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824777":{"id":"n2139824777","loc":[-85.6349022,41.9454141],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824778":{"id":"n2139824778","loc":[-85.6348854,41.9454246],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824779":{"id":"n2139824779","loc":[-85.6340286,41.9454373],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824780":{"id":"n2139824780","loc":[-85.6336963,41.9454572],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824781":{"id":"n2139824781","loc":[-85.6336789,41.9454672],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824782":{"id":"n2139824782","loc":[-85.6344933,41.945475],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824783":{"id":"n2139824783","loc":[-85.6340854,41.9454918],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824784":{"id":"n2139824784","loc":[-85.6350036,41.9455034],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824785":{"id":"n2139824785","loc":[-85.6337501,41.9455089],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824786":{"id":"n2139824786","loc":[-85.6337497,41.9455091],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824787":{"id":"n2139824787","loc":[-85.6345425,41.9455186],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824788":{"id":"n2139824788","loc":[-85.6341459,41.9455372],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824789":{"id":"n2139824789","loc":[-85.6341376,41.945542],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824790":{"id":"n2139824790","loc":[-85.6338394,41.9455462],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824791":{"id":"n2139824791","loc":[-85.6349171,41.9455588],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824792":{"id":"n2139824792","loc":[-85.6338074,41.9455646],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824793":{"id":"n2139824793","loc":[-85.6346229,41.9455894],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824794":{"id":"n2139824794","loc":[-85.6338983,41.9455995],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824795":{"id":"n2139824795","loc":[-85.6338962,41.9456007],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824796":{"id":"n2139824796","loc":[-85.6342475,41.9456348],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824797":{"id":"n2139824797","loc":[-85.6339505,41.9456497],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824798":{"id":"n2139824798","loc":[-85.6347243,41.9456788],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824799":{"id":"n2139824799","loc":[-85.635057,41.9456831],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824800":{"id":"n2139824800","loc":[-85.635287,41.9457056],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824801":{"id":"n2139824801","loc":[-85.6350753,41.9457068],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:03Z","tags":{}},"n2139824802":{"id":"n2139824802","loc":[-85.6347753,41.9457252],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824803":{"id":"n2139824803","loc":[-85.6340521,41.9457473],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824804":{"id":"n2139824804","loc":[-85.6352875,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824805":{"id":"n2139824805","loc":[-85.6352941,41.9457611],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824806":{"id":"n2139824806","loc":[-85.6350758,41.9457623],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824807":{"id":"n2139824807","loc":[-85.6348194,41.9457638],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824808":{"id":"n2139824808","loc":[-85.635296,41.9459428],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139824809":{"id":"n2139824809","loc":[-85.6348212,41.9459455],"version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{}},"n2139832635":{"id":"n2139832635","loc":[-85.6354612,41.9448791],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832636":{"id":"n2139832636","loc":[-85.6360241,41.9453844],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832637":{"id":"n2139832637","loc":[-85.6361452,41.9453121],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832639":{"id":"n2139832639","loc":[-85.6355997,41.944797],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832641":{"id":"n2139832641","loc":[-85.6351346,41.9443541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832647":{"id":"n2139832647","loc":[-85.6329883,41.9453692],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832653":{"id":"n2139832653","loc":[-85.6333643,41.9456293],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832663":{"id":"n2139832663","loc":[-85.6335394,41.9455339],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832665":{"id":"n2139832665","loc":[-85.6332375,41.9452476],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832667":{"id":"n2139832667","loc":[-85.6331664,41.9452161],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832669":{"id":"n2139832669","loc":[-85.6331144,41.9451875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832671":{"id":"n2139832671","loc":[-85.6330779,41.9451274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832673":{"id":"n2139832673","loc":[-85.6330664,41.9450802],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832678":{"id":"n2139832678","loc":[-85.6332218,41.9453585],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832686":{"id":"n2139832686","loc":[-85.6334246,41.945541],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832691":{"id":"n2139832691","loc":[-85.6329898,41.9454997],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832693":{"id":"n2139832693","loc":[-85.6343554,41.9443274],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832694":{"id":"n2139832694","loc":[-85.6336339,41.9437089],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832696":{"id":"n2139832696","loc":[-85.633532,41.9437708],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832697":{"id":"n2139832697","loc":[-85.6338316,41.9440868],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832698":{"id":"n2139832698","loc":[-85.6342258,41.9444141],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832699":{"id":"n2139832699","loc":[-85.6339164,41.9442166],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832700":{"id":"n2139832700","loc":[-85.6341389,41.944384],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832701":{"id":"n2139832701","loc":[-85.634235,41.9443259],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832702":{"id":"n2139832702","loc":[-85.633613,41.9437875],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832703":{"id":"n2139832703","loc":[-85.633915,41.9436132],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832704":{"id":"n2139832704","loc":[-85.6340019,41.9435613],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832706":{"id":"n2139832706","loc":[-85.6343197,41.9438427],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832708":{"id":"n2139832708","loc":[-85.6342361,41.9438936],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832709":{"id":"n2139832709","loc":[-85.6353839,41.9460401],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832710":{"id":"n2139832710","loc":[-85.6354032,41.9456763],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832711":{"id":"n2139832711","loc":[-85.6356839,41.9459252],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832712":{"id":"n2139832712","loc":[-85.6356109,41.945735],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832713":{"id":"n2139832713","loc":[-85.6353997,41.9457421],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832714":{"id":"n2139832714","loc":[-85.6353895,41.9459347],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832715":{"id":"n2139832715","loc":[-85.6334777,41.9436628],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832716":{"id":"n2139832716","loc":[-85.6333137,41.9435382],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832717":{"id":"n2139832717","loc":[-85.6330938,41.9435406],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832721":{"id":"n2139832721","loc":[-85.6333023,41.9434922],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832722":{"id":"n2139832722","loc":[-85.6330466,41.943623],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832723":{"id":"n2139832723","loc":[-85.6332746,41.9435624],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832724":{"id":"n2139832724","loc":[-85.6333511,41.9435176],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832725":{"id":"n2139832725","loc":[-85.6332241,41.9434001],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832726":{"id":"n2139832726","loc":[-85.6332355,41.9433686],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139870373":{"id":"n2139870373","loc":[-85.6351783,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870374":{"id":"n2139870374","loc":[-85.6351431,41.9439217],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870375":{"id":"n2139870375","loc":[-85.6348853,41.9439117],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870376":{"id":"n2139870376","loc":[-85.6348317,41.9439105],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870377":{"id":"n2139870377","loc":[-85.6346384,41.944007],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2139870378":{"id":"n2139870378","loc":[-85.6345563,41.9440523],"version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:00Z","tags":{}},"n2140006403":{"id":"n2140006403","loc":[-85.6359942,41.9450097],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006405":{"id":"n2140006405","loc":[-85.6363884,41.9446079],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006407":{"id":"n2140006407","loc":[-85.6362148,41.9447874],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006409":{"id":"n2140006409","loc":[-85.6379476,41.9445869],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006411":{"id":"n2140006411","loc":[-85.6378485,41.9445674],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006413":{"id":"n2140006413","loc":[-85.6378952,41.9444547],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006415":{"id":"n2140006415","loc":[-85.6379962,41.944477],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006421":{"id":"n2140006421","loc":[-85.6355248,41.9433702],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:24Z","tags":{}},"n2140006423":{"id":"n2140006423","loc":[-85.6378471,41.9439233],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006425":{"id":"n2140006425","loc":[-85.6378913,41.9441238],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006426":{"id":"n2140006426","loc":[-85.6381674,41.9442289],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006427":{"id":"n2140006427","loc":[-85.6382359,41.9440975],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006428":{"id":"n2140006428","loc":[-85.6382071,41.9440252],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006429":{"id":"n2140006429","loc":[-85.6381409,41.9439973],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006430":{"id":"n2140006430","loc":[-85.6380569,41.9440153],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006433":{"id":"n2140006433","loc":[-85.6379071,41.9442467],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006435":{"id":"n2140006435","loc":[-85.6381634,41.9443125],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006436":{"id":"n2140006436","loc":[-85.6382407,41.944301],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006438":{"id":"n2140006438","loc":[-85.6382761,41.9442188],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006439":{"id":"n2140006439","loc":[-85.6382429,41.9441761],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006440":{"id":"n2140006440","loc":[-85.6382016,41.9441632],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2140006441":{"id":"n2140006441","loc":[-85.6378185,41.9439835],"version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{}},"n2166205688":{"id":"n2166205688","loc":[-85.6349963,41.9444392],"version":"1","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{}},"n2168544780":{"id":"n2168544780","loc":[-85.633944,41.945807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544781":{"id":"n2168544781","loc":[-85.6340783,41.9458621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544782":{"id":"n2168544782","loc":[-85.6338184,41.9457548],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544783":{"id":"n2168544783","loc":[-85.6339925,41.9459777],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544784":{"id":"n2168544784","loc":[-85.6337317,41.9458698],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544785":{"id":"n2168544785","loc":[-85.6337297,41.9460042],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544786":{"id":"n2168544786","loc":[-85.633919,41.9460797],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544787":{"id":"n2168544787","loc":[-85.6338672,41.9459263],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544788":{"id":"n2168544788","loc":[-85.6338246,41.9459853],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544789":{"id":"n2168544789","loc":[-85.6337615,41.9459601],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544790":{"id":"n2168544790","loc":[-85.6342079,41.9460399],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544791":{"id":"n2168544791","loc":[-85.6343346,41.9458503],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544792":{"id":"n2168544792","loc":[-85.6343759,41.9458116],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544793":{"id":"n2168544793","loc":[-85.6344394,41.9458109],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544795":{"id":"n2168544795","loc":[-85.6344827,41.945851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544797":{"id":"n2168544797","loc":[-85.6344807,41.945969],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544798":{"id":"n2168544798","loc":[-85.6344404,41.9459697],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544799":{"id":"n2168544799","loc":[-85.6344413,41.9460333],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544800":{"id":"n2168544800","loc":[-85.6342173,41.9460705],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544801":{"id":"n2168544801","loc":[-85.6342162,41.9460392],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544802":{"id":"n2168544802","loc":[-85.6344251,41.9460351],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544805":{"id":"n2168544805","loc":[-85.6344257,41.9460507],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544807":{"id":"n2168544807","loc":[-85.6344721,41.9460498],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544809":{"id":"n2168544809","loc":[-85.6344754,41.9461427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544811":{"id":"n2168544811","loc":[-85.6344311,41.9461435],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544813":{"id":"n2168544813","loc":[-85.6344317,41.9461592],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544815":{"id":"n2168544815","loc":[-85.6343708,41.9461604],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544817":{"id":"n2168544817","loc":[-85.6343715,41.9461786],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544819":{"id":"n2168544819","loc":[-85.6343229,41.9461795],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544821":{"id":"n2168544821","loc":[-85.6343222,41.9461606],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544823":{"id":"n2168544823","loc":[-85.6342476,41.9461621],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544825":{"id":"n2168544825","loc":[-85.6342444,41.94607],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544827":{"id":"n2168544827","loc":[-85.634138,41.9461632],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544829":{"id":"n2168544829","loc":[-85.6342016,41.9460703],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544830":{"id":"n2168544830","loc":[-85.6332929,41.9463092],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544831":{"id":"n2168544831","loc":[-85.633122,41.946239],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544832":{"id":"n2168544832","loc":[-85.6332954,41.9460055],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544833":{"id":"n2168544833","loc":[-85.6333954,41.9460466],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544834":{"id":"n2168544834","loc":[-85.6334044,41.9460345],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544835":{"id":"n2168544835","loc":[-85.6334594,41.9460571],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544836":{"id":"n2168544836","loc":[-85.6333871,41.9461544],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544837":{"id":"n2168544837","loc":[-85.633403,41.9461609],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544838":{"id":"n2168544838","loc":[-85.6341683,41.9464167],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544839":{"id":"n2168544839","loc":[-85.6341711,41.9463411],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544840":{"id":"n2168544840","loc":[-85.6344471,41.9463469],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544841":{"id":"n2168544841","loc":[-85.6344441,41.9464243],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544842":{"id":"n2168544842","loc":[-85.6343622,41.9464226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544843":{"id":"n2168544843","loc":[-85.6343593,41.9464989],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544844":{"id":"n2168544844","loc":[-85.6342812,41.9464973],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544845":{"id":"n2168544845","loc":[-85.634283,41.9464504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544846":{"id":"n2168544846","loc":[-85.6342609,41.9464499],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544847":{"id":"n2168544847","loc":[-85.6342621,41.9464187],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544848":{"id":"n2168544848","loc":[-85.6348414,41.9463396],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544849":{"id":"n2168544849","loc":[-85.6348387,41.9461872],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544850":{"id":"n2168544850","loc":[-85.6351186,41.9461844],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544851":{"id":"n2168544851","loc":[-85.635119,41.9462112],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544852":{"id":"n2168544852","loc":[-85.6351918,41.9462104],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544853":{"id":"n2168544853","loc":[-85.6351944,41.9463515],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544854":{"id":"n2168544854","loc":[-85.6351049,41.9463524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2168544855":{"id":"n2168544855","loc":[-85.6351046,41.946337],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{}},"n2189153180":{"id":"n2189153180","loc":[-85.6340369,41.9469572],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153181":{"id":"n2189153181","loc":[-85.6342531,41.946953],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153183":{"id":"n2189153183","loc":[-85.6348115,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153184":{"id":"n2189153184","loc":[-85.6348105,41.9464569],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153185":{"id":"n2189153185","loc":[-85.6351431,41.9464549],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153186":{"id":"n2189153186","loc":[-85.6351441,41.9465448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153187":{"id":"n2189153187","loc":[-85.6350077,41.9465456],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153188":{"id":"n2189153188","loc":[-85.635008,41.9465721],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153189":{"id":"n2189153189","loc":[-85.6348965,41.9465727],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153190":{"id":"n2189153190","loc":[-85.6348962,41.9465463],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153191":{"id":"n2189153191","loc":[-85.6348963,41.9471586],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153192":{"id":"n2189153192","loc":[-85.6348944,41.947032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153193":{"id":"n2189153193","loc":[-85.6350241,41.947031],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153194":{"id":"n2189153194","loc":[-85.635026,41.9471575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153195":{"id":"n2189153195","loc":[-85.6352328,41.9471053],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153196":{"id":"n2189153196","loc":[-85.6352359,41.9469906],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153197":{"id":"n2189153197","loc":[-85.6353694,41.9469925],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153198":{"id":"n2189153198","loc":[-85.6353664,41.9471072],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153199":{"id":"n2189153199","loc":[-85.6348241,41.9469287],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153200":{"id":"n2189153200","loc":[-85.6348248,41.9468185],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153201":{"id":"n2189153201","loc":[-85.6351199,41.9468195],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153202":{"id":"n2189153202","loc":[-85.6351192,41.9469298],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153203":{"id":"n2189153203","loc":[-85.6347965,41.9468057],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153204":{"id":"n2189153204","loc":[-85.634792,41.9466044],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153205":{"id":"n2189153205","loc":[-85.6349483,41.9466025],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153206":{"id":"n2189153206","loc":[-85.6349493,41.9466448],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153207":{"id":"n2189153207","loc":[-85.6349753,41.9466445],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153208":{"id":"n2189153208","loc":[-85.6349743,41.9465995],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153209":{"id":"n2189153209","loc":[-85.6351173,41.9465977],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153210":{"id":"n2189153210","loc":[-85.6351219,41.9468015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153211":{"id":"n2189153211","loc":[-85.6349806,41.9468032],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153212":{"id":"n2189153212","loc":[-85.6349794,41.9467519],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153213":{"id":"n2189153213","loc":[-85.6349521,41.9467523],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153214":{"id":"n2189153214","loc":[-85.6349532,41.9468037],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153215":{"id":"n2189153215","loc":[-85.6346302,41.9468381],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153216":{"id":"n2189153216","loc":[-85.6343028,41.9468449],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153217":{"id":"n2189153217","loc":[-85.6342006,41.9468297],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153218":{"id":"n2189153218","loc":[-85.6336698,41.9465918],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153219":{"id":"n2189153219","loc":[-85.6344663,41.9466639],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153220":{"id":"n2189153220","loc":[-85.6344639,41.9466015],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153221":{"id":"n2189153221","loc":[-85.6342283,41.9466065],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153222":{"id":"n2189153222","loc":[-85.6342303,41.9466587],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153223":{"id":"n2189153223","loc":[-85.6342843,41.9466575],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153224":{"id":"n2189153224","loc":[-85.6342851,41.9466794],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153225":{"id":"n2189153225","loc":[-85.6343475,41.9466781],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153226":{"id":"n2189153226","loc":[-85.634347,41.9466664],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153227":{"id":"n2189153227","loc":[-85.6354428,41.9470148],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153228":{"id":"n2189153228","loc":[-85.6354432,41.9468005],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153229":{"id":"n2189153229","loc":[-85.6360277,41.9468011],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153230":{"id":"n2189153230","loc":[-85.6360273,41.9470154],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153231":{"id":"n2189153231","loc":[-85.6354565,41.9465823],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153232":{"id":"n2189153232","loc":[-85.6354496,41.946218],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153233":{"id":"n2189153233","loc":[-85.6356355,41.9465788],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153234":{"id":"n2189153234","loc":[-85.6357155,41.9468008],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153235":{"id":"n2189153235","loc":[-85.6359539,41.9467969],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153236":{"id":"n2189153236","loc":[-85.6359561,41.9463036],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153237":{"id":"n2189153237","loc":[-85.6360129,41.9464793],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153238":{"id":"n2189153238","loc":[-85.6360152,41.9463898],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153239":{"id":"n2189153239","loc":[-85.6359607,41.9464928],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153240":{"id":"n2189153240","loc":[-85.6356903,41.9462227],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153242":{"id":"n2189153242","loc":[-85.6354163,41.946142],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153243":{"id":"n2189153243","loc":[-85.6357546,41.9462214],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153244":{"id":"n2189153244","loc":[-85.6357937,41.9462542],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153245":{"id":"n2189153245","loc":[-85.6358723,41.9467048],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153246":{"id":"n2189153246","loc":[-85.6361494,41.946757],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153247":{"id":"n2189153247","loc":[-85.6354173,41.9469082],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153248":{"id":"n2189153248","loc":[-85.635443,41.9469079],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153249":{"id":"n2189153249","loc":[-85.6360275,41.9469093],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153250":{"id":"n2189153250","loc":[-85.6361542,41.946915],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153251":{"id":"n2189153251","loc":[-85.6358654,41.9464843],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153252":{"id":"n2189153252","loc":[-85.6359549,41.9467499],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153253":{"id":"n2189153253","loc":[-85.6357172,41.9466335],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153254":{"id":"n2189153254","loc":[-85.6355644,41.9461768],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153255":{"id":"n2189153255","loc":[-85.6355655,41.946528],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153256":{"id":"n2189153256","loc":[-85.6357055,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153257":{"id":"n2189153257","loc":[-85.635869,41.9465971],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153259":{"id":"n2189153259","loc":[-85.6354561,41.9470278],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153260":{"id":"n2189153260","loc":[-85.6357961,41.9470233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153261":{"id":"n2189153261","loc":[-85.6357977,41.9470907],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153262":{"id":"n2189153262","loc":[-85.6357297,41.9470916],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153263":{"id":"n2189153263","loc":[-85.635733,41.947233],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153264":{"id":"n2189153264","loc":[-85.6362674,41.9468637],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153265":{"id":"n2189153265","loc":[-85.6362646,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153266":{"id":"n2189153266","loc":[-85.6363267,41.9467047],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153267":{"id":"n2189153267","loc":[-85.6362633,41.9465848],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153268":{"id":"n2189153268","loc":[-85.6363805,41.9465468],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153269":{"id":"n2189153269","loc":[-85.6364604,41.9466842],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153270":{"id":"n2189153270","loc":[-85.6364604,41.9468647],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2199109756":{"id":"n2199109756","loc":[-85.6337134,41.9471841],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109757":{"id":"n2199109757","loc":[-85.6336514,41.94716],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109758":{"id":"n2199109758","loc":[-85.6337043,41.9470847],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109759":{"id":"n2199109759","loc":[-85.6335997,41.9470441],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109760":{"id":"n2199109760","loc":[-85.6335064,41.9471771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185960195":{"id":"n185960195","loc":[-85.6295992,41.9524346],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960796":{"id":"n185960796","loc":[-85.634723,41.953681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961396":{"id":"n185961396","loc":[-85.634767,41.959009],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185962625":{"id":"n185962625","loc":[-85.635175,41.97201],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:29Z","tags":{}},"n185964982":{"id":"n185964982","loc":[-85.632799,41.9440543],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185965289":{"id":"n185965289","loc":[-85.634621,41.947323],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965291":{"id":"n185965291","loc":[-85.636166,41.947296],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:49Z","tags":{}},"n185965399":{"id":"n185965399","loc":[-85.634776,41.959834],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966937":{"id":"n185966937","loc":[-85.633183,41.947315],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966948":{"id":"n185966948","loc":[-85.626406,41.957188],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967422":{"id":"n185967422","loc":[-85.6320229,41.9490123],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185967917":{"id":"n185967917","loc":[-85.634763,41.958292],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185967918":{"id":"n185967918","loc":[-85.636271,41.958311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:17Z","tags":{}},"n185968100":{"id":"n185968100","loc":[-85.630835,41.950656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185970515":{"id":"n185970515","loc":[-85.634832,41.963866],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:41Z","tags":{}},"n185971578":{"id":"n185971578","loc":[-85.634641,41.948627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:05Z","tags":{}},"n185971580":{"id":"n185971580","loc":[-85.6361818,41.9486135],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971631":{"id":"n185971631","loc":[-85.634729,41.954667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971632":{"id":"n185971632","loc":[-85.636236,41.954656],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185972155":{"id":"n185972155","loc":[-85.623333,41.961987],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185974583":{"id":"n185974583","loc":[-85.634686,41.951158],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:21Z","tags":{}},"n185974585":{"id":"n185974585","loc":[-85.6362059,41.9511457],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185975064":{"id":"n185975064","loc":[-85.636218,41.953667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975735":{"id":"n185975735","loc":[-85.634923,41.969269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:09Z","tags":{}},"n185978390":{"id":"n185978390","loc":[-85.634668,41.949875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978392":{"id":"n185978392","loc":[-85.634686,41.952415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978394":{"id":"n185978394","loc":[-85.634726,41.955921],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978399":{"id":"n185978399","loc":[-85.6347861,41.9606613],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978402":{"id":"n185978402","loc":[-85.634806,41.961485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:24Z","tags":{}},"n185978406":{"id":"n185978406","loc":[-85.6348298,41.964783],"version":"3","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:48:00Z","tags":{}},"n185978410":{"id":"n185978410","loc":[-85.6348766,41.9677088],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978414":{"id":"n185978414","loc":[-85.634938,41.971566],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978415":{"id":"n185978415","loc":[-85.634942,41.971611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978417":{"id":"n185978417","loc":[-85.634952,41.971655],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978419":{"id":"n185978419","loc":[-85.634989,41.971741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978420":{"id":"n185978420","loc":[-85.635063,41.971864],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:25Z","tags":{}},"n185978787":{"id":"n185978787","loc":[-85.627936,41.954693],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978790":{"id":"n185978790","loc":[-85.626832,41.954677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978967":{"id":"n185978967","loc":[-85.632278,41.948613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185980735":{"id":"n185980735","loc":[-85.628639,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:47Z","tags":{}},"n185982163":{"id":"n185982163","loc":[-85.636233,41.952398],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:31Z","tags":{}},"n185982193":{"id":"n185982193","loc":[-85.6313855,41.9499125],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982195":{"id":"n185982195","loc":[-85.6304857,41.9511945],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185982196":{"id":"n185982196","loc":[-85.626336,41.957291],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982197":{"id":"n185982197","loc":[-85.625578,41.958664],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982198":{"id":"n185982198","loc":[-85.624619,41.960145],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185982200":{"id":"n185982200","loc":[-85.624494,41.960338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:32Z","tags":{}},"n185984017":{"id":"n185984017","loc":[-85.636163,41.947382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:46Z","tags":{}},"n185984020":{"id":"n185984020","loc":[-85.636188,41.9498803],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185984022":{"id":"n185984022","loc":[-85.636276,41.955919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185984024":{"id":"n185984024","loc":[-85.636279,41.956901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:47Z","tags":{}},"n185988036":{"id":"n185988036","loc":[-85.631422,41.948294],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185988867":{"id":"n185988867","loc":[-85.63102,41.948805],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988869":{"id":"n185988869","loc":[-85.630773,41.949209],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988871":{"id":"n185988871","loc":[-85.63005,41.95016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988872":{"id":"n185988872","loc":[-85.629423,41.951016],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988873":{"id":"n185988873","loc":[-85.629252,41.951256],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988875":{"id":"n185988875","loc":[-85.629126,41.951489],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988877":{"id":"n185988877","loc":[-85.628991,41.951704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988878":{"id":"n185988878","loc":[-85.628689,41.952112],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988879":{"id":"n185988879","loc":[-85.628313,41.952666],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988880":{"id":"n185988880","loc":[-85.627687,41.953529],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988882":{"id":"n185988882","loc":[-85.627394,41.953947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:13Z","tags":{}},"n185988884":{"id":"n185988884","loc":[-85.627287,41.954128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:14Z","tags":{}},"n1819858502":{"id":"n1819858502","loc":[-85.6328435,41.9455473],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858510":{"id":"n1819858510","loc":[-85.6324841,41.9453438],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858515":{"id":"n1819858515","loc":[-85.6318511,41.9446409],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858520":{"id":"n1819858520","loc":[-85.6326558,41.9454708],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:54Z","tags":{}},"n1819858522":{"id":"n1819858522","loc":[-85.6319048,41.9447407],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858524":{"id":"n1819858524","loc":[-85.6317718,41.9443666],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n1819858530":{"id":"n1819858530","loc":[-85.632055,41.9449128],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2139795768":{"id":"n2139795768","loc":[-85.6243023,41.9606102],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139832645":{"id":"n2139832645","loc":[-85.6324455,41.9448607],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832649":{"id":"n2139832649","loc":[-85.6328043,41.9454773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832651":{"id":"n2139832651","loc":[-85.6322547,41.9449621],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832675":{"id":"n2139832675","loc":[-85.6327356,41.944757],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832677":{"id":"n2139832677","loc":[-85.6325433,41.9448599],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832680":{"id":"n2139832680","loc":[-85.6328885,41.9455614],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832682":{"id":"n2139832682","loc":[-85.6320913,41.9449492],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832684":{"id":"n2139832684","loc":[-85.6325366,41.9447133],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832688":{"id":"n2139832688","loc":[-85.6322786,41.94485],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:49Z","tags":{}},"n2139832718":{"id":"n2139832718","loc":[-85.6327486,41.9432475],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832719":{"id":"n2139832719","loc":[-85.6327926,41.9431773],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832720":{"id":"n2139832720","loc":[-85.6329033,41.943153],"version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{}},"n2139832727":{"id":"n2139832727","loc":[-85.6328975,41.9430783],"version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2139844839":{"id":"n2139844839","loc":[-85.6326261,41.9432308],"version":"1","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{}},"n2189015992":{"id":"n2189015992","loc":[-85.6347706,41.9593383],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189153179":{"id":"n2189153179","loc":[-85.6340476,41.9472565],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153182":{"id":"n2189153182","loc":[-85.6342638,41.9472522],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:10Z","tags":{}},"n2189153241":{"id":"n2189153241","loc":[-85.6354184,41.9473091],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153258":{"id":"n2189153258","loc":[-85.6354611,41.9472366],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153277":{"id":"n2189153277","loc":[-85.6328948,41.9462374],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2199109755":{"id":"n2199109755","loc":[-85.6336729,41.9472417],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"w203970139":{"id":"w203970139","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824793","n2139824787","n2139824773","n2139824778","n2139824793"]},"w203970098":{"id":"w203970098","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824712","n2139824726","n2139824760","n2139824748"]},"w208643132":{"id":"w208643132","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153195","n2189153196","n2189153197","n2189153198","n2189153195"]},"w203970094":{"id":"w203970094","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824755","n2139824753","n2139824759","n2139824764","n2139824763","n2139824767","n2139824770","n2139824782","n2139824772","n2139824756","n2139824751","n2139824754","n2139824755"]},"w208643138":{"id":"w208643138","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153231","n2189153232","n2189153240","n2189153244","n2189153236","n2189153238","n2189153237","n2189153239","n2189153252","n2189153235","n2189153234","n2189153253","n2189153233","n2189153231"]},"w203970125":{"id":"w203970125","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824738","n2139824757","n2139824749","n2139824735"]},"w170848823":{"id":"w170848823","version":"2","changeset":"14893390","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:53:39Z","tags":{"name":"Rocky River","source":"Bing","waterway":"river"},"nodes":["n1819849189","n1819858516","n1819858519","n1819858504","n1819858525","n1819858506","n1819858513"]},"w203970898":{"id":"w203970898","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832645","n2139832647","n2139832649","n2139832651","n2139832645"]},"w203970134":{"id":"w203970134","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824796","n2139824803","n2139824797","n2139824788","n2139824796"]},"w203970104":{"id":"w203970104","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824733","n2139824730","n2139824714","n2139824721","n2139824733"]},"w206805245":{"id":"w206805245","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544780","n2168544781","n2139824796","n2139824803","n2168544780"]},"w206805252":{"id":"w206805252","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544838","n2168544839","n2168544840","n2168544841","n2168544842","n2168544843","n2168544844","n2168544845","n2168544846","n2168544847","n2168544838"]},"w203970099":{"id":"w203970099","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824783","n2139824795","n2139824790","n2139824779","n2139824783"]},"w17967730":{"id":"w17967730","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:18Z","tags":{"highway":"residential","name":"Water St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963451","n2189153277","n185988036","n185988867","n185988869","n185988871","n185988872","n185988873","n185988875","n185988877","n185988878","n185988879","n185988880","n185988882","n185988884","n185978790"]},"w208643133":{"id":"w208643133","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153199","n2189153200","n2189153201","n2189153202","n2189153199"]},"w203970127":{"id":"w203970127","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824794","n2139824783","n2139824789","n2139824797","n2139824794"]},"w208643139":{"id":"w208643139","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service"},"nodes":["n185988237","n2189153242","n2189153247","n2189153241"]},"w203988297":{"id":"w203988297","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140006423","n2140006441","n2140006425","n2140006426","n2140006440","n2140006427","n2140006428","n2140006429","n2140006430","n2140006423"]},"w206805250":{"id":"w206805250","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544827","n2168544823","n2168544825","n2168544800","n2168544829","n2168544827"]},"w208643140":{"id":"w208643140","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153242","n2189153254","n2189153243","n2189153244","n2189153251","n2189153257","n2189153245","n2189153252","n2189153246"]},"w203974055":{"id":"w203974055","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870376","n2139870377"]},"w206805247":{"id":"w206805247","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544785","n2168544786","n2168544783","n2168544787","n2168544788","n2168544789","n2168544785"]},"w17964996":{"id":"w17964996","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Foster St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Foster","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312360","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1819858524","n1819858515","n1819858522","n1819858530","n2139832682","n1819858510","n1819858520","n1819858502","n2139832680","n185963451","n1819858527","n185963452","n185963453","n185963454","n185963455","n185963456"]},"w208643144":{"id":"w208643144","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153264","n2189153265","n2189153266","n2189153267","n2189153268","n2189153269","n2189153270","n2189153264"]},"w203970914":{"id":"w203970914","version":"2","changeset":"14892929","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:11:47Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832722","n2139832723","n2139832724","n2139832725","n2139832726","n2139832727","n2139844839","n2139832722"]},"w208643143":{"id":"w208643143","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153258","n2189153259","n2189153260","n2189153261","n2189153262","n2189153263","n2189153258"]},"w203049590":{"id":"w203049590","version":"3","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2130304152","n2130304153","n2140006403","n2130304154","n2130304156","n2130304155","n2130304160","n2130304152"]},"w203974054":{"id":"w203974054","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139858971","n2139870373","n2139870374"]},"w203049595":{"id":"w203049595","version":"2","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service"},"nodes":["n2130304158","n2130304159","n2130304160","n2139832635","n2139832639"]},"w203970913":{"id":"w203970913","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832715","n2139832716","n2139832717","n2139832718","n2139832719","n2139832720","n2139832721","n2139832716"]},"w208643134":{"id":"w208643134","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153203","n2189153204","n2189153205","n2189153206","n2189153207","n2189153208","n2189153209","n2189153210","n2189153211","n2189153212","n2189153213","n2189153214","n2189153203"]},"w134150808":{"id":"w134150808","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:53Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988239","n185984009","n185988241","n1475284019"]},"w203970115":{"id":"w203970115","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824761","n2139824727","n2139824736","n2139824771","n2139824761"]},"w208643130":{"id":"w208643130","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153183","n2189153184","n2189153185","n2189153186","n2189153187","n2189153188","n2189153189","n2189153190","n2189153183"]},"w206805246":{"id":"w206805246","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544782","n2168544780","n2168544781","n2168544783","n2168544787","n2168544784","n2168544782"]},"w203970138":{"id":"w203970138","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824729","n2139824720","n2139824702","n2139824707","n2139824729"]},"w203970133":{"id":"w203970133","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824748","n2139824737","n2139824717","n2139824728","n2139824748"]},"w203970907":{"id":"w203970907","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832700","n2139832701","n2139832702"]},"w203974056":{"id":"w203974056","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870377","n2139870378"]},"w203970897":{"id":"w203970897","version":"2","changeset":"15117845","user":"rolandg","uid":"8703","visible":"true","timestamp":"2013-02-21T23:02:38Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2130304156","n2166205688","n2139832635","n2139832636","n2139832637","n2139832639","n2139832641","n2166205688"]},"w203974057":{"id":"w203974057","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870375","n2139870376"]},"w203049594":{"id":"w203049594","version":"3","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:03Z","tags":{"highway":"service"},"nodes":["n2130304156","n2139870378","n2139832706","n2139832704","n2130304157"]},"w203970122":{"id":"w203970122","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824757","n2139824740","n2139824747","n2139824762","n2139824757"]},"w208643136":{"id":"w208643136","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153219","n2189153220","n2189153221","n2189153222","n2189153223","n2189153224","n2189153225","n2189153226","n2189153219"]},"w203970128":{"id":"w203970128","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824732","n2139824752","n2139824744","n2139824724","n2139824732"]},"w203970097":{"id":"w203970097","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824737","n2139824733","n2139824710","n2139824716","n2139824737"]},"w203970137":{"id":"w203970137","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824765","n2139824774","n2139824758","n2139824746","n2139824765"]},"w134150840":{"id":"w134150840","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475284019","n185988243","n185988244","n185988245"]},"w17967628":{"id":"w17967628","version":"3","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:51Z","tags":{"highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978388","n2139832709","n185988237","n185988239"]},"w203988292":{"id":"w203988292","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"bridge":"yes","highway":"footway"},"nodes":["n2140006407","n2140006405"]},"w203970118":{"id":"w203970118","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824775","n2139824785","n2139824780","n2139824768","n2139824775"]},"w203970121":{"id":"w203970121","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824768","n2139824781","n2139824776","n2139824765","n2139824768"]},"w17967752":{"id":"w17967752","version":"5","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Railroad Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Railroad","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185964980","n2139832699","n2139832700","n2130304158","n185988969","n185988971","n185988972","n1475284011"]},"w203970136":{"id":"w203970136","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824793","n2139824777","n2139824784","n2139824798"]},"w203970142":{"id":"w203970142","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824808","n2139824809","n2139824807","n2139824806","n2139824801","n2139824800","n2139824804","n2139824805","n2139824808"]},"w208643137":{"id":"w208643137","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153227","n2189153248","n2189153228","n2189153234","n2189153235","n2189153229","n2189153249","n2189153230","n2189153227"]},"w208643129":{"id":"w208643129","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153179","n2189153180","n2189153181","n2189153182","n2189153179"]},"w203970909":{"id":"w203970909","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832703","n2139832704","n2139832706","n2139832708","n2139832703"]},"w203970905":{"id":"w203970905","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832688","n2139832691"]},"w203988298":{"id":"w203988298","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"service"},"nodes":["n2140006431","n2140006433","n2140006435","n2140006436","n2140006437","n2140006438","n2140006439","n2140006440"]},"w203970106":{"id":"w203970106","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824798","n2139824791","n2139824799","n2139824802","n2139824798"]},"w203970129":{"id":"w203970129","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:06Z","tags":{"building":"yes"},"nodes":["n2139824787","n2139824782","n2139824766","n2139824769","n2139824787"]},"w208643131":{"id":"w208643131","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:14Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189153191","n2189153192","n2189153193","n2189153194","n2189153191"]},"w206805249":{"id":"w206805249","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544800","n2168544801","n2168544802","n2168544805","n2168544807","n2168544809","n2168544811","n2168544813","n2168544815","n2168544817","n2168544819","n2168544821","n2168544823","n2168544825","n2168544800"]},"w134150800":{"id":"w134150800","version":"3","changeset":"13675000","user":"NE2","uid":"207745","visible":"true","timestamp":"2012-10-29T15:08:54Z","tags":{"bridge":"yes","highway":"primary","name":"W Michigan Ave","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964972","n185964976"]},"w17966984":{"id":"w17966984","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Portage Avenue","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Portage","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978375","n185963456","n2189153218","n185966937","n185978967","n185967422","n185982193","n185968100","n185982195","n185960195","n185980735","n185978787","n185966948","n185982196","n185982197","n185982198","n185982200","n2139795768","n185972155"]},"w203988294":{"id":"w203988294","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"amenity":"shelter","area":"yes","building":"yes","shelter_type":"picnic_shelter"},"nodes":["n2140006409","n2140006411","n2140006413","n2140006415","n2140006409"]},"w203970912":{"id":"w203970912","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832711","n2139832712","n2139832713","n2139832714","n2139832711"]},"w203970119":{"id":"w203970119","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824713","n2139824705","n2139824683","n2139824689","n2139824713"]},"w203970114":{"id":"w203970114","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:05Z","tags":{"building":"yes"},"nodes":["n2139824735","n2139824750","n2139824745","n2139824732","n2139824735"]},"w208643142":{"id":"w208643142","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153254","n2189153255","n2189153256","n2189153257"]},"w206805253":{"id":"w206805253","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544848","n2168544849","n2168544850","n2168544851","n2168544852","n2168544853","n2168544854","n2168544855","n2168544848"]},"w143497377":{"id":"w143497377","version":"7","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:59Z","tags":{"highway":"primary","name":"North Main Street","old_ref":"US 131","ref":"US 131 Business","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"N","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_left_1":"49093","tiger:zip_right":"49093","tiger:zip_right_1":"49093"},"nodes":["n185962625","n185978420","n185978419","n185978417","n185978415","n185978414","n185975735","n1475293254","n185978410","n185978406","n185970515","n185978402","n185978399","n185965399","n2189015992","n185961396","n185967917","n185978394","n185971631","n185960796","n185978392","n185974583","n185978390","n185971578","n185965289","n2189153215","n185978388","n185978383","n185978381","n185978379","n185978377","n185978375","n185964982"]},"w134150811":{"id":"w134150811","version":"6","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","tiger:cfcc":"A21","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_base_2":"US Hwy 131 (Bus)","tiger:name_direction_prefix":"W","tiger:name_type":"Ave","tiger:reviewed":"no"},"nodes":["n185964976","n2130304157","n1475284023","n2139832715","n185964980","n185964982"]},"w208643135":{"id":"w208643135","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153215","n2189153216","n2189153217","n2189153218"]},"w17967183":{"id":"w17967183","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"West","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n1475284011","n185984011","n185984013","n185984015","n2189153246","n2189153250","n185965291","n185984017","n185971580","n185984020","n185974585","n185982163","n185975064","n185971632","n185984022","n185984024","n185967918"]},"w134150778":{"id":"w134150778","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"bridge":"yes","highway":"residential","name":"Moore St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Moore","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15328392:15312870:15312967","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988245","n1475283992","n185975911"]},"w206805248":{"id":"w206805248","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544790","n2168544791","n2168544792","n2168544793","n2168544795","n2168544797","n2168544798","n2168544799","n2168544802","n2168544801","n2168544790"]},"w203974058":{"id":"w203974058","version":"1","changeset":"14893310","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T09:47:02Z","tags":{"bridge":"yes","highway":"path","name":"Riverwalk Trail"},"nodes":["n2139870374","n2139870375"]},"w203970902":{"id":"w203970902","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832678","n2139832691","n2139832680"]},"w203988296":{"id":"w203988296","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"path"},"nodes":["n2139858967","n2140006421","n2139858935"]},"w206805251":{"id":"w206805251","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:04Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544830","n2168544831","n2168544832","n2168544833","n2168544834","n2168544835","n2168544836","n2168544837","n2168544830"]},"w203970906":{"id":"w203970906","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832693","n2139832694","n2139832696","n2139832697","n2139832698","n2139832693"]},"w203049598":{"id":"w203049598","version":"1","changeset":"14802606","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-01-27T04:50:52Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2130304162","n2130304163","n2130304164","n2130304165","n2130304162"]},"w203970911":{"id":"w203970911","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service"},"nodes":["n2139832709","n2139832714","n2139832713","n2139832710","n185988971"]},"w203970105":{"id":"w203970105","version":"1","changeset":"14892598","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:37:04Z","tags":{"building":"yes"},"nodes":["n2139824779","n2139824792","n2139824786","n2139824775","n2139824779"]},"w203988290":{"id":"w203988290","version":"1","changeset":"14895132","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T12:19:25Z","tags":{"highway":"footway"},"nodes":["n2140006403","n2140006407"]},"w203970900":{"id":"w203970900","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139832653","n2139832663","n2139832665","n2139832667","n2139832669","n2139832671","n2139832673","n2139832675","n2139832677","n2139832653"]},"w209717048":{"id":"w209717048","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109755","n2199109756","n2199109757","n2199109758","n2199109759","n2199109760","n2199109755"]},"w208643141":{"id":"w208643141","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153247","n2189153248","n2189153249","n2189153250"]},"w203970903":{"id":"w203970903","version":"1","changeset":"14892737","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T08:51:50Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2139832682","n2139832688","n2139832684","n2139832678","n2139832686"]},"n354002527":{"id":"n354002527","loc":[-85.6236039,41.9458813],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T21:20:07Z","tags":{"amenity":"school","ele":"246","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/21/2008","gnis:feature_id":"1624371","gnis:state_id":"26","name":"Barrows School"}},"n185963396":{"id":"n185963396","loc":[-85.627401,41.943496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963397":{"id":"n185963397","loc":[-85.627403,41.943625],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965101":{"id":"n185965101","loc":[-85.626409,41.943215],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185971474":{"id":"n185971474","loc":[-85.624884,41.943508],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971475":{"id":"n185971475","loc":[-85.625191,41.943509],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971482":{"id":"n185971482","loc":[-85.624882,41.94382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185983135":{"id":"n185983135","loc":[-85.624893,41.945616],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983137":{"id":"n185983137","loc":[-85.624912,41.946524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185988027":{"id":"n185988027","loc":[-85.622721,41.946535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:30Z","tags":{}},"n185963398":{"id":"n185963398","loc":[-85.6273993,41.9446899],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185983238":{"id":"n185983238","loc":[-85.6227157,41.9456321],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980374":{"id":"n185980374","loc":[-85.6248856,41.9447242],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185980373":{"id":"n185980373","loc":[-85.6226744,41.9447371],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n2196831342":{"id":"n2196831342","loc":[-85.6250924,41.945063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831343":{"id":"n2196831343","loc":[-85.6252335,41.9450636],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831344":{"id":"n2196831344","loc":[-85.6252286,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831345":{"id":"n2196831345","loc":[-85.6250661,41.9448707],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831346":{"id":"n2196831346","loc":[-85.6250243,41.9449012],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831347":{"id":"n2196831347","loc":[-85.6250251,41.9449244],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831348":{"id":"n2196831348","loc":[-85.6250867,41.9449257],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831349":{"id":"n2196831349","loc":[-85.625349,41.9445058],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831350":{"id":"n2196831350","loc":[-85.6253471,41.9443882],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831351":{"id":"n2196831351","loc":[-85.6251516,41.94439],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831352":{"id":"n2196831352","loc":[-85.6251522,41.9444308],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831353":{"id":"n2196831353","loc":[-85.6251344,41.9444309],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831354":{"id":"n2196831354","loc":[-85.6251356,41.9445077],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831355":{"id":"n2196831355","loc":[-85.6232357,41.9463406],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:39Z","tags":{}},"n2196831356":{"id":"n2196831356","loc":[-85.6232409,41.9460668],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831357":{"id":"n2196831357","loc":[-85.6232072,41.9460665],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831358":{"id":"n2196831358","loc":[-85.6232117,41.9458272],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831359":{"id":"n2196831359","loc":[-85.6229808,41.9458248],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831360":{"id":"n2196831360","loc":[-85.6229763,41.9460627],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831361":{"id":"n2196831361","loc":[-85.623006,41.946063],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831362":{"id":"n2196831362","loc":[-85.6230023,41.9462557],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831363":{"id":"n2196831363","loc":[-85.6230755,41.9462565],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831364":{"id":"n2196831364","loc":[-85.6230739,41.9463389],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947349":{"id":"n185947349","loc":[-85.618327,41.945607],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947359":{"id":"n185947359","loc":[-85.615453,41.945597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947378":{"id":"n185947378","loc":[-85.617231,41.945603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947474":{"id":"n185947474","loc":[-85.616136,41.945602],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948972":{"id":"n185948972","loc":[-85.615273,41.945637],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:02Z","tags":{}},"n185955019":{"id":"n185955019","loc":[-85.620172,41.945627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185960682":{"id":"n185960682","loc":[-85.622759,41.951845],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185961369":{"id":"n185961369","loc":[-85.622758,41.947444],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961371":{"id":"n185961371","loc":[-85.624908,41.947416],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185963392":{"id":"n185963392","loc":[-85.6270462,41.9409953],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185963393":{"id":"n185963393","loc":[-85.627295,41.941304],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:51Z","tags":{}},"n185963394":{"id":"n185963394","loc":[-85.627352,41.94148],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185963395":{"id":"n185963395","loc":[-85.62737,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:52Z","tags":{}},"n185965099":{"id":"n185965099","loc":[-85.6264,41.942263],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965108":{"id":"n185965108","loc":[-85.622769,41.949224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185965110":{"id":"n185965110","loc":[-85.624937,41.949237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185966295":{"id":"n185966295","loc":[-85.6299942,41.9446689],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185966342":{"id":"n185966342","loc":[-85.624873,41.942022],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185970222":{"id":"n185970222","loc":[-85.622761,41.948357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185970224":{"id":"n185970224","loc":[-85.624924,41.9483338],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185971477":{"id":"n185971477","loc":[-85.620051,41.94383],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971478":{"id":"n185971478","loc":[-85.621219,41.943801],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185971481":{"id":"n185971481","loc":[-85.621812,41.943807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:03Z","tags":{}},"n185973866":{"id":"n185973866","loc":[-85.627629,41.946498],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185974699":{"id":"n185974699","loc":[-85.6227688,41.950119],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185978800":{"id":"n185978800","loc":[-85.623953,41.954684],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185980372":{"id":"n185980372","loc":[-85.621459,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980378":{"id":"n185980378","loc":[-85.6286375,41.9446764],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980380":{"id":"n185980380","loc":[-85.630139,41.944661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980382":{"id":"n185980382","loc":[-85.630298,41.944635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980384":{"id":"n185980384","loc":[-85.630759,41.94454],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980386":{"id":"n185980386","loc":[-85.6312369,41.9444548],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185983133":{"id":"n185983133","loc":[-85.6248672,41.9415903],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185983139":{"id":"n185983139","loc":[-85.624951,41.950239],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983140":{"id":"n185983140","loc":[-85.624934,41.950681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:01Z","tags":{}},"n185983141":{"id":"n185983141","loc":[-85.624813,41.950983],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983143":{"id":"n185983143","loc":[-85.6246225,41.951591],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983144":{"id":"n185983144","loc":[-85.623908,41.9539165],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983145":{"id":"n185983145","loc":[-85.6238903,41.9540956],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{}},"n185983146":{"id":"n185983146","loc":[-85.623898,41.95431],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:02Z","tags":{}},"n185983236":{"id":"n185983236","loc":[-85.628481,41.945611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:05Z","tags":{}},"n185985914":{"id":"n185985914","loc":[-85.620072,41.946538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185986812":{"id":"n185986812","loc":[-85.6227785,41.9510005],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n185988028":{"id":"n185988028","loc":[-85.6281401,41.9469632],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988030":{"id":"n185988030","loc":[-85.6282451,41.9470314],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988032":{"id":"n185988032","loc":[-85.6283312,41.9470656],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"w17964989":{"id":"w17964989","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:33:37Z","tags":{"highway":"residential","name":"Middle St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Middle","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312433:15328741:15312403:15312465","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185963392","n185963393","n185963394","n185963395","n185963396","n185963397","n185963398"]},"w17965158":{"id":"w17965158","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"access":"private","highway":"service","name":"Battle St","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Battle","tiger:name_type":"St","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313281","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185965101"]},"w41074896":{"id":"w41074896","version":"4","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980373","n185980374","n185963398","n185980378","n185966295","n185980380","n185980382","n185980384","n185980386"]},"w17965846":{"id":"w17965846","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313726","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971477","n185971478","n185971481","n185971482"]},"w209470306":{"id":"w209470306","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831349","n2196831350","n2196831351","n2196831352","n2196831353","n2196831354","n2196831349"]},"w17965845":{"id":"w17965845","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:12Z","tags":{"highway":"residential","name":"2nd Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"2nd","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335065","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971474","n185971475","n185963396"]},"w209470307":{"id":"w209470307","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831355","n2196831356","n2196831357","n2196831358","n2196831359","n2196831360","n2196831361","n2196831362","n2196831363","n2196831364","n2196831355"]},"w17968192":{"id":"w17968192","version":"2","changeset":"15473162","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:43:17Z","tags":{"highway":"residential","name":"Washington St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Washington","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980373","n185983238","n185988027","n185961369","n185970222","n185965108","n185974699","n185986812","n185960682"]},"w17967603":{"id":"w17967603","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:23Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185985914","n185988027","n185983137","n185973866","n185988028","n185988030","n185988032"]},"w209470305":{"id":"w209470305","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831342","n2196831343","n2196831344","n2196831345","n2196831346","n2196831347","n2196831348","n2196831342"]},"w17967092":{"id":"w17967092","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:18Z","tags":{"highway":"residential","name":"Wood St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wood","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313653:15313659:15313679:15314060","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983133","n185966342","n185971474","n185971482","n185980374","n185983135","n185983137","n185961371","n185970224","n185965110","n185983139","n185983140","n185983141","n185983143","n185983144","n185983145","n185983146","n185978800"]},"w17967107":{"id":"w17967107","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:49:23Z","tags":{"highway":"residential","name":"4th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314053:15314054:15313697:15313698:15313700:15313701:15313699:15314427","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185983236","n185983135","n185983238","n185955019","n185947349","n185947378","n185947474","n185947359","n185948972"]},"n354030330":{"id":"n354030330","loc":[-85.6297222,41.9444444],"version":"1","changeset":"698464","user":"iandees","uid":"4732","visible":"true","timestamp":"2009-02-28T22:10:58Z","tags":{"ele":"243","gnis:county_id":"149","gnis:created":"03/21/2008","gnis:feature_id":"2401246","gnis:state_id":"26","leisure":"park","name":"Scouter Park"}},"n185966296":{"id":"n185966296","loc":[-85.629998,41.944078],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966298":{"id":"n185966298","loc":[-85.629972,41.943927],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966300":{"id":"n185966300","loc":[-85.629948,41.943783],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185980391":{"id":"n185980391","loc":[-85.6322992,41.9442766],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980393":{"id":"n185980393","loc":[-85.6324925,41.9442136],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980389":{"id":"n185980389","loc":[-85.6320272,41.9443281],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185980388":{"id":"n185980388","loc":[-85.6315778,41.9443959],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n354031320":{"id":"n354031320","loc":[-85.6280556,41.9447222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:21Z","tags":{"amenity":"place_of_worship","ele":"245","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417881","gnis:state_id":"26","name":"Riverside Church","religion":"christian"}},"n185987309":{"id":"n185987309","loc":[-85.6286497,41.9453531],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185987311":{"id":"n185987311","loc":[-85.6285942,41.9454805],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185988034":{"id":"n185988034","loc":[-85.6285815,41.9471692],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185988896":{"id":"n185988896","loc":[-85.6318433,41.9437929],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185977764":{"id":"n185977764","loc":[-85.6322988,41.943472],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848852":{"id":"n1819848852","loc":[-85.6315188,41.9448808],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848912":{"id":"n1819848912","loc":[-85.6284289,41.9472189],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848925":{"id":"n1819848925","loc":[-85.6314501,41.9451617],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848949":{"id":"n1819848949","loc":[-85.6309394,41.9455192],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848951":{"id":"n1819848951","loc":[-85.6290297,41.9457187],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848963":{"id":"n1819848963","loc":[-85.630521,41.9455591],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848981":{"id":"n1819848981","loc":[-85.6292936,41.9455846],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848989":{"id":"n1819848989","loc":[-85.6298451,41.9455431],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819848998":{"id":"n1819848998","loc":[-85.6314973,41.9446254],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849018":{"id":"n1819849018","loc":[-85.6302807,41.9455527],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849043":{"id":"n1819849043","loc":[-85.6285533,41.9469731],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849087":{"id":"n1819849087","loc":[-85.6314501,41.9453532],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849090":{"id":"n1819849090","loc":[-85.628843,41.9461033],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849109":{"id":"n1819849109","loc":[-85.6311926,41.9454729],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849116":{"id":"n1819849116","loc":[-85.6288967,41.9459437],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849177":{"id":"n1819849177","loc":[-85.6287894,41.9464544],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819858529":{"id":"n1819858529","loc":[-85.6325485,41.9445625],"version":"1","changeset":"12170230","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:56:55Z","tags":{}},"n2189112797":{"id":"n2189112797","loc":[-85.6275271,41.944555],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112798":{"id":"n2189112798","loc":[-85.6275196,41.9437258],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112799":{"id":"n2189112799","loc":[-85.6278937,41.943723],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112800":{"id":"n2189112800","loc":[-85.6278969,41.9439191],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112801":{"id":"n2189112801","loc":[-85.6279907,41.9439345],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112802":{"id":"n2189112802","loc":[-85.6280817,41.9439663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112803":{"id":"n2189112803","loc":[-85.6281768,41.9440145],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112804":{"id":"n2189112804","loc":[-85.6281933,41.9440483],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112805":{"id":"n2189112805","loc":[-85.6281671,41.9440535],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112806":{"id":"n2189112806","loc":[-85.6281933,41.9440935],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112807":{"id":"n2189112807","loc":[-85.6282126,41.9441437],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112808":{"id":"n2189112808","loc":[-85.628214,41.9441991],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112809":{"id":"n2189112809","loc":[-85.6283298,41.944196],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112810":{"id":"n2189112810","loc":[-85.6283285,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112811":{"id":"n2189112811","loc":[-85.6281727,41.9442616],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112812":{"id":"n2189112812","loc":[-85.6281713,41.9442934],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112813":{"id":"n2189112813","loc":[-85.6280386,41.9442963],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112814":{"id":"n2189112814","loc":[-85.6280405,41.9443292],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112815":{"id":"n2189112815","loc":[-85.627829,41.9443349],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189112816":{"id":"n2189112816","loc":[-85.6278347,41.9445495],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:16Z","tags":{}},"n2189153271":{"id":"n2189153271","loc":[-85.6321053,41.9460342],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153272":{"id":"n2189153272","loc":[-85.632278,41.9457841],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153273":{"id":"n2189153273","loc":[-85.632823,41.9459936],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153274":{"id":"n2189153274","loc":[-85.6326845,41.9461963],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:11Z","tags":{}},"n2189153275":{"id":"n2189153275","loc":[-85.6325664,41.9461507],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153276":{"id":"n2189153276","loc":[-85.6325323,41.946198],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153278":{"id":"n2189153278","loc":[-85.6321916,41.9459733],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153279":{"id":"n2189153279","loc":[-85.6322598,41.9458703],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153280":{"id":"n2189153280","loc":[-85.6327208,41.9460358],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n2189153281":{"id":"n2189153281","loc":[-85.6326413,41.9461422],"version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:12Z","tags":{}},"n185959079":{"id":"n185959079","loc":[-85.6293702,41.9474668],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185966301":{"id":"n185966301","loc":[-85.629692,41.943136],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966304":{"id":"n185966304","loc":[-85.629565,41.942916],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966308":{"id":"n185966308","loc":[-85.629501,41.942751],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966315":{"id":"n185966315","loc":[-85.629472,41.942578],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966319":{"id":"n185966319","loc":[-85.629444,41.942414],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966321":{"id":"n185966321","loc":[-85.629391,41.94205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966323":{"id":"n185966323","loc":[-85.629369,41.941858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966327":{"id":"n185966327","loc":[-85.629297,41.941604],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966331":{"id":"n185966331","loc":[-85.629233,41.941549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966336":{"id":"n185966336","loc":[-85.628504,41.941364],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966338":{"id":"n185966338","loc":[-85.628275,41.941303],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966340":{"id":"n185966340","loc":[-85.6269038,41.9410983],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n185973867":{"id":"n185973867","loc":[-85.626843,41.947333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185977762":{"id":"n185977762","loc":[-85.6318441,41.9429453],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819848853":{"id":"n1819848853","loc":[-85.625854,41.9492218],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848861":{"id":"n1819848861","loc":[-85.6251459,41.9552376],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848874":{"id":"n1819848874","loc":[-85.6267445,41.9482961],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848882":{"id":"n1819848882","loc":[-85.6257209,41.9552396],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848883":{"id":"n1819848883","loc":[-85.624706,41.9523173],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848907":{"id":"n1819848907","loc":[-85.62609,41.9561471],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848908":{"id":"n1819848908","loc":[-85.6244013,41.9549284],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848911":{"id":"n1819848911","loc":[-85.6265578,41.9553672],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848923":{"id":"n1819848923","loc":[-85.6246802,41.9550959],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848936":{"id":"n1819848936","loc":[-85.6241588,41.9539291],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848940":{"id":"n1819848940","loc":[-85.62506,41.9511129],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848944":{"id":"n1819848944","loc":[-85.624942,41.9515912],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848950":{"id":"n1819848950","loc":[-85.6273989,41.9475461],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848957":{"id":"n1819848957","loc":[-85.627695,41.947404],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819849009":{"id":"n1819849009","loc":[-85.6259248,41.94896],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849037":{"id":"n1819849037","loc":[-85.6257252,41.9502112],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849061":{"id":"n1819849061","loc":[-85.6270084,41.9479626],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849073":{"id":"n1819849073","loc":[-85.6243734,41.9534583],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849091":{"id":"n1819849091","loc":[-85.6241373,41.9543918],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n1819849130":{"id":"n1819849130","loc":[-85.6282572,41.9473067],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849143":{"id":"n1819849143","loc":[-85.625281,41.9506596],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819849153":{"id":"n1819849153","loc":[-85.6258647,41.9498043],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849168":{"id":"n1819849168","loc":[-85.6265084,41.9559317],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849173":{"id":"n1819849173","loc":[-85.6263325,41.9552156],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849175":{"id":"n1819849175","loc":[-85.6266372,41.9556764],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:58Z","tags":{}},"n1819849178":{"id":"n1819849178","loc":[-85.6242232,41.9545993],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849181":{"id":"n1819849181","loc":[-85.6262187,41.9486712],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849188":{"id":"n1819849188","loc":[-85.6245558,41.9530434],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849190":{"id":"n1819849190","loc":[-85.6255982,41.9563017],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n2168544738":{"id":"n2168544738","loc":[-85.6245707,41.9529711],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"w208643145":{"id":"w208643145","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:15Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153271","n2189153272","n2189153273","n2189153274","n2189153275","n2189153276","n2189153271"]},"w17967561":{"id":"w17967561","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:21Z","tags":{"highway":"residential","name":"Garden St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Garden","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312361:15322884:15322885","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980378","n185987309","n185987311","n185983236","n185973866"]},"w134150802":{"id":"w134150802","version":"2","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"bridge":"yes","highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980386","n185980388"]},"w208639462":{"id":"w208639462","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112797","n2189112798","n2189112799","n2189112800","n2189112801","n2189112802","n2189112803","n2189112804","n2189112805","n2189112806","n2189112807","n2189112808","n2189112809","n2189112810","n2189112811","n2189112812","n2189112813","n2189112814","n2189112815","n2189112816","n2189112797"]},"w134150830":{"id":"w134150830","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"bridge":"yes","highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977762","n185977764"]},"w134150801":{"id":"w134150801","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977764","n185964982"]},"w208643146":{"id":"w208643146","version":"1","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:16Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153277","n2189153281","n2189153278","n2189153279","n2189153280","n2189153281"]},"w17966061":{"id":"w17966061","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:00Z","tags":{"highway":"residential","name":"John Glenn Ct","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"John Glenn","tiger:name_type":"Ct","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313190","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185973866","n185973867"]},"w134150772":{"id":"w134150772","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{"highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988034","n185959079","n185988036","n185978967"]},"w134150836":{"id":"w134150836","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:11:58Z","tags":{"highway":"secondary","name":"East Michigan Avenue","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980388","n1819858524","n185980389","n185980391","n185980393","n185964982"]},"w17967734":{"id":"w17967734","version":"3","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"residential","name":"Water Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Water","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988896","n185980391","n1819858529"]},"w17965305":{"id":"w17965305","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:57Z","tags":{"highway":"residential","name":"River Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312440:15338837","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966295","n185966296","n185966298","n185966300","n185966301","n185966304","n185966308","n185966315","n185966319","n185966321","n185966323","n185966327","n185966331","n185966336","n185966338","n185963392","n185966340","n185966342"]},"w134150826":{"id":"w134150826","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"bridge":"yes","highway":"residential","name":"5th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312324:15312811:15314055:15314056:15313692:15328995:15313188","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185988032","n185988034"]},"w170848330":{"id":"w170848330","version":"3","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1819849190","n1819848907","n1819849168","n1819849175","n1819848911","n1819849173","n1819848882","n1819848861","n1819848923","n1819848908","n1819849178","n1819849091","n1819848936","n1819849073","n1819849188","n2168544738","n1819848883","n1819848944","n1819848940","n1819849143","n1819849037","n1819849153","n1819848853","n1819849009","n1819849181","n1819848874","n1819849061","n1819848950","n1819848957","n1819849130","n1819848912","n1819849043","n1819849177","n1819849090","n1819849116","n1819848951","n1819848981","n1819848989","n1819849018","n1819848963","n1819848949","n1819849109","n1819849087","n1819848925","n1819848852","n1819848998","n1819849057"]},"r270264":{"id":"r270264","version":"8","changeset":"13611326","user":"migurski","uid":"8287","visible":"true","timestamp":"2012-10-23T23:35:16Z","tags":{"network":"US:MI","ref":"86","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-86_%28Michigan_highway%29"},"members":[{"id":"w17737723","type":"way","role":""},{"id":"w17735949","type":"way","role":""},{"id":"w17740404","type":"way","role":""},{"id":"w17966273","type":"way","role":""},{"id":"w17964745","type":"way","role":""},{"id":"w151538068","type":"way","role":""},{"id":"w151538067","type":"way","role":""},{"id":"w17964960","type":"way","role":""},{"id":"w17966099","type":"way","role":""},{"id":"w17968009","type":"way","role":""},{"id":"w41259499","type":"way","role":""},{"id":"w151540401","type":"way","role":""},{"id":"w151540418","type":"way","role":""},{"id":"w17967997","type":"way","role":""},{"id":"w17966029","type":"way","role":""},{"id":"w17964801","type":"way","role":""},{"id":"w41259496","type":"way","role":""},{"id":"w151540399","type":"way","role":""},{"id":"w17968004","type":"way","role":""},{"id":"w17966462","type":"way","role":""},{"id":"w134150830","type":"way","role":""},{"id":"w134150801","type":"way","role":""},{"id":"w17732295","type":"way","role":""}]},"n185980093":{"id":"n185980093","loc":[-85.6271414,41.9407274],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964330":{"id":"n185964330","loc":[-85.6235688,41.9399111],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964328":{"id":"n185964328","loc":[-85.6235609,41.9391301],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185958034":{"id":"n185958034","loc":[-85.627102,41.939125],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185964331":{"id":"n185964331","loc":[-85.623571,41.940124],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964329":{"id":"n185964329","loc":[-85.623562,41.9392411],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972756":{"id":"n185972756","loc":[-85.623802,41.939102],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972757":{"id":"n185972757","loc":[-85.623584,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185975325":{"id":"n185975325","loc":[-85.624835,41.939318],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975326":{"id":"n185975326","loc":[-85.624811,41.939435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975327":{"id":"n185975327","loc":[-85.624635,41.939703],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975328":{"id":"n185975328","loc":[-85.624366,41.940055],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975330":{"id":"n185975330","loc":[-85.624287,41.940113],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975332":{"id":"n185975332","loc":[-85.624215,41.940134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185980088":{"id":"n185980088","loc":[-85.627127,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185988943":{"id":"n185988943","loc":[-85.622643,41.940128],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:15Z","tags":{}},"n185988961":{"id":"n185988961","loc":[-85.627263,41.940082],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990192":{"id":"n185990192","loc":[-85.622933,41.939224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990194":{"id":"n185990194","loc":[-85.621976,41.939203],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185991378":{"id":"n185991378","loc":[-85.622643,41.940635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:34Z","tags":{}},"n1475283999":{"id":"n1475283999","loc":[-85.6271165,41.9408429],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n185980090":{"id":"n185980090","loc":[-85.6271315,41.9402001],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:59Z","tags":{}},"n185958036":{"id":"n185958036","loc":[-85.6248366,41.9391615],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n1819800188":{"id":"n1819800188","loc":[-85.6246947,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800199":{"id":"n1819800199","loc":[-85.6233686,41.9430896],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800204":{"id":"n1819800204","loc":[-85.6223236,41.9408587],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800213":{"id":"n1819800213","loc":[-85.6247526,41.9414138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800216":{"id":"n1819800216","loc":[-85.6230961,41.9407151],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800218":{"id":"n1819800218","loc":[-85.621991,41.9429336],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800221":{"id":"n1819800221","loc":[-85.6246088,41.9424708],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800227":{"id":"n1819800227","loc":[-85.6241368,41.9403081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800230":{"id":"n1819800230","loc":[-85.6226776,41.9431012],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800231":{"id":"n1819800231","loc":[-85.6243728,41.9401644],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800232":{"id":"n1819800232","loc":[-85.6249629,41.9408907],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800248":{"id":"n1819800248","loc":[-85.6238685,41.9405555],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800266":{"id":"n1819800266","loc":[-85.6246882,41.9418367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800271":{"id":"n1819800271","loc":[-85.62492,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800294":{"id":"n1819800294","loc":[-85.6243556,41.9427465],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800304":{"id":"n1819800304","loc":[-85.6251453,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800325":{"id":"n1819800325","loc":[-85.6248234,41.9405714],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800362":{"id":"n1819800362","loc":[-85.6239544,41.9429416],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800368":{"id":"n1819800368","loc":[-85.6243406,41.9402283],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800375":{"id":"n1819800375","loc":[-85.6226562,41.940755],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800377":{"id":"n1819800377","loc":[-85.6232033,41.9406512],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n185945133":{"id":"n185945133","loc":[-85.623501,41.933232],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945135":{"id":"n185945135","loc":[-85.624776,41.933205],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945395":{"id":"n185945395","loc":[-85.624741,41.93019],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185952239":{"id":"n185952239","loc":[-85.615166,41.9382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:12Z","tags":{}},"n185954490":{"id":"n185954490","loc":[-85.624721,41.929278],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:27Z","tags":{}},"n185957831":{"id":"n185957831","loc":[-85.625041,41.938662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:57:55Z","tags":{}},"n185958030":{"id":"n185958030","loc":[-85.629033,41.93913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958032":{"id":"n185958032","loc":[-85.628429,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:00Z","tags":{}},"n185958498":{"id":"n185958498","loc":[-85.621605,41.940143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185961186":{"id":"n185961186","loc":[-85.624792,41.935214],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:34Z","tags":{}},"n185963099":{"id":"n185963099","loc":[-85.6204461,41.9401485],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n185963698":{"id":"n185963698","loc":[-85.6297342,41.9400783],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185964320":{"id":"n185964320","loc":[-85.623511,41.934216],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964322":{"id":"n185964322","loc":[-85.6235312,41.9362084],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964324":{"id":"n185964324","loc":[-85.6235488,41.9371726],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185964326":{"id":"n185964326","loc":[-85.6235512,41.9381718],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967077":{"id":"n185967077","loc":[-85.617359,41.940161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n185967634":{"id":"n185967634","loc":[-85.6248039,41.9362012],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185970833":{"id":"n185970833","loc":[-85.6248019,41.9381684],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185972752":{"id":"n185972752","loc":[-85.624582,41.938848],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185972754":{"id":"n185972754","loc":[-85.6242,41.939008],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:35Z","tags":{}},"n185973251":{"id":"n185973251","loc":[-85.602727,41.936012],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:49Z","tags":{}},"n185974509":{"id":"n185974509","loc":[-85.62478,41.93217],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185975315":{"id":"n185975315","loc":[-85.624703,41.925597],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:56Z","tags":{}},"n185975316":{"id":"n185975316","loc":[-85.624716,41.927359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975317":{"id":"n185975317","loc":[-85.62475,41.93119],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975318":{"id":"n185975318","loc":[-85.624782,41.934218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:57Z","tags":{}},"n185975320":{"id":"n185975320","loc":[-85.6247949,41.9371708],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185977754":{"id":"n185977754","loc":[-85.6276,41.937412],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185980075":{"id":"n185980075","loc":[-85.627451,41.937549],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980077":{"id":"n185980077","loc":[-85.627375,41.937618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980078":{"id":"n185980078","loc":[-85.627278,41.937728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980079":{"id":"n185980079","loc":[-85.627199,41.937842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980081":{"id":"n185980081","loc":[-85.627141,41.937981],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980083":{"id":"n185980083","loc":[-85.627109,41.938153],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185980085":{"id":"n185980085","loc":[-85.627101,41.938699],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:28Z","tags":{}},"n185981173":{"id":"n185981173","loc":[-85.61433,41.940167],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:10:02Z","tags":{}},"n185987021":{"id":"n185987021","loc":[-85.628311,41.942261],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:07Z","tags":{}},"n185988963":{"id":"n185988963","loc":[-85.628439,41.940086],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:16Z","tags":{}},"n185990195":{"id":"n185990195","loc":[-85.621225,41.939143],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990196":{"id":"n185990196","loc":[-85.620576,41.939033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990198":{"id":"n185990198","loc":[-85.619081,41.938804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990200":{"id":"n185990200","loc":[-85.617593,41.938552],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990202":{"id":"n185990202","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990204":{"id":"n185990204","loc":[-85.616087,41.93832],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:56Z","tags":{}},"n185990206":{"id":"n185990206","loc":[-85.615754,41.938289],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990209":{"id":"n185990209","loc":[-85.615438,41.938251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990211":{"id":"n185990211","loc":[-85.613469,41.937867],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990212":{"id":"n185990212","loc":[-85.610172,41.937298],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990213":{"id":"n185990213","loc":[-85.605537,41.936497],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n185990214":{"id":"n185990214","loc":[-85.604014,41.936234],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:57Z","tags":{}},"n1819800180":{"id":"n1819800180","loc":[-85.588775,41.9455032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800181":{"id":"n1819800181","loc":[-85.6074212,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800182":{"id":"n1819800182","loc":[-85.6131397,41.9427022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800183":{"id":"n1819800183","loc":[-85.6171523,41.9416807],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800184":{"id":"n1819800184","loc":[-85.602465,41.9397415],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800185":{"id":"n1819800185","loc":[-85.6109296,41.9410583],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800186":{"id":"n1819800186","loc":[-85.6165729,41.9418004],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800189":{"id":"n1819800189","loc":[-85.5866293,41.9458224],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800191":{"id":"n1819800191","loc":[-85.5853311,41.9466603],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:21Z","tags":{}},"n1819800201":{"id":"n1819800201","loc":[-85.6101142,41.9433406],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800202":{"id":"n1819800202","loc":[-85.600963,41.9428618],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800206":{"id":"n1819800206","loc":[-85.6154357,41.9427501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800207":{"id":"n1819800207","loc":[-85.6040309,41.9414094],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800209":{"id":"n1819800209","loc":[-85.6113694,41.943189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800211":{"id":"n1819800211","loc":[-85.618032,41.9416408],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800214":{"id":"n1819800214","loc":[-85.5959419,41.9402602],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800219":{"id":"n1819800219","loc":[-85.5972117,41.9420043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800223":{"id":"n1819800223","loc":[-85.6117171,41.9430019],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800224":{"id":"n1819800224","loc":[-85.5977873,41.9395579],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800226":{"id":"n1819800226","loc":[-85.5917362,41.9432209],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800228":{"id":"n1819800228","loc":[-85.6055759,41.9419122],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800229":{"id":"n1819800229","loc":[-85.6203395,41.9425595],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800233":{"id":"n1819800233","loc":[-85.6107579,41.9433007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800234":{"id":"n1819800234","loc":[-85.6039773,41.9412498],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800235":{"id":"n1819800235","loc":[-85.6000977,41.9412861],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800236":{"id":"n1819800236","loc":[-85.6026689,41.9407231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:22Z","tags":{}},"n1819800237":{"id":"n1819800237","loc":[-85.615161,41.9428662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800238":{"id":"n1819800238","loc":[-85.5878953,41.9454314],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800239":{"id":"n1819800239","loc":[-85.6035267,41.941569],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800240":{"id":"n1819800240","loc":[-85.5929738,41.9450208],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800241":{"id":"n1819800241","loc":[-85.6186329,41.9416488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800242":{"id":"n1819800242","loc":[-85.5881136,41.9483963],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800243":{"id":"n1819800243","loc":[-85.5909208,41.9466922],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800244":{"id":"n1819800244","loc":[-85.5997721,41.9394941],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800245":{"id":"n1819800245","loc":[-85.6202064,41.9425712],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n1819800246":{"id":"n1819800246","loc":[-85.591071,41.9448808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800247":{"id":"n1819800247","loc":[-85.5866078,41.9490622],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800250":{"id":"n1819800250","loc":[-85.602383,41.9420841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800251":{"id":"n1819800251","loc":[-85.5957418,41.9426906],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800255":{"id":"n1819800255","loc":[-85.6157039,41.9416727],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800256":{"id":"n1819800256","loc":[-85.6080328,41.9410982],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800258":{"id":"n1819800258","loc":[-85.6192551,41.9414892],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800260":{"id":"n1819800260","loc":[-85.6104253,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800261":{"id":"n1819800261","loc":[-85.6204503,41.9425709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800263":{"id":"n1819800263","loc":[-85.5872194,41.9455431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800264":{"id":"n1819800264","loc":[-85.616176,41.9418244],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800268":{"id":"n1819800268","loc":[-85.6120883,41.9426703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800269":{"id":"n1819800269","loc":[-85.5894547,41.9474946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800272":{"id":"n1819800272","loc":[-85.6209181,41.9425027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800274":{"id":"n1819800274","loc":[-85.6122814,41.9412817],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800276":{"id":"n1819800276","loc":[-85.5895153,41.9452798],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800277":{"id":"n1819800277","loc":[-85.5884317,41.9455272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800279":{"id":"n1819800279","loc":[-85.5884103,41.9480966],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n1819800287":{"id":"n1819800287","loc":[-85.5904917,41.9453915],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800288":{"id":"n1819800288","loc":[-85.6212292,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800289":{"id":"n1819800289","loc":[-85.5954377,41.9406832],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800290":{"id":"n1819800290","loc":[-85.593721,41.9420957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800291":{"id":"n1819800291","loc":[-85.6162832,41.9427102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800292":{"id":"n1819800292","loc":[-85.605018,41.9401804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800293":{"id":"n1819800293","loc":[-85.6086443,41.941146],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800296":{"id":"n1819800296","loc":[-85.6204675,41.9413775],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800297":{"id":"n1819800297","loc":[-85.612496,41.9424947],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800299":{"id":"n1819800299","loc":[-85.6065629,41.9423431],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800301":{"id":"n1819800301","loc":[-85.6036125,41.9398452],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800303":{"id":"n1819800303","loc":[-85.6114767,41.94117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800306":{"id":"n1819800306","loc":[-85.592616,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800308":{"id":"n1819800308","loc":[-85.6023041,41.9419521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800310":{"id":"n1819800310","loc":[-85.6218944,41.9411061],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800311":{"id":"n1819800311","loc":[-85.6097816,41.941162],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800312":{"id":"n1819800312","loc":[-85.5922549,41.9457869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800313":{"id":"n1819800313","loc":[-85.5986027,41.9417206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800314":{"id":"n1819800314","loc":[-85.5918687,41.946138],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800315":{"id":"n1819800315","loc":[-85.5872875,41.948883],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:24Z","tags":{}},"n1819800316":{"id":"n1819800316","loc":[-85.594272,41.9436642],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800317":{"id":"n1819800317","loc":[-85.6176351,41.941577],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800318":{"id":"n1819800318","loc":[-85.6137834,41.9430853],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800319":{"id":"n1819800319","loc":[-85.6195383,41.942622],"version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"slipway"}},"n1819800320":{"id":"n1819800320","loc":[-85.5971006,41.9398053],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800321":{"id":"n1819800321","loc":[-85.601714,41.9406752],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800322":{"id":"n1819800322","loc":[-85.5908028,41.9453117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800323":{"id":"n1819800323","loc":[-85.6062732,41.9404597],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800324":{"id":"n1819800324","loc":[-85.62124,41.9425905],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800327":{"id":"n1819800327","loc":[-85.6008664,41.942766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800328":{"id":"n1819800328","loc":[-85.6179355,41.9428538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800330":{"id":"n1819800330","loc":[-85.6045566,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800331":{"id":"n1819800331","loc":[-85.5944935,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800333":{"id":"n1819800333","loc":[-85.6088911,41.943181],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800334":{"id":"n1819800334","loc":[-85.5946367,41.943369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800336":{"id":"n1819800336","loc":[-85.6150494,41.9429656],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800343":{"id":"n1819800343","loc":[-85.6096099,41.9433326],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800345":{"id":"n1819800345","loc":[-85.5915216,41.9435401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800347":{"id":"n1819800347","loc":[-85.607786,41.9428698],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800349":{"id":"n1819800349","loc":[-85.6187616,41.9426623],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800350":{"id":"n1819800350","loc":[-85.6012527,41.9426064],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800352":{"id":"n1819800352","loc":[-85.6214867,41.9428379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800354":{"id":"n1819800354","loc":[-85.61338,41.94293],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800355":{"id":"n1819800355","loc":[-85.5923156,41.9428139],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800357":{"id":"n1819800357","loc":[-85.5901591,41.9453197],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800359":{"id":"n1819800359","loc":[-85.6033979,41.9408827],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800360":{"id":"n1819800360","loc":[-85.6186543,41.9414653],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800363":{"id":"n1819800363","loc":[-85.6128607,41.9425665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800365":{"id":"n1819800365","loc":[-85.614234,41.9412977],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:25Z","tags":{}},"n1819800367":{"id":"n1819800367","loc":[-85.6089662,41.9410902],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800369":{"id":"n1819800369","loc":[-85.6197379,41.9413695],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800370":{"id":"n1819800370","loc":[-85.6037348,41.941733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800371":{"id":"n1819800371","loc":[-85.5993467,41.9415654],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800372":{"id":"n1819800372","loc":[-85.598077,41.94196],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800373":{"id":"n1819800373","loc":[-85.5984203,41.9394781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800374":{"id":"n1819800374","loc":[-85.6013315,41.9427066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800376":{"id":"n1819800376","loc":[-85.5934673,41.944167],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800378":{"id":"n1819800378","loc":[-85.6011062,41.9407753],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800379":{"id":"n1819800379","loc":[-85.6150602,41.9415131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800380":{"id":"n1819800380","loc":[-85.6132148,41.9412338],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n1819800381":{"id":"n1819800381","loc":[-85.5889038,41.9453835],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{}},"n2139966621":{"id":"n2139966621","loc":[-85.6198719,41.9426184],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966622":{"id":"n2139966622","loc":[-85.6197551,41.9426123],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:17Z","tags":{}},"n2139966623":{"id":"n2139966623","loc":[-85.6196467,41.9426279],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966624":{"id":"n2139966624","loc":[-85.6191519,41.9426221],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966625":{"id":"n2139966625","loc":[-85.6194153,41.9426256],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966626":{"id":"n2139966626","loc":[-85.6200497,41.9425812],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2139966629":{"id":"n2139966629","loc":[-85.6192123,41.9426229],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2203933101":{"id":"n2203933101","loc":[-85.6030009,41.9360592],"version":"1","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:36Z","tags":{}},"w17967539":{"id":"w17967539","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:28Z","tags":{"highway":"residential","name":"1st Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"1st","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335113:15313280","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965099","n185963395","n185987021"]},"w17967751":{"id":"w17967751","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:03Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312481:15312487","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980088","n185988961","n185988963","n185963698"]},"w17965088":{"id":"w17965088","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:20Z","tags":{"highway":"residential","name":"9th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314207:15313759:15313772:15313802:15313796:15313781:15314179","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185945133","n185964320","n185964322","n185964324","n185964326","n185964328","n185964329","n185964330","n185964331"]},"w17964467":{"id":"w17964467","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:37Z","tags":{"highway":"residential","name":"Mechanic St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Mechanic","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312501:15312497:15335073","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958030","n185958032","n185958034","n185958036"]},"w134150842":{"id":"w134150842","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:56Z","tags":{"bridge":"yes","highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980090","n185980093"]},"w17966740":{"id":"w17966740","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185977754","n185980075","n185980077","n185980078","n185980079","n185980081","n185980083","n185980085","n185958034","n185980088","n185980090"]},"w170844765":{"id":"w170844765","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:26Z","tags":{"waterway":"dam"},"nodes":["n1819800304","n1819800232","n1819800325","n1819800188"]},"w17967745":{"id":"w17967745","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:21Z","tags":{"highway":"residential","name":"River St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"River","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185981173","n185967077","n185963099","n185958498","n185988943","n185964331","n185975332"]},"w17968113":{"id":"w17968113","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:56:09Z","tags":{"highway":"residential","name":"Green St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Green","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314409","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185988943","n185991378"]},"w134150833":{"id":"w134150833","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:55Z","tags":{"highway":"residential","name":"6th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312892:15312519","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185980093","n1475283999","n185963392"]},"w17967935":{"id":"w17967935","version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"name":"Michigan Central Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan Central Railroad","tiger:reviewed":"no"},"nodes":["n185972757","n185990192","n185990194","n185990195","n185990196","n185990198","n185990200","n185990202","n185990204","n185990206","n185990209","n185952239","n185990211","n185990212","n185990213","n185990214","n2203933101","n185973251"]},"w17965993":{"id":"w17965993","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:19Z","tags":{"name":"Conrail Railroad","railway":"abandoned","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314180:15314177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185957831","n185972752","n185972754","n185972756","n185972757"]},"w17966211":{"id":"w17966211","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"residential","name":"8th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313757:15313771:15313791:15313794:15313799:15313811:15313814:15313824:15313846:15314618:15313817:15313788:15314178:15324590","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975315","n185975316","n185954490","n185945395","n185975317","n185974509","n185945135","n185975318","n185961186","n185967634","n185975320","n185970833","n185958036","n185975325","n185975326","n185975327","n185975328","n185975330","n185975332"]},"w170844766":{"id":"w170844766","version":"2","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"source":"Bing","waterway":"riverbank"},"nodes":["n1819800229","n1819800245","n2139966626","n2139966621","n2139966622","n2139966623","n1819800319","n2139966625","n2139966629","n2139966624","n1819800349","n1819800328","n1819800291","n1819800206","n1819800237","n1819800336","n1819800318","n1819800354","n1819800182","n1819800363","n1819800297","n1819800268","n1819800223","n1819800209","n1819800233","n1819800201","n1819800343","n1819800333","n1819800347","n1819800299","n1819800228","n1819800330","n1819800370","n1819800250","n1819800374","n1819800202","n1819800327","n1819800350","n1819800308","n1819800239","n1819800207","n1819800234","n1819800359","n1819800236","n1819800321","n1819800378","n1819800235","n1819800371","n1819800313","n1819800372","n1819800219","n1819800251","n1819800334","n1819800316","n1819800376","n1819800240","n1819800312","n1819800314","n1819800243","n1819800269","n1819800279","n1819800242","n1819800315","n1819800247","n1819800191","n1819800189","n1819800263","n1819800238","n1819800277","n1819800180","n1819800381","n1819800276","n1819800357","n1819800287","n1819800322","n1819800246","n1819800345","n1819800226","n1819800355","n1819800306","n1819800290","n1819800331","n1819800289","n1819800214","n1819800320","n1819800224","n1819800373","n1819800244","n1819800184","n1819800301","n1819800292","n1819800323","n1819800181","n1819800256","n1819800293","n1819800367","n1819800311","n1819800260","n1819800185","n1819800303","n1819800274","n1819800380","n1819800365","n1819800379","n1819800255","n1819800264","n1819800186","n1819800183","n1819800317","n1819800211","n1819800241","n1819800360","n1819800258","n1819800369","n1819800296","n1819800288","n1819800310","n1819800204","n1819800375","n1819800216","n1819800377","n1819800248","n1819800227","n1819800368","n1819800231","n1819800188","n1819800325","n1819800232","n1819800304","n1819800271","n1819800213","n1819800266","n1819800221","n1819800294","n1819800362","n1819800199","n1819800230","n1819800218","n1819800352","n1819800324","n1819800272","n1819800261","n1819800229"]},"n1875654132":{"id":"n1875654132","loc":[-85.6297439,41.939808],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:36Z","tags":{}},"n1475293263":{"id":"n1475293263","loc":[-85.6296235,41.939922],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n185947850":{"id":"n185947850","loc":[-85.631594,41.942613],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:22Z","tags":{}},"n185952745":{"id":"n185952745","loc":[-85.630986,41.941786],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:25Z","tags":{}},"n185972907":{"id":"n185972907","loc":[-85.631797,41.9420055],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972911":{"id":"n185972911","loc":[-85.6309723,41.9411623],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972915":{"id":"n185972915","loc":[-85.6295971,41.939267],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n1475293223":{"id":"n1475293223","loc":[-85.6313962,41.9416114],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{"railway":"level_crossing"}},"n1475293231":{"id":"n1475293231","loc":[-85.6318779,41.9415447],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293241":{"id":"n1475293241","loc":[-85.6304613,41.9405499],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293246":{"id":"n1475293246","loc":[-85.6297512,41.9395393],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475293251":{"id":"n1475293251","loc":[-85.6316633,41.9415128],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n2139982404":{"id":"n2139982404","loc":[-85.6313283,41.9413748],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982407":{"id":"n2139982407","loc":[-85.6325545,41.9417787],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982408":{"id":"n2139982408","loc":[-85.6324499,41.9417693],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982409":{"id":"n2139982409","loc":[-85.6324753,41.9416444],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982410":{"id":"n2139982410","loc":[-85.6325814,41.9416538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982411":{"id":"n2139982411","loc":[-85.6319572,41.9413515],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982412":{"id":"n2139982412","loc":[-85.6322925,41.941139],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982413":{"id":"n2139982413","loc":[-85.6323153,41.941153],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982414":{"id":"n2139982414","loc":[-85.6323019,41.9412617],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982415":{"id":"n2139982415","loc":[-85.6323703,41.9412667],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982416":{"id":"n2139982416","loc":[-85.6323555,41.941538],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982417":{"id":"n2139982417","loc":[-85.6321343,41.9416777],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982418":{"id":"n2139982418","loc":[-85.6319425,41.9416866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982419":{"id":"n2139982419","loc":[-85.6320303,41.9416941],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982420":{"id":"n2139982420","loc":[-85.6321665,41.9415554],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982421":{"id":"n2139982421","loc":[-85.632412,41.9414164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982422":{"id":"n2139982422","loc":[-85.6324801,41.9413421],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982423":{"id":"n2139982423","loc":[-85.6325023,41.9412585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982424":{"id":"n2139982424","loc":[-85.6324532,41.9411607],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982425":{"id":"n2139982425","loc":[-85.6323502,41.941103],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982426":{"id":"n2139982426","loc":[-85.6322362,41.9411183],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982427":{"id":"n2139982427","loc":[-85.6318941,41.9413551],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982428":{"id":"n2139982428","loc":[-85.6318592,41.9414105],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982429":{"id":"n2139982429","loc":[-85.6320111,41.9415866],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982430":{"id":"n2139982430","loc":[-85.632446,41.9413792],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982431":{"id":"n2139982431","loc":[-85.6325112,41.941416],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982432":{"id":"n2139982432","loc":[-85.6325449,41.9416345],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982433":{"id":"n2139982433","loc":[-85.6326122,41.94164],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982434":{"id":"n2139982434","loc":[-85.6325954,41.9421966],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982435":{"id":"n2139982435","loc":[-85.6325655,41.9422411],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982436":{"id":"n2139982436","loc":[-85.632515,41.9422564],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982437":{"id":"n2139982437","loc":[-85.6324495,41.94223],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982438":{"id":"n2139982438","loc":[-85.6324009,41.9421743],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982439":{"id":"n2139982439","loc":[-85.6323915,41.9421145],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982440":{"id":"n2139982440","loc":[-85.6320287,41.9418585],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n2139982441":{"id":"n2139982441","loc":[-85.6318285,41.9416387],"version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{}},"n1475293258":{"id":"n1475293258","loc":[-85.6318289,41.9415077],"version":"2","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{}},"n2168544754":{"id":"n2168544754","loc":[-85.6312814,41.9431198],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544755":{"id":"n2168544755","loc":[-85.6314212,41.9430646],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544756":{"id":"n2168544756","loc":[-85.6313387,41.942949],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544757":{"id":"n2168544757","loc":[-85.6311989,41.9430041],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544758":{"id":"n2168544758","loc":[-85.6311024,41.9429313],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544759":{"id":"n2168544759","loc":[-85.6310087,41.9428087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544760":{"id":"n2168544760","loc":[-85.6313831,41.9426504],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544761":{"id":"n2168544761","loc":[-85.6314768,41.9427729],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544762":{"id":"n2168544762","loc":[-85.6306376,41.942809],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544763":{"id":"n2168544763","loc":[-85.6307378,41.9429427],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544764":{"id":"n2168544764","loc":[-85.630841,41.9428998],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544765":{"id":"n2168544765","loc":[-85.6307408,41.9427662],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544766":{"id":"n2168544766","loc":[-85.6305404,41.9426029],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544767":{"id":"n2168544767","loc":[-85.6304976,41.9426194],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544768":{"id":"n2168544768","loc":[-85.6305673,41.9427184],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544769":{"id":"n2168544769","loc":[-85.6306164,41.9426984],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544770":{"id":"n2168544770","loc":[-85.6306418,41.9427302],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544771":{"id":"n2168544771","loc":[-85.6306861,41.9427137],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544772":{"id":"n2168544772","loc":[-85.6307146,41.9427537],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544773":{"id":"n2168544773","loc":[-85.6308999,41.9426807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544774":{"id":"n2168544774","loc":[-85.6308429,41.9426053],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544775":{"id":"n2168544775","loc":[-85.6308999,41.9425806],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544776":{"id":"n2168544776","loc":[-85.6308318,41.9424875],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544777":{"id":"n2168544777","loc":[-85.6307732,41.9425087],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544778":{"id":"n2168544778","loc":[-85.6307178,41.9424357],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2168544779":{"id":"n2168544779","loc":[-85.630485,41.942524],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:02Z","tags":{}},"n2189099387":{"id":"n2189099387","loc":[-85.631203,41.9393371],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099404":{"id":"n2189099404","loc":[-85.6301963,41.9391363],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099405":{"id":"n2189099405","loc":[-85.6304447,41.9391352],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099406":{"id":"n2189099406","loc":[-85.6304463,41.9393391],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099407":{"id":"n2189099407","loc":[-85.6308435,41.9393373],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099408":{"id":"n2189099408","loc":[-85.6308418,41.9391251],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099409":{"id":"n2189099409","loc":[-85.6310929,41.939124],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099410":{"id":"n2189099410","loc":[-85.6310946,41.9393376],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189112720":{"id":"n2189112720","loc":[-85.6314677,41.9412327],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112721":{"id":"n2189112721","loc":[-85.6313337,41.9411397],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112722":{"id":"n2189112722","loc":[-85.6320521,41.9405678],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112723":{"id":"n2189112723","loc":[-85.6321899,41.9406633],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112724":{"id":"n2189112724","loc":[-85.6313229,41.9408344],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112725":{"id":"n2189112725","loc":[-85.6311223,41.9410018],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112726":{"id":"n2189112726","loc":[-85.6313205,41.9411333],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112727":{"id":"n2189112727","loc":[-85.6315211,41.9409659],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112728":{"id":"n2189112728","loc":[-85.6311035,41.9402529],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112729":{"id":"n2189112729","loc":[-85.631226,41.9402107],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112730":{"id":"n2189112730","loc":[-85.6315966,41.9408051],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112731":{"id":"n2189112731","loc":[-85.6314741,41.9408473],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112732":{"id":"n2189112732","loc":[-85.6318114,41.940534],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112733":{"id":"n2189112733","loc":[-85.631588,41.94061],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112734":{"id":"n2189112734","loc":[-85.6314379,41.940366],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112735":{"id":"n2189112735","loc":[-85.6316613,41.94029],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112736":{"id":"n2189112736","loc":[-85.6306214,41.9400415],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112737":{"id":"n2189112737","loc":[-85.6304362,41.9397728],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112738":{"id":"n2189112738","loc":[-85.6305899,41.9397142],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112739":{"id":"n2189112739","loc":[-85.6307751,41.9399828],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112740":{"id":"n2189112740","loc":[-85.6304695,41.9401673],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112741":{"id":"n2189112741","loc":[-85.6301298,41.9396855],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112742":{"id":"n2189112742","loc":[-85.6303016,41.9396184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112743":{"id":"n2189112743","loc":[-85.6306413,41.9401003],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112744":{"id":"n2189112744","loc":[-85.6309656,41.9406189],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112745":{"id":"n2189112745","loc":[-85.6308738,41.940493],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112746":{"id":"n2189112746","loc":[-85.6309333,41.940469],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112747":{"id":"n2189112747","loc":[-85.6307634,41.9402358],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112748":{"id":"n2189112748","loc":[-85.6308798,41.9401889],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112749":{"id":"n2189112749","loc":[-85.6311416,41.940548],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112750":{"id":"n2189112750","loc":[-85.6309577,41.9408708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112751":{"id":"n2189112751","loc":[-85.630874,41.9407777],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112752":{"id":"n2189112752","loc":[-85.6310622,41.9406841],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112753":{"id":"n2189112753","loc":[-85.6311459,41.9407772],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112754":{"id":"n2189112754","loc":[-85.6320308,41.9405747],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112755":{"id":"n2189112755","loc":[-85.6317769,41.9401857],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112756":{"id":"n2189112756","loc":[-85.6313462,41.9401785],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:14Z","tags":{}},"n2189112757":{"id":"n2189112757","loc":[-85.6313423,41.9401199],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112758":{"id":"n2189112758","loc":[-85.6318308,41.9401184],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112759":{"id":"n2189112759","loc":[-85.6321154,41.9405433],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112760":{"id":"n2189112760","loc":[-85.6310307,41.941683],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112761":{"id":"n2189112761","loc":[-85.6309808,41.9416078],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112762":{"id":"n2189112762","loc":[-85.6312094,41.9415156],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112763":{"id":"n2189112763","loc":[-85.6312636,41.9415865],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112764":{"id":"n2189112764","loc":[-85.6309384,41.94155],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112765":{"id":"n2189112765","loc":[-85.631156,41.9414619],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112766":{"id":"n2189112766","loc":[-85.6311968,41.94152],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112767":{"id":"n2189112767","loc":[-85.6308946,41.9414851],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112768":{"id":"n2189112768","loc":[-85.6308237,41.9413888],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112769":{"id":"n2189112769","loc":[-85.6309858,41.9413228],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112770":{"id":"n2189112770","loc":[-85.6310567,41.9414192],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112771":{"id":"n2189112771","loc":[-85.6307774,41.9413276],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112772":{"id":"n2189112772","loc":[-85.6309068,41.9412735],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112773":{"id":"n2189112773","loc":[-85.6309531,41.9413347],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112774":{"id":"n2189112774","loc":[-85.6307975,41.9412466],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112775":{"id":"n2189112775","loc":[-85.6307006,41.9411699],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112776":{"id":"n2189112776","loc":[-85.6308289,41.941113],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112777":{"id":"n2189112777","loc":[-85.6308997,41.9412012],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112778":{"id":"n2189112778","loc":[-85.630765,41.9412062],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112779":{"id":"n2189112779","loc":[-85.630739,41.9412177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112780":{"id":"n2189112780","loc":[-85.6305822,41.9410391],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112781":{"id":"n2189112781","loc":[-85.6304117,41.9408177],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112782":{"id":"n2189112782","loc":[-85.6305086,41.9407769],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112783":{"id":"n2189112783","loc":[-85.6306779,41.9410044],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112784":{"id":"n2189112784","loc":[-85.6307734,41.9421663],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112785":{"id":"n2189112785","loc":[-85.630708,41.9420741],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112786":{"id":"n2189112786","loc":[-85.630863,41.9420133],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112787":{"id":"n2189112787","loc":[-85.6309285,41.9421055],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112788":{"id":"n2189112788","loc":[-85.6307014,41.9420263],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112789":{"id":"n2189112789","loc":[-85.6306648,41.941971],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112790":{"id":"n2189112790","loc":[-85.6307927,41.9419178],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112791":{"id":"n2189112791","loc":[-85.6308366,41.9419696],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112792":{"id":"n2189112792","loc":[-85.6307574,41.9418708],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112793":{"id":"n2189112793","loc":[-85.6306288,41.9419231],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112794":{"id":"n2189112794","loc":[-85.6306943,41.9417835],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112795":{"id":"n2189112795","loc":[-85.6305344,41.9418474],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189112796":{"id":"n2189112796","loc":[-85.6305981,41.9419355],"version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:15Z","tags":{}},"n2189123410":{"id":"n2189123410","loc":[-85.6315476,41.9393801],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123412":{"id":"n2189123412","loc":[-85.6315247,41.9399188],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123415":{"id":"n2189123415","loc":[-85.6316484,41.9400433],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n185945138":{"id":"n185945138","loc":[-85.627073,41.93319],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:24Z","tags":{}},"n185945142":{"id":"n185945142","loc":[-85.6296891,41.9331674],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185945401":{"id":"n185945401","loc":[-85.6269,41.930199],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:52:30Z","tags":{}},"n185945405":{"id":"n185945405","loc":[-85.6296598,41.9301676],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185956891":{"id":"n185956891","loc":[-85.6251617,41.9255049],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:00Z","tags":{}},"n185959979":{"id":"n185959979","loc":[-85.626333,41.928347],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:03Z","tags":{}},"n185959983":{"id":"n185959983","loc":[-85.6296419,41.9283288],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961192":{"id":"n185961192","loc":[-85.627053,41.9352031],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185961200":{"id":"n185961200","loc":[-85.6297088,41.9351902],"version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185963655":{"id":"n185963655","loc":[-85.6296112,41.9273948],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:00Z","tags":{}},"n185963665":{"id":"n185963665","loc":[-85.626047,41.92737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:01Z","tags":{}},"n185963688":{"id":"n185963688","loc":[-85.6296503,41.9292199],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963689":{"id":"n185963689","loc":[-85.6296694,41.931157],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963690":{"id":"n185963690","loc":[-85.6296791,41.9321485],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185963691":{"id":"n185963691","loc":[-85.6296991,41.9341973],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185967638":{"id":"n185967638","loc":[-85.627089,41.9361884],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185972917":{"id":"n185972917","loc":[-85.6293759,41.9388605],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185972919":{"id":"n185972919","loc":[-85.6290337,41.9380234],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:01Z","tags":{}},"n185972921":{"id":"n185972921","loc":[-85.628424,41.936212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185972923":{"id":"n185972923","loc":[-85.628367,41.936029],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:40Z","tags":{}},"n185974511":{"id":"n185974511","loc":[-85.627064,41.932169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:19Z","tags":{}},"n185977728":{"id":"n185977728","loc":[-85.625605,41.925842],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977729":{"id":"n185977729","loc":[-85.625685,41.926163],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977731":{"id":"n185977731","loc":[-85.6257845,41.9264872],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977733":{"id":"n185977733","loc":[-85.62663,41.929251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977734":{"id":"n185977734","loc":[-85.627008,41.930642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977736":{"id":"n185977736","loc":[-85.627029,41.930775],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977738":{"id":"n185977738","loc":[-85.627041,41.930946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:03Z","tags":{}},"n185977739":{"id":"n185977739","loc":[-85.6270379,41.9311746],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977742":{"id":"n185977742","loc":[-85.627055,41.934206],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977744":{"id":"n185977744","loc":[-85.627084,41.936804],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977746":{"id":"n185977746","loc":[-85.627104,41.936914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977748":{"id":"n185977748","loc":[-85.627156,41.937026],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977750":{"id":"n185977750","loc":[-85.6272406,41.9371672],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:59Z","tags":{}},"n185977752":{"id":"n185977752","loc":[-85.627317,41.93723],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977753":{"id":"n185977753","loc":[-85.627422,41.937312],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977755":{"id":"n185977755","loc":[-85.627754,41.937504],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977757":{"id":"n185977757","loc":[-85.627883,41.937623],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n185977761":{"id":"n185977761","loc":[-85.627984,41.93773],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:04Z","tags":{}},"n1475283996":{"id":"n1475283996","loc":[-85.6270514,41.9317122],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284004":{"id":"n1475284004","loc":[-85.6278177,41.9342117],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{"railway":"level_crossing"}},"n1475284014":{"id":"n1475284014","loc":[-85.6251877,41.9255913],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284017":{"id":"n1475284017","loc":[-85.6274992,41.9331816],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{"railway":"level_crossing"}},"n1475284021":{"id":"n1475284021","loc":[-85.6297108,41.9353939],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{"railway":"level_crossing"}},"n1475284027":{"id":"n1475284027","loc":[-85.62811,41.935198],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475284035":{"id":"n1475284035","loc":[-85.626888,41.9311757],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:03Z","tags":{"railway":"level_crossing"}},"n1475293245":{"id":"n1475293245","loc":[-85.6286047,41.9367881],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1875654302":{"id":"n1875654302","loc":[-85.6296367,41.927491],"version":"1","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:43Z","tags":{}},"n2189099388":{"id":"n2189099388","loc":[-85.6312007,41.9389988],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099389":{"id":"n2189099389","loc":[-85.6311003,41.9389992],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099390":{"id":"n2189099390","loc":[-85.6310988,41.9387847],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099391":{"id":"n2189099391","loc":[-85.6312165,41.9387843],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099392":{"id":"n2189099392","loc":[-85.6312152,41.9385857],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099393":{"id":"n2189099393","loc":[-85.6310877,41.9385862],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099394":{"id":"n2189099394","loc":[-85.6310858,41.9383161],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099395":{"id":"n2189099395","loc":[-85.6302002,41.9383196],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099396":{"id":"n2189099396","loc":[-85.6302011,41.9384472],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099397":{"id":"n2189099397","loc":[-85.6301018,41.9384476],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099398":{"id":"n2189099398","loc":[-85.6301025,41.9385419],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099399":{"id":"n2189099399","loc":[-85.6299275,41.9385427],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099400":{"id":"n2189099400","loc":[-85.62993,41.9388653],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099401":{"id":"n2189099401","loc":[-85.630107,41.9388645],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099402":{"id":"n2189099402","loc":[-85.6301079,41.9389908],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189099403":{"id":"n2189099403","loc":[-85.6301951,41.9389904],"version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:04Z","tags":{}},"n2189123382":{"id":"n2189123382","loc":[-85.6336279,41.9354365],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123384":{"id":"n2189123384","loc":[-85.6328492,41.9355177],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123387":{"id":"n2189123387","loc":[-85.6323762,41.9357396],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123388":{"id":"n2189123388","loc":[-85.6315174,41.9358966],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123389":{"id":"n2189123389","loc":[-85.6304331,41.936124],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123390":{"id":"n2189123390","loc":[-85.6302075,41.9364271],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123391":{"id":"n2189123391","loc":[-85.6303458,41.9367953],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123392":{"id":"n2189123392","loc":[-85.6299601,41.9369739],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123393":{"id":"n2189123393","loc":[-85.6299164,41.9374882],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123394":{"id":"n2189123394","loc":[-85.6299455,41.9378022],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123395":{"id":"n2189123395","loc":[-85.6299771,41.9379053],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123396":{"id":"n2189123396","loc":[-85.6301597,41.9379091],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123397":{"id":"n2189123397","loc":[-85.6308042,41.9377913],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123398":{"id":"n2189123398","loc":[-85.6316885,41.9378082],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123399":{"id":"n2189123399","loc":[-85.6316848,41.9380079],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123400":{"id":"n2189123400","loc":[-85.6318449,41.9381161],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123401":{"id":"n2189123401","loc":[-85.6320705,41.9381811],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123402":{"id":"n2189123402","loc":[-85.6321433,41.9383706],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123404":{"id":"n2189123404","loc":[-85.632056,41.9384355],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123406":{"id":"n2189123406","loc":[-85.6317867,41.9384572],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123409":{"id":"n2189123409","loc":[-85.6316572,41.9387281],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:21Z","tags":{}},"n2189123417":{"id":"n2189123417","loc":[-85.6315946,41.93775],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"n2189123419":{"id":"n2189123419","loc":[-85.6302641,41.9378393],"version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{}},"w208640158":{"id":"w208640158","version":"1","changeset":"15277145","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:41:22Z","tags":{"area":"yes","natural":"wetland"},"nodes":["n2189123379","n2189123382","n2189123384","n2189123387","n2189123388","n2189123389","n2189123390","n2189123391","n2189123392","n2189123393","n2189123394","n2189123395","n2189123396","n2189123419","n2189123397","n2189123417","n2189123398","n2189123399","n2189123400","n2189123401","n2189123402","n2189123404","n2189123406","n2189123409","n2189123410","n2189123412","n2189123415","n1819805722","n1819805861","n1819805887","n1819805760","n1819805641","n1819805632","n2189123379"]},"w134150787":{"id":"w134150787","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"name":"Conrail Railroad","railway":"rail","tiger:cfcc":"B11","tiger:county":"St. Joseph, MI","tiger:name_base":"Conrail Railroad","tiger:reviewed":"no"},"nodes":["n185972905","n185972907","n1475293223","n185972911","n1475293241","n1475293246","n185972915","n185972917","n185972919","n1475293245","n185972921","n185972923","n1475284027","n1475284004","n1475284017","n1475283996","n1475284035","n1475284014","n185956891"]},"w208639443":{"id":"w208639443","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112720","n2189112721","n2189112722","n2189112723","n2189112720"]},"w17966462":{"id":"w17966462","version":"9","changeset":"15421127","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-19T15:12:00Z","tags":{"highway":"secondary","name":"South Main Street","old_ref":"US 131","ref":"M 86","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Main","tiger:name_base_1":"State Highway 86","tiger:name_direction_prefix":"S","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185977728","n185977729","n185977731","n185963665","n185959979","n185977733","n185945401","n185977734","n185977736","n185977738","n185977739","n1475283996","n185974511","n185945138","n185977742","n185961192","n185967638","n185977744","n185977746","n185977748","n185977750","n185977752","n185977753","n185977754","n185977755","n185977757","n185977761","n185958030","n1475293263","n185963698","n185952745","n185947850","n185977762"]},"w203985741":{"id":"w203985741","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:27Z","tags":{"area":"yes","leisure":"park","name":"Conservation Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n2139982404","n2139982405","n2139982399","n2139982400","n1819805770","n2139982402","n2139982403","n2139982401","n1819805780","n1819805834","n2139982406","n2139982404"]},"w17963676":{"id":"w17963676","version":"3","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312976","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n1475293258","n2139982428","n2139982427","n2139982426","n2139982425","n2139982424","n2139982423","n2139982422","n2139982430","n2139982421","n2139982420","n2139982429","n1475293231","n1475293258","n1475293251","n1475293223","n185952745"]},"w203985745":{"id":"w203985745","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"footway"},"nodes":["n2139982430","n2139982431","n2139982432","n2139982433","n2139982434","n2139982435","n2139982436","n2139982437","n2139982438","n2139982439","n2139982440","n2139982441","n1475293231"]},"w208639451":{"id":"w208639451","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112754","n2189112755","n2189112756","n2189112757","n2189112758","n2189112759","n2189112754"]},"w208639452":{"id":"w208639452","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112760","n2189112761","n2189112766","n2189112762","n2189112763","n2189112760"]},"w206805244":{"id":"w206805244","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544766","n2168544767","n2168544768","n2168544769","n2168544770","n2168544771","n2168544772","n2168544773","n2168544774","n2168544775","n2168544776","n2168544777","n2168544778","n2168544779","n2168544766"]},"w208639444":{"id":"w208639444","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112724","n2189112725","n2189112726","n2189112727","n2189112724"]},"w208639450":{"id":"w208639450","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112750","n2189112751","n2189112752","n2189112753","n2189112750"]},"w208639448":{"id":"w208639448","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112740","n2189112741","n2189112742","n2189112743","n2189112740"]},"w208637859":{"id":"w208637859","version":"1","changeset":"15276938","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:06:06Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189099387","n2189099388","n2189099389","n2189099390","n2189099391","n2189099392","n2189099393","n2189099394","n2189099395","n2189099396","n2189099397","n2189099398","n2189099399","n2189099400","n2189099401","n2189099402","n2189099403","n2189099404","n2189099405","n2189099406","n2189099407","n2189099408","n2189099409","n2189099410","n2189099387"]},"w208639453":{"id":"w208639453","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112764","n2189112765","n2189112766","n2189112761","n2189112764"]},"w208639456":{"id":"w208639456","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112774","n2189112778","n2189112779","n2189112775","n2189112776","n2189112777","n2189112774"]},"w208639445":{"id":"w208639445","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112728","n2189112729","n2189112730","n2189112731","n2189112728"]},"w17967776":{"id":"w17967776","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:17Z","tags":{"highway":"residential","name":"5th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"5th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312495","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958032","n185988963"]},"w208639461":{"id":"w208639461","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112794","n2189112795","n2189112796","n2189112793","n2189112792"]},"w206805241":{"id":"w206805241","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544754","n2168544755","n2168544756","n2168544757","n2168544754"]},"w208639449":{"id":"w208639449","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112744","n2189112745","n2189112746","n2189112747","n2189112748","n2189112749","n2189112744"]},"w208639455":{"id":"w208639455","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112771","n2189112772","n2189112773","n2189112768","n2189112771"]},"w208639457":{"id":"w208639457","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112780","n2189112781","n2189112782","n2189112783","n2189112780"]},"w208639446":{"id":"w208639446","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112732","n2189112733","n2189112734","n2189112735","n2189112732"]},"w208639454":{"id":"w208639454","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112767","n2189112768","n2189112773","n2189112769","n2189112770","n2189112767"]},"w203985743":{"id":"w203985743","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2139982411","n2139982412","n2139982413","n2139982414","n2139982415","n2139982416","n2139982417","n2139982419","n2139982418","n2139982411"]},"w17965023":{"id":"w17965023","version":"4","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:10Z","tags":{"highway":"residential","name":"4th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"4th","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313205","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185963655","n1875654302","n185959983","n185963688","n185945405","n185963689","n185963690","n185945142","n185963691","n185961200","n1475284021","n1475293246","n1875654132","n1475293263"]},"w206805242":{"id":"w206805242","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544758","n2168544759","n2168544760","n2168544761","n2168544758"]},"w208639460":{"id":"w208639460","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112792","n2189112793","n2189112789","n2189112790","n2189112792"]},"w208639447":{"id":"w208639447","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:17Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112736","n2189112737","n2189112738","n2189112739","n2189112736"]},"w208639458":{"id":"w208639458","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112784","n2189112785","n2189112786","n2189112787","n2189112784"]},"w203985744":{"id":"w203985744","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"highway":"service"},"nodes":["n2139982425","n2139982400"]},"w208639459":{"id":"w208639459","version":"1","changeset":"15277056","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T23:26:18Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189112788","n2189112789","n2189112790","n2189112791","n2189112788"]},"w203985742":{"id":"w203985742","version":"1","changeset":"14894784","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:53:28Z","tags":{"amenity":"shelter","area":"yes","shelter_type":"picnic_shelter"},"nodes":["n2139982407","n2139982408","n2139982409","n2139982410","n2139982407"]},"w206805243":{"id":"w206805243","version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:03Z","tags":{"area":"yes","building":"yes"},"nodes":["n2168544762","n2168544763","n2168544764","n2168544765","n2168544762"]},"n185959081":{"id":"n185959081","loc":[-85.628469,41.948674],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:41Z","tags":{}},"n185967427":{"id":"n185967427","loc":[-85.632054,41.951174],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967424":{"id":"n185967424","loc":[-85.6320391,41.9499109],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185968101":{"id":"n185968101","loc":[-85.6308395,41.9511969],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185960792":{"id":"n185960792","loc":[-85.632074,41.953707],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185961389":{"id":"n185961389","loc":[-85.630935,41.959037],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961391":{"id":"n185961391","loc":[-85.632169,41.959025],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185965395":{"id":"n185965395","loc":[-85.63216,41.959859],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"n185966953":{"id":"n185966953","loc":[-85.630894,41.957428],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185966955":{"id":"n185966955","loc":[-85.632122,41.957427],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185967430":{"id":"n185967430","loc":[-85.632077,41.952453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967432":{"id":"n185967432","loc":[-85.632095,41.954685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967434":{"id":"n185967434","loc":[-85.632121,41.955914],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967436":{"id":"n185967436","loc":[-85.632128,41.9583],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967438":{"id":"n185967438","loc":[-85.632187,41.960681],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185967440":{"id":"n185967440","loc":[-85.632182,41.961493],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:04Z","tags":{}},"n185968102":{"id":"n185968102","loc":[-85.630855,41.952452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968104":{"id":"n185968104","loc":[-85.630887,41.953714],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968106":{"id":"n185968106","loc":[-85.630883,41.954692],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968108":{"id":"n185968108","loc":[-85.630904,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968110":{"id":"n185968110","loc":[-85.630904,41.958058],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968112":{"id":"n185968112","loc":[-85.630952,41.960667],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968114":{"id":"n185968114","loc":[-85.630972,41.961495],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185968116":{"id":"n185968116","loc":[-85.630962,41.961967],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:22Z","tags":{}},"n185978969":{"id":"n185978969","loc":[-85.633214,41.948618],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:39Z","tags":{}},"n185985812":{"id":"n185985812","loc":[-85.633274,41.951159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:39Z","tags":{}},"n185986155":{"id":"n185986155","loc":[-85.633258,41.949893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n2208608826":{"id":"n2208608826","loc":[-85.6339222,41.9486225],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"w17964531":{"id":"w17964531","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:22Z","tags":{"highway":"residential","name":"Willow Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Willow","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313189","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185959079","n185959081"]},"w17967386":{"id":"w17967386","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982195","n185968101","n185967427","n185985812","n185974583"]},"w17965502":{"id":"w17965502","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Elm Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Elm","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185968100","n185968101","n185968102","n185968104","n185968106","n185968108","n185966953","n185968110","n185961389","n185968112","n185968114","n185968116"]},"w17967844":{"id":"w17967844","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"East Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185982193","n185967424","n185986155","n185978390"]},"w17966581":{"id":"w17966581","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978967","n185978969","n2208608826","n185971578"]},"w17965402":{"id":"w17965402","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Walnut Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Walnut","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967422","n185967424","n185967427","n185967430","n185960792","n185967432","n185967434","n185966955","n185967436","n185961391","n185965395","n185967438","n185967440"]},"n2199093506":{"id":"n2199093506","loc":[-85.6251879,41.9478322],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093505":{"id":"n2199093505","loc":[-85.6252076,41.9477749],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093504":{"id":"n2199093504","loc":[-85.6252289,41.9477602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093503":{"id":"n2199093503","loc":[-85.625201,41.9477492],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093502":{"id":"n2199093502","loc":[-85.6251682,41.9477066],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093501":{"id":"n2199093501","loc":[-85.6251715,41.947609],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093500":{"id":"n2199093500","loc":[-85.6252125,41.9475639],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093499":{"id":"n2199093499","loc":[-85.6252896,41.9475602],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093498":{"id":"n2199093498","loc":[-85.6253027,41.9475334],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093497":{"id":"n2199093497","loc":[-85.6253437,41.9474822],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093496":{"id":"n2199093496","loc":[-85.6254421,41.9474675],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093495":{"id":"n2199093495","loc":[-85.6256503,41.9474944],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093494":{"id":"n2199093494","loc":[-85.6257257,41.9476127],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093493":{"id":"n2199093493","loc":[-85.6257028,41.9477285],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093492":{"id":"n2199093492","loc":[-85.6255339,41.9478102],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093491":{"id":"n2199093491","loc":[-85.6253912,41.9478224],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093490":{"id":"n2199093490","loc":[-85.6253043,41.947859],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093489":{"id":"n2199093489","loc":[-85.6252027,41.9478846],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093458":{"id":"n2199093458","loc":[-85.6246876,41.9486617],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093457":{"id":"n2199093457","loc":[-85.6243127,41.9486583],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093456":{"id":"n2199093456","loc":[-85.624306,41.9490569],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093455":{"id":"n2199093455","loc":[-85.624681,41.9490603],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093514":{"id":"n2199093514","loc":[-85.6236228,41.9496059],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093513":{"id":"n2199093513","loc":[-85.6236231,41.9496997],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093512":{"id":"n2199093512","loc":[-85.623357,41.9497002],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093511":{"id":"n2199093511","loc":[-85.6233567,41.9496136],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093508":{"id":"n2199093508","loc":[-85.6239735,41.9494287],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093507":{"id":"n2199093507","loc":[-85.6239741,41.9496052],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093488":{"id":"n2199093488","loc":[-85.624497,41.9512286],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093487":{"id":"n2199093487","loc":[-85.6244966,41.9511259],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093486":{"id":"n2199093486","loc":[-85.6243151,41.9511263],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093485":{"id":"n2199093485","loc":[-85.6243154,41.951229],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093484":{"id":"n2199093484","loc":[-85.6241205,41.9508665],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093483":{"id":"n2199093483","loc":[-85.624115,41.9505249],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093482":{"id":"n2199093482","loc":[-85.6243149,41.9505231],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093481":{"id":"n2199093481","loc":[-85.6243203,41.9508648],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093480":{"id":"n2199093480","loc":[-85.624393,41.9508668],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093479":{"id":"n2199093479","loc":[-85.6243904,41.9505956],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093478":{"id":"n2199093478","loc":[-85.6246727,41.950594],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093477":{"id":"n2199093477","loc":[-85.624675,41.9508203],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093476":{"id":"n2199093476","loc":[-85.6245097,41.9508212],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093475":{"id":"n2199093475","loc":[-85.6245101,41.9508662],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093474":{"id":"n2199093474","loc":[-85.6241008,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093473":{"id":"n2199093473","loc":[-85.6242442,41.9493459],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093472":{"id":"n2199093472","loc":[-85.6242442,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093471":{"id":"n2199093471","loc":[-85.6243397,41.9493681],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093470":{"id":"n2199093470","loc":[-85.6243417,41.9493511],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093469":{"id":"n2199093469","loc":[-85.6247251,41.9493485],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093468":{"id":"n2199093468","loc":[-85.6247548,41.9504949],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093467":{"id":"n2199093467","loc":[-85.6241214,41.9505017],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093466":{"id":"n2199093466","loc":[-85.6254398,41.950174],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093465":{"id":"n2199093465","loc":[-85.6254412,41.9499872],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093464":{"id":"n2199093464","loc":[-85.6255363,41.9499876],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093463":{"id":"n2199093463","loc":[-85.6255374,41.9498439],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093462":{"id":"n2199093462","loc":[-85.6255638,41.949844],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:44Z","tags":{}},"n2199093461":{"id":"n2199093461","loc":[-85.6255652,41.9496672],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093460":{"id":"n2199093460","loc":[-85.6251823,41.9496656],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093459":{"id":"n2199093459","loc":[-85.6251785,41.9501729],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:43Z","tags":{}},"n2199093510":{"id":"n2199093510","loc":[-85.6229922,41.9496143],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n2199093509":{"id":"n2199093509","loc":[-85.6229915,41.9494306],"version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{}},"n185948903":{"id":"n185948903","loc":[-85.616514,41.947449],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955120":{"id":"n185955120","loc":[-85.620103,41.951],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185955143":{"id":"n185955143","loc":[-85.619784,41.94746],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960124":{"id":"n185960124","loc":[-85.615238,41.947468],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:07Z","tags":{}},"n185961362":{"id":"n185961362","loc":[-85.617437,41.947451],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961364":{"id":"n185961364","loc":[-85.61861,41.947456],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185961367":{"id":"n185961367","loc":[-85.620088,41.947458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:38Z","tags":{}},"n185965105":{"id":"n185965105","loc":[-85.620087,41.94924],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:44Z","tags":{}},"n185970220":{"id":"n185970220","loc":[-85.62156,41.948333],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:04:17Z","tags":{}},"n185974697":{"id":"n185974697","loc":[-85.6201059,41.950132],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n2138420778":{"id":"n2138420778","loc":[-85.616948,41.9474499],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"w17967535":{"id":"w17967535","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:52:19Z","tags":{"highway":"residential","name":"10th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"10th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313652:15313654","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185955120","n185986812","n185983141"]},"w209716130":{"id":"w209716130","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093485","n2199093486","n2199093487","n2199093488","n2199093485"]},"w17964788":{"id":"w17964788","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:15Z","tags":{"highway":"residential","name":"6th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"6th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313681:15313682:15329115:15329116:15330465:15330466","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960124","n185948903","n2138420778","n185961362","n185961364","n185955143","n185961367","n185961369","n185961371"]},"w17965159":{"id":"w17965159","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:55Z","tags":{"highway":"residential","name":"8th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"8th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313660","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965105","n185965108","n185965110"]},"w209716125":{"id":"w209716125","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093459","n2199093460","n2199093461","n2199093462","n2199093463","n2199093464","n2199093465","n2199093466","n2199093459"]},"w17965699":{"id":"w17965699","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:39:03Z","tags":{"highway":"residential","name":"7th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"7th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313667:15314407","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185970220","n185970222","n185970224"]},"w209716132":{"id":"w209716132","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093507","n2199093508","n2199093509","n2199093510","n2199093511","n2199093512","n2199093513","n2199093514","n2199093507"]},"w17966129":{"id":"w17966129","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:42:41Z","tags":{"highway":"residential","name":"9th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"9th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313656","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974697","n185974699"]},"w209716127":{"id":"w209716127","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093475","n2199093476","n2199093477","n2199093478","n2199093479","n2199093480","n2199093475"]},"w209716131":{"id":"w209716131","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","natural":"water","water":"pond"},"nodes":["n2199093489","n2199093490","n2199093491","n2199093492","n2199093493","n2199093494","n2199093495","n2199093496","n2199093497","n2199093498","n2199093499","n2199093500","n2199093501","n2199093502","n2199093503","n2199093504","n2199093505","n2199093506","n2199093489"]},"w209716126":{"id":"w209716126","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093467","n2199093468","n2199093469","n2199093470","n2199093471","n2199093472","n2199093473","n2199093474","n2199093467"]},"w209716124":{"id":"w209716124","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:45Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093455","n2199093456","n2199093457","n2199093458","n2199093455"]},"w209716128":{"id":"w209716128","version":"1","changeset":"15347539","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T04:54:46Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199093481","n2199093482","n2199093483","n2199093484","n2199093481"]},"n185949872":{"id":"n185949872","loc":[-85.643009,41.949264],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949875":{"id":"n185949875","loc":[-85.642598,41.94929],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949877":{"id":"n185949877","loc":[-85.642127,41.949382],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185949881":{"id":"n185949881","loc":[-85.64169,41.949936],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:54:20Z","tags":{}},"n185988165":{"id":"n185988165","loc":[-85.642167,41.947657],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988167":{"id":"n185988167","loc":[-85.642347,41.947662],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185988169":{"id":"n185988169","loc":[-85.642621,41.947659],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:33Z","tags":{}},"n185965019":{"id":"n185965019","loc":[-85.6385084,41.951127],"version":"4","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293248":{"id":"n1475293248","loc":[-85.6386095,41.9512214],"version":"2","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:04Z","tags":{}},"n185962639":{"id":"n185962639","loc":[-85.649669,41.949161],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:30Z","tags":{}},"n185962810":{"id":"n185962810","loc":[-85.649907,41.949157],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:34Z","tags":{}},"n185964355":{"id":"n185964355","loc":[-85.637412,41.9511359],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185965021":{"id":"n185965021","loc":[-85.638661,41.952386],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965023":{"id":"n185965023","loc":[-85.638654,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965025":{"id":"n185965025","loc":[-85.638694,41.954649],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965027":{"id":"n185965027","loc":[-85.638724,41.955913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185971415":{"id":"n185971415","loc":[-85.644466,41.949246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971417":{"id":"n185971417","loc":[-85.647021,41.949193],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185971420":{"id":"n185971420","loc":[-85.648476,41.949169],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:02Z","tags":{}},"n185979975":{"id":"n185979975","loc":[-85.644429,41.947633],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:24Z","tags":{}},"n185988171":{"id":"n185988171","loc":[-85.645377,41.947622],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:34Z","tags":{}},"w17963211":{"id":"w17963211","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:23:06Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313193","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185949870","n185949872","n185949875","n185949877","n185949881"]},"w17965839":{"id":"w17965839","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:10Z","tags":{"highway":"residential","name":"Arnold St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Arnold","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327930:15324550:15312304:15324551","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185949870","n185971415","n185971417","n185971420","n185962639","n185962810"]},"w17967618":{"id":"w17967618","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:53:22Z","tags":{"highway":"residential","name":"Pierson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pierson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313265:15312333:15324553","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185967777","n185988165","n185988167","n185988169","n185985824","n185979975","n185988171"]},"w17965149":{"id":"w17965149","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:56Z","tags":{"highway":"residential","name":"Oak St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Oak","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331522","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185965019","n1475293248","n185965021","n185965023","n185965025","n185965027"]},"w17966118":{"id":"w17966118","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Armitage Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armitage","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185974583","n185974585","n185964355","n185965019"]},"n2208608800":{"id":"n2208608800","loc":[-85.6354294,41.9486201],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109806":{"id":"n2199109806","loc":[-85.6350474,41.9477884],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109804":{"id":"n2199109804","loc":[-85.6350476,41.9477962],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109802":{"id":"n2199109802","loc":[-85.635002,41.9477969],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109799":{"id":"n2199109799","loc":[-85.6350018,41.9477883],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109797":{"id":"n2199109797","loc":[-85.6349141,41.9477897],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109795":{"id":"n2199109795","loc":[-85.6349131,41.9477535],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109793":{"id":"n2199109793","loc":[-85.6349395,41.9477531],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109791":{"id":"n2199109791","loc":[-85.6349382,41.9477077],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109789":{"id":"n2199109789","loc":[-85.6351236,41.9477049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109787":{"id":"n2199109787","loc":[-85.6351259,41.9477872],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109785":{"id":"n2199109785","loc":[-85.634972,41.9475992],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109783":{"id":"n2199109783","loc":[-85.6349206,41.9475997],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109770":{"id":"n2199109770","loc":[-85.6348499,41.9475461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109768":{"id":"n2199109768","loc":[-85.6348499,41.9475084],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109765":{"id":"n2199109765","loc":[-85.6349241,41.9474569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109763":{"id":"n2199109763","loc":[-85.634967,41.9474564],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109762":{"id":"n2199109762","loc":[-85.6350405,41.9475121],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109761":{"id":"n2199109761","loc":[-85.6350405,41.9475419],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109753":{"id":"n2199109753","loc":[-85.6342443,41.9478391],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109751":{"id":"n2199109751","loc":[-85.6342427,41.9477927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109745":{"id":"n2199109745","loc":[-85.6342439,41.9476859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109743":{"id":"n2199109743","loc":[-85.6342429,41.9476575],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109741":{"id":"n2199109741","loc":[-85.6344615,41.9476533],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109739":{"id":"n2199109739","loc":[-85.6344678,41.9478348],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109737":{"id":"n2199109737","loc":[-85.634416,41.9480059],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109735":{"id":"n2199109735","loc":[-85.6344145,41.9478983],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109733":{"id":"n2199109733","loc":[-85.6342749,41.9478993],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109731":{"id":"n2199109731","loc":[-85.6342753,41.9479272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109729":{"id":"n2199109729","loc":[-85.6342498,41.9479274],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109727":{"id":"n2199109727","loc":[-85.6342505,41.9479762],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109725":{"id":"n2199109725","loc":[-85.6342743,41.947976],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109723":{"id":"n2199109723","loc":[-85.6342747,41.948007],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109721":{"id":"n2199109721","loc":[-85.6343415,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109719":{"id":"n2199109719","loc":[-85.6343391,41.9474973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109717":{"id":"n2199109717","loc":[-85.6343133,41.9474798],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109715":{"id":"n2199109715","loc":[-85.6342874,41.9474737],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109709":{"id":"n2199109709","loc":[-85.6349804,41.94815],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109707":{"id":"n2199109707","loc":[-85.6348915,41.9481505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109705":{"id":"n2199109705","loc":[-85.6348917,41.9481692],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109702":{"id":"n2199109702","loc":[-85.6348522,41.9481694],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109700":{"id":"n2199109700","loc":[-85.6348532,41.9482679],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109698":{"id":"n2199109698","loc":[-85.6348315,41.948268],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109696":{"id":"n2199109696","loc":[-85.6348318,41.9482955],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109694":{"id":"n2199109694","loc":[-85.6349653,41.9482946],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109692":{"id":"n2199109692","loc":[-85.6349656,41.9483211],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109690":{"id":"n2199109690","loc":[-85.634999,41.9483209],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109688":{"id":"n2199109688","loc":[-85.6349987,41.9482947],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109686":{"id":"n2199109686","loc":[-85.6351753,41.9482935],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109684":{"id":"n2199109684","loc":[-85.6351749,41.9482617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109682":{"id":"n2199109682","loc":[-85.6351588,41.9482618],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109680":{"id":"n2199109680","loc":[-85.6351575,41.9481518],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109678":{"id":"n2199109678","loc":[-85.6350671,41.9481524],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109676":{"id":"n2199109676","loc":[-85.6350649,41.9479659],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109674":{"id":"n2199109674","loc":[-85.6349785,41.9479665],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109671":{"id":"n2199109671","loc":[-85.6343069,41.9483263],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109669":{"id":"n2199109669","loc":[-85.6343052,41.9482981],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109658":{"id":"n2199109658","loc":[-85.6343314,41.9480549],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109656":{"id":"n2199109656","loc":[-85.6343305,41.9480461],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109654":{"id":"n2199109654","loc":[-85.634435,41.9480468],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109652":{"id":"n2199109652","loc":[-85.6344342,41.9483746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109650":{"id":"n2199109650","loc":[-85.6344629,41.9483727],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109648":{"id":"n2199109648","loc":[-85.6344637,41.9484561],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109645":{"id":"n2199109645","loc":[-85.63443,41.9484567],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109642":{"id":"n2199109642","loc":[-85.6344317,41.948505],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n185964352":{"id":"n185964352","loc":[-85.6373958,41.9489943],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185964351":{"id":"n185964351","loc":[-85.637113,41.9486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n2208608825":{"id":"n2208608825","loc":[-85.6354483,41.9494241],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608823":{"id":"n2208608823","loc":[-85.6360418,41.949416],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608821":{"id":"n2208608821","loc":[-85.6360458,41.9495802],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2208608811":{"id":"n2208608811","loc":[-85.6357458,41.9495843],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608808":{"id":"n2208608808","loc":[-85.6357508,41.9497835],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608806":{"id":"n2208608806","loc":[-85.6354573,41.9497875],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2208608795":{"id":"n2208608795","loc":[-85.6354595,41.9498778],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:39Z","tags":{}},"n2199109638":{"id":"n2199109638","loc":[-85.6349605,41.949749],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109636":{"id":"n2199109636","loc":[-85.6349605,41.9497639],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109634":{"id":"n2199109634","loc":[-85.6349061,41.94971],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109632":{"id":"n2199109632","loc":[-85.6349048,41.9496569],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109630":{"id":"n2199109630","loc":[-85.6348835,41.9496571],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109628":{"id":"n2199109628","loc":[-85.6348829,41.9497103],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109626":{"id":"n2199109626","loc":[-85.635227,41.9497738],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109624":{"id":"n2199109624","loc":[-85.6352184,41.9497787],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109622":{"id":"n2199109622","loc":[-85.6351181,41.9497806],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109620":{"id":"n2199109620","loc":[-85.6351181,41.9497456],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109618":{"id":"n2199109618","loc":[-85.6348842,41.9497651],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109616":{"id":"n2199109616","loc":[-85.6348827,41.9496238],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109615":{"id":"n2199109615","loc":[-85.6351268,41.9496206],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109614":{"id":"n2199109614","loc":[-85.6351261,41.9495891],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109613":{"id":"n2199109613","loc":[-85.6351957,41.9495881],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109612":{"id":"n2199109612","loc":[-85.6351924,41.9494515],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109611":{"id":"n2199109611","loc":[-85.6353997,41.9494488],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2199109610":{"id":"n2199109610","loc":[-85.6354074,41.9497715],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n2189015681":{"id":"n2189015681","loc":[-85.6344229,41.9509639],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015677":{"id":"n2189015677","loc":[-85.634424,41.9507396],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493843":{"id":"n2138493843","loc":[-85.6343935,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493840":{"id":"n2138493840","loc":[-85.634398,41.9506264],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n354002838":{"id":"n354002838","loc":[-85.6345197,41.9510631],"version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{}},"n2114807590":{"id":"n2114807590","loc":[-85.634511,41.9499767],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185964353":{"id":"n185964353","loc":[-85.6374092,41.9498755],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1819849180":{"id":"n1819849180","loc":[-85.6348236,41.94996],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:59Z","tags":{}},"n1819849115":{"id":"n1819849115","loc":[-85.6354372,41.9499538],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:57Z","tags":{}},"n1819848921":{"id":"n1819848921","loc":[-85.6348439,41.951064],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848885":{"id":"n1819848885","loc":[-85.6354575,41.9510578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n185984281":{"id":"n185984281","loc":[-85.638075,41.949872],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n2208608827":{"id":"n2208608827","loc":[-85.6339169,41.9473191],"version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{}},"n2199109749":{"id":"n2199109749","loc":[-85.6342082,41.9477934],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109747":{"id":"n2199109747","loc":[-85.6342045,41.9476867],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109713":{"id":"n2199109713","loc":[-85.6342404,41.9474746],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109711":{"id":"n2199109711","loc":[-85.6342404,41.9476355],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109673":{"id":"n2199109673","loc":[-85.6340886,41.9483282],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109667":{"id":"n2199109667","loc":[-85.6342403,41.9482988],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109665":{"id":"n2199109665","loc":[-85.6342386,41.9482116],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109662":{"id":"n2199109662","loc":[-85.6340861,41.9482135],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109660":{"id":"n2199109660","loc":[-85.6340802,41.9480562],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:50Z","tags":{}},"n2199109640":{"id":"n2199109640","loc":[-85.6340928,41.9485063],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:49Z","tags":{}},"n354031366":{"id":"n354031366","loc":[-85.6341667,41.9477778],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:25Z","tags":{"amenity":"place_of_worship","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417877","gnis:state_id":"26","name":"Faith Tabernacle Church","religion":"christian"}},"n2189015686":{"id":"n2189015686","loc":[-85.6337798,41.95099],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015684":{"id":"n2189015684","loc":[-85.6337794,41.9509674],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015673":{"id":"n2189015673","loc":[-85.6337501,41.9507457],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015669":{"id":"n2189015669","loc":[-85.6337501,41.9506974],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015665":{"id":"n2189015665","loc":[-85.6339034,41.9506959],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015662":{"id":"n2189015662","loc":[-85.6339015,41.950436],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015658":{"id":"n2189015658","loc":[-85.6334916,41.9504376],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015655":{"id":"n2189015655","loc":[-85.6334939,41.9507558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015650":{"id":"n2189015650","loc":[-85.6334543,41.950756],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015649":{"id":"n2189015649","loc":[-85.633456,41.9509915],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2138493842":{"id":"n2138493842","loc":[-85.6339937,41.9502836],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2138493841":{"id":"n2138493841","loc":[-85.6339983,41.9506281],"version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:31Z","tags":{}},"n2114807579":{"id":"n2114807579","loc":[-85.6333644,41.9510682],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807573":{"id":"n2114807573","loc":[-85.6333557,41.9499819],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n354031330":{"id":"n354031330","loc":[-85.6341667,41.9497222],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:24Z","tags":{"amenity":"place_of_worship","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417879","gnis:state_id":"26","name":"Trinity Episcopal Church","religion":"christian"}},"n185960794":{"id":"n185960794","loc":[-85.633307,41.9537],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:24Z","tags":{}},"n185964357":{"id":"n185964357","loc":[-85.637432,41.952399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964358":{"id":"n185964358","loc":[-85.637452,41.953665],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964359":{"id":"n185964359","loc":[-85.63746,41.954658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964360":{"id":"n185964360","loc":[-85.637473,41.95592],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964361":{"id":"n185964361","loc":[-85.637468,41.956906],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185964362":{"id":"n185964362","loc":[-85.637483,41.958313],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:21Z","tags":{}},"n185966957":{"id":"n185966957","loc":[-85.633361,41.957422],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185975351":{"id":"n185975351","loc":[-85.63334,41.9559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:58Z","tags":{}},"n185978784":{"id":"n185978784","loc":[-85.633311,41.954679],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185986157":{"id":"n185986157","loc":[-85.633287,41.952426],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:48Z","tags":{}},"n185986158":{"id":"n185986158","loc":[-85.6333607,41.9582301],"version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"turning_circle"}},"w17965182":{"id":"w17965182","version":"2","changeset":"15277317","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-07T00:30:17Z","tags":{"highway":"residential","name":"W Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185965289","n2189153241","n185965291"]},"w208627205":{"id":"w208627205","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015649","n2189015650","n2189015655","n2189015658","n2189015662","n2189015665","n2189015669","n2189015673","n2189015677","n2189015681","n2189015684","n2189015686","n2189015649"]},"w209717042":{"id":"w209717042","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"presbyterian","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417878","gnis:state_id":"26","name":"First Presbyterian Church","religion":"christian"},"nodes":["n2199109610","n2199109611","n2199109612","n2199109613","n2199109614","n2199109615","n2199109616","n2199109630","n2199109632","n2199109634","n2199109628","n2199109618","n2199109636","n2199109638","n2199109620","n2199109622","n2199109624","n2199109626","n2199109610"]},"w209717045":{"id":"w209717045","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109711","n2199109713","n2199109715","n2199109717","n2199109719","n2199109721","n2199109711"]},"w209717047":{"id":"w209717047","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109739","n2199109741","n2199109743","n2199109745","n2199109747","n2199109749","n2199109751","n2199109753","n2199109739"]},"w209717044":{"id":"w209717044","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109674","n2199109676","n2199109678","n2199109680","n2199109682","n2199109684","n2199109686","n2199109688","n2199109690","n2199109692","n2199109694","n2199109696","n2199109698","n2199109700","n2199109702","n2199109705","n2199109707","n2199109709","n2199109674"]},"w210822776":{"id":"w210822776","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley","surface":"unpaved"},"nodes":["n2208608795","n2208608806","n2208608825","n2208608800","n2189153241"]},"w210822778":{"id":"w210822778","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"service","service":"alley"},"nodes":["n2208608826","n2208608827"]},"w209717050":{"id":"w209717050","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109787","n2199109789","n2199109791","n2199109793","n2199109795","n2199109797","n2199109799","n2199109802","n2199109804","n2199109806","n2199109787"]},"w17965097":{"id":"w17965097","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"Maple Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Maple","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185964351","n185964352","n185964353","n185964355","n185964357","n185964358","n185964359","n185964360","n185964361","n185964362"]},"w17965856":{"id":"w17965856","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"W Kelsey St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kelsey","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185971578","n2208608800","n185971580","n185964351"]},"w17967444":{"id":"w17967444","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"East","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966937","n185978969","n185986155","n185985812","n185986157","n185960794","n185978784","n185975351","n185966957","n185986158"]},"w17967764":{"id":"w17967764","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:14Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312338","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185984017","n185964351"]},"w170848329":{"id":"w170848329","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2418164","gnis:state_id":"26","leisure":"park","name":"LaFayette Park","source":"Bing"},"nodes":["n1819849180","n1819849115","n1819848885","n1819848921","n1819849180"]},"w17967208":{"id":"w17967208","version":"4","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:24Z","tags":{"highway":"residential","name":"West Bennett Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bennett","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185978390","n2208608795","n185984020","n185964353","n185984281"]},"w17965349":{"id":"w17965349","version":"2","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"highway":"residential","name":"E Prutzman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Prutzman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185966937","n2208608827","n185965289"]},"w209717049":{"id":"w209717049","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109761","n2199109762","n2199109763","n2199109765","n2199109768","n2199109770","n2199109783","n2199109785","n2199109761"]},"w203841840":{"id":"w203841840","version":"1","changeset":"14879185","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:55:32Z","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493840","n2138493841","n2138493842","n2138493843","n2138493840"]},"w209717043":{"id":"w209717043","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"amenity":"place_of_worship","area":"yes","building":"church","denomination":"methodist","ele":"249","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417880","gnis:state_id":"26","name":"First United Methodist Church","religion":"christian"},"nodes":["n2199109640","n2199109642","n2199109645","n2199109648","n2199109650","n2199109652","n2199109654","n2199109656","n2199109658","n2199109660","n2199109662","n2199109665","n2199109667","n2199109669","n2199109671","n2199109673","n2199109640"]},"w201484341":{"id":"w201484341","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"amenity":"school","ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:edited":"02/22/2008","gnis:feature_id":"1624612","gnis:state_id":"26","name":"Hoppin School"},"nodes":["n354002838","n2114807579","n2114807573","n2114807590","n354002838"]},"w209717046":{"id":"w209717046","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109723","n2199109725","n2199109727","n2199109729","n2199109731","n2199109733","n2199109735","n2199109737","n2199109723"]},"w210822777":{"id":"w210822777","version":"1","changeset":"15411098","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-18T17:54:40Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2208608806","n2208608808","n2208608811","n2208608821","n2208608823","n2208608825","n2208608806"]},"n185954965":{"id":"n185954965","loc":[-85.6191189,41.9441922],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:57Z","tags":{}},"n185954968":{"id":"n185954968","loc":[-85.6194384,41.9442405],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954970":{"id":"n185954970","loc":[-85.6196543,41.9443252],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954972":{"id":"n185954972","loc":[-85.6197862,41.9444539],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n354002931":{"id":"n354002931","loc":[-85.6198991,41.9455269],"version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:01Z","tags":{}},"n354030853":{"id":"n354030853","loc":[-85.6219444,41.9455556],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:19Z","tags":{"amenity":"place_of_worship","ele":"246","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417869","gnis:state_id":"26","name":"Grant Chapel","religion":"christian"}},"n367815963":{"id":"n367815963","loc":[-85.6202778,41.9461111],"version":"1","changeset":"871579","user":"amillar","uid":"28145","visible":"true","timestamp":"2009-03-31T07:45:44Z","tags":{"addr:state":"MI","building":"yes","ele":"247","gnis:county_name":"St. Joseph","gnis:feature_id":"2418176","gnis:import_uuid":"57871b70-0100-4405-bb30-88b2e001a944","gnis:reviewed":"no","name":"George Washington Carver Community Center","source":"USGS Geonames"}},"n185947331":{"id":"n185947331","loc":[-85.618779,41.943269],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947333":{"id":"n185947333","loc":[-85.618795,41.943511],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947336":{"id":"n185947336","loc":[-85.618711,41.94413],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947338":{"id":"n185947338","loc":[-85.618704,41.944189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947339":{"id":"n185947339","loc":[-85.618597,41.944337],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947340":{"id":"n185947340","loc":[-85.618485,41.944528],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947343":{"id":"n185947343","loc":[-85.618442,41.944716],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947345":{"id":"n185947345","loc":[-85.618457,41.945107],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947347":{"id":"n185947347","loc":[-85.618296,41.945338],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947374":{"id":"n185947374","loc":[-85.616748,41.944453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947375":{"id":"n185947375","loc":[-85.616813,41.944646],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947376":{"id":"n185947376","loc":[-85.616859,41.945196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947377":{"id":"n185947377","loc":[-85.616941,41.945352],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:12Z","tags":{}},"n185947406":{"id":"n185947406","loc":[-85.618184,41.944227],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947409":{"id":"n185947409","loc":[-85.617911,41.943875],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947410":{"id":"n185947410","loc":[-85.617579,41.943682],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947411":{"id":"n185947411","loc":[-85.61713,41.943589],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947412":{"id":"n185947412","loc":[-85.616549,41.943559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947414":{"id":"n185947414","loc":[-85.616482,41.943556],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947464":{"id":"n185947464","loc":[-85.616526,41.943788],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947466":{"id":"n185947466","loc":[-85.616504,41.944002],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185948863":{"id":"n185948863","loc":[-85.619017,41.943391],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185948865":{"id":"n185948865","loc":[-85.619059,41.943368],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:45Z","tags":{}},"n185955022":{"id":"n185955022","loc":[-85.620088,41.945571],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955025":{"id":"n185955025","loc":[-85.620051,41.945505],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185955028":{"id":"n185955028","loc":[-85.62001,41.94541],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:37Z","tags":{}},"n185980371":{"id":"n185980371","loc":[-85.620982,41.944742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:37Z","tags":{}},"n185980398":{"id":"n185980398","loc":[-85.621305,41.944782],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980401":{"id":"n185980401","loc":[-85.621174,41.944819],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980403":{"id":"n185980403","loc":[-85.621029,41.944871],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980405":{"id":"n185980405","loc":[-85.620741,41.945011],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980407":{"id":"n185980407","loc":[-85.620616,41.945085],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980409":{"id":"n185980409","loc":[-85.620506,41.945172],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980411":{"id":"n185980411","loc":[-85.620394,41.945273],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:38Z","tags":{}},"n185980413":{"id":"n185980413","loc":[-85.620316,41.94536],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980415":{"id":"n185980415","loc":[-85.620257,41.945452],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185980417":{"id":"n185980417","loc":[-85.620212,41.945535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:39Z","tags":{}},"n185985910":{"id":"n185985910","loc":[-85.620101,41.945811],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:41Z","tags":{}},"n185985912":{"id":"n185985912","loc":[-85.620081,41.945937],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n1475283972":{"id":"n1475283972","loc":[-85.6198991,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:45Z","tags":{}},"n1475283982":{"id":"n1475283982","loc":[-85.6195022,41.9433463],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284007":{"id":"n1475284007","loc":[-85.6193037,41.9433383],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284040":{"id":"n1475284040","loc":[-85.6197329,41.9434121],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284044":{"id":"n1475284044","loc":[-85.6198756,41.9435363],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284050":{"id":"n1475284050","loc":[-85.6199689,41.9432106],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284053":{"id":"n1475284053","loc":[-85.6198943,41.9432921],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n185954974":{"id":"n185954974","loc":[-85.6198296,41.94473],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n185954977":{"id":"n185954977","loc":[-85.6200474,41.9447384],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:58Z","tags":{}},"n2196831365":{"id":"n2196831365","loc":[-85.6202259,41.9460883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831366":{"id":"n2196831366","loc":[-85.6202245,41.9458642],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831367":{"id":"n2196831367","loc":[-85.6205184,41.9458631],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831368":{"id":"n2196831368","loc":[-85.6205189,41.9459437],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831369":{"id":"n2196831369","loc":[-85.6203879,41.9459441],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831370":{"id":"n2196831370","loc":[-85.6203888,41.9460878],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831371":{"id":"n2196831371","loc":[-85.6184046,41.9465663],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831372":{"id":"n2196831372","loc":[-85.6191563,41.9465618],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831373":{"id":"n2196831373","loc":[-85.6191536,41.946319],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831374":{"id":"n2196831374","loc":[-85.6187356,41.9463216],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831375":{"id":"n2196831375","loc":[-85.6187334,41.9461197],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831376":{"id":"n2196831376","loc":[-85.6193167,41.9461162],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831377":{"id":"n2196831377","loc":[-85.6193156,41.9460229],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831378":{"id":"n2196831378","loc":[-85.619622,41.946021],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831379":{"id":"n2196831379","loc":[-85.6196237,41.9461712],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831380":{"id":"n2196831380","loc":[-85.6197702,41.9461703],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831381":{"id":"n2196831381","loc":[-85.6197685,41.9460202],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831382":{"id":"n2196831382","loc":[-85.6197323,41.9460204],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831383":{"id":"n2196831383","loc":[-85.6197305,41.9458563],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831384":{"id":"n2196831384","loc":[-85.6196165,41.945857],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831385":{"id":"n2196831385","loc":[-85.6196156,41.9457764],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831386":{"id":"n2196831386","loc":[-85.6194472,41.9457775],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831387":{"id":"n2196831387","loc":[-85.6194151,41.9457777],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831388":{"id":"n2196831388","loc":[-85.6183779,41.9457883],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831389":{"id":"n2196831389","loc":[-85.6183842,41.9461317],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831390":{"id":"n2196831390","loc":[-85.6185026,41.9461304],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831391":{"id":"n2196831391","loc":[-85.6185061,41.9463194],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831392":{"id":"n2196831392","loc":[-85.6184001,41.9463205],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831393":{"id":"n2196831393","loc":[-85.6182482,41.9464163],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831394":{"id":"n2196831394","loc":[-85.6182467,41.9463193],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831395":{"id":"n2196831395","loc":[-85.6180389,41.946321],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n2196831397":{"id":"n2196831397","loc":[-85.6180404,41.946418],"version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:40Z","tags":{}},"n185947303":{"id":"n185947303","loc":[-85.611074,41.943389],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947304":{"id":"n185947304","loc":[-85.611332,41.943267],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947305":{"id":"n185947305","loc":[-85.611635,41.943218],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947306":{"id":"n185947306","loc":[-85.612762,41.943311],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947308":{"id":"n185947308","loc":[-85.613027,41.943327],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947310":{"id":"n185947310","loc":[-85.615377,41.942996],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947312":{"id":"n185947312","loc":[-85.615701,41.943007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947314":{"id":"n185947314","loc":[-85.61604,41.943067],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947315":{"id":"n185947315","loc":[-85.61626,41.943083],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947316":{"id":"n185947316","loc":[-85.616507,41.943048],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947319":{"id":"n185947319","loc":[-85.616702,41.94299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:10Z","tags":{}},"n185947321":{"id":"n185947321","loc":[-85.617078,41.942918],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947322":{"id":"n185947322","loc":[-85.617366,41.942973],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947323":{"id":"n185947323","loc":[-85.617601,41.943033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947325":{"id":"n185947325","loc":[-85.617799,41.943027],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947327":{"id":"n185947327","loc":[-85.618264,41.942961],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947328":{"id":"n185947328","loc":[-85.618508,41.942972],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947329":{"id":"n185947329","loc":[-85.618707,41.943076],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947361":{"id":"n185947361","loc":[-85.615356,41.944922],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947363":{"id":"n185947363","loc":[-85.61536,41.944893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947365":{"id":"n185947365","loc":[-85.615406,41.944547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947367":{"id":"n185947367","loc":[-85.61548,41.944351],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947369":{"id":"n185947369","loc":[-85.615805,41.94419],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947371":{"id":"n185947371","loc":[-85.616166,41.944156],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947373":{"id":"n185947373","loc":[-85.616411,41.944197],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:11Z","tags":{}},"n185947416":{"id":"n185947416","loc":[-85.616335,41.94343],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947417":{"id":"n185947417","loc":[-85.616069,41.943293],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947419":{"id":"n185947419","loc":[-85.615803,41.943249],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947420":{"id":"n185947420","loc":[-85.615524,41.943342],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947421":{"id":"n185947421","loc":[-85.615311,41.94353],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947422":{"id":"n185947422","loc":[-85.614338,41.943558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947423":{"id":"n185947423","loc":[-85.61422,41.94369],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947425":{"id":"n185947425","loc":[-85.614221,41.944224],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947427":{"id":"n185947427","loc":[-85.614198,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947429":{"id":"n185947429","loc":[-85.614221,41.945439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:13Z","tags":{}},"n185947468":{"id":"n185947468","loc":[-85.615908,41.944756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947470":{"id":"n185947470","loc":[-85.615871,41.944888],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185947472":{"id":"n185947472","loc":[-85.615878,41.94507],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:14Z","tags":{}},"n185955153":{"id":"n185955153","loc":[-85.620087,41.947701],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:39Z","tags":{}},"n185960690":{"id":"n185960690","loc":[-85.620141,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978817":{"id":"n185978817","loc":[-85.617193,41.954706],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185985916":{"id":"n185985916","loc":[-85.620088,41.94758],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985918":{"id":"n185985918","loc":[-85.620133,41.951538],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985919":{"id":"n185985919","loc":[-85.62013,41.952104],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985920":{"id":"n185985920","loc":[-85.620104,41.952305],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985921":{"id":"n185985921","loc":[-85.620062,41.952499],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985922":{"id":"n185985922","loc":[-85.619993,41.952702],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985925":{"id":"n185985925","loc":[-85.619879,41.952986],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985927":{"id":"n185985927","loc":[-85.619689,41.95329],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985928":{"id":"n185985928","loc":[-85.619508,41.953521],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985929":{"id":"n185985929","loc":[-85.619286,41.953728],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985930":{"id":"n185985930","loc":[-85.618925,41.954007],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985931":{"id":"n185985931","loc":[-85.618638,41.954189],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985932":{"id":"n185985932","loc":[-85.61831,41.954358],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:42Z","tags":{}},"n185985934":{"id":"n185985934","loc":[-85.618015,41.954485],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n185985936":{"id":"n185985936","loc":[-85.617606,41.954611],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:12:43Z","tags":{}},"n1475283975":{"id":"n1475283975","loc":[-85.6150935,41.9434118],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283979":{"id":"n1475283979","loc":[-85.6193367,41.9430252],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283989":{"id":"n1475283989","loc":[-85.6104771,41.9455269],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283990":{"id":"n1475283990","loc":[-85.6104771,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283994":{"id":"n1475283994","loc":[-85.6198042,41.9429763],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475283998":{"id":"n1475283998","loc":[-85.6192101,41.9426716],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284000":{"id":"n1475284000","loc":[-85.6198622,41.942836],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284002":{"id":"n1475284002","loc":[-85.6163262,41.9427688],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:46Z","tags":{}},"n1475284006":{"id":"n1475284006","loc":[-85.6179527,41.9429168],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284029":{"id":"n1475284029","loc":[-85.6197195,41.9427278],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284038":{"id":"n1475284038","loc":[-85.6194405,41.9427837],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:47Z","tags":{}},"n1475284052":{"id":"n1475284052","loc":[-85.6153225,41.942841],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n1475284055":{"id":"n1475284055","loc":[-85.6129233,41.9437179],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:48Z","tags":{}},"n2139966627":{"id":"n2139966627","loc":[-85.61958,41.9427558],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"w17966773":{"id":"w17966773","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:43Z","tags":{"highway":"secondary","name":"E Michigan Ave","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313712","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185980372","n185980398","n185980401","n185980403","n185980405","n185980407","n185980409","n185980411","n185980413","n185980415","n185980417","n185955019"]},"w17964043":{"id":"w17964043","version":"3","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:19Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326065:15326068","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955019","n185955022","n185955025","n185955028","n185954977","n185971477","n1475284050","n1475284000","n1475284029","n2139966627","n1475284038"]},"w17962834":{"id":"w17962834","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313719:15313728:15331618","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947316","n185947414","n185947464","n185947466","n185947373","n185947468","n185947470","n185947472","n185947474"]},"w209470310":{"id":"w209470310","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831393","n2196831394","n2196831395","n2196831397","n2196831393"]},"w17963058":{"id":"w17963058","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:05Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326058:15326066:15326067","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947333","n185948863","n185948865","n1475284007","n1475283982","n1475284040","n1475284044"]},"w17962823":{"id":"w17962823","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313714:15313704:15313720:15313721","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947359","n185947361","n185947363","n185947365","n185947367","n185947369","n185947371","n185947373","n185947374","n185947375","n185947376","n185947377","n185947378"]},"w17962821":{"id":"w17962821","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:15Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313713:15313734:15313731:15313735:15313737:15313723","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947303","n185947304","n185947305","n185947306","n185947308","n185947310","n185947312","n185947314","n185947315","n185947316","n185947319","n185947321","n185947322","n185947323","n185947325","n185947327","n185947328","n185947329","n185947331","n185947333","n185947336","n185947338","n185947339","n185947340","n185947343","n185947345","n185947347","n185947349"]},"w134150798":{"id":"w134150798","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:45:52Z","tags":{"amenity":"grave_yard","ele":"249","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624862","gnis:state_id":"26","name":"Riverside Cemetery"},"nodes":["n354002931","n1475283972","n1475284053","n1475283994","n1475283979","n1475283998","n1475284006","n1475284002","n1475284052","n1475283975","n1475284055","n1475283990","n1475283989","n354002931"]},"w17964040":{"id":"w17964040","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:02Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326063:15326064","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947336","n185954965","n185954968","n185954970","n185954972","n185954974","n185954977"]},"w209470308":{"id":"w209470308","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831365","n2196831366","n2196831367","n2196831368","n2196831369","n2196831370","n2196831365"]},"w17962828":{"id":"w17962828","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:14Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313715:15313706:15328746:15313727:15313729","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185947340","n185947406","n185947409","n185947410","n185947411","n185947412","n185947414","n185947416","n185947417","n185947419","n185947420","n185947421","n185947422","n185947423","n185947425","n185947427","n185947429"]},"w209470309":{"id":"w209470309","version":"1","changeset":"15335510","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-12T03:10:41Z","tags":{"area":"yes","building":"yes"},"nodes":["n2196831371","n2196831372","n2196831373","n2196831374","n2196831375","n2196831376","n2196831377","n2196831378","n2196831379","n2196831380","n2196831381","n2196831382","n2196831383","n2196831384","n2196831385","n2196831386","n2196831387","n2196831388","n2196831389","n2196831390","n2196831391","n2196831392","n2196831371"]},"w17967415":{"id":"w17967415","version":"3","changeset":"2558583","user":"elliskev","uid":"163338","visible":"true","timestamp":"2009-09-21T16:12:41Z","tags":{"highway":"secondary","name":"Jefferson St","name_1":"State Highway 60","ref":"M 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Jefferson","tiger:name_base_1":"State Highway 60","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313637:15313662:15313657:15328403","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n185955019","n185985910","n185985912","n185985914","n185961367","n185985916","n185955153","n185965105","n185974697","n185955120","n185985918","n185960690","n185985919","n185985920","n185985921","n185985922","n185985925","n185985927","n185985928","n185985929","n185985930","n185985931","n185985932","n185985934","n185985936","n185978817"]},"w17966772":{"id":"w17966772","version":"4","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:46:07Z","tags":{"highway":"unclassified","name":"E Michigan Ave","name_1":"State Highway 60","tiger:cfcc":"A31","tiger:county":"St. Joseph, MI","tiger:name_base":"Michigan","tiger:name_base_1":"State Highway 60","tiger:name_direction_prefix":"E","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313710:15313711:15314052:15312385:15312378","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185954977","n185980371","n185980372"]},"n185958500":{"id":"n185958500","loc":[-85.621591,41.941075],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:27Z","tags":{}},"n185963110":{"id":"n185963110","loc":[-85.6204416,41.9408882],"version":"3","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{}},"n2139966628":{"id":"n2139966628","loc":[-85.6196431,41.9426467],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"leisure":"fishing"}},"n2139966630":{"id":"n2139966630","loc":[-85.6199354,41.9429616],"version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{}},"n2199127051":{"id":"n2199127051","loc":[-85.6170556,41.939696],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127052":{"id":"n2199127052","loc":[-85.6170536,41.9392909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127053":{"id":"n2199127053","loc":[-85.6172067,41.9392905],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127054":{"id":"n2199127054","loc":[-85.6172061,41.9391853],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127055":{"id":"n2199127055","loc":[-85.6171481,41.9391854],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127060":{"id":"n2199127060","loc":[-85.6167389,41.9392896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127061":{"id":"n2199127061","loc":[-85.6168728,41.9392892],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127062":{"id":"n2199127062","loc":[-85.6168747,41.9396965],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127071":{"id":"n2199127071","loc":[-85.620196,41.9399446],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127072":{"id":"n2199127072","loc":[-85.620193,41.9397316],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127073":{"id":"n2199127073","loc":[-85.6200381,41.9397328],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127074":{"id":"n2199127074","loc":[-85.6200412,41.9399458],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127075":{"id":"n2199127075","loc":[-85.6203606,41.9399939],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127076":{"id":"n2199127076","loc":[-85.6205527,41.9399922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127077":{"id":"n2199127077","loc":[-85.6205482,41.9397115],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127078":{"id":"n2199127078","loc":[-85.6204132,41.9397124],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127079":{"id":"n2199127079","loc":[-85.6204144,41.9396341],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127080":{"id":"n2199127080","loc":[-85.6205699,41.9396324],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127081":{"id":"n2199127081","loc":[-85.6205722,41.939498],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127082":{"id":"n2199127082","loc":[-85.6204064,41.9394997],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127083":{"id":"n2199127083","loc":[-85.6204087,41.939561],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127084":{"id":"n2199127084","loc":[-85.6203103,41.9395618],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127085":{"id":"n2199127085","loc":[-85.620308,41.9396069],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127086":{"id":"n2199127086","loc":[-85.6200347,41.9396086],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127087":{"id":"n2199127087","loc":[-85.6200382,41.9397141],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127088":{"id":"n2199127088","loc":[-85.6202257,41.9397149],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127089":{"id":"n2199127089","loc":[-85.6202269,41.9399182],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127090":{"id":"n2199127090","loc":[-85.6203595,41.9399199],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127091":{"id":"n2199127091","loc":[-85.6212335,41.939688],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127092":{"id":"n2199127092","loc":[-85.6212328,41.939595],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127093":{"id":"n2199127093","loc":[-85.6208807,41.9395966],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127094":{"id":"n2199127094","loc":[-85.6208815,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127095":{"id":"n2199127095","loc":[-85.6208676,41.9396872],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127096":{"id":"n2199127096","loc":[-85.6208583,41.9393539],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127097":{"id":"n2199127097","loc":[-85.6207006,41.9393563],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n2199127098":{"id":"n2199127098","loc":[-85.6207099,41.9396896],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:20Z","tags":{}},"n185967054":{"id":"n185967054","loc":[-85.6173384,41.9356126],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967063":{"id":"n185967063","loc":[-85.617371,41.936243],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967065":{"id":"n185967065","loc":[-85.617337,41.936299],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967068":{"id":"n185967068","loc":[-85.617321,41.936373],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:53Z","tags":{}},"n185967070":{"id":"n185967070","loc":[-85.6173562,41.9366969],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967074":{"id":"n185967074","loc":[-85.6173635,41.9377414],"version":"3","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"n185967075":{"id":"n185967075","loc":[-85.6173696,41.9381886],"version":"3","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:29:58Z","tags":{}},"n185967076":{"id":"n185967076","loc":[-85.617372,41.938535],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:54Z","tags":{}},"n2199127056":{"id":"n2199127056","loc":[-85.617147,41.9389616],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127057":{"id":"n2199127057","loc":[-85.6172136,41.9389614],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127058":{"id":"n2199127058","loc":[-85.6172123,41.9386909],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2199127059":{"id":"n2199127059","loc":[-85.616736,41.9386922],"version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:19Z","tags":{}},"n2203921041":{"id":"n2203921041","loc":[-85.6173018,41.9346369],"version":"1","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{}},"w203983952":{"id":"w203983952","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"highway":"service"},"nodes":["n2139966627","n1819800319"]},"w209718301":{"id":"w209718301","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127051","n2199127052","n2199127053","n2199127054","n2199127055","n2199127056","n2199127057","n2199127058","n2199127059","n2199127060","n2199127061","n2199127062","n2199127051"]},"w209718304":{"id":"w209718304","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127071","n2199127072","n2199127073","n2199127074","n2199127071"]},"w17964961":{"id":"w17964961","version":"2","changeset":"15379124","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:38:37Z","tags":{"highway":"residential","name":"Whipple St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Whipple","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185963099","n185963110"]},"w17964489":{"id":"w17964489","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:29:56Z","tags":{"highway":"residential","name":"Jackson St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Jackson","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314430","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185958498","n185958500"]},"w203983953":{"id":"w203983953","version":"1","changeset":"14894526","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T11:32:18Z","tags":{"area":"yes","leisure":"park","name":"Marina Park","website":"http://www.threeriversmi.us/?page_id=53"},"nodes":["n1475283994","n1475283979","n1475283998","n2139966629","n2139966625","n1819800319","n2139966623","n2139966622","n2139966621","n2139966630","n1475283994"]},"w17965366":{"id":"w17965366","version":"2","changeset":"15379027","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-15T23:24:18Z","tags":{"highway":"residential","name":"14th St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"14th","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n2203921041","n185967054","n185967063","n185967065","n185967068","n185967070","n185967074","n185967075","n185967076","n185967077"]},"w209718306":{"id":"w209718306","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127091","n2199127092","n2199127093","n2199127094","n2199127091"]},"w209718307":{"id":"w209718307","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127095","n2199127096","n2199127097","n2199127098","n2199127095"]},"w209718305":{"id":"w209718305","version":"1","changeset":"15347669","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:38:21Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199127075","n2199127076","n2199127077","n2199127078","n2199127079","n2199127080","n2199127081","n2199127082","n2199127083","n2199127084","n2199127085","n2199127086","n2199127087","n2199127088","n2199127089","n2199127090","n2199127075"]},"n185960199":{"id":"n185960199","loc":[-85.62965,41.95469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:08Z","tags":{}},"n185980737":{"id":"n185980737","loc":[-85.629083,41.953725],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:48Z","tags":{}},"n2114807561":{"id":"n2114807561","loc":[-85.6297681,41.9524688],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807597":{"id":"n2114807597","loc":[-85.6296517,41.952563],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n185960197":{"id":"n185960197","loc":[-85.629676,41.9537314],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978791":{"id":"n185978791","loc":[-85.6244542,41.9547066],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"w17967573":{"id":"w17967573","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"E Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960195","n2114807561","n185968102","n185967430","n185986157","n185978392"]},"w17966553":{"id":"w17966553","version":"5","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971631","n185978784","n185967432","n185968106","n185960199","n185978787","n185978790","n185978791"]},"w17966787":{"id":"w17966787","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"East Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185980735","n185980737","n185960197","n185968104","n185960792"]},"w17964723":{"id":"w17964723","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960792","n185960794","n185960796"]},"w17964654":{"id":"w17964654","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"Pine Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960195","n2114807597","n185960197","n185960199"]},"n1819848862":{"id":"n1819848862","loc":[-85.6346087,41.9545845],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848935":{"id":"n1819848935","loc":[-85.6345948,41.9537717],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819848973":{"id":"n1819848973","loc":[-85.6334247,41.9537827],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n1819848997":{"id":"n1819848997","loc":[-85.6334386,41.9545956],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n2189015861":{"id":"n2189015861","loc":[-85.6375906,41.954836],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015865":{"id":"n2189015865","loc":[-85.6383307,41.9548291],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015867":{"id":"n2189015867","loc":[-85.6383337,41.9550072],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015868":{"id":"n2189015868","loc":[-85.6380986,41.9550094],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015869":{"id":"n2189015869","loc":[-85.6381005,41.9551226],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109808":{"id":"n2199109808","loc":[-85.6372702,41.9522894],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109810":{"id":"n2199109810","loc":[-85.6372677,41.9521583],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109812":{"id":"n2199109812","loc":[-85.6369505,41.9521617],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109814":{"id":"n2199109814","loc":[-85.636953,41.9522927],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n185952156":{"id":"n185952156","loc":[-85.640983,41.9546557],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185953423":{"id":"n185953423","loc":[-85.641871,41.954652],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971637":{"id":"n185971637","loc":[-85.641583,41.95465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:06Z","tags":{}},"n185971639":{"id":"n185971639","loc":[-85.6421344,41.9546444],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971642":{"id":"n185971642","loc":[-85.6428264,41.9545612],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185971648":{"id":"n185971648","loc":[-85.6436023,41.9544262],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185975066":{"id":"n185975066","loc":[-85.640532,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185975067":{"id":"n185975067","loc":[-85.64079,41.953638],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:49Z","tags":{}},"n185982166":{"id":"n185982166","loc":[-85.6399012,41.9523817],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n2189015858":{"id":"n2189015858","loc":[-85.6376104,41.9560138],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015870":{"id":"n2189015870","loc":[-85.6386794,41.9551172],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015871":{"id":"n2189015871","loc":[-85.6386817,41.955256],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015873":{"id":"n2189015873","loc":[-85.6385437,41.9552573],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015876":{"id":"n2189015876","loc":[-85.638555,41.9559278],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015879":{"id":"n2189015879","loc":[-85.6384954,41.9559283],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015882":{"id":"n2189015882","loc":[-85.6384965,41.9559935],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015885":{"id":"n2189015885","loc":[-85.6383533,41.9559949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015888":{"id":"n2189015888","loc":[-85.638351,41.9558607],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015891":{"id":"n2189015891","loc":[-85.6382178,41.9558619],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015894":{"id":"n2189015894","loc":[-85.6382203,41.956008],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627223":{"id":"w208627223","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015858","n2189015861","n2189015865","n2189015867","n2189015868","n2189015869","n2189015870","n2189015871","n2189015873","n2189015876","n2189015879","n2189015882","n2189015885","n2189015888","n2189015891","n2189015894","n2189015858"]},"w170848328":{"id":"w170848328","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"ele":"250","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624408","gnis:state_id":"26","leisure":"park","name":"Bowman Park","source":"Bing"},"nodes":["n1819848935","n1819848973","n1819848997","n1819848862","n1819848935"]},"w17965866":{"id":"w17965866","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Hoffman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185971631","n185971632","n185964359","n185965025","n1475293264","n185952156","n185971637","n185953423","n185971639","n185971642","n185971648"]},"w209717051":{"id":"w209717051","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"amenity":"place_of_worship","area":"yes","building":"yes","denomination":"baptist","ele":"251","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417886","gnis:state_id":"26","name":"Calvary Missionary Baptist Church","religion":"christian"},"nodes":["n2199109808","n2199109810","n2199109812","n2199109814","n2199109808"]},"w17966172":{"id":"w17966172","version":"3","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:23Z","tags":{"highway":"residential","name":"West Cushman Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Cushman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185960796","n185975064","n185964358","n185965023","n1475293222","n185975066","n185975067"]},"w17966975":{"id":"w17966975","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:06Z","tags":{"highway":"residential","name":"W Wheeler St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Wheeler","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312250:15312254","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978392","n185982163","n185964357","n185965021","n1475293261","n185982166"]},"n185960684":{"id":"n185960684","loc":[-85.622687,41.951885],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185960686":{"id":"n185960686","loc":[-85.622492,41.951901],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185978795":{"id":"n185978795","loc":[-85.6240991,41.954708],"version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{}},"n185978803":{"id":"n185978803","loc":[-85.623348,41.954547],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978806":{"id":"n185978806","loc":[-85.623123,41.954502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978808":{"id":"n185978808","loc":[-85.622923,41.954469],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:34Z","tags":{}},"n185978810":{"id":"n185978810","loc":[-85.622787,41.954457],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978811":{"id":"n185978811","loc":[-85.622612,41.954458],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978813":{"id":"n185978813","loc":[-85.622368,41.954472],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n1819790545":{"id":"n1819790545","loc":[-85.6240295,41.9548949],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790621":{"id":"n1819790621","loc":[-85.6235789,41.954855],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790664":{"id":"n1819790664","loc":[-85.6238363,41.9549507],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790683":{"id":"n1819790683","loc":[-85.6224727,41.9545921],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790730":{"id":"n1819790730","loc":[-85.6227527,41.9545795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790740":{"id":"n1819790740","loc":[-85.6240402,41.9550784],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790831":{"id":"n1819790831","loc":[-85.624126,41.9549986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790861":{"id":"n1819790861","loc":[-85.6231712,41.9546872],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790887":{"id":"n1819790887","loc":[-85.6242762,41.955206],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n2168544739":{"id":"n2168544739","loc":[-85.6249102,41.952801],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544740":{"id":"n2168544740","loc":[-85.6251859,41.9527564],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544741":{"id":"n2168544741","loc":[-85.6255515,41.9527921],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544742":{"id":"n2168544742","loc":[-85.626001,41.9529481],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544743":{"id":"n2168544743","loc":[-85.6265284,41.9529838],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544744":{"id":"n2168544744","loc":[-85.626942,41.9528857],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544745":{"id":"n2168544745","loc":[-85.6270918,41.9526851],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544746":{"id":"n2168544746","loc":[-85.6272117,41.95244],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544747":{"id":"n2168544747","loc":[-85.6271578,41.952226],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544748":{"id":"n2168544748","loc":[-85.6270019,41.9519719],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544749":{"id":"n2168544749","loc":[-85.6268221,41.9518382],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544750":{"id":"n2168544750","loc":[-85.6265284,41.951807],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544751":{"id":"n2168544751","loc":[-85.6256534,41.9518516],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544752":{"id":"n2168544752","loc":[-85.6253477,41.9518338],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n2168544753":{"id":"n2168544753","loc":[-85.6251139,41.9517669],"version":"1","changeset":"15132216","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-23T08:37:01Z","tags":{}},"n185955747":{"id":"n185955747","loc":[-85.620674,41.954709],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185960688":{"id":"n185960688","loc":[-85.621032,41.951913],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:21Z","tags":{}},"n185972054":{"id":"n185972054","loc":[-85.6186728,41.9547335],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185978814":{"id":"n185978814","loc":[-85.6201708,41.9547403],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n1819790532":{"id":"n1819790532","loc":[-85.6244908,41.9555731],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790536":{"id":"n1819790536","loc":[-85.6217925,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790538":{"id":"n1819790538","loc":[-85.6233954,41.9600014],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790539":{"id":"n1819790539","loc":[-85.6204611,41.9562117],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790546":{"id":"n1819790546","loc":[-85.6210898,41.9567657],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790548":{"id":"n1819790548","loc":[-85.6202465,41.9562237],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790550":{"id":"n1819790550","loc":[-85.6250165,41.9560677],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790551":{"id":"n1819790551","loc":[-85.6227946,41.9597023],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790553":{"id":"n1819790553","loc":[-85.6215726,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790556":{"id":"n1819790556","loc":[-85.6196306,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790557":{"id":"n1819790557","loc":[-85.6209503,41.9563109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790558":{"id":"n1819790558","loc":[-85.6196939,41.9574085],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790561":{"id":"n1819790561","loc":[-85.621079,41.957751],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790562":{"id":"n1819790562","loc":[-85.6224255,41.9611417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790565":{"id":"n1819790565","loc":[-85.6232506,41.9604841],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790566":{"id":"n1819790566","loc":[-85.6190835,41.9562909],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790567":{"id":"n1819790567","loc":[-85.622227,41.9593028],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790569":{"id":"n1819790569","loc":[-85.620976,41.9591039],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790571":{"id":"n1819790571","loc":[-85.6212078,41.9565303],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790572":{"id":"n1819790572","loc":[-85.6235306,41.9595102],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790581":{"id":"n1819790581","loc":[-85.6235563,41.9579351],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790584":{"id":"n1819790584","loc":[-85.6230371,41.9574598],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790586":{"id":"n1819790586","loc":[-85.6211748,41.9564272],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790588":{"id":"n1819790588","loc":[-85.6226508,41.9601086],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790591":{"id":"n1819790591","loc":[-85.6218032,41.9607468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790593":{"id":"n1819790593","loc":[-85.6207915,41.9618735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790596":{"id":"n1819790596","loc":[-85.6252955,41.9567858],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790598":{"id":"n1819790598","loc":[-85.6196618,41.9568939],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790600":{"id":"n1819790600","loc":[-85.6224416,41.9587084],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790602":{"id":"n1819790602","loc":[-85.6217442,41.9558641],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790603":{"id":"n1819790603","loc":[-85.6213355,41.9592116],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790604":{"id":"n1819790604","loc":[-85.622801,41.9573042],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790608":{"id":"n1819790608","loc":[-85.6199729,41.9574325],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790610":{"id":"n1819790610","loc":[-85.6195555,41.9557165],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790611":{"id":"n1819790611","loc":[-85.622978,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790613":{"id":"n1819790613","loc":[-85.6253963,41.9562636],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790614":{"id":"n1819790614","loc":[-85.6235252,41.9580342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790616":{"id":"n1819790616","loc":[-85.6232988,41.9596305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790617":{"id":"n1819790617","loc":[-85.6226776,41.9598732],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790619":{"id":"n1819790619","loc":[-85.625553,41.9561794],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790620":{"id":"n1819790620","loc":[-85.6235574,41.959231],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790624":{"id":"n1819790624","loc":[-85.6228429,41.9573726],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790626":{"id":"n1819790626","loc":[-85.6193785,41.9556766],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790628":{"id":"n1819790628","loc":[-85.620092,41.9554253],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790630":{"id":"n1819790630","loc":[-85.6226658,41.9604402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790638":{"id":"n1819790638","loc":[-85.6219964,41.9602561],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790640":{"id":"n1819790640","loc":[-85.6232731,41.9599969],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790643":{"id":"n1819790643","loc":[-85.6247698,41.9568895],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790650":{"id":"n1819790650","loc":[-85.6216412,41.9550149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790652":{"id":"n1819790652","loc":[-85.6224952,41.9603918],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790656":{"id":"n1819790656","loc":[-85.61918,41.9555649],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790661":{"id":"n1819790661","loc":[-85.6200169,41.955505],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790662":{"id":"n1819790662","loc":[-85.6217389,41.9563149],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790666":{"id":"n1819790666","loc":[-85.6229566,41.9598373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790667":{"id":"n1819790667","loc":[-85.6209117,41.9609189],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790669":{"id":"n1819790669","loc":[-85.6252311,41.9562353],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790670":{"id":"n1819790670","loc":[-85.6209758,41.961868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790672":{"id":"n1819790672","loc":[-85.6209557,41.9589078],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790673":{"id":"n1819790673","loc":[-85.6190352,41.9561393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790675":{"id":"n1819790675","loc":[-85.6236432,41.9586685],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790676":{"id":"n1819790676","loc":[-85.6194901,41.9565389],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790678":{"id":"n1819790678","loc":[-85.6219266,41.9582417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790680":{"id":"n1819790680","loc":[-85.6208258,41.9557211],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790681":{"id":"n1819790681","loc":[-85.6212024,41.9613212],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790682":{"id":"n1819790682","loc":[-85.624877,41.9559401],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790684":{"id":"n1819790684","loc":[-85.6206499,41.9583693],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790699":{"id":"n1819790699","loc":[-85.6215243,41.956279],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790701":{"id":"n1819790701","loc":[-85.6246625,41.9559321],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790703":{"id":"n1819790703","loc":[-85.6230478,41.9585089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790708":{"id":"n1819790708","loc":[-85.6211102,41.9575402],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790710":{"id":"n1819790710","loc":[-85.6215082,41.9548468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790711":{"id":"n1819790711","loc":[-85.6206552,41.9586007],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790713":{"id":"n1819790713","loc":[-85.6215404,41.9549705],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790715":{"id":"n1819790715","loc":[-85.6216906,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790717":{"id":"n1819790717","loc":[-85.6215404,41.9547391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790722":{"id":"n1819790722","loc":[-85.6219964,41.9599131],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790723":{"id":"n1819790723","loc":[-85.622286,41.9606989],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790725":{"id":"n1819790725","loc":[-85.6228439,41.9572005],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790727":{"id":"n1819790727","loc":[-85.6202518,41.9554458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790728":{"id":"n1819790728","loc":[-85.623434,41.9575276],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790729":{"id":"n1819790729","loc":[-85.6234287,41.9568576],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790732":{"id":"n1819790732","loc":[-85.6229566,41.9571369],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790733":{"id":"n1819790733","loc":[-85.6225543,41.9590275],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790734":{"id":"n1819790734","loc":[-85.6232892,41.9583135],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790736":{"id":"n1819790736","loc":[-85.622977,41.9608551],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790737":{"id":"n1819790737","loc":[-85.624008,41.9569533],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790741":{"id":"n1819790741","loc":[-85.6212775,41.9608545],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790742":{"id":"n1819790742","loc":[-85.6231282,41.9569932],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790743":{"id":"n1819790743","loc":[-85.6224523,41.9591831],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790744":{"id":"n1819790744","loc":[-85.6210951,41.9610819],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790745":{"id":"n1819790745","loc":[-85.6220114,41.960544],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790755":{"id":"n1819790755","loc":[-85.6216369,41.9553854],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790757":{"id":"n1819790757","loc":[-85.6209986,41.9592709],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790758":{"id":"n1819790758","loc":[-85.6200437,41.9563468],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790764":{"id":"n1819790764","loc":[-85.6219363,41.9596823],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790765":{"id":"n1819790765","loc":[-85.6237612,41.9568496],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790769":{"id":"n1819790769","loc":[-85.6212389,41.9593433],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790771":{"id":"n1819790771","loc":[-85.6210726,41.9560123],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790772":{"id":"n1819790772","loc":[-85.6212711,41.9561838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790776":{"id":"n1819790776","loc":[-85.6234437,41.9577795],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790777":{"id":"n1819790777","loc":[-85.6212502,41.9618599],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790783":{"id":"n1819790783","loc":[-85.6216895,41.9610585],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790784":{"id":"n1819790784","loc":[-85.6200115,41.9556367],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790785":{"id":"n1819790785","loc":[-85.6210576,41.9573002],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790786":{"id":"n1819790786","loc":[-85.621138,41.9576632],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790788":{"id":"n1819790788","loc":[-85.6207733,41.9578946],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790789":{"id":"n1819790789","loc":[-85.6200705,41.9571566],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790790":{"id":"n1819790790","loc":[-85.6245337,41.9558443],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790792":{"id":"n1819790792","loc":[-85.621932,41.9608066],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790793":{"id":"n1819790793","loc":[-85.6233578,41.9581385],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790794":{"id":"n1819790794","loc":[-85.6204557,41.9555136],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790797":{"id":"n1819790797","loc":[-85.6235038,41.9576074],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790800":{"id":"n1819790800","loc":[-85.6214438,41.9607508],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790801":{"id":"n1819790801","loc":[-85.623492,41.9602129],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790802":{"id":"n1819790802","loc":[-85.6216691,41.9546553],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790803":{"id":"n1819790803","loc":[-85.6231057,41.9586851],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790804":{"id":"n1819790804","loc":[-85.6209224,41.9578673],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790813":{"id":"n1819790813","loc":[-85.620092,41.9572962],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790814":{"id":"n1819790814","loc":[-85.6216691,41.9552218],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790816":{"id":"n1819790816","loc":[-85.6216144,41.9609668],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790818":{"id":"n1819790818","loc":[-85.6216906,41.9557324],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790820":{"id":"n1819790820","loc":[-85.6192069,41.9564186],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790823":{"id":"n1819790823","loc":[-85.6211155,41.9566027],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790825":{"id":"n1819790825","loc":[-85.6233106,41.9569294],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790839":{"id":"n1819790839","loc":[-85.625671,41.9564986],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790842":{"id":"n1819790842","loc":[-85.6235252,41.9567379],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790844":{"id":"n1819790844","loc":[-85.6253813,41.9566342],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790847":{"id":"n1819790847","loc":[-85.6200963,41.9567702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790849":{"id":"n1819790849","loc":[-85.6238031,41.9587449],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790851":{"id":"n1819790851","loc":[-85.6234984,41.9584571],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790856":{"id":"n1819790856","loc":[-85.6242226,41.9570092],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790865":{"id":"n1819790865","loc":[-85.6200265,41.9569458],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790869":{"id":"n1819790869","loc":[-85.6230049,41.9601245],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790871":{"id":"n1819790871","loc":[-85.6190727,41.9558322],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790873":{"id":"n1819790873","loc":[-85.6217442,41.9550104],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790875":{"id":"n1819790875","loc":[-85.6208044,41.9587808],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790879":{"id":"n1819790879","loc":[-85.6198444,41.9574484],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790883":{"id":"n1819790883","loc":[-85.623713,41.9588719],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790885":{"id":"n1819790885","loc":[-85.6223289,41.9605075],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790889":{"id":"n1819790889","loc":[-85.6208044,41.9562437],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790893":{"id":"n1819790893","loc":[-85.6218183,41.9559684],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790906":{"id":"n1819790906","loc":[-85.6214052,41.958697],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790913":{"id":"n1819790913","loc":[-85.6209981,41.9609957],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790917":{"id":"n1819790917","loc":[-85.6216208,41.9604436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790919":{"id":"n1819790919","loc":[-85.6209406,41.9616373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790920":{"id":"n1819790920","loc":[-85.6221948,41.9583334],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790922":{"id":"n1819790922","loc":[-85.6216681,41.9615292],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790924":{"id":"n1819790924","loc":[-85.6210147,41.9570489],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790929":{"id":"n1819790929","loc":[-85.6193678,41.955521],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"w17964707":{"id":"w17964707","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:31:34Z","tags":{"highway":"residential","name":"11th Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"11th","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314405","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185960682","n185960684","n185960686","n185960688","n185960690"]},"w201484345":{"id":"w201484345","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"bridge":"yes","highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978791","n185978795"]},"w201484348":{"id":"w201484348","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"highway":"residential","name":"E Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978795","n185978800","n185978803","n185978806","n185978808","n185978810","n185978811","n185978813","n185955747","n185978814","n185972054","n185978817"]},"w170843845":{"id":"w170843845","version":"3","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:23Z","tags":{"ele":"244","gnis:county_id":"149","gnis:created":"04/14/1980","gnis:feature_id":"1624607","gnis:state_id":"26","landuse":"reservoir","name":"Hoffman Pond","natural":"water","source":"Bing"},"nodes":["n1819790732","n1819790742","n1819790825","n1819790729","n1819790842","n1819790765","n1819790737","n1819790856","n1819790643","n1819790596","n1819790844","n1819790839","n1819849190","n1819790619","n1819790613","n1819790669","n1819790550","n1819790682","n1819790701","n1819790790","n1819790532","n1819790887","n1819790740","n1819790831","n1819790545","n1819790664","n1819790621","n1819790861","n1819790730","n1819790683","n1819790802","n1819790717","n1819790710","n1819790713","n1819790650","n1819790873","n1819790814","n1819790755","n1819790715","n1819790818","n1819790602","n1819790893","n1819790662","n1819790699","n1819790772","n1819790771","n1819790680","n1819790794","n1819790727","n1819790628","n1819790661","n1819790784","n1819790610","n1819790626","n1819790929","n1819790656","n1819790871","n1819790673","n1819790566","n1819790820","n1819790676","n1819790598","n1819790556","n1819790558","n1819790879","n1819790608","n1819790813","n1819790789","n1819790865","n1819790847","n1819790758","n1819790548","n1819790539","n1819790889","n1819790557","n1819790586","n1819790571","n1819790823","n1819790546","n1819790924","n1819790785","n1819790708","n1819790786","n1819790561","n1819790804","n1819790788","n1819790684","n1819790711","n1819790875","n1819790672","n1819790569","n1819790757","n1819790769","n1819790603","n1819790906","n1819790553","n1819790536","n1819790678","n1819790920","n1819790600","n1819790733","n1819790743","n1819790567","n1819790764","n1819790722","n1819790638","n1819790917","n1819790800","n1819790741","n1819790667","n1819790913","n1819790744","n1819790816","n1819790591","n1819790745","n1819790885","n1819790652","n1819790588","n1819790617","n1819790551","n1819790666","n1819790869","n1819790630","n1819790723","n1819790792","n1819790783","n1819790681","n1819790919","n1819790593","n1819790670","n1819790777","n1819790922","n1819790562","n1819790736","n1819790565","n1819790801","n1819790538","n1819790640","n1819790616","n1819790572","n1819790620","n1819790883","n1819790849","n1819790675","n1819790851","n1819790803","n1819790611","n1819790703","n1819790734","n1819790793","n1819790614","n1819790581","n1819790776","n1819790797","n1819790728","n1819790584","n1819790624","n1819790604","n1819790725","n1819790732"]},"w206805240":{"id":"w206805240","version":"2","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:50Z","tags":{"waterway":"river"},"nodes":["n2168544738","n2168544739","n2168544740","n2168544741","n2168544742","n2168544743","n2168544744","n2168544745","n2168544746","n2168544747","n2168544748","n2168544749","n2168544750","n2168544751","n2168544752","n2168544753","n1819848944"]},"n394490429":{"id":"n394490429","loc":[-85.643883,41.954365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n185953421":{"id":"n185953421","loc":[-85.641876,41.954946],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185953417":{"id":"n185953417","loc":[-85.6418306,41.9551597],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185977233":{"id":"n185977233","loc":[-85.642987,41.95486],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n185977232":{"id":"n185977232","loc":[-85.642894,41.9547842],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n1475293244":{"id":"n1475293244","loc":[-85.63974,41.9521543],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1819848890":{"id":"n1819848890","loc":[-85.6410004,41.9552822],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848965":{"id":"n1819848965","loc":[-85.6409795,41.9553892],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:52Z","tags":{}},"n2189015846":{"id":"n2189015846","loc":[-85.6420457,41.9549528],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015849":{"id":"n2189015849","loc":[-85.6425867,41.9551392],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015852":{"id":"n2189015852","loc":[-85.6426877,41.9549771],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109816":{"id":"n2199109816","loc":[-85.6399215,41.9540925],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109818":{"id":"n2199109818","loc":[-85.6399182,41.9538236],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109820":{"id":"n2199109820","loc":[-85.6402201,41.9538216],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109822":{"id":"n2199109822","loc":[-85.640222,41.9539771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109825":{"id":"n2199109825","loc":[-85.6402904,41.9539766],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109827":{"id":"n2199109827","loc":[-85.6402918,41.95409],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109829":{"id":"n2199109829","loc":[-85.6395845,41.9544626],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109831":{"id":"n2199109831","loc":[-85.6395792,41.9540671],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109833":{"id":"n2199109833","loc":[-85.6397173,41.9540661],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109835":{"id":"n2199109835","loc":[-85.6397226,41.9544616],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109837":{"id":"n2199109837","loc":[-85.6399641,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109839":{"id":"n2199109839","loc":[-85.6399637,41.9541859],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109841":{"id":"n2199109841","loc":[-85.6401098,41.9541858],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109843":{"id":"n2199109843","loc":[-85.64011,41.9543272],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109845":{"id":"n2199109845","loc":[-85.6400783,41.9543273],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109847":{"id":"n2199109847","loc":[-85.6400785,41.9545058],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109853":{"id":"n2199109853","loc":[-85.6396184,41.9554049],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109855":{"id":"n2199109855","loc":[-85.6396825,41.9553713],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185949745":{"id":"n185949745","loc":[-85.6442727,41.9553112],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949748":{"id":"n185949748","loc":[-85.6448804,41.9555238],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185949755":{"id":"n185949755","loc":[-85.6420011,41.9603536],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{}},"n185949763":{"id":"n185949763","loc":[-85.6408843,41.9555822],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185949765":{"id":"n185949765","loc":[-85.6414548,41.9557751],"version":"3","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:03Z","tags":{}},"n185952158":{"id":"n185952158","loc":[-85.640066,41.956854],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952160":{"id":"n185952160","loc":[-85.639848,41.957229],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185952161":{"id":"n185952161","loc":[-85.6396089,41.9576192],"version":"3","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{}},"n185952163":{"id":"n185952163","loc":[-85.63892,41.957957],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:10Z","tags":{}},"n185953413":{"id":"n185953413","loc":[-85.64162,41.955475],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:56Z","tags":{}},"n185971651":{"id":"n185971651","loc":[-85.6440766,41.9543462],"version":"3","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:55Z","tags":{}},"n185977234":{"id":"n185977234","loc":[-85.645044,41.955581],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:49Z","tags":{}},"n394490395":{"id":"n394490395","loc":[-85.657336,41.936762],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490396":{"id":"n394490396","loc":[-85.653896,41.936978],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490397":{"id":"n394490397","loc":[-85.653732,41.937386],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490398":{"id":"n394490398","loc":[-85.65182,41.937378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490399":{"id":"n394490399","loc":[-85.651843,41.938445],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490400":{"id":"n394490400","loc":[-85.652536,41.938447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490401":{"id":"n394490401","loc":[-85.652533,41.938901],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490402":{"id":"n394490402","loc":[-85.652084,41.9389],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490403":{"id":"n394490403","loc":[-85.6521,41.939627],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490404":{"id":"n394490404","loc":[-85.652301,41.939628],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490405":{"id":"n394490405","loc":[-85.652302,41.939755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490406":{"id":"n394490406","loc":[-85.652783,41.939747],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490407":{"id":"n394490407","loc":[-85.652835,41.94112],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490408":{"id":"n394490408","loc":[-85.651968,41.941123],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490409":{"id":"n394490409","loc":[-85.651983,41.941969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490410":{"id":"n394490410","loc":[-85.652908,41.941961],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490411":{"id":"n394490411","loc":[-85.65292,41.94278],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490412":{"id":"n394490412","loc":[-85.651698,41.942816],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490413":{"id":"n394490413","loc":[-85.651509,41.942823],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490414":{"id":"n394490414","loc":[-85.651272,41.942837],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490415":{"id":"n394490415","loc":[-85.651272,41.943325],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490416":{"id":"n394490416","loc":[-85.65122,41.944053],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490417":{"id":"n394490417","loc":[-85.651193,41.944449],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490418":{"id":"n394490418","loc":[-85.651088,41.944969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490419":{"id":"n394490419","loc":[-85.650949,41.945554],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490420":{"id":"n394490420","loc":[-85.650907,41.945719],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:28Z","tags":{}},"n394490421":{"id":"n394490421","loc":[-85.650808,41.946016],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490422":{"id":"n394490422","loc":[-85.650712,41.946516],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490423":{"id":"n394490423","loc":[-85.650493,41.947166],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490424":{"id":"n394490424","loc":[-85.650626,41.947213],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490425":{"id":"n394490425","loc":[-85.650201,41.948109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490426":{"id":"n394490426","loc":[-85.649868,41.948797],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490427":{"id":"n394490427","loc":[-85.649669,41.949161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490428":{"id":"n394490428","loc":[-85.64659,41.954067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490430":{"id":"n394490430","loc":[-85.644034,41.95444],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490431":{"id":"n394490431","loc":[-85.644248,41.954507],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490432":{"id":"n394490432","loc":[-85.64491,41.954481],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490433":{"id":"n394490433","loc":[-85.645213,41.954433],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490434":{"id":"n394490434","loc":[-85.645426,41.954477],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490435":{"id":"n394490435","loc":[-85.6458,41.954704],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490436":{"id":"n394490436","loc":[-85.64605,41.954804],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:29Z","tags":{}},"n394490437":{"id":"n394490437","loc":[-85.646125,41.954817],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490438":{"id":"n394490438","loc":[-85.646002,41.954997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490439":{"id":"n394490439","loc":[-85.645764,41.955366],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490440":{"id":"n394490440","loc":[-85.645525,41.955734],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490441":{"id":"n394490441","loc":[-85.64443,41.957424],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490442":{"id":"n394490442","loc":[-85.641712,41.961723],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490443":{"id":"n394490443","loc":[-85.640747,41.963246],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490444":{"id":"n394490444","loc":[-85.637803,41.967894],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490445":{"id":"n394490445","loc":[-85.637673,41.967861],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490446":{"id":"n394490446","loc":[-85.636637,41.969275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490447":{"id":"n394490447","loc":[-85.634923,41.969269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490448":{"id":"n394490448","loc":[-85.634893,41.968537],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490449":{"id":"n394490449","loc":[-85.634544,41.96927],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490450":{"id":"n394490450","loc":[-85.630835,41.969274],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490451":{"id":"n394490451","loc":[-85.630834,41.968348],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490452":{"id":"n394490452","loc":[-85.630857,41.968179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490453":{"id":"n394490453","loc":[-85.630924,41.968044],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490454":{"id":"n394490454","loc":[-85.631004,41.967925],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490455":{"id":"n394490455","loc":[-85.631143,41.967811],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490456":{"id":"n394490456","loc":[-85.631311,41.967736],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490457":{"id":"n394490457","loc":[-85.631595,41.967693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490458":{"id":"n394490458","loc":[-85.63325,41.967702],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490459":{"id":"n394490459","loc":[-85.633247,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490460":{"id":"n394490460","loc":[-85.634858,41.967021],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490461":{"id":"n394490461","loc":[-85.634865,41.967711],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490462":{"id":"n394490462","loc":[-85.634884,41.968231],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490463":{"id":"n394490463","loc":[-85.636559,41.963867],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490464":{"id":"n394490464","loc":[-85.634832,41.963866],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490465":{"id":"n394490465","loc":[-85.63481,41.961899],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490466":{"id":"n394490466","loc":[-85.637219,41.961842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490467":{"id":"n394490467","loc":[-85.637837,41.960019],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490468":{"id":"n394490468","loc":[-85.637459,41.960022],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490469":{"id":"n394490469","loc":[-85.635295,41.959987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490470":{"id":"n394490470","loc":[-85.634783,41.959979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490471":{"id":"n394490471","loc":[-85.634776,41.959834],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490472":{"id":"n394490472","loc":[-85.634767,41.959009],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490473":{"id":"n394490473","loc":[-85.634763,41.958292],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490474":{"id":"n394490474","loc":[-85.633346,41.958287],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490475":{"id":"n394490475","loc":[-85.632128,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:30Z","tags":{}},"n394490476":{"id":"n394490476","loc":[-85.631414,41.958318],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490477":{"id":"n394490477","loc":[-85.63137,41.959033],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490478":{"id":"n394490478","loc":[-85.631325,41.959753],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490479":{"id":"n394490479","loc":[-85.631494,41.95977],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490480":{"id":"n394490480","loc":[-85.631456,41.960673],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490481":{"id":"n394490481","loc":[-85.631421,41.961494],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490482":{"id":"n394490482","loc":[-85.631404,41.961887],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490483":{"id":"n394490483","loc":[-85.631401,41.961968],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490484":{"id":"n394490484","loc":[-85.630962,41.961967],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490485":{"id":"n394490485","loc":[-85.6299,41.961973],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490486":{"id":"n394490486","loc":[-85.624929,41.962002],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490487":{"id":"n394490487","loc":[-85.623333,41.961987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490488":{"id":"n394490488","loc":[-85.621894,41.963956],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490489":{"id":"n394490489","loc":[-85.62131,41.963727],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490490":{"id":"n394490490","loc":[-85.621216,41.963868],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490491":{"id":"n394490491","loc":[-85.620356,41.965119],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490492":{"id":"n394490492","loc":[-85.620848,41.965341],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490493":{"id":"n394490493","loc":[-85.620684,41.965558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490494":{"id":"n394490494","loc":[-85.620621,41.965658],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490495":{"id":"n394490495","loc":[-85.618165,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490496":{"id":"n394490496","loc":[-85.618071,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490497":{"id":"n394490497","loc":[-85.617986,41.965759],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490498":{"id":"n394490498","loc":[-85.605673,41.965764],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490499":{"id":"n394490499","loc":[-85.605668,41.963548],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490500":{"id":"n394490500","loc":[-85.605664,41.962094],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490501":{"id":"n394490501","loc":[-85.595828,41.962159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490502":{"id":"n394490502","loc":[-85.587869,41.962169],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490503":{"id":"n394490503","loc":[-85.586289,41.962179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490504":{"id":"n394490504","loc":[-85.583774,41.962178],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490505":{"id":"n394490505","loc":[-85.583774,41.961789],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490506":{"id":"n394490506","loc":[-85.581303,41.961783],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490507":{"id":"n394490507","loc":[-85.581304,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490508":{"id":"n394490508","loc":[-85.581292,41.961616],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490509":{"id":"n394490509","loc":[-85.581247,41.959244],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490510":{"id":"n394490510","loc":[-85.581245,41.958394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490511":{"id":"n394490511","loc":[-85.581276,41.958372],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:31Z","tags":{}},"n394490512":{"id":"n394490512","loc":[-85.581302,41.958353],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490513":{"id":"n394490513","loc":[-85.581376,41.9583],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490514":{"id":"n394490514","loc":[-85.582256,41.957663],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490515":{"id":"n394490515","loc":[-85.585299,41.955483],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490516":{"id":"n394490516","loc":[-85.585588,41.955331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490517":{"id":"n394490517","loc":[-85.586053,41.955163],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490518":{"id":"n394490518","loc":[-85.58632,41.955076],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490519":{"id":"n394490519","loc":[-85.586478,41.955025],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490520":{"id":"n394490520","loc":[-85.58692,41.954947],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490521":{"id":"n394490521","loc":[-85.587327,41.954914],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490522":{"id":"n394490522","loc":[-85.587345,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490523":{"id":"n394490523","loc":[-85.587358,41.954913],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490524":{"id":"n394490524","loc":[-85.58963,41.954877],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490525":{"id":"n394490525","loc":[-85.591077,41.954865],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490526":{"id":"n394490526","loc":[-85.594824,41.954843],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490527":{"id":"n394490527","loc":[-85.594804,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490528":{"id":"n394490528","loc":[-85.599336,41.95331],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490529":{"id":"n394490529","loc":[-85.599336,41.954825],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490530":{"id":"n394490530","loc":[-85.597828,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490531":{"id":"n394490531","loc":[-85.597833,41.95614],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490532":{"id":"n394490532","loc":[-85.596586,41.956151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490533":{"id":"n394490533","loc":[-85.596586,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490534":{"id":"n394490534","loc":[-85.595933,41.956394],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490535":{"id":"n394490535","loc":[-85.595933,41.958176],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490536":{"id":"n394490536","loc":[-85.597635,41.958179],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490537":{"id":"n394490537","loc":[-85.597717,41.958177],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490538":{"id":"n394490538","loc":[-85.601671,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490539":{"id":"n394490539","loc":[-85.605619,41.958194],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490540":{"id":"n394490540","loc":[-85.608054,41.958187],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:32Z","tags":{}},"n394490542":{"id":"n394490542","loc":[-85.6080762,41.9547864],"version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:47:47Z","tags":{}},"n394490545":{"id":"n394490545","loc":[-85.6104354,41.9548263],"version":"2","changeset":"12747630","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-16T08:22:38Z","tags":{}},"n394490546":{"id":"n394490546","loc":[-85.610274,41.951106],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490547":{"id":"n394490547","loc":[-85.610278,41.950829],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490548":{"id":"n394490548","loc":[-85.610309,41.948377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490549":{"id":"n394490549","loc":[-85.610314,41.947986],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490550":{"id":"n394490550","loc":[-85.610464,41.947985],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490551":{"id":"n394490551","loc":[-85.610447,41.947468],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490552":{"id":"n394490552","loc":[-85.612469,41.947471],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490553":{"id":"n394490553","loc":[-85.612494,41.945576],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490554":{"id":"n394490554","loc":[-85.610292,41.94558],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490555":{"id":"n394490555","loc":[-85.608412,41.945625],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490556":{"id":"n394490556","loc":[-85.608412,41.943036],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490557":{"id":"n394490557","loc":[-85.608702,41.943087],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490558":{"id":"n394490558","loc":[-85.609196,41.943224],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490559":{"id":"n394490559","loc":[-85.609571,41.943263],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490560":{"id":"n394490560","loc":[-85.610116,41.943295],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490561":{"id":"n394490561","loc":[-85.610273,41.943275],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490562":{"id":"n394490562","loc":[-85.611339,41.943075],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490563":{"id":"n394490563","loc":[-85.611575,41.942997],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490564":{"id":"n394490564","loc":[-85.611847,41.942849],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490565":{"id":"n394490565","loc":[-85.612164,41.942568],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490566":{"id":"n394490566","loc":[-85.612341,41.942529],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490567":{"id":"n394490567","loc":[-85.612562,41.942524],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490568":{"id":"n394490568","loc":[-85.612768,41.942546],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490569":{"id":"n394490569","loc":[-85.612938,41.942633],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490570":{"id":"n394490570","loc":[-85.6131,41.942782],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490571":{"id":"n394490571","loc":[-85.613299,41.942919],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490572":{"id":"n394490572","loc":[-85.613498,41.942996],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490573":{"id":"n394490573","loc":[-85.614698,41.942842],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490574":{"id":"n394490574","loc":[-85.615288,41.942698],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490575":{"id":"n394490575","loc":[-85.616054,41.942693],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490576":{"id":"n394490576","loc":[-85.61603,41.942175],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490577":{"id":"n394490577","loc":[-85.616004,41.941741],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490578":{"id":"n394490578","loc":[-85.615994,41.940156],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:33Z","tags":{}},"n394490579":{"id":"n394490579","loc":[-85.615144,41.940159],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490580":{"id":"n394490580","loc":[-85.614915,41.940161],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490582":{"id":"n394490582","loc":[-85.614875,41.938532],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490583":{"id":"n394490583","loc":[-85.616167,41.938787],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490585":{"id":"n394490585","loc":[-85.616176,41.938589],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490586":{"id":"n394490586","loc":[-85.614537,41.938282],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490588":{"id":"n394490588","loc":[-85.610141,41.937459],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490589":{"id":"n394490589","loc":[-85.610172,41.937298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490590":{"id":"n394490590","loc":[-85.609918,41.935495],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490592":{"id":"n394490592","loc":[-85.610092,41.935451],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490594":{"id":"n394490594","loc":[-85.610681,41.935247],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490595":{"id":"n394490595","loc":[-85.611446,41.934955],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490596":{"id":"n394490596","loc":[-85.612057,41.934696],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490598":{"id":"n394490598","loc":[-85.613256,41.934084],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490599":{"id":"n394490599","loc":[-85.613948,41.933682],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490601":{"id":"n394490601","loc":[-85.61436,41.933417],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490602":{"id":"n394490602","loc":[-85.614638,41.933212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490604":{"id":"n394490604","loc":[-85.615249,41.9332],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490605":{"id":"n394490605","loc":[-85.618218,41.933223],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490607":{"id":"n394490607","loc":[-85.618241,41.933479],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490608":{"id":"n394490608","loc":[-85.618257,41.93365],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490609":{"id":"n394490609","loc":[-85.618298,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490611":{"id":"n394490611","loc":[-85.619791,41.935067],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490612":{"id":"n394490612","loc":[-85.619794,41.933301],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490613":{"id":"n394490613","loc":[-85.619795,41.932692],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490614":{"id":"n394490614","loc":[-85.619729,41.929517],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490615":{"id":"n394490615","loc":[-85.619801,41.929305],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490616":{"id":"n394490616","loc":[-85.619809,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490617":{"id":"n394490617","loc":[-85.620883,41.927378],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490618":{"id":"n394490618","loc":[-85.620988,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490619":{"id":"n394490619","loc":[-85.621076,41.927368],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490620":{"id":"n394490620","loc":[-85.621156,41.927376],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490621":{"id":"n394490621","loc":[-85.621685,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490622":{"id":"n394490622","loc":[-85.624716,41.927359],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490623":{"id":"n394490623","loc":[-85.625308,41.92737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:34Z","tags":{}},"n394490624":{"id":"n394490624","loc":[-85.625655,41.927377],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490625":{"id":"n394490625","loc":[-85.625093,41.925591],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490626":{"id":"n394490626","loc":[-85.625174,41.92559],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490627":{"id":"n394490627","loc":[-85.625249,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490628":{"id":"n394490628","loc":[-85.625532,41.925604],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490629":{"id":"n394490629","loc":[-85.625761,41.925597],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490630":{"id":"n394490630","loc":[-85.625955,41.926153],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490631":{"id":"n394490631","loc":[-85.626209,41.926155],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490632":{"id":"n394490632","loc":[-85.627757,41.926151],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490633":{"id":"n394490633","loc":[-85.627825,41.926298],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490634":{"id":"n394490634","loc":[-85.627994,41.926315],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490635":{"id":"n394490635","loc":[-85.628049,41.927196],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490636":{"id":"n394490636","loc":[-85.62949,41.927221],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490637":{"id":"n394490637","loc":[-85.629602,41.927277],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490638":{"id":"n394490638","loc":[-85.6297102,41.9273279],"version":"2","changeset":"12805153","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-08-21T08:30:02Z","tags":{}},"n394490639":{"id":"n394490639","loc":[-85.630958,41.927398],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:06:35Z","tags":{}},"n394490699":{"id":"n394490699","loc":[-85.632741,41.927388],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490700":{"id":"n394490700","loc":[-85.632997,41.927391],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490701":{"id":"n394490701","loc":[-85.633149,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490702":{"id":"n394490702","loc":[-85.633334,41.927393],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490703":{"id":"n394490703","loc":[-85.633468,41.927561],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490704":{"id":"n394490704","loc":[-85.633563,41.927755],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490705":{"id":"n394490705","loc":[-85.633662,41.928192],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490706":{"id":"n394490706","loc":[-85.633679,41.928807],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490707":{"id":"n394490707","loc":[-85.633687,41.929107],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490708":{"id":"n394490708","loc":[-85.633927,41.929109],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490709":{"id":"n394490709","loc":[-85.634126,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490710":{"id":"n394490710","loc":[-85.634207,41.92911],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490711":{"id":"n394490711","loc":[-85.634323,41.929111],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490712":{"id":"n394490712","loc":[-85.636712,41.929128],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490713":{"id":"n394490713","loc":[-85.63808,41.9291],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490714":{"id":"n394490714","loc":[-85.639213,41.929088],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490715":{"id":"n394490715","loc":[-85.639189,41.92852],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490716":{"id":"n394490716","loc":[-85.639204,41.925488],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490717":{"id":"n394490717","loc":[-85.644204,41.925452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:55Z","tags":{}},"n394490718":{"id":"n394490718","loc":[-85.651425,41.925406],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490719":{"id":"n394490719","loc":[-85.651449,41.926321],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490720":{"id":"n394490720","loc":[-85.651451,41.926969],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490721":{"id":"n394490721","loc":[-85.651458,41.928052],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490722":{"id":"n394490722","loc":[-85.651446,41.928892],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490723":{"id":"n394490723","loc":[-85.651456,41.929447],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490724":{"id":"n394490724","loc":[-85.651707,41.929454],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490725":{"id":"n394490725","loc":[-85.652369,41.929473],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490726":{"id":"n394490726","loc":[-85.6525,41.929452],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490727":{"id":"n394490727","loc":[-85.654066,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490728":{"id":"n394490728","loc":[-85.654816,41.92946],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490729":{"id":"n394490729","loc":[-85.654816,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490730":{"id":"n394490730","loc":[-85.654587,41.930337],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490731":{"id":"n394490731","loc":[-85.654548,41.931072],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490732":{"id":"n394490732","loc":[-85.654538,41.931701],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490733":{"id":"n394490733","loc":[-85.654898,41.931689],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490734":{"id":"n394490734","loc":[-85.654898,41.932505],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490735":{"id":"n394490735","loc":[-85.654854,41.932514],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490736":{"id":"n394490736","loc":[-85.655497,41.932499],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490737":{"id":"n394490737","loc":[-85.656405,41.932493],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490738":{"id":"n394490738","loc":[-85.656422,41.933416],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n394490739":{"id":"n394490739","loc":[-85.657322,41.933438],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:56Z","tags":{}},"n1475293233":{"id":"n1475293233","loc":[-85.6385522,41.9585167],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:50Z","tags":{}},"n1475293242":{"id":"n1475293242","loc":[-85.64609,41.9540815],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293249":{"id":"n1475293249","loc":[-85.6358079,41.9692721],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293256":{"id":"n1475293256","loc":[-85.6387369,41.9581583],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:51Z","tags":{}},"n1475293259":{"id":"n1475293259","loc":[-85.6455882,41.9541138],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1475293266":{"id":"n1475293266","loc":[-85.6451008,41.9541821],"version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{}},"n1819800253":{"id":"n1819800253","loc":[-85.6134286,41.9429692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:03:23Z","tags":{}},"n2114807558":{"id":"n2114807558","loc":[-85.6365609,41.963866],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{"railway":"level_crossing"}},"n2189015728":{"id":"n2189015728","loc":[-85.6383956,41.9590576],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015838":{"id":"n2189015838","loc":[-85.6435144,41.9563705],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015842":{"id":"n2189015842","loc":[-85.6415782,41.9557035],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015855":{"id":"n2189015855","loc":[-85.6440829,41.9554577],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2199109849":{"id":"n2199109849","loc":[-85.6393434,41.9565591],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109851":{"id":"n2199109851","loc":[-85.6393208,41.9565002],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:51Z","tags":{}},"n2199109857":{"id":"n2199109857","loc":[-85.6401986,41.955545],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109859":{"id":"n2199109859","loc":[-85.6402362,41.955587],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109861":{"id":"n2199109861","loc":[-85.6395958,41.9565675],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109863":{"id":"n2199109863","loc":[-85.639528,41.9566011],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"w209717053":{"id":"w209717053","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109829","n2199109831","n2199109833","n2199109835","n2199109829"]},"w17966415":{"id":"w17966415","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","name":"Manufacturing Way","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manufacturing","tiger:name_type":"Way","tiger:reviewed":"no"},"nodes":["n185971642","n185977232","n185977233","n185949745","n185949748","n185977234"]},"w209717054":{"id":"w209717054","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109837","n2199109839","n2199109841","n2199109843","n2199109845","n2199109847","n2199109837"]},"w208627214":{"id":"w208627214","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949755","n2189015728","n1475293233","n1475293256","n185952163","n185952161","n185952160","n185952158","n185949763","n1819848965","n1819848890","n185952156"]},"w17963817":{"id":"w17963817","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949765","n185953413","n185953417","n185953421","n185953423"]},"w34369809":{"id":"w34369809","version":"7","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:19Z","tags":{"admin_level":"8","boundary":"administrative","landuse":"residential","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490395","n394490396","n394490397","n394490398","n394490399","n394490400","n394490401","n394490402","n394490403","n394490404","n394490405","n394490406","n394490407","n394490408","n394490409","n394490410","n394490411","n394490412","n394490413","n394490414","n394490415","n394490416","n394490417","n394490418","n394490419","n394490420","n394490421","n394490422","n394490423","n394490424","n394490425","n394490426","n394490427","n394490428","n1475293242","n1475293259","n1475293266","n394490429","n394490430","n394490431","n394490432","n394490433","n394490434","n394490435","n394490436","n394490437","n394490438","n394490439","n394490440","n394490441","n394490442","n394490443","n394490444","n394490445","n394490446","n1475293249","n394490447","n394490448","n394490449","n394490450","n394490451","n394490452","n394490453","n394490454","n394490455","n394490456","n394490457","n394490458","n394490459","n394490460","n394490461","n394490462","n2114807558","n394490463","n1475293226","n394490464","n394490465","n394490466","n394490467","n394490468","n394490469","n394490470","n394490471","n394490472","n394490473","n394490474","n394490475","n394490476","n394490477","n394490478","n394490479","n394490480","n394490481","n394490482","n394490483","n394490484","n394490485","n394490486","n394490487","n394490488","n394490489","n394490490","n394490491","n394490492","n394490493","n394490494","n394490495","n394490496","n394490497","n394490498","n394490499","n394490500","n394490501","n394490502","n394490503","n394490504","n394490505","n394490506","n394490507","n394490508","n394490509","n394490510","n394490511","n394490512","n394490513","n394490514","n394490515","n394490516","n394490517","n394490518","n394490519","n394490520","n394490521","n394490522","n394490523","n394490524","n394490525","n394490526","n394490527","n394490528","n394490529","n394490530","n394490531","n394490532","n394490533","n394490534","n394490535","n394490536","n394490537","n394490538","n394490539","n394490540","n394490542","n394490545","n394490546","n394490547","n394490548","n394490549","n394490550","n394490551","n394490552","n394490553","n394490554","n394490555","n394490556","n394490557","n394490558","n394490559","n394490560","n394490561","n394490562","n394490563","n394490564","n394490565","n394490566","n394490567","n394490568","n394490569","n394490570","n394490571","n1819800253","n394490572","n394490573","n394490574","n394490575","n394490576","n394490577","n394490578","n394490579","n394490580","n394490582","n394490583","n394490585","n394490586","n394490588","n394490589","n394490590","n394490592","n394490594","n394490595","n394490596","n394490598","n394490599","n394490601","n394490602","n394490604","n394490605","n394490607","n394490608","n394490609","n394490611","n394490612","n394490613","n394490614","n394490615","n394490616","n394490617","n394490618","n394490619","n394490620","n394490621","n394490622","n394490623","n394490624","n394490625","n394490626","n394490627","n394490628","n394490629","n394490630","n394490631","n394490632","n394490633","n394490634","n394490635","n394490636","n394490637","n394490638","n394490639","n394490699","n394490700","n394490701","n394490702","n394490703","n394490704","n394490705","n394490706","n394490707","n394490708","n394490709","n394490710","n394490711","n394490712","n394490713","n394490714","n394490715","n394490716","n394490717","n394490718","n394490719","n394490720","n394490721","n394490722","n394490723","n394490724","n394490725","n394490726","n394490727","n394490728","n394490729","n394490730","n394490731","n394490732","n394490733","n394490734","n394490735","n394490736","n394490737","n394490738","n394490739","n394490395"]},"w208627221":{"id":"w208627221","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015838","n2189015842","n2189015846","n2189015849","n2189015852","n2189015855","n2189015838"]},"w209717052":{"id":"w209717052","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109816","n2199109818","n2199109820","n2199109822","n2199109825","n2199109827","n2199109816"]},"w134151784":{"id":"w134151784","version":"1","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:54:52Z","tags":{"bridge":"yes","highway":"residential","name":"W Hoffman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312195:15312958:15312207:15313273:15328372:15328373","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185971648","n185971651"]},"w209717055":{"id":"w209717055","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","landuse":"basin"},"nodes":["n2199109849","n2199109851","n2199109853","n2199109855","n2199109857","n2199109859","n2199109861","n2199109863","n2199109849"]},"w17967763":{"id":"w17967763","version":"2","changeset":"9619138","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2011-10-21T19:55:04Z","tags":{"highway":"residential","name":"Rock River Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Rock River","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312230:15312252:15335064:15333550","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093"},"nodes":["n1475293244","n185982166","n185975067","n185971637"]},"r134949":{"id":"r134949","version":"2","changeset":"14979874","user":"malenki","uid":"39504","visible":"true","timestamp":"2013-02-10T12:18:08Z","tags":{"admin_level":"8","border_type":"city","boundary":"administrative","is_in":"USA, Michigan","is_in:country":"USA","is_in:country_code":"US","is_in:iso_3166_2":"US:MI","is_in:state":"Michigan","is_in:state_code":"MI","name":"Three Rivers","place":"city","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)","tiger:CLASSFP":"C5","tiger:CPI":"Y","tiger:FUNCSTAT":"A","tiger:LSAD":"25","tiger:MTFCC":"G4110","tiger:NAME":"Three Rivers","tiger:NAMELSAD":"Three Rivers city","tiger:PCICBSA":"N","tiger:PCINECTA":"N","tiger:PLACEFP":"79760","tiger:PLACENS":"01627164","tiger:PLCIDFP":"2679760","tiger:STATEFP":"26","type":"boundary","wikipedia":"en:Three Rivers, Michigan"},"members":[{"id":"w34369809","type":"way","role":"outer"},{"id":"w34369821","type":"way","role":"outer"},{"id":"w34369822","type":"way","role":"outer"},{"id":"w34369823","type":"way","role":"outer"},{"id":"w34369824","type":"way","role":"outer"},{"id":"w34369825","type":"way","role":"outer"},{"id":"w34369826","type":"way","role":"outer"},{"id":"w34369810","type":"way","role":"inner"},{"id":"w34369811","type":"way","role":"inner"},{"id":"w34369812","type":"way","role":"inner"},{"id":"w34367079","type":"way","role":"inner"},{"id":"w34369814","type":"way","role":"inner"},{"id":"w34367080","type":"way","role":"inner"},{"id":"w34369815","type":"way","role":"inner"},{"id":"w34369820","type":"way","role":"inner"}]},"n1819848881":{"id":"n1819848881","loc":[-85.638562,41.9569965],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:49Z","tags":{}},"n1819848947":{"id":"n1819848947","loc":[-85.6384348,41.9576565],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:51Z","tags":{}},"n1819849044":{"id":"n1819849044","loc":[-85.6385749,41.9573345],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n2114807547":{"id":"n2114807547","loc":[-85.6384626,41.9583756],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807564":{"id":"n2114807564","loc":[-85.638535,41.9581283],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015691":{"id":"n2189015691","loc":[-85.6435584,41.9565243],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:49Z","tags":{}},"n2189015696":{"id":"n2189015696","loc":[-85.6435805,41.9566049],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015722":{"id":"n2189015722","loc":[-85.6435035,41.9567438],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015744":{"id":"n2189015744","loc":[-85.6437991,41.9569582],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015747":{"id":"n2189015747","loc":[-85.6433042,41.9567742],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015750":{"id":"n2189015750","loc":[-85.6433827,41.9566844],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015753":{"id":"n2189015753","loc":[-85.6430447,41.9565588],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015756":{"id":"n2189015756","loc":[-85.6431111,41.956451],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015759":{"id":"n2189015759","loc":[-85.6420247,41.956083],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015760":{"id":"n2189015760","loc":[-85.6419945,41.9561369],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015764":{"id":"n2189015764","loc":[-85.6413729,41.9558945],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015766":{"id":"n2189015766","loc":[-85.6412884,41.9560606],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015770":{"id":"n2189015770","loc":[-85.6411798,41.9560112],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015771":{"id":"n2189015771","loc":[-85.6410651,41.9562132],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015774":{"id":"n2189015774","loc":[-85.6409504,41.9561728],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015778":{"id":"n2189015778","loc":[-85.6407996,41.9564241],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015781":{"id":"n2189015781","loc":[-85.6406889,41.9563892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015785":{"id":"n2189015785","loc":[-85.6404857,41.9567024],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015789":{"id":"n2189015789","loc":[-85.6406909,41.9567877],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015793":{"id":"n2189015793","loc":[-85.6405642,41.9570165],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015796":{"id":"n2189015796","loc":[-85.6415359,41.9573711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015800":{"id":"n2189015800","loc":[-85.6411738,41.9579501],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015804":{"id":"n2189015804","loc":[-85.6411119,41.957921],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015808":{"id":"n2189015808","loc":[-85.6403186,41.9591751],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015909":{"id":"n2189015909","loc":[-85.6389293,41.9564636],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015926":{"id":"n2189015926","loc":[-85.6385431,41.9564617],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015929":{"id":"n2189015929","loc":[-85.6385457,41.9561823],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015932":{"id":"n2189015932","loc":[-85.6389319,41.9561843],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2199109865":{"id":"n2199109865","loc":[-85.6400768,41.956776],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109867":{"id":"n2199109867","loc":[-85.639902,41.9567153],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109869":{"id":"n2199109869","loc":[-85.640004,41.956553],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109871":{"id":"n2199109871","loc":[-85.6401788,41.9566137],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109873":{"id":"n2199109873","loc":[-85.6399316,41.9564506],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{"man_made":"water_tower"}},"n2199109876":{"id":"n2199109876","loc":[-85.6397689,41.9572354],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109878":{"id":"n2199109878","loc":[-85.6399229,41.9569826],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109880":{"id":"n2199109880","loc":[-85.639706,41.9569095],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109882":{"id":"n2199109882","loc":[-85.639552,41.9571623],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109884":{"id":"n2199109884","loc":[-85.6391028,41.9569517],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109886":{"id":"n2199109886","loc":[-85.6392876,41.956646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109888":{"id":"n2199109888","loc":[-85.639484,41.9567117],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109889":{"id":"n2199109889","loc":[-85.6394322,41.9567973],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109890":{"id":"n2199109890","loc":[-85.6393718,41.9567771],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109891":{"id":"n2199109891","loc":[-85.6392387,41.9569972],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n1819848900":{"id":"n1819848900","loc":[-85.638281,41.9576578],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:50Z","tags":{}},"n1819848978":{"id":"n1819848978","loc":[-85.6377186,41.9580867],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:53Z","tags":{}},"n1819849039":{"id":"n1819849039","loc":[-85.6384217,41.9573405],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:54Z","tags":{}},"n1819849050":{"id":"n1819849050","loc":[-85.6377011,41.9570042],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:55Z","tags":{}},"n1819849088":{"id":"n1819849088","loc":[-85.6382879,41.9580817],"version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:47:56Z","tags":{}},"n2114807549":{"id":"n2114807549","loc":[-85.6362551,41.96473],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807587":{"id":"n2114807587","loc":[-85.6368694,41.9629829],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015725":{"id":"n2189015725","loc":[-85.644156,41.9569753],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015741":{"id":"n2189015741","loc":[-85.6419825,41.9597632],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"w208627217":{"id":"w208627217","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015741","n2189015744","n2189015747","n2189015750","n2189015753","n2189015756","n2189015759","n2189015760","n2189015764","n2189015766","n2189015770","n2189015771","n2189015774","n2189015778","n2189015781","n2189015785","n2189015789","n2189015793","n2189015796","n2189015800","n2189015804","n2189015808","n2189015741"]},"w208627212":{"id":"w208627212","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"highway":"service"},"nodes":["n2189015691","n2189015696","n2189015722","n2189015725"]},"w209717057":{"id":"w209717057","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109876","n2199109878","n2199109880","n2199109882","n2199109876"]},"w209717056":{"id":"w209717056","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109865","n2199109867","n2199109869","n2199109871","n2199109865"]},"w208627231":{"id":"w208627231","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015909","n2189015926","n2189015929","n2189015932","n2189015909"]},"w170848326":{"id":"w170848326","version":"1","changeset":"12170158","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T07:48:00Z","tags":{"building":"yes","source":"Bing"},"nodes":["n1819848881","n1819849050","n1819848978","n1819849088","n1819848900","n1819848947","n1819849039","n1819849044","n1819848881"]},"w17963182":{"id":"w17963182","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:55Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no"},"nodes":["n185949763","n185949765","n2189015691","n185949745"]},"w201484340":{"id":"w201484340","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807565","n2114807564","n2114807547","n2114807587","n2114807558","n2114807549","n2114807593"]},"w209717058":{"id":"w209717058","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109884","n2199109886","n2199109888","n2199109889","n2199109890","n2199109891","n2199109884"]},"n185954650":{"id":"n185954650","loc":[-85.627331,41.957439],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:31Z","tags":{}},"n185966949":{"id":"n185966949","loc":[-85.626868,41.957314],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"n185989335":{"id":"n185989335","loc":[-85.62529,41.958568],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989337":{"id":"n185989337","loc":[-85.624962,41.958453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989339":{"id":"n185989339","loc":[-85.624832,41.958399],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989340":{"id":"n185989340","loc":[-85.624707,41.958325],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989342":{"id":"n185989342","loc":[-85.624636,41.958251],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989345":{"id":"n185989345","loc":[-85.624578,41.95818],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989347":{"id":"n185989347","loc":[-85.624533,41.958099],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989349":{"id":"n185989349","loc":[-85.624507,41.957985],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989351":{"id":"n185989351","loc":[-85.624495,41.957807],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989353":{"id":"n185989353","loc":[-85.624514,41.957663],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989354":{"id":"n185989354","loc":[-85.624577,41.957593],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989356":{"id":"n185989356","loc":[-85.624685,41.95754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:27Z","tags":{}},"n185989357":{"id":"n185989357","loc":[-85.624802,41.957523],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989359":{"id":"n185989359","loc":[-85.624996,41.957524],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989361":{"id":"n185989361","loc":[-85.625409,41.957515],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989364":{"id":"n185989364","loc":[-85.625634,41.957496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989367":{"id":"n185989367","loc":[-85.625832,41.957453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n185989368":{"id":"n185989368","loc":[-85.626044,41.957394],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:14:28Z","tags":{}},"n354031352":{"id":"n354031352","loc":[-85.6252778,41.9586111],"version":"3","changeset":"3908860","user":"Geogast","uid":"51045","visible":"true","timestamp":"2010-02-18T13:28:26Z","tags":{"amenity":"place_of_worship","denomination":"baptist","ele":"250","gnis:county_id":"149","gnis:created":"04/30/2008","gnis:feature_id":"2417873","gnis:state_id":"26","name":"First Baptist Church","religion":"christian"}},"n2199109892":{"id":"n2199109892","loc":[-85.6261578,41.9589963],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109893":{"id":"n2199109893","loc":[-85.6263191,41.9586865],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109894":{"id":"n2199109894","loc":[-85.6261186,41.9586288],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109895":{"id":"n2199109895","loc":[-85.6260644,41.9587329],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109896":{"id":"n2199109896","loc":[-85.6261547,41.9587589],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n2199109898":{"id":"n2199109898","loc":[-85.6260476,41.9589646],"version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:52Z","tags":{}},"n185966951":{"id":"n185966951","loc":[-85.628404,41.957438],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:50Z","tags":{}},"w17965351":{"id":"w17965351","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:20Z","tags":{"highway":"residential","name":"Flower Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Flower","tiger:name_type":"St","tiger:reviewed":"no"},"nodes":["n185966948","n185966949","n185954650","n185966951","n185966953","n185966955","n185966957"]},"w17967809":{"id":"w17967809","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:21Z","tags":{"highway":"residential","name":"Azaleamum Drive","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Azaleamum","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185982197","n185989335","n185989337","n185989339","n185989340","n185989342","n185989345","n185989347","n185989349","n185989351","n185989353","n185989354","n185989356","n185989357","n185989359","n185989361","n185989364","n185989367","n185989368","n185982196"]},"w209717059":{"id":"w209717059","version":"1","changeset":"15347594","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-13T05:16:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2199109892","n2199109893","n2199109894","n2199109895","n2199109896","n2199109898","n2199109892"]},"n185961390":{"id":"n185961390","loc":[-85.63137,41.959033],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"n185961393":{"id":"n185961393","loc":[-85.634315,41.959017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:59:39Z","tags":{}},"w17966214":{"id":"w17966214","version":"2","changeset":"15473186","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-24T01:52:22Z","tags":{"highway":"residential","name":"East Adams Street","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093"},"nodes":["n185975351","n185967434","n185968108"]},"w17964793":{"id":"w17964793","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:32:05Z","tags":{"highway":"residential","name":"Morris Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Morris","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312148:15328241:15328242","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185961389","n185961390","n185961391","n185961393","n185961396"]},"n185952166":{"id":"n185952166","loc":[-85.638174,41.95831],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:55:11Z","tags":{}},"n2114807552":{"id":"n2114807552","loc":[-85.6383526,41.9593788],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807591":{"id":"n2114807591","loc":[-85.6383741,41.9593968],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015731":{"id":"n2189015731","loc":[-85.6368404,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015734":{"id":"n2189015734","loc":[-85.6368404,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015737":{"id":"n2189015737","loc":[-85.6376009,41.9585918],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015738":{"id":"n2189015738","loc":[-85.6376009,41.9592785],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:50Z","tags":{}},"n2189015897":{"id":"n2189015897","loc":[-85.6376839,41.9566137],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015900":{"id":"n2189015900","loc":[-85.6376831,41.9564865],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015903":{"id":"n2189015903","loc":[-85.6381161,41.9564851],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015906":{"id":"n2189015906","loc":[-85.6381168,41.9566122],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015937":{"id":"n2189015937","loc":[-85.6364789,41.9590634],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015940":{"id":"n2189015940","loc":[-85.6361137,41.9590672],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015943":{"id":"n2189015943","loc":[-85.6361169,41.9594033],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015945":{"id":"n2189015945","loc":[-85.6363456,41.9594021],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015952":{"id":"n2189015952","loc":[-85.636112,41.958892],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015955":{"id":"n2189015955","loc":[-85.6364757,41.9588894],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015957":{"id":"n2189015957","loc":[-85.6364729,41.9586747],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015958":{"id":"n2189015958","loc":[-85.6361103,41.9586765],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015959":{"id":"n2189015959","loc":[-85.6364719,41.9585562],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015960":{"id":"n2189015960","loc":[-85.6361093,41.958558],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015961":{"id":"n2189015961","loc":[-85.6355494,41.9586403],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015962":{"id":"n2189015962","loc":[-85.635549,41.9584711],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015963":{"id":"n2189015963","loc":[-85.6351831,41.9584715],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015964":{"id":"n2189015964","loc":[-85.6351834,41.9586408],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015966":{"id":"n2189015966","loc":[-85.6359579,41.9586359],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015968":{"id":"n2189015968","loc":[-85.6359561,41.9585465],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015971":{"id":"n2189015971","loc":[-85.6355476,41.9585509],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015974":{"id":"n2189015974","loc":[-85.6359516,41.9592934],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015977":{"id":"n2189015977","loc":[-85.635949,41.9586697],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015980":{"id":"n2189015980","loc":[-85.6351329,41.9586716],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015983":{"id":"n2189015983","loc":[-85.6351318,41.9583949],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015986":{"id":"n2189015986","loc":[-85.6349148,41.9583954],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015989":{"id":"n2189015989","loc":[-85.6349186,41.9592958],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015995":{"id":"n2189015995","loc":[-85.6360173,41.9593286],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015998":{"id":"n2189015998","loc":[-85.6360278,41.9583079],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2114807550":{"id":"n2114807550","loc":[-85.6383392,41.9595404],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807551":{"id":"n2114807551","loc":[-85.6375855,41.9616107],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807559":{"id":"n2114807559","loc":[-85.6373978,41.9621273],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807562":{"id":"n2114807562","loc":[-85.6373361,41.9622609],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807563":{"id":"n2114807563","loc":[-85.6376472,41.9613953],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807574":{"id":"n2114807574","loc":[-85.636974,41.9627695],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807589":{"id":"n2114807589","loc":[-85.6383017,41.9595005],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807592":{"id":"n2114807592","loc":[-85.6377169,41.9613494],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2114807595":{"id":"n2114807595","loc":[-85.6371081,41.962574],"version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:15Z","tags":{}},"n2189015934":{"id":"n2189015934","loc":[-85.6364855,41.9595098],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"n2189015949":{"id":"n2189015949","loc":[-85.6363466,41.9595105],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:51Z","tags":{}},"w208627244":{"id":"w208627244","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"highway":"service"},"nodes":["n2189015992","n2189015995","n2189015998"]},"w208627240":{"id":"w208627240","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015971","n2189015962","n2189015963","n2189015964","n2189015961"]},"w17967437":{"id":"w17967437","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:44Z","tags":{"highway":"residential","name":"Lyman St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Lyman","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313234","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185964361","n185984024"]},"w208627237":{"id":"w208627237","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015955","n2189015957","n2189015958","n2189015952","n2189015955"]},"w17967465":{"id":"w17967465","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:51:57Z","tags":{"highway":"residential","name":"W Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_direction_prefix":"W","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312177","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185978394","n185984022","n185964360"]},"w208627228":{"id":"w208627228","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015897","n2189015900","n2189015903","n2189015906","n2189015897"]},"w201484351":{"id":"w201484351","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:17Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807587","n2114807574","n2114807595","n2114807562","n2114807559","n2114807551","n2114807563","n2114807589","n2114807552"]},"w208627239":{"id":"w208627239","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015957","n2189015959","n2189015960","n2189015958","n2189015957"]},"w208627233":{"id":"w208627233","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015934","n2189015937","n2189015940","n2189015943","n2189015945","n2189015949","n2189015934"]},"w208627241":{"id":"w208627241","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015961","n2189015966","n2189015968","n2189015971","n2189015961"]},"w17967970":{"id":"w17967970","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:20Z","tags":{"highway":"residential","name":"Adams St","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Adams","tiger:name_type":"St","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312180","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185975351","n185978394"]},"w208627235":{"id":"w208627235","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015940","n2189015952","n2189015955","n2189015937","n2189015940"]},"w17965468":{"id":"w17965468","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Armstrong Blvd","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Armstrong","tiger:name_type":"Blvd","tiger:reviewed":"no"},"nodes":["n185967917","n2189015998","n185967918","n185964362","n185952166"]},"w201484346":{"id":"w201484346","version":"1","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:16Z","tags":{"railway":"rail","service":"siding","source":"Bing"},"nodes":["n2114807551","n2114807592","n2114807550","n2114807591"]},"w208627242":{"id":"w208627242","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189015974","n2189015977","n2189015980","n2189015983","n2189015986","n2189015989","n2189015974"]},"w208627216":{"id":"w208627216","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:53Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189015731","n2189015734","n2189015737","n2189015738","n2189015731"]},"n185984309":{"id":"n185984309","loc":[-85.631421,41.961494],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:11:55Z","tags":{}},"n185987987":{"id":"n185987987","loc":[-85.631456,41.960673],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:13:29Z","tags":{}},"n185965397":{"id":"n185965397","loc":[-85.634603,41.959838],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:52Z","tags":{}},"w17965196":{"id":"w17965196","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:10Z","tags":{"highway":"residential","name":"Burke Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Burke","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15312145","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965395","n185965397","n185965399"]},"w17967215":{"id":"w17967215","version":"2","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:56Z","tags":{"highway":"residential","name":"Kellogg Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Kellogg","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968114","n185984309","n185967440","n185978402"]},"w17967597":{"id":"w17967597","version":"2","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:20Z","tags":{"highway":"residential","name":"Barnard Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Barnard","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185968112","n185987987","n185967438","n185978399"]},"n394490857":{"id":"n394490857","loc":[-85.633952,41.960664],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490858":{"id":"n394490858","loc":[-85.633938,41.960227],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:00Z","tags":{}},"n394490859":{"id":"n394490859","loc":[-85.634794,41.960212],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490860":{"id":"n394490860","loc":[-85.634815,41.960662],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490861":{"id":"n394490861","loc":[-85.634103,41.961268],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490862":{"id":"n394490862","loc":[-85.634103,41.961001],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490863":{"id":"n394490863","loc":[-85.634504,41.961003],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n394490864":{"id":"n394490864","loc":[-85.634561,41.961269],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{}},"n1057629869":{"id":"n1057629869","loc":[-85.6382599,41.9612134],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629937":{"id":"n1057629937","loc":[-85.6380035,41.9616137],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"n2189016014":{"id":"n2189016014","loc":[-85.6360365,41.9626496],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016017":{"id":"n2189016017","loc":[-85.6360374,41.9623228],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016020":{"id":"n2189016020","loc":[-85.6367557,41.9623239],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016022":{"id":"n2189016022","loc":[-85.6367566,41.9619919],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016025":{"id":"n2189016025","loc":[-85.6351794,41.9619893],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016028":{"id":"n2189016028","loc":[-85.6351788,41.9622011],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016031":{"id":"n2189016031","loc":[-85.6350855,41.9622009],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016034":{"id":"n2189016034","loc":[-85.6350845,41.962527],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016037":{"id":"n2189016037","loc":[-85.6352732,41.9625273],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016039":{"id":"n2189016039","loc":[-85.6352738,41.9623178],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016042":{"id":"n2189016042","loc":[-85.6357712,41.9623186],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n2189016044":{"id":"n2189016044","loc":[-85.6357702,41.9626492],"version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:52Z","tags":{}},"n1057629880":{"id":"n1057629880","loc":[-85.638817,41.9619017],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:10Z","tags":{}},"n1057629923":{"id":"n1057629923","loc":[-85.6390733,41.9615014],"version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:11Z","tags":{}},"w91092312":{"id":"w91092312","version":"1","changeset":"6740055","user":"42429","uid":"42429","visible":"true","timestamp":"2010-12-22T21:14:12Z","tags":{"power":"station"},"nodes":["n1057629923","n1057629869","n1057629937","n1057629880","n1057629923"]},"w34369826":{"id":"w34369826","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490861","n394490862","n394490863","n394490864","n394490861"]},"w34369825":{"id":"w34369825","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:08:01Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490857","n394490858","n394490859","n394490860","n394490857"]},"w208627248":{"id":"w208627248","version":"1","changeset":"15276188","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-06T21:42:54Z","tags":{"area":"yes","building":"yes"},"nodes":["n2189016014","n2189016017","n2189016020","n2189016022","n2189016025","n2189016028","n2189016031","n2189016034","n2189016037","n2189016039","n2189016042","n2189016044","n2189016014"]},"n394490766":{"id":"n394490766","loc":[-85.616777,41.955642],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490768":{"id":"n394490768","loc":[-85.617239,41.955644],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490792":{"id":"n394490792","loc":[-85.619034,41.95543],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185972055":{"id":"n185972055","loc":[-85.6185905,41.9568211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972057":{"id":"n185972057","loc":[-85.6186688,41.9570086],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972059":{"id":"n185972059","loc":[-85.6186924,41.9581453],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185972060":{"id":"n185972060","loc":[-85.6187082,41.9588211],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n1819790724":{"id":"n1819790724","loc":[-85.6182155,41.9555703],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790735":{"id":"n1819790735","loc":[-85.6184059,41.9566188],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790799":{"id":"n1819790799","loc":[-85.6182372,41.9563771],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790896":{"id":"n1819790896","loc":[-85.6181431,41.9557227],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n185971405":{"id":"n185971405","loc":[-85.6186766,41.9577468],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971565":{"id":"n185971565","loc":[-85.6181613,41.9560879],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967985":{"id":"n185967985","loc":[-85.6186798,41.9585791],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955753":{"id":"n185955753","loc":[-85.620773,41.9555854],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955755":{"id":"n185955755","loc":[-85.6212652,41.9559891],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185955748":{"id":"n185955748","loc":[-85.620722,41.954858],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185955751":{"id":"n185955751","loc":[-85.6206912,41.955367],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185967987":{"id":"n185967987","loc":[-85.6159351,41.9585809],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971407":{"id":"n185971407","loc":[-85.6159142,41.9577578],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971570":{"id":"n185971570","loc":[-85.6162248,41.95603],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971572":{"id":"n185971572","loc":[-85.6160402,41.9560749],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185971574":{"id":"n185971574","loc":[-85.61593,41.956201],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185981301":{"id":"n185981301","loc":[-85.6158973,41.9581601],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:05Z","tags":{}},"n394490762":{"id":"n394490762","loc":[-85.617193,41.954706],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490764":{"id":"n394490764","loc":[-85.616773,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490787":{"id":"n394490787","loc":[-85.618972,41.954737],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490790":{"id":"n394490790","loc":[-85.619046,41.954929],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490794":{"id":"n394490794","loc":[-85.619922,41.955296],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490796":{"id":"n394490796","loc":[-85.61991,41.95501],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490798":{"id":"n394490798","loc":[-85.619974,41.954751],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n1819790677":{"id":"n1819790677","loc":[-85.6187031,41.9550522],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790787":{"id":"n1819790787","loc":[-85.6186436,41.9552022],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790828":{"id":"n1819790828","loc":[-85.6185127,41.9553393],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"w17966857":{"id":"w17966857","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:55Z","tags":{"access":"private","highway":"service","name":"Sable River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sable River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326128","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972059","n185981301"]},"w34369814":{"id":"w34369814","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490787","n394490790","n394490792","n394490794","n394490796","n394490798","n394490787"]},"w17964176":{"id":"w17964176","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:42Z","tags":{"highway":"residential","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314404","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955747","n185955748","n185955751","n185955753","n185955755"]},"w17965838":{"id":"w17965838","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:40:09Z","tags":{"access":"private","highway":"service","name":"Pine River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Pine River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326123","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971405","n185971407"]},"w17965476":{"id":"w17965476","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:37:16Z","tags":{"access":"private","highway":"service","name":"Raisin River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Raisin River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326112","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185967985","n185967987"]},"w17965913":{"id":"w17965913","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Shiawassee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Shiawassee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326124:15326125:15326111:15326113:15326119","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972054","n1819790677","n1819790787","n1819790828","n1819790724","n1819790896","n185971565","n1819790799","n1819790735","n185972055","n185972057","n185971405","n185972059","n185967985","n185972060"]},"w34369811":{"id":"w34369811","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490762","n394490764","n394490766","n394490768","n394490762"]},"w17965854":{"id":"w17965854","version":"2","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:06Z","tags":{"access":"private","highway":"service","name":"Sturgeon River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Sturgeon River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326117","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971565","n185971570","n185971572","n185971574"]},"n2139795769":{"id":"n2139795769","loc":[-85.6250804,41.9608796],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795770":{"id":"n2139795770","loc":[-85.6250315,41.9613684],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795771":{"id":"n2139795771","loc":[-85.6249671,41.9614362],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795772":{"id":"n2139795772","loc":[-85.6249698,41.961522],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795773":{"id":"n2139795773","loc":[-85.6250798,41.9615838],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:55Z","tags":{}},"n2139795774":{"id":"n2139795774","loc":[-85.6252273,41.9615639],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795775":{"id":"n2139795775","loc":[-85.6252863,41.9614622],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795776":{"id":"n2139795776","loc":[-85.6252273,41.9613764],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795777":{"id":"n2139795777","loc":[-85.6251227,41.9613525],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795778":{"id":"n2139795778","loc":[-85.6249564,41.9612527],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795779":{"id":"n2139795779","loc":[-85.6249846,41.9610254],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795780":{"id":"n2139795780","loc":[-85.6266725,41.9599647],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795781":{"id":"n2139795781","loc":[-85.6259162,41.9599711],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795782":{"id":"n2139795782","loc":[-85.6257185,41.960019],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n2139795783":{"id":"n2139795783","loc":[-85.6255509,41.9601213],"version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:56Z","tags":{}},"n185963539":{"id":"n185963539","loc":[-85.615718,41.983893],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:00:58Z","tags":{}},"n185964418":{"id":"n185964418","loc":[-85.616626,42.049512],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:23Z","tags":{}},"n185966614":{"id":"n185966614","loc":[-85.615514,41.976603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:41Z","tags":{}},"n185966635":{"id":"n185966635","loc":[-85.616118,42.013017],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:42Z","tags":{}},"n185969040":{"id":"n185969040","loc":[-85.615632,41.972357],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:45Z","tags":{}},"n185969070":{"id":"n185969070","loc":[-85.619145,41.967648],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:03:46Z","tags":{}},"n185972156":{"id":"n185972156","loc":[-85.621894,41.963956],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972157":{"id":"n185972157","loc":[-85.621806,41.964077],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972158":{"id":"n185972158","loc":[-85.620848,41.965341],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972159":{"id":"n185972159","loc":[-85.620684,41.965558],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972160":{"id":"n185972160","loc":[-85.620621,41.965658],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972161":{"id":"n185972161","loc":[-85.617844,41.969359],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972162":{"id":"n185972162","loc":[-85.616843,41.97068],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972164":{"id":"n185972164","loc":[-85.616714,41.970839],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972166":{"id":"n185972166","loc":[-85.615879,41.971969],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972168":{"id":"n185972168","loc":[-85.615748,41.972159],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972170":{"id":"n185972170","loc":[-85.615589,41.972502],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972172":{"id":"n185972172","loc":[-85.615542,41.972733],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972175":{"id":"n185972175","loc":[-85.615524,41.972947],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972177":{"id":"n185972177","loc":[-85.615512,41.973715],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972179":{"id":"n185972179","loc":[-85.615513,41.976496],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:18Z","tags":{}},"n185972180":{"id":"n185972180","loc":[-85.615538,41.977246],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972181":{"id":"n185972181","loc":[-85.61558,41.982139],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972184":{"id":"n185972184","loc":[-85.61557,41.983317],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972186":{"id":"n185972186","loc":[-85.615591,41.983463],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972188":{"id":"n185972188","loc":[-85.615763,41.984146],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972190":{"id":"n185972190","loc":[-85.615814,41.98435],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972192":{"id":"n185972192","loc":[-85.615965,41.998453],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972194":{"id":"n185972194","loc":[-85.615982,42.001237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972195":{"id":"n185972195","loc":[-85.616055,42.00555],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972197":{"id":"n185972197","loc":[-85.616134,42.014887],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972199":{"id":"n185972199","loc":[-85.616177,42.018465],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972201":{"id":"n185972201","loc":[-85.616298,42.027627],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"n185972203":{"id":"n185972203","loc":[-85.616513,42.042212],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:05:19Z","tags":{}},"w203968015":{"id":"w203968015","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential"},"nodes":["n2139795768","n2139795769"]},"w17965932":{"id":"w17965932","version":"2","changeset":"14531170","user":"bot-mode","uid":"451693","visible":"true","timestamp":"2013-01-04T21:15:18Z","tags":{"highway":"residential","name":"Buckhorn Road","name_1":"County Highway 122","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Buckhorn","tiger:name_base_1":"County Highway 122","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185972155","n185972156","n185972157","n185972158","n185972159","n185972160","n185969070","n185972161","n185972162","n185972164","n185972166","n185972168","n185969040","n185972170","n185972172","n185972175","n185972177","n185972179","n185966614","n185972180","n185972181","n185972184","n185972186","n185963539","n185972188","n185972190","n185972192","n185972194","n185972195","n185966635","n185972197","n185972199","n185972201","n185972203","n185964418"]},"w203968016":{"id":"w203968016","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"New Jersey Court"},"nodes":["n2139795770","n2139795771","n2139795772","n2139795773","n2139795774","n2139795775","n2139795776","n2139795777","n2139795770","n2139795778","n2139795779","n2139795769"]},"w203968017":{"id":"w203968017","version":"1","changeset":"14892219","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-03T07:47:58Z","tags":{"highway":"residential","name":"Oklahoma Drive"},"nodes":["n2139795780","n2139795781","n2139795782","n2139795783","n2139795769"]},"n1819790528":{"id":"n1819790528","loc":[-85.6184827,41.960025],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790530":{"id":"n1819790530","loc":[-85.6168626,41.9605834],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790534":{"id":"n1819790534","loc":[-85.6197379,41.9617163],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790541":{"id":"n1819790541","loc":[-85.6198881,41.9620833],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790543":{"id":"n1819790543","loc":[-85.619695,41.9619397],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790547":{"id":"n1819790547","loc":[-85.6190298,41.9609504],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790555":{"id":"n1819790555","loc":[-85.6180471,41.9609788],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790559":{"id":"n1819790559","loc":[-85.6203817,41.9605436],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790583":{"id":"n1819790583","loc":[-85.6201564,41.9603282],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790590":{"id":"n1819790590","loc":[-85.617045,41.9598894],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790609":{"id":"n1819790609","loc":[-85.6177638,41.9598495],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790618":{"id":"n1819790618","loc":[-85.6195234,41.9610143],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790642":{"id":"n1819790642","loc":[-85.6181179,41.9627933],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790659":{"id":"n1819790659","loc":[-85.6174634,41.962897],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790665":{"id":"n1819790665","loc":[-85.6170343,41.9630885],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790674":{"id":"n1819790674","loc":[-85.6194697,41.9601925],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790685":{"id":"n1819790685","loc":[-85.6207722,41.9610665],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790687":{"id":"n1819790687","loc":[-85.6202315,41.9622109],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790697":{"id":"n1819790697","loc":[-85.6184505,41.9624662],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790726":{"id":"n1819790726","loc":[-85.6178926,41.9628492],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790738":{"id":"n1819790738","loc":[-85.6173347,41.9598016],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790762":{"id":"n1819790762","loc":[-85.6186221,41.9609105],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790774":{"id":"n1819790774","loc":[-85.6175922,41.9608308],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790781":{"id":"n1819790781","loc":[-85.6167768,41.9633198],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790796":{"id":"n1819790796","loc":[-85.619856,41.961461],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790811":{"id":"n1819790811","loc":[-85.6208215,41.9620195],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790833":{"id":"n1819790833","loc":[-85.618311,41.9612536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790854":{"id":"n1819790854","loc":[-85.6183646,41.9626417],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790863":{"id":"n1819790863","loc":[-85.6204997,41.9608547],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790867":{"id":"n1819790867","loc":[-85.6184934,41.9621391],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790877":{"id":"n1819790877","loc":[-85.6206928,41.9621152],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790881":{"id":"n1819790881","loc":[-85.6170879,41.960735],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790891":{"id":"n1819790891","loc":[-85.6168304,41.9601207],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790898":{"id":"n1819790898","loc":[-85.619813,41.9612297],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790909":{"id":"n1819790909","loc":[-85.6167982,41.960376],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790912":{"id":"n1819790912","loc":[-85.6205855,41.9610462],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790544":{"id":"n1819790544","loc":[-85.612968,41.9707781],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790549":{"id":"n1819790549","loc":[-85.614395,41.9697172],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790552":{"id":"n1819790552","loc":[-85.6180535,41.9655536],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790554":{"id":"n1819790554","loc":[-85.6111227,41.9703713],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:53Z","tags":{}},"n1819790560":{"id":"n1819790560","loc":[-85.6112729,41.9701958],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790563":{"id":"n1819790563","loc":[-85.6137512,41.9689917],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790564":{"id":"n1819790564","loc":[-85.6181072,41.9659205],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790595":{"id":"n1819790595","loc":[-85.6170021,41.9666863],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790605":{"id":"n1819790605","loc":[-85.6168948,41.9644527],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790606":{"id":"n1819790606","loc":[-85.6128071,41.9701081],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790607":{"id":"n1819790607","loc":[-85.6129251,41.9704032],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:54Z","tags":{}},"n1819790612":{"id":"n1819790612","loc":[-85.6177638,41.9663912],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790615":{"id":"n1819790615","loc":[-85.6152533,41.9670373],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790622":{"id":"n1819790622","loc":[-85.6146739,41.9673804],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790623":{"id":"n1819790623","loc":[-85.6180428,41.9661838],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790625":{"id":"n1819790625","loc":[-85.6172918,41.9646202],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:55Z","tags":{}},"n1819790645":{"id":"n1819790645","loc":[-85.6178067,41.965043],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790647":{"id":"n1819790647","loc":[-85.6143306,41.9712488],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790649":{"id":"n1819790649","loc":[-85.6147383,41.9707702],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790654":{"id":"n1819790654","loc":[-85.6157361,41.9668459],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790657":{"id":"n1819790657","loc":[-85.6145666,41.9710733],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790668":{"id":"n1819790668","loc":[-85.6166909,41.9642692],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790671":{"id":"n1819790671","loc":[-85.6141482,41.9696538],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790679":{"id":"n1819790679","loc":[-85.6148349,41.9705388],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:56Z","tags":{}},"n1819790686":{"id":"n1819790686","loc":[-85.6139551,41.9695501],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790696":{"id":"n1819790696","loc":[-85.6119703,41.9699087],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790704":{"id":"n1819790704","loc":[-85.6140731,41.9684174],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790706":{"id":"n1819790706","loc":[-85.6124745,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790718":{"id":"n1819790718","loc":[-85.6165407,41.9636868],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790720":{"id":"n1819790720","loc":[-85.61388,41.9687365],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:57Z","tags":{}},"n1819790731":{"id":"n1819790731","loc":[-85.6165193,41.9639421],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790739":{"id":"n1819790739","loc":[-85.6146739,41.9699964],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790753":{"id":"n1819790753","loc":[-85.6173883,41.9665747],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790760":{"id":"n1819790760","loc":[-85.6133221,41.9712089],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:58Z","tags":{}},"n1819790767":{"id":"n1819790767","loc":[-85.6116698,41.9699246],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790779":{"id":"n1819790779","loc":[-85.6130753,41.9710573],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790791":{"id":"n1819790791","loc":[-85.6137083,41.9692869],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790795":{"id":"n1819790795","loc":[-85.6141482,41.9679627],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790798":{"id":"n1819790798","loc":[-85.6137727,41.9694305],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:58:59Z","tags":{}},"n1819790836":{"id":"n1819790836","loc":[-85.6143842,41.9676037],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:00Z","tags":{}},"n1819790915":{"id":"n1819790915","loc":[-85.6148456,41.9702756],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:01Z","tags":{}},"n1819790926":{"id":"n1819790926","loc":[-85.6138371,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790927":{"id":"n1819790927","loc":[-85.6141053,41.9713525],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1819790931":{"id":"n1819790931","loc":[-85.6162832,41.966814],"version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:02Z","tags":{}},"n1821014625":{"id":"n1821014625","loc":[-85.5960611,41.9808498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014627":{"id":"n1821014627","loc":[-85.5565843,42.010982],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014629":{"id":"n1821014629","loc":[-85.5971541,41.9805808],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014632":{"id":"n1821014632","loc":[-85.6061837,41.9725907],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014633":{"id":"n1821014633","loc":[-85.5247773,42.025766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014635":{"id":"n1821014635","loc":[-85.5908938,41.9902384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014636":{"id":"n1821014636","loc":[-85.5917682,41.9860637],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014637":{"id":"n1821014637","loc":[-85.5456556,42.0166797],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014638":{"id":"n1821014638","loc":[-85.5795749,42.0032352],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014639":{"id":"n1821014639","loc":[-85.6103988,41.9723456],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014642":{"id":"n1821014642","loc":[-85.5818816,42.0022466],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:40Z","tags":{}},"n1821014643":{"id":"n1821014643","loc":[-85.5570604,42.0091586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014644":{"id":"n1821014644","loc":[-85.5952886,41.9803792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014645":{"id":"n1821014645","loc":[-85.5780366,42.0040343],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014646":{"id":"n1821014646","loc":[-85.6050505,41.9751971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014647":{"id":"n1821014647","loc":[-85.5854435,41.9946162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014648":{"id":"n1821014648","loc":[-85.5452278,42.0168768],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014649":{"id":"n1821014649","loc":[-85.6023254,41.9780166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014651":{"id":"n1821014651","loc":[-85.5761899,42.0046783],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014653":{"id":"n1821014653","loc":[-85.5897351,41.9876707],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014657":{"id":"n1821014657","loc":[-85.5963601,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014658":{"id":"n1821014658","loc":[-85.5892952,41.9951983],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014660":{"id":"n1821014660","loc":[-85.5778328,42.0037194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014661":{"id":"n1821014661","loc":[-85.5541475,42.0125705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014663":{"id":"n1821014663","loc":[-85.5914047,41.9856469],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014664":{"id":"n1821014664","loc":[-85.6101681,41.9727723],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014665":{"id":"n1821014665","loc":[-85.5910172,41.9854696],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014666":{"id":"n1821014666","loc":[-85.5398688,42.0187699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014667":{"id":"n1821014667","loc":[-85.5218752,42.0282884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014668":{"id":"n1821014668","loc":[-85.5159582,42.0329384],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014669":{"id":"n1821014669","loc":[-85.5898102,41.9847319],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014670":{"id":"n1821014670","loc":[-85.5734809,42.0066235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014671":{"id":"n1821014671","loc":[-85.5922939,41.980852],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014672":{"id":"n1821014672","loc":[-85.6023629,41.9781163],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:41Z","tags":{}},"n1821014674":{"id":"n1821014674","loc":[-85.5409953,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014676":{"id":"n1821014676","loc":[-85.584435,41.9949909],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014677":{"id":"n1821014677","loc":[-85.5972399,41.9783835],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014678":{"id":"n1821014678","loc":[-85.5616738,42.0071337],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014681":{"id":"n1821014681","loc":[-85.5202994,42.0310755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014682":{"id":"n1821014682","loc":[-85.5915912,41.9857767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014684":{"id":"n1821014684","loc":[-85.6022288,41.977897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014687":{"id":"n1821014687","loc":[-85.5933024,41.9846362],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014688":{"id":"n1821014688","loc":[-85.5846871,41.9956169],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014689":{"id":"n1821014689","loc":[-85.5898209,41.99037],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014691":{"id":"n1821014691","loc":[-85.5448939,42.0149261],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014692":{"id":"n1821014692","loc":[-85.5977763,41.9786348],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014694":{"id":"n1821014694","loc":[-85.5767706,42.0034523],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:42Z","tags":{}},"n1821014695":{"id":"n1821014695","loc":[-85.6103559,41.9726766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014697":{"id":"n1821014697","loc":[-85.5922134,41.9809876],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014698":{"id":"n1821014698","loc":[-85.5935277,41.9831728],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014700":{"id":"n1821014700","loc":[-85.5674674,42.0078273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014703":{"id":"n1821014703","loc":[-85.6021,41.9778053],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014704":{"id":"n1821014704","loc":[-85.5756763,42.0053737],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014705":{"id":"n1821014705","loc":[-85.5887695,41.9895207],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014707":{"id":"n1821014707","loc":[-85.6061073,41.9746866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014708":{"id":"n1821014708","loc":[-85.6033446,41.9751692],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014710":{"id":"n1821014710","loc":[-85.5180986,42.0322332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014711":{"id":"n1821014711","loc":[-85.543365,42.0163569],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014712":{"id":"n1821014712","loc":[-85.6030656,41.9753646],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014713":{"id":"n1821014713","loc":[-85.6104417,41.9704792],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014714":{"id":"n1821014714","loc":[-85.5205716,42.030998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014716":{"id":"n1821014716","loc":[-85.516382,42.032536],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014717":{"id":"n1821014717","loc":[-85.5932863,41.9820882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014718":{"id":"n1821014718","loc":[-85.5361928,42.0194974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014720":{"id":"n1821014720","loc":[-85.6011613,41.9773586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014721":{"id":"n1821014721","loc":[-85.554287,42.0109124],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014722":{"id":"n1821014722","loc":[-85.5577524,42.0103425],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:43Z","tags":{}},"n1821014725":{"id":"n1821014725","loc":[-85.5867256,41.9921004],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014726":{"id":"n1821014726","loc":[-85.5856045,41.9968807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014727":{"id":"n1821014727","loc":[-85.5545445,42.0106454],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014728":{"id":"n1821014728","loc":[-85.5923797,41.9842534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014729":{"id":"n1821014729","loc":[-85.5696346,42.0081462],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014730":{"id":"n1821014730","loc":[-85.5998322,41.9786884],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014735":{"id":"n1821014735","loc":[-85.5337426,42.0218266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014736":{"id":"n1821014736","loc":[-85.5847944,41.994672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014740":{"id":"n1821014740","loc":[-85.5315271,42.0238669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014741":{"id":"n1821014741","loc":[-85.5248846,42.027085],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014742":{"id":"n1821014742","loc":[-85.5853376,41.997018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014743":{"id":"n1821014743","loc":[-85.5894883,41.988811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014745":{"id":"n1821014745","loc":[-85.6095311,41.9726226],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014746":{"id":"n1821014746","loc":[-85.5531511,42.0133416],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014747":{"id":"n1821014747","loc":[-85.5735882,42.007058],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014749":{"id":"n1821014749","loc":[-85.5428554,42.0164366],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014751":{"id":"n1821014751","loc":[-85.5395255,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:44Z","tags":{}},"n1821014752":{"id":"n1821014752","loc":[-85.571378,42.0083176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014754":{"id":"n1821014754","loc":[-85.5541918,42.0113925],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014755":{"id":"n1821014755","loc":[-85.5278029,42.0250806],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014756":{"id":"n1821014756","loc":[-85.5936725,41.9827102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014757":{"id":"n1821014757","loc":[-85.5176266,42.0346677],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014758":{"id":"n1821014758","loc":[-85.6096692,41.9714245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014759":{"id":"n1821014759","loc":[-85.5770321,42.0034266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014761":{"id":"n1821014761","loc":[-85.5988921,41.9779369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014762":{"id":"n1821014762","loc":[-85.5811788,42.0024499],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014763":{"id":"n1821014763","loc":[-85.5154003,42.0381101],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014764":{"id":"n1821014764","loc":[-85.5155827,42.0374089],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014765":{"id":"n1821014765","loc":[-85.5891249,41.9884978],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014766":{"id":"n1821014766","loc":[-85.5313863,42.0238293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014768":{"id":"n1821014768","loc":[-85.593297,41.9833363],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014769":{"id":"n1821014769","loc":[-85.5849446,41.9957245],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014770":{"id":"n1821014770","loc":[-85.5537774,42.0130847],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014771":{"id":"n1821014771","loc":[-85.6111766,41.9706069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014772":{"id":"n1821014772","loc":[-85.5585477,42.008989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:45Z","tags":{}},"n1821014774":{"id":"n1821014774","loc":[-85.5928142,41.9852623],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014777":{"id":"n1821014777","loc":[-85.5891933,41.9882608],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014778":{"id":"n1821014778","loc":[-85.5926909,41.9817532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014779":{"id":"n1821014779","loc":[-85.5260272,42.0252201],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014781":{"id":"n1821014781","loc":[-85.5894615,41.9950468],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014782":{"id":"n1821014782","loc":[-85.5461063,42.0143242],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014783":{"id":"n1821014783","loc":[-85.5711527,42.0085886],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014784":{"id":"n1821014784","loc":[-85.5329379,42.0218624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014786":{"id":"n1821014786","loc":[-85.583047,42.0020252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014787":{"id":"n1821014787","loc":[-85.5758962,42.0054095],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014788":{"id":"n1821014788","loc":[-85.5626354,42.0077733],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014789":{"id":"n1821014789","loc":[-85.6029852,41.9755999],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014790":{"id":"n1821014790","loc":[-85.5892362,41.9886755],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014791":{"id":"n1821014791","loc":[-85.5157597,42.0372017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014793":{"id":"n1821014793","loc":[-85.6054582,41.9751094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014794":{"id":"n1821014794","loc":[-85.5986936,41.9778412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014795":{"id":"n1821014795","loc":[-85.5880775,41.98976],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014796":{"id":"n1821014796","loc":[-85.5858727,41.9963624],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014798":{"id":"n1821014798","loc":[-85.5792543,42.0035958],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014799":{"id":"n1821014799","loc":[-85.5921665,41.9838326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:46Z","tags":{}},"n1821014801":{"id":"n1821014801","loc":[-85.599214,41.9782599],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014802":{"id":"n1821014802","loc":[-85.5571905,42.0090967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014803":{"id":"n1821014803","loc":[-85.5426891,42.0173612],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014804":{"id":"n1821014804","loc":[-85.5889626,41.9896404],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014805":{"id":"n1821014805","loc":[-85.5491264,42.0141648],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014806":{"id":"n1821014806","loc":[-85.5618897,42.0072631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014808":{"id":"n1821014808","loc":[-85.5573501,42.0109802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014809":{"id":"n1821014809","loc":[-85.5983463,41.9778031],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014810":{"id":"n1821014810","loc":[-85.5885173,41.9895128],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014811":{"id":"n1821014811","loc":[-85.6084998,41.9721143],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014812":{"id":"n1821014812","loc":[-85.5737598,42.0056389],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014814":{"id":"n1821014814","loc":[-85.5542173,42.0118132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014816":{"id":"n1821014816","loc":[-85.5277868,42.024451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014817":{"id":"n1821014817","loc":[-85.5403999,42.0191724],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014819":{"id":"n1821014819","loc":[-85.5983879,41.9791452],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014820":{"id":"n1821014820","loc":[-85.5891302,41.9897578],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014822":{"id":"n1821014822","loc":[-85.5930731,41.9805108],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014824":{"id":"n1821014824","loc":[-85.515395,42.0378471],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014825":{"id":"n1821014825","loc":[-85.5352755,42.0205136],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014826":{"id":"n1821014826","loc":[-85.5502744,42.0133398],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:47Z","tags":{}},"n1821014828":{"id":"n1821014828","loc":[-85.5701295,42.0088256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014830":{"id":"n1821014830","loc":[-85.5888929,41.9953099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014832":{"id":"n1821014832","loc":[-85.5880077,41.9901547],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014833":{"id":"n1821014833","loc":[-85.5451192,42.0157072],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014834":{"id":"n1821014834","loc":[-85.6096478,41.9711932],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014835":{"id":"n1821014835","loc":[-85.5806424,42.0026532],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014836":{"id":"n1821014836","loc":[-85.5911674,41.9868732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014838":{"id":"n1821014838","loc":[-85.5930302,41.9836571],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014839":{"id":"n1821014839","loc":[-85.588925,41.9938148],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014840":{"id":"n1821014840","loc":[-85.6111874,41.9705311],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014841":{"id":"n1821014841","loc":[-85.5680843,42.0075842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014842":{"id":"n1821014842","loc":[-85.6012793,41.9775062],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014843":{"id":"n1821014843","loc":[-85.5855562,41.9989777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014844":{"id":"n1821014844","loc":[-85.5506137,42.0131662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014845":{"id":"n1821014845","loc":[-85.5270049,42.025457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014846":{"id":"n1821014846","loc":[-85.5257054,42.025244],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014847":{"id":"n1821014847","loc":[-85.6011184,41.9771832],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014848":{"id":"n1821014848","loc":[-85.515534,42.0389234],"version":"2","changeset":"15306911","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:57:21Z","tags":{}},"n1821014850":{"id":"n1821014850","loc":[-85.5847032,42.0010347],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:48Z","tags":{}},"n1821014853":{"id":"n1821014853","loc":[-85.5361499,42.019063],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014854":{"id":"n1821014854","loc":[-85.5439176,42.0165721],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014855":{"id":"n1821014855","loc":[-85.5838825,42.0017284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014857":{"id":"n1821014857","loc":[-85.5542173,42.0122317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014859":{"id":"n1821014859","loc":[-85.5708201,42.0089195],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014860":{"id":"n1821014860","loc":[-85.5844833,41.9954415],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014862":{"id":"n1821014862","loc":[-85.5223204,42.0295396],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014863":{"id":"n1821014863","loc":[-85.5777898,42.0035918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014864":{"id":"n1821014864","loc":[-85.591044,41.9898078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014865":{"id":"n1821014865","loc":[-85.5973204,41.980182],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014866":{"id":"n1821014866","loc":[-85.5699578,42.0085825],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014867":{"id":"n1821014867","loc":[-85.5210598,42.0305278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014868":{"id":"n1821014868","loc":[-85.5929108,41.9819008],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014869":{"id":"n1821014869","loc":[-85.5279799,42.0242995],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014870":{"id":"n1821014870","loc":[-85.5196114,42.0320539],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014871":{"id":"n1821014871","loc":[-85.5785449,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014872":{"id":"n1821014872","loc":[-85.588292,41.9895766],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014873":{"id":"n1821014873","loc":[-85.5160172,42.0331775],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014874":{"id":"n1821014874","loc":[-85.5688849,42.0077016],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:49Z","tags":{}},"n1821014876":{"id":"n1821014876","loc":[-85.5857976,41.9996036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014879":{"id":"n1821014879","loc":[-85.5990906,41.9780765],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014881":{"id":"n1821014881","loc":[-85.5483647,42.0144279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014883":{"id":"n1821014883","loc":[-85.5691209,42.0077972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014885":{"id":"n1821014885","loc":[-85.6076844,41.9721103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014886":{"id":"n1821014886","loc":[-85.6015489,41.9766147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014887":{"id":"n1821014887","loc":[-85.574822,42.0052802],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014888":{"id":"n1821014888","loc":[-85.5880024,41.9899593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014890":{"id":"n1821014890","loc":[-85.5909421,41.9893772],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014892":{"id":"n1821014892","loc":[-85.5497326,42.0138141],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014893":{"id":"n1821014893","loc":[-85.5167106,42.0357811],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014895":{"id":"n1821014895","loc":[-85.5844404,41.9952501],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014896":{"id":"n1821014896","loc":[-85.5362465,42.0192662],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014898":{"id":"n1821014898","loc":[-85.5906095,41.9889147],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014899":{"id":"n1821014899","loc":[-85.5590667,42.0089354],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014900":{"id":"n1821014900","loc":[-85.5921598,41.9844209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014902":{"id":"n1821014902","loc":[-85.5778971,42.0039266],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:50Z","tags":{}},"n1821014903":{"id":"n1821014903","loc":[-85.603012,41.9761981],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014904":{"id":"n1821014904","loc":[-85.6108977,41.9706787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014905":{"id":"n1821014905","loc":[-85.5685738,42.0076139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014906":{"id":"n1821014906","loc":[-85.5392787,42.0186304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014907":{"id":"n1821014907","loc":[-85.5227885,42.0274972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014908":{"id":"n1821014908","loc":[-85.5857547,41.9961431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014910":{"id":"n1821014910","loc":[-85.5610354,42.0072812],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014911":{"id":"n1821014911","loc":[-85.5209632,42.0308705],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014912":{"id":"n1821014912","loc":[-85.5709757,42.0087959],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014913":{"id":"n1821014913","loc":[-85.59231,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014914":{"id":"n1821014914","loc":[-85.5375245,42.0185865],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014916":{"id":"n1821014916","loc":[-85.5901548,41.9839841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014917":{"id":"n1821014917","loc":[-85.5611213,42.0086405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014918":{"id":"n1821014918","loc":[-85.5360426,42.0198122],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014919":{"id":"n1821014919","loc":[-85.5862817,41.9948691],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014921":{"id":"n1821014921","loc":[-85.5469807,42.0144438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014922":{"id":"n1821014922","loc":[-85.5761309,42.0053838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014924":{"id":"n1821014924","loc":[-85.516264,42.0332971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014925":{"id":"n1821014925","loc":[-85.5277224,42.0246661],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014926":{"id":"n1821014926","loc":[-85.5980016,41.9798231],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014928":{"id":"n1821014928","loc":[-85.5924548,41.9806965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:51Z","tags":{}},"n1821014930":{"id":"n1821014930","loc":[-85.5899121,41.985023],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014931":{"id":"n1821014931","loc":[-85.5706015,42.0089492],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014932":{"id":"n1821014932","loc":[-85.515926,42.033046],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014933":{"id":"n1821014933","loc":[-85.5982377,41.9796796],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014936":{"id":"n1821014936","loc":[-85.5475721,42.0145253],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014938":{"id":"n1821014938","loc":[-85.5895701,41.9902323],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014939":{"id":"n1821014939","loc":[-85.6030495,41.9759947],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014942":{"id":"n1821014942","loc":[-85.6094721,41.9724989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014944":{"id":"n1821014944","loc":[-85.5921973,41.9811112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014945":{"id":"n1821014945","loc":[-85.5223526,42.0291332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014946":{"id":"n1821014946","loc":[-85.5965103,41.9808998],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014948":{"id":"n1821014948","loc":[-85.517766,42.0349227],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014950":{"id":"n1821014950","loc":[-85.5889894,41.990996],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014951":{"id":"n1821014951","loc":[-85.5601932,42.0092902],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:52Z","tags":{}},"n1821014954":{"id":"n1821014954","loc":[-85.6028135,41.9764055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014955":{"id":"n1821014955","loc":[-85.5520621,42.0130666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014956":{"id":"n1821014956","loc":[-85.593002,41.9839344],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014957":{"id":"n1821014957","loc":[-85.515926,42.0369666],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014960":{"id":"n1821014960","loc":[-85.5761255,42.003877],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014961":{"id":"n1821014961","loc":[-85.5716355,42.007911],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014962":{"id":"n1821014962","loc":[-85.5575378,42.0109045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014963":{"id":"n1821014963","loc":[-85.5735667,42.0068188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014964":{"id":"n1821014964","loc":[-85.5915214,41.9865861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014965":{"id":"n1821014965","loc":[-85.5866344,41.9923157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014967":{"id":"n1821014967","loc":[-85.5283138,42.0242256],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014968":{"id":"n1821014968","loc":[-85.5177875,42.0355801],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014969":{"id":"n1821014969","loc":[-85.548071,42.0144934],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014972":{"id":"n1821014972","loc":[-85.5611159,42.0088557],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014973":{"id":"n1821014973","loc":[-85.541686,42.0188757],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014974":{"id":"n1821014974","loc":[-85.5917628,41.9862631],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014975":{"id":"n1821014975","loc":[-85.5854864,41.9959478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014977":{"id":"n1821014977","loc":[-85.609102,41.9722317],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:53Z","tags":{}},"n1821014980":{"id":"n1821014980","loc":[-85.5761202,42.0042438],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014982":{"id":"n1821014982","loc":[-85.5465944,42.0143601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014983":{"id":"n1821014983","loc":[-85.5173261,42.0342732],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014984":{"id":"n1821014984","loc":[-85.5897297,41.9888509],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014985":{"id":"n1821014985","loc":[-85.5856688,41.999181],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014986":{"id":"n1821014986","loc":[-85.5344011,42.0217251],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014987":{"id":"n1821014987","loc":[-85.601467,41.9768203],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014988":{"id":"n1821014988","loc":[-85.5457254,42.0165123],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014989":{"id":"n1821014989","loc":[-85.6023482,41.9784332],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014991":{"id":"n1821014991","loc":[-85.5361606,42.01823],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014992":{"id":"n1821014992","loc":[-85.5178465,42.0351139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014995":{"id":"n1821014995","loc":[-85.5634293,42.0078092],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014996":{"id":"n1821014996","loc":[-85.573497,42.0072015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014997":{"id":"n1821014997","loc":[-85.5976328,41.9799725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821014998":{"id":"n1821014998","loc":[-85.5210651,42.0303166],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015003":{"id":"n1821015003","loc":[-85.5222131,42.0288064],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015004":{"id":"n1821015004","loc":[-85.5897941,41.984405],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015005":{"id":"n1821015005","loc":[-85.5975725,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015006":{"id":"n1821015006","loc":[-85.5765708,42.0034903],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:54Z","tags":{}},"n1821015007":{"id":"n1821015007","loc":[-85.5250187,42.026559],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015009":{"id":"n1821015009","loc":[-85.5426998,42.0166279],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015010":{"id":"n1821015010","loc":[-85.5957606,41.9806584],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015011":{"id":"n1821015011","loc":[-85.5262753,42.0252497],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015012":{"id":"n1821015012","loc":[-85.5266455,42.0253374],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015014":{"id":"n1821015014","loc":[-85.5515632,42.0130187],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015015":{"id":"n1821015015","loc":[-85.6024058,41.9765212],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015017":{"id":"n1821015017","loc":[-85.5175032,42.0357156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015018":{"id":"n1821015018","loc":[-85.5302718,42.0236039],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015019":{"id":"n1821015019","loc":[-85.6024005,41.9782759],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015020":{"id":"n1821015020","loc":[-85.5907758,41.9890821],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015021":{"id":"n1821015021","loc":[-85.6019445,41.9777215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015022":{"id":"n1821015022","loc":[-85.5942854,41.9800881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015024":{"id":"n1821015024","loc":[-85.5325826,42.0222711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:55Z","tags":{}},"n1821015029":{"id":"n1821015029","loc":[-85.555093,42.0105316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015033":{"id":"n1821015033","loc":[-85.5249704,42.0270372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015034":{"id":"n1821015034","loc":[-85.5243965,42.0272205],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015038":{"id":"n1821015038","loc":[-85.5413426,42.0190749],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015039":{"id":"n1821015039","loc":[-85.5920431,41.9848175],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015041":{"id":"n1821015041","loc":[-85.5577685,42.0106015],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015042":{"id":"n1821015042","loc":[-85.5453606,42.0158866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015045":{"id":"n1821015045","loc":[-85.5333228,42.0217889],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015046":{"id":"n1821015046","loc":[-85.5426891,42.0175924],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015048":{"id":"n1821015048","loc":[-85.5886836,41.9936474],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015050":{"id":"n1821015050","loc":[-85.6001152,41.9786467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015051":{"id":"n1821015051","loc":[-85.6094064,41.9723655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015053":{"id":"n1821015053","loc":[-85.605721,41.9749738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015055":{"id":"n1821015055","loc":[-85.6106791,41.9705048],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015057":{"id":"n1821015057","loc":[-85.5210437,42.0307071],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015059":{"id":"n1821015059","loc":[-85.5995694,41.9786725],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:56Z","tags":{}},"n1821015060":{"id":"n1821015060","loc":[-85.5371638,42.0182938],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015062":{"id":"n1821015062","loc":[-85.6111766,41.9704593],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015065":{"id":"n1821015065","loc":[-85.577704,42.0034921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015067":{"id":"n1821015067","loc":[-85.5570067,42.0093699],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015068":{"id":"n1821015068","loc":[-85.5920364,41.9845525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015069":{"id":"n1821015069","loc":[-85.5252065,42.0253954],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015072":{"id":"n1821015072","loc":[-85.5664159,42.0088517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015073":{"id":"n1821015073","loc":[-85.5880399,41.991905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015075":{"id":"n1821015075","loc":[-85.6099871,41.9727861],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015076":{"id":"n1821015076","loc":[-85.5319603,42.0231478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015078":{"id":"n1821015078","loc":[-85.6036088,41.9751112],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015080":{"id":"n1821015080","loc":[-85.5983128,41.9789179],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015082":{"id":"n1821015082","loc":[-85.5614069,42.0071395],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015083":{"id":"n1821015083","loc":[-85.60968,41.9709738],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015086":{"id":"n1821015086","loc":[-85.5914195,41.9837351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015087":{"id":"n1821015087","loc":[-85.5895473,41.9948036],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015090":{"id":"n1821015090","loc":[-85.5929913,41.9851905],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:57Z","tags":{}},"n1821015093":{"id":"n1821015093","loc":[-85.5907396,41.9838485],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015095":{"id":"n1821015095","loc":[-85.5893864,41.9880176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015096":{"id":"n1821015096","loc":[-85.5788024,42.0039807],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015097":{"id":"n1821015097","loc":[-85.5630592,42.0078411],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015098":{"id":"n1821015098","loc":[-85.5350609,42.0211274],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015099":{"id":"n1821015099","loc":[-85.5967195,41.9808679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015100":{"id":"n1821015100","loc":[-85.5666734,42.0088119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015101":{"id":"n1821015101","loc":[-85.564694,42.0077675],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015103":{"id":"n1821015103","loc":[-85.6066544,41.9726527],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015104":{"id":"n1821015104","loc":[-85.6011827,41.9769838],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015105":{"id":"n1821015105","loc":[-85.5972131,41.9776697],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015106":{"id":"n1821015106","loc":[-85.5880828,41.9903341],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015107":{"id":"n1821015107","loc":[-85.5510268,42.0130626],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015108":{"id":"n1821015108","loc":[-85.6102164,41.970543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015109":{"id":"n1821015109","loc":[-85.5905344,41.9853899],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015111":{"id":"n1821015111","loc":[-85.5888821,41.9913429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:58Z","tags":{}},"n1821015112":{"id":"n1821015112","loc":[-85.606295,41.9741921],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015114":{"id":"n1821015114","loc":[-85.5969556,41.9807443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015115":{"id":"n1821015115","loc":[-85.5882223,41.9934081],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015116":{"id":"n1821015116","loc":[-85.6104471,41.9724971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015118":{"id":"n1821015118","loc":[-85.5406091,42.0192162],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015120":{"id":"n1821015120","loc":[-85.589955,41.9888429],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015121":{"id":"n1821015121","loc":[-85.5598821,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015122":{"id":"n1821015122","loc":[-85.545598,42.0144097],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015123":{"id":"n1821015123","loc":[-85.5649528,42.0079965],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015125":{"id":"n1821015125","loc":[-85.5883993,41.9917814],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015126":{"id":"n1821015126","loc":[-85.5295785,42.0239967],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015129":{"id":"n1821015129","loc":[-85.5648723,42.0078809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015132":{"id":"n1821015132","loc":[-85.564989,42.0081103],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015133":{"id":"n1821015133","loc":[-85.5946127,41.9800841],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015134":{"id":"n1821015134","loc":[-85.583448,42.0019078],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015135":{"id":"n1821015135","loc":[-85.5905934,41.9871842],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015137":{"id":"n1821015137","loc":[-85.610608,41.9704752],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:25:59Z","tags":{}},"n1821015138":{"id":"n1821015138","loc":[-85.5752257,42.0052939],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015139":{"id":"n1821015139","loc":[-85.5893864,41.9943491],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015140":{"id":"n1821015140","loc":[-85.5426247,42.0169866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015141":{"id":"n1821015141","loc":[-85.562001,42.0074526],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015142":{"id":"n1821015142","loc":[-85.5212046,42.0301094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015143":{"id":"n1821015143","loc":[-85.602214,41.9784531],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015144":{"id":"n1821015144","loc":[-85.5858687,41.9948293],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015145":{"id":"n1821015145","loc":[-85.5608477,42.0074805],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015146":{"id":"n1821015146","loc":[-85.5651607,42.0083614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015147":{"id":"n1821015147","loc":[-85.5288288,42.0242495],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015149":{"id":"n1821015149","loc":[-85.5450334,42.0146989],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015151":{"id":"n1821015151","loc":[-85.5578275,42.0092304],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015154":{"id":"n1821015154","loc":[-85.6056634,41.9724511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015155":{"id":"n1821015155","loc":[-85.5902179,41.9852742],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015156":{"id":"n1821015156","loc":[-85.5156256,42.0387157],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015157":{"id":"n1821015157","loc":[-85.5734433,42.0059459],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015158":{"id":"n1821015158","loc":[-85.6050773,41.9731273],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015160":{"id":"n1821015160","loc":[-85.5223419,42.0275233],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015163":{"id":"n1821015163","loc":[-85.6053562,41.972525],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015164":{"id":"n1821015164","loc":[-85.5850412,41.9946082],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:00Z","tags":{}},"n1821015165":{"id":"n1821015165","loc":[-85.5359031,42.0186326],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015166":{"id":"n1821015166","loc":[-85.5608745,42.0077635],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015169":{"id":"n1821015169","loc":[-85.572876,42.0073189],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015171":{"id":"n1821015171","loc":[-85.5875424,41.9919188],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015172":{"id":"n1821015172","loc":[-85.5240116,42.0272581],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015173":{"id":"n1821015173","loc":[-85.5318369,42.0236818],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015174":{"id":"n1821015174","loc":[-85.566888,42.0086923],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015175":{"id":"n1821015175","loc":[-85.5931522,41.9850669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015176":{"id":"n1821015176","loc":[-85.5604842,42.0093199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015177":{"id":"n1821015177","loc":[-85.5868168,41.9927543],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015178":{"id":"n1821015178","loc":[-85.6052275,41.9732549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015179":{"id":"n1821015179","loc":[-85.5910118,41.9900431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015182":{"id":"n1821015182","loc":[-85.5610032,42.0082897],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015183":{"id":"n1821015183","loc":[-85.5425443,42.0179431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015184":{"id":"n1821015184","loc":[-85.5843277,42.0014055],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015186":{"id":"n1821015186","loc":[-85.5733307,42.0063564],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015188":{"id":"n1821015188","loc":[-85.5277385,42.0248694],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015189":{"id":"n1821015189","loc":[-85.5558427,42.0108168],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:01Z","tags":{}},"n1821015190":{"id":"n1821015190","loc":[-85.5650587,42.0082618],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015191":{"id":"n1821015191","loc":[-85.5660351,42.0088278],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015192":{"id":"n1821015192","loc":[-85.5849768,41.9980049],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015194":{"id":"n1821015194","loc":[-85.5359139,42.0188199],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015195":{"id":"n1821015195","loc":[-85.593238,41.9849194],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015197":{"id":"n1821015197","loc":[-85.5850841,41.9983239],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015199":{"id":"n1821015199","loc":[-85.5983396,41.9794283],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015204":{"id":"n1821015204","loc":[-85.5452801,42.0145355],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015205":{"id":"n1821015205","loc":[-85.5340685,42.0218407],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015207":{"id":"n1821015207","loc":[-85.5773272,42.0034186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015209":{"id":"n1821015209","loc":[-85.5535212,42.0132419],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015211":{"id":"n1821015211","loc":[-85.6107703,41.9706045],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:02Z","tags":{}},"n1821015212":{"id":"n1821015212","loc":[-85.6030066,41.9758193],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015213":{"id":"n1821015213","loc":[-85.5359943,42.0184213],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015214":{"id":"n1821015214","loc":[-85.5922993,41.9813305],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015215":{"id":"n1821015215","loc":[-85.5672689,42.0080465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015217":{"id":"n1821015217","loc":[-85.5160494,42.0365682],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015218":{"id":"n1821015218","loc":[-85.5401142,42.0190351],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015219":{"id":"n1821015219","loc":[-85.5607632,42.0092282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015220":{"id":"n1821015220","loc":[-85.5866197,41.9947894],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015221":{"id":"n1821015221","loc":[-85.6017889,41.9765132],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015222":{"id":"n1821015222","loc":[-85.5595978,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015226":{"id":"n1821015226","loc":[-85.5871494,41.9929018],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015227":{"id":"n1821015227","loc":[-85.5857708,41.9998866],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015228":{"id":"n1821015228","loc":[-85.5317135,42.0238094],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015231":{"id":"n1821015231","loc":[-85.5733521,42.0061372],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015233":{"id":"n1821015233","loc":[-85.5855991,42.0001936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015234":{"id":"n1821015234","loc":[-85.5213924,42.029962],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015235":{"id":"n1821015235","loc":[-85.6052221,41.9726567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015236":{"id":"n1821015236","loc":[-85.5763723,42.0035422],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015237":{"id":"n1821015237","loc":[-85.5858512,41.9966215],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015238":{"id":"n1821015238","loc":[-85.567061,42.008439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:03Z","tags":{}},"n1821015239":{"id":"n1821015239","loc":[-85.5250563,42.0269057],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015240":{"id":"n1821015240","loc":[-85.5347551,42.0214263],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015241":{"id":"n1821015241","loc":[-85.6098463,41.9707066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015242":{"id":"n1821015242","loc":[-85.5676927,42.0076519],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015243":{"id":"n1821015243","loc":[-85.516775,42.0322669],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015244":{"id":"n1821015244","loc":[-85.5762275,42.0036538],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015245":{"id":"n1821015245","loc":[-85.5583639,42.0090949],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015246":{"id":"n1821015246","loc":[-85.5554041,42.0106432],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015247":{"id":"n1821015247","loc":[-85.5973364,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015248":{"id":"n1821015248","loc":[-85.6098945,41.9717513],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015249":{"id":"n1821015249","loc":[-85.6045315,41.9751511],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015250":{"id":"n1821015250","loc":[-85.5579938,42.0092264],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015253":{"id":"n1821015253","loc":[-85.6058873,41.9724652],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015254":{"id":"n1821015254","loc":[-85.5869456,41.9947517],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015255":{"id":"n1821015255","loc":[-85.5936565,41.9823713],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015256":{"id":"n1821015256","loc":[-85.5218269,42.0278102],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015258":{"id":"n1821015258","loc":[-85.5887802,41.9905534],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015259":{"id":"n1821015259","loc":[-85.5901924,41.9904515],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015263":{"id":"n1821015263","loc":[-85.5249222,42.0255787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015265":{"id":"n1821015265","loc":[-85.5175206,42.0321672],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015266":{"id":"n1821015266","loc":[-85.5275722,42.0254034],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015267":{"id":"n1821015267","loc":[-85.6016226,41.9765451],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:04Z","tags":{}},"n1821015269":{"id":"n1821015269","loc":[-85.5569316,42.011032],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015271":{"id":"n1821015271","loc":[-85.6010714,41.9785209],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015272":{"id":"n1821015272","loc":[-85.6050666,41.9729917],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015273":{"id":"n1821015273","loc":[-85.5891235,41.99529],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015274":{"id":"n1821015274","loc":[-85.515454,42.0376439],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015276":{"id":"n1821015276","loc":[-85.5776021,42.0034443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015277":{"id":"n1821015277","loc":[-85.6041707,41.9751453],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015278":{"id":"n1821015278","loc":[-85.5444701,42.0167435],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015280":{"id":"n1821015280","loc":[-85.5923274,41.9852202],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015283":{"id":"n1821015283","loc":[-85.5893649,41.9900271],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015284":{"id":"n1821015284","loc":[-85.5933453,41.9804412],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015285":{"id":"n1821015285","loc":[-85.5247237,42.026017],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015286":{"id":"n1821015286","loc":[-85.5286182,42.0242477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015287":{"id":"n1821015287","loc":[-85.5904003,41.9888549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:05Z","tags":{}},"n1821015288":{"id":"n1821015288","loc":[-85.6062146,41.9739369],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015290":{"id":"n1821015290","loc":[-85.5762596,42.0052602],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015292":{"id":"n1821015292","loc":[-85.5849715,41.9975465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015293":{"id":"n1821015293","loc":[-85.585229,42.0006241],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015294":{"id":"n1821015294","loc":[-85.5926922,41.9805946],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015295":{"id":"n1821015295","loc":[-85.5703387,42.0089133],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015299":{"id":"n1821015299","loc":[-85.5789955,42.0038611],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015301":{"id":"n1821015301","loc":[-85.6072888,41.9721918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015302":{"id":"n1821015302","loc":[-85.5356349,42.0200992],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015304":{"id":"n1821015304","loc":[-85.5891772,41.994066],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015306":{"id":"n1821015306","loc":[-85.606295,41.9744952],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015307":{"id":"n1821015307","loc":[-85.538871,42.0186583],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015308":{"id":"n1821015308","loc":[-85.587997,41.994971],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015311":{"id":"n1821015311","loc":[-85.606869,41.9725809],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:06Z","tags":{}},"n1821015312":{"id":"n1821015312","loc":[-85.5171974,42.0339943],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015314":{"id":"n1821015314","loc":[-85.5327435,42.0220479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015315":{"id":"n1821015315","loc":[-85.5383439,42.0187282],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015316":{"id":"n1821015316","loc":[-85.5248095,42.0263119],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015318":{"id":"n1821015318","loc":[-85.5732502,42.0073051],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015319":{"id":"n1821015319","loc":[-85.5924226,41.9852663],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015321":{"id":"n1821015321","loc":[-85.5179001,42.0353052],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015322":{"id":"n1821015322","loc":[-85.5456771,42.0162413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015323":{"id":"n1821015323","loc":[-85.5936618,41.9829096],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015325":{"id":"n1821015325","loc":[-85.5656931,42.0086582],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015326":{"id":"n1821015326","loc":[-85.5448456,42.0150975],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015327":{"id":"n1821015327","loc":[-85.5220039,42.027615],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015329":{"id":"n1821015329","loc":[-85.517884,42.0354885],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015330":{"id":"n1821015330","loc":[-85.5576666,42.0101671],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015332":{"id":"n1821015332","loc":[-85.5368754,42.0181402],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015333":{"id":"n1821015333","loc":[-85.5367078,42.0181145],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015334":{"id":"n1821015334","loc":[-85.5903909,41.9904316],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015335":{"id":"n1821015335","loc":[-85.5430767,42.0163587],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015336":{"id":"n1821015336","loc":[-85.5277492,42.0252878],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015337":{"id":"n1821015337","loc":[-85.5312146,42.0236898],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:07Z","tags":{}},"n1821015338":{"id":"n1821015338","loc":[-85.5886568,41.991614],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015339":{"id":"n1821015339","loc":[-85.5782498,42.0040883],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015341":{"id":"n1821015341","loc":[-85.562233,42.0076457],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015342":{"id":"n1821015342","loc":[-85.588626,41.9952479],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015343":{"id":"n1821015343","loc":[-85.5762865,42.005033],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015344":{"id":"n1821015344","loc":[-85.5850841,41.9971478],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015346":{"id":"n1821015346","loc":[-85.5643144,42.0076936],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015347":{"id":"n1821015347","loc":[-85.5164893,42.0359467],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015348":{"id":"n1821015348","loc":[-85.5906846,41.9903541],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015349":{"id":"n1821015349","loc":[-85.557688,42.0107769],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015350":{"id":"n1821015350","loc":[-85.5363698,42.0181424],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015351":{"id":"n1821015351","loc":[-85.5939636,41.9801918],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015352":{"id":"n1821015352","loc":[-85.5524041,42.0131644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015354":{"id":"n1821015354","loc":[-85.5308606,42.0236221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015355":{"id":"n1821015355","loc":[-85.5877449,41.9932367],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015356":{"id":"n1821015356","loc":[-85.519885,42.0318586],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015357":{"id":"n1821015357","loc":[-85.5454035,42.0168431],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015358":{"id":"n1821015358","loc":[-85.5970629,41.9781881],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015359":{"id":"n1821015359","loc":[-85.5932541,41.9844767],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015360":{"id":"n1821015360","loc":[-85.5970736,41.9778252],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015361":{"id":"n1821015361","loc":[-85.537031,42.0181601],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015362":{"id":"n1821015362","loc":[-85.5548355,42.0105156],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015363":{"id":"n1821015363","loc":[-85.5168648,42.0336158],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:08Z","tags":{}},"n1821015365":{"id":"n1821015365","loc":[-85.5870435,41.9919507],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015366":{"id":"n1821015366","loc":[-85.5719681,42.0075443],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015367":{"id":"n1821015367","loc":[-85.5969985,41.9780446],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015368":{"id":"n1821015368","loc":[-85.5926761,41.98528],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015369":{"id":"n1821015369","loc":[-85.5224009,42.0293444],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015371":{"id":"n1821015371","loc":[-85.518737,42.0322651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015372":{"id":"n1821015372","loc":[-85.6064573,41.9726465],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015373":{"id":"n1821015373","loc":[-85.5201103,42.0313088],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015375":{"id":"n1821015375","loc":[-85.5378182,42.0186844],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015376":{"id":"n1821015376","loc":[-85.6109741,41.9706882],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015377":{"id":"n1821015377","loc":[-85.5993333,41.9785488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015378":{"id":"n1821015378","loc":[-85.5889787,41.9907368],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015380":{"id":"n1821015380","loc":[-85.6060161,41.9737375],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015381":{"id":"n1821015381","loc":[-85.5743016,42.0053679],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015382":{"id":"n1821015382","loc":[-85.6014724,41.9776099],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015383":{"id":"n1821015383","loc":[-85.5574426,42.0091644],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:09Z","tags":{}},"n1821015385":{"id":"n1821015385","loc":[-85.5208613,42.0309302],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015386":{"id":"n1821015386","loc":[-85.5919023,41.9837789],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015387":{"id":"n1821015387","loc":[-85.5455484,42.0160221],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015392":{"id":"n1821015392","loc":[-85.5801757,42.0028964],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015395":{"id":"n1821015395","loc":[-85.5493785,42.0139974],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015396":{"id":"n1821015396","loc":[-85.5449475,42.015488],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015398":{"id":"n1821015398","loc":[-85.611123,41.9706627],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015400":{"id":"n1821015400","loc":[-85.5935706,41.9822477],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015401":{"id":"n1821015401","loc":[-85.5724254,42.0073508],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015403":{"id":"n1821015403","loc":[-85.5486812,42.0143442],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:10Z","tags":{}},"n1821015404":{"id":"n1821015404","loc":[-85.5161835,42.0327711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015406":{"id":"n1821015406","loc":[-85.5921705,41.9851107],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015407":{"id":"n1821015407","loc":[-85.531912,42.0234069],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015410":{"id":"n1821015410","loc":[-85.5292566,42.024176],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015411":{"id":"n1821015411","loc":[-85.5845316,41.9948315],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015413":{"id":"n1821015413","loc":[-85.5217947,42.0280413],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015414":{"id":"n1821015414","loc":[-85.5527367,42.013272],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015415":{"id":"n1821015415","loc":[-85.5191179,42.0321973],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015416":{"id":"n1821015416","loc":[-85.5540241,42.0128655],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015418":{"id":"n1821015418","loc":[-85.5272892,42.0254849],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015419":{"id":"n1821015419","loc":[-85.5449744,42.016867],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015420":{"id":"n1821015420","loc":[-85.5852665,41.9986787],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015421":{"id":"n1821015421","loc":[-85.6102701,41.972186],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015423":{"id":"n1821015423","loc":[-85.6026365,41.9764972],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015427":{"id":"n1821015427","loc":[-85.5898692,41.9841498],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:11Z","tags":{}},"n1821015429":{"id":"n1821015429","loc":[-85.5422546,42.0183855],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015430":{"id":"n1821015430","loc":[-85.5866505,41.9925549],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015431":{"id":"n1821015431","loc":[-85.5234376,42.0273577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015432":{"id":"n1821015432","loc":[-85.6096746,41.9727284],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015433":{"id":"n1821015433","loc":[-85.5824891,42.0021567],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015434":{"id":"n1821015434","loc":[-85.5923905,41.9841139],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015435":{"id":"n1821015435","loc":[-85.5874565,41.9948014],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015437":{"id":"n1821015437","loc":[-85.6055279,41.9734423],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015438":{"id":"n1821015438","loc":[-85.5299379,42.0237376],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015439":{"id":"n1821015439","loc":[-85.5155022,42.0383651],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015442":{"id":"n1821015442","loc":[-85.527422,42.0254711],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015443":{"id":"n1821015443","loc":[-85.5920699,41.9849291],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015444":{"id":"n1821015444","loc":[-85.5639711,42.0077494],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015445":{"id":"n1821015445","loc":[-85.5162586,42.0361777],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015446":{"id":"n1821015446","loc":[-85.5220039,42.029695],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015448":{"id":"n1821015448","loc":[-85.5176641,42.0356956],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015449":{"id":"n1821015449","loc":[-85.5930556,41.9841577],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015451":{"id":"n1821015451","loc":[-85.5320783,42.0228848],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015452":{"id":"n1821015452","loc":[-85.5170096,42.0357235],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015453":{"id":"n1821015453","loc":[-85.5571355,42.009613],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015454":{"id":"n1821015454","loc":[-85.5609979,42.009059],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015455":{"id":"n1821015455","loc":[-85.6097336,41.9708342],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"n1821015456":{"id":"n1821015456","loc":[-85.5884476,41.9904218],"version":"1","changeset":"12181249","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-11T02:26:12Z","tags":{}},"w170843846":{"id":"w170843846","version":"1","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:03Z","tags":{"source":"Bing","waterway":"river"},"nodes":["n1819790555","n1819790762","n1819790547","n1819790618","n1819790898","n1819790796","n1819790534","n1819790543","n1819790541","n1819790687","n1819790877","n1819790811","n1819790670"]},"w209083541":{"id":"w209083541","version":"1","changeset":"15306846","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-03-09T19:50:46Z","tags":{"name":"Portage River","source":"Bing","waterway":"river"},"nodes":["n1821014848","n1821015156","n1821015439","n1821014763","n1821014824","n1821015274","n1821014764","n1821014791","n1821014957","n1821015217","n1821015445","n1821015347","n1821014893","n1821015452","n1821015017","n1821015448","n1821014968","n1821015329","n1821015321","n1821014992","n1821014948","n1821014757","n1821014983","n1821015312","n1821015363","n1821014924","n1821014873","n1821014932","n1821014668","n1821015404","n1821014716","n1821015243","n1821015265","n1821014710","n1821015371","n1821015415","n1821014870","n1821015356","n1821015373","n1821014681","n1821014714","n1821015385","n1821014911","n1821015057","n1821014867","n1821014998","n1821015142","n1821015234","n1821015446","n1821014862","n1821015369","n1821014945","n1821015003","n1821014667","n1821015413","n1821015256","n1821015327","n1821015160","n1821014907","n1821015431","n1821015172","n1821015034","n1821014741","n1821015033","n1821015239","n1821015007","n1821015316","n1821015285","n1821014633","n1821015263","n1821015069","n1821014846","n1821014779","n1821015011","n1821015012","n1821014845","n1821015418","n1821015442","n1821015266","n1821015336","n1821014755","n1821015188","n1821014925","n1821014816","n1821014869","n1821014967","n1821015286","n1821015147","n1821015410","n1821015126","n1821015438","n1821015018","n1821015354","n1821015337","n1821014766","n1821014740","n1821015228","n1821015173","n1821015407","n1821015076","n1821015451","n1821015024","n1821015314","n1821014784","n1821015045","n1821014735","n1821015205","n1821014986","n1821015240","n1821015098","n1821014825","n1821015302","n1821014918","n1821014718","n1821014896","n1821014853","n1821015194","n1821015165","n1821015213","n1821014991","n1821015350","n1821015333","n1821015332","n1821015361","n1821015060","n1821014914","n1821015375","n1821015315","n1821015307","n1821014906","n1821014751","n1821014666","n1821015218","n1821014817","n1821015118","n1821014674","n1821015038","n1821014973","n1821015429","n1821015183","n1821015046","n1821014803","n1821015140","n1821015009","n1821014749","n1821015335","n1821014711","n1821014854","n1821015278","n1821015419","n1821014648","n1821015357","n1821014637","n1821014988","n1821015322","n1821015387","n1821015042","n1821014833","n1821015396","n1821015326","n1821014691","n1821015149","n1821015204","n1821015122","n1821014782","n1821014982","n1821014921","n1821014936","n1821014969","n1821014881","n1821015403","n1821014805","n1821015395","n1821014892","n1821014826","n1821014844","n1821015107","n1821015014","n1821014955","n1821015352","n1821015414","n1821014746","n1821015209","n1821014770","n1821015416","n1821014661","n1821014857","n1821014814","n1821014754","n1821014721","n1821014727","n1821015362","n1821015029","n1821015246","n1821015189","n1821014627","n1821015269","n1821014808","n1821014962","n1821015349","n1821015041","n1821014722","n1821015330","n1821015453","n1821015067","n1821014643","n1821014802","n1821015383","n1821015151","n1821015250","n1821015245","n1821014772","n1821014899","n1821015222","n1821015121","n1821014951","n1821015176","n1821015219","n1821015454","n1821014972","n1821014917","n1821015182","n1821015166","n1821015145","n1821014910","n1821015082","n1821014678","n1821014806","n1821015141","n1821015341","n1821014788","n1821015097","n1821014995","n1821015444","n1821015346","n1821015101","n1821015129","n1821015123","n1821015132","n1821015190","n1821015146","n1821015325","n1821015191","n1821015072","n1821015100","n1821015174","n1821015238","n1821015215","n1821014700","n1821015242","n1821014841","n1821014905","n1821014874","n1821014883","n1821014729","n1821014866","n1821014828","n1821015295","n1821014931","n1821014859","n1821014912","n1821014783","n1821014752","n1821014961","n1821015366","n1821015401","n1821015169","n1821015318","n1821014996","n1821014747","n1821014963","n1821014670","n1821015186","n1821015231","n1821015157","n1821014812","n1821015381","n1821014887","n1821015138","n1821014704","n1821014787","n1821014922","n1821015290","n1821015343","n1821014651","n1821014980","n1821014960","n1821015244","n1821015236","n1821015006","n1821014694","n1821014759","n1821015207","n1821015276","n1821015065","n1821014863","n1821014660","n1821014902","n1821014645","n1821015339","n1821014871","n1821015096","n1821015299","n1821014798","n1821014638","n1821015392","n1821014835","n1821014762","n1821014642","n1821015433","n1821014786","n1821015134","n1821014855","n1821015184","n1821014850","n1821015293","n1821015233","n1821015227","n1821014876","n1821014985","n1821014843","n1821015420","n1821015197","n1821015192","n1821015292","n1821015344","n1821014742","n1821014726","n1821015237","n1821014796","n1821014908","n1821014975","n1821014769","n1821014688","n1821014860","n1821014895","n1821014676","n1821015411","n1821014736","n1821015164","n1821014647","n1821015144","n1821014919","n1821015220","n1821015254","n1821015435","n1821015308","n1821015342","n1821014830","n1821015273","n1821014658","n1821014781","n1821015087","n1821015139","n1821015304","n1821014839","n1821015048","n1821015115","n1821015355","n1821015226","n1821015177","n1821015430","n1821014965","n1821014725","n1821015365","n1821015171","n1821015073","n1821015125","n1821015338","n1821015111","n1821014950","n1821015378","n1821015258","n1821015456","n1821015106","n1821014832","n1821014888","n1821014795","n1821014872","n1821014810","n1821014705","n1821014804","n1821014820","n1821015283","n1821014938","n1821014689","n1821015259","n1821015334","n1821015348","n1821014635","n1821015179","n1821014864","n1821014890","n1821015020","n1821014898","n1821015287","n1821015120","n1821014984","n1821014743","n1821014790","n1821014765","n1821014777","n1821015095","n1821014653","n1821015135","n1821014836","n1821014964","n1821014974","n1821014636","n1821014682","n1821014663","n1821014665","n1821015109","n1821015155","n1821014930","n1821014669","n1821015004","n1821015427","n1821014916","n1821015093","n1821015086","n1821015386","n1821014799","n1821014913","n1821015434","n1821014728","n1821014900","n1821015068","n1821015039","n1821015443","n1821015406","n1821015280","n1821015319","n1821015368","n1821014774","n1821015090","n1821015175","n1821015195","n1821014687","n1821015359","n1821015449","n1821014956","n1821014838","n1821014768","n1821014698","n1821015323","n1821014756","n1821015255","n1821015400","n1821014717","n1821014868","n1821014778","n1821015214","n1821014944","n1821014697","n1821014671","n1821014928","n1821015294","n1821014822","n1821015284","n1821015351","n1821015022","n1821015133","n1821014644","n1821015010","n1821014625","n1821014657","n1821014946","n1821015099","n1821015114","n1821014629","n1821014865","n1821014997","n1821014926","n1821014933","n1821015199","n1821014819","n1821015080","n1821014692","n1821014677","n1821015358","n1821015367","n1821015360","n1821015105","n1821015247","n1821015005","n1821014809","n1821014794","n1821014761","n1821014879","n1821014801","n1821015377","n1821015059","n1821014730","n1821015050","n1821015271","n1821015143","n1821014989","n1821015019","n1821014672","n1821014649","n1821014684","n1821014703","n1821015021","n1821015382","n1821014842","n1821014720","n1821014847","n1821015104","n1821014987","n1821014886","n1821015267","n1821015221","n1821015015","n1821015423","n1821014954","n1821014903","n1821014939","n1821015212","n1821014789","n1821014712","n1821014708","n1821015078","n1821015277","n1821015249","n1821014646","n1821014793","n1821015053","n1821014707","n1821015306","n1821015112","n1821015288","n1821015380","n1821015437","n1821015178","n1821015158","n1821015272","n1821015235","n1821015163","n1821015154","n1821015253","n1821014632","n1821015372","n1821015103","n1821015311","n1821015301","n1821014885","n1821014811","n1821014977","n1821015051","n1821014942","n1821014745","n1821015432","n1821015075","n1821014664","n1821014695","n1821015116","n1821014639","n1821015421","n1821015248","n1821014758","n1821014834","n1821015083","n1821015455","n1821015241","n1821015108","n1821014713","n1821015137","n1821015055","n1821015211","n1821014904","n1821015376","n1821015398","n1821014771","n1821014840","n1821015062","n1819790554","n1819790560","n1819790767","n1819790696","n1819790706","n1819790606","n1819790607","n1819790544","n1819790779","n1819790760","n1819790926","n1819790927","n1819790647","n1819790657","n1819790649","n1819790679","n1819790915","n1819790739","n1819790549","n1819790671","n1819790686","n1819790798","n1819790791","n1819790563","n1819790720","n1819790704","n1819790795","n1819790836","n1819790622","n1819790615","n1819790654","n1819790931","n1819790595","n1819790753","n1819790612","n1819790623","n1819790564","n1819790552","n1819790645","n1819790625","n1819790605","n1819790668","n1819790731","n1819790718","n1819790781","n1819790665","n1819790659","n1819790726","n1819790642","n1819790854","n1819790697","n1819790867","n1819790833","n1819790555","n1819790774","n1819790881","n1819790530","n1819790909","n1819790891","n1819790590","n1819790738","n1819790609","n1819790528","n1819790674","n1819790583","n1819790559","n1819790863","n1819790912","n1819790685","n1819790913"]},"n185955128":{"id":"n185955128","loc":[-85.6189367,41.9519432],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948818":{"id":"n185948818","loc":[-85.616755,41.952231],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:53:44Z","tags":{}},"n185978819":{"id":"n185978819","loc":[-85.616773,41.954737],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n185978821":{"id":"n185978821","loc":[-85.616699,41.954742],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:35Z","tags":{}},"n2138420714":{"id":"n2138420714","loc":[-85.6176304,41.9515154],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420715":{"id":"n2138420715","loc":[-85.6177355,41.9515717],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420716":{"id":"n2138420716","loc":[-85.6192901,41.951573],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420718":{"id":"n2138420718","loc":[-85.6171481,41.9513579],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420719":{"id":"n2138420719","loc":[-85.6165981,41.9519199],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420720":{"id":"n2138420720","loc":[-85.6165719,41.9519922],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420721":{"id":"n2138420721","loc":[-85.6165832,41.9520757],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420722":{"id":"n2138420722","loc":[-85.6166355,41.9521453],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420723":{"id":"n2138420723","loc":[-85.6169161,41.9522788],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420724":{"id":"n2138420724","loc":[-85.6170882,41.9522538],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420725":{"id":"n2138420725","loc":[-85.6189204,41.9514674],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420726":{"id":"n2138420726","loc":[-85.6180346,41.9514735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420727":{"id":"n2138420727","loc":[-85.6180362,41.9515719],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420728":{"id":"n2138420728","loc":[-85.6189204,41.9515727],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420744":{"id":"n2138420744","loc":[-85.618919,41.9519571],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420745":{"id":"n2138420745","loc":[-85.6194575,41.9522374],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420746":{"id":"n2138420746","loc":[-85.6181777,41.9536179],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420747":{"id":"n2138420747","loc":[-85.6176582,41.9533658],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420748":{"id":"n2138420748","loc":[-85.6179871,41.9530242],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420749":{"id":"n2138420749","loc":[-85.618429,41.9532476],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420750":{"id":"n2138420750","loc":[-85.6185538,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420751":{"id":"n2138420751","loc":[-85.6180765,41.9528677],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420752":{"id":"n2138420752","loc":[-85.6180394,41.9528855],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420753":{"id":"n2138420753","loc":[-85.6193752,41.9521695],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420754":{"id":"n2138420754","loc":[-85.6181374,41.9535376],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420755":{"id":"n2138420755","loc":[-85.6179898,41.9535545],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420756":{"id":"n2138420756","loc":[-85.6177286,41.9534228],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420757":{"id":"n2138420757","loc":[-85.6181011,41.9530292],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420759":{"id":"n2138420759","loc":[-85.6185158,41.9531194],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420760":{"id":"n2138420760","loc":[-85.6191318,41.9520425],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420761":{"id":"n2138420761","loc":[-85.6182348,41.9529815],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420762":{"id":"n2138420762","loc":[-85.6184853,41.9524248],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420763":{"id":"n2138420763","loc":[-85.6186764,41.9525193],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420764":{"id":"n2138420764","loc":[-85.6189421,41.9526483],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420765":{"id":"n2138420765","loc":[-85.6182875,41.9531222],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420766":{"id":"n2138420766","loc":[-85.6179141,41.9535163],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420767":{"id":"n2138420767","loc":[-85.6178363,41.9535735],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n185948824":{"id":"n185948824","loc":[-85.6165667,41.9529715],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n2138420758":{"id":"n2138420758","loc":[-85.6184408,41.953201],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138422349":{"id":"n2138422349","loc":[-85.6175136,41.9533346],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422350":{"id":"n2138422350","loc":[-85.6171867,41.9531679],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422351":{"id":"n2138422351","loc":[-85.61722,41.9531305],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422352":{"id":"n2138422352","loc":[-85.6171889,41.9531158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422353":{"id":"n2138422353","loc":[-85.6171733,41.9531284],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422354":{"id":"n2138422354","loc":[-85.616765,41.9529207],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422355":{"id":"n2138422355","loc":[-85.6167565,41.9529355],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422356":{"id":"n2138422356","loc":[-85.6164772,41.9527911],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422357":{"id":"n2138422357","loc":[-85.6168227,41.9524261],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422358":{"id":"n2138422358","loc":[-85.6171913,41.9526158],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422359":{"id":"n2138422359","loc":[-85.6172403,41.9525589],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422360":{"id":"n2138422360","loc":[-85.6172097,41.952542],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422361":{"id":"n2138422361","loc":[-85.6173948,41.9523512],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422362":{"id":"n2138422362","loc":[-85.6174256,41.9523678],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422363":{"id":"n2138422363","loc":[-85.6174831,41.9523086],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:27Z","tags":{}},"n2138422364":{"id":"n2138422364","loc":[-85.6173316,41.9522289],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422365":{"id":"n2138422365","loc":[-85.6174507,41.9521024],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422366":{"id":"n2138422366","loc":[-85.6174773,41.9521155],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422367":{"id":"n2138422367","loc":[-85.6176577,41.9519232],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422368":{"id":"n2138422368","loc":[-85.6176336,41.9519105],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422369":{"id":"n2138422369","loc":[-85.617747,41.9517861],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422370":{"id":"n2138422370","loc":[-85.6182675,41.9520559],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422371":{"id":"n2138422371","loc":[-85.6182105,41.9521219],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422372":{"id":"n2138422372","loc":[-85.6183863,41.9522203],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422373":{"id":"n2138422373","loc":[-85.6180984,41.9525266],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422374":{"id":"n2138422374","loc":[-85.6179159,41.9524295],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422375":{"id":"n2138422375","loc":[-85.617854,41.9524979],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422376":{"id":"n2138422376","loc":[-85.6177686,41.9524531],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422377":{"id":"n2138422377","loc":[-85.6174716,41.9527765],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138422378":{"id":"n2138422378","loc":[-85.6178545,41.9529756],"version":"1","changeset":"14878856","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:12:28Z","tags":{}},"n2138425424":{"id":"n2138425424","loc":[-85.6171736,41.9536385],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425425":{"id":"n2138425425","loc":[-85.6180159,41.9535782],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425426":{"id":"n2138425426","loc":[-85.6181068,41.9536282],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425427":{"id":"n2138425427","loc":[-85.6180673,41.9542678],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425428":{"id":"n2138425428","loc":[-85.6178636,41.9542634],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425429":{"id":"n2138425429","loc":[-85.6176204,41.9542046],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425430":{"id":"n2138425430","loc":[-85.6174366,41.9541031],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425431":{"id":"n2138425431","loc":[-85.6172942,41.9539781],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425432":{"id":"n2138425432","loc":[-85.6172171,41.9538399],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425433":{"id":"n2138425433","loc":[-85.6168138,41.9543266],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425434":{"id":"n2138425434","loc":[-85.6167779,41.9538098],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425435":{"id":"n2138425435","loc":[-85.6165849,41.9537073],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425441":{"id":"n2138425441","loc":[-85.616458,41.9543184],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425442":{"id":"n2138425442","loc":[-85.6166428,41.954345],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425445":{"id":"n2138425445","loc":[-85.6181332,41.9514117],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425446":{"id":"n2138425446","loc":[-85.6183263,41.9514111],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425447":{"id":"n2138425447","loc":[-85.6185033,41.9514102],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425449":{"id":"n2138425449","loc":[-85.6186809,41.9514093],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425451":{"id":"n2138425451","loc":[-85.6188681,41.9514082],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138436008":{"id":"n2138436008","loc":[-85.6170474,41.9513604],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436009":{"id":"n2138436009","loc":[-85.6164937,41.9519586],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436010":{"id":"n2138436010","loc":[-85.616497,41.9520725],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436011":{"id":"n2138436011","loc":[-85.6165654,41.9521645],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436012":{"id":"n2138436012","loc":[-85.6166631,41.9522178],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436013":{"id":"n2138436013","loc":[-85.6167327,41.9522554],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436014":{"id":"n2138436014","loc":[-85.6172383,41.9525125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138439319":{"id":"n2138439319","loc":[-85.6170432,41.9524057],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439320":{"id":"n2138439320","loc":[-85.617691,41.9517107],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439321":{"id":"n2138439321","loc":[-85.6177727,41.9516794],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439322":{"id":"n2138439322","loc":[-85.619085,41.9516811],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439323":{"id":"n2138439323","loc":[-85.6179432,41.952895],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439324":{"id":"n2138439324","loc":[-85.6180389,41.9529384],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439325":{"id":"n2138439325","loc":[-85.6176303,41.9533604],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439326":{"id":"n2138439326","loc":[-85.6175538,41.9534396],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439327":{"id":"n2138439327","loc":[-85.6173806,41.9523658],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439328":{"id":"n2138439328","loc":[-85.6171841,41.9522542],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439329":{"id":"n2138439329","loc":[-85.6172077,41.9524958],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439330":{"id":"n2138439330","loc":[-85.6171235,41.9525809],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439331":{"id":"n2138439331","loc":[-85.6180938,41.9527349],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439332":{"id":"n2138439332","loc":[-85.6177023,41.9525253],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439333":{"id":"n2138439333","loc":[-85.6175543,41.9526865],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n2138439334":{"id":"n2138439334","loc":[-85.6179589,41.9528783],"version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{}},"n185948820":{"id":"n185948820","loc":[-85.6163249,41.952701],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185948822":{"id":"n185948822","loc":[-85.6163757,41.952855],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185955123":{"id":"n185955123","loc":[-85.6198103,41.9510408],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185958839":{"id":"n185958839","loc":[-85.611651,41.954761],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965033":{"id":"n185965033","loc":[-85.614195,41.954754],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185976502":{"id":"n185976502","loc":[-85.617375,41.947559],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:07:32Z","tags":{}},"n185976504":{"id":"n185976504","loc":[-85.6174164,41.9510804],"version":"3","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{}},"n185978828":{"id":"n185978828","loc":[-85.613542,41.954756],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n185978830":{"id":"n185978830","loc":[-85.610373,41.954774],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:08:36Z","tags":{}},"n2138420713":{"id":"n2138420713","loc":[-85.6174641,41.9506942],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:11Z","tags":{}},"n2138420717":{"id":"n2138420717","loc":[-85.6173027,41.9512895],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:12Z","tags":{}},"n2138420768":{"id":"n2138420768","loc":[-85.61745,41.9501974],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138420773":{"id":"n2138420773","loc":[-85.6174135,41.9489136],"version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{}},"n2138425436":{"id":"n2138425436","loc":[-85.6159148,41.9538036],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:40Z","tags":{}},"n2138425437":{"id":"n2138425437","loc":[-85.6159534,41.9539677],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425438":{"id":"n2138425438","loc":[-85.6160306,41.9540846],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425439":{"id":"n2138425439","loc":[-85.6161354,41.954181],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425440":{"id":"n2138425440","loc":[-85.6162733,41.954263],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425443":{"id":"n2138425443","loc":[-85.6183273,41.9510826],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425444":{"id":"n2138425444","loc":[-85.6181354,41.9510835],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425448":{"id":"n2138425448","loc":[-85.6185033,41.9510816],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425450":{"id":"n2138425450","loc":[-85.6186816,41.9510808],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138425452":{"id":"n2138425452","loc":[-85.6188641,41.9510818],"version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:41Z","tags":{}},"n2138435984":{"id":"n2138435984","loc":[-85.6167607,41.9501009],"version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:47Z","tags":{}},"n2138436000":{"id":"n2138436000","loc":[-85.6173169,41.947558],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436001":{"id":"n2138436001","loc":[-85.6173362,41.948883],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436002":{"id":"n2138436002","loc":[-85.6167791,41.9492952],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436003":{"id":"n2138436003","loc":[-85.6167543,41.949349],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436004":{"id":"n2138436004","loc":[-85.6167648,41.9509125],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436005":{"id":"n2138436005","loc":[-85.6168832,41.9510412],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436006":{"id":"n2138436006","loc":[-85.6170045,41.9511417],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:01Z","tags":{}},"n2138436007":{"id":"n2138436007","loc":[-85.6170624,41.9512483],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436017":{"id":"n2138436017","loc":[-85.6168094,41.9492729],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436021":{"id":"n2138436021","loc":[-85.6167553,41.9494886],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436023":{"id":"n2138436023","loc":[-85.6167585,41.9499707],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"n2138436025":{"id":"n2138436025","loc":[-85.6167567,41.9497018],"version":"1","changeset":"14878954","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:47:02Z","tags":{}},"w203838284":{"id":"w203838284","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425424","n2138425425","n2138425426","n2138425427","n2138425428","n2138425429","n2138425430","n2138425431","n2138425432","n2138425424"]},"w203837928":{"id":"w203837928","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"highway":"service"},"nodes":["n2138420717","n2138420718","n2138420719","n2138420720","n2138420721","n2138420722","n185948818","n2138420723","n2138420724","n2138420715"]},"w203839364":{"id":"w203839364","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439331","n2138439332"]},"w203837932":{"id":"w203837932","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420744","n2138420745","n2138420746","n2138420747","n2138420748","n2138420749","n2138420750","n2138420751","n2138420744"]},"w203839362":{"id":"w203839362","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439327","n2138439328"]},"w203839363":{"id":"w203839363","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439329","n2138439330"]},"w203837933":{"id":"w203837933","version":"2","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:42Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n185955128","n2138420760","n2138420753","n2138420764","n2138420759","n2138420758","n2138420754","n2138420755","n2138420766","n2138420756"]},"w203837936":{"id":"w203837936","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420765","n2138420766"]},"w17966364":{"id":"w17966364","version":"2","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"access":"private","highway":"service","name":"Collins Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Collins","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313686","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185961362","n185976502","n2138420773","n2138420768","n2138420713","n185976504","n2138420717","n2138420714","n2138420715","n2138420727","n2138420728","n2138420716"]},"w203838040":{"id":"w203838040","version":"3","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"amenity":"school","area":"yes","building":"yes","name":"Three Rivers Middle School"},"nodes":["n2138422349","n2138422350","n2138422351","n2138422352","n2138422353","n2138422354","n2138422355","n2138422356","n2138422357","n2138439330","n2138422358","n2138422359","n2138422360","n2138436014","n2138439327","n2138422361","n2138422362","n2138422363","n2138422364","n2138422365","n2138422366","n2138422367","n2138422368","n2138422369","n2138422370","n2138422371","n2138422372","n2138422373","n2138422374","n2138422375","n2138422376","n2138439332","n2138439333","n2138422377","n2138422378","n2138422349"]},"w17964049":{"id":"w17964049","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:46Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15335181","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955120","n185955123","n2138420716","n185955128","n2138420762","n2138420752","n2138420761","n2138420759"]},"w41074899":{"id":"w41074899","version":"4","changeset":"14676554","user":"bbmiller","uid":"451048","visible":"true","timestamp":"2013-01-16T20:05:18Z","tags":{"highway":"secondary","name":"E Hoffman St","ref":"M 60","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Hoffman","tiger:name_direction_prefix":"E","tiger:name_type":"St","tiger:reviewed":"no","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978817","n185978819","n185978821","n185965033","n185978828","n185958839","n185978830"]},"w203839365":{"id":"w203839365","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439333","n2138439334"]},"w203837935":{"id":"w203837935","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420762","n2138420763","n2138420764"]},"w203838287":{"id":"w203838287","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425446","n2138425447","n2138425448","n2138425443","n2138425446"]},"w203837934":{"id":"w203837934","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:14Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420760","n2138420763","n2138420761"]},"w203838289":{"id":"w203838289","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425449","n2138425451","n2138425452","n2138425450","n2138425449"]},"w17963047":{"id":"w17963047","version":"4","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:19Z","tags":{"highway":"service","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15331535","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185948818","n2138436013","n185948820","n185948822","n185948824","n2138439326","n2138420767","n2138420766"]},"w203839091":{"id":"w203839091","version":"3","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:44Z","tags":{"highway":"footway"},"nodes":["n185976502","n2138436000","n2138436001","n2138436017","n2138436002","n2138436003","n2138436021","n2138436025","n2138436023","n2138435984","n2138436004","n2138436005","n2138436006","n2138436007","n2138436008","n2138436009","n2138436010","n2138436011","n2138436012","n2138436013","n2138439319","n2138439329","n2138436014"]},"w204830797":{"id":"w204830797","version":"1","changeset":"14970854","user":"oldtopos","uid":"169004","visible":"true","timestamp":"2013-02-09T18:25:37Z","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2138420756","n2138420757","n2138420765","n2138420758"]},"w203838288":{"id":"w203838288","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425447","n2138425449","n2138425450","n2138425448","n2138425447"]},"w203838285":{"id":"w203838285","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"baseball"},"nodes":["n2138425433","n2138425434","n2138425435","n2138425436","n2138425437","n2138425438","n2138425439","n2138425440","n2138425441","n2138425442","n2138425433"]},"w203838286":{"id":"w203838286","version":"1","changeset":"14878914","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:33:42Z","tags":{"area":"yes","leisure":"pitch","sport":"tennis"},"nodes":["n2138425443","n2138425444","n2138425445","n2138425446","n2138425443"]},"w203837929":{"id":"w203837929","version":"1","changeset":"14878832","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:00:13Z","tags":{"amenity":"parking","area":"yes"},"nodes":["n2138420725","n2138420726","n2138420727","n2138420728","n2138420725"]},"w203839361":{"id":"w203839361","version":"1","changeset":"14878967","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T04:54:18Z","tags":{"highway":"footway"},"nodes":["n2138439319","n2138439328","n2138439320","n2138439321","n2138439322","n2138439331","n2138439334","n2138439323","n2138439324","n2138439325","n2138439326"]},"n394381698":{"id":"n394381698","loc":[-85.614471,41.954755],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381699":{"id":"n394381699","loc":[-85.6152,41.954744],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381700":{"id":"n394381700","loc":[-85.615201,41.954081],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381701":{"id":"n394381701","loc":[-85.614426,41.954042],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381702":{"id":"n394381702","loc":[-85.616319,41.954749],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381704":{"id":"n394381704","loc":[-85.616152,41.954752],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381706":{"id":"n394381706","loc":[-85.615201,41.95483],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490775":{"id":"n394490775","loc":[-85.613971,41.954839],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490782":{"id":"n394490782","loc":[-85.614372,41.954841],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n185958835":{"id":"n185958835","loc":[-85.611615,41.953704],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958837":{"id":"n185958837","loc":[-85.611636,41.953938],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958842":{"id":"n185958842","loc":[-85.611187,41.951686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958844":{"id":"n185958844","loc":[-85.611087,41.951741],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958845":{"id":"n185958845","loc":[-85.611034,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958847":{"id":"n185958847","loc":[-85.611016,41.95196],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958849":{"id":"n185958849","loc":[-85.610989,41.95328],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958851":{"id":"n185958851","loc":[-85.611021,41.953484],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958852":{"id":"n185958852","loc":[-85.611091,41.953603],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958853":{"id":"n185958853","loc":[-85.6112,41.953661],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185958855":{"id":"n185958855","loc":[-85.611364,41.953686],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:58:34Z","tags":{}},"n185965031":{"id":"n185965031","loc":[-85.614204,41.953696],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965032":{"id":"n185965032","loc":[-85.6142,41.953978],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:42Z","tags":{}},"n185965062":{"id":"n185965062","loc":[-85.614617,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965064":{"id":"n185965064","loc":[-85.61463,41.951852],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965066":{"id":"n185965066","loc":[-85.614642,41.953436],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965068":{"id":"n185965068","loc":[-85.6146,41.953551],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965071":{"id":"n185965071","loc":[-85.614487,41.95363],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185965073":{"id":"n185965073","loc":[-85.614354,41.953672],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:01:43Z","tags":{}},"n185966288":{"id":"n185966288","loc":[-85.61179,41.953695],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966290":{"id":"n185966290","loc":[-85.612232,41.953685],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966293":{"id":"n185966293","loc":[-85.613438,41.953677],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:33Z","tags":{}},"n185966349":{"id":"n185966349","loc":[-85.611323,41.951653],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966351":{"id":"n185966351","loc":[-85.611892,41.951642],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966352":{"id":"n185966352","loc":[-85.612216,41.951641],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966353":{"id":"n185966353","loc":[-85.613111,41.951639],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966354":{"id":"n185966354","loc":[-85.613396,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185966355":{"id":"n185966355","loc":[-85.614221,41.95164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:02:34Z","tags":{}},"n185973839":{"id":"n185973839","loc":[-85.61341,41.951919],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185973840":{"id":"n185973840","loc":[-85.613438,41.953308],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:06:03Z","tags":{}},"n185980222":{"id":"n185980222","loc":[-85.613781,41.955164],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980223":{"id":"n185980223","loc":[-85.613815,41.955237],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980225":{"id":"n185980225","loc":[-85.613837,41.955316],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185990345":{"id":"n185990345","loc":[-85.612211,41.951977],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:15:01Z","tags":{}},"n185955743":{"id":"n185955743","loc":[-85.613873,41.95635],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185980227":{"id":"n185980227","loc":[-85.613851,41.955415],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n185980229":{"id":"n185980229","loc":[-85.613918,41.957134],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T05:09:33Z","tags":{}},"n394381703":{"id":"n394381703","loc":[-85.616287,41.955674],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394381705":{"id":"n394381705","loc":[-85.615164,41.955676],"version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{}},"n394490777":{"id":"n394490777","loc":[-85.613973,41.955979],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"n394490780":{"id":"n394490780","loc":[-85.614364,41.955987],"version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{}},"w17965307":{"id":"w17965307","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:58Z","tags":{"highway":"residential","name":"Bates Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Bates","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313640:15313641","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185966349","n185966351","n185966352","n185966353","n185966354","n185966355","n185965062"]},"w17967957":{"id":"w17967957","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:55:16Z","tags":{"highway":"residential","name":"Krum Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Krum","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313643","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966352","n185990345","n185966290"]},"w17964508":{"id":"w17964508","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:11Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15324628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958842","n185958844","n185958845","n185958847","n185958849","n185958851","n185958852","n185958853","n185958855","n185958835"]},"w17964507":{"id":"w17964507","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:30:10Z","tags":{"highway":"residential","name":"Blossom Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Blossom","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313629","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185958837","n185958839"]},"w34367080":{"id":"w34367080","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381699","n394381706","n394381705","n394381703","n394381702","n394381704","n394381699"]},"w17965302":{"id":"w17965302","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:35:55Z","tags":{"highway":"residential","name":"Clausen Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Clausen","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313630:15313631:15313632","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185958835","n185966288","n185966290","n185966293","n185965031"]},"w17965156":{"id":"w17965156","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:54Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15327962","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965062","n185965064","n185965066","n185965068","n185965071","n185965073","n185965031"]},"w34369812":{"id":"w34369812","version":"1","changeset":"1160580","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T06:07:58Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394490775","n394490777","n394490780","n394490782","n394490775"]},"w17965151":{"id":"w17965151","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:34:52Z","tags":{"highway":"residential","name":"Orchard Dr","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Orchard","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313628","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185965031","n185965032","n185965033"]},"w17966756":{"id":"w17966756","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:47:10Z","tags":{"access":"private","highway":"service","name":"Lockport Dr","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Lockport","tiger:name_type":"Dr","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313621:15314402","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185978828","n185980222","n185980223","n185980225","n185980227","n185955743","n185980229"]},"w17966056":{"id":"w17966056","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:41:57Z","tags":{"highway":"residential","name":"Angell Ave","tiger:cfcc":"A41","tiger:county":"St. Joseph, MI","tiger:name_base":"Angell","tiger:name_type":"Ave","tiger:reviewed":"no","tiger:separated":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15313639","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185966354","n185973839","n185973840","n185966293"]},"w34367079":{"id":"w34367079","version":"1","changeset":"1160198","user":"TIGERcnl","uid":"120146","visible":"true","timestamp":"2009-05-12T04:27:13Z","tags":{"admin_level":"8","boundary":"administrative","created_by":"polyshp2osm-multipoly","source":"TIGER/Line® 2008 Place Shapefiles (http://www.census.gov/geo/www/tiger/)"},"nodes":["n394381700","n394381701","n394381698","n394381699","n394381700"]},"n185955744":{"id":"n185955744","loc":[-85.611753,41.956208],"version":"2","changeset":"2196690","user":"woodpeck_fixbot","uid":"147510","visible":"true","timestamp":"2009-08-19T04:56:55Z","tags":{}},"n185988932":{"id":"n185988932","loc":[-85.6159,41.956336],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988934":{"id":"n185988934","loc":[-85.6159158,41.9590646],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{}},"n185988935":{"id":"n185988935","loc":[-85.6157358,41.959364],"version":"3","changeset":"12169723","user":"Tom Layo","uid":"280679","visible":"true","timestamp":"2012-07-10T06:59:04Z","tags":{"highway":"turning_circle","source":"Bing"}},"n2138447007":{"id":"n2138447007","loc":[-85.6130784,41.9590689],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447008":{"id":"n2138447008","loc":[-85.6133328,41.9593805],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447003":{"id":"n2138447003","loc":[-85.610238,41.9547745],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447004":{"id":"n2138447004","loc":[-85.6102652,41.9566041],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447005":{"id":"n2138447005","loc":[-85.610325,41.9568823],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447006":{"id":"n2138447006","loc":[-85.6105644,41.9571383],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447009":{"id":"n2138447009","loc":[-85.6135946,41.959948],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447010":{"id":"n2138447010","loc":[-85.6136071,41.9629372],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447011":{"id":"n2138447011","loc":[-85.6134392,41.9633182],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447012":{"id":"n2138447012","loc":[-85.6130151,41.9636073],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447013":{"id":"n2138447013","loc":[-85.6122729,41.9637125],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"n2138447014":{"id":"n2138447014","loc":[-85.6056682,41.963752],"version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{}},"w17964174":{"id":"w17964174","version":"1","changeset":"402341","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:27:41Z","tags":{"access":"private","highway":"service","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15314401","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7"},"nodes":["n185955743","n185955744"]},"w17967743":{"id":"w17967743","version":"1","changeset":"402580","user":"DaveHansenTiger","uid":"7168","visible":"true","timestamp":"2007-12-23T20:54:06Z","tags":{"access":"private","highway":"service","name":"Manistee River Rd","tiger:cfcc":"A74","tiger:county":"St. Joseph, MI","tiger:name_base":"Manistee River","tiger:name_type":"Rd","tiger:reviewed":"no","tiger:source":"tiger_import_dch_v0.6_20070813","tiger:tlid":"15326121:15326126:15326127:15326116","tiger:upload_uuid":"bulk_upload.pl-b79f893a-0be1-4a5f-a183-6aea114c9af7","tiger:zip_left":"49093","tiger:zip_right":"49093"},"nodes":["n185971574","n185988932","n185971407","n185981301","n185967987","n185988934","n185988935"]},"w203839666":{"id":"w203839666","version":"1","changeset":"14878989","user":"ansis","uid":"1193517","visible":"true","timestamp":"2013-02-02T05:02:39Z","tags":{"highway":"residential","name":"Hov Aire Drive"},"nodes":["n2138447003","n2138447004","n2138447005","n2138447006","n2138447007","n2138447008","n2138447009","n2138447010","n2138447011","n2138447012","n2138447013","n2138447014"]}}';iD.data = {
+    "deprecated": [
+        {
+            "old": {
+                "amenity": "firepit"
             },
-            "service": {
-                "key": "service",
-                "type": "combo",
-                "options": [
-                    "parking_aisle",
-                    "driveway",
-                    "alley",
-                    "drive-through",
-                    "emergency_access"
-                ],
-                "label": "Type"
-            },
-            "shelter": {
-                "key": "shelter",
-                "type": "check",
-                "label": "Shelter"
-            },
-            "shop": {
-                "key": "shop",
-                "type": "combo",
-                "label": "Type"
-            },
-            "source": {
-                "key": "source",
-                "type": "text",
-                "icon": "source",
-                "universal": true,
-                "label": "Source"
-            },
-            "sport": {
-                "key": "sport",
-                "type": "combo",
-                "label": "Sport"
+            "replace": {
+                "leisure": "firepit"
+            }
+        },
+        {
+            "old": {
+                "barrier": "wire_fence"
             },
-            "structure": {
-                "type": "radio",
-                "keys": [
-                    "bridge",
-                    "tunnel",
-                    "embankment",
-                    "cutting"
-                ],
-                "label": "Structure",
-                "strings": {
-                    "options": {
-                        "bridge": "Bridge",
-                        "tunnel": "Tunnel",
-                        "embankment": "Embankment",
-                        "cutting": "Cutting"
-                    }
-                }
+            "replace": {
+                "barrier": "fence",
+                "fence_type": "chain"
+            }
+        },
+        {
+            "old": {
+                "barrier": "wood_fence"
             },
-            "supervised": {
-                "key": "supervised",
-                "type": "check",
-                "label": "Supervised"
+            "replace": {
+                "barrier": "fence",
+                "fence_type": "wood"
+            }
+        },
+        {
+            "old": {
+                "highway": "ford"
             },
-            "surface": {
-                "key": "surface",
-                "type": "combo",
-                "label": "Surface"
+            "replace": {
+                "ford": "yes"
+            }
+        },
+        {
+            "old": {
+                "highway": "stile"
             },
-            "tourism": {
-                "key": "tourism",
-                "type": "combo",
-                "label": "Type"
+            "replace": {
+                "barrier": "stile"
+            }
+        },
+        {
+            "old": {
+                "highway": "incline"
             },
-            "tracktype": {
-                "key": "tracktype",
-                "type": "combo",
-                "label": "Type"
+            "replace": {
+                "highway": "road",
+                "incline": "up"
+            }
+        },
+        {
+            "old": {
+                "highway": "incline_steep"
             },
-            "water": {
-                "key": "water",
-                "type": "combo",
-                "label": "Type"
+            "replace": {
+                "highway": "road",
+                "incline": "up"
+            }
+        },
+        {
+            "old": {
+                "highway": "unsurfaced"
             },
-            "waterway": {
-                "key": "waterway",
-                "type": "combo",
-                "label": "Type"
+            "replace": {
+                "highway": "road",
+                "incline": "unpaved"
+            }
+        },
+        {
+            "old": {
+                "landuse": "wood"
             },
-            "website": {
-                "key": "website",
-                "type": "url",
-                "icon": "website",
-                "placeholder": "http://example.com/",
-                "universal": true,
-                "label": "Website"
+            "replace": {
+                "landuse": "forest",
+                "natural": "wood"
+            }
+        },
+        {
+            "old": {
+                "natural": "marsh"
             },
-            "wetland": {
-                "key": "wetland",
-                "type": "combo",
-                "label": "Type"
+            "replace": {
+                "natural": "wetland",
+                "wetland": "marsh"
+            }
+        },
+        {
+            "old": {
+                "power_source": "*"
             },
-            "wheelchair": {
-                "key": "wheelchair",
-                "type": "radio",
-                "options": [
-                    "yes",
-                    "limited",
-                    "no"
-                ],
-                "icon": "wheelchair",
-                "universal": true,
-                "label": "Wheelchair Access"
+            "replace": {
+                "generator:source": "$1"
+            }
+        },
+        {
+            "old": {
+                "power_rating": "*"
             },
-            "wikipedia": {
-                "key": "wikipedia",
-                "type": "wikipedia",
-                "icon": "wikipedia",
-                "universal": true,
-                "label": "Wikipedia"
+            "replace": {
+                "generator:output": "$1"
+            }
+        },
+        {
+            "old": {
+                "shop": "organic"
             },
-            "wood": {
-                "key": "wood",
-                "type": "combo",
-                "label": "Type"
+            "replace": {
+                "shop": "supermarket",
+                "organic": "only"
             }
         }
-    },
+    ],
+    "discarded": [
+        "created_by",
+        "odbl",
+        "odbl:note",
+        "tiger:upload_uuid",
+        "tiger:tlid",
+        "tiger:source",
+        "tiger:separated",
+        "geobase:datasetName",
+        "geobase:uuid",
+        "sub_sea:type",
+        "KSJ2:ADS",
+        "KSJ2:ARE",
+        "KSJ2:AdminArea",
+        "KSJ2:COP_label",
+        "KSJ2:DFD",
+        "KSJ2:INT",
+        "KSJ2:INT_label",
+        "KSJ2:LOC",
+        "KSJ2:LPN",
+        "KSJ2:OPC",
+        "KSJ2:PubFacAdmin",
+        "KSJ2:RAC",
+        "KSJ2:RAC_label",
+        "KSJ2:RIC",
+        "KSJ2:RIN",
+        "KSJ2:WSC",
+        "KSJ2:coordinate",
+        "KSJ2:curve_id",
+        "KSJ2:curve_type",
+        "KSJ2:filename",
+        "KSJ2:lake_id",
+        "KSJ2:lat",
+        "KSJ2:long",
+        "KSJ2:river_id",
+        "yh:LINE_NAME",
+        "yh:LINE_NUM",
+        "yh:STRUCTURE",
+        "yh:TOTYUMONO",
+        "yh:TYPE",
+        "yh:WIDTH",
+        "yh:WIDTH_RANK",
+        "SK53_bulk:load"
+    ],
+    "wikipedia": [
+        [
+            "Abkhazian",
+            "Аҧсшәа",
+            "ab"
+        ],
+        [
+            "Achinese",
+            "Acèh",
+            "ace"
+        ],
+        [
+            "Afrikaans",
+            "Afrikaans",
+            "af"
+        ],
+        [
+            "Akan",
+            "Akan",
+            "ak"
+        ],
+        [
+            "Alemannisch",
+            "Alemannisch",
+            "als"
+        ],
+        [
+            "Amharic",
+            "አማርኛ",
+            "am"
+        ],
+        [
+            "Aragonese",
+            "aragonés",
+            "an"
+        ],
+        [
+            "Old English",
+            "Ænglisc",
+            "ang"
+        ],
+        [
+            "Arabic",
+            "العربية",
+            "ar"
+        ],
+        [
+            "Aramaic",
+            "ܐܪܡܝܐ",
+            "arc"
+        ],
+        [
+            "Egyptian Arabic",
+            "مصرى",
+            "arz"
+        ],
+        [
+            "Assamese",
+            "অসমীয়া",
+            "as"
+        ],
+        [
+            "Asturian",
+            "asturianu",
+            "ast"
+        ],
+        [
+            "Avaric",
+            "авар",
+            "av"
+        ],
+        [
+            "Aymara",
+            "Aymar aru",
+            "ay"
+        ],
+        [
+            "Azerbaijani",
+            "azərbaycanca",
+            "az"
+        ],
+        [
+            "South Azerbaijani",
+            "تۆرکجه",
+            "azb"
+        ],
+        [
+            "Bashkir",
+            "башҡортса",
+            "ba"
+        ],
+        [
+            "Bavarian",
+            "Boarisch",
+            "bar"
+        ],
+        [
+            "Samogitian",
+            "žemaitėška",
+            "bat-smg"
+        ],
+        [
+            "Bikol Central",
+            "Bikol Central",
+            "bcl"
+        ],
+        [
+            "Belarusian",
+            "беларуская",
+            "be"
+        ],
+        [
+            "беларуская (тарашкевіца)‎",
+            "беларуская (тарашкевіца)‎",
+            "be-x-old"
+        ],
+        [
+            "Bulgarian",
+            "български",
+            "bg"
+        ],
+        [
+            "भोजपुरी",
+            "भोजपुरी",
+            "bh"
+        ],
+        [
+            "Bislama",
+            "Bislama",
+            "bi"
+        ],
+        [
+            "Banjar",
+            "Bahasa Banjar",
+            "bjn"
+        ],
+        [
+            "Bambara",
+            "bamanankan",
+            "bm"
+        ],
+        [
+            "Bengali",
+            "বাংলা",
+            "bn"
+        ],
+        [
+            "Tibetan",
+            "བོད་ཡིག",
+            "bo"
+        ],
+        [
+            "Bishnupriya",
+            "বিষ্ণুপ্রিয়া মণিপুরী",
+            "bpy"
+        ],
+        [
+            "Breton",
+            "brezhoneg",
+            "br"
+        ],
+        [
+            "Bosnian",
+            "bosanski",
+            "bs"
+        ],
+        [
+            "Buginese",
+            "ᨅᨔ ᨕᨘᨁᨗ",
+            "bug"
+        ],
+        [
+            "буряад",
+            "буряад",
+            "bxr"
+        ],
+        [
+            "Catalan",
+            "català",
+            "ca"
+        ],
+        [
+            "Chavacano de Zamboanga",
+            "Chavacano de Zamboanga",
+            "cbk-zam"
+        ],
+        [
+            "Min Dong Chinese",
+            "Mìng-dĕ̤ng-ngṳ̄",
+            "cdo"
+        ],
+        [
+            "Chechen",
+            "нохчийн",
+            "ce"
+        ],
+        [
+            "Cebuano",
+            "Cebuano",
+            "ceb"
+        ],
+        [
+            "Chamorro",
+            "Chamoru",
+            "ch"
+        ],
+        [
+            "Cherokee",
+            "ᏣᎳᎩ",
+            "chr"
+        ],
+        [
+            "Cheyenne",
+            "Tsetsêhestâhese",
+            "chy"
+        ],
+        [
+            "Central Kurdish",
+            "کوردیی ناوەندی",
+            "ckb"
+        ],
+        [
+            "Corsican",
+            "corsu",
+            "co"
+        ],
+        [
+            "Cree",
+            "Nēhiyawēwin / ᓀᐦᐃᔭᐍᐏᐣ",
+            "cr"
+        ],
+        [
+            "Crimean Turkish",
+            "qırımtatarca",
+            "crh"
+        ],
+        [
+            "Czech",
+            "čeština",
+            "cs"
+        ],
+        [
+            "Kashubian",
+            "kaszëbsczi",
+            "csb"
+        ],
+        [
+            "Church Slavic",
+            "словѣньскъ / ⰔⰎⰑⰂⰡⰐⰠⰔⰍⰟ",
+            "cu"
+        ],
+        [
+            "Chuvash",
+            "Чӑвашла",
+            "cv"
+        ],
+        [
+            "Welsh",
+            "Cymraeg",
+            "cy"
+        ],
+        [
+            "Danish",
+            "dansk",
+            "da"
+        ],
+        [
+            "German",
+            "Deutsch",
+            "de"
+        ],
+        [
+            "Zazaki",
+            "Zazaki",
+            "diq"
+        ],
+        [
+            "Lower Sorbian",
+            "dolnoserbski",
+            "dsb"
+        ],
+        [
+            "Divehi",
+            "ދިވެހިބަސް",
+            "dv"
+        ],
+        [
+            "Dzongkha",
+            "ཇོང་ཁ",
+            "dz"
+        ],
+        [
+            "Ewe",
+            "eʋegbe",
+            "ee"
+        ],
+        [
+            "Greek",
+            "Ελληνικά",
+            "el"
+        ],
+        [
+            "Emiliano-Romagnolo",
+            "emiliàn e rumagnòl",
+            "eml"
+        ],
+        [
+            "English",
+            "English",
+            "en"
+        ],
+        [
+            "Esperanto",
+            "Esperanto",
+            "eo"
+        ],
+        [
+            "Spanish",
+            "español",
+            "es"
+        ],
+        [
+            "Estonian",
+            "eesti",
+            "et"
+        ],
+        [
+            "Basque",
+            "euskara",
+            "eu"
+        ],
+        [
+            "Extremaduran",
+            "estremeñu",
+            "ext"
+        ],
+        [
+            "Persian",
+            "فارسی",
+            "fa"
+        ],
+        [
+            "Fulah",
+            "Fulfulde",
+            "ff"
+        ],
+        [
+            "Finnish",
+            "suomi",
+            "fi"
+        ],
+        [
+            "Võro",
+            "Võro",
+            "fiu-vro"
+        ],
+        [
+            "Fijian",
+            "Na Vosa Vakaviti",
+            "fj"
+        ],
+        [
+            "Faroese",
+            "føroyskt",
+            "fo"
+        ],
+        [
+            "French",
+            "français",
+            "fr"
+        ],
+        [
+            "Arpitan",
+            "arpetan",
+            "frp"
+        ],
+        [
+            "Northern Frisian",
+            "Nordfriisk",
+            "frr"
+        ],
+        [
+            "Friulian",
+            "furlan",
+            "fur"
+        ],
+        [
+            "Western Frisian",
+            "Frysk",
+            "fy"
+        ],
+        [
+            "Irish",
+            "Gaeilge",
+            "ga"
+        ],
+        [
+            "Gagauz",
+            "Gagauz",
+            "gag"
+        ],
+        [
+            "Gan Chinese",
+            "贛語",
+            "gan"
+        ],
+        [
+            "Scottish Gaelic",
+            "Gàidhlig",
+            "gd"
+        ],
+        [
+            "Galician",
+            "galego",
+            "gl"
+        ],
+        [
+            "Gilaki",
+            "گیلکی",
+            "glk"
+        ],
+        [
+            "Guarani",
+            "Avañe'ẽ",
+            "gn"
+        ],
+        [
+            "Goan Konkani",
+            "गोवा कोंकणी / Gova Konknni",
+            "gom"
+        ],
+        [
+            "Gothic",
+            "𐌲𐌿𐍄𐌹𐍃𐌺",
+            "got"
+        ],
+        [
+            "Gujarati",
+            "ગુજરાતી",
+            "gu"
+        ],
+        [
+            "Manx",
+            "Gaelg",
+            "gv"
+        ],
+        [
+            "Hausa",
+            "Hausa",
+            "ha"
+        ],
+        [
+            "Hakka Chinese",
+            "客家語/Hak-kâ-ngî",
+            "hak"
+        ],
+        [
+            "Hawaiian",
+            "Hawai`i",
+            "haw"
+        ],
+        [
+            "Hebrew",
+            "עברית",
+            "he"
+        ],
+        [
+            "Hindi",
+            "हिन्दी",
+            "hi"
+        ],
+        [
+            "Fiji Hindi",
+            "Fiji Hindi",
+            "hif"
+        ],
+        [
+            "Croatian",
+            "hrvatski",
+            "hr"
+        ],
+        [
+            "Upper Sorbian",
+            "hornjoserbsce",
+            "hsb"
+        ],
+        [
+            "Haitian",
+            "Kreyòl ayisyen",
+            "ht"
+        ],
+        [
+            "Hungarian",
+            "magyar",
+            "hu"
+        ],
+        [
+            "Armenian",
+            "Հայերեն",
+            "hy"
+        ],
+        [
+            "Interlingua",
+            "interlingua",
+            "ia"
+        ],
+        [
+            "Indonesian",
+            "Bahasa Indonesia",
+            "id"
+        ],
+        [
+            "Interlingue",
+            "Interlingue",
+            "ie"
+        ],
+        [
+            "Igbo",
+            "Igbo",
+            "ig"
+        ],
+        [
+            "Inupiaq",
+            "Iñupiak",
+            "ik"
+        ],
+        [
+            "Iloko",
+            "Ilokano",
+            "ilo"
+        ],
+        [
+            "Ido",
+            "Ido",
+            "io"
+        ],
+        [
+            "Icelandic",
+            "íslenska",
+            "is"
+        ],
+        [
+            "Italian",
+            "italiano",
+            "it"
+        ],
+        [
+            "Inuktitut",
+            "ᐃᓄᒃᑎᑐᑦ/inuktitut",
+            "iu"
+        ],
+        [
+            "Japanese",
+            "日本語",
+            "ja"
+        ],
+        [
+            "Lojban",
+            "Lojban",
+            "jbo"
+        ],
+        [
+            "Javanese",
+            "Basa Jawa",
+            "jv"
+        ],
+        [
+            "Georgian",
+            "ქართული",
+            "ka"
+        ],
+        [
+            "Kara-Kalpak",
+            "Qaraqalpaqsha",
+            "kaa"
+        ],
+        [
+            "Kabyle",
+            "Taqbaylit",
+            "kab"
+        ],
+        [
+            "Kabardian",
+            "Адыгэбзэ",
+            "kbd"
+        ],
+        [
+            "Kongo",
+            "Kongo",
+            "kg"
+        ],
+        [
+            "Kikuyu",
+            "Gĩkũyũ",
+            "ki"
+        ],
+        [
+            "Kazakh",
+            "қазақша",
+            "kk"
+        ],
+        [
+            "Kalaallisut",
+            "kalaallisut",
+            "kl"
+        ],
+        [
+            "Khmer",
+            "ភាសាខ្មែរ",
+            "km"
+        ],
+        [
+            "Kannada",
+            "ಕನ್ನಡ",
+            "kn"
+        ],
+        [
+            "Korean",
+            "한국어",
+            "ko"
+        ],
+        [
+            "Komi-Permyak",
+            "Перем Коми",
+            "koi"
+        ],
+        [
+            "Karachay-Balkar",
+            "къарачай-малкъар",
+            "krc"
+        ],
+        [
+            "Kashmiri",
+            "कॉशुर / کٲشُر",
+            "ks"
+        ],
+        [
+            "Colognian",
+            "Ripoarisch",
+            "ksh"
+        ],
+        [
+            "Kurdish",
+            "Kurdî",
+            "ku"
+        ],
+        [
+            "Komi",
+            "коми",
+            "kv"
+        ],
+        [
+            "Cornish",
+            "kernowek",
+            "kw"
+        ],
+        [
+            "Kyrgyz",
+            "Кыргызча",
+            "ky"
+        ],
+        [
+            "Latin",
+            "Latina",
+            "la"
+        ],
+        [
+            "Ladino",
+            "Ladino",
+            "lad"
+        ],
+        [
+            "Luxembourgish",
+            "Lëtzebuergesch",
+            "lb"
+        ],
+        [
+            "лакку",
+            "лакку",
+            "lbe"
+        ],
+        [
+            "Lezghian",
+            "лезги",
+            "lez"
+        ],
+        [
+            "Ganda",
+            "Luganda",
+            "lg"
+        ],
+        [
+            "Limburgish",
+            "Limburgs",
+            "li"
+        ],
+        [
+            "Ligurian",
+            "Ligure",
+            "lij"
+        ],
+        [
+            "Lombard",
+            "lumbaart",
+            "lmo"
+        ],
+        [
+            "Lingala",
+            "lingála",
+            "ln"
+        ],
+        [
+            "Lao",
+            "ລາວ",
+            "lo"
+        ],
+        [
+            "Northern Luri",
+            "لۊری شومالی",
+            "lrc"
+        ],
+        [
+            "Lithuanian",
+            "lietuvių",
+            "lt"
+        ],
+        [
+            "Latgalian",
+            "latgaļu",
+            "ltg"
+        ],
+        [
+            "Latvian",
+            "latviešu",
+            "lv"
+        ],
+        [
+            "Maithili",
+            "मैथिली",
+            "mai"
+        ],
+        [
+            "Basa Banyumasan",
+            "Basa Banyumasan",
+            "map-bms"
+        ],
+        [
+            "Moksha",
+            "мокшень",
+            "mdf"
+        ],
+        [
+            "Malagasy",
+            "Malagasy",
+            "mg"
+        ],
+        [
+            "Eastern Mari",
+            "олык марий",
+            "mhr"
+        ],
+        [
+            "Maori",
+            "Māori",
+            "mi"
+        ],
+        [
+            "Minangkabau",
+            "Baso Minangkabau",
+            "min"
+        ],
+        [
+            "Macedonian",
+            "македонски",
+            "mk"
+        ],
+        [
+            "Malayalam",
+            "മലയാളം",
+            "ml"
+        ],
+        [
+            "Mongolian",
+            "монгол",
+            "mn"
+        ],
+        [
+            "Marathi",
+            "मराठी",
+            "mr"
+        ],
+        [
+            "Western Mari",
+            "кырык мары",
+            "mrj"
+        ],
+        [
+            "Malay",
+            "Bahasa Melayu",
+            "ms"
+        ],
+        [
+            "Maltese",
+            "Malti",
+            "mt"
+        ],
+        [
+            "Mirandese",
+            "Mirandés",
+            "mwl"
+        ],
+        [
+            "Burmese",
+            "မြန်မာဘာသာ",
+            "my"
+        ],
+        [
+            "Erzya",
+            "эрзянь",
+            "myv"
+        ],
+        [
+            "Mazanderani",
+            "مازِرونی",
+            "mzn"
+        ],
+        [
+            "Nauru",
+            "Dorerin Naoero",
+            "na"
+        ],
+        [
+            "Nāhuatl",
+            "Nāhuatl",
+            "nah"
+        ],
+        [
+            "Neapolitan",
+            "Napulitano",
+            "nap"
+        ],
+        [
+            "Low German",
+            "Plattdüütsch",
+            "nds"
+        ],
+        [
+            "Low Saxon (Netherlands)",
+            "Nedersaksies",
+            "nds-nl"
+        ],
+        [
+            "Nepali",
+            "नेपाली",
+            "ne"
+        ],
+        [
+            "Newari",
+            "नेपाल भाषा",
+            "new"
+        ],
+        [
+            "Dutch",
+            "Nederlands",
+            "nl"
+        ],
+        [
+            "Norwegian Nynorsk",
+            "norsk nynorsk",
+            "nn"
+        ],
+        [
+            "Norwegian",
+            "norsk bokmål",
+            "no"
+        ],
+        [
+            "Novial",
+            "Novial",
+            "nov"
+        ],
+        [
+            "Nouormand",
+            "Nouormand",
+            "nrm"
+        ],
+        [
+            "Northern Sotho",
+            "Sesotho sa Leboa",
+            "nso"
+        ],
+        [
+            "Navajo",
+            "Diné bizaad",
+            "nv"
+        ],
+        [
+            "Nyanja",
+            "Chi-Chewa",
+            "ny"
+        ],
+        [
+            "Occitan",
+            "occitan",
+            "oc"
+        ],
+        [
+            "Oromo",
+            "Oromoo",
+            "om"
+        ],
+        [
+            "Oriya",
+            "ଓଡ଼ିଆ",
+            "or"
+        ],
+        [
+            "Ossetic",
+            "Ирон",
+            "os"
+        ],
+        [
+            "Punjabi",
+            "ਪੰਜਾਬੀ",
+            "pa"
+        ],
+        [
+            "Pangasinan",
+            "Pangasinan",
+            "pag"
+        ],
+        [
+            "Pampanga",
+            "Kapampangan",
+            "pam"
+        ],
+        [
+            "Papiamento",
+            "Papiamentu",
+            "pap"
+        ],
+        [
+            "Picard",
+            "Picard",
+            "pcd"
+        ],
+        [
+            "Pennsylvania German",
+            "Deitsch",
+            "pdc"
+        ],
+        [
+            "Palatine German",
+            "Pälzisch",
+            "pfl"
+        ],
+        [
+            "Pali",
+            "पालि",
+            "pi"
+        ],
+        [
+            "Norfuk / Pitkern",
+            "Norfuk / Pitkern",
+            "pih"
+        ],
+        [
+            "Polish",
+            "polski",
+            "pl"
+        ],
+        [
+            "Piedmontese",
+            "Piemontèis",
+            "pms"
+        ],
+        [
+            "Western Punjabi",
+            "پنجابی",
+            "pnb"
+        ],
+        [
+            "Pontic",
+            "Ποντιακά",
+            "pnt"
+        ],
+        [
+            "Pashto",
+            "پښتو",
+            "ps"
+        ],
+        [
+            "Portuguese",
+            "português",
+            "pt"
+        ],
+        [
+            "Quechua",
+            "Runa Simi",
+            "qu"
+        ],
+        [
+            "Romansh",
+            "rumantsch",
+            "rm"
+        ],
+        [
+            "Romani",
+            "Romani",
+            "rmy"
+        ],
+        [
+            "Rundi",
+            "Kirundi",
+            "rn"
+        ],
+        [
+            "Romanian",
+            "română",
+            "ro"
+        ],
+        [
+            "Aromanian",
+            "armãneashti",
+            "roa-rup"
+        ],
+        [
+            "tarandíne",
+            "tarandíne",
+            "roa-tara"
+        ],
+        [
+            "Russian",
+            "русский",
+            "ru"
+        ],
+        [
+            "Rusyn",
+            "русиньскый",
+            "rue"
+        ],
+        [
+            "Kinyarwanda",
+            "Kinyarwanda",
+            "rw"
+        ],
+        [
+            "Sanskrit",
+            "संस्कृतम्",
+            "sa"
+        ],
+        [
+            "Sakha",
+            "саха тыла",
+            "sah"
+        ],
+        [
+            "Sardinian",
+            "sardu",
+            "sc"
+        ],
+        [
+            "Sicilian",
+            "sicilianu",
+            "scn"
+        ],
+        [
+            "Scots",
+            "Scots",
+            "sco"
+        ],
+        [
+            "Sindhi",
+            "سنڌي",
+            "sd"
+        ],
+        [
+            "Northern Sami",
+            "sámegiella",
+            "se"
+        ],
+        [
+            "Sango",
+            "Sängö",
+            "sg"
+        ],
+        [
+            "Serbo-Croatian",
+            "srpskohrvatski / српскохрватски",
+            "sh"
+        ],
+        [
+            "Sinhala",
+            "සිංහල",
+            "si"
+        ],
+        [
+            "Simple English",
+            "Simple English",
+            "simple"
+        ],
+        [
+            "Slovak",
+            "slovenčina",
+            "sk"
+        ],
+        [
+            "Slovenian",
+            "slovenščina",
+            "sl"
+        ],
+        [
+            "Samoan",
+            "Gagana Samoa",
+            "sm"
+        ],
+        [
+            "Shona",
+            "chiShona",
+            "sn"
+        ],
+        [
+            "Somali",
+            "Soomaaliga",
+            "so"
+        ],
+        [
+            "Albanian",
+            "shqip",
+            "sq"
+        ],
+        [
+            "Serbian",
+            "српски / srpski",
+            "sr"
+        ],
+        [
+            "Sranan Tongo",
+            "Sranantongo",
+            "srn"
+        ],
+        [
+            "Swati",
+            "SiSwati",
+            "ss"
+        ],
+        [
+            "Southern Sotho",
+            "Sesotho",
+            "st"
+        ],
+        [
+            "Saterland Frisian",
+            "Seeltersk",
+            "stq"
+        ],
+        [
+            "Sundanese",
+            "Basa Sunda",
+            "su"
+        ],
+        [
+            "Swedish",
+            "svenska",
+            "sv"
+        ],
+        [
+            "Swahili",
+            "Kiswahili",
+            "sw"
+        ],
+        [
+            "Silesian",
+            "ślůnski",
+            "szl"
+        ],
+        [
+            "Tamil",
+            "தமிழ்",
+            "ta"
+        ],
+        [
+            "Telugu",
+            "తెలుగు",
+            "te"
+        ],
+        [
+            "Tetum",
+            "tetun",
+            "tet"
+        ],
+        [
+            "Tajik",
+            "тоҷикӣ",
+            "tg"
+        ],
+        [
+            "Thai",
+            "ไทย",
+            "th"
+        ],
+        [
+            "Tigrinya",
+            "ትግርኛ",
+            "ti"
+        ],
+        [
+            "Turkmen",
+            "Türkmençe",
+            "tk"
+        ],
+        [
+            "Tagalog",
+            "Tagalog",
+            "tl"
+        ],
+        [
+            "Tswana",
+            "Setswana",
+            "tn"
+        ],
+        [
+            "Tongan",
+            "lea faka-Tonga",
+            "to"
+        ],
+        [
+            "Tok Pisin",
+            "Tok Pisin",
+            "tpi"
+        ],
+        [
+            "Turkish",
+            "Türkçe",
+            "tr"
+        ],
+        [
+            "Tsonga",
+            "Xitsonga",
+            "ts"
+        ],
+        [
+            "Tatar",
+            "татарча/tatarça",
+            "tt"
+        ],
+        [
+            "Tumbuka",
+            "chiTumbuka",
+            "tum"
+        ],
+        [
+            "Twi",
+            "Twi",
+            "tw"
+        ],
+        [
+            "Tahitian",
+            "reo tahiti",
+            "ty"
+        ],
+        [
+            "Tuvinian",
+            "тыва дыл",
+            "tyv"
+        ],
+        [
+            "Udmurt",
+            "удмурт",
+            "udm"
+        ],
+        [
+            "Uyghur",
+            "ئۇيغۇرچە / Uyghurche",
+            "ug"
+        ],
+        [
+            "Ukrainian",
+            "українська",
+            "uk"
+        ],
+        [
+            "Urdu",
+            "اردو",
+            "ur"
+        ],
+        [
+            "Uzbek",
+            "oʻzbekcha/ўзбекча",
+            "uz"
+        ],
+        [
+            "Venda",
+            "Tshivenda",
+            "ve"
+        ],
+        [
+            "Venetian",
+            "vèneto",
+            "vec"
+        ],
+        [
+            "Veps",
+            "vepsän kel’",
+            "vep"
+        ],
+        [
+            "Vietnamese",
+            "Tiếng Việt",
+            "vi"
+        ],
+        [
+            "West Flemish",
+            "West-Vlams",
+            "vls"
+        ],
+        [
+            "Volapük",
+            "Volapük",
+            "vo"
+        ],
+        [
+            "Walloon",
+            "walon",
+            "wa"
+        ],
+        [
+            "Waray",
+            "Winaray",
+            "war"
+        ],
+        [
+            "Wolof",
+            "Wolof",
+            "wo"
+        ],
+        [
+            "Wu Chinese",
+            "吴语",
+            "wuu"
+        ],
+        [
+            "Kalmyk",
+            "хальмг",
+            "xal"
+        ],
+        [
+            "Xhosa",
+            "isiXhosa",
+            "xh"
+        ],
+        [
+            "Mingrelian",
+            "მარგალური",
+            "xmf"
+        ],
+        [
+            "Yiddish",
+            "ייִדיש",
+            "yi"
+        ],
+        [
+            "Yoruba",
+            "Yorùbá",
+            "yo"
+        ],
+        [
+            "Zhuang",
+            "Vahcuengh",
+            "za"
+        ],
+        [
+            "Zeelandic",
+            "Zeêuws",
+            "zea"
+        ],
+        [
+            "Chinese",
+            "中文",
+            "zh"
+        ],
+        [
+            "Classical Chinese",
+            "文言",
+            "zh-classical"
+        ],
+        [
+            "Chinese (Min Nan)",
+            "Bân-lâm-gú",
+            "zh-min-nan"
+        ],
+        [
+            "Cantonese",
+            "粵語",
+            "zh-yue"
+        ],
+        [
+            "Zulu",
+            "isiZulu",
+            "zu"
+        ]
+    ],
     "imperial": {
         "type": "FeatureCollection",
         "features": [
@@ -70958,6 +50860,11068 @@ iD.data = {
                     ]
                 }
             }
-        ]
-    }
+        ]
+    },
+    "featureIcons": {
+        "circle-stroked-24": {
+            "x": 0,
+            "y": 0,
+            "width": 24,
+            "height": 24
+        },
+        "circle-stroked-18": {
+            "x": 24,
+            "y": 0,
+            "width": 18,
+            "height": 18
+        },
+        "circle-stroked-12": {
+            "x": 42,
+            "y": 0,
+            "width": 12,
+            "height": 12
+        },
+        "circle-24": {
+            "x": 54,
+            "y": 0,
+            "width": 24,
+            "height": 24
+        },
+        "circle-18": {
+            "x": 78,
+            "y": 0,
+            "width": 18,
+            "height": 18
+        },
+        "circle-12": {
+            "x": 96,
+            "y": 0,
+            "width": 12,
+            "height": 12
+        },
+        "square-stroked-24": {
+            "x": 108,
+            "y": 0,
+            "width": 24,
+            "height": 24
+        },
+        "square-stroked-18": {
+            "x": 132,
+            "y": 0,
+            "width": 18,
+            "height": 18
+        },
+        "square-stroked-12": {
+            "x": 150,
+            "y": 0,
+            "width": 12,
+            "height": 12
+        },
+        "square-24": {
+            "x": 162,
+            "y": 0,
+            "width": 24,
+            "height": 24
+        },
+        "square-18": {
+            "x": 186,
+            "y": 0,
+            "width": 18,
+            "height": 18
+        },
+        "square-12": {
+            "x": 204,
+            "y": 0,
+            "width": 12,
+            "height": 12
+        },
+        "triangle-stroked-24": {
+            "x": 216,
+            "y": 0,
+            "width": 24,
+            "height": 24
+        },
+        "triangle-stroked-18": {
+            "x": 240,
+            "y": 0,
+            "width": 18,
+            "height": 18
+        },
+        "triangle-stroked-12": {
+            "x": 258,
+            "y": 0,
+            "width": 12,
+            "height": 12
+        },
+        "triangle-24": {
+            "x": 0,
+            "y": 24,
+            "width": 24,
+            "height": 24
+        },
+        "triangle-18": {
+            "x": 24,
+            "y": 24,
+            "width": 18,
+            "height": 18
+        },
+        "triangle-12": {
+            "x": 42,
+            "y": 24,
+            "width": 12,
+            "height": 12
+        },
+        "star-stroked-24": {
+            "x": 54,
+            "y": 24,
+            "width": 24,
+            "height": 24
+        },
+        "star-stroked-18": {
+            "x": 78,
+            "y": 24,
+            "width": 18,
+            "height": 18
+        },
+        "star-stroked-12": {
+            "x": 96,
+            "y": 24,
+            "width": 12,
+            "height": 12
+        },
+        "star-24": {
+            "x": 108,
+            "y": 24,
+            "width": 24,
+            "height": 24
+        },
+        "star-18": {
+            "x": 132,
+            "y": 24,
+            "width": 18,
+            "height": 18
+        },
+        "star-12": {
+            "x": 150,
+            "y": 24,
+            "width": 12,
+            "height": 12
+        },
+        "cross-24": {
+            "x": 162,
+            "y": 24,
+            "width": 24,
+            "height": 24
+        },
+        "cross-18": {
+            "x": 186,
+            "y": 24,
+            "width": 18,
+            "height": 18
+        },
+        "cross-12": {
+            "x": 204,
+            "y": 24,
+            "width": 12,
+            "height": 12
+        },
+        "marker-stroked-24": {
+            "x": 216,
+            "y": 24,
+            "width": 24,
+            "height": 24
+        },
+        "marker-stroked-18": {
+            "x": 240,
+            "y": 24,
+            "width": 18,
+            "height": 18
+        },
+        "marker-stroked-12": {
+            "x": 258,
+            "y": 24,
+            "width": 12,
+            "height": 12
+        },
+        "marker-24": {
+            "x": 0,
+            "y": 48,
+            "width": 24,
+            "height": 24
+        },
+        "marker-18": {
+            "x": 24,
+            "y": 48,
+            "width": 18,
+            "height": 18
+        },
+        "marker-12": {
+            "x": 42,
+            "y": 48,
+            "width": 12,
+            "height": 12
+        },
+        "religious-jewish-24": {
+            "x": 54,
+            "y": 48,
+            "width": 24,
+            "height": 24
+        },
+        "religious-jewish-18": {
+            "x": 78,
+            "y": 48,
+            "width": 18,
+            "height": 18
+        },
+        "religious-jewish-12": {
+            "x": 96,
+            "y": 48,
+            "width": 12,
+            "height": 12
+        },
+        "religious-christian-24": {
+            "x": 108,
+            "y": 48,
+            "width": 24,
+            "height": 24
+        },
+        "religious-christian-18": {
+            "x": 132,
+            "y": 48,
+            "width": 18,
+            "height": 18
+        },
+        "religious-christian-12": {
+            "x": 150,
+            "y": 48,
+            "width": 12,
+            "height": 12
+        },
+        "religious-muslim-24": {
+            "x": 162,
+            "y": 48,
+            "width": 24,
+            "height": 24
+        },
+        "religious-muslim-18": {
+            "x": 186,
+            "y": 48,
+            "width": 18,
+            "height": 18
+        },
+        "religious-muslim-12": {
+            "x": 204,
+            "y": 48,
+            "width": 12,
+            "height": 12
+        },
+        "cemetery-24": {
+            "x": 216,
+            "y": 48,
+            "width": 24,
+            "height": 24
+        },
+        "cemetery-18": {
+            "x": 240,
+            "y": 48,
+            "width": 18,
+            "height": 18
+        },
+        "cemetery-12": {
+            "x": 258,
+            "y": 48,
+            "width": 12,
+            "height": 12
+        },
+        "rocket-24": {
+            "x": 0,
+            "y": 72,
+            "width": 24,
+            "height": 24
+        },
+        "rocket-18": {
+            "x": 24,
+            "y": 72,
+            "width": 18,
+            "height": 18
+        },
+        "rocket-12": {
+            "x": 42,
+            "y": 72,
+            "width": 12,
+            "height": 12
+        },
+        "airport-24": {
+            "x": 54,
+            "y": 72,
+            "width": 24,
+            "height": 24
+        },
+        "airport-18": {
+            "x": 78,
+            "y": 72,
+            "width": 18,
+            "height": 18
+        },
+        "airport-12": {
+            "x": 96,
+            "y": 72,
+            "width": 12,
+            "height": 12
+        },
+        "heliport-24": {
+            "x": 108,
+            "y": 72,
+            "width": 24,
+            "height": 24
+        },
+        "heliport-18": {
+            "x": 132,
+            "y": 72,
+            "width": 18,
+            "height": 18
+        },
+        "heliport-12": {
+            "x": 150,
+            "y": 72,
+            "width": 12,
+            "height": 12
+        },
+        "rail-24": {
+            "x": 162,
+            "y": 72,
+            "width": 24,
+            "height": 24
+        },
+        "rail-18": {
+            "x": 186,
+            "y": 72,
+            "width": 18,
+            "height": 18
+        },
+        "rail-12": {
+            "x": 204,
+            "y": 72,
+            "width": 12,
+            "height": 12
+        },
+        "rail-metro-24": {
+            "x": 216,
+            "y": 72,
+            "width": 24,
+            "height": 24
+        },
+        "rail-metro-18": {
+            "x": 240,
+            "y": 72,
+            "width": 18,
+            "height": 18
+        },
+        "rail-metro-12": {
+            "x": 258,
+            "y": 72,
+            "width": 12,
+            "height": 12
+        },
+        "rail-light-24": {
+            "x": 0,
+            "y": 96,
+            "width": 24,
+            "height": 24
+        },
+        "rail-light-18": {
+            "x": 24,
+            "y": 96,
+            "width": 18,
+            "height": 18
+        },
+        "rail-light-12": {
+            "x": 42,
+            "y": 96,
+            "width": 12,
+            "height": 12
+        },
+        "bus-24": {
+            "x": 54,
+            "y": 96,
+            "width": 24,
+            "height": 24
+        },
+        "bus-18": {
+            "x": 78,
+            "y": 96,
+            "width": 18,
+            "height": 18
+        },
+        "bus-12": {
+            "x": 96,
+            "y": 96,
+            "width": 12,
+            "height": 12
+        },
+        "fuel-24": {
+            "x": 108,
+            "y": 96,
+            "width": 24,
+            "height": 24
+        },
+        "fuel-18": {
+            "x": 132,
+            "y": 96,
+            "width": 18,
+            "height": 18
+        },
+        "fuel-12": {
+            "x": 150,
+            "y": 96,
+            "width": 12,
+            "height": 12
+        },
+        "parking-24": {
+            "x": 162,
+            "y": 96,
+            "width": 24,
+            "height": 24
+        },
+        "parking-18": {
+            "x": 186,
+            "y": 96,
+            "width": 18,
+            "height": 18
+        },
+        "parking-12": {
+            "x": 204,
+            "y": 96,
+            "width": 12,
+            "height": 12
+        },
+        "parking-garage-24": {
+            "x": 216,
+            "y": 96,
+            "width": 24,
+            "height": 24
+        },
+        "parking-garage-18": {
+            "x": 240,
+            "y": 96,
+            "width": 18,
+            "height": 18
+        },
+        "parking-garage-12": {
+            "x": 258,
+            "y": 96,
+            "width": 12,
+            "height": 12
+        },
+        "airfield-24": {
+            "x": 0,
+            "y": 120,
+            "width": 24,
+            "height": 24
+        },
+        "airfield-18": {
+            "x": 24,
+            "y": 120,
+            "width": 18,
+            "height": 18
+        },
+        "airfield-12": {
+            "x": 42,
+            "y": 120,
+            "width": 12,
+            "height": 12
+        },
+        "roadblock-24": {
+            "x": 54,
+            "y": 120,
+            "width": 24,
+            "height": 24
+        },
+        "roadblock-18": {
+            "x": 78,
+            "y": 120,
+            "width": 18,
+            "height": 18
+        },
+        "roadblock-12": {
+            "x": 96,
+            "y": 120,
+            "width": 12,
+            "height": 12
+        },
+        "ferry-24": {
+            "x": 108,
+            "y": 120,
+            "width": 24,
+            "height": 24
+        },
+        "ferry-18": {
+            "x": 132,
+            "y": 120,
+            "width": 18,
+            "height": 18
+        },
+        "ferry-12": {
+            "x": 150,
+            "y": 120,
+            "width": 12,
+            "height": 12
+        },
+        "harbor-24": {
+            "x": 162,
+            "y": 120,
+            "width": 24,
+            "height": 24
+        },
+        "harbor-18": {
+            "x": 186,
+            "y": 120,
+            "width": 18,
+            "height": 18
+        },
+        "harbor-12": {
+            "x": 204,
+            "y": 120,
+            "width": 12,
+            "height": 12
+        },
+        "bicycle-24": {
+            "x": 216,
+            "y": 120,
+            "width": 24,
+            "height": 24
+        },
+        "bicycle-18": {
+            "x": 240,
+            "y": 120,
+            "width": 18,
+            "height": 18
+        },
+        "bicycle-12": {
+            "x": 258,
+            "y": 120,
+            "width": 12,
+            "height": 12
+        },
+        "park-24": {
+            "x": 0,
+            "y": 144,
+            "width": 24,
+            "height": 24
+        },
+        "park-18": {
+            "x": 24,
+            "y": 144,
+            "width": 18,
+            "height": 18
+        },
+        "park-12": {
+            "x": 42,
+            "y": 144,
+            "width": 12,
+            "height": 12
+        },
+        "park2-24": {
+            "x": 54,
+            "y": 144,
+            "width": 24,
+            "height": 24
+        },
+        "park2-18": {
+            "x": 78,
+            "y": 144,
+            "width": 18,
+            "height": 18
+        },
+        "park2-12": {
+            "x": 96,
+            "y": 144,
+            "width": 12,
+            "height": 12
+        },
+        "museum-24": {
+            "x": 108,
+            "y": 144,
+            "width": 24,
+            "height": 24
+        },
+        "museum-18": {
+            "x": 132,
+            "y": 144,
+            "width": 18,
+            "height": 18
+        },
+        "museum-12": {
+            "x": 150,
+            "y": 144,
+            "width": 12,
+            "height": 12
+        },
+        "lodging-24": {
+            "x": 162,
+            "y": 144,
+            "width": 24,
+            "height": 24
+        },
+        "lodging-18": {
+            "x": 186,
+            "y": 144,
+            "width": 18,
+            "height": 18
+        },
+        "lodging-12": {
+            "x": 204,
+            "y": 144,
+            "width": 12,
+            "height": 12
+        },
+        "monument-24": {
+            "x": 216,
+            "y": 144,
+            "width": 24,
+            "height": 24
+        },
+        "monument-18": {
+            "x": 240,
+            "y": 144,
+            "width": 18,
+            "height": 18
+        },
+        "monument-12": {
+            "x": 258,
+            "y": 144,
+            "width": 12,
+            "height": 12
+        },
+        "zoo-24": {
+            "x": 0,
+            "y": 168,
+            "width": 24,
+            "height": 24
+        },
+        "zoo-18": {
+            "x": 24,
+            "y": 168,
+            "width": 18,
+            "height": 18
+        },
+        "zoo-12": {
+            "x": 42,
+            "y": 168,
+            "width": 12,
+            "height": 12
+        },
+        "garden-24": {
+            "x": 54,
+            "y": 168,
+            "width": 24,
+            "height": 24
+        },
+        "garden-18": {
+            "x": 78,
+            "y": 168,
+            "width": 18,
+            "height": 18
+        },
+        "garden-12": {
+            "x": 96,
+            "y": 168,
+            "width": 12,
+            "height": 12
+        },
+        "campsite-24": {
+            "x": 108,
+            "y": 168,
+            "width": 24,
+            "height": 24
+        },
+        "campsite-18": {
+            "x": 132,
+            "y": 168,
+            "width": 18,
+            "height": 18
+        },
+        "campsite-12": {
+            "x": 150,
+            "y": 168,
+            "width": 12,
+            "height": 12
+        },
+        "theatre-24": {
+            "x": 162,
+            "y": 168,
+            "width": 24,
+            "height": 24
+        },
+        "theatre-18": {
+            "x": 186,
+            "y": 168,
+            "width": 18,
+            "height": 18
+        },
+        "theatre-12": {
+            "x": 204,
+            "y": 168,
+            "width": 12,
+            "height": 12
+        },
+        "art-gallery-24": {
+            "x": 216,
+            "y": 168,
+            "width": 24,
+            "height": 24
+        },
+        "art-gallery-18": {
+            "x": 240,
+            "y": 168,
+            "width": 18,
+            "height": 18
+        },
+        "art-gallery-12": {
+            "x": 258,
+            "y": 168,
+            "width": 12,
+            "height": 12
+        },
+        "pitch-24": {
+            "x": 0,
+            "y": 192,
+            "width": 24,
+            "height": 24
+        },
+        "pitch-18": {
+            "x": 24,
+            "y": 192,
+            "width": 18,
+            "height": 18
+        },
+        "pitch-12": {
+            "x": 42,
+            "y": 192,
+            "width": 12,
+            "height": 12
+        },
+        "soccer-24": {
+            "x": 54,
+            "y": 192,
+            "width": 24,
+            "height": 24
+        },
+        "soccer-18": {
+            "x": 78,
+            "y": 192,
+            "width": 18,
+            "height": 18
+        },
+        "soccer-12": {
+            "x": 96,
+            "y": 192,
+            "width": 12,
+            "height": 12
+        },
+        "america-football-24": {
+            "x": 108,
+            "y": 192,
+            "width": 24,
+            "height": 24
+        },
+        "america-football-18": {
+            "x": 132,
+            "y": 192,
+            "width": 18,
+            "height": 18
+        },
+        "america-football-12": {
+            "x": 150,
+            "y": 192,
+            "width": 12,
+            "height": 12
+        },
+        "tennis-24": {
+            "x": 162,
+            "y": 192,
+            "width": 24,
+            "height": 24
+        },
+        "tennis-18": {
+            "x": 186,
+            "y": 192,
+            "width": 18,
+            "height": 18
+        },
+        "tennis-12": {
+            "x": 204,
+            "y": 192,
+            "width": 12,
+            "height": 12
+        },
+        "basketball-24": {
+            "x": 216,
+            "y": 192,
+            "width": 24,
+            "height": 24
+        },
+        "basketball-18": {
+            "x": 240,
+            "y": 192,
+            "width": 18,
+            "height": 18
+        },
+        "basketball-12": {
+            "x": 258,
+            "y": 192,
+            "width": 12,
+            "height": 12
+        },
+        "baseball-24": {
+            "x": 0,
+            "y": 216,
+            "width": 24,
+            "height": 24
+        },
+        "baseball-18": {
+            "x": 24,
+            "y": 216,
+            "width": 18,
+            "height": 18
+        },
+        "baseball-12": {
+            "x": 42,
+            "y": 216,
+            "width": 12,
+            "height": 12
+        },
+        "golf-24": {
+            "x": 54,
+            "y": 216,
+            "width": 24,
+            "height": 24
+        },
+        "golf-18": {
+            "x": 78,
+            "y": 216,
+            "width": 18,
+            "height": 18
+        },
+        "golf-12": {
+            "x": 96,
+            "y": 216,
+            "width": 12,
+            "height": 12
+        },
+        "swimming-24": {
+            "x": 108,
+            "y": 216,
+            "width": 24,
+            "height": 24
+        },
+        "swimming-18": {
+            "x": 132,
+            "y": 216,
+            "width": 18,
+            "height": 18
+        },
+        "swimming-12": {
+            "x": 150,
+            "y": 216,
+            "width": 12,
+            "height": 12
+        },
+        "cricket-24": {
+            "x": 162,
+            "y": 216,
+            "width": 24,
+            "height": 24
+        },
+        "cricket-18": {
+            "x": 186,
+            "y": 216,
+            "width": 18,
+            "height": 18
+        },
+        "cricket-12": {
+            "x": 204,
+            "y": 216,
+            "width": 12,
+            "height": 12
+        },
+        "skiing-24": {
+            "x": 216,
+            "y": 216,
+            "width": 24,
+            "height": 24
+        },
+        "skiing-18": {
+            "x": 240,
+            "y": 216,
+            "width": 18,
+            "height": 18
+        },
+        "skiing-12": {
+            "x": 258,
+            "y": 216,
+            "width": 12,
+            "height": 12
+        },
+        "school-24": {
+            "x": 0,
+            "y": 240,
+            "width": 24,
+            "height": 24
+        },
+        "school-18": {
+            "x": 24,
+            "y": 240,
+            "width": 18,
+            "height": 18
+        },
+        "school-12": {
+            "x": 42,
+            "y": 240,
+            "width": 12,
+            "height": 12
+        },
+        "college-24": {
+            "x": 54,
+            "y": 240,
+            "width": 24,
+            "height": 24
+        },
+        "college-18": {
+            "x": 78,
+            "y": 240,
+            "width": 18,
+            "height": 18
+        },
+        "college-12": {
+            "x": 96,
+            "y": 240,
+            "width": 12,
+            "height": 12
+        },
+        "library-24": {
+            "x": 108,
+            "y": 240,
+            "width": 24,
+            "height": 24
+        },
+        "library-18": {
+            "x": 132,
+            "y": 240,
+            "width": 18,
+            "height": 18
+        },
+        "library-12": {
+            "x": 150,
+            "y": 240,
+            "width": 12,
+            "height": 12
+        },
+        "post-24": {
+            "x": 162,
+            "y": 240,
+            "width": 24,
+            "height": 24
+        },
+        "post-18": {
+            "x": 186,
+            "y": 240,
+            "width": 18,
+            "height": 18
+        },
+        "post-12": {
+            "x": 204,
+            "y": 240,
+            "width": 12,
+            "height": 12
+        },
+        "fire-station-24": {
+            "x": 216,
+            "y": 240,
+            "width": 24,
+            "height": 24
+        },
+        "fire-station-18": {
+            "x": 240,
+            "y": 240,
+            "width": 18,
+            "height": 18
+        },
+        "fire-station-12": {
+            "x": 258,
+            "y": 240,
+            "width": 12,
+            "height": 12
+        },
+        "town-hall-24": {
+            "x": 0,
+            "y": 264,
+            "width": 24,
+            "height": 24
+        },
+        "town-hall-18": {
+            "x": 24,
+            "y": 264,
+            "width": 18,
+            "height": 18
+        },
+        "town-hall-12": {
+            "x": 42,
+            "y": 264,
+            "width": 12,
+            "height": 12
+        },
+        "police-24": {
+            "x": 54,
+            "y": 264,
+            "width": 24,
+            "height": 24
+        },
+        "police-18": {
+            "x": 78,
+            "y": 264,
+            "width": 18,
+            "height": 18
+        },
+        "police-12": {
+            "x": 96,
+            "y": 264,
+            "width": 12,
+            "height": 12
+        },
+        "prison-24": {
+            "x": 108,
+            "y": 264,
+            "width": 24,
+            "height": 24
+        },
+        "prison-18": {
+            "x": 132,
+            "y": 264,
+            "width": 18,
+            "height": 18
+        },
+        "prison-12": {
+            "x": 150,
+            "y": 264,
+            "width": 12,
+            "height": 12
+        },
+        "embassy-24": {
+            "x": 162,
+            "y": 264,
+            "width": 24,
+            "height": 24
+        },
+        "embassy-18": {
+            "x": 186,
+            "y": 264,
+            "width": 18,
+            "height": 18
+        },
+        "embassy-12": {
+            "x": 204,
+            "y": 264,
+            "width": 12,
+            "height": 12
+        },
+        "beer-24": {
+            "x": 216,
+            "y": 264,
+            "width": 24,
+            "height": 24
+        },
+        "beer-18": {
+            "x": 240,
+            "y": 264,
+            "width": 18,
+            "height": 18
+        },
+        "beer-12": {
+            "x": 258,
+            "y": 264,
+            "width": 12,
+            "height": 12
+        },
+        "restaurant-24": {
+            "x": 0,
+            "y": 288,
+            "width": 24,
+            "height": 24
+        },
+        "restaurant-18": {
+            "x": 24,
+            "y": 288,
+            "width": 18,
+            "height": 18
+        },
+        "restaurant-12": {
+            "x": 42,
+            "y": 288,
+            "width": 12,
+            "height": 12
+        },
+        "cafe-24": {
+            "x": 54,
+            "y": 288,
+            "width": 24,
+            "height": 24
+        },
+        "cafe-18": {
+            "x": 78,
+            "y": 288,
+            "width": 18,
+            "height": 18
+        },
+        "cafe-12": {
+            "x": 96,
+            "y": 288,
+            "width": 12,
+            "height": 12
+        },
+        "shop-24": {
+            "x": 108,
+            "y": 288,
+            "width": 24,
+            "height": 24
+        },
+        "shop-18": {
+            "x": 132,
+            "y": 288,
+            "width": 18,
+            "height": 18
+        },
+        "shop-12": {
+            "x": 150,
+            "y": 288,
+            "width": 12,
+            "height": 12
+        },
+        "fast-food-24": {
+            "x": 162,
+            "y": 288,
+            "width": 24,
+            "height": 24
+        },
+        "fast-food-18": {
+            "x": 186,
+            "y": 288,
+            "width": 18,
+            "height": 18
+        },
+        "fast-food-12": {
+            "x": 204,
+            "y": 288,
+            "width": 12,
+            "height": 12
+        },
+        "bar-24": {
+            "x": 216,
+            "y": 288,
+            "width": 24,
+            "height": 24
+        },
+        "bar-18": {
+            "x": 240,
+            "y": 288,
+            "width": 18,
+            "height": 18
+        },
+        "bar-12": {
+            "x": 258,
+            "y": 288,
+            "width": 12,
+            "height": 12
+        },
+        "bank-24": {
+            "x": 0,
+            "y": 312,
+            "width": 24,
+            "height": 24
+        },
+        "bank-18": {
+            "x": 24,
+            "y": 312,
+            "width": 18,
+            "height": 18
+        },
+        "bank-12": {
+            "x": 42,
+            "y": 312,
+            "width": 12,
+            "height": 12
+        },
+        "grocery-24": {
+            "x": 54,
+            "y": 312,
+            "width": 24,
+            "height": 24
+        },
+        "grocery-18": {
+            "x": 78,
+            "y": 312,
+            "width": 18,
+            "height": 18
+        },
+        "grocery-12": {
+            "x": 96,
+            "y": 312,
+            "width": 12,
+            "height": 12
+        },
+        "cinema-24": {
+            "x": 108,
+            "y": 312,
+            "width": 24,
+            "height": 24
+        },
+        "cinema-18": {
+            "x": 132,
+            "y": 312,
+            "width": 18,
+            "height": 18
+        },
+        "cinema-12": {
+            "x": 150,
+            "y": 312,
+            "width": 12,
+            "height": 12
+        },
+        "pharmacy-24": {
+            "x": 162,
+            "y": 312,
+            "width": 24,
+            "height": 24
+        },
+        "pharmacy-18": {
+            "x": 186,
+            "y": 312,
+            "width": 18,
+            "height": 18
+        },
+        "pharmacy-12": {
+            "x": 204,
+            "y": 312,
+            "width": 12,
+            "height": 12
+        },
+        "hospital-24": {
+            "x": 216,
+            "y": 312,
+            "width": 24,
+            "height": 24
+        },
+        "hospital-18": {
+            "x": 240,
+            "y": 312,
+            "width": 18,
+            "height": 18
+        },
+        "hospital-12": {
+            "x": 258,
+            "y": 312,
+            "width": 12,
+            "height": 12
+        },
+        "danger-24": {
+            "x": 0,
+            "y": 336,
+            "width": 24,
+            "height": 24
+        },
+        "danger-18": {
+            "x": 24,
+            "y": 336,
+            "width": 18,
+            "height": 18
+        },
+        "danger-12": {
+            "x": 42,
+            "y": 336,
+            "width": 12,
+            "height": 12
+        },
+        "industrial-24": {
+            "x": 54,
+            "y": 336,
+            "width": 24,
+            "height": 24
+        },
+        "industrial-18": {
+            "x": 78,
+            "y": 336,
+            "width": 18,
+            "height": 18
+        },
+        "industrial-12": {
+            "x": 96,
+            "y": 336,
+            "width": 12,
+            "height": 12
+        },
+        "warehouse-24": {
+            "x": 108,
+            "y": 336,
+            "width": 24,
+            "height": 24
+        },
+        "warehouse-18": {
+            "x": 132,
+            "y": 336,
+            "width": 18,
+            "height": 18
+        },
+        "warehouse-12": {
+            "x": 150,
+            "y": 336,
+            "width": 12,
+            "height": 12
+        },
+        "commercial-24": {
+            "x": 162,
+            "y": 336,
+            "width": 24,
+            "height": 24
+        },
+        "commercial-18": {
+            "x": 186,
+            "y": 336,
+            "width": 18,
+            "height": 18
+        },
+        "commercial-12": {
+            "x": 204,
+            "y": 336,
+            "width": 12,
+            "height": 12
+        },
+        "building-24": {
+            "x": 216,
+            "y": 336,
+            "width": 24,
+            "height": 24
+        },
+        "building-18": {
+            "x": 240,
+            "y": 336,
+            "width": 18,
+            "height": 18
+        },
+        "building-12": {
+            "x": 258,
+            "y": 336,
+            "width": 12,
+            "height": 12
+        },
+        "place-of-worship-24": {
+            "x": 0,
+            "y": 360,
+            "width": 24,
+            "height": 24
+        },
+        "place-of-worship-18": {
+            "x": 24,
+            "y": 360,
+            "width": 18,
+            "height": 18
+        },
+        "place-of-worship-12": {
+            "x": 42,
+            "y": 360,
+            "width": 12,
+            "height": 12
+        },
+        "alcohol-shop-24": {
+            "x": 54,
+            "y": 360,
+            "width": 24,
+            "height": 24
+        },
+        "alcohol-shop-18": {
+            "x": 78,
+            "y": 360,
+            "width": 18,
+            "height": 18
+        },
+        "alcohol-shop-12": {
+            "x": 96,
+            "y": 360,
+            "width": 12,
+            "height": 12
+        },
+        "logging-24": {
+            "x": 108,
+            "y": 360,
+            "width": 24,
+            "height": 24
+        },
+        "logging-18": {
+            "x": 132,
+            "y": 360,
+            "width": 18,
+            "height": 18
+        },
+        "logging-12": {
+            "x": 150,
+            "y": 360,
+            "width": 12,
+            "height": 12
+        },
+        "oil-well-24": {
+            "x": 162,
+            "y": 360,
+            "width": 24,
+            "height": 24
+        },
+        "oil-well-18": {
+            "x": 186,
+            "y": 360,
+            "width": 18,
+            "height": 18
+        },
+        "oil-well-12": {
+            "x": 204,
+            "y": 360,
+            "width": 12,
+            "height": 12
+        },
+        "slaughterhouse-24": {
+            "x": 216,
+            "y": 360,
+            "width": 24,
+            "height": 24
+        },
+        "slaughterhouse-18": {
+            "x": 240,
+            "y": 360,
+            "width": 18,
+            "height": 18
+        },
+        "slaughterhouse-12": {
+            "x": 258,
+            "y": 360,
+            "width": 12,
+            "height": 12
+        },
+        "dam-24": {
+            "x": 0,
+            "y": 384,
+            "width": 24,
+            "height": 24
+        },
+        "dam-18": {
+            "x": 24,
+            "y": 384,
+            "width": 18,
+            "height": 18
+        },
+        "dam-12": {
+            "x": 42,
+            "y": 384,
+            "width": 12,
+            "height": 12
+        },
+        "water-24": {
+            "x": 54,
+            "y": 384,
+            "width": 24,
+            "height": 24
+        },
+        "water-18": {
+            "x": 78,
+            "y": 384,
+            "width": 18,
+            "height": 18
+        },
+        "water-12": {
+            "x": 96,
+            "y": 384,
+            "width": 12,
+            "height": 12
+        },
+        "wetland-24": {
+            "x": 108,
+            "y": 384,
+            "width": 24,
+            "height": 24
+        },
+        "wetland-18": {
+            "x": 132,
+            "y": 384,
+            "width": 18,
+            "height": 18
+        },
+        "wetland-12": {
+            "x": 150,
+            "y": 384,
+            "width": 12,
+            "height": 12
+        },
+        "disability-24": {
+            "x": 162,
+            "y": 384,
+            "width": 24,
+            "height": 24
+        },
+        "disability-18": {
+            "x": 186,
+            "y": 384,
+            "width": 18,
+            "height": 18
+        },
+        "disability-12": {
+            "x": 204,
+            "y": 384,
+            "width": 12,
+            "height": 12
+        },
+        "telephone-24": {
+            "x": 216,
+            "y": 384,
+            "width": 24,
+            "height": 24
+        },
+        "telephone-18": {
+            "x": 240,
+            "y": 384,
+            "width": 18,
+            "height": 18
+        },
+        "telephone-12": {
+            "x": 258,
+            "y": 384,
+            "width": 12,
+            "height": 12
+        },
+        "emergency-telephone-24": {
+            "x": 0,
+            "y": 408,
+            "width": 24,
+            "height": 24
+        },
+        "emergency-telephone-18": {
+            "x": 24,
+            "y": 408,
+            "width": 18,
+            "height": 18
+        },
+        "emergency-telephone-12": {
+            "x": 42,
+            "y": 408,
+            "width": 12,
+            "height": 12
+        },
+        "toilets-24": {
+            "x": 54,
+            "y": 408,
+            "width": 24,
+            "height": 24
+        },
+        "toilets-18": {
+            "x": 78,
+            "y": 408,
+            "width": 18,
+            "height": 18
+        },
+        "toilets-12": {
+            "x": 96,
+            "y": 408,
+            "width": 12,
+            "height": 12
+        },
+        "waste-basket-24": {
+            "x": 108,
+            "y": 408,
+            "width": 24,
+            "height": 24
+        },
+        "waste-basket-18": {
+            "x": 132,
+            "y": 408,
+            "width": 18,
+            "height": 18
+        },
+        "waste-basket-12": {
+            "x": 150,
+            "y": 408,
+            "width": 12,
+            "height": 12
+        },
+        "music-24": {
+            "x": 162,
+            "y": 408,
+            "width": 24,
+            "height": 24
+        },
+        "music-18": {
+            "x": 186,
+            "y": 408,
+            "width": 18,
+            "height": 18
+        },
+        "music-12": {
+            "x": 204,
+            "y": 408,
+            "width": 12,
+            "height": 12
+        },
+        "land-use-24": {
+            "x": 216,
+            "y": 408,
+            "width": 24,
+            "height": 24
+        },
+        "land-use-18": {
+            "x": 240,
+            "y": 408,
+            "width": 18,
+            "height": 18
+        },
+        "land-use-12": {
+            "x": 258,
+            "y": 408,
+            "width": 12,
+            "height": 12
+        },
+        "city-24": {
+            "x": 0,
+            "y": 432,
+            "width": 24,
+            "height": 24
+        },
+        "city-18": {
+            "x": 24,
+            "y": 432,
+            "width": 18,
+            "height": 18
+        },
+        "city-12": {
+            "x": 42,
+            "y": 432,
+            "width": 12,
+            "height": 12
+        },
+        "town-24": {
+            "x": 54,
+            "y": 432,
+            "width": 24,
+            "height": 24
+        },
+        "town-18": {
+            "x": 78,
+            "y": 432,
+            "width": 18,
+            "height": 18
+        },
+        "town-12": {
+            "x": 96,
+            "y": 432,
+            "width": 12,
+            "height": 12
+        },
+        "village-24": {
+            "x": 108,
+            "y": 432,
+            "width": 24,
+            "height": 24
+        },
+        "village-18": {
+            "x": 132,
+            "y": 432,
+            "width": 18,
+            "height": 18
+        },
+        "village-12": {
+            "x": 150,
+            "y": 432,
+            "width": 12,
+            "height": 12
+        },
+        "farm-24": {
+            "x": 162,
+            "y": 432,
+            "width": 24,
+            "height": 24
+        },
+        "farm-18": {
+            "x": 186,
+            "y": 432,
+            "width": 18,
+            "height": 18
+        },
+        "farm-12": {
+            "x": 204,
+            "y": 432,
+            "width": 12,
+            "height": 12
+        },
+        "bakery-24": {
+            "x": 216,
+            "y": 432,
+            "width": 24,
+            "height": 24
+        },
+        "bakery-18": {
+            "x": 240,
+            "y": 432,
+            "width": 18,
+            "height": 18
+        },
+        "bakery-12": {
+            "x": 258,
+            "y": 432,
+            "width": 12,
+            "height": 12
+        },
+        "dog-park-24": {
+            "x": 0,
+            "y": 456,
+            "width": 24,
+            "height": 24
+        },
+        "dog-park-18": {
+            "x": 24,
+            "y": 456,
+            "width": 18,
+            "height": 18
+        },
+        "dog-park-12": {
+            "x": 42,
+            "y": 456,
+            "width": 12,
+            "height": 12
+        },
+        "lighthouse-24": {
+            "x": 54,
+            "y": 456,
+            "width": 24,
+            "height": 24
+        },
+        "lighthouse-18": {
+            "x": 78,
+            "y": 456,
+            "width": 18,
+            "height": 18
+        },
+        "lighthouse-12": {
+            "x": 96,
+            "y": 456,
+            "width": 12,
+            "height": 12
+        },
+        "clothing-store-24": {
+            "x": 108,
+            "y": 456,
+            "width": 24,
+            "height": 24
+        },
+        "clothing-store-18": {
+            "x": 132,
+            "y": 456,
+            "width": 18,
+            "height": 18
+        },
+        "clothing-store-12": {
+            "x": 150,
+            "y": 456,
+            "width": 12,
+            "height": 12
+        },
+        "polling-place-24": {
+            "x": 162,
+            "y": 456,
+            "width": 24,
+            "height": 24
+        },
+        "polling-place-18": {
+            "x": 186,
+            "y": 456,
+            "width": 18,
+            "height": 18
+        },
+        "polling-place-12": {
+            "x": 204,
+            "y": 456,
+            "width": 12,
+            "height": 12
+        },
+        "playground-24": {
+            "x": 216,
+            "y": 456,
+            "width": 24,
+            "height": 24
+        },
+        "playground-18": {
+            "x": 240,
+            "y": 456,
+            "width": 18,
+            "height": 18
+        },
+        "playground-12": {
+            "x": 258,
+            "y": 456,
+            "width": 12,
+            "height": 12
+        },
+        "entrance-24": {
+            "x": 0,
+            "y": 480,
+            "width": 24,
+            "height": 24
+        },
+        "entrance-18": {
+            "x": 24,
+            "y": 480,
+            "width": 18,
+            "height": 18
+        },
+        "entrance-12": {
+            "x": 42,
+            "y": 480,
+            "width": 12,
+            "height": 12
+        },
+        "heart-24": {
+            "x": 54,
+            "y": 480,
+            "width": 24,
+            "height": 24
+        },
+        "heart-18": {
+            "x": 78,
+            "y": 480,
+            "width": 18,
+            "height": 18
+        },
+        "heart-12": {
+            "x": 96,
+            "y": 480,
+            "width": 12,
+            "height": 12
+        },
+        "london-underground-24": {
+            "x": 108,
+            "y": 480,
+            "width": 24,
+            "height": 24
+        },
+        "london-underground-18": {
+            "x": 132,
+            "y": 480,
+            "width": 18,
+            "height": 18
+        },
+        "london-underground-12": {
+            "x": 150,
+            "y": 480,
+            "width": 12,
+            "height": 12
+        },
+        "minefield-24": {
+            "x": 162,
+            "y": 480,
+            "width": 24,
+            "height": 24
+        },
+        "minefield-18": {
+            "x": 186,
+            "y": 480,
+            "width": 18,
+            "height": 18
+        },
+        "minefield-12": {
+            "x": 204,
+            "y": 480,
+            "width": 12,
+            "height": 12
+        },
+        "rail-underground-24": {
+            "x": 216,
+            "y": 480,
+            "width": 24,
+            "height": 24
+        },
+        "rail-underground-18": {
+            "x": 240,
+            "y": 480,
+            "width": 18,
+            "height": 18
+        },
+        "rail-underground-12": {
+            "x": 258,
+            "y": 480,
+            "width": 12,
+            "height": 12
+        },
+        "rail-above-24": {
+            "x": 0,
+            "y": 504,
+            "width": 24,
+            "height": 24
+        },
+        "rail-above-18": {
+            "x": 24,
+            "y": 504,
+            "width": 18,
+            "height": 18
+        },
+        "rail-above-12": {
+            "x": 42,
+            "y": 504,
+            "width": 12,
+            "height": 12
+        },
+        "camera-24": {
+            "x": 54,
+            "y": 504,
+            "width": 24,
+            "height": 24
+        },
+        "camera-18": {
+            "x": 78,
+            "y": 504,
+            "width": 18,
+            "height": 18
+        },
+        "camera-12": {
+            "x": 96,
+            "y": 504,
+            "width": 12,
+            "height": 12
+        },
+        "laundry-24": {
+            "x": 108,
+            "y": 504,
+            "width": 24,
+            "height": 24
+        },
+        "laundry-18": {
+            "x": 132,
+            "y": 504,
+            "width": 18,
+            "height": 18
+        },
+        "laundry-12": {
+            "x": 150,
+            "y": 504,
+            "width": 12,
+            "height": 12
+        },
+        "car-24": {
+            "x": 162,
+            "y": 504,
+            "width": 24,
+            "height": 24
+        },
+        "car-18": {
+            "x": 186,
+            "y": 504,
+            "width": 18,
+            "height": 18
+        },
+        "car-12": {
+            "x": 204,
+            "y": 504,
+            "width": 12,
+            "height": 12
+        },
+        "suitcase-24": {
+            "x": 216,
+            "y": 504,
+            "width": 24,
+            "height": 24
+        },
+        "suitcase-18": {
+            "x": 240,
+            "y": 504,
+            "width": 18,
+            "height": 18
+        },
+        "suitcase-12": {
+            "x": 258,
+            "y": 504,
+            "width": 12,
+            "height": 12
+        },
+        "hairdresser-24": {
+            "x": 0,
+            "y": 528,
+            "width": 24,
+            "height": 24
+        },
+        "hairdresser-18": {
+            "x": 24,
+            "y": 528,
+            "width": 18,
+            "height": 18
+        },
+        "hairdresser-12": {
+            "x": 42,
+            "y": 528,
+            "width": 12,
+            "height": 12
+        },
+        "chemist-24": {
+            "x": 54,
+            "y": 528,
+            "width": 24,
+            "height": 24
+        },
+        "chemist-18": {
+            "x": 78,
+            "y": 528,
+            "width": 18,
+            "height": 18
+        },
+        "chemist-12": {
+            "x": 96,
+            "y": 528,
+            "width": 12,
+            "height": 12
+        },
+        "mobilephone-24": {
+            "x": 108,
+            "y": 528,
+            "width": 24,
+            "height": 24
+        },
+        "mobilephone-18": {
+            "x": 132,
+            "y": 528,
+            "width": 18,
+            "height": 18
+        },
+        "mobilephone-12": {
+            "x": 150,
+            "y": 528,
+            "width": 12,
+            "height": 12
+        },
+        "scooter-24": {
+            "x": 162,
+            "y": 528,
+            "width": 24,
+            "height": 24
+        },
+        "scooter-18": {
+            "x": 186,
+            "y": 528,
+            "width": 18,
+            "height": 18
+        },
+        "scooter-12": {
+            "x": 204,
+            "y": 528,
+            "width": 12,
+            "height": 12
+        },
+        "gift-24": {
+            "x": 216,
+            "y": 528,
+            "width": 24,
+            "height": 24
+        },
+        "gift-18": {
+            "x": 240,
+            "y": 528,
+            "width": 18,
+            "height": 18
+        },
+        "gift-12": {
+            "x": 258,
+            "y": 528,
+            "width": 12,
+            "height": 12
+        },
+        "ice-cream-24": {
+            "x": 0,
+            "y": 552,
+            "width": 24,
+            "height": 24
+        },
+        "ice-cream-18": {
+            "x": 24,
+            "y": 552,
+            "width": 18,
+            "height": 18
+        },
+        "ice-cream-12": {
+            "x": 42,
+            "y": 552,
+            "width": 12,
+            "height": 12
+        }
+    },
+    "locales": [
+        "af",
+        "sq",
+        "ar",
+        "ar-AA",
+        "hy",
+        "ast",
+        "bn",
+        "bs",
+        "bg-BG",
+        "ca",
+        "zh",
+        "zh-CN",
+        "zh-HK",
+        "zh-TW",
+        "yue",
+        "hr",
+        "cs",
+        "da",
+        "nl",
+        "en-GB",
+        "eo",
+        "et",
+        "fi",
+        "fr",
+        "gl",
+        "de",
+        "el",
+        "hu",
+        "is",
+        "id",
+        "it",
+        "ja",
+        "kn",
+        "ko",
+        "ko-KR",
+        "lv",
+        "lt",
+        "no",
+        "fa",
+        "pl",
+        "pt",
+        "pt-BR",
+        "ro",
+        "ru",
+        "sc",
+        "sr",
+        "si",
+        "sk",
+        "sl",
+        "es",
+        "sv",
+        "tl",
+        "ta",
+        "te",
+        "tr",
+        "uk",
+        "vi"
+    ],
+    "en": {
+        "modes": {
+            "add_area": {
+                "title": "Area",
+                "description": "Add parks, buildings, lakes or other areas to the map.",
+                "tail": "Click on the map to start drawing an area, like a park, lake, or building."
+            },
+            "add_line": {
+                "title": "Line",
+                "description": "Add highways, streets, pedestrian paths, canals or other lines to the map.",
+                "tail": "Click on the map to start drawing a road, path, or route."
+            },
+            "add_point": {
+                "title": "Point",
+                "description": "Add restaurants, monuments, postal boxes or other points to the map.",
+                "tail": "Click on the map to add a point."
+            },
+            "browse": {
+                "title": "Browse",
+                "description": "Pan and zoom the map."
+            },
+            "draw_area": {
+                "tail": "Click to add nodes to your area. Click the first node to finish the area."
+            },
+            "draw_line": {
+                "tail": "Click to add more nodes to the line. Click on other lines to connect to them, and double-click to end the line."
+            }
+        },
+        "operations": {
+            "add": {
+                "annotation": {
+                    "point": "Added a point.",
+                    "vertex": "Added a node to a way.",
+                    "relation": "Added a relation."
+                }
+            },
+            "start": {
+                "annotation": {
+                    "line": "Started a line.",
+                    "area": "Started an area."
+                }
+            },
+            "continue": {
+                "key": "A",
+                "title": "Continue",
+                "description": "Continue this line.",
+                "not_eligible": "No line can be continued here.",
+                "multiple": "Several lines can be continued here. To choose a line, press the Shift key and click on it to select it.",
+                "annotation": {
+                    "line": "Continued a line.",
+                    "area": "Continued an area."
+                }
+            },
+            "cancel_draw": {
+                "annotation": "Canceled drawing."
+            },
+            "change_role": {
+                "annotation": "Changed the role of a relation member."
+            },
+            "change_tags": {
+                "annotation": "Changed tags."
+            },
+            "circularize": {
+                "title": "Circularize",
+                "description": {
+                    "line": "Make this line circular.",
+                    "area": "Make this area circular."
+                },
+                "key": "O",
+                "annotation": {
+                    "line": "Made a line circular.",
+                    "area": "Made an area circular."
+                },
+                "not_closed": "This can't be made circular because it's not a loop.",
+                "too_large": "This can't be made circular because not enough of it is currently visible.",
+                "connected_to_hidden": "This can't be made circular because it is connected to a hidden feature."
+            },
+            "orthogonalize": {
+                "title": "Square",
+                "description": {
+                    "line": "Square the corners of this line.",
+                    "area": "Square the corners of this area."
+                },
+                "key": "S",
+                "annotation": {
+                    "line": "Squared the corners of a line.",
+                    "area": "Squared the corners of an area."
+                },
+                "not_squarish": "This can't be made square because it is not squarish.",
+                "too_large": "This can't be made square because not enough of it is currently visible.",
+                "connected_to_hidden": "This can't be made square because it is connected to a hidden feature."
+            },
+            "straighten": {
+                "title": "Straighten",
+                "description": "Straighten this line.",
+                "key": "S",
+                "annotation": "Straightened a line.",
+                "too_bendy": "This can't be straightened because it bends too much.",
+                "connected_to_hidden": "This line can't be straightened because it is connected to a hidden feature."
+            },
+            "delete": {
+                "title": "Delete",
+                "description": "Delete object permanently.",
+                "annotation": {
+                    "point": "Deleted a point.",
+                    "vertex": "Deleted a node from a way.",
+                    "line": "Deleted a line.",
+                    "area": "Deleted an area.",
+                    "relation": "Deleted a relation.",
+                    "multiple": "Deleted {n} objects."
+                },
+                "incomplete_relation": "This feature can't be deleted because it hasn't been fully downloaded.",
+                "part_of_relation": "This feature can't be deleted because it's part of a larger relation. You must remove it from the relation first.",
+                "connected_to_hidden": "This can't be deleted because it is connected to a hidden feature."
+            },
+            "add_member": {
+                "annotation": "Added a member to a relation."
+            },
+            "delete_member": {
+                "annotation": "Removed a member from a relation."
+            },
+            "connect": {
+                "annotation": {
+                    "point": "Connected a way to a point.",
+                    "vertex": "Connected a way to another.",
+                    "line": "Connected a way to a line.",
+                    "area": "Connected a way to an area."
+                }
+            },
+            "disconnect": {
+                "title": "Disconnect",
+                "description": "Disconnect these lines/areas from each other.",
+                "key": "D",
+                "annotation": "Disconnected lines/areas.",
+                "not_connected": "There aren't enough lines/areas here to disconnect.",
+                "connected_to_hidden": "This can't be disconnected because it is connected to a hidden feature."
+            },
+            "merge": {
+                "title": "Merge",
+                "description": "Merge these features.",
+                "key": "C",
+                "annotation": "Merged {n} features.",
+                "not_eligible": "These features can't be merged.",
+                "not_adjacent": "These features can't be merged because they aren't connected.",
+                "restriction": "These features can't be merged because at least one is a member of a \"{relation}\" relation.",
+                "incomplete_relation": "These features can't be merged because at least one hasn't been fully downloaded.",
+                "conflicting_tags": "These features can't be merged because some of their tags have conflicting values."
+            },
+            "move": {
+                "title": "Move",
+                "description": "Move this to a different location.",
+                "key": "M",
+                "annotation": {
+                    "point": "Moved a point.",
+                    "vertex": "Moved a node in a way.",
+                    "line": "Moved a line.",
+                    "area": "Moved an area.",
+                    "multiple": "Moved multiple objects."
+                },
+                "incomplete_relation": "This feature can't be moved because it hasn't been fully downloaded.",
+                "too_large": "This can't be moved because not enough of it is currently visible.",
+                "connected_to_hidden": "This can't be moved because it is connected to a hidden feature."
+            },
+            "rotate": {
+                "title": "Rotate",
+                "description": "Rotate this object around its center point.",
+                "key": "R",
+                "annotation": {
+                    "line": "Rotated a line.",
+                    "area": "Rotated an area."
+                },
+                "too_large": "This can't be rotated because not enough of it is currently visible.",
+                "connected_to_hidden": "This can't be rotated because it is connected to a hidden feature."
+            },
+            "reverse": {
+                "title": "Reverse",
+                "description": "Make this line go in the opposite direction.",
+                "key": "V",
+                "annotation": "Reversed a line."
+            },
+            "split": {
+                "title": "Split",
+                "description": {
+                    "line": "Split this line into two at this node.",
+                    "area": "Split the boundary of this area into two.",
+                    "multiple": "Split the lines/area boundaries at this node into two."
+                },
+                "key": "X",
+                "annotation": {
+                    "line": "Split a line.",
+                    "area": "Split an area boundary.",
+                    "multiple": "Split {n} lines/area boundaries."
+                },
+                "not_eligible": "Lines can't be split at their beginning or end.",
+                "multiple_ways": "There are too many lines here to split.",
+                "connected_to_hidden": "This can't be split because it is connected to a hidden feature."
+            },
+            "restriction": {
+                "help": {
+                    "select": "Click to select a road segment.",
+                    "toggle": "Click to toggle turn restrictions.",
+                    "toggle_on": "Click to add a \"{restriction}\" restriction.",
+                    "toggle_off": "Click to remove the \"{restriction}\" restriction."
+                },
+                "annotation": {
+                    "create": "Added a turn restriction",
+                    "delete": "Deleted a turn restriction"
+                }
+            }
+        },
+        "undo": {
+            "tooltip": "Undo: {action}",
+            "nothing": "Nothing to undo."
+        },
+        "redo": {
+            "tooltip": "Redo: {action}",
+            "nothing": "Nothing to redo."
+        },
+        "tooltip_keyhint": "Shortcut:",
+        "browser_notice": "This editor is supported in Firefox, Chrome, Safari, Opera, and Internet Explorer 11 and above. Please upgrade your browser or use Potlatch 2 to edit the map.",
+        "translate": {
+            "translate": "Translate",
+            "localized_translation_label": "Multilingual name",
+            "localized_translation_language": "Choose language",
+            "localized_translation_name": "Name"
+        },
+        "zoom_in_edit": "Zoom in to Edit",
+        "logout": "logout",
+        "loading_auth": "Connecting to OpenStreetMap...",
+        "report_a_bug": "Report a bug",
+        "help_translate": "Help translate",
+        "feature_info": {
+            "hidden_warning": "{count} hidden features",
+            "hidden_details": "These features are currently hidden: {details}"
+        },
+        "status": {
+            "error": "Unable to connect to API.",
+            "offline": "The API is offline. Please try editing later.",
+            "readonly": "The API is read-only. You will need to wait to save your changes."
+        },
+        "commit": {
+            "title": "Save Changes",
+            "description_placeholder": "Brief description of your contributions",
+            "message_label": "Changeset comment",
+            "upload_explanation": "The changes you upload will be visible on all maps that use OpenStreetMap data.",
+            "upload_explanation_with_user": "The changes you upload as {user} will be visible on all maps that use OpenStreetMap data.",
+            "save": "Save",
+            "cancel": "Cancel",
+            "changes": "{count} Changes",
+            "warnings": "Warnings",
+            "modified": "Modified",
+            "deleted": "Deleted",
+            "created": "Created"
+        },
+        "contributors": {
+            "list": "Edits by {users}",
+            "truncated_list": "Edits by {users} and {count} others"
+        },
+        "infobox": {
+            "selected": "{n} selected",
+            "geometry": "Geometry",
+            "closed": "closed",
+            "center": "Center",
+            "perimeter": "Perimeter",
+            "length": "Length",
+            "area": "Area",
+            "centroid": "Centroid",
+            "location": "Location",
+            "metric": "Metric",
+            "imperial": "Imperial"
+        },
+        "geometry": {
+            "point": "point",
+            "vertex": "vertex",
+            "line": "line",
+            "area": "area",
+            "relation": "relation"
+        },
+        "geocoder": {
+            "search": "Search worldwide...",
+            "no_results_visible": "No results in visible map area",
+            "no_results_worldwide": "No results found"
+        },
+        "geolocate": {
+            "title": "Show My Location"
+        },
+        "inspector": {
+            "no_documentation_combination": "There is no documentation available for this tag combination",
+            "no_documentation_key": "There is no documentation available for this key",
+            "show_more": "Show More",
+            "view_on_osm": "View on openstreetmap.org",
+            "all_tags": "All tags",
+            "all_members": "All members",
+            "all_relations": "All relations",
+            "new_relation": "New relation...",
+            "role": "Role",
+            "choose": "Select feature type",
+            "results": "{n} results for {search}",
+            "reference": "View on OpenStreetMap Wiki",
+            "back_tooltip": "Change feature",
+            "remove": "Remove",
+            "search": "Search",
+            "multiselect": "Selected items",
+            "unknown": "Unknown",
+            "incomplete": "<not downloaded>",
+            "feature_list": "Search features",
+            "edit": "Edit feature",
+            "check": {
+                "yes": "Yes",
+                "no": "No"
+            },
+            "none": "None",
+            "node": "Node",
+            "way": "Way",
+            "relation": "Relation",
+            "location": "Location",
+            "add_fields": "Add field:"
+        },
+        "background": {
+            "title": "Background",
+            "description": "Background settings",
+            "percent_brightness": "{opacity}% brightness",
+            "none": "None",
+            "custom": "Custom",
+            "custom_button": "Edit custom background",
+            "custom_prompt": "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.",
+            "fix_misalignment": "Fix alignment",
+            "reset": "reset",
+            "minimap": {
+                "description": "Minimap",
+                "tooltip": "Show a zoomed out map to help locate the area currently displayed."
+            }
+        },
+        "map_data": {
+            "title": "Map Data",
+            "description": "Map Data",
+            "data_layers": "Data Layers",
+            "fill_area": "Fill Areas",
+            "map_features": "Map Features",
+            "autohidden": "These features have been automatically hidden because too many would be shown on the screen.  You can zoom in to edit them."
+        },
+        "feature": {
+            "points": {
+                "description": "Points",
+                "tooltip": "Points of Interest"
+            },
+            "major_roads": {
+                "description": "Major Roads",
+                "tooltip": "Highways, Streets, etc."
+            },
+            "minor_roads": {
+                "description": "Minor Roads",
+                "tooltip": "Service Roads, Parking Aisles, Tracks, etc."
+            },
+            "paths": {
+                "description": "Paths",
+                "tooltip": "Sidewalks, Foot Paths, Cycle Paths, etc."
+            },
+            "buildings": {
+                "description": "Buildings",
+                "tooltip": "Buildings, Shelters, Garages, etc."
+            },
+            "landuse": {
+                "description": "Landuse Features",
+                "tooltip": "Forests, Farmland, Parks, Residential, Commercial, etc."
+            },
+            "boundaries": {
+                "description": "Boundaries",
+                "tooltip": "Administrative Boundaries"
+            },
+            "water": {
+                "description": "Water Features",
+                "tooltip": "Rivers, Lakes, Ponds, Basins, etc."
+            },
+            "rail": {
+                "description": "Rail Features",
+                "tooltip": "Railways"
+            },
+            "power": {
+                "description": "Power Features",
+                "tooltip": "Power Lines, Power Plants, Substations, etc."
+            },
+            "past_future": {
+                "description": "Past/Future",
+                "tooltip": "Proposed, Construction, Abandoned, Demolished, etc."
+            },
+            "others": {
+                "description": "Others",
+                "tooltip": "Everything Else"
+            }
+        },
+        "area_fill": {
+            "wireframe": {
+                "description": "No Fill (Wireframe)",
+                "tooltip": "Enabling wireframe mode makes it easy to see the background imagery."
+            },
+            "partial": {
+                "description": "Partial Fill",
+                "tooltip": "Areas are drawn with fill only around their inner edges. (Recommended for beginner mappers)"
+            },
+            "full": {
+                "description": "Full Fill",
+                "tooltip": "Areas are drawn fully filled."
+            }
+        },
+        "restore": {
+            "heading": "You have unsaved changes",
+            "description": "Do you wish to restore unsaved changes from a previous editing session?",
+            "restore": "Restore",
+            "reset": "Reset"
+        },
+        "save": {
+            "title": "Save",
+            "help": "Save changes to OpenStreetMap, making them visible to other users.",
+            "no_changes": "No changes to save.",
+            "error": "Errors occurred while trying to save",
+            "status_code": "Server returned status code {code}",
+            "unknown_error_details": "Please ensure you are connected to the internet.",
+            "uploading": "Uploading changes to OpenStreetMap.",
+            "unsaved_changes": "You have unsaved changes",
+            "conflict": {
+                "header": "Resolve conflicting edits",
+                "count": "Conflict {num} of {total}",
+                "previous": "< Previous",
+                "next": "Next >",
+                "keep_local": "Keep mine",
+                "keep_remote": "Use theirs",
+                "restore": "Restore",
+                "delete": "Leave Deleted",
+                "download_changes": "Or download your changes.",
+                "done": "All conflicts resolved!",
+                "help": "Another user changed some of the same map features you changed.\nClick on each item below for more details about the conflict, and choose whether to keep\nyour changes or the other user's changes.\n"
+            }
+        },
+        "merge_remote_changes": {
+            "conflict": {
+                "deleted": "This object has been deleted by {user}.",
+                "location": "This object was moved by both you and {user}.",
+                "nodelist": "Nodes were changed by both you and {user}.",
+                "memberlist": "Relation members were changed by both you and {user}.",
+                "tags": "You changed the <b>{tag}</b> tag to \"{local}\" and {user} changed it to \"{remote}\"."
+            }
+        },
+        "success": {
+            "edited_osm": "Edited OSM!",
+            "just_edited": "You just edited OpenStreetMap!",
+            "view_on_osm": "View on OSM",
+            "facebook": "Share on Facebook",
+            "twitter": "Share on Twitter",
+            "google": "Share on Google+",
+            "help_html": "Your changes should appear in the \"Standard\" layer in a few minutes. Other layers, and certain features, may take longer\n(<a href='https://help.openstreetmap.org/questions/4705/why-havent-my-changes-appeared-on-the-map' target='_blank'>details</a>).\n"
+        },
+        "confirm": {
+            "okay": "Okay",
+            "cancel": "Cancel"
+        },
+        "splash": {
+            "welcome": "Welcome to the iD OpenStreetMap editor",
+            "text": "iD is a friendly but powerful tool for contributing to the world's best free world map. This is version {version}. For more information see {website} and report bugs at {github}.",
+            "walkthrough": "Start the Walkthrough",
+            "start": "Edit Now"
+        },
+        "source_switch": {
+            "live": "live",
+            "lose_changes": "You have unsaved changes. Switching the map server will discard them. Are you sure you want to switch servers?",
+            "dev": "dev"
+        },
+        "tag_reference": {
+            "description": "Description",
+            "on_wiki": "{tag} on wiki.osm.org",
+            "used_with": "used with {type}"
+        },
+        "validations": {
+            "untagged_point": "Untagged point",
+            "untagged_line": "Untagged line",
+            "untagged_area": "Untagged area",
+            "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
+            "tag_suggests_area": "The tag {tag} suggests line should be area, but it is not an area",
+            "untagged_point_tooltip": "Select a feature type that describes what this point is.",
+            "untagged_line_tooltip": "Select a feature type that describes what this line is.",
+            "untagged_area_tooltip": "Select a feature type that describes what this area is.",
+            "deprecated_tags": "Deprecated tags: {tags}"
+        },
+        "zoom": {
+            "in": "Zoom In",
+            "out": "Zoom Out"
+        },
+        "cannot_zoom": "Cannot zoom out further in current mode.",
+        "full_screen": "Toggle Full Screen",
+        "gpx": {
+            "local_layer": "Local GPX file",
+            "drag_drop": "Drag and drop a .gpx file on the page, or click the button to the right to browse",
+            "zoom": "Zoom to GPX track",
+            "browse": "Browse for a .gpx file"
+        },
+        "mapillary": {
+            "tooltip": "Street-level photos from Mapillary",
+            "title": "Photo Overlay (Mapillary)",
+            "view_on_mapillary": "View this image on Mapillary"
+        },
+        "help": {
+            "title": "Help",
+            "help": "# Help\n\nThis is an editor for [OpenStreetMap](http://www.openstreetmap.org/), the\nfree and editable map of the world. You can use it to add and update\ndata in your area, making an open-source and open-data map of the world\nbetter for everyone.\n\nEdits that you make on this map will be visible to everyone who uses\nOpenStreetMap. In order to make an edit, you'll need to\n[log in](https://www.openstreetmap.org/login).\n\nThe [iD editor](http://ideditor.com/) is a collaborative project with [source\ncode available on GitHub](https://github.com/openstreetmap/iD).\n",
+            "editing_saving": "# Editing & Saving\n\nThis editor is designed to work primarily online, and you're accessing\nit through a website right now.\n\n### Selecting Features\n\nTo select a map feature, like a road or point of interest, click\non it on the map. This will highlight the selected feature, open a panel with\ndetails about it, and show a menu of things you can do with the feature.\n\nTo select multiple features, hold down the 'Shift' key. Then either click\non the features you want to select, or drag on the map to draw a rectangle.\nThis will draw a box and select all the points within it.\n\n### Saving Edits\n\nWhen you make changes like editing roads, buildings, and places, these are\nstored locally until you save them to the server. Don't worry if you make\na mistake - you can undo changes by clicking the undo button, and redo\nchanges by clicking the redo button.\n\nClick 'Save' to finish a group of edits - for instance, if you've completed\nan area of town and would like to start on a new area. You'll have a chance\nto review what you've done, and the editor supplies helpful suggestions\nand warnings if something doesn't seem right about the changes.\n\nIf everything looks good, you can enter a short comment explaining the change\nyou made, and click 'Save' again to post the changes\nto [OpenStreetMap.org](http://www.openstreetmap.org/), where they are visible\nto all other users and available for others to build and improve upon.\n\nIf you can't finish your edits in one sitting, you can leave the editor\nwindow and come back (on the same browser and computer), and the\neditor application will offer to restore your work.\n\n### Using the editor\n\nA list of available keyboard shortcuts can be found [here](http://wiki.openstreetmap.org/wiki/ID/Shortcuts).\n",
+            "roads": "# Roads\n\nYou can create, fix, and delete roads with this editor. Roads can be all\nkinds: paths, highways, trails, cycleways, and more - any often-crossed\nsegment should be mappable.\n\n### Selecting\n\nClick on a road to select it. An outline should become visible, along\nwith a small tools menu on the map and a sidebar showing more information\nabout the road.\n\n### Modifying\n\nOften you'll see roads that aren't aligned to the imagery behind them\nor to a GPS track. You can adjust these roads so they are in the correct\nplace.\n\nFirst click on the road you want to change. This will highlight it and show\ncontrol points along it that you can drag to better locations. If\nyou want to add new control points for more detail, double-click a part\nof the road without a node, and one will be added.\n\nIf the road connects to another road, but doesn't properly connect on\nthe map, you can drag one of its control points onto the other road in\norder to join them. Having roads connect is important for the map\nand essential for providing driving directions.\n\nYou can also click the 'Move' tool or press the `M` shortcut key to move the entire road at\none time, and then click again to save that movement.\n\n### Deleting\n\nIf a road is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the road could simply be newly built.\n\nYou can delete a road by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n\n### Creating\n\nFound somewhere there should be a road but there isn't? Click the 'Line'\nicon in the top-left of the editor or press the shortcut key `2` to start drawing\na line.\n\nClick on the start of the road on the map to start drawing. If the road\nbranches off from an existing road, start by clicking on the place where they connect.\n\nThen click on points along the road so that it follows the right path, according\nto satellite imagery or GPS. If the road you are drawing crosses another road, connect\nit by clicking on the intersection point. When you're done drawing, double-click\nor press 'Return' or 'Enter' on your keyboard.\n",
+            "gps": "# GPS\n\nCollected GPS traces are one valuable source of data for OpenStreetMap. This editor\nsupports local traces - `.gpx` files on your local computer. You can collect\nthis kind of GPS trace with a number of smartphone applications as well as\npersonal GPS hardware.\n\nFor information on how to perform a GPS survey, read\n[Mapping with a smartphone, GPS, or paper](http://learnosm.org/en/mobile-mapping/).\n\nTo use a GPX track for mapping, drag and drop the GPX file onto the map\neditor. If it's recognized, it will be added to the map as a bright purple\nline. Click on the 'Map Data' menu on the right side to enable,\ndisable, or zoom to this new GPX-powered layer.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add, and also to [upload it to OpenStreetMap](http://www.openstreetmap.org/trace/create)\nfor other users to use.\n",
+            "imagery": "# Imagery\n\nAerial imagery is an important resource for mapping. A combination of\nairplane flyovers, satellite views, and freely-compiled sources are available\nin the editor under the 'Background Settings' menu on the right.\n\nBy default a [Bing Maps](http://www.bing.com/maps/) satellite layer is\npresented in the editor, but as you pan and zoom the map to new geographical\nareas, new sources will become available. Some countries, like the United\nStates, France, and Denmark have very high-quality imagery available for some areas.\n\nImagery is sometimes offset from the map data because of a mistake on the\nimagery provider's side. If you see a lot of roads shifted from the background,\ndon't immediately move them all to match the background. Instead you can adjust\nthe imagery so that it matches the existing data by clicking 'Fix alignment' at\nthe bottom of the Background Settings UI.\n",
+            "addresses": "# Addresses\n\nAddresses are some of the most useful information for the map.\n\nAlthough addresses are often represented as parts of streets, in OpenStreetMap\nthey're recorded as attributes of buildings and places along streets.\n\nYou can add address information to places mapped as building outlines\nas well as those mapped as single points. The optimal source of address\ndata is from an on-the-ground survey or personal knowledge - as with any\nother feature, copying from commercial sources like Google Maps is strictly\nforbidden.\n",
+            "inspector": "# Using the Inspector\n\nThe inspector is the section on the left side of the page that allows you to\nedit the details of the selected feature.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click the 'Add field' dropdown to add\nother details, like a Wikipedia link, wheelchair access, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n",
+            "buildings": "# Buildings\n\nOpenStreetMap is the world's largest database of buildings. You can create\nand improve this database.\n\n### Selecting\n\nYou can select a building by clicking on its border. This will highlight the\nbuilding and open a small tools menu and a sidebar showing more information\nabout the building.\n\n### Modifying\n\nSometimes buildings are incorrectly placed or have incorrect tags.\n\nTo move an entire building, select it, then click the 'Move' tool. Move your\nmouse to shift the building, and click when it's correctly placed.\n\nTo fix the specific shape of a building, click and drag the nodes that form\nits border into better places.\n\n### Creating\n\nOne of the main questions around adding buildings to the map is that\nOpenStreetMap records buildings both as shapes and points. The rule of thumb\nis to _map a building as a shape whenever possible_, and map companies, homes,\namenities, and other things that operate out of buildings as points placed\nwithin the building shape.\n\nStart drawing a building as a shape by clicking the 'Area' button in the top\nleft of the interface, and end it either by pressing 'Return' on your keyboard\nor clicking on the first node drawn to close the shape.\n\n### Deleting\n\nIf a building is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the building could simply be newly built.\n\nYou can delete a building by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n",
+            "relations": "# Relations\n\nA relation is a special type of feature in OpenStreetMap that groups together\nother features. For example, two common types of relations are *route relations*,\nwhich group together sections of road that belong to a specific freeway or\nhighway, and *multipolygons*, which group together several lines that define\na complex area (one with several pieces or holes in it like a donut).\n\nThe group of features in a relation are called *members*. In the sidebar, you can\nsee which relations a feature is a member of, and click on a relation there\nto select the it. When the relation is selected, you can see all of its\nmembers listed in the sidebar and highlighted on the map.\n\nFor the most part, iD will take care of maintaining relations automatically\nwhile you edit. The main thing you should be aware of is that if you delete a\nsection of road to redraw it more accurately, you should make sure that the\nnew section is a member of the same relations as the original.\n\n## Editing Relations\n\nIf you want to edit relations, here are the basics.\n\nTo add a feature to a relation, select the feature, click the \"+\" button in the\n\"All relations\" section of the sidebar, and select or type the name of the relation.\n\nTo create a new relation, select the first feature that should be a member,\nclick the \"+\" button in the \"All relations\" section, and select \"New relation...\".\n\nTo remove a feature from a relation, select the feature and click the trash\nbutton next to the relation you want to remove it from.\n\nYou can create multipolygons with holes using the \"Merge\" tool. Draw two areas (inner\nand outer), hold the Shift key and click on each of them to select them both, and then\nclick the \"Merge\" (+) button.\n"
+        },
+        "intro": {
+            "navigation": {
+                "title": "Navigation",
+                "drag": "The main map area shows OpenStreetMap data on top of a background. You can navigate by dragging and scrolling, just like any web map. **Drag the map!**",
+                "select": "Map features are represented three ways: using points, lines or areas. All features can be selected by clicking on them. **Click on the point to select it.**",
+                "header": "The header shows us the feature type.",
+                "pane": "When a feature is selected, the feature editor is displayed. The header shows us the feature type and the main pane shows the feature's attributes, such as its name and address. **Close the feature editor with the close button in the top right.**"
+            },
+            "points": {
+                "title": "Points",
+                "add": "Points can be used to represent features such as shops, restaurants and monuments. They mark a specific location, and describe what's there. **Click the Point button to add a new point.**",
+                "place": "The point can be placed by clicking on the map. **Place the point on top of the building.**",
+                "search": "There are many different features that can be represented by points. The point you just added is a Cafe. **Search for '{name}'**",
+                "choose": "**Choose Cafe from the list.**",
+                "describe": "The point is now marked as a cafe. Using the feature editor, we can add more information about the feature. **Add a name**",
+                "close": "The feature editor can be closed by clicking on the close button. **Close the feature editor**",
+                "reselect": "Often points will already exist, but have mistakes or be incomplete. We can edit existing points. **Select the point you just created.**",
+                "fixname": "**Change the name and close the feature editor.**",
+                "reselect_delete": "All features on the map can be deleted. **Click on the point you created.**",
+                "delete": "The menu around the point contains operations that can be performed on it, including delete. **Delete the point.**"
+            },
+            "areas": {
+                "title": "Areas",
+                "add": "Areas are used to show the boundaries of features like lakes, buildings, and residential areas. They can be also be used for more detailed mapping of many features you might normally map as points. **Click the Area button to add a new area.**",
+                "corner": "Areas are drawn by placing nodes that mark the boundary of the area. **Place the starting node on one of the corners of the playground.**",
+                "place": "Draw the area by placing more nodes. Finish the area by clicking on the starting node. **Draw an area for the playground.**",
+                "search": "**Search for '{name}'.**",
+                "choose": "**Choose Playground from the list.**",
+                "describe": "**Add a name, and close the feature editor**"
+            },
+            "lines": {
+                "title": "Lines",
+                "add": "Lines are used to represent features such as roads, railroads and rivers. **Click the Line button to add a new line.**",
+                "start": "**Start the line by clicking on the end of the road.**",
+                "intersect": "Click to add more nodes to the line. You can drag the map while drawing if necessary. Roads, and many other types of lines, are part of a larger network. It is important for these lines to be connected properly in order for routing applications to work. **Click on Flower Street, to create an intersection connecting the two lines.**",
+                "finish": "Lines can be finished by clicking on the last node again. **Finish drawing the road.**",
+                "road": "**Select Road from the list**",
+                "residential": "There are different types of roads, the most common of which is Residential. **Choose the Residential road type**",
+                "describe": "**Name the road and close the feature editor.**",
+                "restart": "The road needs to intersect Flower Street.",
+                "wrong_preset": "You didn't select the Residential road type. **Click here to choose again**"
+            },
+            "startediting": {
+                "title": "Start Editing",
+                "help": "More documentation and this walkthrough are available here.",
+                "save": "Don't forget to regularly save your changes!",
+                "start": "Start mapping!"
+            }
+        },
+        "presets": {
+            "categories": {
+                "category-building": {
+                    "name": "Building"
+                },
+                "category-golf": {
+                    "name": "Golf"
+                },
+                "category-landuse": {
+                    "name": "Land Use"
+                },
+                "category-path": {
+                    "name": "Path"
+                },
+                "category-rail": {
+                    "name": "Rail"
+                },
+                "category-restriction": {
+                    "name": "Restriction"
+                },
+                "category-road": {
+                    "name": "Road"
+                },
+                "category-route": {
+                    "name": "Route"
+                },
+                "category-water-area": {
+                    "name": "Water"
+                },
+                "category-water-line": {
+                    "name": "Water"
+                }
+            },
+            "fields": {
+                "access": {
+                    "label": "Allowed Access",
+                    "placeholder": "Not Specified",
+                    "types": {
+                        "access": "All",
+                        "foot": "Foot",
+                        "motor_vehicle": "Motor Vehicles",
+                        "bicycle": "Bicycles",
+                        "horse": "Horses"
+                    },
+                    "options": {
+                        "yes": {
+                            "title": "Allowed",
+                            "description": "Access permitted by law; a right of way"
+                        },
+                        "no": {
+                            "title": "Prohibited",
+                            "description": "Access not permitted to the general public"
+                        },
+                        "permissive": {
+                            "title": "Permissive",
+                            "description": "Access permitted until such time as the owner revokes the permission"
+                        },
+                        "private": {
+                            "title": "Private",
+                            "description": "Access permitted only with permission of the owner on an individual basis"
+                        },
+                        "designated": {
+                            "title": "Designated",
+                            "description": "Access permitted according to signs or specific local laws"
+                        },
+                        "destination": {
+                            "title": "Destination",
+                            "description": "Access permitted only to reach a destination"
+                        },
+                        "dismount": {
+                            "title": "Dismount",
+                            "description": "Access permitted but rider must dismount"
+                        }
+                    }
+                },
+                "access_simple": {
+                    "label": "Allowed Access",
+                    "placeholder": "yes"
+                },
+                "access_toilets": {
+                    "label": "Access"
+                },
+                "address": {
+                    "label": "Address",
+                    "placeholders": {
+                        "housename": "Housename",
+                        "housenumber": "123",
+                        "conscriptionnumber": "123",
+                        "street": "Street",
+                        "city": "City",
+                        "postcode": "Postcode",
+                        "place": "Place",
+                        "hamlet": "Hamlet",
+                        "suburb": "Suburb",
+                        "subdistrict": "Subdistrict",
+                        "district": "District",
+                        "province": "Province",
+                        "state": "State",
+                        "country": "Country"
+                    }
+                },
+                "admin_level": {
+                    "label": "Admin Level"
+                },
+                "aerialway": {
+                    "label": "Type"
+                },
+                "aerialway/access": {
+                    "label": "Access",
+                    "options": {
+                        "entry": "Entry",
+                        "exit": "Exit",
+                        "both": "Both"
+                    }
+                },
+                "aerialway/bubble": {
+                    "label": "Bubble"
+                },
+                "aerialway/capacity": {
+                    "label": "Capacity (per hour)",
+                    "placeholder": "500, 2500, 5000..."
+                },
+                "aerialway/duration": {
+                    "label": "Duration (minutes)",
+                    "placeholder": "1, 2, 3..."
+                },
+                "aerialway/heating": {
+                    "label": "Heated"
+                },
+                "aerialway/occupancy": {
+                    "label": "Occupancy",
+                    "placeholder": "2, 4, 8..."
+                },
+                "aerialway/summer/access": {
+                    "label": "Access (summer)",
+                    "options": {
+                        "entry": "Entry",
+                        "exit": "Exit",
+                        "both": "Both"
+                    }
+                },
+                "aeroway": {
+                    "label": "Type"
+                },
+                "amenity": {
+                    "label": "Type"
+                },
+                "area/highway": {
+                    "label": "Type"
+                },
+                "artist": {
+                    "label": "Artist"
+                },
+                "artwork_type": {
+                    "label": "Type"
+                },
+                "atm": {
+                    "label": "ATM"
+                },
+                "backrest": {
+                    "label": "Backrest"
+                },
+                "barrier": {
+                    "label": "Type"
+                },
+                "bench": {
+                    "label": "Bench"
+                },
+                "bicycle_parking": {
+                    "label": "Type"
+                },
+                "boundary": {
+                    "label": "Type"
+                },
+                "brand": {
+                    "label": "Brand"
+                },
+                "building": {
+                    "label": "Building"
+                },
+                "building_area": {
+                    "label": "Building"
+                },
+                "capacity": {
+                    "label": "Capacity",
+                    "placeholder": "50, 100, 200..."
+                },
+                "cardinal_direction": {
+                    "label": "Direction",
+                    "options": {
+                        "N": "North",
+                        "E": "East",
+                        "S": "South",
+                        "W": "West",
+                        "NE": "Northeast",
+                        "SE": "Southeast",
+                        "SW": "Southwest",
+                        "NW": "Northwest",
+                        "NNE": "North-northeast",
+                        "ENE": "East-northeast",
+                        "ESE": "East-southeast",
+                        "SSE": "South-southeast",
+                        "SSW": "South-southwest",
+                        "WSW": "West-southwest",
+                        "WNW": "West-northwest",
+                        "NNW": "North-northwest"
+                    }
+                },
+                "clock_direction": {
+                    "label": "Direction",
+                    "options": {
+                        "clockwise": "Clockwise",
+                        "anticlockwise": "Counterclockwise"
+                    }
+                },
+                "collection_times": {
+                    "label": "Collection Times"
+                },
+                "construction": {
+                    "label": "Type"
+                },
+                "content": {
+                    "label": "Contents"
+                },
+                "country": {
+                    "label": "Country"
+                },
+                "covered": {
+                    "label": "Covered"
+                },
+                "craft": {
+                    "label": "Type"
+                },
+                "crop": {
+                    "label": "Crop"
+                },
+                "crossing": {
+                    "label": "Type"
+                },
+                "cuisine": {
+                    "label": "Cuisine"
+                },
+                "cycleway": {
+                    "label": "Bike Lanes",
+                    "placeholder": "none",
+                    "types": {
+                        "cycleway:left": "Left side",
+                        "cycleway:right": "Right side"
+                    },
+                    "options": {
+                        "none": {
+                            "title": "None",
+                            "description": "No bike lane"
+                        },
+                        "lane": {
+                            "title": "Standard bike lane",
+                            "description": "A bike lane separated from auto traffic by a painted line"
+                        },
+                        "shared_lane": {
+                            "title": "Shared bike lane",
+                            "description": "A bike lane with no separation from auto traffic"
+                        },
+                        "track": {
+                            "title": "Bike track",
+                            "description": "A bike lane separated from traffic by a physical barrier"
+                        },
+                        "share_busway": {
+                            "title": "Bike lane shared with bus",
+                            "description": "A bike lane shared with a bus lane"
+                        },
+                        "opposite_lane": {
+                            "title": "Opposite bike lane",
+                            "description": "A bike lane that travels in the opposite direction of traffic"
+                        },
+                        "opposite": {
+                            "title": "Contraflow bike lane",
+                            "description": "A bike lane that travels in both directions on a one-way street"
+                        }
+                    }
+                },
+                "delivery": {
+                    "label": "Delivery"
+                },
+                "denomination": {
+                    "label": "Denomination"
+                },
+                "denotation": {
+                    "label": "Denotation"
+                },
+                "description": {
+                    "label": "Description"
+                },
+                "drive_through": {
+                    "label": "Drive-Through"
+                },
+                "electrified": {
+                    "label": "Electrification",
+                    "placeholder": "Contact Line, Electrified Rail...",
+                    "options": {
+                        "contact_line": "Contact Line",
+                        "rail": "Electrified Rail",
+                        "yes": "Yes (unspecified)",
+                        "no": "No"
+                    }
+                },
+                "elevation": {
+                    "label": "Elevation"
+                },
+                "emergency": {
+                    "label": "Emergency"
+                },
+                "entrance": {
+                    "label": "Type"
+                },
+                "except": {
+                    "label": "Exceptions"
+                },
+                "fax": {
+                    "label": "Fax",
+                    "placeholder": "+31 42 123 4567"
+                },
+                "fee": {
+                    "label": "Fee"
+                },
+                "fire_hydrant/type": {
+                    "label": "Type",
+                    "options": {
+                        "pillar": "Pillar/Aboveground",
+                        "underground": "Underground",
+                        "wall": "Wall",
+                        "pond": "Pond"
+                    }
+                },
+                "fixme": {
+                    "label": "Fix Me"
+                },
+                "fuel": {
+                    "label": "Fuel"
+                },
+                "fuel/biodiesel": {
+                    "label": "Sells Biodiesel"
+                },
+                "fuel/diesel": {
+                    "label": "Sells Diesel"
+                },
+                "fuel/e10": {
+                    "label": "Sells E10"
+                },
+                "fuel/e85": {
+                    "label": "Sells E85"
+                },
+                "fuel/lpg": {
+                    "label": "Sells Propane"
+                },
+                "fuel/octane_100": {
+                    "label": "Sells Racing Gasoline"
+                },
+                "fuel/octane_91": {
+                    "label": "Sells Regular Gasoline"
+                },
+                "fuel/octane_95": {
+                    "label": "Sells Midgrade Gasoline"
+                },
+                "fuel/octane_98": {
+                    "label": "Sells Premium Gasoline"
+                },
+                "gauge": {
+                    "label": "Gauge"
+                },
+                "gender": {
+                    "label": "Gender",
+                    "placeholder": "Unknown",
+                    "options": {
+                        "male": "Male",
+                        "female": "Female",
+                        "unisex": "Unisex"
+                    }
+                },
+                "generator/method": {
+                    "label": "Method"
+                },
+                "generator/source": {
+                    "label": "Source"
+                },
+                "generator/type": {
+                    "label": "Type"
+                },
+                "golf_hole": {
+                    "label": "Reference",
+                    "placeholder": "Hole number (1-18)"
+                },
+                "handicap": {
+                    "label": "Handicap",
+                    "placeholder": "1-18"
+                },
+                "handrail": {
+                    "label": "Handrail"
+                },
+                "highway": {
+                    "label": "Type"
+                },
+                "historic": {
+                    "label": "Type"
+                },
+                "hoops": {
+                    "label": "Hoops",
+                    "placeholder": "1, 2, 4..."
+                },
+                "iata": {
+                    "label": "IATA"
+                },
+                "icao": {
+                    "label": "ICAO"
+                },
+                "incline": {
+                    "label": "Incline"
+                },
+                "incline_steps": {
+                    "label": "Incline",
+                    "options": {
+                        "up": "Up",
+                        "down": "Down"
+                    }
+                },
+                "information": {
+                    "label": "Type"
+                },
+                "internet_access": {
+                    "label": "Internet Access",
+                    "options": {
+                        "yes": "Yes",
+                        "no": "No",
+                        "wlan": "Wifi",
+                        "wired": "Wired",
+                        "terminal": "Terminal"
+                    }
+                },
+                "lamp_type": {
+                    "label": "Type"
+                },
+                "landuse": {
+                    "label": "Type"
+                },
+                "lanes": {
+                    "label": "Lanes",
+                    "placeholder": "1, 2, 3..."
+                },
+                "layer": {
+                    "label": "Layer"
+                },
+                "leaf_cycle": {
+                    "label": "Leaf Cycle",
+                    "options": {
+                        "evergreen": "Evergreen",
+                        "deciduous": "Deciduous",
+                        "semi_evergreen": "Semi-Evergreen",
+                        "semi_deciduous": "Semi-Deciduous",
+                        "mixed": "Mixed"
+                    }
+                },
+                "leaf_cycle_singular": {
+                    "label": "Leaf Cycle",
+                    "options": {
+                        "evergreen": "Evergreen",
+                        "deciduous": "Deciduous",
+                        "semi_evergreen": "Semi-Evergreen",
+                        "semi_deciduous": "Semi-Deciduous"
+                    }
+                },
+                "leaf_type": {
+                    "label": "Leaf Type",
+                    "options": {
+                        "broadleaved": "Broadleaved",
+                        "needleleaved": "Needleleaved",
+                        "mixed": "Mixed",
+                        "leafless": "Leafless"
+                    }
+                },
+                "leaf_type_singular": {
+                    "label": "Leaf Type",
+                    "options": {
+                        "broadleaved": "Broadleaved",
+                        "needleleaved": "Needleleaved",
+                        "leafless": "Leafless"
+                    }
+                },
+                "leisure": {
+                    "label": "Type"
+                },
+                "length": {
+                    "label": "Length (Meters)"
+                },
+                "level": {
+                    "label": "Level"
+                },
+                "levels": {
+                    "label": "Levels",
+                    "placeholder": "2, 4, 6..."
+                },
+                "lit": {
+                    "label": "Lit"
+                },
+                "location": {
+                    "label": "Location"
+                },
+                "man_made": {
+                    "label": "Type"
+                },
+                "maxspeed": {
+                    "label": "Speed Limit",
+                    "placeholder": "40, 50, 60..."
+                },
+                "maxstay": {
+                    "label": "Max Stay"
+                },
+                "mtb/scale": {
+                    "label": "Mountain Biking Difficulty",
+                    "placeholder": "0, 1, 2, 3...",
+                    "options": {
+                        "0": "0: Solid gravel/packed earth, no obstacles, wide curves",
+                        "1": "1: Some loose surface, small obstacles, wide curves",
+                        "2": "2: Much loose surface, large obstacles, easy hairpins",
+                        "3": "3: Slippery surface, large obstacles, tight hairpins",
+                        "4": "4: Loose surface or boulders, dangerous hairpins",
+                        "5": "5: Maximum difficulty, boulder fields, landslides",
+                        "6": "6: Not rideable except by the very best mountain bikers"
+                    }
+                },
+                "mtb/scale/imba": {
+                    "label": "IMBA Trail Difficulty",
+                    "placeholder": "Easy, Medium, Difficult...",
+                    "options": {
+                        "0": "Easiest (white circle)",
+                        "1": "Easy (green circle)",
+                        "2": "Medium (blue square)",
+                        "3": "Difficult (black diamond)",
+                        "4": "Extremely Difficult (double black diamond)"
+                    }
+                },
+                "mtb/scale/uphill": {
+                    "label": "Mountain Biking Uphill Difficulty",
+                    "placeholder": "0, 1, 2, 3...",
+                    "options": {
+                        "0": "0: Avg. incline <10%, gravel/packed earth, no obstacles",
+                        "1": "1: Avg. incline <15%, gravel/packed earth, few small objects",
+                        "2": "2: Avg. incline <20%, stable surface, fistsize rocks/roots",
+                        "3": "3: Avg. incline <25%, variable surface, fistsize rocks/branches",
+                        "4": "4: Avg. incline <30%, poor condition, big rocks/branches",
+                        "5": "5: Very steep, bike generally needs to be pushed or carried"
+                    }
+                },
+                "name": {
+                    "label": "Name",
+                    "placeholder": "Common name (if any)"
+                },
+                "natural": {
+                    "label": "Natural"
+                },
+                "network": {
+                    "label": "Network"
+                },
+                "note": {
+                    "label": "Note"
+                },
+                "office": {
+                    "label": "Type"
+                },
+                "oneway": {
+                    "label": "One Way",
+                    "options": {
+                        "undefined": "Assumed to be No",
+                        "yes": "Yes",
+                        "no": "No"
+                    }
+                },
+                "oneway_yes": {
+                    "label": "One Way",
+                    "options": {
+                        "undefined": "Assumed to be Yes",
+                        "yes": "Yes",
+                        "no": "No"
+                    }
+                },
+                "opening_hours": {
+                    "label": "Hours"
+                },
+                "operator": {
+                    "label": "Operator"
+                },
+                "par": {
+                    "label": "Par",
+                    "placeholder": "3, 4, 5..."
+                },
+                "park_ride": {
+                    "label": "Park and Ride"
+                },
+                "parking": {
+                    "label": "Type",
+                    "options": {
+                        "surface": "Surface",
+                        "multi-storey": "Multilevel",
+                        "underground": "Underground",
+                        "sheds": "Sheds",
+                        "carports": "Carports",
+                        "garage_boxes": "Garage Boxes",
+                        "lane": "Roadside Lane"
+                    }
+                },
+                "phone": {
+                    "label": "Phone",
+                    "placeholder": "+31 42 123 4567"
+                },
+                "piste/difficulty": {
+                    "label": "Difficulty",
+                    "placeholder": "Easy, Intermediate, Advanced...",
+                    "options": {
+                        "novice": "Novice (instructional)",
+                        "easy": "Easy (green circle)",
+                        "intermediate": "Intermediate (blue square)",
+                        "advanced": "Advanced (black diamond)",
+                        "expert": "Expert (double black diamond)",
+                        "freeride": "Freeride (off-piste)",
+                        "extreme": "Extreme (climbing equipment required)"
+                    }
+                },
+                "piste/grooming": {
+                    "label": "Grooming",
+                    "options": {
+                        "classic": "Classic",
+                        "mogul": "Mogul",
+                        "backcountry": "Backcountry",
+                        "classic+skating": "Classic and Skating",
+                        "scooter": "Scooter/Snowmobile",
+                        "skating": "Skating"
+                    }
+                },
+                "piste/type": {
+                    "label": "Type",
+                    "options": {
+                        "downhill": "Downhill",
+                        "nordic": "Nordic",
+                        "skitour": "Skitour",
+                        "sled": "Sled",
+                        "hike": "Hike",
+                        "sleigh": "Sleigh",
+                        "ice_skate": "Ice Skate",
+                        "snow_park": "Snow Park",
+                        "playground": "Playground"
+                    }
+                },
+                "place": {
+                    "label": "Type"
+                },
+                "population": {
+                    "label": "Population"
+                },
+                "power": {
+                    "label": "Type"
+                },
+                "power_supply": {
+                    "label": "Power Supply"
+                },
+                "railway": {
+                    "label": "Type"
+                },
+                "recycling/cans": {
+                    "label": "Accepts Cans"
+                },
+                "recycling/clothes": {
+                    "label": "Accepts Clothes"
+                },
+                "recycling/glass": {
+                    "label": "Accepts Glass"
+                },
+                "recycling/glass_bottles": {
+                    "label": "Accepts Glass Bottles"
+                },
+                "recycling/paper": {
+                    "label": "Accepts Paper"
+                },
+                "recycling/plastic": {
+                    "label": "Accepts Plastic"
+                },
+                "recycling/type": {
+                    "label": "Recycling Type",
+                    "options": {
+                        "container": "Container",
+                        "centre": "Recycling Center"
+                    }
+                },
+                "ref": {
+                    "label": "Reference"
+                },
+                "relation": {
+                    "label": "Type"
+                },
+                "religion": {
+                    "label": "Religion"
+                },
+                "restriction": {
+                    "label": "Type"
+                },
+                "restrictions": {
+                    "label": "Turn Restrictions"
+                },
+                "route": {
+                    "label": "Type"
+                },
+                "route_master": {
+                    "label": "Type"
+                },
+                "sac_scale": {
+                    "label": "Hiking Difficulty",
+                    "placeholder": "Mountain Hiking, Alpine Hiking...",
+                    "options": {
+                        "hiking": "T1: Hiking",
+                        "mountain_hiking": "T2: Mountain Hiking",
+                        "demanding_mountain_hiking": "T3: Demanding Mountain Hiking",
+                        "alpine_hiking": "T4: Alpine Hiking",
+                        "demanding_alpine_hiking": "T5: Demanding Alpine Hiking",
+                        "difficult_alpine_hiking": "T6: Difficult Alpine Hiking"
+                    }
+                },
+                "sanitary_dump_station": {
+                    "label": "Toilet Disposal"
+                },
+                "seasonal": {
+                    "label": "Seasonal"
+                },
+                "service": {
+                    "label": "Type"
+                },
+                "service/bicycle/chain_tool": {
+                    "label": "Chain Tool",
+                    "options": {
+                        "undefined": "Assumed to be No",
+                        "yes": "Yes",
+                        "no": "No"
+                    }
+                },
+                "service/bicycle/pump": {
+                    "label": "Air Pump",
+                    "options": {
+                        "undefined": "Assumed to be No",
+                        "yes": "Yes",
+                        "no": "No"
+                    }
+                },
+                "service_rail": {
+                    "label": "Service Type",
+                    "options": {
+                        "spur": "Spur",
+                        "yard": "Yard",
+                        "siding": "Siding",
+                        "crossover": "Crossover"
+                    }
+                },
+                "shelter": {
+                    "label": "Shelter"
+                },
+                "shelter_type": {
+                    "label": "Type"
+                },
+                "shop": {
+                    "label": "Type"
+                },
+                "sloped_curb": {
+                    "label": "Sloped Curb"
+                },
+                "smoking": {
+                    "label": "Smoking",
+                    "placeholder": "No, Separated, Yes...",
+                    "options": {
+                        "no": "No smoking anywhere",
+                        "separated": "In smoking areas, not physically isolated",
+                        "isolated": "In smoking areas, physically isolated",
+                        "outside": "Allowed outside",
+                        "yes": "Allowed everywhere",
+                        "dedicated": "Dedicated to smokers (e.g. smokers' club)"
+                    }
+                },
+                "smoothness": {
+                    "label": "Smoothness",
+                    "placeholder": "Thin Rollers, Wheels, Off-Road...",
+                    "options": {
+                        "excellent": "Thin Rollers: rollerblade, skateboard",
+                        "good": "Thin Wheels: racing bike",
+                        "intermediate": "Wheels: city bike, wheelchair, scooter",
+                        "bad": "Robust Wheels: trekking bike, car, rickshaw",
+                        "very_bad": "High Clearance: light duty off-road vehicle",
+                        "horrible": "Off-Road: heavy duty off-road vehicle",
+                        "very_horrible": "Specialized off-road: tractor, ATV",
+                        "impassable": "Impassable / No wheeled vehicle"
+                    }
+                },
+                "social_facility_for": {
+                    "label": "People served",
+                    "placeholder": "Homeless, Disabled, Child, etc"
+                },
+                "source": {
+                    "label": "Source"
+                },
+                "sport": {
+                    "label": "Sport"
+                },
+                "sport_ice": {
+                    "label": "Sport"
+                },
+                "sport_racing": {
+                    "label": "Sport"
+                },
+                "structure": {
+                    "label": "Structure",
+                    "placeholder": "Unknown",
+                    "options": {
+                        "bridge": "Bridge",
+                        "tunnel": "Tunnel",
+                        "embankment": "Embankment",
+                        "cutting": "Cutting",
+                        "ford": "Ford"
+                    }
+                },
+                "studio_type": {
+                    "label": "Type"
+                },
+                "substation": {
+                    "label": "Type"
+                },
+                "supervised": {
+                    "label": "Supervised"
+                },
+                "surface": {
+                    "label": "Surface"
+                },
+                "tactile_paving": {
+                    "label": "Tactile Paving"
+                },
+                "takeaway": {
+                    "label": "Takeaway",
+                    "placeholder": "Yes, No, Takeaway Only...",
+                    "options": {
+                        "yes": "Yes",
+                        "no": "No",
+                        "only": "Takeaway Only"
+                    }
+                },
+                "toilets/disposal": {
+                    "label": "Disposal",
+                    "options": {
+                        "flush": "Flush",
+                        "pitlatrine": "Pit/Latrine",
+                        "chemical": "Chemical",
+                        "bucket": "Bucket"
+                    }
+                },
+                "tourism": {
+                    "label": "Type"
+                },
+                "towertype": {
+                    "label": "Tower type"
+                },
+                "tracktype": {
+                    "label": "Track Type",
+                    "placeholder": "Solid, Mostly Solid, Soft...",
+                    "options": {
+                        "grade1": "Solid: paved or heavily compacted hardcore surface",
+                        "grade2": "Mostly Solid: gravel/rock with some soft material mixed in",
+                        "grade3": "Even mixture of hard and soft materials",
+                        "grade4": "Mostly Soft: soil/sand/grass with some hard material mixed in",
+                        "grade5": "Soft: soil/sand/grass"
+                    }
+                },
+                "traffic_signals": {
+                    "label": "Type"
+                },
+                "trail_visibility": {
+                    "label": "Trail Visibility",
+                    "placeholder": "Excellent, Good, Bad...",
+                    "options": {
+                        "excellent": "Excellent: unambiguous path or markers everywhere",
+                        "good": "Good: markers visible, sometimes require searching",
+                        "intermediate": "Intermediate: few markers, path mostly visible",
+                        "bad": "Bad: no markers, path sometimes invisible/pathless",
+                        "horrible": "Horrible: often pathless, some orientation skills required",
+                        "no": "No: pathless, excellent orientation skills required"
+                    }
+                },
+                "trees": {
+                    "label": "Trees"
+                },
+                "tunnel": {
+                    "label": "Tunnel"
+                },
+                "vending": {
+                    "label": "Type of Goods"
+                },
+                "water": {
+                    "label": "Type"
+                },
+                "water_point": {
+                    "label": "Water Point"
+                },
+                "waterway": {
+                    "label": "Type"
+                },
+                "website": {
+                    "label": "Website",
+                    "placeholder": "http://example.com/"
+                },
+                "wetland": {
+                    "label": "Type"
+                },
+                "wheelchair": {
+                    "label": "Wheelchair Access"
+                },
+                "width": {
+                    "label": "Width (Meters)"
+                },
+                "wikipedia": {
+                    "label": "Wikipedia"
+                }
+            },
+            "presets": {
+                "address": {
+                    "name": "Address",
+                    "terms": ""
+                },
+                "aerialway": {
+                    "name": "Aerialway",
+                    "terms": "ski lift,funifor,funitel"
+                },
+                "aerialway/cable_car": {
+                    "name": "Cable Car",
+                    "terms": "tramway,ropeway"
+                },
+                "aerialway/chair_lift": {
+                    "name": "Chair Lift",
+                    "terms": ""
+                },
+                "aerialway/gondola": {
+                    "name": "Gondola",
+                    "terms": ""
+                },
+                "aerialway/magic_carpet": {
+                    "name": "Magic Carpet Lift",
+                    "terms": ""
+                },
+                "aerialway/platter": {
+                    "name": "Platter Lift",
+                    "terms": "button lift,poma lift"
+                },
+                "aerialway/pylon": {
+                    "name": "Aerialway Pylon",
+                    "terms": ""
+                },
+                "aerialway/rope_tow": {
+                    "name": "Rope Tow Lift",
+                    "terms": "handle tow,bugel lift"
+                },
+                "aerialway/station": {
+                    "name": "Aerialway Station",
+                    "terms": ""
+                },
+                "aerialway/t-bar": {
+                    "name": "T-bar Lift",
+                    "terms": ""
+                },
+                "aeroway": {
+                    "name": "Aeroway",
+                    "terms": ""
+                },
+                "aeroway/aerodrome": {
+                    "name": "Airport",
+                    "terms": "airplane,airport,aerodrome"
+                },
+                "aeroway/apron": {
+                    "name": "Apron",
+                    "terms": "ramp"
+                },
+                "aeroway/gate": {
+                    "name": "Airport gate",
+                    "terms": ""
+                },
+                "aeroway/hangar": {
+                    "name": "Hangar",
+                    "terms": ""
+                },
+                "aeroway/helipad": {
+                    "name": "Helipad",
+                    "terms": "helicopter,helipad,heliport"
+                },
+                "aeroway/runway": {
+                    "name": "Runway",
+                    "terms": "landing strip"
+                },
+                "aeroway/taxiway": {
+                    "name": "Taxiway",
+                    "terms": ""
+                },
+                "aeroway/terminal": {
+                    "name": "Airport terminal",
+                    "terms": "airport,aerodrome"
+                },
+                "amenity": {
+                    "name": "Amenity",
+                    "terms": ""
+                },
+                "amenity/arts_centre": {
+                    "name": "Arts Center",
+                    "terms": ""
+                },
+                "amenity/atm": {
+                    "name": "ATM",
+                    "terms": "money,cash,machine"
+                },
+                "amenity/bank": {
+                    "name": "Bank",
+                    "terms": "credit union,check,deposit,fund,investment,repository,reserve,safe,savings,stock,treasury,trust,vault"
+                },
+                "amenity/bar": {
+                    "name": "Bar",
+                    "terms": "dive,beer,bier,booze"
+                },
+                "amenity/bbq": {
+                    "name": "Barbecue/Grill",
+                    "terms": "bbq"
+                },
+                "amenity/bench": {
+                    "name": "Bench",
+                    "terms": ""
+                },
+                "amenity/bicycle_parking": {
+                    "name": "Bicycle Parking",
+                    "terms": "bike"
+                },
+                "amenity/bicycle_rental": {
+                    "name": "Bicycle Rental",
+                    "terms": "bike"
+                },
+                "amenity/bicycle_repair_station": {
+                    "name": "Bicycle Repair Station",
+                    "terms": "bike"
+                },
+                "amenity/biergarten": {
+                    "name": "Beer Garden",
+                    "terms": "beer,bier,booze"
+                },
+                "amenity/boat_rental": {
+                    "name": "Boat Rental",
+                    "terms": ""
+                },
+                "amenity/bureau_de_change": {
+                    "name": "Currency Exchange",
+                    "terms": "bureau de change,money changer"
+                },
+                "amenity/bus_station": {
+                    "name": "Bus Station",
+                    "terms": ""
+                },
+                "amenity/cafe": {
+                    "name": "Cafe",
+                    "terms": "coffee,tea"
+                },
+                "amenity/car_rental": {
+                    "name": "Car Rental",
+                    "terms": ""
+                },
+                "amenity/car_sharing": {
+                    "name": "Car Sharing",
+                    "terms": ""
+                },
+                "amenity/car_wash": {
+                    "name": "Car Wash",
+                    "terms": ""
+                },
+                "amenity/casino": {
+                    "name": "Casino",
+                    "terms": "gambling,roulette,craps,poker,blackjack"
+                },
+                "amenity/charging_station": {
+                    "name": "Charging Station",
+                    "terms": "EV,Electric Vehicle,Supercharger"
+                },
+                "amenity/childcare": {
+                    "name": "Nursery/Childcare",
+                    "terms": "daycare,orphanage,playgroup"
+                },
+                "amenity/cinema": {
+                    "name": "Cinema",
+                    "terms": "drive-in,film,flick,movie,theater,picture,show,screen"
+                },
+                "amenity/clinic": {
+                    "name": "Clinic",
+                    "terms": "medical,urgentcare"
+                },
+                "amenity/clock": {
+                    "name": "Clock",
+                    "terms": ""
+                },
+                "amenity/college": {
+                    "name": "College Grounds",
+                    "terms": "university"
+                },
+                "amenity/community_centre": {
+                    "name": "Community Center",
+                    "terms": "event,hall"
+                },
+                "amenity/compressed_air": {
+                    "name": "Compressed Air",
+                    "terms": ""
+                },
+                "amenity/courthouse": {
+                    "name": "Courthouse",
+                    "terms": ""
+                },
+                "amenity/dentist": {
+                    "name": "Dentist",
+                    "terms": "tooth,teeth"
+                },
+                "amenity/doctor": {
+                    "name": "Doctor",
+                    "terms": "medic*"
+                },
+                "amenity/dojo": {
+                    "name": "Dojo / Martial Arts Academy",
+                    "terms": "martial arts,dojang"
+                },
+                "amenity/drinking_water": {
+                    "name": "Drinking Water",
+                    "terms": "fountain,potable"
+                },
+                "amenity/embassy": {
+                    "name": "Embassy",
+                    "terms": ""
+                },
+                "amenity/fast_food": {
+                    "name": "Fast Food",
+                    "terms": "restaurant"
+                },
+                "amenity/fire_station": {
+                    "name": "Fire Station",
+                    "terms": ""
+                },
+                "amenity/fountain": {
+                    "name": "Fountain",
+                    "terms": ""
+                },
+                "amenity/fuel": {
+                    "name": "Gas Station",
+                    "terms": "petrol,fuel,propane,diesel,lng,cng,biodiesel"
+                },
+                "amenity/grave_yard": {
+                    "name": "Graveyard",
+                    "terms": ""
+                },
+                "amenity/grit_bin": {
+                    "name": "Grit Bin",
+                    "terms": "salt,sand"
+                },
+                "amenity/hospital": {
+                    "name": "Hospital Grounds",
+                    "terms": "clinic,doctor,emergency room,health service,hospice,infirmary,institution,nursing home,sanatorium,sanitarium,sick,surgery,ward"
+                },
+                "amenity/kindergarten": {
+                    "name": "Preschool/Kindergarten Grounds",
+                    "terms": "kindergarden,pre-school"
+                },
+                "amenity/library": {
+                    "name": "Library",
+                    "terms": "book"
+                },
+                "amenity/marketplace": {
+                    "name": "Marketplace",
+                    "terms": ""
+                },
+                "amenity/motorcycle_parking": {
+                    "name": "Motorcycle Parking",
+                    "terms": ""
+                },
+                "amenity/nightclub": {
+                    "name": "Nightclub",
+                    "terms": "disco*,night club,dancing,dance club"
+                },
+                "amenity/parking": {
+                    "name": "Car Parking",
+                    "terms": ""
+                },
+                "amenity/parking_entrance": {
+                    "name": "Parking Garage Entrance/Exit",
+                    "terms": ""
+                },
+                "amenity/pharmacy": {
+                    "name": "Pharmacy",
+                    "terms": "drug,medicine"
+                },
+                "amenity/place_of_worship": {
+                    "name": "Place of Worship",
+                    "terms": "abbey,basilica,bethel,cathedral,chancel,chantry,chapel,church,fold,house of God,house of prayer,house of worship,minster,mission,mosque,oratory,parish,sacellum,sanctuary,shrine,synagogue,tabernacle,temple"
+                },
+                "amenity/place_of_worship/buddhist": {
+                    "name": "Buddhist Temple",
+                    "terms": "stupa,vihara,monastery,temple,pagoda,zendo,dojo"
+                },
+                "amenity/place_of_worship/christian": {
+                    "name": "Church",
+                    "terms": "christian,abbey,basilica,bethel,cathedral,chancel,chantry,chapel,fold,house of God,house of prayer,house of worship,minster,mission,oratory,parish,sacellum,sanctuary,shrine,tabernacle,temple"
+                },
+                "amenity/place_of_worship/jewish": {
+                    "name": "Synagogue",
+                    "terms": "jewish"
+                },
+                "amenity/place_of_worship/muslim": {
+                    "name": "Mosque",
+                    "terms": "muslim"
+                },
+                "amenity/police": {
+                    "name": "Police",
+                    "terms": "badge,constable,constabulary,cop,detective,fed,law,enforcement,officer,patrol"
+                },
+                "amenity/post_box": {
+                    "name": "Mailbox",
+                    "terms": "letter,post"
+                },
+                "amenity/post_office": {
+                    "name": "Post Office",
+                    "terms": "letter,mail"
+                },
+                "amenity/pub": {
+                    "name": "Pub",
+                    "terms": "dive,beer,bier,booze"
+                },
+                "amenity/public_bookcase": {
+                    "name": "Public Bookcase",
+                    "terms": "library,bookcrossing"
+                },
+                "amenity/ranger_station": {
+                    "name": "Ranger Station",
+                    "terms": "visitor center,visitor centre,permit center,permit centre,backcountry office,warden office,warden center"
+                },
+                "amenity/recycling": {
+                    "name": "Recycling",
+                    "terms": "can,bottle,garbage,scrap,trash"
+                },
+                "amenity/register_office": {
+                    "name": "Register Office",
+                    "terms": ""
+                },
+                "amenity/restaurant": {
+                    "name": "Restaurant",
+                    "terms": "bar,breakfast,cafe,café,canteen,coffee,dine,dining,dinner,drive-in,eat,grill,lunch,table"
+                },
+                "amenity/sanitary_dump_station": {
+                    "name": "RV Toilet Disposal",
+                    "terms": "Motor Home,Camper,Sanitary,Dump Station,Elsan,CDP,CTDP,Chemical Toilet"
+                },
+                "amenity/school": {
+                    "name": "School Grounds",
+                    "terms": "academy,elementary school,middle school,high school"
+                },
+                "amenity/shelter": {
+                    "name": "Shelter",
+                    "terms": "lean-to,gazebo,picnic"
+                },
+                "amenity/social_facility": {
+                    "name": "Social Facility",
+                    "terms": ""
+                },
+                "amenity/social_facility/food_bank": {
+                    "name": "Food Bank",
+                    "terms": ""
+                },
+                "amenity/social_facility/group_home": {
+                    "name": "Elderly Group Home",
+                    "terms": "old,senior,living"
+                },
+                "amenity/social_facility/homeless_shelter": {
+                    "name": "Homeless Shelter",
+                    "terms": "houseless,unhoused,displaced"
+                },
+                "amenity/studio": {
+                    "name": "Studio",
+                    "terms": "recording,radio,television"
+                },
+                "amenity/swimming_pool": {
+                    "name": "Swimming Pool",
+                    "terms": ""
+                },
+                "amenity/taxi": {
+                    "name": "Taxi Stand",
+                    "terms": "cab"
+                },
+                "amenity/telephone": {
+                    "name": "Telephone",
+                    "terms": "phone"
+                },
+                "amenity/theatre": {
+                    "name": "Theater",
+                    "terms": "theatre,performance,play,musical"
+                },
+                "amenity/toilets": {
+                    "name": "Toilets",
+                    "terms": "bathroom,restroom,outhouse,privy,head,lavatory,latrine,water closet,WC,W.C."
+                },
+                "amenity/townhall": {
+                    "name": "Town Hall",
+                    "terms": "village,city,government,courthouse,municipal"
+                },
+                "amenity/university": {
+                    "name": "University Grounds",
+                    "terms": "college"
+                },
+                "amenity/vending_machine/cigarettes": {
+                    "name": "Cigarette Vending Machine",
+                    "terms": "cigarette"
+                },
+                "amenity/vending_machine/condoms": {
+                    "name": "Condom Vending Machine",
+                    "terms": "condom"
+                },
+                "amenity/vending_machine/drinks": {
+                    "name": "Drink Vending Machine",
+                    "terms": "drink,soda,beverage,juice,pop"
+                },
+                "amenity/vending_machine/excrement_bags": {
+                    "name": "Excrement Bag Vending Machine",
+                    "terms": "excrement bags,poop,dog,animal"
+                },
+                "amenity/vending_machine/news_papers": {
+                    "name": "Newspaper Vending Machine",
+                    "terms": "newspaper"
+                },
+                "amenity/vending_machine/parcel_pickup_dropoff": {
+                    "name": "Parcel Pickup/Dropoff Vending Machine",
+                    "terms": "parcel,mail,pickup"
+                },
+                "amenity/vending_machine/parking_tickets": {
+                    "name": "Parking Ticket Vending Machine",
+                    "terms": "parking,ticket"
+                },
+                "amenity/vending_machine/public_transport_tickets": {
+                    "name": "Transit Ticket Vending Machine",
+                    "terms": "bus,train,ferry,rail,ticket,transportation"
+                },
+                "amenity/vending_machine/sweets": {
+                    "name": "Snack Vending Machine",
+                    "terms": "candy,gum,chip,pretzel,cookie,cracker"
+                },
+                "amenity/vending_machine/vending_machine": {
+                    "name": "Vending Machine",
+                    "terms": ""
+                },
+                "amenity/veterinary": {
+                    "name": "Veterinary",
+                    "terms": "pet clinic,veterinarian,animal hospital,pet doctor"
+                },
+                "amenity/waste_basket": {
+                    "name": "Waste Basket",
+                    "terms": "rubbish,litter,trash,garbage"
+                },
+                "area": {
+                    "name": "Area",
+                    "terms": ""
+                },
+                "area/highway": {
+                    "name": "Road Surface",
+                    "terms": ""
+                },
+                "barrier": {
+                    "name": "Barrier",
+                    "terms": ""
+                },
+                "barrier/block": {
+                    "name": "Block",
+                    "terms": ""
+                },
+                "barrier/bollard": {
+                    "name": "Bollard",
+                    "terms": ""
+                },
+                "barrier/cattle_grid": {
+                    "name": "Cattle Grid",
+                    "terms": ""
+                },
+                "barrier/city_wall": {
+                    "name": "City Wall",
+                    "terms": ""
+                },
+                "barrier/cycle_barrier": {
+                    "name": "Cycle Barrier",
+                    "terms": ""
+                },
+                "barrier/ditch": {
+                    "name": "Ditch",
+                    "terms": ""
+                },
+                "barrier/entrance": {
+                    "name": "Entrance",
+                    "terms": ""
+                },
+                "barrier/fence": {
+                    "name": "Fence",
+                    "terms": ""
+                },
+                "barrier/gate": {
+                    "name": "Gate",
+                    "terms": ""
+                },
+                "barrier/hedge": {
+                    "name": "Hedge",
+                    "terms": ""
+                },
+                "barrier/kissing_gate": {
+                    "name": "Kissing Gate",
+                    "terms": ""
+                },
+                "barrier/lift_gate": {
+                    "name": "Lift Gate",
+                    "terms": ""
+                },
+                "barrier/retaining_wall": {
+                    "name": "Retaining Wall",
+                    "terms": ""
+                },
+                "barrier/stile": {
+                    "name": "Stile",
+                    "terms": ""
+                },
+                "barrier/toll_booth": {
+                    "name": "Toll Booth",
+                    "terms": ""
+                },
+                "barrier/wall": {
+                    "name": "Wall",
+                    "terms": ""
+                },
+                "boundary/administrative": {
+                    "name": "Administrative Boundary",
+                    "terms": ""
+                },
+                "building": {
+                    "name": "Building",
+                    "terms": ""
+                },
+                "building/apartments": {
+                    "name": "Apartments",
+                    "terms": ""
+                },
+                "building/barn": {
+                    "name": "Barn",
+                    "terms": ""
+                },
+                "building/bunker": {
+                    "name": "Bunker",
+                    "terms": ""
+                },
+                "building/cabin": {
+                    "name": "Cabin",
+                    "terms": ""
+                },
+                "building/cathedral": {
+                    "name": "Cathedral Building",
+                    "terms": ""
+                },
+                "building/chapel": {
+                    "name": "Chapel Building",
+                    "terms": ""
+                },
+                "building/church": {
+                    "name": "Church Building",
+                    "terms": ""
+                },
+                "building/college": {
+                    "name": "College Building",
+                    "terms": "university"
+                },
+                "building/commercial": {
+                    "name": "Commercial Building",
+                    "terms": ""
+                },
+                "building/construction": {
+                    "name": "Building Under Construction",
+                    "terms": ""
+                },
+                "building/detached": {
+                    "name": "Detached House",
+                    "terms": "home,single,family,residence,dwelling"
+                },
+                "building/dormitory": {
+                    "name": "Dormitory",
+                    "terms": ""
+                },
+                "building/entrance": {
+                    "name": "Entrance/Exit",
+                    "terms": ""
+                },
+                "building/garage": {
+                    "name": "Garage",
+                    "terms": ""
+                },
+                "building/garages": {
+                    "name": "Garages",
+                    "terms": ""
+                },
+                "building/greenhouse": {
+                    "name": "Greenhouse",
+                    "terms": ""
+                },
+                "building/hospital": {
+                    "name": "Hospital Building",
+                    "terms": ""
+                },
+                "building/hotel": {
+                    "name": "Hotel Building",
+                    "terms": ""
+                },
+                "building/house": {
+                    "name": "House",
+                    "terms": "home,family,residence,dwelling"
+                },
+                "building/hut": {
+                    "name": "Hut",
+                    "terms": ""
+                },
+                "building/industrial": {
+                    "name": "Industrial Building",
+                    "terms": ""
+                },
+                "building/kindergarten": {
+                    "name": "Preschool/Kindergarten Building",
+                    "terms": "kindergarden,pre-school"
+                },
+                "building/public": {
+                    "name": "Public Building",
+                    "terms": ""
+                },
+                "building/residential": {
+                    "name": "Residential Building",
+                    "terms": ""
+                },
+                "building/retail": {
+                    "name": "Retail Building",
+                    "terms": ""
+                },
+                "building/roof": {
+                    "name": "Roof",
+                    "terms": ""
+                },
+                "building/school": {
+                    "name": "School Building",
+                    "terms": "academy,elementary school,middle school,high school"
+                },
+                "building/semidetached_house": {
+                    "name": "Semi-Detached House",
+                    "terms": "home,double,duplex,twin,family,residence,dwelling"
+                },
+                "building/shed": {
+                    "name": "Shed",
+                    "terms": ""
+                },
+                "building/stable": {
+                    "name": "Stable",
+                    "terms": ""
+                },
+                "building/static_caravan": {
+                    "name": "Static Mobile Home",
+                    "terms": ""
+                },
+                "building/terrace": {
+                    "name": "Row Houses",
+                    "terms": "home,terrace,brownstone,family,residence,dwelling"
+                },
+                "building/train_station": {
+                    "name": "Train Station",
+                    "terms": ""
+                },
+                "building/university": {
+                    "name": "University Building",
+                    "terms": "college"
+                },
+                "building/warehouse": {
+                    "name": "Warehouse",
+                    "terms": ""
+                },
+                "craft": {
+                    "name": "Craft",
+                    "terms": ""
+                },
+                "craft/basket_maker": {
+                    "name": "Basket Maker",
+                    "terms": ""
+                },
+                "craft/beekeeper": {
+                    "name": "Beekeeper",
+                    "terms": ""
+                },
+                "craft/blacksmith": {
+                    "name": "Blacksmith",
+                    "terms": ""
+                },
+                "craft/boatbuilder": {
+                    "name": "Boat Builder",
+                    "terms": ""
+                },
+                "craft/bookbinder": {
+                    "name": "Bookbinder",
+                    "terms": "book repair"
+                },
+                "craft/brewery": {
+                    "name": "Brewery",
+                    "terms": "beer,bier"
+                },
+                "craft/carpenter": {
+                    "name": "Carpenter",
+                    "terms": "woodworker"
+                },
+                "craft/carpet_layer": {
+                    "name": "Carpet Layer",
+                    "terms": ""
+                },
+                "craft/caterer": {
+                    "name": "Caterer",
+                    "terms": ""
+                },
+                "craft/clockmaker": {
+                    "name": "Clockmaker",
+                    "terms": ""
+                },
+                "craft/confectionery": {
+                    "name": "Confectionery",
+                    "terms": "sweets,candy"
+                },
+                "craft/dressmaker": {
+                    "name": "Dressmaker",
+                    "terms": "seamstress"
+                },
+                "craft/electrician": {
+                    "name": "Electrician",
+                    "terms": "power,wire"
+                },
+                "craft/gardener": {
+                    "name": "Gardener",
+                    "terms": "landscaper,grounds keeper"
+                },
+                "craft/glaziery": {
+                    "name": "Glaziery",
+                    "terms": "glass,stained-glass,window"
+                },
+                "craft/handicraft": {
+                    "name": "Handicraft",
+                    "terms": ""
+                },
+                "craft/hvac": {
+                    "name": "HVAC",
+                    "terms": "heat*,vent*,air conditioning"
+                },
+                "craft/insulator": {
+                    "name": "Insulator",
+                    "terms": ""
+                },
+                "craft/jeweler": {
+                    "name": "Jeweler",
+                    "terms": ""
+                },
+                "craft/key_cutter": {
+                    "name": "Key Cutter",
+                    "terms": ""
+                },
+                "craft/locksmith": {
+                    "name": "Locksmith",
+                    "terms": ""
+                },
+                "craft/metal_construction": {
+                    "name": "Metal Construction",
+                    "terms": ""
+                },
+                "craft/optician": {
+                    "name": "Optician",
+                    "terms": ""
+                },
+                "craft/painter": {
+                    "name": "Painter",
+                    "terms": ""
+                },
+                "craft/photographer": {
+                    "name": "Photographer",
+                    "terms": ""
+                },
+                "craft/photographic_laboratory": {
+                    "name": "Photographic Laboratory",
+                    "terms": "film"
+                },
+                "craft/plasterer": {
+                    "name": "Plasterer",
+                    "terms": ""
+                },
+                "craft/plumber": {
+                    "name": "Plumber",
+                    "terms": "pipe"
+                },
+                "craft/pottery": {
+                    "name": "Pottery",
+                    "terms": "ceramic"
+                },
+                "craft/rigger": {
+                    "name": "Rigger",
+                    "terms": ""
+                },
+                "craft/roofer": {
+                    "name": "Roofer",
+                    "terms": ""
+                },
+                "craft/saddler": {
+                    "name": "Saddler",
+                    "terms": ""
+                },
+                "craft/sailmaker": {
+                    "name": "Sailmaker",
+                    "terms": ""
+                },
+                "craft/sawmill": {
+                    "name": "Sawmill",
+                    "terms": "lumber"
+                },
+                "craft/scaffolder": {
+                    "name": "Scaffolder",
+                    "terms": ""
+                },
+                "craft/sculpter": {
+                    "name": "Sculpter",
+                    "terms": ""
+                },
+                "craft/shoemaker": {
+                    "name": "Shoemaker",
+                    "terms": "cobbler"
+                },
+                "craft/stonemason": {
+                    "name": "Stonemason",
+                    "terms": "masonry"
+                },
+                "craft/sweep": {
+                    "name": "Chimney Sweep",
+                    "terms": ""
+                },
+                "craft/tailor": {
+                    "name": "Tailor",
+                    "terms": "clothes,suit"
+                },
+                "craft/tiler": {
+                    "name": "Tiler",
+                    "terms": ""
+                },
+                "craft/tinsmith": {
+                    "name": "Tinsmith",
+                    "terms": ""
+                },
+                "craft/upholsterer": {
+                    "name": "Upholsterer",
+                    "terms": ""
+                },
+                "craft/watchmaker": {
+                    "name": "Watchmaker",
+                    "terms": ""
+                },
+                "craft/window_construction": {
+                    "name": "Window Construction",
+                    "terms": "glass"
+                },
+                "craft/winery": {
+                    "name": "Winery",
+                    "terms": ""
+                },
+                "embankment": {
+                    "name": "Embankment",
+                    "terms": ""
+                },
+                "emergency/ambulance_station": {
+                    "name": "Ambulance Station",
+                    "terms": "EMS,EMT,rescue"
+                },
+                "emergency/fire_hydrant": {
+                    "name": "Fire Hydrant",
+                    "terms": ""
+                },
+                "emergency/phone": {
+                    "name": "Emergency Phone",
+                    "terms": ""
+                },
+                "entrance": {
+                    "name": "Entrance/Exit",
+                    "terms": ""
+                },
+                "footway/crossing": {
+                    "name": "Street Crossing",
+                    "terms": ""
+                },
+                "footway/crosswalk": {
+                    "name": "Pedestrian Crosswalk",
+                    "terms": "zebra crossing"
+                },
+                "footway/sidewalk": {
+                    "name": "Sidewalk",
+                    "terms": ""
+                },
+                "ford": {
+                    "name": "Ford",
+                    "terms": ""
+                },
+                "golf/bunker": {
+                    "name": "Sand Trap",
+                    "terms": "hazard,bunker"
+                },
+                "golf/fairway": {
+                    "name": "Fairway",
+                    "terms": ""
+                },
+                "golf/green": {
+                    "name": "Putting Green",
+                    "terms": ""
+                },
+                "golf/hole": {
+                    "name": "Golf Hole",
+                    "terms": ""
+                },
+                "golf/lateral_water_hazard": {
+                    "name": "Lateral Water Hazard",
+                    "terms": ""
+                },
+                "golf/rough": {
+                    "name": "Rough",
+                    "terms": ""
+                },
+                "golf/tee": {
+                    "name": "Tee Box",
+                    "terms": "teeing ground"
+                },
+                "golf/water_hazard": {
+                    "name": "Water Hazard",
+                    "terms": ""
+                },
+                "highway": {
+                    "name": "Highway",
+                    "terms": ""
+                },
+                "highway/bridleway": {
+                    "name": "Bridle Path",
+                    "terms": "bridleway,equestrian,horse"
+                },
+                "highway/bus_stop": {
+                    "name": "Bus Stop",
+                    "terms": ""
+                },
+                "highway/corridor": {
+                    "name": "Indoor Corridor",
+                    "terms": "gallery,hall,hallway,indoor,passage,passageway"
+                },
+                "highway/crossing": {
+                    "name": "Street Crossing",
+                    "terms": ""
+                },
+                "highway/crosswalk": {
+                    "name": "Pedestrian Crosswalk",
+                    "terms": "zebra crossing"
+                },
+                "highway/cycleway": {
+                    "name": "Cycle Path",
+                    "terms": "bike"
+                },
+                "highway/footway": {
+                    "name": "Foot Path",
+                    "terms": "hike,hiking,trackway,trail,walk"
+                },
+                "highway/living_street": {
+                    "name": "Living Street",
+                    "terms": ""
+                },
+                "highway/mini_roundabout": {
+                    "name": "Mini-Roundabout",
+                    "terms": ""
+                },
+                "highway/motorway": {
+                    "name": "Motorway",
+                    "terms": ""
+                },
+                "highway/motorway_junction": {
+                    "name": "Motorway Junction / Exit",
+                    "terms": ""
+                },
+                "highway/motorway_link": {
+                    "name": "Motorway Link",
+                    "terms": "ramp,on ramp,off ramp"
+                },
+                "highway/path": {
+                    "name": "Path",
+                    "terms": "hike,hiking,trackway,trail,walk"
+                },
+                "highway/pedestrian": {
+                    "name": "Pedestrian Street",
+                    "terms": ""
+                },
+                "highway/primary": {
+                    "name": "Primary Road",
+                    "terms": ""
+                },
+                "highway/primary_link": {
+                    "name": "Primary Link",
+                    "terms": "ramp,on ramp,off ramp"
+                },
+                "highway/raceway": {
+                    "name": "Motor Raceway",
+                    "terms": "auto*,race*,nascar"
+                },
+                "highway/residential": {
+                    "name": "Residential Road",
+                    "terms": ""
+                },
+                "highway/rest_area": {
+                    "name": "Rest Area",
+                    "terms": "rest stop"
+                },
+                "highway/road": {
+                    "name": "Unknown Road",
+                    "terms": ""
+                },
+                "highway/secondary": {
+                    "name": "Secondary Road",
+                    "terms": ""
+                },
+                "highway/secondary_link": {
+                    "name": "Secondary Link",
+                    "terms": "ramp,on ramp,off ramp"
+                },
+                "highway/service": {
+                    "name": "Service Road",
+                    "terms": ""
+                },
+                "highway/service/alley": {
+                    "name": "Alley",
+                    "terms": ""
+                },
+                "highway/service/drive-through": {
+                    "name": "Drive-Through",
+                    "terms": ""
+                },
+                "highway/service/driveway": {
+                    "name": "Driveway",
+                    "terms": ""
+                },
+                "highway/service/emergency_access": {
+                    "name": "Emergency Access",
+                    "terms": ""
+                },
+                "highway/service/parking_aisle": {
+                    "name": "Parking Aisle",
+                    "terms": ""
+                },
+                "highway/services": {
+                    "name": "Service Area",
+                    "terms": "services,travel plaza,service station"
+                },
+                "highway/steps": {
+                    "name": "Steps",
+                    "terms": "stairs,staircase"
+                },
+                "highway/stop": {
+                    "name": "Stop Sign",
+                    "terms": "stop sign"
+                },
+                "highway/street_lamp": {
+                    "name": "Street Lamp",
+                    "terms": "streetlight,street light,lamp,light,gaslight"
+                },
+                "highway/tertiary": {
+                    "name": "Tertiary Road",
+                    "terms": ""
+                },
+                "highway/tertiary_link": {
+                    "name": "Tertiary Link",
+                    "terms": "ramp,on ramp,off ramp"
+                },
+                "highway/track": {
+                    "name": "Track",
+                    "terms": "woods road,fire road"
+                },
+                "highway/traffic_signals": {
+                    "name": "Traffic Signals",
+                    "terms": "light,stoplight,traffic light"
+                },
+                "highway/trunk": {
+                    "name": "Trunk Road",
+                    "terms": ""
+                },
+                "highway/trunk_link": {
+                    "name": "Trunk Link",
+                    "terms": "ramp,on ramp,off ramp"
+                },
+                "highway/turning_circle": {
+                    "name": "Turning Circle",
+                    "terms": "cul-de-sac"
+                },
+                "highway/unclassified": {
+                    "name": "Unclassified Road",
+                    "terms": ""
+                },
+                "historic": {
+                    "name": "Historic Site",
+                    "terms": ""
+                },
+                "historic/archaeological_site": {
+                    "name": "Archaeological Site",
+                    "terms": ""
+                },
+                "historic/boundary_stone": {
+                    "name": "Boundary Stone",
+                    "terms": ""
+                },
+                "historic/castle": {
+                    "name": "Castle",
+                    "terms": ""
+                },
+                "historic/memorial": {
+                    "name": "Memorial",
+                    "terms": ""
+                },
+                "historic/monument": {
+                    "name": "Monument",
+                    "terms": ""
+                },
+                "historic/ruins": {
+                    "name": "Ruins",
+                    "terms": ""
+                },
+                "historic/wayside_cross": {
+                    "name": "Wayside Cross",
+                    "terms": ""
+                },
+                "historic/wayside_shrine": {
+                    "name": "Wayside Shrine",
+                    "terms": ""
+                },
+                "junction": {
+                    "name": "Junction",
+                    "terms": ""
+                },
+                "landuse": {
+                    "name": "Land Use",
+                    "terms": ""
+                },
+                "landuse/allotments": {
+                    "name": "Community Garden",
+                    "terms": "allotment,garden"
+                },
+                "landuse/basin": {
+                    "name": "Basin",
+                    "terms": ""
+                },
+                "landuse/cemetery": {
+                    "name": "Cemetery",
+                    "terms": ""
+                },
+                "landuse/churchyard": {
+                    "name": "Churchyard",
+                    "terms": ""
+                },
+                "landuse/commercial": {
+                    "name": "Commercial Area",
+                    "terms": ""
+                },
+                "landuse/construction": {
+                    "name": "Construction",
+                    "terms": ""
+                },
+                "landuse/farm": {
+                    "name": "Farmland",
+                    "terms": ""
+                },
+                "landuse/farmland": {
+                    "name": "Farmland",
+                    "terms": ""
+                },
+                "landuse/farmyard": {
+                    "name": "Farmyard",
+                    "terms": ""
+                },
+                "landuse/forest": {
+                    "name": "Forest",
+                    "terms": "tree"
+                },
+                "landuse/garages": {
+                    "name": "Garages",
+                    "terms": ""
+                },
+                "landuse/grass": {
+                    "name": "Grass",
+                    "terms": ""
+                },
+                "landuse/industrial": {
+                    "name": "Industrial Area",
+                    "terms": ""
+                },
+                "landuse/landfill": {
+                    "name": "Landfill",
+                    "terms": "dump"
+                },
+                "landuse/meadow": {
+                    "name": "Meadow",
+                    "terms": ""
+                },
+                "landuse/military": {
+                    "name": "Military Area",
+                    "terms": ""
+                },
+                "landuse/orchard": {
+                    "name": "Orchard",
+                    "terms": ""
+                },
+                "landuse/plant_nursery": {
+                    "name": "Plant Nursery",
+                    "terms": "vivero"
+                },
+                "landuse/quarry": {
+                    "name": "Quarry",
+                    "terms": ""
+                },
+                "landuse/residential": {
+                    "name": "Residential Area",
+                    "terms": ""
+                },
+                "landuse/retail": {
+                    "name": "Retail Area",
+                    "terms": ""
+                },
+                "landuse/vineyard": {
+                    "name": "Vineyard",
+                    "terms": ""
+                },
+                "leisure": {
+                    "name": "Leisure",
+                    "terms": ""
+                },
+                "leisure/adult_gaming_centre": {
+                    "name": "Adult Gaming Center",
+                    "terms": "gambling,slot machine"
+                },
+                "leisure/bowling_alley": {
+                    "name": "Bowling Alley",
+                    "terms": ""
+                },
+                "leisure/common": {
+                    "name": "Common",
+                    "terms": "open space"
+                },
+                "leisure/dog_park": {
+                    "name": "Dog Park",
+                    "terms": ""
+                },
+                "leisure/firepit": {
+                    "name": "Firepit",
+                    "terms": "fireplace,campfire"
+                },
+                "leisure/garden": {
+                    "name": "Garden",
+                    "terms": ""
+                },
+                "leisure/golf_course": {
+                    "name": "Golf Course",
+                    "terms": "links"
+                },
+                "leisure/ice_rink": {
+                    "name": "Ice Rink",
+                    "terms": "hockey,skating,curling"
+                },
+                "leisure/marina": {
+                    "name": "Marina",
+                    "terms": "boat"
+                },
+                "leisure/nature_reserve": {
+                    "name": "Nature Reserve",
+                    "terms": "protected,wildlife"
+                },
+                "leisure/park": {
+                    "name": "Park",
+                    "terms": "esplanade,estate,forest,garden,grass,green,grounds,lawn,lot,meadow,parkland,place,playground,plaza,pleasure garden,recreation area,square,tract,village green,woodland"
+                },
+                "leisure/picnic_table": {
+                    "name": "Picnic Table",
+                    "terms": "bench"
+                },
+                "leisure/pitch": {
+                    "name": "Sport Pitch",
+                    "terms": "field"
+                },
+                "leisure/pitch/american_football": {
+                    "name": "American Football Field",
+                    "terms": ""
+                },
+                "leisure/pitch/baseball": {
+                    "name": "Baseball Diamond",
+                    "terms": ""
+                },
+                "leisure/pitch/basketball": {
+                    "name": "Basketball Court",
+                    "terms": ""
+                },
+                "leisure/pitch/rugby_league": {
+                    "name": "Rugby League Field",
+                    "terms": ""
+                },
+                "leisure/pitch/rugby_union": {
+                    "name": "Rugby Union Field",
+                    "terms": ""
+                },
+                "leisure/pitch/skateboard": {
+                    "name": "Skate Park",
+                    "terms": ""
+                },
+                "leisure/pitch/soccer": {
+                    "name": "Soccer Field",
+                    "terms": ""
+                },
+                "leisure/pitch/tennis": {
+                    "name": "Tennis Court",
+                    "terms": ""
+                },
+                "leisure/pitch/volleyball": {
+                    "name": "Volleyball Court",
+                    "terms": ""
+                },
+                "leisure/playground": {
+                    "name": "Playground",
+                    "terms": "jungle gym,play area"
+                },
+                "leisure/running_track": {
+                    "name": "Running Track",
+                    "terms": ""
+                },
+                "leisure/slipway": {
+                    "name": "Slipway",
+                    "terms": "boat launch,boat ramp"
+                },
+                "leisure/sports_center": {
+                    "name": "Sports Center / Gym",
+                    "terms": "gym"
+                },
+                "leisure/stadium": {
+                    "name": "Stadium",
+                    "terms": ""
+                },
+                "leisure/swimming_pool": {
+                    "name": "Swimming Pool",
+                    "terms": ""
+                },
+                "leisure/track": {
+                    "name": "Racetrack (non-Motorsport)",
+                    "terms": ""
+                },
+                "line": {
+                    "name": "Line",
+                    "terms": ""
+                },
+                "man_made": {
+                    "name": "Man Made",
+                    "terms": ""
+                },
+                "man_made/adit": {
+                    "name": "Adit",
+                    "terms": "entrance,underground,mine,cave"
+                },
+                "man_made/breakwater": {
+                    "name": "Breakwater",
+                    "terms": ""
+                },
+                "man_made/cutline": {
+                    "name": "Cut line",
+                    "terms": ""
+                },
+                "man_made/embankment": {
+                    "name": "Embankment",
+                    "terms": ""
+                },
+                "man_made/flagpole": {
+                    "name": "Flagpole",
+                    "terms": ""
+                },
+                "man_made/lighthouse": {
+                    "name": "Lighthouse",
+                    "terms": ""
+                },
+                "man_made/mast": {
+                    "name": "Radio Mast",
+                    "terms": "broadcast tower,cell phone tower,cell tower,guyed tower,mobile phone tower,radio tower,television tower,transmission mast,transmission tower,tv tower"
+                },
+                "man_made/observation": {
+                    "name": "Observation Tower",
+                    "terms": "lookout tower,fire tower"
+                },
+                "man_made/petroleum_well": {
+                    "name": "Oil Well",
+                    "terms": "drilling rig,oil derrick,oil drill,oil horse,oil rig,oil pump,petroleum well,pumpjack"
+                },
+                "man_made/pier": {
+                    "name": "Pier",
+                    "terms": ""
+                },
+                "man_made/pipeline": {
+                    "name": "Pipeline",
+                    "terms": ""
+                },
+                "man_made/silo": {
+                    "name": "Silo",
+                    "terms": "grain,corn,wheat"
+                },
+                "man_made/storage_tank": {
+                    "name": "Storage Tank",
+                    "terms": "water,oil,gas,petrol"
+                },
+                "man_made/survey_point": {
+                    "name": "Survey Point",
+                    "terms": ""
+                },
+                "man_made/tower": {
+                    "name": "Tower",
+                    "terms": ""
+                },
+                "man_made/wastewater_plant": {
+                    "name": "Wastewater Plant",
+                    "terms": "sewage*,water treatment plant,reclamation plant"
+                },
+                "man_made/water_tower": {
+                    "name": "Water Tower",
+                    "terms": ""
+                },
+                "man_made/water_well": {
+                    "name": "Water Well",
+                    "terms": ""
+                },
+                "man_made/water_works": {
+                    "name": "Water Works",
+                    "terms": ""
+                },
+                "military/airfield": {
+                    "name": "Airfield",
+                    "terms": ""
+                },
+                "military/barracks": {
+                    "name": "Barracks",
+                    "terms": ""
+                },
+                "military/bunker": {
+                    "name": "Bunker",
+                    "terms": ""
+                },
+                "military/checkpoint": {
+                    "name": "Checkpoint",
+                    "terms": ""
+                },
+                "military/danger_area": {
+                    "name": "Danger Area",
+                    "terms": ""
+                },
+                "military/naval_base": {
+                    "name": "Naval Base",
+                    "terms": ""
+                },
+                "military/obstacle_course": {
+                    "name": "Obstacle Course",
+                    "terms": ""
+                },
+                "military/range": {
+                    "name": "Military Range",
+                    "terms": ""
+                },
+                "military/training_area": {
+                    "name": "Training area",
+                    "terms": ""
+                },
+                "natural": {
+                    "name": "Natural",
+                    "terms": ""
+                },
+                "natural/bay": {
+                    "name": "Bay",
+                    "terms": ""
+                },
+                "natural/beach": {
+                    "name": "Beach",
+                    "terms": ""
+                },
+                "natural/cave_entrance": {
+                    "name": "Cave Entrance",
+                    "terms": "cavern,hollow,grotto,shelter,cavity"
+                },
+                "natural/cliff": {
+                    "name": "Cliff",
+                    "terms": ""
+                },
+                "natural/coastline": {
+                    "name": "Coastline",
+                    "terms": "shore"
+                },
+                "natural/fell": {
+                    "name": "Fell",
+                    "terms": ""
+                },
+                "natural/glacier": {
+                    "name": "Glacier",
+                    "terms": ""
+                },
+                "natural/grassland": {
+                    "name": "Grassland",
+                    "terms": ""
+                },
+                "natural/heath": {
+                    "name": "Heath",
+                    "terms": ""
+                },
+                "natural/peak": {
+                    "name": "Peak",
+                    "terms": "acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top"
+                },
+                "natural/saddle": {
+                    "name": "Saddle",
+                    "terms": "pass,mountain pass,top"
+                },
+                "natural/scree": {
+                    "name": "Scree",
+                    "terms": "loose rocks"
+                },
+                "natural/scrub": {
+                    "name": "Scrub",
+                    "terms": "bush,shrubs"
+                },
+                "natural/spring": {
+                    "name": "Spring",
+                    "terms": ""
+                },
+                "natural/tree": {
+                    "name": "Tree",
+                    "terms": ""
+                },
+                "natural/tree_row": {
+                    "name": "Tree row",
+                    "terms": ""
+                },
+                "natural/volcano": {
+                    "name": "Volcano",
+                    "terms": "mountain,crater"
+                },
+                "natural/water": {
+                    "name": "Water",
+                    "terms": ""
+                },
+                "natural/water/lake": {
+                    "name": "Lake",
+                    "terms": "lakelet,loch,mere"
+                },
+                "natural/water/pond": {
+                    "name": "Pond",
+                    "terms": "lakelet,millpond,tarn,pool,mere"
+                },
+                "natural/water/reservoir": {
+                    "name": "Reservoir",
+                    "terms": ""
+                },
+                "natural/wetland": {
+                    "name": "Wetland",
+                    "terms": ""
+                },
+                "natural/wood": {
+                    "name": "Wood",
+                    "terms": "tree"
+                },
+                "office": {
+                    "name": "Office",
+                    "terms": ""
+                },
+                "office/accountant": {
+                    "name": "Accountant",
+                    "terms": ""
+                },
+                "office/administrative": {
+                    "name": "Administrative Office",
+                    "terms": ""
+                },
+                "office/architect": {
+                    "name": "Architect",
+                    "terms": ""
+                },
+                "office/company": {
+                    "name": "Company Office",
+                    "terms": ""
+                },
+                "office/educational_institution": {
+                    "name": "Educational Institution",
+                    "terms": ""
+                },
+                "office/employment_agency": {
+                    "name": "Employment Agency",
+                    "terms": "job"
+                },
+                "office/estate_agent": {
+                    "name": "Real Estate Office",
+                    "terms": ""
+                },
+                "office/financial": {
+                    "name": "Financial Office",
+                    "terms": ""
+                },
+                "office/government": {
+                    "name": "Government Office",
+                    "terms": ""
+                },
+                "office/insurance": {
+                    "name": "Insurance Office",
+                    "terms": ""
+                },
+                "office/it": {
+                    "name": "IT Office",
+                    "terms": ""
+                },
+                "office/lawyer": {
+                    "name": "Law Office",
+                    "terms": ""
+                },
+                "office/newspaper": {
+                    "name": "Newspaper",
+                    "terms": ""
+                },
+                "office/ngo": {
+                    "name": "NGO Office",
+                    "terms": ""
+                },
+                "office/physician": {
+                    "name": "Physician",
+                    "terms": ""
+                },
+                "office/political_party": {
+                    "name": "Political Party",
+                    "terms": ""
+                },
+                "office/research": {
+                    "name": "Research Office",
+                    "terms": ""
+                },
+                "office/telecommunication": {
+                    "name": "Telecom Office",
+                    "terms": ""
+                },
+                "office/therapist": {
+                    "name": "Therapist",
+                    "terms": ""
+                },
+                "office/travel_agent": {
+                    "name": "Travel Agency",
+                    "terms": ""
+                },
+                "piste": {
+                    "name": "Piste/Ski Trail",
+                    "terms": "ski,sled,sleigh,snowboard,nordic,downhill,snowmobile"
+                },
+                "place": {
+                    "name": "Place",
+                    "terms": ""
+                },
+                "place/city": {
+                    "name": "City",
+                    "terms": ""
+                },
+                "place/farm": {
+                    "name": "Farm",
+                    "terms": ""
+                },
+                "place/hamlet": {
+                    "name": "Hamlet",
+                    "terms": ""
+                },
+                "place/island": {
+                    "name": "Island",
+                    "terms": "archipelago,atoll,bar,cay,isle,islet,key,reef"
+                },
+                "place/isolated_dwelling": {
+                    "name": "Isolated Dwelling",
+                    "terms": ""
+                },
+                "place/locality": {
+                    "name": "Locality",
+                    "terms": ""
+                },
+                "place/neighbourhood": {
+                    "name": "Neighborhood",
+                    "terms": "neighbourhood"
+                },
+                "place/suburb": {
+                    "name": "Borough",
+                    "terms": "Boro,Quarter"
+                },
+                "place/town": {
+                    "name": "Town",
+                    "terms": ""
+                },
+                "place/village": {
+                    "name": "Village",
+                    "terms": ""
+                },
+                "point": {
+                    "name": "Point",
+                    "terms": ""
+                },
+                "power": {
+                    "name": "Power",
+                    "terms": ""
+                },
+                "power/generator": {
+                    "name": "Power Generator",
+                    "terms": ""
+                },
+                "power/line": {
+                    "name": "Power Line",
+                    "terms": ""
+                },
+                "power/minor_line": {
+                    "name": "Minor Power Line",
+                    "terms": ""
+                },
+                "power/pole": {
+                    "name": "Power Pole",
+                    "terms": ""
+                },
+                "power/sub_station": {
+                    "name": "Substation",
+                    "terms": ""
+                },
+                "power/substation": {
+                    "name": "Substation",
+                    "terms": ""
+                },
+                "power/tower": {
+                    "name": "High-Voltage Tower",
+                    "terms": ""
+                },
+                "power/transformer": {
+                    "name": "Transformer",
+                    "terms": ""
+                },
+                "public_transport/platform": {
+                    "name": "Platform",
+                    "terms": ""
+                },
+                "public_transport/stop_position": {
+                    "name": "Stop Position",
+                    "terms": ""
+                },
+                "railway": {
+                    "name": "Railway",
+                    "terms": ""
+                },
+                "railway/abandoned": {
+                    "name": "Abandoned Railway",
+                    "terms": ""
+                },
+                "railway/disused": {
+                    "name": "Disused Railway",
+                    "terms": ""
+                },
+                "railway/funicular": {
+                    "name": "Funicular",
+                    "terms": "venicular,cliff railway,cable car,cable railway,funicular railway"
+                },
+                "railway/halt": {
+                    "name": "Railway Halt",
+                    "terms": "break,interrupt,rest,wait,interruption"
+                },
+                "railway/level_crossing": {
+                    "name": "Railway Crossing",
+                    "terms": "crossing,railroad crossing,level crossing,grade crossing,road through railroad,train crossing"
+                },
+                "railway/monorail": {
+                    "name": "Monorail",
+                    "terms": ""
+                },
+                "railway/narrow_gauge": {
+                    "name": "Narrow Gauge Rail",
+                    "terms": "narrow gauge railway,narrow gauge railroad"
+                },
+                "railway/platform": {
+                    "name": "Railway Platform",
+                    "terms": ""
+                },
+                "railway/rail": {
+                    "name": "Rail",
+                    "terms": ""
+                },
+                "railway/station": {
+                    "name": "Railway Station",
+                    "terms": "train station,station"
+                },
+                "railway/subway": {
+                    "name": "Subway",
+                    "terms": ""
+                },
+                "railway/subway_entrance": {
+                    "name": "Subway Entrance",
+                    "terms": ""
+                },
+                "railway/tram": {
+                    "name": "Tram",
+                    "terms": "streetcar"
+                },
+                "relation": {
+                    "name": "Relation",
+                    "terms": ""
+                },
+                "roundabout": {
+                    "name": "Roundabout",
+                    "terms": ""
+                },
+                "route/ferry": {
+                    "name": "Ferry Route",
+                    "terms": ""
+                },
+                "shop": {
+                    "name": "Shop",
+                    "terms": ""
+                },
+                "shop/alcohol": {
+                    "name": "Liquor Store",
+                    "terms": "alcohol,beer,booze,wine"
+                },
+                "shop/anime": {
+                    "name": "Anime Shop",
+                    "terms": ""
+                },
+                "shop/antiques": {
+                    "name": "Antiques Shop",
+                    "terms": ""
+                },
+                "shop/art": {
+                    "name": "Art Gallery",
+                    "terms": ""
+                },
+                "shop/baby_goods": {
+                    "name": "Baby Goods Store",
+                    "terms": ""
+                },
+                "shop/bag": {
+                    "name": "Bag/Luggage Store",
+                    "terms": "handbag,purse"
+                },
+                "shop/bakery": {
+                    "name": "Bakery",
+                    "terms": ""
+                },
+                "shop/bathroom_furnishing": {
+                    "name": "Bathroom Furnishing Store",
+                    "terms": ""
+                },
+                "shop/beauty": {
+                    "name": "Beauty Shop",
+                    "terms": "nail spa,spa,salon,tanning"
+                },
+                "shop/bed": {
+                    "name": "Bedding/Mattress Store",
+                    "terms": ""
+                },
+                "shop/beverages": {
+                    "name": "Beverage Store",
+                    "terms": ""
+                },
+                "shop/bicycle": {
+                    "name": "Bicycle Shop",
+                    "terms": ""
+                },
+                "shop/bookmaker": {
+                    "name": "Bookmaker",
+                    "terms": ""
+                },
+                "shop/books": {
+                    "name": "Book Store",
+                    "terms": ""
+                },
+                "shop/boutique": {
+                    "name": "Boutique",
+                    "terms": ""
+                },
+                "shop/butcher": {
+                    "name": "Butcher",
+                    "terms": "meat"
+                },
+                "shop/candles": {
+                    "name": "Candle Shop",
+                    "terms": ""
+                },
+                "shop/car": {
+                    "name": "Car Dealership",
+                    "terms": "auto"
+                },
+                "shop/car_parts": {
+                    "name": "Car Parts Store",
+                    "terms": "auto"
+                },
+                "shop/car_repair": {
+                    "name": "Car Repair Shop",
+                    "terms": "auto"
+                },
+                "shop/carpet": {
+                    "name": "Carpet Store",
+                    "terms": "rug"
+                },
+                "shop/cheese": {
+                    "name": "Cheese Store",
+                    "terms": ""
+                },
+                "shop/chemist": {
+                    "name": "Chemist",
+                    "terms": ""
+                },
+                "shop/chocolate": {
+                    "name": "Chocolate Store",
+                    "terms": ""
+                },
+                "shop/clothes": {
+                    "name": "Clothing Store",
+                    "terms": ""
+                },
+                "shop/computer": {
+                    "name": "Computer Store",
+                    "terms": ""
+                },
+                "shop/confectionery": {
+                    "name": "Candy Store",
+                    "terms": ""
+                },
+                "shop/convenience": {
+                    "name": "Convenience Store",
+                    "terms": ""
+                },
+                "shop/copyshop": {
+                    "name": "Copy Store",
+                    "terms": ""
+                },
+                "shop/cosmetics": {
+                    "name": "Cosmetics Store",
+                    "terms": ""
+                },
+                "shop/craft": {
+                    "name": "Arts and Crafts Store",
+                    "terms": ""
+                },
+                "shop/curtain": {
+                    "name": "Curtain Store",
+                    "terms": "drape*,window"
+                },
+                "shop/dairy": {
+                    "name": "Dairy Store",
+                    "terms": "milk,egg,cheese"
+                },
+                "shop/deli": {
+                    "name": "Deli",
+                    "terms": "lunch,meat,sandwich"
+                },
+                "shop/department_store": {
+                    "name": "Department Store",
+                    "terms": ""
+                },
+                "shop/doityourself": {
+                    "name": "DIY Store",
+                    "terms": ""
+                },
+                "shop/dry_cleaning": {
+                    "name": "Dry Cleaner",
+                    "terms": ""
+                },
+                "shop/electronics": {
+                    "name": "Electronics Store",
+                    "terms": "appliance,audio,computer,tv"
+                },
+                "shop/erotic": {
+                    "name": "Erotic Store",
+                    "terms": "sex,porn"
+                },
+                "shop/fabric": {
+                    "name": "Fabric Store",
+                    "terms": "sew"
+                },
+                "shop/farm": {
+                    "name": "Produce Stand",
+                    "terms": "farm shop,farm stand"
+                },
+                "shop/fashion": {
+                    "name": "Fashion Store",
+                    "terms": ""
+                },
+                "shop/fishmonger": {
+                    "name": "Fishmonger",
+                    "terms": ""
+                },
+                "shop/florist": {
+                    "name": "Florist",
+                    "terms": "flower"
+                },
+                "shop/frame": {
+                    "name": "Framing Shop",
+                    "terms": ""
+                },
+                "shop/funeral_directors": {
+                    "name": "Funeral Home",
+                    "terms": "undertaker,memorial home"
+                },
+                "shop/furnace": {
+                    "name": "Furnace Store",
+                    "terms": "oven,stove"
+                },
+                "shop/furniture": {
+                    "name": "Furniture Store",
+                    "terms": "chair,sofa,table"
+                },
+                "shop/garden_centre": {
+                    "name": "Garden Center",
+                    "terms": "landscape,mulch,shrub,tree"
+                },
+                "shop/gift": {
+                    "name": "Gift Shop",
+                    "terms": ""
+                },
+                "shop/greengrocer": {
+                    "name": "Greengrocer",
+                    "terms": "fruit,vegetable"
+                },
+                "shop/hairdresser": {
+                    "name": "Hairdresser",
+                    "terms": ""
+                },
+                "shop/hardware": {
+                    "name": "Hardware Store",
+                    "terms": ""
+                },
+                "shop/hearing_aids": {
+                    "name": "Hearing Aids Store",
+                    "terms": ""
+                },
+                "shop/herbalist": {
+                    "name": "Herbalist",
+                    "terms": ""
+                },
+                "shop/hifi": {
+                    "name": "Hifi Store",
+                    "terms": "stereo,video"
+                },
+                "shop/houseware": {
+                    "name": "Houseware Store",
+                    "terms": "home,household"
+                },
+                "shop/interior_decoration": {
+                    "name": "Interior Decoration Store",
+                    "terms": ""
+                },
+                "shop/jewelry": {
+                    "name": "Jeweler",
+                    "terms": "diamond,gem,ring"
+                },
+                "shop/kiosk": {
+                    "name": "News Kiosk",
+                    "terms": ""
+                },
+                "shop/kitchen": {
+                    "name": "Kitchen Design Store",
+                    "terms": ""
+                },
+                "shop/laundry": {
+                    "name": "Laundry",
+                    "terms": ""
+                },
+                "shop/leather": {
+                    "name": "Leather Store",
+                    "terms": ""
+                },
+                "shop/locksmith": {
+                    "name": "Locksmith",
+                    "terms": "key,lockpick"
+                },
+                "shop/lottery": {
+                    "name": "Lottery Shop",
+                    "terms": ""
+                },
+                "shop/mall": {
+                    "name": "Mall",
+                    "terms": ""
+                },
+                "shop/massage": {
+                    "name": "Massage Shop",
+                    "terms": ""
+                },
+                "shop/medical_supply": {
+                    "name": "Medical Supply Store",
+                    "terms": ""
+                },
+                "shop/mobile_phone": {
+                    "name": "Mobile Phone Store",
+                    "terms": ""
+                },
+                "shop/money_lender": {
+                    "name": "Money Lender",
+                    "terms": ""
+                },
+                "shop/motorcycle": {
+                    "name": "Motorcycle Dealership",
+                    "terms": ""
+                },
+                "shop/music": {
+                    "name": "Music Store",
+                    "terms": "CD,vinyl"
+                },
+                "shop/musical_instrument": {
+                    "name": "Musical Instrument Store",
+                    "terms": ""
+                },
+                "shop/newsagent": {
+                    "name": "Newspaper/Magazine Shop",
+                    "terms": ""
+                },
+                "shop/optician": {
+                    "name": "Optician",
+                    "terms": "eye,glasses"
+                },
+                "shop/organic": {
+                    "name": "Organic Goods Store",
+                    "terms": ""
+                },
+                "shop/outdoor": {
+                    "name": "Outdoors Store",
+                    "terms": "camping,climbing,hiking"
+                },
+                "shop/paint": {
+                    "name": "Paint Store",
+                    "terms": ""
+                },
+                "shop/pawnbroker": {
+                    "name": "Pawn Shop",
+                    "terms": ""
+                },
+                "shop/pet": {
+                    "name": "Pet Store",
+                    "terms": "cat,dog,fish"
+                },
+                "shop/photo": {
+                    "name": "Photography Store",
+                    "terms": "camera,film"
+                },
+                "shop/pyrotechnics": {
+                    "name": "Fireworks Store",
+                    "terms": ""
+                },
+                "shop/radiotechnics": {
+                    "name": "Radio/Electronic Component Store",
+                    "terms": ""
+                },
+                "shop/religion": {
+                    "name": "Religious Store",
+                    "terms": ""
+                },
+                "shop/scuba_diving": {
+                    "name": "Scuba Diving Shop",
+                    "terms": ""
+                },
+                "shop/seafood": {
+                    "name": "Seafood Shop",
+                    "terms": "fishmonger"
+                },
+                "shop/second_hand": {
+                    "name": "Consignment/Thrift Store",
+                    "terms": "secondhand,second hand,resale,thrift,used"
+                },
+                "shop/shoes": {
+                    "name": "Shoe Store",
+                    "terms": ""
+                },
+                "shop/sports": {
+                    "name": "Sporting Goods Store",
+                    "terms": ""
+                },
+                "shop/stationery": {
+                    "name": "Stationery Store",
+                    "terms": "card,paper"
+                },
+                "shop/supermarket": {
+                    "name": "Supermarket",
+                    "terms": "grocery,store,shop"
+                },
+                "shop/tailor": {
+                    "name": "Tailor",
+                    "terms": "clothes,suit"
+                },
+                "shop/tattoo": {
+                    "name": "Tattoo Parlor",
+                    "terms": ""
+                },
+                "shop/tea": {
+                    "name": "Tea Store",
+                    "terms": ""
+                },
+                "shop/ticket": {
+                    "name": "Ticket Seller",
+                    "terms": ""
+                },
+                "shop/tobacco": {
+                    "name": "Tobacco Shop",
+                    "terms": ""
+                },
+                "shop/toys": {
+                    "name": "Toy Store",
+                    "terms": ""
+                },
+                "shop/travel_agency": {
+                    "name": "Travel Agency",
+                    "terms": ""
+                },
+                "shop/tyres": {
+                    "name": "Tire Store",
+                    "terms": ""
+                },
+                "shop/vacant": {
+                    "name": "Vacant Shop",
+                    "terms": ""
+                },
+                "shop/vacuum_cleaner": {
+                    "name": "Vacuum Cleaner Store",
+                    "terms": ""
+                },
+                "shop/variety_store": {
+                    "name": "Variety Store",
+                    "terms": ""
+                },
+                "shop/video": {
+                    "name": "Video Store",
+                    "terms": "DVD"
+                },
+                "shop/video_games": {
+                    "name": "Video Game Store",
+                    "terms": ""
+                },
+                "shop/water_sports": {
+                    "name": "Watersport/Swim Shop",
+                    "terms": ""
+                },
+                "shop/weapons": {
+                    "name": "Weapon Shop",
+                    "terms": "ammo,gun,knife,knives"
+                },
+                "shop/window_blind": {
+                    "name": "Window Blind Store",
+                    "terms": ""
+                },
+                "shop/wine": {
+                    "name": "Wine Shop",
+                    "terms": ""
+                },
+                "tourism": {
+                    "name": "Tourism",
+                    "terms": ""
+                },
+                "tourism/alpine_hut": {
+                    "name": "Alpine Hut",
+                    "terms": ""
+                },
+                "tourism/artwork": {
+                    "name": "Artwork",
+                    "terms": "mural,sculpture,statue"
+                },
+                "tourism/attraction": {
+                    "name": "Tourist Attraction",
+                    "terms": ""
+                },
+                "tourism/camp_site": {
+                    "name": "Camp Site",
+                    "terms": "Tent"
+                },
+                "tourism/caravan_site": {
+                    "name": "RV Park",
+                    "terms": "Motor Home,Camper"
+                },
+                "tourism/chalet": {
+                    "name": "Chalet",
+                    "terms": ""
+                },
+                "tourism/guest_house": {
+                    "name": "Guest House",
+                    "terms": "B&B,Bed and Breakfast"
+                },
+                "tourism/hostel": {
+                    "name": "Hostel",
+                    "terms": ""
+                },
+                "tourism/hotel": {
+                    "name": "Hotel",
+                    "terms": ""
+                },
+                "tourism/information": {
+                    "name": "Information",
+                    "terms": ""
+                },
+                "tourism/motel": {
+                    "name": "Motel",
+                    "terms": ""
+                },
+                "tourism/museum": {
+                    "name": "Museum",
+                    "terms": "exhibition,foundation,gallery,hall,institution"
+                },
+                "tourism/picnic_site": {
+                    "name": "Picnic Site",
+                    "terms": "camp"
+                },
+                "tourism/theme_park": {
+                    "name": "Theme Park",
+                    "terms": ""
+                },
+                "tourism/viewpoint": {
+                    "name": "Viewpoint",
+                    "terms": ""
+                },
+                "tourism/zoo": {
+                    "name": "Zoo",
+                    "terms": ""
+                },
+                "traffic_calming/bump": {
+                    "name": "Speed Bump",
+                    "terms": "speed hump"
+                },
+                "traffic_calming/hump": {
+                    "name": "Speed Hump",
+                    "terms": "speed bump"
+                },
+                "traffic_calming/rumble_strip": {
+                    "name": "Rumble Strip",
+                    "terms": "sleeper lines,audible lines,growlers"
+                },
+                "traffic_calming/table": {
+                    "name": "Raised Pedestrian Crossing",
+                    "terms": "speed table,flat top hump"
+                },
+                "type/boundary": {
+                    "name": "Boundary",
+                    "terms": ""
+                },
+                "type/boundary/administrative": {
+                    "name": "Administrative Boundary",
+                    "terms": ""
+                },
+                "type/multipolygon": {
+                    "name": "Multipolygon",
+                    "terms": ""
+                },
+                "type/restriction": {
+                    "name": "Restriction",
+                    "terms": ""
+                },
+                "type/restriction/no_left_turn": {
+                    "name": "No Left Turn",
+                    "terms": ""
+                },
+                "type/restriction/no_right_turn": {
+                    "name": "No Right Turn",
+                    "terms": ""
+                },
+                "type/restriction/no_straight_on": {
+                    "name": "No Straight On",
+                    "terms": ""
+                },
+                "type/restriction/no_u_turn": {
+                    "name": "No U-turn",
+                    "terms": ""
+                },
+                "type/restriction/only_left_turn": {
+                    "name": "Left Turn Only",
+                    "terms": ""
+                },
+                "type/restriction/only_right_turn": {
+                    "name": "Right Turn Only",
+                    "terms": ""
+                },
+                "type/restriction/only_straight_on": {
+                    "name": "No Turns",
+                    "terms": ""
+                },
+                "type/route": {
+                    "name": "Route",
+                    "terms": ""
+                },
+                "type/route/bicycle": {
+                    "name": "Cycle Route",
+                    "terms": ""
+                },
+                "type/route/bus": {
+                    "name": "Bus Route",
+                    "terms": ""
+                },
+                "type/route/detour": {
+                    "name": "Detour Route",
+                    "terms": ""
+                },
+                "type/route/ferry": {
+                    "name": "Ferry Route",
+                    "terms": ""
+                },
+                "type/route/foot": {
+                    "name": "Foot Route",
+                    "terms": ""
+                },
+                "type/route/hiking": {
+                    "name": "Hiking Route",
+                    "terms": ""
+                },
+                "type/route/pipeline": {
+                    "name": "Pipeline Route",
+                    "terms": ""
+                },
+                "type/route/power": {
+                    "name": "Power Route",
+                    "terms": ""
+                },
+                "type/route/road": {
+                    "name": "Road Route",
+                    "terms": ""
+                },
+                "type/route/train": {
+                    "name": "Train Route",
+                    "terms": ""
+                },
+                "type/route/tram": {
+                    "name": "Tram Route",
+                    "terms": ""
+                },
+                "type/route_master": {
+                    "name": "Route Master",
+                    "terms": ""
+                },
+                "vertex": {
+                    "name": "Other",
+                    "terms": ""
+                },
+                "waterway": {
+                    "name": "Waterway",
+                    "terms": ""
+                },
+                "waterway/canal": {
+                    "name": "Canal",
+                    "terms": ""
+                },
+                "waterway/dam": {
+                    "name": "Dam",
+                    "terms": ""
+                },
+                "waterway/ditch": {
+                    "name": "Ditch",
+                    "terms": ""
+                },
+                "waterway/drain": {
+                    "name": "Drain",
+                    "terms": ""
+                },
+                "waterway/fuel": {
+                    "name": "Marine Fuel Station",
+                    "terms": "petrol,gas,diesel,boat"
+                },
+                "waterway/river": {
+                    "name": "River",
+                    "terms": "beck,branch,brook,course,creek,estuary,rill,rivulet,run,runnel,stream,tributary,watercourse"
+                },
+                "waterway/riverbank": {
+                    "name": "Riverbank",
+                    "terms": ""
+                },
+                "waterway/sanitary_dump_station": {
+                    "name": "Marine Toilet Disposal",
+                    "terms": "Boat,Watercraft,Sanitary,Dump Station,Pumpout,Pump out,Elsan,CDP,CTDP,Chemical Toilet"
+                },
+                "waterway/stream": {
+                    "name": "Stream",
+                    "terms": "beck,branch,brook,burn,course,creek,current,drift,flood,flow,freshet,race,rill,rindle,rivulet,run,runnel,rush,spate,spritz,surge,tide,torrent,tributary,watercourse"
+                },
+                "waterway/weir": {
+                    "name": "Weir",
+                    "terms": ""
+                }
+            }
+        }
+    },
+    "suggestions": {
+        "amenity": {
+            "fuel": {
+                "76": {
+                    "count": 314
+                },
+                "Neste": {
+                    "count": 189
+                },
+                "BP": {
+                    "count": 2511
+                },
+                "Shell": {
+                    "count": 8380
+                },
+                "Agip": {
+                    "count": 2651
+                },
+                "Migrol": {
+                    "count": 65
+                },
+                "Avia": {
+                    "count": 897
+                },
+                "Texaco": {
+                    "count": 680
+                },
+                "Total": {
+                    "count": 2607
+                },
+                "Statoil": {
+                    "count": 596
+                },
+                "Esso": {
+                    "count": 3652
+                },
+                "Jet": {
+                    "count": 441
+                },
+                "Avanti": {
+                    "count": 90
+                },
+                "Sainsbury's": {
+                    "count": 58
+                },
+                "OMV": {
+                    "count": 701
+                },
+                "Aral": {
+                    "count": 1339
+                },
+                "Tesco": {
+                    "count": 197
+                },
+                "JET": {
+                    "count": 180
+                },
+                "Morrisons": {
+                    "count": 111
+                },
+                "United": {
+                    "count": 91
+                },
+                "Canadian Tire": {
+                    "count": 66
+                },
+                "Mobil": {
+                    "count": 613
+                },
+                "Caltex": {
+                    "count": 1001
+                },
+                "Sunoco": {
+                    "count": 355
+                },
+                "Q8": {
+                    "count": 1161
+                },
+                "ABC": {
+                    "count": 79
+                },
+                "ARAL": {
+                    "count": 375
+                },
+                "CEPSA": {
+                    "count": 1018
+                },
+                "BFT": {
+                    "count": 89
+                },
+                "Petron": {
+                    "count": 878
+                },
+                "Intermarché": {
+                    "count": 434
+                },
+                "Total Access": {
+                    "count": 51
+                },
+                "Super U": {
+                    "count": 124
+                },
+                "Auchan": {
+                    "count": 53
+                },
+                "Elf": {
+                    "count": 129
+                },
+                "Carrefour": {
+                    "count": 205
+                },
+                "Station Service E. Leclerc": {
+                    "count": 530
+                },
+                "Shell Express": {
+                    "count": 131
+                },
+                "Hess": {
+                    "count": 127
+                },
+                "Flying V": {
+                    "count": 129
+                },
+                "bft": {
+                    "count": 168
+                },
+                "Gulf": {
+                    "count": 199
+                },
+                "PTT": {
+                    "count": 191
+                },
+                "St1": {
+                    "count": 100
+                },
+                "Teboil": {
+                    "count": 115
+                },
+                "HEM": {
+                    "count": 212
+                },
+                "GALP": {
+                    "count": 626
+                },
+                "OK": {
+                    "count": 163
+                },
+                "ÖMV": {
+                    "count": 101
+                },
+                "Tinq": {
+                    "count": 215
+                },
+                "OKQ8": {
+                    "count": 186
+                },
+                "Repsol": {
+                    "count": 424
+                },
+                "Westfalen": {
+                    "count": 96
+                },
+                "Esso Express": {
+                    "count": 98
+                },
+                "Raiffeisenbank": {
+                    "count": 117
+                },
+                "Tamoil": {
+                    "count": 866
+                },
+                "Engen": {
+                    "count": 241
+                },
+                "Sasol": {
+                    "count": 59
+                },
+                "Topaz": {
+                    "count": 78
+                },
+                "LPG": {
+                    "count": 174
+                },
+                "Coop": {
+                    "count": 62
+                },
+                "Orlen": {
+                    "count": 598
+                },
+                "Oilibya": {
+                    "count": 68
+                },
+                "Tango": {
+                    "count": 122
+                },
+                "Star": {
+                    "count": 319
+                },
+                "Петрол": {
+                    "count": 84
+                },
+                "Cepsa": {
+                    "count": 96
+                },
+                "OIL!": {
+                    "count": 63
+                },
+                "Ultramar": {
+                    "count": 125
+                },
+                "Irving": {
+                    "count": 87
+                },
+                "Lukoil": {
+                    "count": 701
+                },
+                "Petro-Canada": {
+                    "count": 489
+                },
+                "7-Eleven": {
+                    "count": 488
+                },
+                "Agrola": {
+                    "count": 69
+                },
+                "Husky": {
+                    "count": 126
+                },
+                "Slovnaft": {
+                    "count": 219
+                },
+                "Sheetz": {
+                    "count": 134
+                },
+                "Mol": {
+                    "count": 61
+                },
+                "Petronas": {
+                    "count": 159
+                },
+                "Газпромнефть": {
+                    "count": 748
+                },
+                "Лукойл": {
+                    "count": 1477
+                },
+                "Elan": {
+                    "count": 112
+                },
+                "Роснефть": {
+                    "count": 638
+                },
+                "Turmöl": {
+                    "count": 57
+                },
+                "Neste A24": {
+                    "count": 55
+                },
+                "Marathon": {
+                    "count": 189
+                },
+                "Valero": {
+                    "count": 366
+                },
+                "Eni": {
+                    "count": 236
+                },
+                "Chevron": {
+                    "count": 954
+                },
+                "ТНК": {
+                    "count": 520
+                },
+                "REPSOL": {
+                    "count": 1603
+                },
+                "MOL": {
+                    "count": 228
+                },
+                "Bliska": {
+                    "count": 150
+                },
+                "Api": {
+                    "count": 302
+                },
+                "Arco": {
+                    "count": 179
+                },
+                "Pemex": {
+                    "count": 423
+                },
+                "Exxon": {
+                    "count": 506
+                },
+                "Coles Express": {
+                    "count": 115
+                },
+                "Petrom": {
+                    "count": 259
+                },
+                "PETRONOR": {
+                    "count": 207
+                },
+                "Rompetrol": {
+                    "count": 174
+                },
+                "Lotos": {
+                    "count": 178
+                },
+                "ОМВ": {
+                    "count": 60
+                },
+                "BR": {
+                    "count": 129
+                },
+                "Copec": {
+                    "count": 505
+                },
+                "Petrobras": {
+                    "count": 270
+                },
+                "Liberty": {
+                    "count": 55
+                },
+                "IP": {
+                    "count": 871
+                },
+                "Erg": {
+                    "count": 596
+                },
+                "Eneos": {
+                    "count": 97
+                },
+                "Citgo": {
+                    "count": 279
+                },
+                "Metano": {
+                    "count": 208
+                },
+                "Сургутнефтегаз": {
+                    "count": 61
+                },
+                "EKO": {
+                    "count": 59
+                },
+                "Eko": {
+                    "count": 58
+                },
+                "Indipend.": {
+                    "count": 172
+                },
+                "IES": {
+                    "count": 63
+                },
+                "TotalErg": {
+                    "count": 89
+                },
+                "Cenex": {
+                    "count": 115
+                },
+                "ПТК": {
+                    "count": 82
+                },
+                "HP": {
+                    "count": 79
+                },
+                "Phillips 66": {
+                    "count": 216
+                },
+                "CARREFOUR": {
+                    "count": 74
+                },
+                "ERG": {
+                    "count": 76
+                },
+                "Speedway": {
+                    "count": 148
+                },
+                "Benzina": {
+                    "count": 96
+                },
+                "Татнефть": {
+                    "count": 264
+                },
+                "Terpel": {
+                    "count": 259
+                },
+                "WOG": {
+                    "count": 189
+                },
+                "Seaoil": {
+                    "count": 54
+                },
+                "АЗС": {
+                    "count": 1077
+                },
+                "Kwik Trip": {
+                    "count": 108
+                },
+                "Wawa": {
+                    "count": 89
+                },
+                "Pertamina": {
+                    "count": 186
+                },
+                "COSMO": {
+                    "count": 64
+                },
+                "Z": {
+                    "count": 76
+                },
+                "Indian Oil": {
+                    "count": 183
+                },
+                "АГЗС": {
+                    "count": 494
+                },
+                "INA": {
+                    "count": 121
+                },
+                "JOMO": {
+                    "count": 62
+                },
+                "Holiday": {
+                    "count": 97
+                },
+                "YPF": {
+                    "count": 70
+                },
+                "IDEMITSU": {
+                    "count": 87
+                },
+                "ENEOS": {
+                    "count": 736
+                },
+                "Bharat Petroleum": {
+                    "count": 64
+                },
+                "CAMPSA": {
+                    "count": 615
+                },
+                "Casey's General Store": {
+                    "count": 190
+                },
+                "Башнефть": {
+                    "count": 60
+                },
+                "Kangaroo": {
+                    "count": 60
+                },
+                "コスモ石油 (COSMO)": {
+                    "count": 136
+                },
+                "MEROIL": {
+                    "count": 77
+                },
+                "1-2-3": {
+                    "count": 71
+                },
+                "出光": {
+                    "count": 228,
+                    "tags": {
+                        "name:en": "IDEMITSU"
+                    }
+                },
+                "НК Альянс": {
+                    "count": 88
+                },
+                "Sinclair": {
+                    "count": 100
+                },
+                "Conoco": {
+                    "count": 189
+                },
+                "SPBU": {
+                    "count": 54
+                },
+                "Макпетрол": {
+                    "count": 109
+                },
+                "Circle K": {
+                    "count": 166
+                },
+                "Posto Ipiranga": {
+                    "count": 70
+                },
+                "Posto Shell": {
+                    "count": 54
+                },
+                "Phoenix": {
+                    "count": 144
+                },
+                "Ipiranga": {
+                    "count": 119
+                },
+                "OKKO": {
+                    "count": 85
+                },
+                "ОККО": {
+                    "count": 119
+                },
+                "บางจาก": {
+                    "count": 60
+                },
+                "QuikTrip": {
+                    "count": 105
+                },
+                "Stewart's": {
+                    "count": 63
+                },
+                "Posto BR": {
+                    "count": 68
+                },
+                "ป ต ท": {
+                    "count": 152
+                },
+                "ปตท": {
+                    "count": 88
+                },
+                "ANP": {
+                    "count": 80
+                },
+                "Kum & Go": {
+                    "count": 80
+                },
+                "Petrolimex": {
+                    "count": 55
+                },
+                "Sokimex": {
+                    "count": 66
+                },
+                "Tela": {
+                    "count": 154
+                },
+                "Posto": {
+                    "count": 71
+                },
+                "H-E-B": {
+                    "count": 182
+                },
+                "Укрнафта": {
+                    "count": 58
+                },
+                "Татнефтепродукт": {
+                    "count": 54
+                },
+                "Afriquia": {
+                    "count": 88
+                },
+                "Murphy USA": {
+                    "count": 67
+                },
+                "昭和シェル (Showa-shell)": {
+                    "count": 94
+                },
+                "エネオス": {
+                    "count": 53
+                },
+                "CNG": {
+                    "count": 94
+                }
+            },
+            "pub": {
+                "Kings Arms": {
+                    "count": 67
+                },
+                "The Ship": {
+                    "count": 89
+                },
+                "The White Horse": {
+                    "count": 204
+                },
+                "The White Hart": {
+                    "count": 226
+                },
+                "Royal Oak": {
+                    "count": 150
+                },
+                "The Red Lion": {
+                    "count": 233
+                },
+                "The Kings Arms": {
+                    "count": 58
+                },
+                "The Star": {
+                    "count": 73
+                },
+                "The Anchor": {
+                    "count": 64
+                },
+                "The Cross Keys": {
+                    "count": 55
+                },
+                "The Wheatsheaf": {
+                    "count": 117
+                },
+                "The Crown Inn": {
+                    "count": 67
+                },
+                "The Kings Head": {
+                    "count": 53
+                },
+                "The Castle": {
+                    "count": 62
+                },
+                "The Railway": {
+                    "count": 102
+                },
+                "The White Lion": {
+                    "count": 118
+                },
+                "The Bell": {
+                    "count": 121
+                },
+                "The Bull": {
+                    "count": 68
+                },
+                "The Plough": {
+                    "count": 179
+                },
+                "The George": {
+                    "count": 110
+                },
+                "The Royal Oak": {
+                    "count": 209
+                },
+                "The Fox": {
+                    "count": 74
+                },
+                "Prince of Wales": {
+                    "count": 77
+                },
+                "The Rising Sun": {
+                    "count": 71
+                },
+                "The Prince of Wales": {
+                    "count": 51
+                },
+                "The Crown": {
+                    "count": 244
+                },
+                "The Chequers": {
+                    "count": 66
+                },
+                "The Swan": {
+                    "count": 152
+                },
+                "Rose and Crown": {
+                    "count": 79
+                },
+                "The Victoria": {
+                    "count": 67
+                },
+                "New Inn": {
+                    "count": 90
+                },
+                "Royal Hotel": {
+                    "count": 57
+                },
+                "Red Lion": {
+                    "count": 207
+                },
+                "Cross Keys": {
+                    "count": 61
+                },
+                "The Greyhound": {
+                    "count": 96
+                },
+                "The Black Horse": {
+                    "count": 94
+                },
+                "The New Inn": {
+                    "count": 105
+                },
+                "Kings Head": {
+                    "count": 59
+                },
+                "The Albion": {
+                    "count": 51
+                },
+                "The Angel": {
+                    "count": 52
+                },
+                "The Queens Head": {
+                    "count": 52
+                },
+                "The Ship Inn": {
+                    "count": 83
+                },
+                "Rose & Crown": {
+                    "count": 51
+                },
+                "Queens Head": {
+                    "count": 52
+                },
+                "Irish Pub": {
+                    "count": 76
+                }
+            },
+            "fast_food": {
+                "Quick": {
+                    "count": 484
+                },
+                "McDonald's": {
+                    "count": 12376,
+                    "tags": {
+                        "cuisine": "burger"
+                    }
+                },
+                "Subway": {
+                    "count": 5576,
+                    "tags": {
+                        "cuisine": "sandwich"
+                    }
+                },
+                "Burger King": {
+                    "count": 3734,
+                    "tags": {
+                        "cuisine": "burger"
+                    }
+                },
+                "Ali Baba": {
+                    "count": 61
+                },
+                "Hungry Jacks": {
+                    "count": 173,
+                    "tags": {
+                        "cuisine": "burger"
+                    }
+                },
+                "Red Rooster": {
+                    "count": 148
+                },
+                "KFC": {
+                    "count": 3198,
+                    "tags": {
+                        "cuisine": "chicken"
+                    }
+                },
+                "Domino's Pizza": {
+                    "count": 985,
+                    "tags": {
+                        "cuisine": "pizza"
+                    }
+                },
+                "Chowking": {
+                    "count": 142
+                },
+                "Jollibee": {
+                    "count": 396
+                },
+                "Hesburger": {
+                    "count": 102
+                },
+                "肯德基": {
+                    "count": 86
+                },
+                "Wendy's": {
+                    "count": 1621,
+                    "tags": {
+                        "cuisine": "burger"
+                    }
+                },
+                "Tim Hortons": {
+                    "count": 323
+                },
+                "Steers": {
+                    "count": 151
+                },
+                "Hardee's": {
+                    "count": 268,
+                    "tags": {
+                        "cuisine": "burger"
+                    }
+                },
+                "Arby's": {
+                    "count": 782
+                },
+                "A&W": {
+                    "count": 283
+                },
+                "Dairy Queen": {
+                    "count": 791
+                },
+                "Hallo Pizza": {
+                    "count": 76
+                },
+                "Fish & Chips": {
+                    "count": 93
+                },
+                "Harvey's": {
+                    "count": 90
+                },
+                "麥當勞": {
+                    "count": 65
+                },
+                "Pizza Pizza": {
+                    "count": 215
+                },
+                "Kotipizza": {
+                    "count": 74
+                },
+                "Jack in the Box": {
+                    "count": 546,
+                    "tags": {
+                        "cuisine": "burger"
+                    }
+                },
+                "Istanbul": {
+                    "count": 56
+                },
+                "Kochlöffel": {
+                    "count": 68
+                },
+                "Döner": {
+                    "count": 228
+                },
+                "Telepizza": {
+                    "count": 201
+                },
+                "Sibylla": {
+                    "count": 61
+                },
+                "Carl's Jr.": {
+                    "count": 298,
+                    "tags": {
+                        "cuisine": "burger"
+                    }
+                },
+                "Quiznos": {
+                    "count": 266,
+                    "tags": {
+                        "cuisine": "sandwich"
+                    }
+                },
+                "Wimpy": {
+                    "count": 141
+                },
+                "Sonic": {
+                    "count": 566,
+                    "tags": {
+                        "cuisine": "burger"
+                    }
+                },
+                "Taco Bell": {
+                    "count": 1423,
+                    "tags": {
+                        "cuisine": "mexican"
+                    }
+                },
+                "Pizza Nova": {
+                    "count": 63
+                },
+                "Papa John's": {
+                    "count": 304,
+                    "tags": {
+                        "cuisine": "pizza"
+                    }
+                },
+                "Nordsee": {
+                    "count": 159
+                },
+                "Mr. Sub": {
+                    "count": 103
+                },
+                "Макдоналдс": {
+                    "count": 324,
+                    "tags": {
+                        "name:en": "McDonald's"
+                    }
+                },
+                "Asia Imbiss": {
+                    "count": 111
+                },
+                "Chipotle": {
+                    "count": 290,
+                    "tags": {
+                        "cuisine": "mexican"
+                    }
+                },
+                "マクドナルド": {
+                    "count": 692,
+                    "tags": {
+                        "name:en": "McDonald's",
+                        "cuisine": "burger"
+                    }
+                },
+                "In-N-Out Burger": {
+                    "count": 65
+                },
+                "Jimmy John's": {
+                    "count": 141
+                },
+                "Jamba Juice": {
+                    "count": 68
+                },
+                "Робин Сдобин": {
+                    "count": 82
+                },
+                "Baskin Robbins": {
+                    "count": 74
+                },
+                "ケンタッキーフライドチキン": {
+                    "count": 164,
+                    "tags": {
+                        "name:en": "KFC",
+                        "cuisine": "chicken"
+                    }
+                },
+                "吉野家": {
+                    "count": 191
+                },
+                "Taco Time": {
+                    "count": 88
+                },
+                "松屋": {
+                    "count": 281,
+                    "tags": {
+                        "name:en": "Matsuya"
+                    }
+                },
+                "Little Caesars": {
+                    "count": 81
+                },
+                "El Pollo Loco": {
+                    "count": 63
+                },
+                "Del Taco": {
+                    "count": 141
+                },
+                "White Castle": {
+                    "count": 80
+                },
+                "Boston Market": {
+                    "count": 66
+                },
+                "Chick-fil-A": {
+                    "count": 257,
+                    "tags": {
+                        "cuisine": "chicken"
+                    }
+                },
+                "Panda Express": {
+                    "count": 238,
+                    "tags": {
+                        "cuisine": "chinese"
+                    }
+                },
+                "Whataburger": {
+                    "count": 364
+                },
+                "Taco John's": {
+                    "count": 78
+                },
+                "Теремок": {
+                    "count": 68
+                },
+                "Culver's": {
+                    "count": 425
+                },
+                "Five Guys": {
+                    "count": 141
+                },
+                "Church's Chicken": {
+                    "count": 95
+                },
+                "Popeye's": {
+                    "count": 167,
+                    "tags": {
+                        "cuisine": "chicken"
+                    }
+                },
+                "Long John Silver's": {
+                    "count": 93
+                },
+                "Pollo Campero": {
+                    "count": 62
+                },
+                "Zaxby's": {
+                    "count": 51
+                },
+                "すき家": {
+                    "count": 276,
+                    "tags": {
+                        "name:en": "SUKIYA"
+                    }
+                },
+                "モスバーガー": {
+                    "count": 257,
+                    "tags": {
+                        "name:en": "MOS BURGER"
+                    }
+                },
+                "Русский Аппетит": {
+                    "count": 69
+                },
+                "なか卯": {
+                    "count": 63
+                }
+            },
+            "restaurant": {
+                "Pizza Hut": {
+                    "count": 1180,
+                    "tags": {
+                        "cuisine": "pizza"
+                    }
+                },
+                "Little Chef": {
+                    "count": 64
+                },
+                "Adler": {
+                    "count": 158
+                },
+                "Zur Krone": {
+                    "count": 90
+                },
+                "Deutsches Haus": {
+                    "count": 90
+                },
+                "Krone": {
+                    "count": 171
+                },
+                "Akropolis": {
+                    "count": 152
+                },
+                "Schützenhaus": {
+                    "count": 124
+                },
+                "Kreuz": {
+                    "count": 74
+                },
+                "Waldschänke": {
+                    "count": 55
+                },
+                "La Piazza": {
+                    "count": 69
+                },
+                "Lamm": {
+                    "count": 66
+                },
+                "Zur Sonne": {
+                    "count": 73
+                },
+                "Zur Linde": {
+                    "count": 204
+                },
+                "Poseidon": {
+                    "count": 110
+                },
+                "Shanghai": {
+                    "count": 82
+                },
+                "Red Lobster": {
+                    "count": 235
+                },
+                "Zum Löwen": {
+                    "count": 84
+                },
+                "Swiss Chalet": {
+                    "count": 107
+                },
+                "Olympia": {
+                    "count": 74
+                },
+                "Wagamama": {
+                    "count": 64
+                },
+                "Frankie & Benny's": {
+                    "count": 66
+                },
+                "Hooters": {
+                    "count": 103
+                },
+                "Sternen": {
+                    "count": 78
+                },
+                "Hirschen": {
+                    "count": 79
+                },
+                "Denny's": {
+                    "count": 450
+                },
+                "Athen": {
+                    "count": 68
+                },
+                "Sonne": {
+                    "count": 126
+                },
+                "Hirsch": {
+                    "count": 79
+                },
+                "Ratskeller": {
+                    "count": 150
+                },
+                "La Cantina": {
+                    "count": 56
+                },
+                "Gasthaus Krone": {
+                    "count": 56
+                },
+                "El Greco": {
+                    "count": 86
+                },
+                "Gasthof zur Post": {
+                    "count": 79
+                },
+                "Nando's": {
+                    "count": 246
+                },
+                "Löwen": {
+                    "count": 112
+                },
+                "La Pataterie": {
+                    "count": 51
+                },
+                "Bella Napoli": {
+                    "count": 53
+                },
+                "Pizza Express": {
+                    "count": 262
+                },
+                "Mandarin": {
+                    "count": 65
+                },
+                "Hong Kong": {
+                    "count": 83
+                },
+                "Zizzi": {
+                    "count": 68
+                },
+                "Cracker Barrel": {
+                    "count": 183
+                },
+                "Rhodos": {
+                    "count": 81
+                },
+                "Lindenhof": {
+                    "count": 79
+                },
+                "Milano": {
+                    "count": 54
+                },
+                "Dolce Vita": {
+                    "count": 77
+                },
+                "Kirchenwirt": {
+                    "count": 81
+                },
+                "Kantine": {
+                    "count": 52
+                },
+                "Ochsen": {
+                    "count": 95
+                },
+                "Spur": {
+                    "count": 62
+                },
+                "Mykonos": {
+                    "count": 59
+                },
+                "Lotus": {
+                    "count": 66
+                },
+                "Applebee's": {
+                    "count": 531
+                },
+                "Flunch": {
+                    "count": 72
+                },
+                "Zur Post": {
+                    "count": 116
+                },
+                "China Town": {
+                    "count": 76
+                },
+                "La Dolce Vita": {
+                    "count": 73
+                },
+                "Waffle House": {
+                    "count": 207
+                },
+                "Delphi": {
+                    "count": 88
+                },
+                "Linde": {
+                    "count": 103
+                },
+                "Outback Steakhouse": {
+                    "count": 218
+                },
+                "Dionysos": {
+                    "count": 69
+                },
+                "Kelsey's": {
+                    "count": 57
+                },
+                "Boston Pizza": {
+                    "count": 165
+                },
+                "Bella Italia": {
+                    "count": 132
+                },
+                "Sizzler": {
+                    "count": 53
+                },
+                "Grüner Baum": {
+                    "count": 116
+                },
+                "Taj Mahal": {
+                    "count": 104
+                },
+                "Rössli": {
+                    "count": 68
+                },
+                "Wimpy": {
+                    "count": 51
+                },
+                "Traube": {
+                    "count": 65
+                },
+                "Adria": {
+                    "count": 52
+                },
+                "Red Robin": {
+                    "count": 185
+                },
+                "Roma": {
+                    "count": 61
+                },
+                "San Marco": {
+                    "count": 67
+                },
+                "Hellas": {
+                    "count": 55
+                },
+                "La Perla": {
+                    "count": 67
+                },
+                "Vips": {
+                    "count": 53
+                },
+                "Panera Bread": {
+                    "count": 218
+                },
+                "Da Vinci": {
+                    "count": 54
+                },
+                "Hippopotamus": {
+                    "count": 96
+                },
+                "Prezzo": {
+                    "count": 75
+                },
+                "Courtepaille": {
+                    "count": 106
+                },
+                "Hard Rock Cafe": {
+                    "count": 70
+                },
+                "Panorama": {
+                    "count": 61
+                },
+                "デニーズ": {
+                    "count": 82
+                },
+                "Sportheim": {
+                    "count": 65
+                },
+                "餃子の王将": {
+                    "count": 57
+                },
+                "Bären": {
+                    "count": 60
+                },
+                "Alte Post": {
+                    "count": 60
+                },
+                "Pizzeria Roma": {
+                    "count": 51
+                },
+                "China Garden": {
+                    "count": 66
+                },
+                "Vapiano": {
+                    "count": 82
+                },
+                "Mamma Mia": {
+                    "count": 64
+                },
+                "Schwarzer Adler": {
+                    "count": 57
+                },
+                "IHOP": {
+                    "count": 317
+                },
+                "Chili's": {
+                    "count": 328
+                },
+                "Asia": {
+                    "count": 51
+                },
+                "Olive Garden": {
+                    "count": 279
+                },
+                "TGI Friday's": {
+                    "count": 159
+                },
+                "Friendly's": {
+                    "count": 78
+                },
+                "Buffalo Grill": {
+                    "count": 202
+                },
+                "Texas Roadhouse": {
+                    "count": 110
+                },
+                "ガスト": {
+                    "count": 230,
+                    "tags": {
+                        "name:en": "Gusto"
+                    }
+                },
+                "Sakura": {
+                    "count": 75
+                },
+                "Mensa": {
+                    "count": 99
+                },
+                "The Keg": {
+                    "count": 53
+                },
+                "サイゼリヤ": {
+                    "count": 93
+                },
+                "La Strada": {
+                    "count": 52
+                },
+                "Village Inn": {
+                    "count": 92
+                },
+                "Buffalo Wild Wings": {
+                    "count": 176
+                },
+                "Peking": {
+                    "count": 59
+                },
+                "Boston Market": {
+                    "count": 61
+                },
+                "Round Table Pizza": {
+                    "count": 53
+                },
+                "Jimmy John's": {
+                    "count": 69
+                },
+                "California Pizza Kitchen": {
+                    "count": 61
+                },
+                "Якитория": {
+                    "count": 77
+                },
+                "Golden Corral": {
+                    "count": 101
+                },
+                "Perkins": {
+                    "count": 105
+                },
+                "Ruby Tuesday": {
+                    "count": 162
+                },
+                "Shari's": {
+                    "count": 65
+                },
+                "Bob Evans": {
+                    "count": 129
+                },
+                "바다횟집 (Bada Fish Restaurant)": {
+                    "count": 55
+                },
+                "Mang Inasal": {
+                    "count": 84
+                },
+                "Евразия": {
+                    "count": 102
+                },
+                "ジョナサン": {
+                    "count": 59
+                },
+                "Longhorn Steakhouse": {
+                    "count": 66
+                }
+            },
+            "bank": {
+                "Chase": {
+                    "count": 721
+                },
+                "Commonwealth Bank": {
+                    "count": 232
+                },
+                "Citibank": {
+                    "count": 277
+                },
+                "HSBC": {
+                    "count": 1102
+                },
+                "Barclays": {
+                    "count": 965
+                },
+                "Westpac": {
+                    "count": 208
+                },
+                "NAB": {
+                    "count": 131
+                },
+                "ANZ": {
+                    "count": 218
+                },
+                "Lloyds Bank": {
+                    "count": 547
+                },
+                "Landbank": {
+                    "count": 81
+                },
+                "Sparkasse": {
+                    "count": 4555
+                },
+                "UCPB": {
+                    "count": 92
+                },
+                "PNB": {
+                    "count": 244
+                },
+                "Metrobank": {
+                    "count": 269
+                },
+                "BDO": {
+                    "count": 290
+                },
+                "Volksbank": {
+                    "count": 2591
+                },
+                "BPI": {
+                    "count": 415
+                },
+                "Postbank": {
+                    "count": 443
+                },
+                "NatWest": {
+                    "count": 628
+                },
+                "Raiffeisenbank": {
+                    "count": 2119
+                },
+                "Yorkshire Bank": {
+                    "count": 63
+                },
+                "ABSA": {
+                    "count": 95
+                },
+                "Standard Bank": {
+                    "count": 109
+                },
+                "FNB": {
+                    "count": 97
+                },
+                "Deutsche Bank": {
+                    "count": 855
+                },
+                "SEB": {
+                    "count": 133
+                },
+                "Commerzbank": {
+                    "count": 806
+                },
+                "Targobank": {
+                    "count": 166
+                },
+                "ABN AMRO": {
+                    "count": 130
+                },
+                "Handelsbanken": {
+                    "count": 184
+                },
+                "Swedbank": {
+                    "count": 223
+                },
+                "Kreissparkasse": {
+                    "count": 600
+                },
+                "UniCredit Bank": {
+                    "count": 408
+                },
+                "Monte dei Paschi di Siena": {
+                    "count": 132
+                },
+                "Caja Rural": {
+                    "count": 99
+                },
+                "Dresdner Bank": {
+                    "count": 66
+                },
+                "Sparda-Bank": {
+                    "count": 320
+                },
+                "VÚB": {
+                    "count": 107
+                },
+                "Slovenská sporiteľňa": {
+                    "count": 134
+                },
+                "Bank of Montreal": {
+                    "count": 118
+                },
+                "KBC": {
+                    "count": 203
+                },
+                "Royal Bank of Scotland": {
+                    "count": 111
+                },
+                "TSB": {
+                    "count": 80
+                },
+                "US Bank": {
+                    "count": 256
+                },
+                "HypoVereinsbank": {
+                    "count": 561
+                },
+                "Bank Austria": {
+                    "count": 176
+                },
+                "ING": {
+                    "count": 496
+                },
+                "Erste Bank": {
+                    "count": 180
+                },
+                "CIBC": {
+                    "count": 326
+                },
+                "Scotiabank": {
+                    "count": 413
+                },
+                "Caisse d'Épargne": {
+                    "count": 882
+                },
+                "Santander": {
+                    "count": 1323
+                },
+                "Bank of Scotland": {
+                    "count": 89
+                },
+                "TD Canada Trust": {
+                    "count": 450
+                },
+                "BMO": {
+                    "count": 169
+                },
+                "Danske Bank": {
+                    "count": 131
+                },
+                "OTP": {
+                    "count": 192
+                },
+                "Crédit Agricole": {
+                    "count": 1239
+                },
+                "LCL": {
+                    "count": 553
+                },
+                "VR-Bank": {
+                    "count": 430
+                },
+                "ČSOB": {
+                    "count": 160
+                },
+                "Česká spořitelna": {
+                    "count": 212
+                },
+                "BNP": {
+                    "count": 112
+                },
+                "Royal Bank": {
+                    "count": 65
+                },
+                "Nationwide": {
+                    "count": 209
+                },
+                "Halifax": {
+                    "count": 225
+                },
+                "BAWAG PSK": {
+                    "count": 102
+                },
+                "National Bank": {
+                    "count": 84
+                },
+                "Nedbank": {
+                    "count": 80
+                },
+                "First National Bank": {
+                    "count": 85
+                },
+                "Nordea": {
+                    "count": 319
+                },
+                "Rabobank": {
+                    "count": 609
+                },
+                "Sparkasse KölnBonn": {
+                    "count": 69
+                },
+                "Tatra banka": {
+                    "count": 67
+                },
+                "Berliner Sparkasse": {
+                    "count": 62
+                },
+                "Berliner Volksbank": {
+                    "count": 77
+                },
+                "Wells Fargo": {
+                    "count": 874
+                },
+                "Credit Suisse": {
+                    "count": 71
+                },
+                "Société Générale": {
+                    "count": 634
+                },
+                "Osuuspankki": {
+                    "count": 75
+                },
+                "Sparkasse Aachen": {
+                    "count": 56
+                },
+                "Hamburger Sparkasse": {
+                    "count": 156
+                },
+                "Cassa di Risparmio del Veneto": {
+                    "count": 68
+                },
+                "BNP Paribas": {
+                    "count": 617
+                },
+                "Banque Populaire": {
+                    "count": 433
+                },
+                "BNP Paribas Fortis": {
+                    "count": 209
+                },
+                "Banco Popular": {
+                    "count": 291
+                },
+                "Bancaja": {
+                    "count": 55
+                },
+                "Banesto": {
+                    "count": 208
+                },
+                "La Caixa": {
+                    "count": 583
+                },
+                "Santander Consumer Bank": {
+                    "count": 88
+                },
+                "BRD": {
+                    "count": 191
+                },
+                "BCR": {
+                    "count": 143
+                },
+                "Banca Transilvania": {
+                    "count": 141
+                },
+                "BW-Bank": {
+                    "count": 97
+                },
+                "Komerční banka": {
+                    "count": 132
+                },
+                "Banco Pastor": {
+                    "count": 64
+                },
+                "Stadtsparkasse": {
+                    "count": 86
+                },
+                "Ulster Bank": {
+                    "count": 86
+                },
+                "Sberbank": {
+                    "count": 58
+                },
+                "CIC": {
+                    "count": 427
+                },
+                "Bancpost": {
+                    "count": 56
+                },
+                "Caja Madrid": {
+                    "count": 115
+                },
+                "Maybank": {
+                    "count": 94
+                },
+                "中国银行": {
+                    "count": 85
+                },
+                "Unicredit Banca": {
+                    "count": 243
+                },
+                "Crédit Mutuel": {
+                    "count": 690
+                },
+                "BBVA": {
+                    "count": 647
+                },
+                "Intesa San Paolo": {
+                    "count": 69
+                },
+                "TD Bank": {
+                    "count": 206
+                },
+                "Belfius": {
+                    "count": 231
+                },
+                "Bank of America": {
+                    "count": 924
+                },
+                "RBC": {
+                    "count": 230
+                },
+                "Alpha Bank": {
+                    "count": 123
+                },
+                "Сбербанк": {
+                    "count": 4794
+                },
+                "Россельхозбанк": {
+                    "count": 201
+                },
+                "Crédit du Nord": {
+                    "count": 96
+                },
+                "BancoEstado": {
+                    "count": 80
+                },
+                "Millennium Bank": {
+                    "count": 414
+                },
+                "State Bank of India": {
+                    "count": 151
+                },
+                "Беларусбанк": {
+                    "count": 242
+                },
+                "ING Bank Śląski": {
+                    "count": 67
+                },
+                "Caixa Geral de Depósitos": {
+                    "count": 129
+                },
+                "Kreissparkasse Köln": {
+                    "count": 65
+                },
+                "Banco BCI": {
+                    "count": 51
+                },
+                "Banco de Chile": {
+                    "count": 98
+                },
+                "ВТБ24": {
+                    "count": 326
+                },
+                "UBS": {
+                    "count": 134
+                },
+                "PKO BP": {
+                    "count": 265
+                },
+                "Chinabank": {
+                    "count": 55
+                },
+                "PSBank": {
+                    "count": 59
+                },
+                "Union Bank": {
+                    "count": 124
+                },
+                "China Bank": {
+                    "count": 66
+                },
+                "RCBC": {
+                    "count": 122
+                },
+                "Unicaja": {
+                    "count": 83
+                },
+                "BBK": {
+                    "count": 79
+                },
+                "Ibercaja": {
+                    "count": 69
+                },
+                "RBS": {
+                    "count": 143
+                },
+                "Commercial Bank of Ceylon PLC": {
+                    "count": 79
+                },
+                "Bank of Ireland": {
+                    "count": 109
+                },
+                "BNL": {
+                    "count": 87
+                },
+                "Banco Santander": {
+                    "count": 138
+                },
+                "Banco Itaú": {
+                    "count": 111
+                },
+                "AIB": {
+                    "count": 72
+                },
+                "BZ WBK": {
+                    "count": 77
+                },
+                "Banco do Brasil": {
+                    "count": 557
+                },
+                "Caixa Econômica Federal": {
+                    "count": 184
+                },
+                "Fifth Third Bank": {
+                    "count": 84
+                },
+                "Banca Popolare di Vicenza": {
+                    "count": 81
+                },
+                "Wachovia": {
+                    "count": 58
+                },
+                "OLB": {
+                    "count": 53
+                },
+                "みずほ銀行": {
+                    "count": 78
+                },
+                "BES": {
+                    "count": 72
+                },
+                "ICICI Bank": {
+                    "count": 91
+                },
+                "HDFC Bank": {
+                    "count": 91
+                },
+                "La Banque Postale": {
+                    "count": 67
+                },
+                "Pekao SA": {
+                    "count": 56
+                },
+                "Oberbank": {
+                    "count": 90
+                },
+                "Bradesco": {
+                    "count": 295
+                },
+                "Oldenburgische Landesbank": {
+                    "count": 56
+                },
+                "Bendigo Bank": {
+                    "count": 93
+                },
+                "Argenta": {
+                    "count": 86
+                },
+                "AXA": {
+                    "count": 68
+                },
+                "Axis Bank": {
+                    "count": 61
+                },
+                "Banco Nación": {
+                    "count": 67
+                },
+                "GE Money Bank": {
+                    "count": 72
+                },
+                "Альфа-Банк": {
+                    "count": 185
+                },
+                "Белагропромбанк": {
+                    "count": 70
+                },
+                "Caja Círculo": {
+                    "count": 65
+                },
+                "Banco Galicia": {
+                    "count": 51
+                },
+                "Eurobank": {
+                    "count": 97
+                },
+                "Banca Intesa": {
+                    "count": 62
+                },
+                "Canara Bank": {
+                    "count": 92
+                },
+                "Cajamar": {
+                    "count": 77
+                },
+                "Banamex": {
+                    "count": 149
+                },
+                "Crédit Mutuel de Bretagne": {
+                    "count": 335
+                },
+                "Davivienda": {
+                    "count": 83
+                },
+                "Bank Spółdzielczy": {
+                    "count": 159
+                },
+                "Credit Agricole": {
+                    "count": 157
+                },
+                "Bankinter": {
+                    "count": 59
+                },
+                "Banque Nationale": {
+                    "count": 63
+                },
+                "Bank of the West": {
+                    "count": 96
+                },
+                "Key Bank": {
+                    "count": 155
+                },
+                "Western Union": {
+                    "count": 88
+                },
+                "Citizens Bank": {
+                    "count": 115
+                },
+                "ПриватБанк": {
+                    "count": 513
+                },
+                "Security Bank": {
+                    "count": 78
+                },
+                "Millenium": {
+                    "count": 60
+                },
+                "Bankia": {
+                    "count": 149
+                },
+                "三菱東京UFJ銀行": {
+                    "count": 159
+                },
+                "Caixa": {
+                    "count": 117
+                },
+                "Banco de Costa Rica": {
+                    "count": 63
+                },
+                "SunTrust Bank": {
+                    "count": 73
+                },
+                "Itaú": {
+                    "count": 338
+                },
+                "PBZ": {
+                    "count": 52
+                },
+                "中国工商银行": {
+                    "count": 51
+                },
+                "Bancolombia": {
+                    "count": 89
+                },
+                "Райффайзен Банк Аваль": {
+                    "count": 64
+                },
+                "Bancomer": {
+                    "count": 115
+                },
+                "Banorte": {
+                    "count": 80
+                },
+                "Alior Bank": {
+                    "count": 81
+                },
+                "BOC": {
+                    "count": 51
+                },
+                "Банк Москвы": {
+                    "count": 118
+                },
+                "ВТБ": {
+                    "count": 59
+                },
+                "Getin Bank": {
+                    "count": 55
+                },
+                "Caja Duero": {
+                    "count": 57
+                },
+                "Regions Bank": {
+                    "count": 62
+                },
+                "Росбанк": {
+                    "count": 177
+                },
+                "Banco Estado": {
+                    "count": 72
+                },
+                "BCI": {
+                    "count": 68
+                },
+                "SunTrust": {
+                    "count": 68
+                },
+                "PNC Bank": {
+                    "count": 254
+                },
+                "신한은행": {
+                    "count": 217,
+                    "tags": {
+                        "name:en": "Sinhan Bank"
+                    }
+                },
+                "우리은행": {
+                    "count": 291,
+                    "tags": {
+                        "name:en": "Uri Bank"
+                    }
+                },
+                "국민은행": {
+                    "count": 165,
+                    "tags": {
+                        "name:en": "Gungmin Bank"
+                    }
+                },
+                "중소기업은행": {
+                    "count": 52,
+                    "tags": {
+                        "name:en": "Industrial Bank of Korea"
+                    }
+                },
+                "광주은행": {
+                    "count": 51,
+                    "tags": {
+                        "name:en": "Gwangju Bank"
+                    }
+                },
+                "Газпромбанк": {
+                    "count": 100
+                },
+                "M&T Bank": {
+                    "count": 92
+                },
+                "Caja de Burgos": {
+                    "count": 51
+                },
+                "Santander Totta": {
+                    "count": 69
+                },
+                "УкрСиббанк": {
+                    "count": 192
+                },
+                "Ощадбанк": {
+                    "count": 364
+                },
+                "Уралсиб": {
+                    "count": 85
+                },
+                "りそな銀行": {
+                    "count": 225,
+                    "tags": {
+                        "name:en": "Mizuho Bank"
+                    }
+                },
+                "Ecobank": {
+                    "count": 66
+                },
+                "Cajero Automatico Bancared": {
+                    "count": 145
+                },
+                "Промсвязьбанк": {
+                    "count": 93
+                },
+                "三井住友銀行": {
+                    "count": 129
+                },
+                "Banco Provincia": {
+                    "count": 67
+                },
+                "BB&T": {
+                    "count": 147
+                },
+                "Возрождение": {
+                    "count": 59
+                },
+                "Capital One": {
+                    "count": 59
+                },
+                "横浜銀行": {
+                    "count": 51
+                },
+                "Bank Mandiri": {
+                    "count": 62
+                },
+                "Banco de la Nación": {
+                    "count": 92
+                },
+                "Banco G&T Continental": {
+                    "count": 62
+                },
+                "Peoples Bank": {
+                    "count": 60
+                },
+                "工商银行": {
+                    "count": 51
+                },
+                "Совкомбанк": {
+                    "count": 55
+                },
+                "Provincial": {
+                    "count": 56
+                },
+                "Banco de Desarrollo Banrural": {
+                    "count": 73
+                },
+                "Banco Bradesco": {
+                    "count": 65
+                },
+                "Bicentenario": {
+                    "count": 182
+                },
+                "ლიბერთი ბანკი": {
+                    "count": 54,
+                    "tags": {
+                        "name:en": "Liberty Bank"
+                    }
+                },
+                "Banesco": {
+                    "count": 108
+                },
+                "Mercantil": {
+                    "count": 75
+                },
+                "Bank BRI": {
+                    "count": 53
+                },
+                "Del Tesoro": {
+                    "count": 91
+                },
+                "하나은행": {
+                    "count": 77
+                },
+                "CityCommerce Bank": {
+                    "count": 71
+                },
+                "De Venezuela": {
+                    "count": 117
+                }
+            },
+            "car_rental": {
+                "Europcar": {
+                    "count": 291
+                },
+                "Budget": {
+                    "count": 92
+                },
+                "Sixt": {
+                    "count": 161
+                },
+                "Avis": {
+                    "count": 282
+                },
+                "Hertz": {
+                    "count": 293
+                },
+                "Enterprise": {
+                    "count": 199
+                },
+                "stadtmobil CarSharing-Station": {
+                    "count": 148
+                }
+            },
+            "pharmacy": {
+                "Rowlands Pharmacy": {
+                    "count": 71
+                },
+                "Boots": {
+                    "count": 840
+                },
+                "Marien-Apotheke": {
+                    "count": 314
+                },
+                "Mercury Drug": {
+                    "count": 426
+                },
+                "Löwen-Apotheke": {
+                    "count": 356
+                },
+                "Superdrug": {
+                    "count": 117
+                },
+                "Sonnen-Apotheke": {
+                    "count": 311
+                },
+                "Rathaus-Apotheke": {
+                    "count": 132
+                },
+                "Engel-Apotheke": {
+                    "count": 123
+                },
+                "Hirsch-Apotheke": {
+                    "count": 83
+                },
+                "Stern-Apotheke": {
+                    "count": 67
+                },
+                "Lloyds Pharmacy": {
+                    "count": 295
+                },
+                "Rosen-Apotheke": {
+                    "count": 208
+                },
+                "Stadt-Apotheke": {
+                    "count": 302
+                },
+                "Markt-Apotheke": {
+                    "count": 164
+                },
+                "Аптека": {
+                    "count": 1989
+                },
+                "Pharmasave": {
+                    "count": 64
+                },
+                "Brunnen-Apotheke": {
+                    "count": 53
+                },
+                "Shoppers Drug Mart": {
+                    "count": 430
+                },
+                "Apotheke am Markt": {
+                    "count": 60
+                },
+                "Alte Apotheke": {
+                    "count": 88
+                },
+                "Neue Apotheke": {
+                    "count": 109
+                },
+                "Gintarinė vaistinė": {
+                    "count": 101
+                },
+                "Rats-Apotheke": {
+                    "count": 84
+                },
+                "Adler Apotheke": {
+                    "count": 313
+                },
+                "Pharmacie Centrale": {
+                    "count": 64
+                },
+                "Walgreens": {
+                    "count": 1619
+                },
+                "Rite Aid": {
+                    "count": 745
+                },
+                "Apotheke": {
+                    "count": 165
+                },
+                "Linden-Apotheke": {
+                    "count": 211
+                },
+                "Bahnhof-Apotheke": {
+                    "count": 66
+                },
+                "Burg-Apotheke": {
+                    "count": 55
+                },
+                "Jean Coutu": {
+                    "count": 62
+                },
+                "Pharmaprix": {
+                    "count": 60
+                },
+                "Farmacias Ahumada": {
+                    "count": 104
+                },
+                "Farmacia Comunale": {
+                    "count": 113
+                },
+                "Farmacias Cruz Verde": {
+                    "count": 86
+                },
+                "Cruz Verde": {
+                    "count": 99
+                },
+                "Hubertus Apotheke": {
+                    "count": 52
+                },
+                "CVS": {
+                    "count": 1560
+                },
+                "Farmacias SalcoBrand": {
+                    "count": 133
+                },
+                "Фармация": {
+                    "count": 120
+                },
+                "Bären-Apotheke": {
+                    "count": 74
+                },
+                "Clicks": {
+                    "count": 113
+                },
+                "セイジョー": {
+                    "count": 53
+                },
+                "マツモトキヨシ": {
+                    "count": 115
+                },
+                "Dr. Max": {
+                    "count": 51
+                },
+                "Вита": {
+                    "count": 106
+                },
+                "Радуга": {
+                    "count": 70
+                },
+                "サンドラッグ": {
+                    "count": 61
+                },
+                "Apteka": {
+                    "count": 366
+                },
+                "Первая помощь": {
+                    "count": 74
+                },
+                "Ригла": {
+                    "count": 113
+                },
+                "Имплозия": {
+                    "count": 63
+                },
+                "Kinney Drugs": {
+                    "count": 68
+                },
+                "Классика": {
+                    "count": 67
+                },
+                "Ljekarna": {
+                    "count": 53
+                },
+                "SalcoBrand": {
+                    "count": 88
+                },
+                "Аптека 36,6": {
+                    "count": 224
+                },
+                "Фармакор": {
+                    "count": 75
+                },
+                "スギ薬局": {
+                    "count": 84
+                },
+                "Аптечный пункт": {
+                    "count": 148
+                },
+                "Невис": {
+                    "count": 60
+                },
+                "トモズ (Tomod's)": {
+                    "count": 83
+                },
+                "Eurovaistinė": {
+                    "count": 65
+                },
+                "Farmacity": {
+                    "count": 68
+                },
+                "аптека": {
+                    "count": 96
+                },
+                "The Generics Pharmacy": {
+                    "count": 95
+                },
+                "Farmatodo": {
+                    "count": 123
+                },
+                "Duane Reade": {
+                    "count": 61
+                },
+                "H-E-B": {
+                    "count": 262
+                },
+                "Фармленд": {
+                    "count": 82
+                },
+                "ドラッグてらしま (Drug Terashima)": {
+                    "count": 96
+                },
+                "Арніка": {
+                    "count": 125
+                },
+                "ავერსი (Aversi)": {
+                    "count": 62
+                },
+                "Farmahorro": {
+                    "count": 58
+                }
+            },
+            "cafe": {
+                "Starbucks": {
+                    "count": 4238,
+                    "tags": {
+                        "cuisine": "coffee_shop"
+                    }
+                },
+                "Cafeteria": {
+                    "count": 115
+                },
+                "Costa": {
+                    "count": 618
+                },
+                "Caffè Nero": {
+                    "count": 169
+                },
+                "Кафе": {
+                    "count": 226
+                },
+                "Café Central": {
+                    "count": 61
+                },
+                "Second Cup": {
+                    "count": 193
+                },
+                "Dunkin Donuts": {
+                    "count": 428,
+                    "tags": {
+                        "cuisine": "donut"
+                    }
+                },
+                "Espresso House": {
+                    "count": 53
+                },
+                "Segafredo": {
+                    "count": 69
+                },
+                "Coffee Time": {
+                    "count": 94
+                },
+                "Cafe Coffee Day": {
+                    "count": 120
+                },
+                "Eiscafe Venezia": {
+                    "count": 180
+                },
+                "スターバックス": {
+                    "count": 251,
+                    "tags": {
+                        "name:en": "Starbucks"
+                    }
+                },
+                "Шоколадница": {
+                    "count": 145
+                },
+                "Pret A Manger": {
+                    "count": 119
+                },
+                "Столовая": {
+                    "count": 391
+                },
+                "Jamba Juice": {
+                    "count": 53
+                },
+                "ドトール": {
+                    "count": 164,
+                    "tags": {
+                        "name:en": "DOUTOR"
+                    }
+                },
+                "Tchibo": {
+                    "count": 100
+                },
+                "Кофе Хауз": {
+                    "count": 104
+                },
+                "Caribou Coffee": {
+                    "count": 100
+                },
+                "Уют": {
+                    "count": 51
+                },
+                "Шашлычная": {
+                    "count": 58
+                },
+                "คาเฟ่ อเมซอน": {
+                    "count": 62
+                },
+                "Traveler's Coffee": {
+                    "count": 60
+                },
+                "カフェ・ド・クリエ": {
+                    "count": 67,
+                    "tags": {
+                        "name:en": "Cafe de CRIE"
+                    }
+                },
+                "Cafe Amazon": {
+                    "count": 65
+                }
+            }
+        },
+        "shop": {
+            "supermarket": {
+                "Budgens": {
+                    "count": 88
+                },
+                "Morrisons": {
+                    "count": 411
+                },
+                "Interspar": {
+                    "count": 142
+                },
+                "Merkur": {
+                    "count": 107
+                },
+                "Sainsbury's": {
+                    "count": 547
+                },
+                "Lidl": {
+                    "count": 7130
+                },
+                "Edeka": {
+                    "count": 2293
+                },
+                "Coles": {
+                    "count": 400
+                },
+                "Iceland": {
+                    "count": 315
+                },
+                "Coop": {
+                    "count": 2100
+                },
+                "Tesco": {
+                    "count": 1297
+                },
+                "Woolworths": {
+                    "count": 541
+                },
+                "Zielpunkt": {
+                    "count": 239
+                },
+                "Nahkauf": {
+                    "count": 170
+                },
+                "Billa": {
+                    "count": 1432
+                },
+                "Kaufland": {
+                    "count": 1004
+                },
+                "Plus": {
+                    "count": 120
+                },
+                "ALDI": {
+                    "count": 5172
+                },
+                "Checkers": {
+                    "count": 128
+                },
+                "Tesco Metro": {
+                    "count": 137
+                },
+                "NP": {
+                    "count": 153
+                },
+                "Penny": {
+                    "count": 1759
+                },
+                "Norma": {
+                    "count": 1068
+                },
+                "Asda": {
+                    "count": 225
+                },
+                "Netto": {
+                    "count": 4379
+                },
+                "Rewe": {
+                    "count": 2645
+                },
+                "Aldi Süd": {
+                    "count": 594
+                },
+                "Real": {
+                    "count": 246
+                },
+                "Tesco Express": {
+                    "count": 406
+                },
+                "King Soopers": {
+                    "count": 72
+                },
+                "Kiwi": {
+                    "count": 167
+                },
+                "Pick n Pay": {
+                    "count": 241
+                },
+                "ICA": {
+                    "count": 192
+                },
+                "Tengelmann": {
+                    "count": 188
+                },
+                "Carrefour": {
+                    "count": 1640
+                },
+                "Waitrose": {
+                    "count": 258
+                },
+                "Spar": {
+                    "count": 2386
+                },
+                "Hofer": {
+                    "count": 442
+                },
+                "M-Preis": {
+                    "count": 76
+                },
+                "tegut": {
+                    "count": 210
+                },
+                "Sainsbury's Local": {
+                    "count": 118
+                },
+                "E-Center": {
+                    "count": 66
+                },
+                "Aldi Nord": {
+                    "count": 210
+                },
+                "nahkauf": {
+                    "count": 84
+                },
+                "Meijer": {
+                    "count": 76
+                },
+                "Safeway": {
+                    "count": 410
+                },
+                "Costco": {
+                    "count": 152
+                },
+                "Albert": {
+                    "count": 185
+                },
+                "Jumbo": {
+                    "count": 194
+                },
+                "Shoprite": {
+                    "count": 244
+                },
+                "MPreis": {
+                    "count": 54
+                },
+                "Penny Market": {
+                    "count": 429
+                },
+                "Tesco Extra": {
+                    "count": 123
+                },
+                "Albert Heijn": {
+                    "count": 476
+                },
+                "IGA": {
+                    "count": 363
+                },
+                "Super U": {
+                    "count": 488
+                },
+                "Metro": {
+                    "count": 260
+                },
+                "Neukauf": {
+                    "count": 77
+                },
+                "Migros": {
+                    "count": 459
+                },
+                "Marktkauf": {
+                    "count": 121
+                },
+                "Delikatesy Centrum": {
+                    "count": 59
+                },
+                "C1000": {
+                    "count": 307
+                },
+                "Hoogvliet": {
+                    "count": 53
+                },
+                "Food Basics": {
+                    "count": 75
+                },
+                "Casino": {
+                    "count": 264
+                },
+                "Penny Markt": {
+                    "count": 466
+                },
+                "Giant": {
+                    "count": 191
+                },
+                "COOP Jednota": {
+                    "count": 73
+                },
+                "Rema 1000": {
+                    "count": 368
+                },
+                "Kaufpark": {
+                    "count": 96
+                },
+                "ALDI SÜD": {
+                    "count": 113
+                },
+                "Simply Market": {
+                    "count": 330
+                },
+                "Konzum": {
+                    "count": 230
+                },
+                "Carrefour Express": {
+                    "count": 353
+                },
+                "Eurospar": {
+                    "count": 270
+                },
+                "Mercator": {
+                    "count": 125
+                },
+                "Famila": {
+                    "count": 130
+                },
+                "Hemköp": {
+                    "count": 82
+                },
+                "real,-": {
+                    "count": 81
+                },
+                "Markant": {
+                    "count": 88
+                },
+                "Volg": {
+                    "count": 135
+                },
+                "Leader Price": {
+                    "count": 267
+                },
+                "Treff 3000": {
+                    "count": 94
+                },
+                "SuperBrugsen": {
+                    "count": 67
+                },
+                "Kaiser's": {
+                    "count": 256
+                },
+                "K+K": {
+                    "count": 106
+                },
+                "Unimarkt": {
+                    "count": 86
+                },
+                "Carrefour City": {
+                    "count": 126
+                },
+                "Sobeys": {
+                    "count": 122
+                },
+                "S-Market": {
+                    "count": 109
+                },
+                "Combi": {
+                    "count": 55
+                },
+                "Denner": {
+                    "count": 276
+                },
+                "Konsum": {
+                    "count": 133
+                },
+                "Franprix": {
+                    "count": 312
+                },
+                "Monoprix": {
+                    "count": 198
+                },
+                "Diska": {
+                    "count": 69
+                },
+                "PENNY": {
+                    "count": 79
+                },
+                "Dia": {
+                    "count": 835
+                },
+                "Giant Eagle": {
+                    "count": 85
+                },
+                "NORMA": {
+                    "count": 115
+                },
+                "AD Delhaize": {
+                    "count": 63
+                },
+                "Auchan": {
+                    "count": 152
+                },
+                "Mercadona": {
+                    "count": 769
+                },
+                "Consum": {
+                    "count": 130
+                },
+                "Carrefour Market": {
+                    "count": 80
+                },
+                "Whole Foods": {
+                    "count": 210,
+                    "tags": {
+                        "shop": "supermarket"
+                    }
+                },
+                "Pam": {
+                    "count": 56
+                },
+                "sky": {
+                    "count": 105
+                },
+                "Despar": {
+                    "count": 146
+                },
+                "Eroski": {
+                    "count": 208
+                },
+                "Costcutter": {
+                    "count": 63
+                },
+                "Maxi": {
+                    "count": 108
+                },
+                "Colruyt": {
+                    "count": 180
+                },
+                "The Co-operative": {
+                    "count": 64
+                },
+                "Intermarché": {
+                    "count": 1210
+                },
+                "Delhaize": {
+                    "count": 207
+                },
+                "CBA": {
+                    "count": 176
+                },
+                "Shopi": {
+                    "count": 53
+                },
+                "Walmart": {
+                    "count": 644
+                },
+                "Kroger": {
+                    "count": 317
+                },
+                "Albertsons": {
+                    "count": 242
+                },
+                "Trader Joe's": {
+                    "count": 235
+                },
+                "Feneberg": {
+                    "count": 58
+                },
+                "denn's Biomarkt": {
+                    "count": 52
+                },
+                "dm": {
+                    "count": 114
+                },
+                "Kvickly": {
+                    "count": 55
+                },
+                "Makro": {
+                    "count": 140
+                },
+                "Dico": {
+                    "count": 53
+                },
+                "Nah & Frisch": {
+                    "count": 73
+                },
+                "Champion": {
+                    "count": 59
+                },
+                "ICA Supermarket": {
+                    "count": 51
+                },
+                "Fakta": {
+                    "count": 235
+                },
+                "Магнит": {
+                    "count": 1760
+                },
+                "Caprabo": {
+                    "count": 103
+                },
+                "Famiglia Cooperativa": {
+                    "count": 64
+                },
+                "Народная 7Я семьЯ": {
+                    "count": 154
+                },
+                "Esselunga": {
+                    "count": 85
+                },
+                "Maxima": {
+                    "count": 102
+                },
+                "Petit Casino": {
+                    "count": 111
+                },
+                "Wasgau": {
+                    "count": 60
+                },
+                "Pingo Doce": {
+                    "count": 253
+                },
+                "Match": {
+                    "count": 140
+                },
+                "Profi": {
+                    "count": 60
+                },
+                "Lider": {
+                    "count": 65
+                },
+                "Unimarc": {
+                    "count": 177
+                },
+                "The Co-operative Food": {
+                    "count": 190
+                },
+                "Santa Isabel": {
+                    "count": 128
+                },
+                "Седьмой континент": {
+                    "count": 79
+                },
+                "HIT": {
+                    "count": 59
+                },
+                "Rimi": {
+                    "count": 106
+                },
+                "Conad": {
+                    "count": 304
+                },
+                "Фуршет": {
+                    "count": 76
+                },
+                "Willys": {
+                    "count": 56
+                },
+                "Farmfoods": {
+                    "count": 64
+                },
+                "U Express": {
+                    "count": 51
+                },
+                "Фора": {
+                    "count": 52
+                },
+                "Dunnes Stores": {
+                    "count": 73
+                },
+                "Сільпо": {
+                    "count": 125
+                },
+                "マルエツ": {
+                    "count": 59
+                },
+                "Piggly Wiggly": {
+                    "count": 57
+                },
+                "Crai": {
+                    "count": 54
+                },
+                "El Árbol": {
+                    "count": 73
+                },
+                "Centre Commercial E. Leclerc": {
+                    "count": 549
+                },
+                "Foodland": {
+                    "count": 100
+                },
+                "Super Brugsen": {
+                    "count": 67
+                },
+                "Дикси": {
+                    "count": 683
+                },
+                "Пятёрочка": {
+                    "count": 1344
+                },
+                "Publix": {
+                    "count": 339
+                },
+                "Føtex": {
+                    "count": 66
+                },
+                "coop": {
+                    "count": 73
+                },
+                "Fressnapf": {
+                    "count": 69
+                },
+                "Coop Konsum": {
+                    "count": 79
+                },
+                "Carrefour Contact": {
+                    "count": 83
+                },
+                "No Frills": {
+                    "count": 105
+                },
+                "Plodine": {
+                    "count": 52
+                },
+                "ADEG": {
+                    "count": 68
+                },
+                "Minipreço": {
+                    "count": 111
+                },
+                "Biedronka": {
+                    "count": 1335
+                },
+                "Eurospin": {
+                    "count": 155
+                },
+                "Семья": {
+                    "count": 62
+                },
+                "Gadis": {
+                    "count": 53
+                },
+                "Евроопт": {
+                    "count": 68
+                },
+                "Centra": {
+                    "count": 51
+                },
+                "Квартал": {
+                    "count": 82
+                },
+                "New World": {
+                    "count": 69
+                },
+                "Countdown": {
+                    "count": 95
+                },
+                "Reliance Fresh": {
+                    "count": 61
+                },
+                "Stokrotka": {
+                    "count": 98
+                },
+                "Coop Jednota": {
+                    "count": 74
+                },
+                "Fred Meyer": {
+                    "count": 64
+                },
+                "Irma": {
+                    "count": 58
+                },
+                "Continente": {
+                    "count": 75
+                },
+                "Price Chopper": {
+                    "count": 99
+                },
+                "Game": {
+                    "count": 52
+                },
+                "Soriana": {
+                    "count": 93
+                },
+                "Alimerka": {
+                    "count": 64
+                },
+                "Piotr i Paweł": {
+                    "count": 53
+                },
+                "Перекресток": {
+                    "count": 312
+                },
+                "Maxima X": {
+                    "count": 117
+                },
+                "Карусель": {
+                    "count": 55
+                },
+                "ALDI Nord": {
+                    "count": 51
+                },
+                "Condis": {
+                    "count": 67
+                },
+                "Sam's Club": {
+                    "count": 138
+                },
+                "Копейка": {
+                    "count": 87
+                },
+                "Géant Casino": {
+                    "count": 54
+                },
+                "ASDA": {
+                    "count": 180
+                },
+                "Intermarche": {
+                    "count": 115
+                },
+                "Stop & Shop": {
+                    "count": 66
+                },
+                "Food Lion": {
+                    "count": 216
+                },
+                "Harris Teeter": {
+                    "count": 92
+                },
+                "Foodworks": {
+                    "count": 62
+                },
+                "Polo Market": {
+                    "count": 86
+                },
+                "Лента": {
+                    "count": 51
+                },
+                "西友 (SEIYU)": {
+                    "count": 58
+                },
+                "H-E-B": {
+                    "count": 293
+                },
+                "Атак": {
+                    "count": 53
+                },
+                "Полушка": {
+                    "count": 139
+                },
+                "Extra": {
+                    "count": 82
+                },
+                "Lewiatan": {
+                    "count": 94
+                },
+                "Sigma": {
+                    "count": 51
+                },
+                "АТБ": {
+                    "count": 322
+                },
+                "Społem": {
+                    "count": 55
+                },
+                "Bodega Aurrera": {
+                    "count": 82
+                },
+                "Tesco Lotus": {
+                    "count": 77
+                },
+                "Мария-Ра": {
+                    "count": 108
+                },
+                "Магнолия": {
+                    "count": 72
+                },
+                "Магазин": {
+                    "count": 120
+                },
+                "Монетка": {
+                    "count": 174
+                },
+                "Hy-Vee": {
+                    "count": 75
+                },
+                "Walmart Supercenter": {
+                    "count": 133
+                },
+                "Hannaford": {
+                    "count": 57
+                },
+                "Wegmans": {
+                    "count": 83
+                },
+                "業務スーパー": {
+                    "count": 61
+                },
+                "Norfa XL": {
+                    "count": 55
+                },
+                "ヨークマート (YorkMart)": {
+                    "count": 64
+                },
+                "Leclerc Drive": {
+                    "count": 76
+                }
+            },
+            "electronics": {
+                "Media Markt": {
+                    "count": 285
+                },
+                "Maplin": {
+                    "count": 65
+                },
+                "Best Buy": {
+                    "count": 345
+                },
+                "Future Shop": {
+                    "count": 73
+                },
+                "Saturn": {
+                    "count": 134
+                },
+                "Currys": {
+                    "count": 80
+                },
+                "Radio Shack": {
+                    "count": 269
+                },
+                "Euronics": {
+                    "count": 115
+                },
+                "Expert": {
+                    "count": 123
+                },
+                "Эльдорадо": {
+                    "count": 184
+                },
+                "Darty": {
+                    "count": 74
+                },
+                "М.Видео": {
+                    "count": 89
+                },
+                "ヤマダ電機": {
+                    "count": 51
+                }
+            },
+            "convenience": {
+                "Shell": {
+                    "count": 255
+                },
+                "Spar": {
+                    "count": 1119
+                },
+                "McColl's": {
+                    "count": 100
+                },
+                "Tesco Express": {
+                    "count": 426
+                },
+                "Sainsbury's Local": {
+                    "count": 104
+                },
+                "Aral": {
+                    "count": 56
+                },
+                "One Stop": {
+                    "count": 146
+                },
+                "The Co-operative Food": {
+                    "count": 115
+                },
+                "Londis": {
+                    "count": 352
+                },
+                "7-Eleven": {
+                    "count": 4440
+                },
+                "CBA": {
+                    "count": 135
+                },
+                "Coop": {
+                    "count": 678
+                },
+                "Sale": {
+                    "count": 80
+                },
+                "Statoil": {
+                    "count": 69
+                },
+                "Sheetz": {
+                    "count": 54
+                },
+                "Konzum": {
+                    "count": 173
+                },
+                "Siwa": {
+                    "count": 216
+                },
+                "Mercator": {
+                    "count": 57
+                },
+                "Esso": {
+                    "count": 67
+                },
+                "COOP Jednota": {
+                    "count": 181
+                },
+                "Mac's": {
+                    "count": 152
+                },
+                "Alepa": {
+                    "count": 62
+                },
+                "Hasty Market": {
+                    "count": 54
+                },
+                "K-Market": {
+                    "count": 54
+                },
+                "Costcutter": {
+                    "count": 292
+                },
+                "Valintatalo": {
+                    "count": 62
+                },
+                "Casino": {
+                    "count": 90
+                },
+                "Franprix": {
+                    "count": 61
+                },
+                "Circle K": {
+                    "count": 289
+                },
+                "セブンイレブン": {
+                    "count": 3011,
+                    "tags": {
+                        "name:en": "7-Eleven"
+                    }
+                },
+                "ローソン": {
+                    "count": 1596,
+                    "tags": {
+                        "name:en": "LAWSON"
+                    }
+                },
+                "BP": {
+                    "count": 163
+                },
+                "Tesco": {
+                    "count": 55
+                },
+                "Petit Casino": {
+                    "count": 233
+                },
+                "Volg": {
+                    "count": 116
+                },
+                "Mace": {
+                    "count": 115
+                },
+                "Mini Market": {
+                    "count": 272
+                },
+                "Nisa Local": {
+                    "count": 77
+                },
+                "Dorfladen": {
+                    "count": 75
+                },
+                "Продукты": {
+                    "count": 4285
+                },
+                "Mini Stop": {
+                    "count": 228
+                },
+                "LAWSON": {
+                    "count": 419
+                },
+                "デイリーヤマザキ": {
+                    "count": 141
+                },
+                "Biedronka": {
+                    "count": 83
+                },
+                "Надежда": {
+                    "count": 56
+                },
+                "Mobil": {
+                    "count": 66
+                },
+                "Nisa": {
+                    "count": 51
+                },
+                "Premier": {
+                    "count": 129
+                },
+                "ABC": {
+                    "count": 152
+                },
+                "ミニストップ": {
+                    "count": 316,
+                    "tags": {
+                        "name:en": "MINISTOP"
+                    }
+                },
+                "サンクス": {
+                    "count": 560,
+                    "tags": {
+                        "name:en": "sunkus"
+                    }
+                },
+                "スリーエフ": {
+                    "count": 88
+                },
+                "8 à Huit": {
+                    "count": 61
+                },
+                "Tchibo": {
+                    "count": 56
+                },
+                "Żabka": {
+                    "count": 546
+                },
+                "Almacen": {
+                    "count": 229
+                },
+                "Vival": {
+                    "count": 194
+                },
+                "FamilyMart": {
+                    "count": 529
+                },
+                "ファミリーマート": {
+                    "count": 1608,
+                    "tags": {
+                        "name:en": "FamilyMart"
+                    }
+                },
+                "Carrefour City": {
+                    "count": 57
+                },
+                "Sunkus": {
+                    "count": 62
+                },
+                "Casey's General Store": {
+                    "count": 95
+                },
+                "セブンイレブン(Seven-Eleven)": {
+                    "count": 65
+                },
+                "Jednota": {
+                    "count": 58
+                },
+                "Магазин": {
+                    "count": 915
+                },
+                "Гастроном": {
+                    "count": 152
+                },
+                "Centra": {
+                    "count": 111
+                },
+                "Магнит": {
+                    "count": 701
+                },
+                "サークルK": {
+                    "count": 538,
+                    "tags": {
+                        "name:en": "Circle K"
+                    }
+                },
+                "Wawa": {
+                    "count": 135
+                },
+                "Proxi": {
+                    "count": 123
+                },
+                "Универсам": {
+                    "count": 78
+                },
+                "Перекресток": {
+                    "count": 51
+                },
+                "Groszek": {
+                    "count": 65
+                },
+                "Select": {
+                    "count": 62
+                },
+                "Večerka": {
+                    "count": 51
+                },
+                "Potraviny": {
+                    "count": 249
+                },
+                "Смак": {
+                    "count": 78
+                },
+                "Эконом": {
+                    "count": 55
+                },
+                "Березка": {
+                    "count": 77
+                },
+                "Społem": {
+                    "count": 93
+                },
+                "Carrefour Express": {
+                    "count": 84
+                },
+                "Cumberland Farms": {
+                    "count": 63
+                },
+                "Chevron": {
+                    "count": 59
+                },
+                "Coop Jednota": {
+                    "count": 66
+                },
+                "Tesco Lotus Express": {
+                    "count": 67
+                },
+                "Kiosk": {
+                    "count": 55
+                },
+                "Sklep spożywczy": {
+                    "count": 130
+                },
+                "24 часа": {
+                    "count": 58
+                },
+                "Минимаркет": {
+                    "count": 102
+                },
+                "Oxxo": {
+                    "count": 669
+                },
+                "Пятёрочка": {
+                    "count": 398
+                },
+                "abc": {
+                    "count": 74
+                },
+                "7/11": {
+                    "count": 51
+                },
+                "Stewart's": {
+                    "count": 255
+                },
+                "Продукти": {
+                    "count": 171
+                },
+                "ローソンストア100 (LAWSON STORE 100)": {
+                    "count": 85
+                },
+                "Дикси": {
+                    "count": 119
+                },
+                "Радуга": {
+                    "count": 86
+                },
+                "ローソンストア100": {
+                    "count": 76
+                },
+                "เซเว่นอีเลฟเว่น": {
+                    "count": 185
+                },
+                "Delikatesy Centrum": {
+                    "count": 53
+                },
+                "Citgo": {
+                    "count": 62
+                },
+                "Фортуна": {
+                    "count": 51
+                },
+                "Kum & Go": {
+                    "count": 59
+                },
+                "Мария-Ра": {
+                    "count": 76
+                },
+                "Picard": {
+                    "count": 57
+                },
+                "Four Square": {
+                    "count": 52
+                },
+                "Визит": {
+                    "count": 57
+                },
+                "Авоська": {
+                    "count": 55
+                },
+                "Dollar General": {
+                    "count": 127
+                },
+                "Studenac": {
+                    "count": 76
+                },
+                "Central Convenience Store": {
+                    "count": 55
+                },
+                "Монетка": {
+                    "count": 62
+                },
+                "продукты": {
+                    "count": 114
+                },
+                "Теремок": {
+                    "count": 56
+                },
+                "Kwik Trip": {
+                    "count": 69
+                },
+                "Кулинария": {
+                    "count": 55
+                },
+                "全家": {
+                    "count": 90
+                },
+                "Мечта": {
+                    "count": 54
+                },
+                "Epicerie": {
+                    "count": 102
+                },
+                "Кировский": {
+                    "count": 67
+                },
+                "Food Mart": {
+                    "count": 117
+                },
+                "Delikatesy": {
+                    "count": 81
+                },
+                "ポプラ": {
+                    "count": 54
+                },
+                "Lewiatan": {
+                    "count": 135
+                },
+                "Продуктовый магазин": {
+                    "count": 149
+                },
+                "Продуктовый": {
+                    "count": 84
+                },
+                "セイコーマート (Seicomart)": {
+                    "count": 72
+                },
+                "Виктория": {
+                    "count": 70
+                },
+                "Весна": {
+                    "count": 57
+                },
+                "Mini Market Non-Stop": {
+                    "count": 60
+                },
+                "QuikTrip": {
+                    "count": 75
+                },
+                "Копеечка": {
+                    "count": 51
+                },
+                "Royal Farms": {
+                    "count": 51
+                },
+                "Alfamart": {
+                    "count": 103
+                },
+                "Indomaret": {
+                    "count": 141
+                },
+                "магазин": {
+                    "count": 171
+                },
+                "全家便利商店": {
+                    "count": 156
+                },
+                "Boutique": {
+                    "count": 59
+                },
+                "მარკეტი (Market)": {
+                    "count": 144
+                },
+                "Stores": {
+                    "count": 61
+                }
+            },
+            "chemist": {
+                "dm": {
+                    "count": 939
+                },
+                "Müller": {
+                    "count": 212
+                },
+                "Schlecker": {
+                    "count": 187
+                },
+                "Etos": {
+                    "count": 467
+                },
+                "Bipa": {
+                    "count": 289
+                },
+                "Rossmann": {
+                    "count": 1669
+                },
+                "DM Drogeriemarkt": {
+                    "count": 55
+                },
+                "Ihr Platz": {
+                    "count": 73
+                },
+                "Douglas": {
+                    "count": 62
+                },
+                "Kruidvat": {
+                    "count": 123
+                }
+            },
+            "car_repair": {
+                "Peugeot": {
+                    "count": 83
+                },
+                "Kwik Fit": {
+                    "count": 128
+                },
+                "ATU": {
+                    "count": 261
+                },
+                "Midas": {
+                    "count": 202
+                },
+                "Feu Vert": {
+                    "count": 113
+                },
+                "Norauto": {
+                    "count": 152
+                },
+                "Speedy": {
+                    "count": 115
+                },
+                "Автозапчасти": {
+                    "count": 212
+                },
+                "Renault": {
+                    "count": 171
+                },
+                "Pit Stop": {
+                    "count": 58
+                },
+                "Jiffy Lube": {
+                    "count": 198
+                },
+                "Шиномонтаж": {
+                    "count": 1157
+                },
+                "СТО": {
+                    "count": 395
+                },
+                "O'Reilly Auto Parts": {
+                    "count": 81
+                },
+                "Carglass": {
+                    "count": 112
+                },
+                "шиномонтаж": {
+                    "count": 62
+                },
+                "Citroen": {
+                    "count": 51
+                },
+                "Euromaster": {
+                    "count": 87
+                },
+                "Firestone": {
+                    "count": 88
+                },
+                "Автосервис": {
+                    "count": 361
+                },
+                "Advance Auto Parts": {
+                    "count": 52
+                },
+                "Roady": {
+                    "count": 56
+                }
+            },
+            "furniture": {
+                "IKEA": {
+                    "count": 169
+                },
+                "Jysk": {
+                    "count": 109
+                },
+                "Roller": {
+                    "count": 78
+                },
+                "Dänisches Bettenlager": {
+                    "count": 309
+                },
+                "Conforama": {
+                    "count": 99
+                },
+                "Matratzen Concord": {
+                    "count": 52
+                },
+                "Мебель": {
+                    "count": 210
+                },
+                "But": {
+                    "count": 63
+                }
+            },
+            "doityourself": {
+                "Hornbach": {
+                    "count": 123
+                },
+                "B&Q": {
+                    "count": 225
+                },
+                "Hubo": {
+                    "count": 77
+                },
+                "Mr Bricolage": {
+                    "count": 88
+                },
+                "Gamma": {
+                    "count": 111
+                },
+                "OBI": {
+                    "count": 422
+                },
+                "Lowes": {
+                    "count": 1152
+                },
+                "Wickes": {
+                    "count": 123
+                },
+                "Hagebau": {
+                    "count": 59
+                },
+                "Max Bahr": {
+                    "count": 79
+                },
+                "Castorama": {
+                    "count": 153
+                },
+                "Rona": {
+                    "count": 61
+                },
+                "Home Depot": {
+                    "count": 865
+                },
+                "Toom Baumarkt": {
+                    "count": 71
+                },
+                "Homebase": {
+                    "count": 225
+                },
+                "Baumax": {
+                    "count": 95
+                },
+                "Lagerhaus": {
+                    "count": 79
+                },
+                "Bauhaus": {
+                    "count": 186
+                },
+                "Canadian Tire": {
+                    "count": 97
+                },
+                "Leroy Merlin": {
+                    "count": 209
+                },
+                "Hellweg": {
+                    "count": 58
+                },
+                "Brico": {
+                    "count": 98
+                },
+                "Bricomarché": {
+                    "count": 235
+                },
+                "Toom": {
+                    "count": 67
+                },
+                "Hagebaumarkt": {
+                    "count": 107
+                },
+                "Praktiker": {
+                    "count": 122
+                },
+                "Menards": {
+                    "count": 70
+                },
+                "Weldom": {
+                    "count": 73
+                },
+                "Bunnings Warehouse": {
+                    "count": 91
+                },
+                "Ace Hardware": {
+                    "count": 147
+                },
+                "Home Hardware": {
+                    "count": 72
+                },
+                "Хозтовары": {
+                    "count": 86
+                },
+                "Стройматериалы": {
+                    "count": 197
+                },
+                "Bricorama": {
+                    "count": 60
+                },
+                "Point P": {
+                    "count": 59
+                }
+            },
+            "stationery": {
+                "Staples": {
+                    "count": 299
+                },
+                "McPaper": {
+                    "count": 83
+                },
+                "Office Depot": {
+                    "count": 98
+                },
+                "Канцтовары": {
+                    "count": 63
+                }
+            },
+            "car": {
+                "Skoda": {
+                    "count": 97
+                },
+                "BMW": {
+                    "count": 149
+                },
+                "Citroen": {
+                    "count": 277
+                },
+                "Renault": {
+                    "count": 382
+                },
+                "Mercedes-Benz": {
+                    "count": 235
+                },
+                "Volvo": {
+                    "count": 96
+                },
+                "Ford": {
+                    "count": 239
+                },
+                "Volkswagen": {
+                    "count": 217
+                },
+                "Mazda": {
+                    "count": 105
+                },
+                "Mitsubishi": {
+                    "count": 73
+                },
+                "Fiat": {
+                    "count": 93
+                },
+                "Автозапчасти": {
+                    "count": 277
+                },
+                "Opel": {
+                    "count": 165
+                },
+                "Audi": {
+                    "count": 121
+                },
+                "Toyota": {
+                    "count": 271
+                },
+                "Nissan": {
+                    "count": 189
+                },
+                "Suzuki": {
+                    "count": 75
+                },
+                "Honda": {
+                    "count": 157
+                },
+                "Peugeot": {
+                    "count": 308
+                },
+                "Шиномонтаж": {
+                    "count": 259
+                },
+                "Hyundai": {
+                    "count": 166
+                },
+                "Subaru": {
+                    "count": 58
+                },
+                "Chevrolet": {
+                    "count": 86
+                },
+                "Автомагазин": {
+                    "count": 72
+                }
+            },
+            "clothes": {
+                "Matalan": {
+                    "count": 90
+                },
+                "KiK": {
+                    "count": 1219
+                },
+                "H&M": {
+                    "count": 658
+                },
+                "Urban Outfitters": {
+                    "count": 63
+                },
+                "Vögele": {
+                    "count": 132
+                },
+                "Zeeman": {
+                    "count": 121
+                },
+                "Takko": {
+                    "count": 515
+                },
+                "Adler": {
+                    "count": 55
+                },
+                "C&A": {
+                    "count": 506
+                },
+                "Zara": {
+                    "count": 217
+                },
+                "Vero Moda": {
+                    "count": 95
+                },
+                "NKD": {
+                    "count": 486
+                },
+                "Ernsting's family": {
+                    "count": 312
+                },
+                "Winners": {
+                    "count": 65
+                },
+                "River Island": {
+                    "count": 59
+                },
+                "Next": {
+                    "count": 176
+                },
+                "Gap": {
+                    "count": 81
+                },
+                "Adidas": {
+                    "count": 92
+                },
+                "Woolworths": {
+                    "count": 117
+                },
+                "Mr Price": {
+                    "count": 88
+                },
+                "Jet": {
+                    "count": 61
+                },
+                "Pep": {
+                    "count": 134
+                },
+                "Edgars": {
+                    "count": 110
+                },
+                "Ackermans": {
+                    "count": 91
+                },
+                "Truworths": {
+                    "count": 65
+                },
+                "Ross": {
+                    "count": 93
+                },
+                "Burton": {
+                    "count": 51
+                },
+                "Dorothy Perkins": {
+                    "count": 53
+                },
+                "Deichmann": {
+                    "count": 61
+                },
+                "Lindex": {
+                    "count": 73
+                },
+                "s.Oliver": {
+                    "count": 56
+                },
+                "Cecil": {
+                    "count": 51
+                },
+                "Dress Barn": {
+                    "count": 52
+                },
+                "Old Navy": {
+                    "count": 174
+                },
+                "Jack & Jones": {
+                    "count": 52
+                },
+                "Pimkie": {
+                    "count": 73
+                },
+                "Esprit": {
+                    "count": 231
+                },
+                "Primark": {
+                    "count": 92
+                },
+                "Bonita": {
+                    "count": 155
+                },
+                "Mexx": {
+                    "count": 67
+                },
+                "Gerry Weber": {
+                    "count": 71
+                },
+                "Tally Weijl": {
+                    "count": 70
+                },
+                "Mango": {
+                    "count": 133
+                },
+                "TK Maxx": {
+                    "count": 84
+                },
+                "Benetton": {
+                    "count": 101
+                },
+                "Ulla Popken": {
+                    "count": 61
+                },
+                "AWG": {
+                    "count": 66
+                },
+                "Tommy Hilfiger": {
+                    "count": 75
+                },
+                "New Yorker": {
+                    "count": 180
+                },
+                "Orsay": {
+                    "count": 73
+                },
+                "Jeans Fritz": {
+                    "count": 51
+                },
+                "Charles Vögele": {
+                    "count": 69
+                },
+                "New Look": {
+                    "count": 126
+                },
+                "Lacoste": {
+                    "count": 78
+                },
+                "Etam": {
+                    "count": 53
+                },
+                "Kiabi": {
+                    "count": 148
+                },
+                "Jack Wolfskin": {
+                    "count": 60
+                },
+                "American Apparel": {
+                    "count": 57
+                },
+                "Men's Wearhouse": {
+                    "count": 54
+                },
+                "Intimissimi": {
+                    "count": 52
+                },
+                "United Colors of Benetton": {
+                    "count": 96
+                },
+                "Jules": {
+                    "count": 63
+                },
+                "Second Hand": {
+                    "count": 53
+                },
+                "AOKI": {
+                    "count": 57
+                },
+                "Calzedonia": {
+                    "count": 68
+                },
+                "洋服の青山": {
+                    "count": 100
+                },
+                "Levi's": {
+                    "count": 63
+                },
+                "Celio": {
+                    "count": 74
+                },
+                "TJ Maxx": {
+                    "count": 57
+                },
+                "Promod": {
+                    "count": 82
+                },
+                "Street One": {
+                    "count": 72
+                },
+                "ユニクロ": {
+                    "count": 59
+                },
+                "Banana Republic": {
+                    "count": 57
+                },
+                "Одежда": {
+                    "count": 75
+                },
+                "Marshalls": {
+                    "count": 56
+                },
+                "La Halle": {
+                    "count": 62
+                },
+                "Peacocks": {
+                    "count": 89
+                },
+                "しまむら": {
+                    "count": 60
+                }
+            },
+            "books": {
+                "Bruna": {
+                    "count": 58
+                },
+                "Waterstones": {
+                    "count": 90
+                },
+                "Libro": {
+                    "count": 57
+                },
+                "Barnes & Noble": {
+                    "count": 267
+                },
+                "Weltbild": {
+                    "count": 74
+                },
+                "Thalia": {
+                    "count": 121
+                },
+                "Книги": {
+                    "count": 112
+                }
+            },
+            "department_store": {
+                "Debenhams": {
+                    "count": 67
+                },
+                "Canadian Tire": {
+                    "count": 75
+                },
+                "Karstadt": {
+                    "count": 64
+                },
+                "Walmart": {
+                    "count": 517
+                },
+                "Kmart": {
+                    "count": 143
+                },
+                "Target": {
+                    "count": 574
+                },
+                "Galeria Kaufhof": {
+                    "count": 61
+                },
+                "Marks & Spencer": {
+                    "count": 66
+                },
+                "Big W": {
+                    "count": 57
+                },
+                "Woolworth": {
+                    "count": 78
+                },
+                "Универмаг": {
+                    "count": 72
+                },
+                "Sears": {
+                    "count": 235
+                },
+                "Walmart Supercenter": {
+                    "count": 101
+                },
+                "Kohl's": {
+                    "count": 153
+                },
+                "Macy's": {
+                    "count": 147
+                },
+                "Sam's Club": {
+                    "count": 54
+                },
+                "JCPenney": {
+                    "count": 66
+                }
+            },
+            "alcohol": {
+                "Alko": {
+                    "count": 145
+                },
+                "The Beer Store": {
+                    "count": 150
+                },
+                "Systembolaget": {
+                    "count": 210
+                },
+                "LCBO": {
+                    "count": 239
+                },
+                "Ароматный мир": {
+                    "count": 62
+                },
+                "Bargain Booze": {
+                    "count": 62
+                },
+                "Nicolas": {
+                    "count": 119
+                },
+                "BWS": {
+                    "count": 70
+                },
+                "Botilleria": {
+                    "count": 77
+                },
+                "SAQ": {
+                    "count": 72
+                },
+                "Gall & Gall": {
+                    "count": 512
+                },
+                "Живое пиво": {
+                    "count": 70
+                }
+            },
+            "bakery": {
+                "Kamps": {
+                    "count": 252
+                },
+                "Banette": {
+                    "count": 52
+                },
+                "Bäckerei Schmidt": {
+                    "count": 57
+                },
+                "Anker": {
+                    "count": 73
+                },
+                "Hofpfisterei": {
+                    "count": 111
+                },
+                "Greggs": {
+                    "count": 276
+                },
+                "Oebel": {
+                    "count": 57
+                },
+                "Boulangerie": {
+                    "count": 266
+                },
+                "Stadtbäckerei": {
+                    "count": 57
+                },
+                "Steinecke": {
+                    "count": 145
+                },
+                "Ihle": {
+                    "count": 76
+                },
+                "Goldilocks": {
+                    "count": 59
+                },
+                "Dat Backhus": {
+                    "count": 67
+                },
+                "K&U": {
+                    "count": 61
+                },
+                "Der Beck": {
+                    "count": 96
+                },
+                "Thürmann": {
+                    "count": 54
+                },
+                "Backwerk": {
+                    "count": 95
+                },
+                "Schäfer's": {
+                    "count": 51
+                },
+                "Panaderia": {
+                    "count": 168
+                },
+                "Goeken backen": {
+                    "count": 51
+                },
+                "Stadtbäckerei Junge": {
+                    "count": 51
+                },
+                "Boulangerie Patisserie": {
+                    "count": 119
+                },
+                "Paul": {
+                    "count": 81
+                },
+                "Хлеб": {
+                    "count": 89
+                },
+                "Пекарня": {
+                    "count": 52
+                },
+                "Кулиничи": {
+                    "count": 51
+                }
+            },
+            "sports": {
+                "Sports Direct": {
+                    "count": 57
+                },
+                "Decathlon": {
+                    "count": 309
+                },
+                "Intersport": {
+                    "count": 283
+                },
+                "Sports Authority": {
+                    "count": 75
+                },
+                "Спортмастер": {
+                    "count": 87
+                },
+                "Sport 2000": {
+                    "count": 90
+                },
+                "Dick's Sporting Goods": {
+                    "count": 77
+                }
+            },
+            "variety_store": {
+                "Tedi": {
+                    "count": 157
+                },
+                "Dollarama": {
+                    "count": 103
+                },
+                "Family Dollar": {
+                    "count": 61
+                },
+                "Dollar Tree": {
+                    "count": 110
+                },
+                "Dollar General": {
+                    "count": 80
+                }
+            },
+            "pet": {
+                "Fressnapf": {
+                    "count": 318
+                },
+                "PetSmart": {
+                    "count": 177
+                },
+                "Das Futterhaus": {
+                    "count": 69
+                },
+                "Pets at Home": {
+                    "count": 62
+                },
+                "Petco": {
+                    "count": 101
+                },
+                "Зоомагазин": {
+                    "count": 100
+                }
+            },
+            "shoes": {
+                "Deichmann": {
+                    "count": 622
+                },
+                "Reno": {
+                    "count": 183
+                },
+                "Ecco": {
+                    "count": 55
+                },
+                "Clarks": {
+                    "count": 109
+                },
+                "La Halle aux Chaussures": {
+                    "count": 69
+                },
+                "Brantano": {
+                    "count": 71
+                },
+                "Geox": {
+                    "count": 51
+                },
+                "Salamander": {
+                    "count": 51
+                },
+                "Обувь": {
+                    "count": 100
+                },
+                "Payless Shoe Source": {
+                    "count": 67
+                },
+                "Famous Footwear": {
+                    "count": 59
+                },
+                "Quick Schuh": {
+                    "count": 72
+                },
+                "Shoe Zone": {
+                    "count": 55
+                },
+                "Foot Locker": {
+                    "count": 82
+                },
+                "Bata": {
+                    "count": 101
+                },
+                "ЦентрОбувь": {
+                    "count": 51
+                }
+            },
+            "toys": {
+                "La Grande Récré": {
+                    "count": 56
+                },
+                "Toys R Us": {
+                    "count": 151,
+                    "tags": {
+                        "shop": "toys"
+                    }
+                },
+                "Intertoys": {
+                    "count": 57
+                },
+                "Детский мир": {
+                    "count": 86
+                },
+                "Игрушки": {
+                    "count": 58
+                }
+            },
+            "travel_agency": {
+                "Flight Centre": {
+                    "count": 92
+                },
+                "Thomas Cook": {
+                    "count": 119
+                }
+            },
+            "jewelry": {
+                "Bijou Brigitte": {
+                    "count": 57
+                },
+                "Christ": {
+                    "count": 57
+                },
+                "Swarovski": {
+                    "count": 74
+                }
+            },
+            "optician": {
+                "Fielmann": {
+                    "count": 232
+                },
+                "Apollo Optik": {
+                    "count": 150
+                },
+                "Vision Express": {
+                    "count": 58
+                },
+                "Оптика": {
+                    "count": 182
+                },
+                "Optic 2000": {
+                    "count": 98
+                },
+                "Alain Afflelou": {
+                    "count": 73
+                },
+                "Specsavers": {
+                    "count": 124
+                },
+                "Krys": {
+                    "count": 77
+                },
+                "Atol": {
+                    "count": 55
+                }
+            },
+            "video": {
+                "Blockbuster": {
+                    "count": 184
+                },
+                "World of Video": {
+                    "count": 64
+                }
+            },
+            "mobile_phone": {
+                "Билайн": {
+                    "count": 128
+                },
+                "ソフトバンクショップ (SoftBank shop)": {
+                    "count": 255
+                },
+                "Vodafone": {
+                    "count": 355
+                },
+                "O2": {
+                    "count": 208
+                },
+                "Carphone Warehouse": {
+                    "count": 127
+                },
+                "Orange": {
+                    "count": 246
+                },
+                "Verizon Wireless": {
+                    "count": 125
+                },
+                "Sprint": {
+                    "count": 109
+                },
+                "T-Mobile": {
+                    "count": 175
+                },
+                "МТС": {
+                    "count": 352
+                },
+                "Евросеть": {
+                    "count": 506
+                },
+                "Bell": {
+                    "count": 190
+                },
+                "The Phone House": {
+                    "count": 83
+                },
+                "SFR": {
+                    "count": 71
+                },
+                "Связной": {
+                    "count": 439
+                },
+                "Мегафон": {
+                    "count": 251
+                },
+                "AT&T": {
+                    "count": 124
+                },
+                "ドコモショップ (docomo shop)": {
+                    "count": 114
+                },
+                "au": {
+                    "count": 65
+                },
+                "Movistar": {
+                    "count": 77
+                },
+                "Bitė": {
+                    "count": 72
+                }
+            },
+            "hifi": {},
+            "computer": {
+                "PC World": {
+                    "count": 55
+                },
+                "DNS": {
+                    "count": 128
+                }
+            },
+            "hairdresser": {
+                "Klier": {
+                    "count": 119
+                },
+                "Supercuts": {
+                    "count": 106
+                },
+                "Hairkiller": {
+                    "count": 51
+                },
+                "Great Clips": {
+                    "count": 182
+                },
+                "Парикмахерская": {
+                    "count": 510
+                },
+                "Стиль": {
+                    "count": 51
+                },
+                "Franck Provost": {
+                    "count": 70
+                },
+                "Салон красоты": {
+                    "count": 70
+                }
+            },
+            "hardware": {
+                "1000 мелочей": {
+                    "count": 61
+                },
+                "Хозтовары": {
+                    "count": 151
+                },
+                "Стройматериалы": {
+                    "count": 54
+                }
+            },
+            "motorcycle": {
+                "Yamaha": {
+                    "count": 67
+                },
+                "Honda": {
+                    "count": 69
+                }
+            }
+        }
+    },
+    "addressFormats": [
+        {
+            "format": [
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "city",
+                    "postcode"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "gb"
+            ],
+            "format": [
+                [
+                    "housename"
+                ],
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "city",
+                    "postcode"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "ie"
+            ],
+            "format": [
+                [
+                    "housename"
+                ],
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "city"
+                ],
+                [
+                    "postcode"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "ad",
+                "at",
+                "ba",
+                "be",
+                "ch",
+                "cz",
+                "de",
+                "dk",
+                "es",
+                "fi",
+                "gr",
+                "hr",
+                "is",
+                "it",
+                "li",
+                "nl",
+                "no",
+                "pl",
+                "pt",
+                "se",
+                "si",
+                "sk",
+                "sm",
+                "va"
+            ],
+            "format": [
+                [
+                    "street",
+                    "housenumber"
+                ],
+                [
+                    "postcode",
+                    "city"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "fr",
+                "lu",
+                "mo"
+            ],
+            "format": [
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "postcode",
+                    "city"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "br"
+            ],
+            "format": [
+                [
+                    "street"
+                ],
+                [
+                    "housenumber",
+                    "suburb"
+                ],
+                [
+                    "city",
+                    "postcode"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "vn"
+            ],
+            "format": [
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "subdistrict"
+                ],
+                [
+                    "district"
+                ],
+                [
+                    "city"
+                ],
+                [
+                    "province",
+                    "postcode"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "us"
+            ],
+            "format": [
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "city",
+                    "state",
+                    "postcode"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "ca"
+            ],
+            "format": [
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "city",
+                    "province",
+                    "postcode"
+                ]
+            ]
+        }
+    ]
 };
\ No newline at end of file