Skip to content

Instantly share code, notes, and snippets.

@dnprock
Last active April 10, 2017 20:52
Show Gist options
  • Save dnprock/a6c320d205c474d113750b80fdc6e6f8 to your computer and use it in GitHub Desktop.
Save dnprock/a6c320d205c474d113750b80fdc6e6f8 to your computer and use it in GitHub Desktop.
Force Layout with auto zoom (canvas)

Document Template for vida.io

Github template for vida.io

Node and gulp are required. To run, use command: gulp

Access through browser at http://localhost:5000.

Describe your document in manifest.json. Format is as follows:

{
  "data": ["document.json"],
  "javascript": ["document.js"],
  "stylesheet": ["document.css"],
  "html": ["document.html"],
  "properties": [
    {"label":"Data Column 0 (X Axis)","name":"data0","type":"data_column","value":null},
    {"label":"Data Column 1 (Y Axis)","name":"data1","type":"data_column","value":null},
    {"label":"Label 0","name":"label0","type":"string","value":"label 0"},
    {"label":"Label 1","name":"label1","type":"string","value":"label 1"},
    {"label":"Color 0","name":"color0","type":"color","value":"#0f608b"},
    {"label":"Color 1","name":"color1","type":"color","value":"#99ccff"},
    {"label":"Width","name":"width","type":"number","value":800},
    {"label":"Height","name":"height","type":"number","value":400}
  ]
}

data: list of data files for your document
javascript: list of javascript files for your document
stylesheet: list of stylesheet files for your document
html: list of html files for your document
properties: external properties for vida.io user interface
properties.label: property label
properties.name: property name
properties.type: property type (string/number/boolean/color/data_column)
properties.value: default property value

Use sourceURL to enable debugging in Chrome:

//# sourceURL=document.js

Copyright Vida Lab Inc. 2014

License: BSD

!function() {
var d3 = {
version: "3.5.2"
};
if (!Date.now) Date.now = function() {
return +new Date();
};
var d3_arraySlice = [].slice, d3_array = function(list) {
return d3_arraySlice.call(list);
};
var d3_document = document, d3_documentElement = d3_document.documentElement, d3_window = window;
try {
d3_array(d3_documentElement.childNodes)[0].nodeType;
} catch (e) {
d3_array = function(list) {
var i = list.length, array = new Array(i);
while (i--) array[i] = list[i];
return array;
};
}
try {
d3_document.createElement("div").style.setProperty("opacity", 0, "");
} catch (error) {
var d3_element_prototype = d3_window.Element.prototype, d3_element_setAttribute = d3_element_prototype.setAttribute, d3_element_setAttributeNS = d3_element_prototype.setAttributeNS, d3_style_prototype = d3_window.CSSStyleDeclaration.prototype, d3_style_setProperty = d3_style_prototype.setProperty;
d3_element_prototype.setAttribute = function(name, value) {
d3_element_setAttribute.call(this, name, value + "");
};
d3_element_prototype.setAttributeNS = function(space, local, value) {
d3_element_setAttributeNS.call(this, space, local, value + "");
};
d3_style_prototype.setProperty = function(name, value, priority) {
d3_style_setProperty.call(this, name, value + "", priority);
};
}
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;
};
d3.min = function(array, f) {
var i = -1, n = array.length, a, b;
if (arguments.length === 1) {
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) 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;
};
d3.max = function(array, f) {
var i = -1, n = array.length, a, b;
if (arguments.length === 1) {
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) 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;
};
d3.extent = function(array, f) {
var i = -1, n = array.length, a, b, c;
if (arguments.length === 1) {
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) 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;
}
}
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 (d3_numeric(a = +array[i])) s += a;
} else {
while (++i < n) if (d3_numeric(a = +f.call(array, array[i], i))) s += a;
}
return s;
};
d3.mean = function(array, f) {
var s = 0, n = array.length, a, i = -1, j = n;
if (arguments.length === 1) {
while (++i < n) if (d3_numeric(a = d3_number(array[i]))) s += a; else --j;
} else {
while (++i < n) if (d3_numeric(a = d3_number(f.call(array, array[i], i)))) s += a; else --j;
}
if (j) return s / j;
};
d3.quantile = function(values, p) {
var H = (values.length - 1) * p + 1, h = Math.floor(H), v = +values[h - 1], e = H - h;
return e ? v + e * (values[h] - v) : v;
};
d3.median = function(array, f) {
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.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 (compare(a[mid], x) < 0) lo = mid + 1; else hi = mid;
}
return lo;
},
right: 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 (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;
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 + i0], array[m + i0] = array[i + i0], array[i + i0] = t;
}
return array;
};
d3.permute = function(array, indexes) {
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 [];
for (var i = -1, m = d3.min(arguments, d3_zipLength), zips = new Array(m); ++i < m; ) {
for (var j = -1, n, zip = zips[i] = new Array(n); ++j < n; ) {
zip[j] = arguments[j][i];
}
}
return zips;
};
function d3_zipLength(d) {
return d.length;
}
d3.transpose = function(matrix) {
return d3.zip.apply(d3, matrix);
};
d3.keys = function(map) {
var keys = [];
for (var key in map) keys.push(key);
return keys;
};
d3.values = function(map) {
var values = [];
for (var key in map) values.push(map[key]);
return values;
};
d3.entries = function(map) {
var entries = [];
for (var key in map) entries.push({
key: key,
value: map[key]
});
return entries;
};
d3.merge = function(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;
if (arguments.length < 2) {
stop = start;
start = 0;
}
}
if ((stop - start) / step === Infinity) throw new Error("infinite range");
var range = [], k = d3_range_integerScale(abs(step)), i = -1, j;
start *= k, stop *= k, step *= k;
if (step < 0) while ((j = start + step * ++i) > stop) range.push(j / k); else while ((j = start + step * ++i) < stop) range.push(j / k);
return range;
};
function d3_range_integerScale(x) {
var k = 1;
while (x * k % 1) k *= 10;
return k;
}
function d3_class(ctor, properties) {
for (var key in properties) {
Object.defineProperty(ctor.prototype, key, {
value: properties[key],
enumerable: false
});
}
}
d3.map = function(object, f) {
var map = new d3_Map();
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() {
this._ = Object.create(null);
}
var d3_map_proto = "__proto__", d3_map_zero = "\x00";
d3_class(d3_Map, {
has: d3_map_has,
get: function(key) {
return this._[d3_map_escape(key)];
},
set: function(key, value) {
return this._[d3_map_escape(key)] = value;
},
remove: d3_map_remove,
keys: d3_map_keys,
values: function() {
var values = [];
for (var key in this._) values.push(this._[key]);
return values;
},
entries: function() {
var entries = [];
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._) f.call(this, d3_map_unescape(key), this._[key]);
}
});
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 = {}, keys = [], sortKeys = [], sortValues, rollup;
function map(mapType, array, depth) {
if (depth >= keys.length) return rollup ? rollup.call(nest, array) : sortValues ? array.sort(sortValues) : array;
var i = -1, n = array.length, key = keys[depth++], keyValue, object, setter, valuesByKey = new d3_Map(), values;
while (++i < n) {
if (values = valuesByKey.get(keyValue = key(object = array[i]))) {
values.push(object);
} else {
valuesByKey.set(keyValue, [ object ]);
}
}
if (mapType) {
object = mapType();
setter = function(keyValue, values) {
object.set(keyValue, map(mapType, values, depth));
};
} else {
object = {};
setter = function(keyValue, values) {
object[keyValue] = map(mapType, values, depth);
};
}
valuesByKey.forEach(setter);
return object;
}
function entries(map, depth) {
if (depth >= keys.length) return map;
var array = [], sortKey = sortKeys[depth++];
map.forEach(function(key, keyMap) {
array.push({
key: key,
values: entries(keyMap, depth)
});
});
return sortKey ? array.sort(function(a, b) {
return sortKey(a.key, b.key);
}) : array;
}
nest.map = function(array, mapType) {
return map(mapType, array, 0);
};
nest.entries = function(array) {
return entries(map(d3.map, array, 0), 0);
};
nest.key = function(d) {
keys.push(d);
return nest;
};
nest.sortKeys = function(order) {
sortKeys[keys.length - 1] = order;
return nest;
};
nest.sortValues = function(order) {
sortValues = order;
return nest;
};
nest.rollup = function(f) {
rollup = f;
return nest;
};
return nest;
};
d3.set = function(array) {
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() {
this._ = Object.create(null);
}
d3_class(d3_Set, {
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 key in this._) f.call(this, d3_map_unescape(key));
}
});
d3.behavior = {};
d3.rebind = function(target, source) {
var i = 1, n = arguments.length, method;
while (++i < n) target[method = arguments[i]] = d3_rebind(target, source, source[method]);
return target;
};
function d3_rebind(target, source, method) {
return function() {
var value = method.apply(source, arguments);
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" ];
function d3_noop() {}
d3.dispatch = function() {
var dispatch = new d3_dispatch(), i = -1, n = arguments.length;
while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);
return dispatch;
};
function d3_dispatch() {}
d3_dispatch.prototype.on = function(type, listener) {
var i = type.indexOf("."), name = "";
if (i >= 0) {
name = type.slice(i + 1);
type = type.slice(0, i);
}
if (type) return arguments.length < 2 ? this[type].on(name) : this[type].on(name, listener);
if (arguments.length === 2) {
if (listener == null) for (type in this) {
if (this.hasOwnProperty(type)) this[type].on(name, null);
}
return this;
}
};
function d3_dispatch_event(dispatch) {
var listeners = [], listenerByName = new d3_Map();
function event() {
var z = listeners, i = -1, n = z.length, l;
while (++i < n) if (l = z[i].on) l.apply(this, arguments);
return dispatch;
}
event.on = function(name, listener) {
var l = listenerByName.get(name), i;
if (arguments.length < 2) return l && l.on;
if (l) {
l.on = null;
listeners = listeners.slice(0, i = listeners.indexOf(l)).concat(listeners.slice(i + 1));
listenerByName.remove(name);
}
if (listener) listeners.push(listenerByName.set(name, {
on: listener
}));
return dispatch;
};
return event;
}
d3.event = null;
function d3_eventPreventDefault() {
d3.event.preventDefault();
}
function d3_eventSource() {
var e = d3.event, s;
while (s = e.sourceEvent) e = s;
return e;
}
function d3_eventDispatch(target) {
var dispatch = new d3_dispatch(), i = 0, n = arguments.length;
while (++i < n) dispatch[arguments[i]] = d3_dispatch_event(dispatch);
dispatch.of = function(thiz, argumentz) {
return function(e1) {
try {
var e0 = e1.sourceEvent = d3.event;
e1.target = target;
d3.event = e1;
dispatch[e1.type].apply(thiz, argumentz);
} finally {
d3.event = e0;
}
};
};
return dispatch;
}
d3.requote = function(s) {
return s.replace(d3_requote_re, "\\$&");
};
var d3_requote_re = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;
var d3_subclass = {}.__proto__ ? function(object, prototype) {
object.__proto__ = prototype;
} : function(object, prototype) {
for (var property in prototype) object[property] = prototype[property];
};
function d3_selection(groups) {
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_selectMatcher = d3_documentElement.matches || d3_documentElement[d3_vendorSymbol(d3_documentElement, "matchesSelector")], d3_selectMatches = function(n, s) {
return d3_selectMatcher.call(n, s);
};
if (typeof Sizzle === "function") {
d3_select = function(s, n) {
return Sizzle(s, n)[0] || null;
};
d3_selectAll = Sizzle;
d3_selectMatches = Sizzle.matchesSelector;
}
d3.selection = function() {
return d3_selectionRoot;
};
var d3_selectionPrototype = d3.selection.prototype = [];
d3_selectionPrototype.select = function(selector) {
var subgroups = [], subgroup, subnode, group, node;
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, j));
if (subnode && "__data__" in node) subnode.__data__ = node.__data__;
} else {
subgroup.push(null);
}
}
}
return d3_selection(subgroups);
};
function d3_selection_selector(selector) {
return typeof selector === "function" ? selector : function() {
return d3_select(selector, this);
};
}
d3_selectionPrototype.selectAll = function(selector) {
var subgroups = [], subgroup, node;
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, j)));
subgroup.parentNode = node;
}
}
}
return d3_selection(subgroups);
};
function d3_selection_selectorAll(selector) {
return typeof selector === "function" ? selector : function() {
return d3_selectAll(selector, this);
};
}
var d3_nsPrefix = {
svg: "http://www.w3.org/2000/svg",
xhtml: "http://www.w3.org/1999/xhtml",
xlink: "http://www.w3.org/1999/xlink",
xml: "http://www.w3.org/XML/1998/namespace",
xmlns: "http://www.w3.org/2000/xmlns/"
};
d3.ns = {
prefix: d3_nsPrefix,
qualify: function(name) {
var i = name.indexOf(":"), prefix = name;
if (i >= 0) {
prefix = name.slice(0, i);
name = name.slice(i + 1);
}
return d3_nsPrefix.hasOwnProperty(prefix) ? {
space: d3_nsPrefix[prefix],
local: name
} : name;
}
};
d3_selectionPrototype.attr = function(name, value) {
if (arguments.length < 2) {
if (typeof name === "string") {
var node = this.node();
name = d3.ns.qualify(name);
return name.local ? node.getAttributeNS(name.space, name.local) : node.getAttribute(name);
}
for (value in name) this.each(d3_selection_attr(value, name[value]));
return this;
}
return this.each(d3_selection_attr(name, value));
};
function d3_selection_attr(name, value) {
name = d3.ns.qualify(name);
function attrNull() {
this.removeAttribute(name);
}
function attrNullNS() {
this.removeAttributeNS(name.space, name.local);
}
function attrConstant() {
this.setAttribute(name, value);
}
function attrConstantNS() {
this.setAttributeNS(name.space, name.local, value);
}
function attrFunction() {
var x = value.apply(this, arguments);
if (x == null) this.removeAttribute(name); else this.setAttribute(name, x);
}
function attrFunctionNS() {
var x = value.apply(this, arguments);
if (x == null) this.removeAttributeNS(name.space, name.local); else this.setAttributeNS(name.space, name.local, x);
}
return value == null ? name.local ? attrNullNS : attrNull : typeof value === "function" ? name.local ? attrFunctionNS : attrFunction : name.local ? attrConstantNS : attrConstant;
}
function d3_collapse(s) {
return s.trim().replace(/\s+/g, " ");
}
d3_selectionPrototype.classed = function(name, value) {
if (arguments.length < 2) {
if (typeof name === "string") {
var node = this.node(), n = (name = d3_selection_classes(name)).length, i = -1;
if (value = node.classList) {
while (++i < n) if (!value.contains(name[i])) return false;
} else {
value = node.getAttribute("class");
while (++i < n) if (!d3_selection_classedRe(name[i]).test(value)) return false;
}
return true;
}
for (value in name) this.each(d3_selection_classed(value, name[value]));
return this;
}
return this.each(d3_selection_classed(name, value));
};
function d3_selection_classedRe(name) {
return new RegExp("(?:^|\\s+)" + d3.requote(name) + "(?:\\s+|$)", "g");
}
function d3_selection_classes(name) {
return (name + "").trim().split(/^|\s+/);
}
function d3_selection_classed(name, value) {
name = d3_selection_classes(name).map(d3_selection_classedName);
var n = name.length;
function classedConstant() {
var i = -1;
while (++i < n) name[i](this, value);
}
function classedFunction() {
var i = -1, x = value.apply(this, arguments);
while (++i < n) name[i](this, x);
}
return typeof value === "function" ? classedFunction : classedConstant;
}
function d3_selection_classedName(name) {
var re = d3_selection_classedRe(name);
return function(node, value) {
if (c = node.classList) return value ? c.add(name) : c.remove(name);
var c = node.getAttribute("class") || "";
if (value) {
re.lastIndex = 0;
if (!re.test(c)) node.setAttribute("class", d3_collapse(c + " " + name));
} else {
node.setAttribute("class", d3_collapse(c.replace(re, " ")));
}
};
}
d3_selectionPrototype.style = function(name, value, priority) {
var n = arguments.length;
if (n < 3) {
if (typeof name !== "string") {
if (n < 2) value = "";
for (priority in name) this.each(d3_selection_style(priority, name[priority], value));
return this;
}
if (n < 2) return d3_window.getComputedStyle(this.node(), null).getPropertyValue(name);
priority = "";
}
return this.each(d3_selection_style(name, value, priority));
};
function d3_selection_style(name, value, priority) {
function styleNull() {
this.style.removeProperty(name);
}
function styleConstant() {
this.style.setProperty(name, value, priority);
}
function styleFunction() {
var x = value.apply(this, arguments);
if (x == null) this.style.removeProperty(name); else this.style.setProperty(name, x, priority);
}
return value == null ? styleNull : typeof value === "function" ? styleFunction : styleConstant;
}
d3_selectionPrototype.property = function(name, value) {
if (arguments.length < 2) {
if (typeof name === "string") return this.node()[name];
for (value in name) this.each(d3_selection_property(value, name[value]));
return this;
}
return this.each(d3_selection_property(name, value));
};
function d3_selection_property(name, value) {
function propertyNull() {
delete this[name];
}
function propertyConstant() {
this[name] = value;
}
function propertyFunction() {
var x = value.apply(this, arguments);
if (x == null) delete this[name]; else this[name] = x;
}
return value == null ? propertyNull : typeof value === "function" ? propertyFunction : propertyConstant;
}
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;
}) : this.node().textContent;
};
d3_selectionPrototype.html = function(value) {
return arguments.length ? this.each(typeof value === "function" ? function() {
var v = value.apply(this, arguments);
this.innerHTML = v == null ? "" : v;
} : value == null ? function() {
this.innerHTML = "";
} : function() {
this.innerHTML = value;
}) : this.node().innerHTML;
};
d3_selectionPrototype.append = function(name) {
name = d3_selection_creator(name);
return this.select(function() {
return this.appendChild(name.apply(this, arguments));
});
};
function d3_selection_creator(name) {
return typeof name === "function" ? name : (name = d3.ns.qualify(name)).local ? function() {
return this.ownerDocument.createElementNS(name.space, name.local);
} : function() {
return this.ownerDocument.createElementNS(this.namespaceURI, name);
};
}
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);
});
};
d3_selectionPrototype.remove = function() {
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, group, node;
if (!arguments.length) {
value = new Array(n = (group = this[0]).length);
while (++i < n) {
if (node = group[i]) {
value[i] = node.__data__;
}
}
return value;
}
function bind(group, groupData) {
var i, n = group.length, m = groupData.length, n0 = Math.min(n, m), updateNodes = new Array(m), enterNodes = new Array(m), exitNodes = new Array(n), node, nodeData;
if (key) {
var nodeByKeyValue = new d3_Map(), keyValues = new Array(n), keyValue;
for (i = -1; ++i < n; ) {
if (nodeByKeyValue.has(keyValue = key.call(node = group[i], node.__data__, i))) {
exitNodes[i] = node;
} else {
nodeByKeyValue.set(keyValue, node);
}
keyValues[i] = keyValue;
}
for (i = -1; ++i < m; ) {
if (!(node = nodeByKeyValue.get(keyValue = key.call(groupData, nodeData = groupData[i], i)))) {
enterNodes[i] = d3_selection_dataNode(nodeData);
} else if (node !== true) {
updateNodes[i] = node;
node.__data__ = nodeData;
}
nodeByKeyValue.set(keyValue, true);
}
for (i = -1; ++i < n; ) {
if (nodeByKeyValue.get(keyValues[i]) !== true) {
exitNodes[i] = group[i];
}
}
} else {
for (i = -1; ++i < n0; ) {
node = group[i];
nodeData = groupData[i];
if (node) {
node.__data__ = nodeData;
updateNodes[i] = node;
} else {
enterNodes[i] = d3_selection_dataNode(nodeData);
}
}
for (;i < m; ++i) {
enterNodes[i] = d3_selection_dataNode(groupData[i]);
}
for (;i < n; ++i) {
exitNodes[i] = group[i];
}
}
enterNodes.update = updateNodes;
enterNodes.parentNode = updateNodes.parentNode = exitNodes.parentNode = group.parentNode;
enter.push(enterNodes);
update.push(updateNodes);
exit.push(exitNodes);
}
var enter = d3_selection_enter([]), update = d3_selection([]), exit = d3_selection([]);
if (typeof value === "function") {
while (++i < n) {
bind(group = this[i], value.call(group, group.parentNode.__data__, i));
}
} else {
while (++i < n) {
bind(group = this[i], value);
}
}
update.enter = function() {
return enter;
};
update.exit = function() {
return exit;
};
return update;
};
function d3_selection_dataNode(data) {
return {
__data__: data
};
}
d3_selectionPrototype.datum = function(value) {
return arguments.length ? this.property("__data__", value) : this.property("__data__");
};
d3_selectionPrototype.filter = function(filter) {
var subgroups = [], subgroup, group, node;
if (typeof filter !== "function") filter = d3_selection_filter(filter);
for (var j = 0, m = this.length; j < m; j++) {
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, j)) {
subgroup.push(node);
}
}
}
return d3_selection(subgroups);
};
function d3_selection_filter(selector) {
return function() {
return d3_selectMatches(this, selector);
};
}
d3_selectionPrototype.order = function() {
for (var j = -1, m = this.length; ++j < m; ) {
for (var group = this[j], i = group.length - 1, next = group[i], node; --i >= 0; ) {
if (node = group[i]) {
if (next && next !== node.nextSibling) next.parentNode.insertBefore(node, next);
next = node;
}
}
}
return this;
};
d3_selectionPrototype.sort = function(comparator) {
comparator = d3_selection_sortComparator.apply(this, arguments);
for (var j = -1, m = this.length; ++j < m; ) this[j].sort(comparator);
return this.order();
};
function d3_selection_sortComparator(comparator) {
if (!arguments.length) comparator = d3_ascending;
return function(a, b) {
return a && b ? comparator(a.__data__, b.__data__) : !a - !b;
};
}
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;
};
}
d3.select = function(node) {
var group = [ typeof node === "string" ? d3_select(node, d3_document) : node ];
group.parentNode = d3_documentElement;
return d3_selection([ group ]);
};
d3.selectAll = function(nodes) {
var group = d3_array(typeof nodes === "string" ? d3_selectAll(nodes, d3_document) : nodes);
group.parentNode = d3_documentElement;
return d3_selection([ group ]);
};
var d3_selectionRoot = d3.select(d3_documentElement);
d3_selectionPrototype.on = function(type, listener, capture) {
var n = arguments.length;
if (n < 3) {
if (typeof type !== "string") {
if (n < 2) listener = false;
for (capture in type) this.each(d3_selection_on(capture, type[capture], listener));
return this;
}
if (n < 2) return (n = this.node()["__on" + type]) && n._;
capture = false;
}
return this.each(d3_selection_on(type, listener, capture));
};
function d3_selection_on(type, listener, capture) {
var name = "__on" + type, i = type.indexOf("."), wrap = d3_selection_onListener;
if (i > 0) type = type.slice(0, i);
var filter = d3_selection_onFilters.get(type);
if (filter) type = filter, wrap = d3_selection_onFilter;
function onRemove() {
var l = this[name];
if (l) {
this.removeEventListener(type, l, l.$);
delete this[name];
}
}
function onAdd() {
var l = wrap(listener, d3_array(arguments));
onRemove.call(this);
this.addEventListener(type, this[name] = l, l.$ = capture);
l._ = listener;
}
function removeAll() {
var re = new RegExp("^__on([^.]+)" + d3.requote(type) + "$"), match;
for (var name in this) {
if (match = name.match(re)) {
var l = this[name];
this.removeEventListener(match[1], l, l.$);
delete this[name];
}
}
}
return i ? listener ? onAdd : onRemove : listener ? d3_noop : removeAll;
}
var d3_selection_onFilters = d3.map({
mouseenter: "mouseover",
mouseleave: "mouseout"
});
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) {
var o = d3.event;
d3.event = e;
argumentz[0] = this.__data__;
try {
listener.apply(this, argumentz);
} finally {
d3.event = o;
}
};
}
function d3_selection_onFilter(listener, argumentz) {
var l = d3_selection_onListener(listener, argumentz);
return function(e) {
var target = this, related = e.relatedTarget;
if (!related || related !== target && !(related.compareDocumentPosition(target) & 8)) {
l.call(target, e);
}
};
}
var d3_event_dragSelect = "onselectstart" in d3_document ? null : d3_vendorSymbol(d3_documentElement.style, "userSelect"), d3_event_dragId = 0;
function d3_event_dragSuppress() {
var name = ".dragsuppress-" + ++d3_event_dragId, click = "click" + name, w = d3.select(d3_window).on("touchmove" + name, d3_eventPreventDefault).on("dragstart" + name, d3_eventPreventDefault).on("selectstart" + name, d3_eventPreventDefault);
if (d3_event_dragSelect) {
var style = d3_documentElement.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) {
var off = function() {
w.on(click, null);
};
w.on(click, function() {
d3_eventPreventDefault();
off();
}, true);
setTimeout(off, 0);
}
};
}
d3.mouse = function(container) {
return d3_mousePoint(container, d3_eventSource());
};
var d3_mouse_bug44083 = /WebKit/.test(d3_window.navigator.userAgent) ? -1 : 0;
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 && (d3_window.scrollX || d3_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 ];
}
var rect = container.getBoundingClientRect();
return [ e.clientX - rect.left - container.clientLeft, e.clientY - rect.top - container.clientTop ];
}
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);
}
}
};
d3.behavior.drag = function() {
var event = d3_eventDispatch(drag, "drag", "dragstart", "dragend"), origin = null, mousedown = dragstart(d3_noop, d3.mouse, d3_behavior_dragMouseSubject, "mousemove", "mouseup"), touchstart = dragstart(d3_behavior_dragTouchId, d3.touch, d3_behavior_dragTouchSubject, "touchmove", "touchend");
function drag() {
this.on("mousedown.drag", mousedown).on("touchstart.drag", touchstart);
}
function dragstart(id, position, subject, move, end) {
return function() {
var that = this, target = d3.event.target, parent = that.parentNode, dispatch = event.of(that, arguments), dragged = 0, dragId = id(), dragName = ".drag" + (dragId == null ? "" : "-" + dragId), dragOffset, dragSubject = d3.select(subject()).on(move + dragName, moved).on(end + dragName, ended), dragRestore = d3_event_dragSuppress(), position0 = position(parent, dragId);
if (origin) {
dragOffset = origin.apply(that, arguments);
dragOffset = [ dragOffset.x - position0[0], dragOffset.y - position0[1] ];
} else {
dragOffset = [ 0, 0 ];
}
dispatch({
type: "dragstart"
});
function moved() {
var position1 = position(parent, dragId), dx, dy;
if (!position1) return;
dx = position1[0] - position0[0];
dy = position1[1] - position0[1];
dragged |= dx | dy;
position0 = position1;
dispatch({
type: "drag",
x: position1[0] + dragOffset[0],
y: position1[1] + dragOffset[1],
dx: dx,
dy: dy
});
}
function ended() {
if (!position(parent, dragId)) return;
dragSubject.on(move + dragName, null).on(end + dragName, null);
dragRestore(dragged && d3.event.target === target);
dispatch({
type: "dragend"
});
}
};
}
drag.origin = function(x) {
if (!arguments.length) return origin;
origin = x;
return drag;
};
return d3.rebind(drag, event, "on");
};
function d3_behavior_dragTouchId() {
return d3.event.changedTouches[0].identifier;
}
function d3_behavior_dragTouchSubject() {
return d3.event.target;
}
function d3_behavior_dragMouseSubject() {
return d3_window;
}
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 / π;
function d3_sgn(x) {
return x > 0 ? 1 : x < 0 ? -1 : 0;
}
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);
}
function d3_asin(x) {
return x > 1 ? halfπ : x < -1 ? -halfπ : Math.asin(x);
}
function d3_sinh(x) {
return ((x = Math.exp(x)) - 1 / x) / 2;
}
function d3_cosh(x) {
return ((x = Math.exp(x)) + 1 / x) / 2;
}
function d3_tanh(x) {
return ((x = Math.exp(2 * x)) - 1) / (x + 1);
}
function d3_haversin(x) {
return (x = Math.sin(x / 2)) * x;
}
var ρ = Math.SQRT2, ρ2 = 2, ρ4 = 4;
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) {
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) ];
}
return [ ux0 + t * dx, uy0 + t * dy, w0 * Math.exp(ρ * s) ];
}
interpolate.duration = S * 1e3;
return interpolate;
};
d3.behavior.zoom = function() {
var view = {
x: 0,
y: 0,
k: 1
}, translate0, center0, center, size = [ 960, 500 ], scaleExtent = d3_behavior_zoomInfinity, duration = 250, zooming = 0, mousedown = "mousedown.zoom", mousemove = "mousemove.zoom", mouseup = "mouseup.zoom", mousewheelTimer, touchstart = "touchstart.zoom", touchtime, event = d3_eventDispatch(zoom, "zoomstart", "zoom", "zoomend"), x0, x1, y0, y1;
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
};
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(_) {
if (!arguments.length) return [ view.x, view.y ];
view = {
x: +_[0],
y: +_[1],
k: view.k
};
rescale();
return zoom;
};
zoom.scale = function(_) {
if (!arguments.length) return view.k;
view = {
x: view.x,
y: view.y,
k: +_
};
rescale();
return zoom;
};
zoom.scaleExtent = function(_) {
if (!arguments.length) return scaleExtent;
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 = +_;
return zoom;
};
zoom.x = function(z) {
if (!arguments.length) return x1;
x1 = z;
x0 = z.copy();
view = {
x: 0,
y: 0,
k: 1
};
return zoom;
};
zoom.y = function(z) {
if (!arguments.length) return y1;
y1 = z;
y0 = z.copy();
view = {
x: 0,
y: 0,
k: 1
};
return zoom;
};
function location(p) {
return [ (p[0] - view.x) / view.k, (p[1] - view.y) / view.k ];
}
function point(l) {
return [ l[0] * view.k + view.x, l[1] * view.k + view.y ];
}
function scaleTo(s) {
view.k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], s));
}
function translateTo(p, l) {
l = point(l);
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 - 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 zoomstarted(dispatch) {
if (!zooming++) dispatch({
type: "zoomstart"
});
}
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).on(mousemove, moved).on(mouseup, ended), location0 = location(d3.mouse(that)), dragRestore = d3_event_dragSuppress();
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);
}
}
function touchstarted() {
var that = this, dispatch = event.of(that, arguments), locations0 = {}, distance0 = 0, scale0, zoomName = ".zoom-" + d3.event.changedTouches[0].identifier, touchmove = "touchmove" + zoomName, touchend = "touchend" + zoomName, targets = [], subject = d3.select(that), dragRestore = d3_event_dragSuppress();
started();
zoomstarted(dispatch);
subject.on(mousedown, null).on(touchstart, started);
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;
}
function started() {
var target = d3.event.target;
d3.select(target).on(touchmove, moved).on(touchend, ended);
targets.push(target);
var changed = d3.event.changedTouches;
for (var i = 0, n = changed.length; i < n; ++i) {
locations0[changed[i].identifier] = null;
}
var touches = relocate(), now = Date.now();
if (touches.length === 1) {
if (now - touchtime < 500) {
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 moved() {
var touches = d3.touches(that), p0, l0, p1, l1;
d3_selection_interrupt.call(that);
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;
}
}
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 = null;
translateTo(p0, l0);
zoomed(dispatch);
}
function ended() {
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];
}
for (var identifier in locations0) {
return void relocate();
}
}
d3.selectAll(targets).on(zoomName, null);
subject.on(mousedown, mousedowned).on(touchstart, touchstarted);
dragRestore();
zoomended(dispatch);
}
}
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 ];
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");
d3.color = d3_color;
function d3_color() {}
d3_color.prototype.toString = function() {
return this.rgb() + "";
};
d3.hsl = d3_hsl;
function d3_hsl(h, s, 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();
d3_hslPrototype.brighter = function(k) {
k = Math.pow(.7, arguments.length ? k : 1);
return new d3_hsl(this.h, this.s, this.l / k);
};
d3_hslPrototype.darker = function(k) {
k = Math.pow(.7, arguments.length ? k : 1);
return new d3_hsl(this.h, this.s, k * this.l);
};
d3_hslPrototype.rgb = function() {
return d3_hsl_rgb(this.h, this.s, this.l);
};
function d3_hsl_rgb(h, s, l) {
var m1, m2;
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;
m2 = l <= .5 ? l * (1 + s) : l + s - l * s;
m1 = 2 * l - m2;
function v(h) {
if (h > 360) h -= 360; else if (h < 0) h += 360;
if (h < 60) return m1 + (m2 - m1) * h / 60;
if (h < 180) return m2;
if (h < 240) return m1 + (m2 - m1) * (240 - h) / 60;
return m1;
}
function vv(h) {
return Math.round(v(h) * 255);
}
return new d3_rgb(vv(h + 120), vv(h), vv(h - 120));
}
d3.hcl = d3_hcl;
function d3_hcl(h, c, 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();
d3_hclPrototype.brighter = function(k) {
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 new d3_hcl(this.h, this.c, Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)));
};
d3_hclPrototype.rgb = function() {
return d3_hcl_lab(this.h, this.c, this.l).rgb();
};
function d3_hcl_lab(h, c, l) {
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 = d3_lab;
function d3_lab(l, a, 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);
}
var d3_lab_K = 18;
var d3_lab_X = .95047, d3_lab_Y = 1, d3_lab_Z = 1.08883;
var d3_labPrototype = d3_lab.prototype = new d3_color();
d3_labPrototype.brighter = function(k) {
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 new d3_lab(Math.max(0, this.l - d3_lab_K * (arguments.length ? k : 1)), this.a, this.b);
};
d3_labPrototype.rgb = function() {
return d3_lab_rgb(this.l, this.a, this.b);
};
function d3_lab_rgb(l, a, b) {
var y = (l + 16) / 116, x = y + a / 500, z = y - b / 200;
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 new d3_rgb(d3_xyz_rgb(3.2404542 * x - 1.5371385 * y - .4985314 * z), d3_xyz_rgb(-.969266 * x + 1.8760108 * y + .041556 * z), d3_xyz_rgb(.0556434 * x - .2040259 * y + 1.0572252 * z));
}
function d3_lab_hcl(l, a, b) {
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) {
return x > .206893034 ? x * x * x : (x - 4 / 29) / 7.787037;
}
function d3_xyz_lab(x) {
return x > .008856 ? Math.pow(x, 1 / 3) : 7.787037 * x + 4 / 29;
}
function d3_xyz_rgb(r) {
return Math.round(255 * (r <= .00304 ? 12.92 * r : 1.055 * Math.pow(r, 1 / 2.4) - .055));
}
d3.rgb = d3_rgb;
function 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 & 255, value & 255);
}
function d3_rgbString(value) {
return d3_rgbNumber(value) + "";
}
var d3_rgbPrototype = d3_rgb.prototype = new d3_color();
d3_rgbPrototype.brighter = function(k) {
k = Math.pow(.7, arguments.length ? k : 1);
var r = this.r, g = this.g, b = this.b, i = 30;
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 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(.7, arguments.length ? k : 1);
return new d3_rgb(k * this.r, k * this.g, k * this.b);
};
d3_rgbPrototype.hsl = function() {
return d3_rgb_hsl(this.r, this.g, this.b);
};
d3_rgbPrototype.toString = function() {
return "#" + d3_rgb_hex(this.r) + d3_rgb_hex(this.g) + d3_rgb_hex(this.b);
};
function d3_rgb_hex(v) {
return v < 16 ? "0" + Math.max(0, v).toString(16) : Math.min(255, v).toString(16);
}
function d3_rgb_parse(format, rgb, hsl) {
var r = 0, g = 0, b = 0, m1, m2, color;
m1 = /([a-z]+)\((.*)\)/i.exec(format);
if (m1) {
m2 = m1[2].split(",");
switch (m1[1]) {
case "hsl":
{
return hsl(parseFloat(m2[0]), parseFloat(m2[1]) / 100, parseFloat(m2[2]) / 100);
}
case "rgb":
{
return rgb(d3_rgb_parseNumber(m2[0]), d3_rgb_parseNumber(m2[1]), d3_rgb_parseNumber(m2[2]));
}
}
}
if (color = d3_rgb_names.get(format)) return rgb(color.r, color.g, color.b);
if (format != null && format.charAt(0) === "#" && !isNaN(color = parseInt(format.slice(1), 16))) {
if (format.length === 4) {
r = (color & 3840) >> 4;
r = r >> 4 | r;
g = color & 240;
g = g >> 4 | g;
b = color & 15;
b = b << 4 | b;
} else if (format.length === 7) {
r = (color & 16711680) >> 16;
g = (color & 65280) >> 8;
b = color & 255;
}
}
return rgb(r, g, b);
}
function d3_rgb_hsl(r, g, b) {
var min = Math.min(r /= 255, g /= 255, b /= 255), max = Math.max(r, g, b), d = max - min, h, s, l = (max + min) / 2;
if (d) {
s = l < .5 ? d / (max + min) : d / (2 - max - min);
if (r == max) h = (g - b) / d + (g < b ? 6 : 0); else if (g == max) h = (b - r) / d + 2; else h = (r - g) / d + 4;
h *= 60;
} else {
h = NaN;
s = l > 0 && l < 1 ? 0 : h;
}
return new d3_hsl(h, s, l);
}
function d3_rgb_lab(r, g, b) {
r = d3_rgb_xyz(r);
g = d3_rgb_xyz(g);
b = d3_rgb_xyz(b);
var x = d3_xyz_lab((.4124564 * r + .3575761 * g + .1804375 * b) / d3_lab_X), y = d3_xyz_lab((.2126729 * r + .7151522 * g + .072175 * b) / d3_lab_Y), z = d3_xyz_lab((.0193339 * r + .119192 * g + .9503041 * b) / d3_lab_Z);
return d3_lab(116 * y - 16, 500 * (x - y), 200 * (y - z));
}
function d3_rgb_xyz(r) {
return (r /= 255) <= .04045 ? r / 12.92 : Math.pow((r + .055) / 1.055, 2.4);
}
function d3_rgb_parseNumber(c) {
var f = parseFloat(c);
return c.charAt(c.length - 1) === "%" ? Math.round(f * 2.55) : f;
}
var d3_rgb_names = d3.map({
aliceblue: 15792383,
antiquewhite: 16444375,
aqua: 65535,
aquamarine: 8388564,
azure: 15794175,
beige: 16119260,
bisque: 16770244,
black: 0,
blanchedalmond: 16772045,
blue: 255,
blueviolet: 9055202,
brown: 10824234,
burlywood: 14596231,
cadetblue: 6266528,
chartreuse: 8388352,
chocolate: 13789470,
coral: 16744272,
cornflowerblue: 6591981,
cornsilk: 16775388,
crimson: 14423100,
cyan: 65535,
darkblue: 139,
darkcyan: 35723,
darkgoldenrod: 12092939,
darkgray: 11119017,
darkgreen: 25600,
darkgrey: 11119017,
darkkhaki: 12433259,
darkmagenta: 9109643,
darkolivegreen: 5597999,
darkorange: 16747520,
darkorchid: 10040012,
darkred: 9109504,
darksalmon: 15308410,
darkseagreen: 9419919,
darkslateblue: 4734347,
darkslategray: 3100495,
darkslategrey: 3100495,
darkturquoise: 52945,
darkviolet: 9699539,
deeppink: 16716947,
deepskyblue: 49151,
dimgray: 6908265,
dimgrey: 6908265,
dodgerblue: 2003199,
firebrick: 11674146,
floralwhite: 16775920,
forestgreen: 2263842,
fuchsia: 16711935,
gainsboro: 14474460,
ghostwhite: 16316671,
gold: 16766720,
goldenrod: 14329120,
gray: 8421504,
green: 32768,
greenyellow: 11403055,
grey: 8421504,
honeydew: 15794160,
hotpink: 16738740,
indianred: 13458524,
indigo: 4915330,
ivory: 16777200,
khaki: 15787660,
lavender: 15132410,
lavenderblush: 16773365,
lawngreen: 8190976,
lemonchiffon: 16775885,
lightblue: 11393254,
lightcoral: 15761536,
lightcyan: 14745599,
lightgoldenrodyellow: 16448210,
lightgray: 13882323,
lightgreen: 9498256,
lightgrey: 13882323,
lightpink: 16758465,
lightsalmon: 16752762,
lightseagreen: 2142890,
lightskyblue: 8900346,
lightslategray: 7833753,
lightslategrey: 7833753,
lightsteelblue: 11584734,
lightyellow: 16777184,
lime: 65280,
limegreen: 3329330,
linen: 16445670,
magenta: 16711935,
maroon: 8388608,
mediumaquamarine: 6737322,
mediumblue: 205,
mediumorchid: 12211667,
mediumpurple: 9662683,
mediumseagreen: 3978097,
mediumslateblue: 8087790,
mediumspringgreen: 64154,
mediumturquoise: 4772300,
mediumvioletred: 13047173,
midnightblue: 1644912,
mintcream: 16121850,
mistyrose: 16770273,
moccasin: 16770229,
navajowhite: 16768685,
navy: 128,
oldlace: 16643558,
olive: 8421376,
olivedrab: 7048739,
orange: 16753920,
orangered: 16729344,
orchid: 14315734,
palegoldenrod: 15657130,
palegreen: 10025880,
paleturquoise: 11529966,
palevioletred: 14381203,
papayawhip: 16773077,
peachpuff: 16767673,
peru: 13468991,
pink: 16761035,
plum: 14524637,
powderblue: 11591910,
purple: 8388736,
red: 16711680,
rosybrown: 12357519,
royalblue: 4286945,
saddlebrown: 9127187,
salmon: 16416882,
sandybrown: 16032864,
seagreen: 3050327,
seashell: 16774638,
sienna: 10506797,
silver: 12632256,
skyblue: 8900331,
slateblue: 6970061,
slategray: 7372944,
slategrey: 7372944,
snow: 16775930,
springgreen: 65407,
steelblue: 4620980,
tan: 13808780,
teal: 32896,
thistle: 14204888,
tomato: 16737095,
turquoise: 4251856,
violet: 15631086,
wheat: 16113331,
white: 16777215,
whitesmoke: 16119285,
yellow: 16776960,
yellowgreen: 10145074
});
d3_rgb_names.forEach(function(key, value) {
d3_rgb_names.set(key, d3_rgbNumber(value));
});
function d3_functor(v) {
return typeof v === "function" ? v : function() {
return v;
};
}
d3.functor = d3_functor;
function d3_identity(d) {
return d;
}
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("beforesend", "progress", "load", "error"), headers = {}, request = new XMLHttpRequest(), responseType = null;
if (d3_window.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 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) {
var o = d3.event;
d3.event = event;
try {
dispatch.progress.call(xhr, request);
} finally {
d3.event = o;
}
};
xhr.header = function(name, value) {
name = (name + "").toLowerCase();
if (arguments.length < 2) return headers[name];
if (value == null) delete headers[name]; else headers[name] = value + "";
return xhr;
};
xhr.mimeType = function(value) {
if (!arguments.length) return mimeType;
mimeType = value == null ? null : value + "";
return xhr;
};
xhr.responseType = function(value) {
if (!arguments.length) return responseType;
responseType = value;
return xhr;
};
xhr.response = function(value) {
response = value;
return xhr;
};
[ "get", "post" ].forEach(function(method) {
xhr[method] = function() {
return xhr.send.apply(xhr, [ method ].concat(d3_array(arguments)));
};
});
xhr.send = function(method, data, callback) {
if (arguments.length === 2 && typeof data === "function") callback = data, data = null;
request.open(method, url, true);
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;
};
xhr.abort = function() {
request.abort();
return xhr;
};
d3.rebind(xhr, dispatch, "on");
return callback == null ? xhr : xhr.get(d3_xhr_fixCallback(callback));
}
function d3_xhr_fixCallback(callback) {
return callback.length === 1 ? function(error, request) {
callback(error == null ? request : null);
} : callback;
}
function d3_xhrHasResponse(request) {
var type = request.responseType;
return type && type !== "text" ? request.response : request.responseText;
}
d3.dsv = function(delimiter, mimeType) {
var reFormat = new RegExp('["' + delimiter + "\n]"), delimiterCode = delimiter.charCodeAt(0);
function dsv(url, row, callback) {
if (arguments.length < 3) callback = row, row = null;
var xhr = d3_xhr(url, mimeType, row == null ? response : typedResponse(row), callback);
xhr.row = function(_) {
return arguments.length ? xhr.response((row = _) == null ? response : typedResponse(_)) : row;
};
return xhr;
}
function response(request) {
return dsv.parse(request.responseText);
}
function typedResponse(f) {
return function(request) {
return dsv.parse(request.responseText, f);
};
}
dsv.parse = function(text, f) {
var o;
return dsv.parseRows(text, function(row, i) {
if (o) return o(row, i - 1);
var a = new Function("d", "return {" + row.map(function(name, i) {
return JSON.stringify(name) + ": d[" + i + "]";
}).join(",") + "}");
o = f ? function(row, i) {
return f(a(row), i);
} : a;
});
};
dsv.parseRows = function(text, f) {
var EOL = {}, EOF = {}, rows = [], N = text.length, I = 0, n = 0, t, eol;
function token() {
if (I >= N) return EOF;
if (eol) return eol = false, EOL;
var j = I;
if (text.charCodeAt(j) === 34) {
var i = j;
while (i++ < N) {
if (text.charCodeAt(i) === 34) {
if (text.charCodeAt(i + 1) !== 34) break;
++i;
}
}
I = i + 2;
var c = text.charCodeAt(i + 1);
if (c === 13) {
eol = true;
if (text.charCodeAt(i + 2) === 10) ++I;
} else if (c === 10) {
eol = true;
}
return text.slice(j + 1, i).replace(/""/g, '"');
}
while (I < N) {
var c = text.charCodeAt(I++), k = 1;
if (c === 10) eol = true; else if (c === 13) {
eol = true;
if (text.charCodeAt(I) === 10) ++I, ++k;
} else if (c !== delimiterCode) continue;
return text.slice(j, I - k);
}
return text.slice(j);
}
while ((t = token()) !== EOF) {
var a = [];
while (t !== EOL && t !== EOF) {
a.push(t);
t = token();
}
if (f && (a = f(a, n++)) == null) continue;
rows.push(a);
}
return rows;
};
dsv.format = function(rows) {
if (Array.isArray(rows[0])) return dsv.formatRows(rows);
var fieldSet = new d3_Set(), fields = [];
rows.forEach(function(row) {
for (var field in row) {
if (!fieldSet.has(field)) {
fields.push(fieldSet.add(field));
}
}
});
return [ fields.map(formatValue).join(delimiter) ].concat(rows.map(function(row) {
return fields.map(function(field) {
return formatValue(row[field]);
}).join(delimiter);
})).join("\n");
};
dsv.formatRows = function(rows) {
return rows.map(formatRow).join("\n");
};
function formatRow(row) {
return row.map(formatValue).join(delimiter);
}
function formatValue(text) {
return reFormat.test(text) ? '"' + text.replace(/\"/g, '""') + '"' : text;
}
return dsv;
};
d3.csv = d3.dsv(",", "text/csv");
d3.tsv = d3.dsv(" ", "text/tab-separated-values");
var d3_timer_queueHead, d3_timer_queueTail, d3_timer_interval, d3_timer_timeout, d3_timer_active, d3_timer_frame = d3_window[d3_vendorSymbol(d3_window, "requestAnimationFrame")] || function(callback) {
setTimeout(callback, 17);
};
d3.timer = function(callback, delay, then) {
var n = arguments.length;
if (n < 2) delay = 0;
if (n < 3) then = Date.now();
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;
if (!d3_timer_interval) {
d3_timer_timeout = clearTimeout(d3_timer_timeout);
d3_timer_interval = 1;
d3_timer_frame(d3_timer_step);
}
};
function d3_timer_step() {
var now = d3_timer_mark(), delay = d3_timer_sweep() - now;
if (delay > 24) {
if (isFinite(delay)) {
clearTimeout(d3_timer_timeout);
d3_timer_timeout = setTimeout(d3_timer_step, delay);
}
d3_timer_interval = 0;
} else {
d3_timer_interval = 1;
d3_timer_frame(d3_timer_step);
}
}
d3.timer.flush = function() {
d3_timer_mark();
d3_timer_sweep();
};
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;
}
return now;
}
function d3_timer_sweep() {
var t0, t1 = d3_timer_queueHead, time = Infinity;
while (t1) {
if (t1.f) {
t1 = t0 ? t0.n = t1.n : d3_timer_queueHead = t1.n;
} else {
if (t1.t < time) time = t1.t;
t1 = (t0 = t1).n;
}
}
d3_timer_queueTail = t0;
return time;
}
function d3_format_precision(x, p) {
return p - (x ? Math.ceil(Math.log(x) / Math.LN10) : 1);
}
d3.round = function(x, n) {
return n ? Math.round(x * (n = Math.pow(10, n))) / n : Math.round(x);
};
var d3_formatPrefixes = [ "y", "z", "a", "f", "p", "n", "µ", "m", "", "k", "M", "G", "T", "P", "E", "Z", "Y" ].map(d3_formatPrefix);
d3.formatPrefix = function(value, precision) {
var i = 0;
if (value) {
if (value < 0) value *= -1;
if (precision) value = d3.round(value, d3_format_precision(value, precision));
i = 1 + Math.floor(1e-12 + Math.log(value) / Math.LN10);
i = Math.max(-24, Math.min(24, Math.floor((i - 1) / 3) * 3));
}
return d3_formatPrefixes[8 + i / 3];
};
function d3_formatPrefix(d, i) {
var k = Math.pow(10, abs(8 - i) * 3);
return {
scale: i > 8 ? function(d) {
return d / k;
} : function(d) {
return d * k;
},
symbol: d
};
}
function d3_locale_numberFormat(locale) {
var locale_decimal = locale.decimal, locale_thousands = locale.thousands, locale_grouping = locale.grouping, locale_currency = locale.currency, formatGroup = locale_grouping && locale_thousands ? function(value, width) {
var i = value.length, t = [], j = 0, g = locale_grouping[0], length = 0;
while (i > 0 && g > 0) {
if (length + g + 1 > width) g = Math.max(1, width - length);
t.push(value.substring(i -= g, i + g));
if ((length += g + 1) > width) break;
g = locale_grouping[j = (j + 1) % locale_grouping.length];
}
return t.reverse().join(locale_thousands);
} : d3_identity;
return function(specifier) {
var match = d3_format_re.exec(specifier), fill = match[1] || " ", align = match[2] || ">", sign = match[3] || "-", symbol = match[4] || "", zfill = match[5], width = +match[6], comma = match[7], precision = match[8], type = match[9], scale = 1, prefix = "", suffix = "", integer = false, exponent = true;
if (precision) precision = +precision.substring(1);
if (zfill || fill === "0" && align === "=") {
zfill = fill = "0";
align = "=";
}
switch (type) {
case "n":
comma = true;
type = "g";
break;
case "%":
scale = 100;
suffix = "%";
type = "f";
break;
case "p":
scale = 100;
suffix = "%";
type = "r";
break;
case "b":
case "o":
case "x":
case "X":
if (symbol === "#") prefix = "0" + type.toLowerCase();
case "c":
exponent = false;
case "d":
integer = true;
precision = 0;
break;
case "s":
scale = -1;
type = "r";
break;
}
if (symbol === "$") prefix = locale_currency[0], suffix = locale_currency[1];
if (type == "r" && !precision) type = "g";
if (precision != null) {
if (type == "g") precision = Math.max(1, Math.min(21, precision)); else if (type == "e" || type == "f") precision = Math.max(0, Math.min(20, precision));
}
type = d3_format_types.get(type) || d3_format_typeDefault;
var zcomma = zfill && comma;
return function(value) {
var fullSuffix = suffix;
if (integer && value % 1) return "";
var negative = value < 0 || value === 0 && 1 / value < 0 ? (value = -value, "-") : sign === "-" ? "" : sign;
if (scale < 0) {
var unit = d3.formatPrefix(value, precision);
value = unit.scale(value);
fullSuffix = unit.symbol + suffix;
} else {
value *= scale;
}
value = type(value, precision);
var i = value.lastIndexOf("."), before, after;
if (i < 0) {
var j = exponent ? value.lastIndexOf("e") : -1;
if (j < 0) before = value, after = ""; else before = value.substring(0, j), after = value.substring(j);
} else {
before = value.substring(0, i);
after = locale_decimal + value.substring(i + 1);
}
if (!zfill && comma) before = formatGroup(before, Infinity);
var length = prefix.length + before.length + after.length + (zcomma ? 0 : negative.length), padding = length < width ? new Array(length = width - length + 1).join(fill) : "";
if (zcomma) before = formatGroup(padding + before, padding.length ? width - after.length : Infinity);
negative += prefix;
value = before + after;
return (align === "<" ? negative + value + padding : align === ">" ? padding + negative + value : align === "^" ? padding.substring(0, length >>= 1) + negative + value + padding.substring(length) : negative + (zcomma ? value : padding + value)) + fullSuffix;
};
};
}
var d3_format_re = /(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i;
var d3_format_types = d3.map({
b: function(x) {
return x.toString(2);
},
c: function(x) {
return String.fromCharCode(x);
},
o: function(x) {
return x.toString(8);
},
x: function(x) {
return x.toString(16);
},
X: function(x) {
return x.toString(16).toUpperCase();
},
g: function(x, p) {
return x.toPrecision(p);
},
e: function(x, p) {
return x.toExponential(p);
},
f: function(x, p) {
return x.toFixed(p);
},
r: function(x, p) {
return (x = d3.round(x, d3_format_precision(x, p))).toFixed(Math.max(0, Math.min(20, d3_format_precision(x * (1 + 1e-15), p))));
}
});
function d3_format_typeDefault(x) {
return x + "";
}
var d3_time = d3.time = {}, d3_date = Date;
function d3_date_utc() {
this._ = new Date(arguments.length > 1 ? Date.UTC.apply(this, arguments) : arguments[0]);
}
d3_date_utc.prototype = {
getDate: function() {
return this._.getUTCDate();
},
getDay: function() {
return this._.getUTCDay();
},
getFullYear: function() {
return this._.getUTCFullYear();
},
getHours: function() {
return this._.getUTCHours();
},
getMilliseconds: function() {
return this._.getUTCMilliseconds();
},
getMinutes: function() {
return this._.getUTCMinutes();
},
getMonth: function() {
return this._.getUTCMonth();
},
getSeconds: function() {
return this._.getUTCSeconds();
},
getTime: function() {
return this._.getTime();
},
getTimezoneOffset: function() {
return 0;
},
valueOf: function() {
return this._.valueOf();
},
setDate: function() {
d3_time_prototype.setUTCDate.apply(this._, arguments);
},
setDay: function() {
d3_time_prototype.setUTCDay.apply(this._, arguments);
},
setFullYear: function() {
d3_time_prototype.setUTCFullYear.apply(this._, arguments);
},
setHours: function() {
d3_time_prototype.setUTCHours.apply(this._, arguments);
},
setMilliseconds: function() {
d3_time_prototype.setUTCMilliseconds.apply(this._, arguments);
},
setMinutes: function() {
d3_time_prototype.setUTCMinutes.apply(this._, arguments);
},
setMonth: function() {
d3_time_prototype.setUTCMonth.apply(this._, arguments);
},
setSeconds: function() {
d3_time_prototype.setUTCSeconds.apply(this._, arguments);
},
setTime: function() {
d3_time_prototype.setTime.apply(this._, arguments);
}
};
var d3_time_prototype = Date.prototype;
function d3_time_interval(local, step, number) {
function round(date) {
var d0 = local(date), d1 = offset(d0, 1);
return date - d0 < d1 - date ? d0 : d1;
}
function ceil(date) {
step(date = local(new d3_date(date - 1)), 1);
return date;
}
function offset(date, k) {
step(date = new d3_date(+date), k);
return date;
}
function range(t0, t1, dt) {
var time = ceil(t0), times = [];
if (dt > 1) {
while (time < t1) {
if (!(number(time) % dt)) times.push(new Date(+time));
step(time, 1);
}
} else {
while (time < t1) times.push(new Date(+time)), step(time, 1);
}
return times;
}
function range_utc(t0, t1, dt) {
try {
d3_date = d3_date_utc;
var utc = new d3_date_utc();
utc._ = t0;
return range(utc, t1, dt);
} finally {
d3_date = Date;
}
}
local.floor = local;
local.round = round;
local.ceil = ceil;
local.offset = offset;
local.range = range;
var utc = local.utc = d3_time_interval_utc(local);
utc.floor = utc;
utc.round = d3_time_interval_utc(round);
utc.ceil = d3_time_interval_utc(ceil);
utc.offset = d3_time_interval_utc(offset);
utc.range = range_utc;
return local;
}
function d3_time_interval_utc(method) {
return function(date, k) {
try {
d3_date = d3_date_utc;
var utc = new d3_date_utc();
utc._ = date;
return method(utc, k)._;
} finally {
d3_date = Date;
}
};
}
d3_time.year = d3_time_interval(function(date) {
date = d3_time.day(date);
date.setMonth(0, 1);
return date;
}, function(date, offset) {
date.setFullYear(date.getFullYear() + offset);
}, function(date) {
return date.getFullYear();
});
d3_time.years = d3_time.year.range;
d3_time.years.utc = d3_time.year.utc.range;
d3_time.day = d3_time_interval(function(date) {
var day = new d3_date(2e3, 0);
day.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());
return day;
}, function(date, offset) {
date.setDate(date.getDate() + offset);
}, function(date) {
return date.getDate() - 1;
});
d3_time.days = d3_time.day.range;
d3_time.days.utc = d3_time.day.utc.range;
d3_time.dayOfYear = function(date) {
var year = d3_time.year(date);
return Math.floor((date - year - (date.getTimezoneOffset() - year.getTimezoneOffset()) * 6e4) / 864e5);
};
[ "sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday" ].forEach(function(day, i) {
i = 7 - i;
var interval = d3_time[day] = d3_time_interval(function(date) {
(date = d3_time.day(date)).setDate(date.getDate() - (date.getDay() + i) % 7);
return date;
}, function(date, offset) {
date.setDate(date.getDate() + Math.floor(offset) * 7);
}, function(date) {
var day = d3_time.year(date).getDay();
return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7) - (day !== i);
});
d3_time[day + "s"] = interval.range;
d3_time[day + "s"].utc = interval.utc.range;
d3_time[day + "OfYear"] = function(date) {
var day = d3_time.year(date).getDay();
return Math.floor((d3_time.dayOfYear(date) + (day + i) % 7) / 7);
};
});
d3_time.week = d3_time.sunday;
d3_time.weeks = d3_time.sunday.range;
d3_time.weeks.utc = d3_time.sunday.utc.range;
d3_time.weekOfYear = d3_time.sundayOfYear;
function d3_locale_timeFormat(locale) {
var locale_dateTime = locale.dateTime, locale_date = locale.date, locale_time = locale.time, locale_periods = locale.periods, locale_days = locale.days, locale_shortDays = locale.shortDays, locale_months = locale.months, locale_shortMonths = locale.shortMonths;
function d3_time_format(template) {
var n = template.length;
function format(date) {
var string = [], i = -1, j = 0, c, p, f;
while (++i < n) {
if (template.charCodeAt(i) === 37) {
string.push(template.slice(j, i));
if ((p = d3_time_formatPads[c = template.charAt(++i)]) != null) c = template.charAt(++i);
if (f = d3_time_formats[c]) c = f(date, p == null ? c === "e" ? " " : "0" : p);
string.push(c);
j = i + 1;
}
}
string.push(template.slice(j, i));
return string.join("");
}
format.parse = function(string) {
var d = {
y: 1900,
m: 0,
d: 1,
H: 0,
M: 0,
S: 0,
L: 0,
Z: null
}, i = d3_time_parse(d, template, string, 0);
if (i != string.length) return null;
if ("p" in d) d.H = d.H % 12 + d.p * 12;
var localZ = d.Z != null && d3_date !== d3_date_utc, date = new (localZ ? d3_date_utc : d3_date)();
if ("j" in d) date.setFullYear(d.y, 0, d.j); else if ("w" in d && ("W" in d || "U" in d)) {
date.setFullYear(d.y, 0, 1);
date.setFullYear(d.y, 0, "W" in d ? (d.w + 6) % 7 + d.W * 7 - (date.getDay() + 5) % 7 : d.w + d.U * 7 - (date.getDay() + 6) % 7);
} else date.setFullYear(d.y, d.m, d.d);
date.setHours(d.H + (d.Z / 100 | 0), d.M + d.Z % 100, d.S, d.L);
return localZ ? date._ : date;
};
format.toString = function() {
return template;
};
return format;
}
function d3_time_parse(date, template, string, j) {
var c, p, t, i = 0, n = template.length, m = string.length;
while (i < n) {
if (j >= m) return -1;
c = template.charCodeAt(i++);
if (c === 37) {
t = template.charAt(i++);
p = d3_time_parsers[t in d3_time_formatPads ? template.charAt(i++) : t];
if (!p || (j = p(date, string, j)) < 0) return -1;
} else if (c != string.charCodeAt(j++)) {
return -1;
}
}
return j;
}
d3_time_format.utc = function(template) {
var local = d3_time_format(template);
function format(date) {
try {
d3_date = d3_date_utc;
var utc = new d3_date();
utc._ = date;
return local(utc);
} finally {
d3_date = Date;
}
}
format.parse = function(string) {
try {
d3_date = d3_date_utc;
var date = local.parse(string);
return date && date._;
} finally {
d3_date = Date;
}
};
format.toString = local.toString;
return format;
};
d3_time_format.multi = d3_time_format.utc.multi = d3_time_formatMulti;
var d3_time_periodLookup = d3.map(), d3_time_dayRe = d3_time_formatRe(locale_days), d3_time_dayLookup = d3_time_formatLookup(locale_days), d3_time_dayAbbrevRe = d3_time_formatRe(locale_shortDays), d3_time_dayAbbrevLookup = d3_time_formatLookup(locale_shortDays), d3_time_monthRe = d3_time_formatRe(locale_months), d3_time_monthLookup = d3_time_formatLookup(locale_months), d3_time_monthAbbrevRe = d3_time_formatRe(locale_shortMonths), d3_time_monthAbbrevLookup = d3_time_formatLookup(locale_shortMonths);
locale_periods.forEach(function(p, i) {
d3_time_periodLookup.set(p.toLowerCase(), i);
});
var d3_time_formats = {
a: function(d) {
return locale_shortDays[d.getDay()];
},
A: function(d) {
return locale_days[d.getDay()];
},
b: function(d) {
return locale_shortMonths[d.getMonth()];
},
B: function(d) {
return locale_months[d.getMonth()];
},
c: d3_time_format(locale_dateTime),
d: function(d, p) {
return d3_time_formatPad(d.getDate(), p, 2);
},
e: function(d, p) {
return d3_time_formatPad(d.getDate(), p, 2);
},
H: function(d, p) {
return d3_time_formatPad(d.getHours(), p, 2);
},
I: function(d, p) {
return d3_time_formatPad(d.getHours() % 12 || 12, p, 2);
},
j: function(d, p) {
return d3_time_formatPad(1 + d3_time.dayOfYear(d), p, 3);
},
L: function(d, p) {
return d3_time_formatPad(d.getMilliseconds(), p, 3);
},
m: function(d, p) {
return d3_time_formatPad(d.getMonth() + 1, p, 2);
},
M: function(d, p) {
return d3_time_formatPad(d.getMinutes(), p, 2);
},
p: function(d) {
return locale_periods[+(d.getHours() >= 12)];
},
S: function(d, p) {
return d3_time_formatPad(d.getSeconds(), p, 2);
},
U: function(d, p) {
return d3_time_formatPad(d3_time.sundayOfYear(d), p, 2);
},
w: function(d) {
return d.getDay();
},
W: function(d, p) {
return d3_time_formatPad(d3_time.mondayOfYear(d), p, 2);
},
x: d3_time_format(locale_date),
X: d3_time_format(locale_time),
y: function(d, p) {
return d3_time_formatPad(d.getFullYear() % 100, p, 2);
},
Y: function(d, p) {
return d3_time_formatPad(d.getFullYear() % 1e4, p, 4);
},
Z: d3_time_zone,
"%": function() {
return "%";
}
};
var d3_time_parsers = {
a: d3_time_parseWeekdayAbbrev,
A: d3_time_parseWeekday,
b: d3_time_parseMonthAbbrev,
B: d3_time_parseMonth,
c: d3_time_parseLocaleFull,
d: d3_time_parseDay,
e: d3_time_parseDay,
H: d3_time_parseHour24,
I: d3_time_parseHour24,
j: d3_time_parseDayOfYear,
L: d3_time_parseMilliseconds,
m: d3_time_parseMonthNumber,
M: d3_time_parseMinutes,
p: d3_time_parseAmPm,
S: d3_time_parseSeconds,
U: d3_time_parseWeekNumberSunday,
w: d3_time_parseWeekdayNumber,
W: d3_time_parseWeekNumberMonday,
x: d3_time_parseLocaleDate,
X: d3_time_parseLocaleTime,
y: d3_time_parseYear,
Y: d3_time_parseFullYear,
Z: d3_time_parseZone,
"%": d3_time_parseLiteralPercent
};
function d3_time_parseWeekdayAbbrev(date, string, i) {
d3_time_dayAbbrevRe.lastIndex = 0;
var n = d3_time_dayAbbrevRe.exec(string.slice(i));
return n ? (date.w = d3_time_dayAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
}
function d3_time_parseWeekday(date, string, i) {
d3_time_dayRe.lastIndex = 0;
var n = d3_time_dayRe.exec(string.slice(i));
return n ? (date.w = d3_time_dayLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
}
function d3_time_parseMonthAbbrev(date, string, i) {
d3_time_monthAbbrevRe.lastIndex = 0;
var n = d3_time_monthAbbrevRe.exec(string.slice(i));
return n ? (date.m = d3_time_monthAbbrevLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
}
function d3_time_parseMonth(date, string, i) {
d3_time_monthRe.lastIndex = 0;
var n = d3_time_monthRe.exec(string.slice(i));
return n ? (date.m = d3_time_monthLookup.get(n[0].toLowerCase()), i + n[0].length) : -1;
}
function d3_time_parseLocaleFull(date, string, i) {
return d3_time_parse(date, d3_time_formats.c.toString(), string, i);
}
function d3_time_parseLocaleDate(date, string, i) {
return d3_time_parse(date, d3_time_formats.x.toString(), string, i);
}
function d3_time_parseLocaleTime(date, string, i) {
return d3_time_parse(date, d3_time_formats.X.toString(), string, i);
}
function d3_time_parseAmPm(date, string, i) {
var n = d3_time_periodLookup.get(string.slice(i, i += 2).toLowerCase());
return n == null ? -1 : (date.p = n, i);
}
return d3_time_format;
}
var d3_time_formatPads = {
"-": "",
_: " ",
"0": "0"
}, d3_time_numberRe = /^\s*\d+/, d3_time_percentRe = /^%/;
function d3_time_formatPad(value, fill, width) {
var sign = value < 0 ? "-" : "", string = (sign ? -value : value) + "", length = string.length;
return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);
}
function d3_time_formatRe(names) {
return new RegExp("^(?:" + names.map(d3.requote).join("|") + ")", "i");
}
function d3_time_formatLookup(names) {
var map = new d3_Map(), i = -1, n = names.length;
while (++i < n) map.set(names[i].toLowerCase(), i);
return map;
}
function d3_time_parseWeekdayNumber(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 1));
return n ? (date.w = +n[0], i + n[0].length) : -1;
}
function d3_time_parseWeekNumberSunday(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i));
return n ? (date.U = +n[0], i + n[0].length) : -1;
}
function d3_time_parseWeekNumberMonday(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i));
return n ? (date.W = +n[0], i + n[0].length) : -1;
}
function d3_time_parseFullYear(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 4));
return n ? (date.y = +n[0], i + n[0].length) : -1;
}
function d3_time_parseYear(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 2));
return n ? (date.y = d3_time_expandYear(+n[0]), i + n[0].length) : -1;
}
function d3_time_parseZone(date, string, i) {
return /^[+-]\d{4}$/.test(string = string.slice(i, i + 5)) ? (date.Z = -string,
i + 5) : -1;
}
function d3_time_expandYear(d) {
return d + (d > 68 ? 1900 : 2e3);
}
function d3_time_parseMonthNumber(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 2));
return n ? (date.m = n[0] - 1, i + n[0].length) : -1;
}
function d3_time_parseDay(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 2));
return n ? (date.d = +n[0], i + n[0].length) : -1;
}
function d3_time_parseDayOfYear(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 3));
return n ? (date.j = +n[0], i + n[0].length) : -1;
}
function d3_time_parseHour24(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 2));
return n ? (date.H = +n[0], i + n[0].length) : -1;
}
function d3_time_parseMinutes(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 2));
return n ? (date.M = +n[0], i + n[0].length) : -1;
}
function d3_time_parseSeconds(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 2));
return n ? (date.S = +n[0], i + n[0].length) : -1;
}
function d3_time_parseMilliseconds(date, string, i) {
d3_time_numberRe.lastIndex = 0;
var n = d3_time_numberRe.exec(string.slice(i, i + 3));
return n ? (date.L = +n[0], i + n[0].length) : -1;
}
function d3_time_zone(d) {
var z = d.getTimezoneOffset(), zs = z > 0 ? "-" : "+", zh = abs(z) / 60 | 0, zm = abs(z) % 60;
return zs + d3_time_formatPad(zh, "0", 2) + d3_time_formatPad(zm, "0", 2);
}
function d3_time_parseLiteralPercent(date, string, i) {
d3_time_percentRe.lastIndex = 0;
var n = d3_time_percentRe.exec(string.slice(i, i + 1));
return n ? i + n[0].length : -1;
}
function d3_time_formatMulti(formats) {
var n = formats.length, i = -1;
while (++i < n) formats[i][0] = this(formats[i][0]);
return function(date) {
var i = 0, f = formats[i];
while (!f[1](date)) f = formats[++i];
return f[0](date);
};
}
d3.locale = function(locale) {
return {
numberFormat: d3_locale_numberFormat(locale),
timeFormat: d3_locale_timeFormat(locale)
};
};
var d3_locale_enUS = d3.locale({
decimal: ".",
thousands: ",",
grouping: [ 3 ],
currency: [ "$", "" ],
dateTime: "%a %b %e %X %Y",
date: "%m/%d/%Y",
time: "%H:%M:%S",
periods: [ "AM", "PM" ],
days: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ],
shortDays: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ],
months: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ],
shortMonths: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]
});
d3.format = d3_locale_enUS.numberFormat;
d3.geo = {};
function d3_adder() {}
d3_adder.prototype = {
s: 0,
t: 0,
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, bv = x - a, av = x - bv;
o.t = a - av + (b - bv);
}
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_geo_streamGeometry(geometry, listener) {
if (geometry && 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) {
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_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_geo_streamPolygon(coordinates, listener) {
var i = -1, n = coordinates.length;
listener.polygonStart();
while (++i < n) d3_geo_streamLine(coordinates[i], listener, 1);
listener.polygonEnd();
}
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,
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;
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 nextPoint(λ, φ) {
λ *= d3_radians;
φ = φ * d3_radians / 2 + π / 4;
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));
λ0 = λ, cosφ0 = cosφ, sinφ0 = sinφ;
}
d3_geo_area.lineEnd = function() {
nextPoint(λ00, φ00);
};
}
function d3_geo_cartesian(spherical) {
var λ = spherical[0], φ = spherical[1], cosφ = Math.cos(φ);
return [ cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ) ];
}
function d3_geo_cartesianDot(a, b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
}
function d3_geo_cartesianCross(a, b) {
return [ a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0] ];
}
function d3_geo_cartesianAdd(a, b) {
a[0] += b[0];
a[1] += b[1];
a[2] += b[2];
}
function d3_geo_cartesianScale(vector, k) {
return [ vector[0] * k, vector[1] * k, vector[2] * k ];
}
function d3_geo_cartesianNormalize(d) {
var l = Math.sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);
d[0] /= l;
d[1] /= l;
d[2] /= l;
}
function d3_geo_spherical(cartesian) {
return [ Math.atan2(cartesian[1], cartesian[0]), d3_asin(cartesian[2]) ];
}
function d3_geo_sphericalEqual(a, b) {
return abs(a[0] - b[0]) < ε && abs(a[1] - b[1]) < ε;
}
d3.geo.bounds = function() {
var λ0, φ0, λ1, φ1, λ_, λ__, φ__, p0, dλSum, ranges, range;
var bound = {
point: point,
lineStart: lineStart,
lineEnd: lineEnd,
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 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, λ_ = λ;
}
function lineStart() {
bound.point = linePoint;
}
function lineEnd() {
range[0] = λ0, range[1] = λ1;
bound.point = point;
p0 = null;
}
function ringPoint(λ, φ) {
if (p0) {
var dλ = λ - λ_;
dλSum += abs(dλ) > 180 ? dλ + (dλ > 0 ? 360 : -360) : dλ;
} else λ__ = λ, φ__ = φ;
d3_geo_area.point(λ, φ);
linePoint(λ, φ);
}
function ringStart() {
d3_geo_area.lineStart();
}
function ringEnd() {
ringPoint(λ__, φ__);
d3_geo_area.lineEnd();
if (abs(dλSum) > ε) λ0 = -(λ1 = 180);
range[0] = λ0, range[1] = λ1;
p0 = null;
}
function angle(λ0, λ1) {
return (λ1 -= λ0) < 0 ? λ1 + 360 : λ1;
}
function compareRanges(a, b) {
return a[0] - b[0];
}
function withinRange(x, range) {
return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;
}
return function(feature) {
φ1 = λ1 = -(λ0 = φ0 = Infinity);
ranges = [];
d3.geo.stream(feature, bound);
var n = ranges.length;
if (n) {
ranges.sort(compareRanges);
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);
}
}
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 λ0 === Infinity || φ0 === Infinity ? [ [ NaN, NaN ], [ NaN, NaN ] ] : [ [ λ0, φ0 ], [ λ1, φ1 ] ];
};
}();
d3.geo.centroid = function(object) {
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 x = d3_geo_centroidX2, y = d3_geo_centroidY2, z = d3_geo_centroidZ2, m = x * x + y * y + z * z;
if (m < ε2) {
x = d3_geo_centroidX1, y = d3_geo_centroidY1, z = d3_geo_centroidZ1;
if (d3_geo_centroidW1 < ε) x = d3_geo_centroidX0, y = d3_geo_centroidY0, z = d3_geo_centroidZ0;
m = x * x + y * y + z * z;
if (m < ε2) return [ NaN, NaN ];
}
return [ Math.atan2(y, x) * d3_degrees, d3_asin(z / Math.sqrt(m)) * d3_degrees ];
};
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: d3_noop,
point: d3_geo_centroidPoint,
lineStart: d3_geo_centroidLineStart,
lineEnd: d3_geo_centroidLineEnd,
polygonStart: function() {
d3_geo_centroid.lineStart = d3_geo_centroidRingStart;
},
polygonEnd: function() {
d3_geo_centroid.lineStart = d3_geo_centroidLineStart;
}
};
function d3_geo_centroidPoint(λ, φ) {
λ *= d3_radians;
var cosφ = Math.cos(φ *= d3_radians);
d3_geo_centroidPointXYZ(cosφ * Math.cos(λ), cosφ * Math.sin(λ), Math.sin(φ));
}
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;
d3_geo_centroid.point = function(λ, φ) {
λ *= d3_radians;
var cosφ = Math.cos(φ *= d3_radians);
x0 = cosφ * Math.cos(λ);
y0 = cosφ * Math.sin(λ);
z0 = Math.sin(φ);
d3_geo_centroid.point = nextPoint;
d3_geo_centroidPointXYZ(x0, y0, z0);
};
function nextPoint(λ, φ) {
λ *= d3_radians;
var cosφ = Math.cos(φ *= d3_radians), x = cosφ * Math.cos(λ), y = cosφ * Math.sin(λ), z = Math.sin(φ), 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_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);
}
}
function d3_geo_centroidLineEnd() {
d3_geo_centroid.point = d3_geo_centroidPoint;
}
function d3_geo_centroidRingStart() {
var λ00, φ00, x0, y0, z0;
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, w = Math.atan2(m, u);
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);
}
}
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_true() {
return true;
}
function d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener) {
var subject = [], clip = [];
segments.forEach(function(segment) {
if ((n = segment.length - 1) <= 0) return;
var n, p0 = segment[0], p1 = segment[n];
if (d3_geo_sphericalEqual(p0, p1)) {
listener.lineStart();
for (var i = 0; i < n; ++i) listener.point((p0 = segment[i])[0], p0[1]);
listener.lineEnd();
return;
}
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 = 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);
});
clip.sort(compare);
d3_geo_clipPolygonLinkCircular(subject);
d3_geo_clipPolygonLinkCircular(clip);
if (!subject.length) return;
for (var i = 0, entry = clipStartInside, n = clip.length; i < n; ++i) {
clip[i].e = entry = !entry;
}
var start = subject[0], points, point;
while (1) {
var current = start, isSubject = true;
while (current.v) if ((current = current.n) === start) return;
points = current.z;
listener.lineStart();
do {
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.x, current.n.x, 1, listener);
}
current = current.n;
} else {
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.x, current.p.x, -1, listener);
}
current = current.p;
}
current = current.o;
points = current.z;
isSubject = !isSubject;
} while (!current.v);
listener.lineEnd();
}
}
function d3_geo_clipPolygonLinkCircular(array) {
if (!(n = array.length)) return;
var n, i = 0, a = array[0], b;
while (++i < n) {
a.n = b = array[i];
b.p = a;
a = b;
}
a.n = b = array[0];
b.p = a;
}
function d3_geo_clipPolygonIntersection(point, points, other, entry) {
this.x = point;
this.z = points;
this.o = other;
this.e = entry;
this.v = false;
this.n = this.p = null;
}
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,
lineStart: lineStart,
lineEnd: lineEnd,
polygonStart: function() {
clip.point = pointRing;
clip.lineStart = ringStart;
clip.lineEnd = ringEnd;
segments = [];
polygon = [];
},
polygonEnd: function() {
clip.point = point;
clip.lineStart = lineStart;
clip.lineEnd = lineEnd;
segments = d3.merge(segments);
var clipStartInside = d3_geo_pointInPolygon(rotatedClipStart, polygon);
if (segments.length) {
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();
}
if (polygonStarted) listener.polygonEnd(), polygonStarted = false;
segments = polygon = null;
},
sphere: function() {
listener.polygonStart();
listener.lineStart();
interpolate(null, null, 1, listener);
listener.lineEnd();
listener.polygonEnd();
}
};
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;
var buffer = d3_geo_clipBufferListener(), ringListener = clipLine(buffer), polygonStarted = false, polygon, ring;
function pointRing(λ, φ) {
ring.push([ λ, φ ]);
var point = rotate(λ, φ);
ringListener.point(point[0], point[1]);
}
function ringStart() {
ringListener.lineStart();
ring = [];
}
function ringEnd() {
pointRing(ring[0][0], ring[0][1]);
ringListener.lineEnd();
var clean = ringListener.clean(), ringSegments = buffer.buffer(), segment, n = ringSegments.length;
ring.pop();
polygon.push(ring);
ring = null;
if (!n) return;
if (clean & 1) {
segment = ringSegments[0];
var n = segment.length - 1, i = -1, point;
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;
}
if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));
segments.push(ringSegments.filter(d3_geo_clipSegmentLength1));
}
return clip;
};
}
function d3_geo_clipSegmentLength1(segment) {
return segment.length > 1;
}
function d3_geo_clipBufferListener() {
var lines = [], line;
return {
lineStart: function() {
lines.push(line = []);
},
point: function(λ, φ) {
line.push([ λ, φ ]);
},
lineEnd: d3_noop,
buffer: function() {
var buffer = lines;
lines = [];
line = null;
return buffer;
},
rejoin: function() {
if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));
}
};
}
function d3_geo_clipSort(a, b) {
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, [ -π, -π / 2 ]);
function d3_geo_clipAntimeridianLine(listener) {
var λ0 = NaN, φ0 = NaN, sλ0 = NaN, clean;
return {
lineStart: function() {
listener.lineStart();
clean = 1;
},
point: function(λ1, φ1) {
var sλ1 = λ1 > 0 ? π : -π, dλ = abs(λ1 - λ0);
if (abs(dλ - π) < ε) {
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);
clean = 0;
} else if (sλ0 !== sλ1 && dλ >= π) {
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();
listener.lineStart();
listener.point(sλ1, φ0);
clean = 0;
}
listener.point(λ0 = λ1, φ0 = φ1);
sλ0 = sλ1;
},
lineEnd: function() {
listener.lineEnd();
λ0 = φ0 = NaN;
},
clean: function() {
return 2 - clean;
}
};
}
function d3_geo_clipAntimeridianIntersect(λ0, φ0, λ1, φ1) {
var cosφ0, cosφ1, sinλ0_λ1 = Math.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)) : (φ0 + φ1) / 2;
}
function d3_geo_clipAntimeridianInterpolate(from, to, direction, listener) {
var φ;
if (from == null) {
φ = direction * halfπ;
listener.point(-π, φ);
listener.point(0, φ);
listener.point(π, φ);
listener.point(π, 0);
listener.point(π, -φ);
listener.point(0, -φ);
listener.point(-π, -φ);
listener.point(-π, 0);
listener.point(-π, φ);
} else if (abs(from[0] - to[0]) > ε) {
var s = from[0] < to[0] ? π : -π;
φ = direction * s / 2;
listener.point(-s, φ);
listener.point(0, φ);
listener.point(s, φ);
} else {
listener.point(to[0], to[1]);
}
}
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λ;
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;
}
}
return (polarAngle < -ε || polarAngle < ε && d3_geo_areaRingSum < 0) ^ winding & 1;
}
function d3_geo_clipCircle(radius) {
var cr = Math.cos(radius), smallRadius = cr > 0, notHemisphere = abs(cr) > ε, interpolate = d3_geo_circleInterpolate(radius, 6 * d3_radians);
return d3_geo_clip(visible, clipLine, interpolate, smallRadius ? [ 0, -radius ] : [ -π, radius - π ]);
function visible(λ, φ) {
return Math.cos(λ) * Math.cos(φ) > cr;
}
function clipLine(listener) {
var point0, c0, v0, v00, clean;
return {
lineStart: function() {
v00 = v0 = false;
clean = 1;
},
point: function(λ, φ) {
var point1 = [ λ, φ ], point2, v = visible(λ, φ), c = smallRadius ? v ? 0 : code(λ, φ) : v ? code(λ + (λ < 0 ? π : -π), φ) : 0;
if (!point0 && (v00 = v0 = v)) listener.lineStart();
if (v !== v0) {
point2 = intersect(point0, point1);
if (d3_geo_sphericalEqual(point0, point2) || d3_geo_sphericalEqual(point1, point2)) {
point1[0] += ε;
point1[1] += ε;
v = visible(point1[0], point1[1]);
}
}
if (v !== v0) {
clean = 0;
if (v) {
listener.lineStart();
point2 = intersect(point1, point0);
listener.point(point2[0], point2[1]);
} else {
point2 = intersect(point0, point1);
listener.point(point2[0], point2[1]);
listener.lineEnd();
}
point0 = point2;
} else if (notHemisphere && point0 && smallRadius ^ v) {
var t;
if (!(c & c0) && (t = intersect(point1, point0, true))) {
clean = 0;
if (smallRadius) {
listener.lineStart();
listener.point(t[0][0], t[0][1]);
listener.point(t[1][0], t[1][1]);
listener.lineEnd();
} else {
listener.point(t[1][0], t[1][1]);
listener.lineEnd();
listener.lineStart();
listener.point(t[0][0], t[0][1]);
}
}
}
if (v && (!point0 || !d3_geo_sphericalEqual(point0, point1))) {
listener.point(point1[0], point1[1]);
}
point0 = point1, v0 = v, c0 = c;
},
lineEnd: function() {
if (v0) listener.lineEnd();
point0 = null;
},
clean: function() {
return clean | (v00 && v0) << 1;
}
};
}
function intersect(a, b, two) {
var pa = d3_geo_cartesian(a), pb = d3_geo_cartesian(b);
var n1 = [ 1, 0, 0 ], n2 = d3_geo_cartesianCross(pa, pb), n2n2 = d3_geo_cartesianDot(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;
if (!determinant) return !two && a;
var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = d3_geo_cartesianCross(n1, n2), A = d3_geo_cartesianScale(n1, c1), B = d3_geo_cartesianScale(n2, c2);
d3_geo_cartesianAdd(A, B);
var u = n1xn2, w = d3_geo_cartesianDot(A, u), uu = d3_geo_cartesianDot(u, u), t2 = w * w - uu * (d3_geo_cartesianDot(A, A) - 1);
if (t2 < 0) return;
var t = Math.sqrt(t2), q = d3_geo_cartesianScale(u, (-w - t) / uu);
d3_geo_cartesianAdd(q, A);
q = d3_geo_spherical(q);
if (!two) return q;
var λ0 = a[0], λ1 = b[0], φ0 = a[1], φ1 = b[1], z;
if (λ1 < λ0) z = λ0, λ0 = λ1, λ1 = z;
var δλ = λ1 - λ0, polar = abs(δλ - π) < ε, meridian = polar || δλ < ε;
if (!polar && φ1 < φ0) z = φ0, φ0 = φ1, φ1 = z;
if (meridian ? polar ? φ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);
d3_geo_cartesianAdd(q1, A);
return [ q, d3_geo_spherical(q1) ];
}
}
function code(λ, φ) {
var r = smallRadius ? radius : π - radius, code = 0;
if (λ < -r) code |= 1; else if (λ > r) code |= 2;
if (φ < -r) code |= 4; else if (φ > r) code |= 8;
return code;
}
}
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;
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_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;
var clip = {
point: point,
lineStart: lineStart,
lineEnd: lineEnd,
polygonStart: function() {
listener = bufferListener;
segments = [];
polygon = [];
clean = true;
},
polygonEnd: function() {
listener = listener_;
segments = d3.merge(segments);
var clipStartInside = insidePolygon([ x0, y1 ]), inside = clean && clipStartInside, visible = segments.length;
if (inside || visible) {
listener.polygonStart();
if (inside) {
listener.lineStart();
interpolate(null, null, 1, listener);
listener.lineEnd();
}
if (visible) {
d3_geo_clipPolygon(segments, compare, clipStartInside, interpolate, listener);
}
listener.polygonEnd();
}
segments = polygon = ring = null;
}
};
function insidePolygon(p) {
var wn = 0, 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], b; j < m; ++j) {
b = v[j];
if (a[1] <= y) {
if (b[1] > y && d3_cross2d(a, b, p) > 0) ++wn;
} else {
if (b[1] <= y && d3_cross2d(a, b, p) < 0) --wn;
}
a = b;
}
}
return wn !== 0;
}
function interpolate(from, to, direction, listener) {
var a = 0, a1 = 0;
if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoints(from, to) < 0 ^ direction > 0) {
do {
listener.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);
} while ((a = (a + direction + 4) % 4) !== a1);
} else {
listener.point(to[0], to[1]);
}
}
function pointVisible(x, y) {
return x0 <= x && x <= x1 && y0 <= y && y <= y1;
}
function point(x, y) {
if (pointVisible(x, y)) listener.point(x, y);
}
var x__, y__, v__, x_, y_, v_, first, clean;
function lineStart() {
clip.point = linePoint;
if (polygon) polygon.push(ring = []);
first = true;
v_ = false;
x_ = y_ = NaN;
}
function lineEnd() {
if (segments) {
linePoint(x__, y__);
if (v__ && v_) bufferListener.rejoin();
segments.push(bufferListener.buffer());
}
clip.point = point;
if (v_) listener.lineEnd();
}
function linePoint(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;
first = false;
if (v) {
listener.lineStart();
listener.point(x, y);
}
} else {
if (v && v_) listener.point(x, y); else {
var l = {
a: {
x: x_,
y: y_
},
b: {
x: x,
y: y
}
};
if (clipLine(l)) {
if (!v_) {
listener.lineStart();
listener.point(l.a.x, l.a.y);
}
listener.point(l.b.x, l.b.y);
if (!v) listener.lineEnd();
clean = false;
} else if (v) {
listener.lineStart();
listener.point(x, y);
clean = false;
}
}
}
x_ = x, y_ = y, v_ = v;
}
return clip;
};
function corner(p, direction) {
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;
}
function compare(a, b) {
return comparePoints(a.x, b.x);
}
function comparePoints(a, b) {
var ca = corner(a, 1), cb = corner(b, 1);
return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];
}
}
function d3_geo_conic(projectAt) {
var φ0 = 0, φ1 = π / 3, m = d3_geo_projectionMutator(projectAt), p = m(φ0, φ1);
p.parallels = function(_) {
if (!arguments.length) return [ φ0 / π * 180, φ1 / π * 180 ];
return m(φ0 = _[0] * π / 180, φ1 = _[1] * π / 180);
};
return p;
}
function d3_geo_conicEqualArea(φ0, φ1) {
var sinφ0 = Math.sin(φ0), n = (sinφ0 + Math.sin(φ1)) / 2, C = 1 + sinφ0 * (2 * n - sinφ0), ρ0 = Math.sqrt(C) / n;
function forward(λ, φ) {
var ρ = Math.sqrt(C - 2 * n * Math.sin(φ)) / n;
return [ ρ * Math.sin(λ *= n), ρ0 - ρ * Math.cos(λ) ];
}
forward.invert = function(x, y) {
var ρ0_y = ρ0 - y;
return [ Math.atan2(x, ρ0_y) / n, d3_asin((C - (x * x + ρ0_y * ρ0_y) * n * n) / (2 * n)) ];
};
return forward;
}
(d3.geo.conicEqualArea = function() {
return d3_geo_conic(d3_geo_conicEqualArea);
}).raw = d3_geo_conicEqualArea;
d3.geo.albers = function() {
return d3.geo.conicEqualArea().rotate([ 96, 0 ]).center([ -.6, 38.7 ]).parallels([ 29.5, 45.5 ]).scale(1070);
};
d3.geo.albersUsa = function() {
var lower48 = d3.geo.albers();
var alaska = d3.geo.conicEqualArea().rotate([ 154, 0 ]).center([ -2, 58.5 ]).parallels([ 55, 65 ]);
var hawaii = d3.geo.conicEqualArea().rotate([ 157, 0 ]).center([ -3, 19.9 ]).parallels([ 8, 18 ]);
var point, pointStream = {
point: function(x, y) {
point = [ x, y ];
}
}, lower48Point, alaskaPoint, hawaiiPoint;
function albersUsa(coordinates) {
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) {
var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;
return (y >= .12 && y < .234 && x >= -.425 && x < -.214 ? alaska : y >= .166 && y < .234 && x >= -.214 && x < -.115 ? hawaii : lower48).invert(coordinates);
};
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(_) {
if (!arguments.length) return lower48.scale();
lower48.scale(_);
alaska.scale(_ * .35);
hawaii.scale(_);
return albersUsa.translate(lower48.translate());
};
albersUsa.translate = function(_) {
if (!arguments.length) return lower48.translate();
var k = lower48.scale(), x = +_[0], y = +_[1];
lower48Point = lower48.translate(_).clipExtent([ [ x - .455 * k, y - .238 * k ], [ x + .455 * k, y + .238 * k ] ]).stream(pointStream).point;
alaskaPoint = alaska.translate([ x - .307 * k, y + .201 * k ]).clipExtent([ [ x - .425 * k + ε, y + .12 * 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;
return albersUsa;
};
return albersUsa.scale(1070);
};
var d3_geo_pathAreaSum, d3_geo_pathAreaPolygon, d3_geo_pathArea = {
point: d3_noop,
lineStart: d3_noop,
lineEnd: d3_noop,
polygonStart: function() {
d3_geo_pathAreaPolygon = 0;
d3_geo_pathArea.lineStart = d3_geo_pathAreaRingStart;
},
polygonEnd: function() {
d3_geo_pathArea.lineStart = d3_geo_pathArea.lineEnd = d3_geo_pathArea.point = d3_noop;
d3_geo_pathAreaSum += abs(d3_geo_pathAreaPolygon / 2);
}
};
function d3_geo_pathAreaRingStart() {
var x00, y00, x0, y0;
d3_geo_pathArea.point = function(x, y) {
d3_geo_pathArea.point = nextPoint;
x00 = x0 = x, y00 = y0 = y;
};
function nextPoint(x, y) {
d3_geo_pathAreaPolygon += y0 * x - x0 * y;
x0 = x, y0 = y;
}
d3_geo_pathArea.lineEnd = function() {
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_pathBufferCircle(4.5), buffer = [];
var stream = {
point: point,
lineStart: function() {
stream.point = pointLineStart;
},
lineEnd: lineEnd,
polygonStart: function() {
stream.lineEnd = lineEndPolygon;
},
polygonEnd: function() {
stream.lineEnd = lineEnd;
stream.point = point;
},
pointRadius: function(_) {
pointCircle = d3_geo_pathBufferCircle(_);
return stream;
},
result: function() {
if (buffer.length) {
var result = buffer.join("");
buffer = [];
return result;
}
}
};
function point(x, y) {
buffer.push("M", x, ",", y, pointCircle);
}
function pointLineStart(x, y) {
buffer.push("M", x, ",", y);
stream.point = pointLine;
}
function pointLine(x, y) {
buffer.push("L", x, ",", y);
}
function lineEnd() {
stream.point = point;
}
function lineEndPolygon() {
buffer.push("Z");
}
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";
}
var d3_geo_pathCentroid = {
point: d3_geo_pathCentroidPoint,
lineStart: d3_geo_pathCentroidLineStart,
lineEnd: d3_geo_pathCentroidLineEnd,
polygonStart: function() {
d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidRingStart;
},
polygonEnd: function() {
d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;
d3_geo_pathCentroid.lineStart = d3_geo_pathCentroidLineStart;
d3_geo_pathCentroid.lineEnd = d3_geo_pathCentroidLineEnd;
}
};
function d3_geo_pathCentroidPoint(x, y) {
d3_geo_centroidX0 += x;
d3_geo_centroidY0 += y;
++d3_geo_centroidZ0;
}
function d3_geo_pathCentroidLineStart() {
var x0, y0;
d3_geo_pathCentroid.point = function(x, y) {
d3_geo_pathCentroid.point = nextPoint;
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_centroidX1 += z * (x0 + x) / 2;
d3_geo_centroidY1 += z * (y0 + y) / 2;
d3_geo_centroidZ1 += z;
d3_geo_pathCentroidPoint(x0 = x, y0 = y);
}
}
function d3_geo_pathCentroidLineEnd() {
d3_geo_pathCentroid.point = d3_geo_pathCentroidPoint;
}
function d3_geo_pathCentroidRingStart() {
var x00, y00, x0, y0;
d3_geo_pathCentroid.point = function(x, y) {
d3_geo_pathCentroid.point = nextPoint;
d3_geo_pathCentroidPoint(x00 = x0 = x, y00 = y0 = y);
};
function nextPoint(x, 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);
}
d3_geo_pathCentroid.lineEnd = function() {
nextPoint(x00, y00);
};
}
function d3_geo_pathContext(context) {
var pointRadius = 4.5;
var stream = {
point: point,
lineStart: function() {
stream.point = pointLineStart;
},
lineEnd: lineEnd,
polygonStart: function() {
stream.lineEnd = lineEndPolygon;
},
polygonEnd: function() {
stream.lineEnd = lineEnd;
stream.point = point;
},
pointRadius: function(_) {
pointRadius = _;
return stream;
},
result: d3_noop
};
function point(x, y) {
context.moveTo(x + pointRadius, y);
context.arc(x, y, pointRadius, 0, τ);
}
function pointLineStart(x, y) {
context.moveTo(x, y);
stream.point = pointLine;
}
function pointLine(x, y) {
context.lineTo(x, y);
}
function lineEnd() {
stream.point = point;
}
function lineEndPolygon() {
context.closePath();
}
return stream;
}
function d3_geo_resample(project) {
var δ2 = .5, cosMinDistance = Math.cos(30 * d3_radians), 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, λ0, x0, y0, a0, b0, c0;
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 || abs((dx * dx2 + dy * dy2) / d2 - .5) > .3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {
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, cacheStream;
function path(object) {
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();
}
path.area = function(object) {
d3_geo_pathAreaSum = 0;
d3.geo.stream(object, projectStream(d3_geo_pathArea));
return d3_geo_pathAreaSum;
};
path.centroid = function(object) {
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_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) {
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 reset();
};
path.context = function(_) {
if (!arguments.length) return context;
contextStream = (context = _) == null ? new d3_geo_pathBuffer() : new d3_geo_pathContext(_);
if (typeof pointRadius !== "function") contextStream.pointRadius(pointRadius);
return reset();
};
path.pointRadius = function(_) {
if (!arguments.length) return pointRadius;
pointRadius = typeof _ === "function" ? _ : (contextStream.pointRadius(+_), +_);
return path;
};
function reset() {
cacheStream = null;
return path;
}
return path.projection(d3.geo.albersUsa()).context(null);
};
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));
};
}
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_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();
}
};
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();
}
};
}
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, x = 480, y = 250, λ = 0, φ = 0, δλ = 0, δφ = 0, δγ = 0, δx, δy, 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;
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_equirectangular(λ, φ) {
return [ λ, φ ];
}
(d3.geo.equirectangular = function() {
return d3_geo_projection(d3_geo_equirectangular);
}).raw = d3_geo_equirectangular.invert = d3_geo_equirectangular;
d3.geo.rotation = function(rotate) {
rotate = d3_geo_rotation(rotate[0] % 360 * d3_radians, rotate[1] * d3_radians, rotate.length > 2 ? rotate[2] * d3_radians : 0);
function forward(coordinates) {
coordinates = rotate(coordinates[0] * d3_radians, coordinates[1] * d3_radians);
return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;
}
forward.invert = function(coordinates) {
coordinates = rotate.invert(coordinates[0] * d3_radians, coordinates[1] * d3_radians);
return coordinates[0] *= d3_degrees, coordinates[1] *= d3_degrees, coordinates;
};
return forward;
};
function d3_geo_identityRotation(λ, φ) {
return [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];
}
d3_geo_identityRotation.invert = d3_geo_equirectangular;
function d3_geo_rotation(δλ, δφ, δγ) {
return δλ ? δφ || δγ ? d3_geo_compose(d3_geo_rotationλ(δλ), d3_geo_rotationφγ(δφ, δγ)) : d3_geo_rotationλ(δλ) : δφ || δγ ? d3_geo_rotationφγ(δφ, δγ) : d3_geo_identityRotation;
}
function d3_geo_forwardRotationλ(δλ) {
return function(λ, φ) {
return λ += δλ, [ λ > π ? λ - τ : λ < -π ? λ + τ : λ, φ ];
};
}
function d3_geo_rotationλ(δλ) {
var rotation = d3_geo_forwardRotationλ(δλ);
rotation.invert = d3_geo_forwardRotationλ(-δλ);
return rotation;
}
function d3_geo_rotationφγ(δφ, δγ) {
var cosδφ = Math.cos(δφ), sinδφ = Math.sin(δφ), cosδγ = Math.cos(δγ), sinδγ = Math.sin(δγ);
function rotation(λ, φ) {
var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδφ + x * sinδφ;
return [ Math.atan2(y * cosδγ - k * sinδγ, x * cosδφ - z * sinδφ), d3_asin(k * cosδγ + y * sinδγ) ];
}
rotation.invert = function(λ, φ) {
var cosφ = Math.cos(φ), x = Math.cos(λ) * cosφ, y = Math.sin(λ) * cosφ, z = Math.sin(φ), k = z * cosδγ - y * sinδγ;
return [ Math.atan2(y * cosδγ + z * sinδγ, x * cosδφ + k * sinδφ), d3_asin(k * cosδφ - x * sinδφ) ];
};
return rotation;
}
d3.geo.circle = function() {
var origin = [ 0, 0 ], angle, precision = 6, interpolate;
function circle() {
var center = typeof origin === "function" ? origin.apply(this, arguments) : origin, rotate = d3_geo_rotation(-center[0] * d3_radians, -center[1] * d3_radians, 0).invert, ring = [];
interpolate(null, null, 1, {
point: function(x, y) {
ring.push(x = rotate(x, y));
x[0] *= d3_degrees, x[1] *= d3_degrees;
}
});
return {
type: "Polygon",
coordinates: [ ring ]
};
}
circle.origin = function(x) {
if (!arguments.length) return origin;
origin = x;
return circle;
};
circle.angle = function(x) {
if (!arguments.length) return angle;
interpolate = d3_geo_circleInterpolate((angle = +x) * d3_radians, precision * d3_radians);
return circle;
};
circle.precision = function(_) {
if (!arguments.length) return precision;
interpolate = d3_geo_circleInterpolate(angle * d3_radians, (precision = +_) * d3_radians);
return circle;
};
return circle.angle(90);
};
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 * τ;
} else {
from = radius + direction * τ;
to = radius - .5 * 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), -sr * Math.sin(t) ]))[0], point[1]);
}
};
}
function d3_geo_circleAngle(cr, point) {
var a = d3_geo_cartesian(point);
a[0] -= cr;
d3_geo_cartesianNormalize(a);
var angle = d3_acos(-a[1]);
return ((-a[2] < 0 ? -angle : angle) + 2 * Math.PI - ε) % (2 * Math.PI);
}
d3.geo.distance = function(a, b) {
var Δλ = (b[0] - a[0]) * d3_radians, φ0 = a[1] * d3_radians, φ1 = b[1] * d3_radians, sinΔλ = Math.sin(Δλ), cosΔλ = Math.cos(Δλ), sinφ0 = Math.sin(φ0), cosφ0 = Math.cos(φ0), sinφ1 = Math.sin(φ1), cosφ1 = Math.cos(φ1), t;
return Math.atan2(Math.sqrt((t = cosφ1 * sinΔλ) * t + (t = cosφ0 * sinφ1 - sinφ0 * cosφ1 * cosΔλ) * t), sinφ0 * sinφ1 + cosφ0 * cosφ1 * cosΔλ);
};
d3.geo.graticule = function() {
var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;
function graticule() {
return {
type: "MultiLineString",
coordinates: lines()
};
}
function lines() {
return d3.range(Math.ceil(X0 / DX) * DX, X1, DX).map(X).concat(d3.range(Math.ceil(Y0 / DY) * DY, Y1, DY).map(Y)).concat(d3.range(Math.ceil(x0 / dx) * dx, x1, dx).filter(function(x) {
return abs(x % DX) > ε;
}).map(x)).concat(d3.range(Math.ceil(y0 / dy) * dy, y1, dy).filter(function(y) {
return abs(y % DY) > ε;
}).map(y));
}
graticule.lines = function() {
return lines().map(function(coordinates) {
return {
type: "LineString",
coordinates: coordinates
};
});
};
graticule.outline = function() {
return {
type: "Polygon",
coordinates: [ X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1)) ]
};
};
graticule.extent = function(_) {
if (!arguments.length) return graticule.minorExtent();
return graticule.majorExtent(_).minorExtent(_);
};
graticule.majorExtent = function(_) {
if (!arguments.length) return [ [ X0, Y0 ], [ X1, Y1 ] ];
X0 = +_[0][0], X1 = +_[1][0];
Y0 = +_[0][1], Y1 = +_[1][1];
if (X0 > X1) _ = X0, X0 = X1, X1 = _;
if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;
return graticule.precision(precision);
};
graticule.minorExtent = function(_) {
if (!arguments.length) return [ [ x0, y0 ], [ x1, y1 ] ];
x0 = +_[0][0], x1 = +_[1][0];
y0 = +_[0][1], y1 = +_[1][1];
if (x0 > x1) _ = x0, x0 = x1, x1 = _;
if (y0 > y1) _ = y0, y0 = y1, y1 = _;
return graticule.precision(precision);
};
graticule.step = function(_) {
if (!arguments.length) return graticule.minorStep();
return graticule.majorStep(_).minorStep(_);
};
graticule.majorStep = function(_) {
if (!arguments.length) return [ DX, DY ];
DX = +_[0], DY = +_[1];
return graticule;
};
graticule.minorStep = function(_) {
if (!arguments.length) return [ dx, dy ];
dx = +_[0], dy = +_[1];
return graticule;
};
graticule.precision = function(_) {
if (!arguments.length) return precision;
precision = +_;
x = d3_geo_graticuleX(y0, y1, 90);
y = d3_geo_graticuleY(x0, x1, precision);
X = d3_geo_graticuleX(Y0, Y1, 90);
Y = d3_geo_graticuleY(X0, X1, precision);
return graticule;
};
return graticule.majorExtent([ [ -180, -90 + ε ], [ 180, 90 - ε ] ]).minorExtent([ [ -180, -80 - ε ], [ 180, 80 + ε ] ]);
};
function d3_geo_graticuleX(y0, y1, dy) {
var y = d3.range(y0, y1 - ε, dy).concat(y1);
return function(x) {
return y.map(function(y) {
return [ x, y ];
});
};
}
function d3_geo_graticuleY(x0, x1, dx) {
var x = d3.range(x0, x1 - ε, dx).concat(x1);
return function(y) {
return x.map(function(x) {
return [ x, y ];
});
};
}
function d3_source(d) {
return d.source;
}
function d3_target(d) {
return d.target;
}
d3.geo.greatArc = function() {
var source = d3_source, source_, target = d3_target, target_;
function greatArc() {
return {
type: "LineString",
coordinates: [ source_ || source.apply(this, arguments), target_ || target.apply(this, arguments) ]
};
}
greatArc.distance = function() {
return d3.geo.distance(source_ || source.apply(this, arguments), target_ || target.apply(this, arguments));
};
greatArc.source = function(_) {
if (!arguments.length) return source;
source = _, source_ = typeof _ === "function" ? null : _;
return greatArc;
};
greatArc.target = function(_) {
if (!arguments.length) return target;
target = _, target_ = typeof _ === "function" ? null : _;
return greatArc;
};
greatArc.precision = function() {
return arguments.length ? greatArc : 0;
};
return greatArc;
};
d3.geo.interpolate = function(source, target) {
return d3_geo_interpolate(source[0] * d3_radians, source[1] * d3_radians, target[0] * d3_radians, target[1] * d3_radians);
};
function d3_geo_interpolate(x0, y0, x1, y1) {
var cy0 = Math.cos(y0), sy0 = Math.sin(y0), cy1 = Math.cos(y1), sy1 = Math.sin(y1), kx0 = cy0 * Math.cos(x0), ky0 = cy0 * Math.sin(x0), kx1 = cy1 * Math.cos(x1), ky1 = cy1 * Math.sin(x1), d = 2 * Math.asin(Math.sqrt(d3_haversin(y1 - y0) + cy0 * cy1 * d3_haversin(x1 - x0))), k = 1 / Math.sin(d);
var interpolate = d ? function(t) {
var B = Math.sin(t *= d) * k, A = Math.sin(d - t) * k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;
return [ Math.atan2(y, x) * d3_degrees, Math.atan2(z, Math.sqrt(x * x + y * y)) * d3_degrees ];
} : function() {
return [ x0 * d3_degrees, y0 * d3_degrees ];
};
interpolate.distance = d;
return interpolate;
}
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φ;
}
}
function d3_geo_azimuthal(scale, angle) {
function azimuthal(λ, φ) {
var cosλ = Math.cos(λ), cosφ = Math.cos(φ), k = scale(cosλ * cosφ);
return [ k * cosφ * Math.sin(λ), k * Math.sin(φ) ];
}
azimuthal.invert = function(x, y) {
var ρ = Math.sqrt(x * x + y * y), c = angle(ρ), sinc = Math.sin(c), cosc = Math.cos(c);
return [ Math.atan2(x * sinc, ρ * cosc), Math.asin(ρ && y * sinc / ρ) ];
};
return azimuthal;
}
var d3_geo_azimuthalEqualArea = d3_geo_azimuthal(function(cosλcosφ) {
return Math.sqrt(2 / (1 + cosλcosφ));
}, function(ρ) {
return 2 * Math.asin(ρ / 2);
});
(d3.geo.azimuthalEqualArea = function() {
return d3_geo_projection(d3_geo_azimuthalEqualArea);
}).raw = d3_geo_azimuthalEqualArea;
var d3_geo_azimuthalEquidistant = d3_geo_azimuthal(function(cosλcosφ) {
var c = Math.acos(cosλcosφ);
return c && c / Math.sin(c);
}, d3_identity);
(d3.geo.azimuthalEquidistant = function() {
return d3_geo_projection(d3_geo_azimuthalEquidistant);
}).raw = d3_geo_azimuthalEquidistant;
function d3_geo_conicConformal(φ0, φ1) {
var cosφ0 = Math.cos(φ0), t = function(φ) {
return Math.tan(π / 4 + φ / 2);
}, n = φ0 === φ1 ? Math.sin(φ0) : Math.log(cosφ0 / Math.cos(φ1)) / Math.log(t(φ1) / t(φ0)), F = cosφ0 * Math.pow(t(φ0), n) / n;
if (!n) return d3_geo_mercator;
function forward(λ, φ) {
if (F > 0) {
if (φ < -halfπ + ε) φ = -halfπ + ε;
} else {
if (φ > halfπ - ε) φ = halfπ - ε;
}
var ρ = F / Math.pow(t(φ), n);
return [ ρ * Math.sin(n * λ), F - ρ * Math.cos(n * λ) ];
}
forward.invert = function(x, y) {
var ρ0_y = F - y, ρ = d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y);
return [ Math.atan2(x, ρ0_y) / n, 2 * Math.atan(Math.pow(F / ρ, 1 / n)) - halfπ ];
};
return forward;
}
(d3.geo.conicConformal = function() {
return d3_geo_conic(d3_geo_conicConformal);
}).raw = d3_geo_conicConformal;
function d3_geo_conicEquidistant(φ0, φ1) {
var cosφ0 = Math.cos(φ0), n = φ0 === φ1 ? Math.sin(φ0) : (cosφ0 - Math.cos(φ1)) / (φ1 - φ0), G = cosφ0 / n + φ0;
if (abs(n) < ε) return d3_geo_equirectangular;
function forward(λ, φ) {
var ρ = G - φ;
return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ];
}
forward.invert = function(x, y) {
var ρ0_y = G - y;
return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ];
};
return forward;
}
(d3.geo.conicEquidistant = function() {
return d3_geo_conic(d3_geo_conicEquidistant);
}).raw = d3_geo_conicEquidistant;
var d3_geo_gnomonic = d3_geo_azimuthal(function(cosλcosφ) {
return 1 / cosλcosφ;
}, Math.atan);
(d3.geo.gnomonic = function() {
return d3_geo_projection(d3_geo_gnomonic);
}).raw = d3_geo_gnomonic;
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 v;
};
return m.clipExtent(null);
}
(d3.geo.mercator = function() {
return d3_geo_mercatorProjection(d3_geo_mercator);
}).raw = d3_geo_mercator;
var d3_geo_orthographic = d3_geo_azimuthal(function() {
return 1;
}, Math.asin);
(d3.geo.orthographic = function() {
return d3_geo_projection(d3_geo_orthographic);
}).raw = d3_geo_orthographic;
var d3_geo_stereographic = d3_geo_azimuthal(function(cosλcosφ) {
return 1 / (1 + cosλcosφ);
}, function(ρ) {
return 2 * Math.atan(ρ);
});
(d3.geo.stereographic = function() {
return d3_geo_projection(d3_geo_stereographic);
}).raw = d3_geo_stereographic;
function d3_geo_transverseMercator(λ, φ) {
return [ Math.log(Math.tan(π / 4 + φ / 2)), -λ ];
}
d3_geo_transverseMercator.invert = function(x, y) {
return [ -y, 2 * Math.atan(Math.exp(x)) - halfπ ];
};
(d3.geo.transverseMercator = function() {
var projection = d3_geo_mercatorProjection(d3_geo_transverseMercator), center = projection.center, rotate = projection.rotate;
projection.center = function(_) {
return _ ? center([ -_[1], _[0] ]) : (_ = center(), [ _[1], -_[0] ]);
};
projection.rotate = function(_) {
return _ ? rotate([ _[0], _[1], _.length > 2 ? _[2] + 90 : 90 ]) : (_ = rotate(),
[ _[0], _[1], _[2] - 90 ]);
};
return rotate([ 0, 0, 90 ]);
}).raw = d3_geo_transverseMercator;
d3.geom = {};
function d3_geom_pointX(d) {
return d[0];
}
function d3_geom_pointY(d) {
return d[1];
}
d3.geom.hull = function(vertices) {
var x = d3_geom_pointX, y = d3_geom_pointY;
if (arguments.length) return hull(vertices);
function hull(data) {
if (data.length < 3) return [];
var fx = d3_functor(x), fy = d3_functor(y), i, n = data.length, points = [], flippedPoints = [];
for (i = 0; i < n; i++) {
points.push([ +fx.call(this, data[i], i), +fy.call(this, data[i], i), i ]);
}
points.sort(d3_geom_hullOrder);
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);
var skipLeft = lower[0] === upper[0], skipRight = lower[lower.length - 1] === upper[upper.length - 1], polygon = [];
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;
};
hull.y = function(_) {
return arguments.length ? (y = _, hull) : y;
};
return hull;
};
function d3_geom_hullUpper(points) {
var n = points.length, hull = [ 0, 1 ], hs = 2;
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;
}
return hull.slice(0, hs);
}
function d3_geom_hullOrder(a, b) {
return a[0] - b[0] || a[1] - b[1];
}
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 ];
};
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));
}
subject.push(d);
} else if (d3_geom_polygonInside(c, a, b)) {
subject.push(d3_geom_polygonIntersect(c, d, a, b));
}
c = d;
}
if (closed) subject.push(subject[0]);
a = b;
}
return subject;
};
function d3_geom_polygonInside(p, a, b) {
return (b[0] - a[0]) * (p[1] - a[1]) < (b[1] - a[1]) * (p[0] - a[0]);
}
function d3_geom_polygonIntersect(c, d, a, b) {
var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3, y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3, ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);
return [ x1 + ua * x21, y1 + ua * y21 ];
}
function d3_geom_polygonClosed(coordinates) {
var a = coordinates[0], b = coordinates[coordinates.length - 1];
return !(a[0] - b[0] || a[1] - b[1]);
}
var d3_geom_voronoiEdges, d3_geom_voronoiCells, d3_geom_voronoiBeaches, d3_geom_voronoiBeachPool = [], d3_geom_voronoiFirstCircle, d3_geom_voronoiCircles, d3_geom_voronoiCirclePool = [];
function d3_geom_voronoiBeach() {
d3_geom_voronoiRedBlackNode(this);
this.edge = this.site = this.circle = null;
}
function d3_geom_voronoiCreateBeach(site) {
var beach = d3_geom_voronoiBeachPool.pop() || new d3_geom_voronoiBeach();
beach.site = site;
return beach;
}
function d3_geom_voronoiDetachBeach(beach) {
d3_geom_voronoiDetachCircle(beach);
d3_geom_voronoiBeaches.remove(beach);
d3_geom_voronoiBeachPool.push(beach);
d3_geom_voronoiRedBlackNode(beach);
}
function d3_geom_voronoiRemoveBeach(beach) {
var circle = beach.circle, x = circle.x, y = circle.cy, vertex = {
x: x,
y: y
}, previous = beach.P, next = beach.N, disappearing = [ beach ];
d3_geom_voronoiDetachBeach(beach);
var lArc = previous;
while (lArc.circle && abs(x - lArc.circle.x) < ε && abs(y - lArc.circle.cy) < ε) {
previous = lArc.P;
disappearing.unshift(lArc);
d3_geom_voronoiDetachBeach(lArc);
lArc = previous;
}
disappearing.unshift(lArc);
d3_geom_voronoiDetachCircle(lArc);
var rArc = next;
while (rArc.circle && abs(x - rArc.circle.x) < ε && abs(y - rArc.circle.cy) < ε) {
next = rArc.N;
disappearing.push(rArc);
d3_geom_voronoiDetachBeach(rArc);
rArc = next;
}
disappearing.push(rArc);
d3_geom_voronoiDetachCircle(rArc);
var nArcs = disappearing.length, iArc;
for (iArc = 1; iArc < nArcs; ++iArc) {
rArc = disappearing[iArc];
lArc = disappearing[iArc - 1];
d3_geom_voronoiSetEdgeEnd(rArc.edge, lArc.site, rArc.site, vertex);
}
lArc = disappearing[0];
rArc = disappearing[nArcs - 1];
rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, rArc.site, null, vertex);
d3_geom_voronoiAttachCircle(lArc);
d3_geom_voronoiAttachCircle(rArc);
}
function d3_geom_voronoiAddBeach(site) {
var x = site.x, directrix = site.y, lArc, rArc, dxl, dxr, node = d3_geom_voronoiBeaches._;
while (node) {
dxl = d3_geom_voronoiLeftBreakPoint(node, directrix) - x;
if (dxl > ε) node = node.L; else {
dxr = x - d3_geom_voronoiRightBreakPoint(node, directrix);
if (dxr > ε) {
if (!node.R) {
lArc = node;
break;
}
node = node.R;
} else {
if (dxl > -ε) {
lArc = node.P;
rArc = node;
} else if (dxr > -ε) {
lArc = node;
rArc = node.N;
} else {
lArc = rArc = node;
}
break;
}
}
}
var newArc = d3_geom_voronoiCreateBeach(site);
d3_geom_voronoiBeaches.insert(lArc, newArc);
if (!lArc && !rArc) return;
if (lArc === rArc) {
d3_geom_voronoiDetachCircle(lArc);
rArc = d3_geom_voronoiCreateBeach(lArc.site);
d3_geom_voronoiBeaches.insert(newArc, rArc);
newArc.edge = rArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);
d3_geom_voronoiAttachCircle(lArc);
d3_geom_voronoiAttachCircle(rArc);
return;
}
if (!rArc) {
newArc.edge = d3_geom_voronoiCreateEdge(lArc.site, newArc.site);
return;
}
d3_geom_voronoiDetachCircle(lArc);
d3_geom_voronoiDetachCircle(rArc);
var lSite = lArc.site, ax = lSite.x, ay = lSite.y, bx = site.x - ax, by = site.y - ay, rSite = rArc.site, cx = rSite.x - ax, cy = rSite.y - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = {
x: (cy * hb - by * hc) / d + ax,
y: (bx * hc - cx * hb) / d + ay
};
d3_geom_voronoiSetEdgeEnd(rArc.edge, lSite, rSite, vertex);
newArc.edge = d3_geom_voronoiCreateEdge(lSite, site, null, vertex);
rArc.edge = d3_geom_voronoiCreateEdge(site, rSite, null, vertex);
d3_geom_voronoiAttachCircle(lArc);
d3_geom_voronoiAttachCircle(rArc);
}
function d3_geom_voronoiLeftBreakPoint(arc, directrix) {
var site = arc.site, rfocx = site.x, rfocy = site.y, pby2 = rfocy - directrix;
if (!pby2) return rfocx;
var lArc = arc.P;
if (!lArc) return -Infinity;
site = lArc.site;
var lfocx = site.x, lfocy = site.y, plby2 = lfocy - directrix;
if (!plby2) return lfocx;
var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2;
if (aby2) return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;
return (rfocx + lfocx) / 2;
}
function d3_geom_voronoiRightBreakPoint(arc, directrix) {
var rArc = arc.N;
if (rArc) return d3_geom_voronoiLeftBreakPoint(rArc, directrix);
var site = arc.site;
return site.y === directrix ? site.x : Infinity;
}
function d3_geom_voronoiCell(site) {
this.site = site;
this.edges = [];
}
d3_geom_voronoiCell.prototype.prepare = function() {
var halfEdges = this.edges, iHalfEdge = halfEdges.length, edge;
while (iHalfEdge--) {
edge = halfEdges[iHalfEdge].edge;
if (!edge.b || !edge.a) halfEdges.splice(iHalfEdge, 1);
}
halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);
return halfEdges.length;
};
function d3_geom_voronoiCloseCells(extent) {
var x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], x2, y2, x3, y3, cells = d3_geom_voronoiCells, iCell = cells.length, cell, iHalfEdge, halfEdges, nHalfEdges, start, end;
while (iCell--) {
cell = cells[iCell];
if (!cell || !cell.prepare()) continue;
halfEdges = cell.edges;
nHalfEdges = halfEdges.length;
iHalfEdge = 0;
while (iHalfEdge < nHalfEdges) {
end = halfEdges[iHalfEdge].end(), x3 = end.x, y3 = end.y;
start = halfEdges[++iHalfEdge % nHalfEdges].start(), x2 = start.x, y2 = start.y;
if (abs(x3 - x2) > ε || abs(y3 - y2) > ε) {
halfEdges.splice(iHalfEdge, 0, new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site, end, abs(x3 - x0) < ε && y1 - y3 > ε ? {
x: x0,
y: abs(x2 - x0) < ε ? y2 : y1
} : abs(y3 - y1) < ε && x1 - x3 > ε ? {
x: abs(y2 - y1) < ε ? x2 : x1,
y: y1
} : abs(x3 - x1) < ε && y3 - y0 > ε ? {
x: x1,
y: abs(x2 - x1) < ε ? y2 : y0
} : abs(y3 - y0) < ε && x3 - x0 > ε ? {
x: abs(y2 - y0) < ε ? x2 : x0,
y: y0
} : null), cell.site, null));
++nHalfEdges;
}
}
}
}
function d3_geom_voronoiHalfEdgeOrder(a, b) {
return b.angle - a.angle;
}
function d3_geom_voronoiCircle() {
d3_geom_voronoiRedBlackNode(this);
this.x = this.y = this.arc = this.site = this.cy = null;
}
function d3_geom_voronoiAttachCircle(arc) {
var lArc = arc.P, rArc = arc.N;
if (!lArc || !rArc) return;
var lSite = lArc.site, cSite = arc.site, rSite = rArc.site;
if (lSite === rSite) return;
var bx = cSite.x, by = cSite.y, ax = lSite.x - bx, ay = lSite.y - by, cx = rSite.x - bx, cy = rSite.y - by;
var d = 2 * (ax * cy - ay * cx);
if (d >= -ε2) return;
var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d, cy = y + by;
var circle = d3_geom_voronoiCirclePool.pop() || new d3_geom_voronoiCircle();
circle.arc = arc;
circle.site = cSite;
circle.x = x + bx;
circle.y = cy + Math.sqrt(x * x + y * y);
circle.cy = cy;
arc.circle = circle;
var before = null, node = d3_geom_voronoiCircles._;
while (node) {
if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) {
if (node.L) node = node.L; else {
before = node.P;
break;
}
} else {
if (node.R) node = node.R; else {
before = node;
break;
}
}
}
d3_geom_voronoiCircles.insert(before, circle);
if (!before) d3_geom_voronoiFirstCircle = circle;
}
function d3_geom_voronoiDetachCircle(arc) {
var circle = arc.circle;
if (circle) {
if (!circle.P) d3_geom_voronoiFirstCircle = circle.N;
d3_geom_voronoiCircles.remove(circle);
d3_geom_voronoiCirclePool.push(circle);
d3_geom_voronoiRedBlackNode(circle);
arc.circle = null;
}
}
function d3_geom_voronoiClipEdges(extent) {
var edges = d3_geom_voronoiEdges, clip = d3_geom_clipLine(extent[0][0], extent[0][1], extent[1][0], extent[1][1]), i = edges.length, e;
while (i--) {
e = edges[i];
if (!d3_geom_voronoiConnectEdge(e, extent) || !clip(e) || abs(e.a.x - e.b.x) < ε && abs(e.a.y - e.b.y) < ε) {
e.a = e.b = null;
edges.splice(i, 1);
}
}
}
function d3_geom_voronoiConnectEdge(edge, extent) {
var vb = edge.b;
if (vb) return true;
var va = edge.a, x0 = extent[0][0], x1 = extent[1][0], y0 = extent[0][1], y1 = extent[1][1], lSite = edge.l, rSite = edge.r, lx = lSite.x, ly = lSite.y, rx = rSite.x, ry = rSite.y, fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb;
if (ry === ly) {
if (fx < x0 || fx >= x1) return;
if (lx > rx) {
if (!va) va = {
x: fx,
y: y0
}; else if (va.y >= y1) return;
vb = {
x: fx,
y: y1
};
} else {
if (!va) va = {
x: fx,
y: y1
}; else if (va.y < y0) return;
vb = {
x: fx,
y: y0
};
}
} else {
fm = (lx - rx) / (ry - ly);
fb = fy - fm * fx;
if (fm < -1 || fm > 1) {
if (lx > rx) {
if (!va) va = {
x: (y0 - fb) / fm,
y: y0
}; else if (va.y >= y1) return;
vb = {
x: (y1 - fb) / fm,
y: y1
};
} else {
if (!va) va = {
x: (y1 - fb) / fm,
y: y1
}; else if (va.y < y0) return;
vb = {
x: (y0 - fb) / fm,
y: y0
};
}
} else {
if (ly < ry) {
if (!va) va = {
x: x0,
y: fm * x0 + fb
}; else if (va.x >= x1) return;
vb = {
x: x1,
y: fm * x1 + fb
};
} else {
if (!va) va = {
x: x1,
y: fm * x1 + fb
}; else if (va.x < x0) return;
vb = {
x: x0,
y: fm * x0 + fb
};
}
}
}
edge.a = va;
edge.b = vb;
return true;
}
function d3_geom_voronoiEdge(lSite, rSite) {
this.l = lSite;
this.r = rSite;
this.a = this.b = null;
}
function d3_geom_voronoiCreateEdge(lSite, rSite, va, vb) {
var edge = new d3_geom_voronoiEdge(lSite, rSite);
d3_geom_voronoiEdges.push(edge);
if (va) d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, va);
if (vb) d3_geom_voronoiSetEdgeEnd(edge, rSite, lSite, vb);
d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, lSite, rSite));
d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge, rSite, lSite));
return edge;
}
function d3_geom_voronoiCreateBorderEdge(lSite, va, vb) {
var edge = new d3_geom_voronoiEdge(lSite, null);
edge.a = va;
edge.b = vb;
d3_geom_voronoiEdges.push(edge);
return edge;
}
function d3_geom_voronoiSetEdgeEnd(edge, lSite, rSite, vertex) {
if (!edge.a && !edge.b) {
edge.a = vertex;
edge.l = lSite;
edge.r = rSite;
} else if (edge.l === rSite) {
edge.b = vertex;
} else {
edge.a = vertex;
}
}
function d3_geom_voronoiHalfEdge(edge, lSite, rSite) {
var va = edge.a, vb = edge.b;
this.edge = edge;
this.site = lSite;
this.angle = rSite ? Math.atan2(rSite.y - lSite.y, rSite.x - lSite.x) : edge.l === lSite ? Math.atan2(vb.x - va.x, va.y - vb.y) : Math.atan2(va.x - vb.x, vb.y - va.y);
}
d3_geom_voronoiHalfEdge.prototype = {
start: function() {
return this.edge.l === this.site ? this.edge.a : this.edge.b;
},
end: function() {
return this.edge.l === this.site ? this.edge.b : this.edge.a;
}
};
function d3_geom_voronoiRedBlackTree() {
this._ = null;
}
function d3_geom_voronoiRedBlackNode(node) {
node.U = node.C = node.L = node.R = node.P = node.N = null;
}
d3_geom_voronoiRedBlackTree.prototype = {
insert: function(after, node) {
var parent, grandpa, uncle;
if (after) {
node.P = after;
node.N = after.N;
if (after.N) after.N.P = node;
after.N = node;
if (after.R) {
after = after.R;
while (after.L) after = after.L;
after.L = node;
} else {
after.R = node;
}
parent = after;
} else if (this._) {
after = d3_geom_voronoiRedBlackFirst(this._);
node.P = null;
node.N = after;
after.P = after.L = node;
parent = after;
} else {
node.P = node.N = null;
this._ = node;
parent = null;
}
node.L = node.R = null;
node.U = parent;
node.C = true;
after = node;
while (parent && parent.C) {
grandpa = parent.U;
if (parent === grandpa.L) {
uncle = grandpa.R;
if (uncle && uncle.C) {
parent.C = uncle.C = false;
grandpa.C = true;
after = grandpa;
} else {
if (after === parent.R) {
d3_geom_voronoiRedBlackRotateLeft(this, parent);
after = parent;
parent = after.U;
}
parent.C = false;
grandpa.C = true;
d3_geom_voronoiRedBlackRotateRight(this, grandpa);
}
} else {
uncle = grandpa.L;
if (uncle && uncle.C) {
parent.C = uncle.C = false;
grandpa.C = true;
after = grandpa;
} else {
if (after === parent.L) {
d3_geom_voronoiRedBlackRotateRight(this, parent);
after = parent;
parent = after.U;
}
parent.C = false;
grandpa.C = true;
d3_geom_voronoiRedBlackRotateLeft(this, grandpa);
}
}
parent = after.U;
}
this._.C = false;
},
remove: function(node) {
if (node.N) node.N.P = node.P;
if (node.P) node.P.N = node.N;
node.N = node.P = null;
var parent = node.U, sibling, left = node.L, right = node.R, next, red;
if (!left) next = right; else if (!right) next = left; else next = d3_geom_voronoiRedBlackFirst(right);
if (parent) {
if (parent.L === node) parent.L = next; else parent.R = next;
} else {
this._ = next;
}
if (left && right) {
red = next.C;
next.C = node.C;
next.L = left;
left.U = next;
if (next !== right) {
parent = next.U;
next.U = node.U;
node = next.R;
parent.L = node;
next.R = right;
right.U = next;
} else {
next.U = parent;
parent = next;
node = next.R;
}
} else {
red = node.C;
node = next;
}
if (node) node.U = parent;
if (red) return;
if (node && node.C) {
node.C = false;
return;
}
do {
if (node === this._) break;
if (node === parent.L) {
sibling = parent.R;
if (sibling.C) {
sibling.C = false;
parent.C = true;
d3_geom_voronoiRedBlackRotateLeft(this, parent);
sibling = parent.R;
}
if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {
if (!sibling.R || !sibling.R.C) {
sibling.L.C = false;
sibling.C = true;
d3_geom_voronoiRedBlackRotateRight(this, sibling);
sibling = parent.R;
}
sibling.C = parent.C;
parent.C = sibling.R.C = false;
d3_geom_voronoiRedBlackRotateLeft(this, parent);
node = this._;
break;
}
} else {
sibling = parent.L;
if (sibling.C) {
sibling.C = false;
parent.C = true;
d3_geom_voronoiRedBlackRotateRight(this, parent);
sibling = parent.L;
}
if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {
if (!sibling.L || !sibling.L.C) {
sibling.R.C = false;
sibling.C = true;
d3_geom_voronoiRedBlackRotateLeft(this, sibling);
sibling = parent.L;
}
sibling.C = parent.C;
parent.C = sibling.L.C = false;
d3_geom_voronoiRedBlackRotateRight(this, parent);
node = this._;
break;
}
}
sibling.C = true;
node = parent;
parent = parent.U;
} while (!node.C);
if (node) node.C = false;
}
};
function d3_geom_voronoiRedBlackRotateLeft(tree, node) {
var p = node, q = node.R, parent = p.U;
if (parent) {
if (parent.L === p) parent.L = q; else parent.R = q;
} else {
tree._ = q;
}
q.U = parent;
p.U = q;
p.R = q.L;
if (p.R) p.R.U = p;
q.L = p;
}
function d3_geom_voronoiRedBlackRotateRight(tree, node) {
var p = node, q = node.L, parent = p.U;
if (parent) {
if (parent.L === p) parent.L = q; else parent.R = q;
} else {
tree._ = q;
}
q.U = parent;
p.U = q;
p.L = q.R;
if (p.L) p.L.U = p;
q.R = p;
}
function d3_geom_voronoiRedBlackFirst(node) {
while (node.L) node = node.L;
return node;
}
function d3_geom_voronoi(sites, bbox) {
var site = sites.sort(d3_geom_voronoiVertexOrder).pop(), x0, y0, circle;
d3_geom_voronoiEdges = [];
d3_geom_voronoiCells = new Array(sites.length);
d3_geom_voronoiBeaches = new d3_geom_voronoiRedBlackTree();
d3_geom_voronoiCircles = new d3_geom_voronoiRedBlackTree();
while (true) {
circle = d3_geom_voronoiFirstCircle;
if (site && (!circle || site.y < circle.y || site.y === circle.y && site.x < circle.x)) {
if (site.x !== x0 || site.y !== y0) {
d3_geom_voronoiCells[site.i] = new d3_geom_voronoiCell(site);
d3_geom_voronoiAddBeach(site);
x0 = site.x, y0 = site.y;
}
site = sites.pop();
} else if (circle) {
d3_geom_voronoiRemoveBeach(circle.arc);
} else {
break;
}
}
if (bbox) d3_geom_voronoiClipEdges(bbox), d3_geom_voronoiCloseCells(bbox);
var diagram = {
cells: d3_geom_voronoiCells,
edges: d3_geom_voronoiEdges
};
d3_geom_voronoiBeaches = d3_geom_voronoiCircles = d3_geom_voronoiEdges = d3_geom_voronoiCells = null;
return diagram;
}
function d3_geom_voronoiVertexOrder(a, b) {
return b.y - a.y || b.x - a.x;
}
d3.geom.voronoi = function(points) {
var x = d3_geom_pointX, y = d3_geom_pointY, fx = x, fy = y, clipExtent = d3_geom_voronoiClipExtent;
if (points) return voronoi(points);
function voronoi(data) {
var polygons = new Array(data.length), x0 = clipExtent[0][0], y0 = clipExtent[0][1], x1 = clipExtent[1][0], y1 = clipExtent[1][1];
d3_geom_voronoi(sites(data), clipExtent).cells.forEach(function(cell, i) {
var edges = cell.edges, site = cell.site, polygon = polygons[i] = edges.length ? edges.map(function(e) {
var s = e.start();
return [ s.x, s.y ];
}) : site.x >= x0 && site.x <= x1 && site.y >= y0 && site.y <= y1 ? [ [ x0, y1 ], [ x1, y1 ], [ x1, y0 ], [ x0, y0 ] ] : [];
polygon.point = data[i];
});
return polygons;
}
function sites(data) {
return data.map(function(d, i) {
return {
x: Math.round(fx(d, i) / ε) * ε,
y: Math.round(fy(d, i) / ε) * ε,
i: i
};
});
}
voronoi.links = function(data) {
return d3_geom_voronoi(sites(data)).edges.filter(function(edge) {
return edge.l && edge.r;
}).map(function(edge) {
return {
source: data[edge.l.i],
target: data[edge.r.i]
};
});
};
voronoi.triangles = function(data) {
var triangles = [];
d3_geom_voronoi(sites(data)).cells.forEach(function(cell, i) {
var site = cell.site, edges = cell.edges.sort(d3_geom_voronoiHalfEdgeOrder), j = -1, m = edges.length, e0, s0, e1 = edges[m - 1].edge, s1 = e1.l === site ? e1.r : e1.l;
while (++j < m) {
e0 = e1;
s0 = s1;
e1 = edges[j].edge;
s1 = e1.l === site ? e1.r : e1.l;
if (i < s0.i && i < s1.i && d3_geom_voronoiTriangleArea(site, s0, s1) < 0) {
triangles.push([ data[i], data[s0.i], data[s1.i] ]);
}
}
});
return triangles;
};
voronoi.x = function(_) {
return arguments.length ? (fx = d3_functor(x = _), voronoi) : x;
};
voronoi.y = function(_) {
return arguments.length ? (fy = d3_functor(y = _), voronoi) : y;
};
voronoi.clipExtent = function(_) {
if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent;
clipExtent = _ == null ? d3_geom_voronoiClipExtent : _;
return voronoi;
};
voronoi.size = function(_) {
if (!arguments.length) return clipExtent === d3_geom_voronoiClipExtent ? null : clipExtent && clipExtent[1];
return voronoi.clipExtent(_ && [ [ 0, 0 ], _ ]);
};
return voronoi;
};
var d3_geom_voronoiClipExtent = [ [ -1e6, -1e6 ], [ 1e6, 1e6 ] ];
function d3_geom_voronoiTriangleArea(a, b, c) {
return (a.x - c.x) * (b.y - a.y) - (a.x - b.x) * (c.y - a.y);
}
d3.geom.delaunay = function(vertices) {
return d3.geom.voronoi().triangles(vertices);
};
d3.geom.quadtree = function(points, x1, y1, x2, y2) {
var x = d3_geom_pointX, y = d3_geom_pointY, compat;
if (compat = arguments.length) {
x = d3_geom_quadtreeCompatX;
y = d3_geom_quadtreeCompatY;
if (compat === 3) {
y2 = y1;
x2 = x1;
y1 = x1 = 0;
}
return quadtree(points);
}
function quadtree(data) {
var d, fx = d3_functor(x), fy = d3_functor(y), xs, ys, i, n, x1_, y1_, x2_, y2_;
if (x1 != null) {
x1_ = x1, y1_ = y1, x2_ = x2, y2_ = y2;
} else {
x2_ = y2_ = -(x1_ = y1_ = Infinity);
xs = [], ys = [];
n = data.length;
if (compat) for (i = 0; i < n; ++i) {
d = data[i];
if (d.x < x1_) x1_ = d.x;
if (d.y < y1_) y1_ = d.y;
if (d.x > x2_) x2_ = d.x;
if (d.y > y2_) y2_ = d.y;
xs.push(d.x);
ys.push(d.y);
} else for (i = 0; i < n; ++i) {
var x_ = +fx(d = data[i], i), y_ = +fy(d, i);
if (x_ < x1_) x1_ = x_;
if (y_ < y1_) y1_ = y_;
if (x_ > x2_) x2_ = x_;
if (y_ > y2_) y2_ = y_;
xs.push(x_);
ys.push(y_);
}
}
var dx = x2_ - x1_, dy = y2_ - y1_;
if (dx > dy) y2_ = y1_ + dx; else x2_ = x1_ + dy;
function insert(n, d, x, y, x1, y1, x2, y2) {
if (isNaN(x) || isNaN(y)) return;
if (n.leaf) {
var nx = n.x, ny = n.y;
if (nx != null) {
if (abs(nx - x) + abs(ny - y) < .01) {
insertChild(n, d, x, y, x1, y1, x2, y2);
} else {
var nPoint = n.point;
n.x = n.y = n.point = null;
insertChild(n, nPoint, nx, ny, x1, y1, x2, y2);
insertChild(n, d, x, y, x1, y1, x2, y2);
}
} else {
n.x = x, n.y = y, n.point = d;
}
} else {
insertChild(n, d, x, y, x1, y1, x2, y2);
}
}
function insertChild(n, d, x, y, x1, y1, x2, y2) {
var xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym, i = below << 1 | right;
n.leaf = false;
n = n.nodes[i] || (n.nodes[i] = d3_geom_quadtreeNode());
if (right) x1 = xm; else x2 = xm;
if (below) y1 = ym; else y2 = ym;
insert(n, d, x, y, x1, y1, x2, y2);
}
var root = d3_geom_quadtreeNode();
root.add = function(d) {
insert(root, d, +fx(d, ++i), +fy(d, i), x1_, y1_, x2_, y2_);
};
root.visit = function(f) {
d3_geom_quadtreeVisit(f, root, x1_, y1_, x2_, y2_);
};
root.find = function(point) {
return d3_geom_quadtreeFind(root, point[0], point[1], x1_, y1_, x2_, y2_);
};
i = -1;
if (x1 == null) {
while (++i < n) {
insert(root, data[i], xs[i], ys[i], x1_, y1_, x2_, y2_);
}
--i;
} else data.forEach(root.add);
xs = ys = data = d = null;
return root;
}
quadtree.x = function(_) {
return arguments.length ? (x = _, quadtree) : x;
};
quadtree.y = function(_) {
return arguments.length ? (y = _, quadtree) : y;
};
quadtree.extent = function(_) {
if (!arguments.length) return x1 == null ? null : [ [ x1, y1 ], [ x2, y2 ] ];
if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = +_[0][0], y1 = +_[0][1], x2 = +_[1][0],
y2 = +_[1][1];
return quadtree;
};
quadtree.size = function(_) {
if (!arguments.length) return x1 == null ? null : [ x2 - x1, y2 - y1 ];
if (_ == null) x1 = y1 = x2 = y2 = null; else x1 = y1 = 0, x2 = +_[0], y2 = +_[1];
return quadtree;
};
return quadtree;
};
function d3_geom_quadtreeCompatX(d) {
return d.x;
}
function d3_geom_quadtreeCompatY(d) {
return d.y;
}
function d3_geom_quadtreeNode() {
return {
leaf: true,
nodes: [],
point: null,
x: null,
y: null
};
}
function d3_geom_quadtreeVisit(f, node, x1, y1, x2, y2) {
if (!f(node, x1, y1, x2, y2)) {
var sx = (x1 + x2) * .5, sy = (y1 + y2) * .5, children = node.nodes;
if (children[0]) d3_geom_quadtreeVisit(f, children[0], x1, y1, sx, sy);
if (children[1]) d3_geom_quadtreeVisit(f, children[1], sx, y1, x2, sy);
if (children[2]) d3_geom_quadtreeVisit(f, children[2], x1, sy, sx, y2);
if (children[3]) d3_geom_quadtreeVisit(f, children[3], sx, sy, x2, y2);
}
}
function d3_geom_quadtreeFind(root, x, y, x0, y0, x3, y3) {
var minDistance2 = Infinity, closestPoint;
(function find(node, x1, y1, x2, y2) {
if (x1 > x3 || y1 > y3 || x2 < x0 || y2 < y0) return;
if (point = node.point) {
var point, dx = x - point[0], dy = y - point[1], distance2 = dx * dx + dy * dy;
if (distance2 < minDistance2) {
var distance = Math.sqrt(minDistance2 = distance2);
x0 = x - distance, y0 = y - distance;
x3 = x + distance, y3 = y + distance;
closestPoint = point;
}
}
var children = node.nodes, xm = (x1 + x2) * .5, ym = (y1 + y2) * .5, right = x >= xm, below = y >= ym;
for (var i = below << 1 | right, j = i + 4; i < j; ++i) {
if (node = children[i & 3]) switch (i & 3) {
case 0:
find(node, x1, y1, xm, ym);
break;
case 1:
find(node, xm, y1, x2, ym);
break;
case 2:
find(node, x1, ym, xm, y2);
break;
case 3:
find(node, xm, ym, x2, y2);
break;
}
}
})(root, x0, y0, x3, y3);
return closestPoint;
}
d3.interpolateRgb = d3_interpolateRgb;
function d3_interpolateRgb(a, b) {
a = d3.rgb(a);
b = d3.rgb(b);
var ar = a.r, ag = a.g, ab = a.b, br = b.r - ar, bg = b.g - ag, bb = b.b - ab;
return function(t) {
return "#" + d3_rgb_hex(Math.round(ar + br * t)) + d3_rgb_hex(Math.round(ag + bg * t)) + d3_rgb_hex(Math.round(ab + bb * t));
};
}
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.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, am, bm, bs, i = -1, s = [], q = [];
a = a + "", b = b + "";
while ((am = d3_interpolate_numberA.exec(a)) && (bm = d3_interpolate_numberB.exec(b))) {
if ((bs = bm.index) > bi) {
bs = b.slice(bi, bs);
if (s[i]) s[i] += bs; else s[++i] = bs;
}
if ((am = am[0]) === (bm = bm[0])) {
if (s[i]) s[i] += bm; else s[++i] = bm;
} else {
s[++i] = null;
q.push({
i: i,
x: d3_interpolateNumber(am, bm)
});
}
bi = d3_interpolate_numberB.lastIndex;
}
if (bi < b.length) {
bs = b.slice(bi);
if (s[i]) s[i] += bs; else s[++i] = bs;
}
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.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;
};
}
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;
}
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 = .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.interpolateHcl = d3_interpolateHcl;
function d3_interpolateHcl(a, b) {
a = d3.hcl(a);
b = d3.hcl(b);
var ah = a.h, ac = a.c, al = a.l, bh = b.h - ah, bc = b.c - ac, bl = b.l - al;
if (isNaN(bc)) bc = 0, ac = isNaN(ac) ? b.c : ac;
if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;
return function(t) {
return d3_hcl_lab(ah + bh * t, ac + bc * t, al + bl * t) + "";
};
}
d3.interpolateHsl = d3_interpolateHsl;
function d3_interpolateHsl(a, b) {
a = d3.hsl(a);
b = d3.hsl(b);
var ah = a.h, as = a.s, al = a.l, bh = b.h - ah, bs = b.s - as, bl = b.l - al;
if (isNaN(bs)) bs = 0, as = isNaN(as) ? b.s : as;
if (isNaN(bh)) bh = 0, ah = isNaN(ah) ? b.h : ah; else if (bh > 180) bh -= 360; else if (bh < -180) bh += 360;
return function(t) {
return d3_hsl_rgb(ah + bh * t, as + bs * t, al + bl * t) + "";
};
}
d3.interpolateLab = d3_interpolateLab;
function d3_interpolateLab(a, b) {
a = d3.lab(a);
b = d3.lab(b);
var al = a.l, aa = a.a, ab = a.b, bl = b.l - al, ba = b.a - aa, bb = b.b - ab;
return function(t) {
return d3_lab_rgb(al + bl * t, aa + ba * t, ab + bb * t) + "";
};
}
d3.interpolateRound = d3_interpolateRound;
function d3_interpolateRound(a, b) {
b -= a;
return function(t) {
return Math.round(a + b * t);
};
}
d3.transform = function(string) {
var g = d3_document.createElementNS(d3.ns.prefix.svg, "g");
return (d3.transform = function(string) {
if (string != null) {
g.setAttribute("transform", string);
var t = g.transform.baseVal.consolidate();
}
return new d3_transform(t ? t.matrix : d3_transformIdentity);
})(string);
};
function d3_transform(m) {
var r0 = [ m.a, m.b ], r1 = [ m.c, m.d ], kx = d3_transformNormalize(r0), kz = d3_transformDot(r0, r1), ky = d3_transformNormalize(d3_transformCombine(r1, r0, -kz)) || 0;
if (r0[0] * r1[1] < r1[0] * r0[1]) {
r0[0] *= -1;
r0[1] *= -1;
kx *= -1;
kz *= -1;
}
this.rotate = (kx ? Math.atan2(r0[1], r0[0]) : Math.atan2(-r1[0], r1[1])) * d3_degrees;
this.translate = [ m.e, m.f ];
this.scale = [ kx, ky ];
this.skew = ky ? Math.atan2(kz, ky) * d3_degrees : 0;
}
d3_transform.prototype.toString = function() {
return "translate(" + this.translate + ")rotate(" + this.rotate + ")skewX(" + this.skew + ")scale(" + this.scale + ")";
};
function d3_transformDot(a, b) {
return a[0] * b[0] + a[1] * b[1];
}
function d3_transformNormalize(a) {
var k = Math.sqrt(d3_transformDot(a, a));
if (k) {
a[0] /= k;
a[1] /= k;
}
return k;
}
function d3_transformCombine(a, b, k) {
a[0] += k * b[0];
a[1] += k * b[1];
return a;
}
var d3_transformIdentity = {
a: 1,
b: 0,
c: 0,
d: 1,
e: 0,
f: 0
};
d3.interpolateTransform = d3_interpolateTransform;
function d3_interpolateTransform(a, b) {
var s = [], q = [], n, A = d3.transform(a), B = d3.transform(b), ta = A.translate, tb = B.translate, ra = A.rotate, rb = B.rotate, wa = A.skew, wb = B.skew, ka = A.scale, kb = B.scale;
if (ta[0] != tb[0] || ta[1] != tb[1]) {
s.push("translate(", null, ",", null, ")");
q.push({
i: 1,
x: d3_interpolateNumber(ta[0], tb[0])
}, {
i: 3,
x: d3_interpolateNumber(ta[1], tb[1])
});
} else if (tb[0] || tb[1]) {
s.push("translate(" + tb + ")");
} else {
s.push("");
}
if (ra != rb) {
if (ra - rb > 180) rb += 360; else if (rb - ra > 180) ra += 360;
q.push({
i: s.push(s.pop() + "rotate(", null, ")") - 2,
x: d3_interpolateNumber(ra, rb)
});
} else if (rb) {
s.push(s.pop() + "rotate(" + rb + ")");
}
if (wa != wb) {
q.push({
i: s.push(s.pop() + "skewX(", null, ")") - 2,
x: d3_interpolateNumber(wa, wb)
});
} else if (wb) {
s.push(s.pop() + "skewX(" + wb + ")");
}
if (ka[0] != kb[0] || ka[1] != kb[1]) {
n = s.push(s.pop() + "scale(", null, ",", null, ")");
q.push({
i: n - 4,
x: d3_interpolateNumber(ka[0], kb[0])
}, {
i: n - 2,
x: d3_interpolateNumber(ka[1], kb[1])
});
} else if (kb[0] != 1 || kb[1] != 1) {
s.push(s.pop() + "scale(" + kb + ")");
}
n = q.length;
return function(t) {
var i = -1, o;
while (++i < n) s[(o = q[i]).i] = o.x(t);
return s.join("");
};
}
function d3_uninterpolateNumber(a, b) {
b = (b -= a = +a) || 1 / b;
return function(x) {
return (x - a) / b;
};
}
function d3_uninterpolateClamp(a, b) {
b = (b -= a = +a) || 1 / b;
return function(x) {
return Math.max(0, Math.min(1, (x - a) / b));
};
}
d3.layout = {};
d3.layout.bundle = function() {
return function(links) {
var paths = [], i = -1, n = links.length;
while (++i < n) paths.push(d3_layout_bundlePath(links[i]));
return paths;
};
};
function d3_layout_bundlePath(link) {
var start = link.source, end = link.target, lca = d3_layout_bundleLeastCommonAncestor(start, end), points = [ start ];
while (start !== lca) {
start = start.parent;
points.push(start);
}
var k = points.length;
while (end !== lca) {
points.splice(k, 0, end);
end = end.parent;
}
return points;
}
function d3_layout_bundleAncestors(node) {
var ancestors = [], parent = node.parent;
while (parent != null) {
ancestors.push(node);
node = parent;
parent = parent.parent;
}
ancestors.push(node);
return ancestors;
}
function d3_layout_bundleLeastCommonAncestor(a, b) {
if (a === b) return a;
var aNodes = d3_layout_bundleAncestors(a), bNodes = d3_layout_bundleAncestors(b), aNode = aNodes.pop(), bNode = bNodes.pop(), sharedNode = null;
while (aNode === bNode) {
sharedNode = aNode;
aNode = aNodes.pop();
bNode = bNodes.pop();
}
return sharedNode;
}
d3.layout.chord = function() {
var chord = {}, chords, groups, matrix, n, padding = 0, sortGroups, sortSubgroups, sortChords;
function relayout() {
var subgroups = {}, groupSums = [], groupIndex = d3.range(n), subgroupIndex = [], k, x, x0, i, j;
chords = [];
groups = [];
k = 0, i = -1;
while (++i < n) {
x = 0, j = -1;
while (++j < n) {
x += matrix[i][j];
}
groupSums.push(x);
subgroupIndex.push(d3.range(n));
k += x;
}
if (sortGroups) {
groupIndex.sort(function(a, b) {
return sortGroups(groupSums[a], groupSums[b]);
});
}
if (sortSubgroups) {
subgroupIndex.forEach(function(d, i) {
d.sort(function(a, b) {
return sortSubgroups(matrix[i][a], matrix[i][b]);
});
});
}
k = (τ - padding * n) / k;
x = 0, i = -1;
while (++i < n) {
x0 = x, j = -1;
while (++j < n) {
var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;
subgroups[di + "-" + dj] = {
index: di,
subindex: dj,
startAngle: a0,
endAngle: a1,
value: v
};
}
groups[di] = {
index: di,
startAngle: x0,
endAngle: x,
value: (x - x0) / k
};
x += padding;
}
i = -1;
while (++i < n) {
j = i - 1;
while (++j < n) {
var source = subgroups[i + "-" + j], target = subgroups[j + "-" + i];
if (source.value || target.value) {
chords.push(source.value < target.value ? {
source: target,
target: source
} : {
source: source,
target: target
});
}
}
}
if (sortChords) resort();
}
function resort() {
chords.sort(function(a, b) {
return sortChords((a.source.value + a.target.value) / 2, (b.source.value + b.target.value) / 2);
});
}
chord.matrix = function(x) {
if (!arguments.length) return matrix;
n = (matrix = x) && matrix.length;
chords = groups = null;
return chord;
};
chord.padding = function(x) {
if (!arguments.length) return padding;
padding = x;
chords = groups = null;
return chord;
};
chord.sortGroups = function(x) {
if (!arguments.length) return sortGroups;
sortGroups = x;
chords = groups = null;
return chord;
};
chord.sortSubgroups = function(x) {
if (!arguments.length) return sortSubgroups;
sortSubgroups = x;
chords = null;
return chord;
};
chord.sortChords = function(x) {
if (!arguments.length) return sortChords;
sortChords = x;
if (chords) resort();
return chord;
};
chord.chords = function() {
if (!chords) relayout();
return chords;
};
chord.groups = function() {
if (!groups) relayout();
return groups;
};
return chord;
};
d3.layout.force = function() {
var force = {}, event = d3.dispatch("start", "tick", "end"), size = [ 1, 1 ], drag, alpha, friction = .9, linkDistance = d3_layout_forceLinkDistance, linkStrength = d3_layout_forceLinkStrength, charge = -30, chargeDistance2 = d3_layout_forceChargeDistance2, gravity = .1, theta2 = .64, nodes = [], links = [], distances, strengths, charges;
function repulse(node) {
return function(quad, x1, _, x2) {
if (quad.point !== node) {
var dx = quad.cx - node.x, dy = quad.cy - node.y, dw = x2 - x1, dn = dx * dx + dy * dy;
if (dw * dw / theta2 < dn) {
if (dn < chargeDistance2) {
var k = quad.charge / dn;
node.px -= dx * k;
node.py -= dy * k;
}
return true;
}
if (quad.point && dn && dn < chargeDistance2) {
var k = quad.pointCharge / dn;
node.px -= dx * k;
node.py -= dy * k;
}
}
return !quad.charge;
};
}
force.tick = function() {
if ((alpha *= .99) < .005) {
event.end({
type: "end",
alpha: alpha = 0
});
return true;
}
var n = nodes.length, m = links.length, q, i, o, s, t, l, k, x, y;
for (i = 0; i < m; ++i) {
o = links[i];
s = o.source;
t = o.target;
x = t.x - s.x;
y = t.y - s.y;
if (l = x * x + y * y) {
l = alpha * strengths[i] * ((l = Math.sqrt(l)) - distances[i]) / l;
x *= l;
y *= l;
t.x -= x * (k = s.weight / (t.weight + s.weight));
t.y -= y * k;
s.x += x * (k = 1 - k);
s.y += y * k;
}
}
if (k = alpha * gravity) {
x = size[0] / 2;
y = size[1] / 2;
i = -1;
if (k) while (++i < n) {
o = nodes[i];
o.x += (x - o.x) * k;
o.y += (y - o.y) * k;
}
}
if (charge) {
d3_layout_forceAccumulate(q = d3.geom.quadtree(nodes), alpha, charges);
i = -1;
while (++i < n) {
if (!(o = nodes[i]).fixed) {
q.visit(repulse(o));
}
}
}
i = -1;
while (++i < n) {
o = nodes[i];
if (o.fixed) {
o.x = o.px;
o.y = o.py;
} else {
o.x -= (o.px - (o.px = o.x)) * friction;
o.y -= (o.py - (o.py = o.y)) * friction;
}
}
event.tick({
type: "tick",
alpha: alpha
});
};
force.nodes = function(x) {
if (!arguments.length) return nodes;
nodes = x;
return force;
};
force.links = function(x) {
if (!arguments.length) return links;
links = x;
return force;
};
force.size = function(x) {
if (!arguments.length) return size;
size = x;
return force;
};
force.linkDistance = function(x) {
if (!arguments.length) return linkDistance;
linkDistance = typeof x === "function" ? x : +x;
return force;
};
force.distance = force.linkDistance;
force.linkStrength = function(x) {
if (!arguments.length) return linkStrength;
linkStrength = typeof x === "function" ? x : +x;
return force;
};
force.friction = function(x) {
if (!arguments.length) return friction;
friction = +x;
return force;
};
force.charge = function(x) {
if (!arguments.length) return charge;
charge = typeof x === "function" ? x : +x;
return force;
};
force.chargeDistance = function(x) {
if (!arguments.length) return Math.sqrt(chargeDistance2);
chargeDistance2 = x * x;
return force;
};
force.gravity = function(x) {
if (!arguments.length) return gravity;
gravity = +x;
return force;
};
force.theta = function(x) {
if (!arguments.length) return Math.sqrt(theta2);
theta2 = x * x;
return force;
};
force.alpha = function(x) {
if (!arguments.length) return alpha;
x = +x;
if (alpha) {
if (x > 0) alpha = x; else alpha = 0;
} else if (x > 0) {
event.start({
type: "start",
alpha: alpha = x
});
d3.timer(force.tick);
}
return force;
};
force.start = function() {
var i, n = nodes.length, m = links.length, w = size[0], h = size[1], neighbors, o;
for (i = 0; i < n; ++i) {
(o = nodes[i]).index = i;
o.weight = 0;
}
for (i = 0; i < m; ++i) {
o = links[i];
if (typeof o.source == "number") o.source = nodes[o.source];
if (typeof o.target == "number") o.target = nodes[o.target];
++o.source.weight;
++o.target.weight;
}
for (i = 0; i < n; ++i) {
o = nodes[i];
if (isNaN(o.x)) o.x = position("x", w);
if (isNaN(o.y)) o.y = position("y", h);
if (isNaN(o.px)) o.px = o.x;
if (isNaN(o.py)) o.py = o.y;
}
distances = [];
if (typeof linkDistance === "function") for (i = 0; i < m; ++i) distances[i] = +linkDistance.call(this, links[i], i); else for (i = 0; i < m; ++i) distances[i] = linkDistance;
strengths = [];
if (typeof linkStrength === "function") for (i = 0; i < m; ++i) strengths[i] = +linkStrength.call(this, links[i], i); else for (i = 0; i < m; ++i) strengths[i] = linkStrength;
charges = [];
if (typeof charge === "function") for (i = 0; i < n; ++i) charges[i] = +charge.call(this, nodes[i], i); else for (i = 0; i < n; ++i) charges[i] = charge;
function position(dimension, size) {
if (!neighbors) {
neighbors = new Array(n);
for (j = 0; j < n; ++j) {
neighbors[j] = [];
}
for (j = 0; j < m; ++j) {
var o = links[j];
neighbors[o.source.index].push(o.target);
neighbors[o.target.index].push(o.source);
}
}
var candidates = neighbors[i], j = -1, m = candidates.length, x;
while (++j < m) if (!isNaN(x = candidates[j][dimension])) return x;
return Math.random() * size;
}
return force.resume();
};
force.resume = function() {
return force.alpha(.1);
};
force.stop = function() {
return force.alpha(0);
};
force.drag = function() {
if (!drag) drag = d3.behavior.drag().origin(d3_identity).on("dragstart.force", d3_layout_forceDragstart).on("drag.force", dragmove).on("dragend.force", d3_layout_forceDragend);
if (!arguments.length) return drag;
this.on("mouseover.force", d3_layout_forceMouseover).on("mouseout.force", d3_layout_forceMouseout).call(drag);
};
function dragmove(d) {
d.px = d3.event.x, d.py = d3.event.y;
force.resume();
}
return d3.rebind(force, event, "on");
};
function d3_layout_forceDragstart(d) {
d.fixed |= 2;
}
function d3_layout_forceDragend(d) {
d.fixed &= ~6;
}
function d3_layout_forceMouseover(d) {
d.fixed |= 4;
d.px = d.x, d.py = d.y;
}
function d3_layout_forceMouseout(d) {
d.fixed &= ~4;
}
function d3_layout_forceAccumulate(quad, alpha, charges) {
var cx = 0, cy = 0;
quad.charge = 0;
if (!quad.leaf) {
var nodes = quad.nodes, n = nodes.length, i = -1, c;
while (++i < n) {
c = nodes[i];
if (c == null) continue;
d3_layout_forceAccumulate(c, alpha, charges);
quad.charge += c.charge;
cx += c.charge * c.cx;
cy += c.charge * c.cy;
}
}
if (quad.point) {
if (!quad.leaf) {
quad.point.x += Math.random() - .5;
quad.point.y += Math.random() - .5;
}
var k = alpha * charges[quad.point.index];
quad.charge += quad.pointCharge = k;
cx += k * quad.point.x;
cy += k * quad.point.y;
}
quad.cx = cx / quad.charge;
quad.cy = cy / quad.charge;
}
var d3_layout_forceLinkDistance = 20, d3_layout_forceLinkStrength = 1, d3_layout_forceChargeDistance2 = Infinity;
d3.layout.hierarchy = function() {
var sort = d3_layout_hierarchySort, children = d3_layout_hierarchyChildren, value = d3_layout_hierarchyValue;
function hierarchy(root) {
var stack = [ root ], nodes = [], node;
root.depth = 0;
while ((node = stack.pop()) != null) {
nodes.push(node);
if ((childs = children.call(hierarchy, node, node.depth)) && (n = childs.length)) {
var n, childs, child;
while (--n >= 0) {
stack.push(child = childs[n]);
child.parent = node;
child.depth = node.depth + 1;
}
if (value) node.value = 0;
node.children = childs;
} else {
if (value) node.value = +value.call(hierarchy, node, node.depth) || 0;
delete node.children;
}
}
d3_layout_hierarchyVisitAfter(root, function(node) {
var childs, parent;
if (sort && (childs = node.children)) childs.sort(sort);
if (value && (parent = node.parent)) parent.value += node.value;
});
return nodes;
}
hierarchy.sort = function(x) {
if (!arguments.length) return sort;
sort = x;
return hierarchy;
};
hierarchy.children = function(x) {
if (!arguments.length) return children;
children = x;
return hierarchy;
};
hierarchy.value = function(x) {
if (!arguments.length) return value;
value = x;
return hierarchy;
};
hierarchy.revalue = function(root) {
if (value) {
d3_layout_hierarchyVisitBefore(root, function(node) {
if (node.children) node.value = 0;
});
d3_layout_hierarchyVisitAfter(root, function(node) {
var parent;
if (!node.children) node.value = +value.call(hierarchy, node, node.depth) || 0;
if (parent = node.parent) parent.value += node.value;
});
}
return root;
};
return hierarchy;
};
function d3_layout_hierarchyRebind(object, hierarchy) {
d3.rebind(object, hierarchy, "sort", "children", "value");
object.nodes = object;
object.links = d3_layout_hierarchyLinks;
return object;
}
function d3_layout_hierarchyVisitBefore(node, callback) {
var nodes = [ node ];
while ((node = nodes.pop()) != null) {
callback(node);
if ((children = node.children) && (n = children.length)) {
var n, children;
while (--n >= 0) nodes.push(children[n]);
}
}
}
function d3_layout_hierarchyVisitAfter(node, callback) {
var nodes = [ node ], nodes2 = [];
while ((node = nodes.pop()) != null) {
nodes2.push(node);
if ((children = node.children) && (n = children.length)) {
var i = -1, n, children;
while (++i < n) nodes.push(children[i]);
}
}
while ((node = nodes2.pop()) != null) {
callback(node);
}
}
function d3_layout_hierarchyChildren(d) {
return d.children;
}
function d3_layout_hierarchyValue(d) {
return d.value;
}
function d3_layout_hierarchySort(a, b) {
return b.value - a.value;
}
function d3_layout_hierarchyLinks(nodes) {
return d3.merge(nodes.map(function(parent) {
return (parent.children || []).map(function(child) {
return {
source: parent,
target: child
};
});
}));
}
d3.layout.partition = function() {
var hierarchy = d3.layout.hierarchy(), size = [ 1, 1 ];
function position(node, x, dx, dy) {
var children = node.children;
node.x = x;
node.y = node.depth * dy;
node.dx = dx;
node.dy = dy;
if (children && (n = children.length)) {
var i = -1, n, c, d;
dx = node.value ? dx / node.value : 0;
while (++i < n) {
position(c = children[i], x, d = c.value * dx, dy);
x += d;
}
}
}
function depth(node) {
var children = node.children, d = 0;
if (children && (n = children.length)) {
var i = -1, n;
while (++i < n) d = Math.max(d, depth(children[i]));
}
return 1 + d;
}
function partition(d, i) {
var nodes = hierarchy.call(this, d, i);
position(nodes[0], 0, size[0], size[1] / depth(nodes[0]));
return nodes;
}
partition.size = function(x) {
if (!arguments.length) return size;
size = x;
return partition;
};
return d3_layout_hierarchyRebind(partition, hierarchy);
};
d3.layout.pie = function() {
var value = Number, sort = d3_layout_pieSortByValue, startAngle = 0, endAngle = τ, padAngle = 0;
function pie(data) {
var n = data.length, values = data.map(function(d, i) {
return +value.call(pie, d, i);
}), a = +(typeof startAngle === "function" ? startAngle.apply(this, arguments) : startAngle), da = (typeof endAngle === "function" ? endAngle.apply(this, arguments) : endAngle) - a, p = Math.min(Math.abs(da) / n, +(typeof padAngle === "function" ? padAngle.apply(this, arguments) : padAngle)), pa = p * (da < 0 ? -1 : 1), k = (da - n * pa) / d3.sum(values), index = d3.range(n), arcs = [], v;
if (sort != null) index.sort(sort === d3_layout_pieSortByValue ? function(i, j) {
return values[j] - values[i];
} : function(i, j) {
return sort(data[i], data[j]);
});
index.forEach(function(i) {
arcs[i] = {
data: data[i],
value: v = values[i],
startAngle: a,
endAngle: a += v * k + pa,
padAngle: p
};
});
return arcs;
}
pie.value = function(_) {
if (!arguments.length) return value;
value = _;
return pie;
};
pie.sort = function(_) {
if (!arguments.length) return sort;
sort = _;
return pie;
};
pie.startAngle = function(_) {
if (!arguments.length) return startAngle;
startAngle = _;
return pie;
};
pie.endAngle = function(_) {
if (!arguments.length) return endAngle;
endAngle = _;
return pie;
};
pie.padAngle = function(_) {
if (!arguments.length) return padAngle;
padAngle = _;
return pie;
};
return pie;
};
var d3_layout_pieSortByValue = {};
d3.layout.stack = function() {
var values = d3_identity, order = d3_layout_stackOrderDefault, offset = d3_layout_stackOffsetZero, out = d3_layout_stackOut, x = d3_layout_stackX, y = d3_layout_stackY;
function stack(data, index) {
if (!(n = data.length)) return data;
var series = data.map(function(d, i) {
return values.call(stack, d, i);
});
var points = series.map(function(d) {
return d.map(function(v, i) {
return [ x.call(stack, v, i), y.call(stack, v, i) ];
});
});
var orders = order.call(stack, points, index);
series = d3.permute(series, orders);
points = d3.permute(points, orders);
var offsets = offset.call(stack, points, index);
var m = series[0].length, n, i, j, o;
for (j = 0; j < m; ++j) {
out.call(stack, series[0][j], o = offsets[j], points[0][j][1]);
for (i = 1; i < n; ++i) {
out.call(stack, series[i][j], o += points[i - 1][j][1], points[i][j][1]);
}
}
return data;
}
stack.values = function(x) {
if (!arguments.length) return values;
values = x;
return stack;
};
stack.order = function(x) {
if (!arguments.length) return order;
order = typeof x === "function" ? x : d3_layout_stackOrders.get(x) || d3_layout_stackOrderDefault;
return stack;
};
stack.offset = function(x) {
if (!arguments.length) return offset;
offset = typeof x === "function" ? x : d3_layout_stackOffsets.get(x) || d3_layout_stackOffsetZero;
return stack;
};
stack.x = function(z) {
if (!arguments.length) return x;
x = z;
return stack;
};
stack.y = function(z) {
if (!arguments.length) return y;
y = z;
return stack;
};
stack.out = function(z) {
if (!arguments.length) return out;
out = z;
return stack;
};
return stack;
};
function d3_layout_stackX(d) {
return d.x;
}
function d3_layout_stackY(d) {
return d.y;
}
function d3_layout_stackOut(d, y0, y) {
d.y0 = y0;
d.y = y;
}
var d3_layout_stackOrders = d3.map({
"inside-out": function(data) {
var n = data.length, i, j, max = data.map(d3_layout_stackMaxIndex), sums = data.map(d3_layout_stackReduceSum), index = d3.range(n).sort(function(a, b) {
return max[a] - max[b];
}), top = 0, bottom = 0, tops = [], bottoms = [];
for (i = 0; i < n; ++i) {
j = index[i];
if (top < bottom) {
top += sums[j];
tops.push(j);
} else {
bottom += sums[j];
bottoms.push(j);
}
}
return bottoms.reverse().concat(tops);
},
reverse: function(data) {
return d3.range(data.length).reverse();
},
"default": d3_layout_stackOrderDefault
});
var d3_layout_stackOffsets = d3.map({
silhouette: function(data) {
var n = data.length, m = data[0].length, sums = [], max = 0, i, j, o, y0 = [];
for (j = 0; j < m; ++j) {
for (i = 0, o = 0; i < n; i++) o += data[i][j][1];
if (o > max) max = o;
sums.push(o);
}
for (j = 0; j < m; ++j) {
y0[j] = (max - sums[j]) / 2;
}
return y0;
},
wiggle: function(data) {
var n = data.length, x = data[0], m = x.length, i, j, k, s1, s2, s3, dx, o, o0, y0 = [];
y0[0] = o = o0 = 0;
for (j = 1; j < m; ++j) {
for (i = 0, s1 = 0; i < n; ++i) s1 += data[i][j][1];
for (i = 0, s2 = 0, dx = x[j][0] - x[j - 1][0]; i < n; ++i) {
for (k = 0, s3 = (data[i][j][1] - data[i][j - 1][1]) / (2 * dx); k < i; ++k) {
s3 += (data[k][j][1] - data[k][j - 1][1]) / dx;
}
s2 += s3 * data[i][j][1];
}
y0[j] = o -= s1 ? s2 / s1 * dx : 0;
if (o < o0) o0 = o;
}
for (j = 0; j < m; ++j) y0[j] -= o0;
return y0;
},
expand: function(data) {
var n = data.length, m = data[0].length, k = 1 / n, i, j, o, y0 = [];
for (j = 0; j < m; ++j) {
for (i = 0, o = 0; i < n; i++) o += data[i][j][1];
if (o) for (i = 0; i < n; i++) data[i][j][1] /= o; else for (i = 0; i < n; i++) data[i][j][1] = k;
}
for (j = 0; j < m; ++j) y0[j] = 0;
return y0;
},
zero: d3_layout_stackOffsetZero
});
function d3_layout_stackOrderDefault(data) {
return d3.range(data.length);
}
function d3_layout_stackOffsetZero(data) {
var j = -1, m = data[0].length, y0 = [];
while (++j < m) y0[j] = 0;
return y0;
}
function d3_layout_stackMaxIndex(array) {
var i = 1, j = 0, v = array[0][1], k, n = array.length;
for (;i < n; ++i) {
if ((k = array[i][1]) > v) {
j = i;
v = k;
}
}
return j;
}
function d3_layout_stackReduceSum(d) {
return d.reduce(d3_layout_stackSum, 0);
}
function d3_layout_stackSum(p, d) {
return p + d[1];
}
d3.layout.histogram = function() {
var frequency = true, valuer = Number, ranger = d3_layout_histogramRange, binner = d3_layout_histogramBinSturges;
function histogram(data, i) {
var bins = [], values = data.map(valuer, this), range = ranger.call(this, values, i), thresholds = binner.call(this, range, values, i), bin, i = -1, n = values.length, m = thresholds.length - 1, k = frequency ? 1 : 1 / n, x;
while (++i < m) {
bin = bins[i] = [];
bin.dx = thresholds[i + 1] - (bin.x = thresholds[i]);
bin.y = 0;
}
if (m > 0) {
i = -1;
while (++i < n) {
x = values[i];
if (x >= range[0] && x <= range[1]) {
bin = bins[d3.bisect(thresholds, x, 1, m) - 1];
bin.y += k;
bin.push(data[i]);
}
}
}
return bins;
}
histogram.value = function(x) {
if (!arguments.length) return valuer;
valuer = x;
return histogram;
};
histogram.range = function(x) {
if (!arguments.length) return ranger;
ranger = d3_functor(x);
return histogram;
};
histogram.bins = function(x) {
if (!arguments.length) return binner;
binner = typeof x === "number" ? function(range) {
return d3_layout_histogramBinFixed(range, x);
} : d3_functor(x);
return histogram;
};
histogram.frequency = function(x) {
if (!arguments.length) return frequency;
frequency = !!x;
return histogram;
};
return histogram;
};
function d3_layout_histogramBinSturges(range, values) {
return d3_layout_histogramBinFixed(range, Math.ceil(Math.log(values.length) / Math.LN2 + 1));
}
function d3_layout_histogramBinFixed(range, n) {
var x = -1, b = +range[0], m = (range[1] - b) / n, f = [];
while (++x <= n) f[x] = m * x + b;
return f;
}
function d3_layout_histogramRange(values) {
return [ d3.min(values), d3.max(values) ];
}
d3.layout.pack = function() {
var hierarchy = d3.layout.hierarchy().sort(d3_layout_packSort), padding = 0, size = [ 1, 1 ], radius;
function pack(d, i) {
var nodes = hierarchy.call(this, d, i), root = nodes[0], w = size[0], h = size[1], r = radius == null ? Math.sqrt : typeof radius === "function" ? radius : function() {
return radius;
};
root.x = root.y = 0;
d3_layout_hierarchyVisitAfter(root, function(d) {
d.r = +r(d.value);
});
d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);
if (padding) {
var dr = padding * (radius ? 1 : Math.max(2 * root.r / w, 2 * root.r / h)) / 2;
d3_layout_hierarchyVisitAfter(root, function(d) {
d.r += dr;
});
d3_layout_hierarchyVisitAfter(root, d3_layout_packSiblings);
d3_layout_hierarchyVisitAfter(root, function(d) {
d.r -= dr;
});
}
d3_layout_packTransform(root, w / 2, h / 2, radius ? 1 : 1 / Math.max(2 * root.r / w, 2 * root.r / h));
return nodes;
}
pack.size = function(_) {
if (!arguments.length) return size;
size = _;
return pack;
};
pack.radius = function(_) {
if (!arguments.length) return radius;
radius = _ == null || typeof _ === "function" ? _ : +_;
return pack;
};
pack.padding = function(_) {
if (!arguments.length) return padding;
padding = +_;
return pack;
};
return d3_layout_hierarchyRebind(pack, hierarchy);
};
function d3_layout_packSort(a, b) {
return a.value - b.value;
}
function d3_layout_packInsert(a, b) {
var c = a._pack_next;
a._pack_next = b;
b._pack_prev = a;
b._pack_next = c;
c._pack_prev = b;
}
function d3_layout_packSplice(a, b) {
a._pack_next = b;
b._pack_prev = a;
}
function d3_layout_packIntersects(a, b) {
var dx = b.x - a.x, dy = b.y - a.y, dr = a.r + b.r;
return .999 * dr * dr > dx * dx + dy * dy;
}
function d3_layout_packSiblings(node) {
if (!(nodes = node.children) || !(n = nodes.length)) return;
var nodes, xMin = Infinity, xMax = -Infinity, yMin = Infinity, yMax = -Infinity, a, b, c, i, j, k, n;
function bound(node) {
xMin = Math.min(node.x - node.r, xMin);
xMax = Math.max(node.x + node.r, xMax);
yMin = Math.min(node.y - node.r, yMin);
yMax = Math.max(node.y + node.r, yMax);
}
nodes.forEach(d3_layout_packLink);
a = nodes[0];
a.x = -a.r;
a.y = 0;
bound(a);
if (n > 1) {
b = nodes[1];
b.x = b.r;
b.y = 0;
bound(b);
if (n > 2) {
c = nodes[2];
d3_layout_packPlace(a, b, c);
bound(c);
d3_layout_packInsert(a, c);
a._pack_prev = c;
d3_layout_packInsert(c, b);
b = a._pack_next;
for (i = 3; i < n; i++) {
d3_layout_packPlace(a, b, c = nodes[i]);
var isect = 0, s1 = 1, s2 = 1;
for (j = b._pack_next; j !== b; j = j._pack_next, s1++) {
if (d3_layout_packIntersects(j, c)) {
isect = 1;
break;
}
}
if (isect == 1) {
for (k = a._pack_prev; k !== j._pack_prev; k = k._pack_prev, s2++) {
if (d3_layout_packIntersects(k, c)) {
break;
}
}
}
if (isect) {
if (s1 < s2 || s1 == s2 && b.r < a.r) d3_layout_packSplice(a, b = j); else d3_layout_packSplice(a = k, b);
i--;
} else {
d3_layout_packInsert(a, c);
b = c;
bound(c);
}
}
}
}
var cx = (xMin + xMax) / 2, cy = (yMin + yMax) / 2, cr = 0;
for (i = 0; i < n; i++) {
c = nodes[i];
c.x -= cx;
c.y -= cy;
cr = Math.max(cr, c.r + Math.sqrt(c.x * c.x + c.y * c.y));
}
node.r = cr;
nodes.forEach(d3_layout_packUnlink);
}
function d3_layout_packLink(node) {
node._pack_next = node._pack_prev = node;
}
function d3_layout_packUnlink(node) {
delete node._pack_next;
delete node._pack_prev;
}
function d3_layout_packTransform(node, x, y, k) {
var children = node.children;
node.x = x += k * node.x;
node.y = y += k * node.y;
node.r *= k;
if (children) {
var i = -1, n = children.length;
while (++i < n) d3_layout_packTransform(children[i], x, y, k);
}
}
function d3_layout_packPlace(a, b, c) {
var db = a.r + c.r, dx = b.x - a.x, dy = b.y - a.y;
if (db && (dx || dy)) {
var da = b.r + c.r, dc = dx * dx + dy * dy;
da *= da;
db *= db;
var x = .5 + (db - da) / (2 * dc), y = Math.sqrt(Math.max(0, 2 * da * (db + dc) - (db -= dc) * db - da * da)) / (2 * dc);
c.x = a.x + x * dx + y * dy;
c.y = a.y + x * dy - y * dx;
} else {
c.x = a.x + db;
c.y = a.y;
}
}
d3.layout.tree = function() {
var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = null;
function tree(d, i) {
var nodes = hierarchy.call(this, d, i), root0 = nodes[0], root1 = wrapTree(root0);
d3_layout_hierarchyVisitAfter(root1, firstWalk), root1.parent.m = -root1.z;
d3_layout_hierarchyVisitBefore(root1, secondWalk);
if (nodeSize) d3_layout_hierarchyVisitBefore(root0, sizeNode); else {
var left = root0, right = root0, bottom = root0;
d3_layout_hierarchyVisitBefore(root0, function(node) {
if (node.x < left.x) left = node;
if (node.x > right.x) right = node;
if (node.depth > bottom.depth) bottom = node;
});
var tx = separation(left, right) / 2 - left.x, kx = size[0] / (right.x + separation(right, left) / 2 + tx), ky = size[1] / (bottom.depth || 1);
d3_layout_hierarchyVisitBefore(root0, function(node) {
node.x = (node.x + tx) * kx;
node.y = node.depth * ky;
});
}
return nodes;
}
function wrapTree(root0) {
var root1 = {
A: null,
children: [ root0 ]
}, queue = [ root1 ], node1;
while ((node1 = queue.pop()) != null) {
for (var children = node1.children, child, i = 0, n = children.length; i < n; ++i) {
queue.push((children[i] = child = {
_: children[i],
parent: node1,
children: (child = children[i].children) && child.slice() || [],
A: null,
a: null,
z: 0,
m: 0,
c: 0,
s: 0,
t: null,
i: i
}).a = child);
}
}
return root1.children[0];
}
function firstWalk(v) {
var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null;
if (children.length) {
d3_layout_treeShift(v);
var midpoint = (children[0].z + children[children.length - 1].z) / 2;
if (w) {
v.z = w.z + separation(v._, w._);
v.m = v.z - midpoint;
} else {
v.z = midpoint;
}
} else if (w) {
v.z = w.z + separation(v._, w._);
}
v.parent.A = apportion(v, w, v.parent.A || siblings[0]);
}
function secondWalk(v) {
v._.x = v.z + v.parent.m;
v.m += v.parent.m;
}
function apportion(v, w, ancestor) {
if (w) {
var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift;
while (vim = d3_layout_treeRight(vim), vip = d3_layout_treeLeft(vip), vim && vip) {
vom = d3_layout_treeLeft(vom);
vop = d3_layout_treeRight(vop);
vop.a = v;
shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);
if (shift > 0) {
d3_layout_treeMove(d3_layout_treeAncestor(vim, v, ancestor), v, shift);
sip += shift;
sop += shift;
}
sim += vim.m;
sip += vip.m;
som += vom.m;
sop += vop.m;
}
if (vim && !d3_layout_treeRight(vop)) {
vop.t = vim;
vop.m += sim - sop;
}
if (vip && !d3_layout_treeLeft(vom)) {
vom.t = vip;
vom.m += sip - som;
ancestor = v;
}
}
return ancestor;
}
function sizeNode(node) {
node.x *= size[0];
node.y = node.depth * size[1];
}
tree.separation = function(x) {
if (!arguments.length) return separation;
separation = x;
return tree;
};
tree.size = function(x) {
if (!arguments.length) return nodeSize ? null : size;
nodeSize = (size = x) == null ? sizeNode : null;
return tree;
};
tree.nodeSize = function(x) {
if (!arguments.length) return nodeSize ? size : null;
nodeSize = (size = x) == null ? null : sizeNode;
return tree;
};
return d3_layout_hierarchyRebind(tree, hierarchy);
};
function d3_layout_treeSeparation(a, b) {
return a.parent == b.parent ? 1 : 2;
}
function d3_layout_treeLeft(v) {
var children = v.children;
return children.length ? children[0] : v.t;
}
function d3_layout_treeRight(v) {
var children = v.children, n;
return (n = children.length) ? children[n - 1] : v.t;
}
function d3_layout_treeMove(wm, wp, shift) {
var change = shift / (wp.i - wm.i);
wp.c -= change;
wp.s += shift;
wm.c += change;
wp.z += shift;
wp.m += shift;
}
function d3_layout_treeShift(v) {
var shift = 0, change = 0, children = v.children, i = children.length, w;
while (--i >= 0) {
w = children[i];
w.z += shift;
w.m += shift;
shift += w.s + (change += w.c);
}
}
function d3_layout_treeAncestor(vim, v, ancestor) {
return vim.a.parent === v.parent ? vim.a : ancestor;
}
d3.layout.cluster = function() {
var hierarchy = d3.layout.hierarchy().sort(null).value(null), separation = d3_layout_treeSeparation, size = [ 1, 1 ], nodeSize = false;
function cluster(d, i) {
var nodes = hierarchy.call(this, d, i), root = nodes[0], previousNode, x = 0;
d3_layout_hierarchyVisitAfter(root, function(node) {
var children = node.children;
if (children && children.length) {
node.x = d3_layout_clusterX(children);
node.y = d3_layout_clusterY(children);
} else {
node.x = previousNode ? x += separation(node, previousNode) : 0;
node.y = 0;
previousNode = node;
}
});
var left = d3_layout_clusterLeft(root), right = d3_layout_clusterRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;
d3_layout_hierarchyVisitAfter(root, nodeSize ? function(node) {
node.x = (node.x - root.x) * size[0];
node.y = (root.y - node.y) * size[1];
} : function(node) {
node.x = (node.x - x0) / (x1 - x0) * size[0];
node.y = (1 - (root.y ? node.y / root.y : 1)) * size[1];
});
return nodes;
}
cluster.separation = function(x) {
if (!arguments.length) return separation;
separation = x;
return cluster;
};
cluster.size = function(x) {
if (!arguments.length) return nodeSize ? null : size;
nodeSize = (size = x) == null;
return cluster;
};
cluster.nodeSize = function(x) {
if (!arguments.length) return nodeSize ? size : null;
nodeSize = (size = x) != null;
return cluster;
};
return d3_layout_hierarchyRebind(cluster, hierarchy);
};
function d3_layout_clusterY(children) {
return 1 + d3.max(children, function(child) {
return child.y;
});
}
function d3_layout_clusterX(children) {
return children.reduce(function(x, child) {
return x + child.x;
}, 0) / children.length;
}
function d3_layout_clusterLeft(node) {
var children = node.children;
return children && children.length ? d3_layout_clusterLeft(children[0]) : node;
}
function d3_layout_clusterRight(node) {
var children = node.children, n;
return children && (n = children.length) ? d3_layout_clusterRight(children[n - 1]) : node;
}
d3.layout.treemap = function() {
var hierarchy = d3.layout.hierarchy(), round = Math.round, size = [ 1, 1 ], padding = null, pad = d3_layout_treemapPadNull, sticky = false, stickies, mode = "squarify", ratio = .5 * (1 + Math.sqrt(5));
function scale(children, k) {
var i = -1, n = children.length, child, area;
while (++i < n) {
area = (child = children[i]).value * (k < 0 ? 0 : k);
child.area = isNaN(area) || area <= 0 ? 0 : area;
}
}
function squarify(node) {
var children = node.children;
if (children && children.length) {
var rect = pad(node), row = [], remaining = children.slice(), child, best = Infinity, score, u = mode === "slice" ? rect.dx : mode === "dice" ? rect.dy : mode === "slice-dice" ? node.depth & 1 ? rect.dy : rect.dx : Math.min(rect.dx, rect.dy), n;
scale(remaining, rect.dx * rect.dy / node.value);
row.area = 0;
while ((n = remaining.length) > 0) {
row.push(child = remaining[n - 1]);
row.area += child.area;
if (mode !== "squarify" || (score = worst(row, u)) <= best) {
remaining.pop();
best = score;
} else {
row.area -= row.pop().area;
position(row, u, rect, false);
u = Math.min(rect.dx, rect.dy);
row.length = row.area = 0;
best = Infinity;
}
}
if (row.length) {
position(row, u, rect, true);
row.length = row.area = 0;
}
children.forEach(squarify);
}
}
function stickify(node) {
var children = node.children;
if (children && children.length) {
var rect = pad(node), remaining = children.slice(), child, row = [];
scale(remaining, rect.dx * rect.dy / node.value);
row.area = 0;
while (child = remaining.pop()) {
row.push(child);
row.area += child.area;
if (child.z != null) {
position(row, child.z ? rect.dx : rect.dy, rect, !remaining.length);
row.length = row.area = 0;
}
}
children.forEach(stickify);
}
}
function worst(row, u) {
var s = row.area, r, rmax = 0, rmin = Infinity, i = -1, n = row.length;
while (++i < n) {
if (!(r = row[i].area)) continue;
if (r < rmin) rmin = r;
if (r > rmax) rmax = r;
}
s *= s;
u *= u;
return s ? Math.max(u * rmax * ratio / s, s / (u * rmin * ratio)) : Infinity;
}
function position(row, u, rect, flush) {
var i = -1, n = row.length, x = rect.x, y = rect.y, v = u ? round(row.area / u) : 0, o;
if (u == rect.dx) {
if (flush || v > rect.dy) v = rect.dy;
while (++i < n) {
o = row[i];
o.x = x;
o.y = y;
o.dy = v;
x += o.dx = Math.min(rect.x + rect.dx - x, v ? round(o.area / v) : 0);
}
o.z = true;
o.dx += rect.x + rect.dx - x;
rect.y += v;
rect.dy -= v;
} else {
if (flush || v > rect.dx) v = rect.dx;
while (++i < n) {
o = row[i];
o.x = x;
o.y = y;
o.dx = v;
y += o.dy = Math.min(rect.y + rect.dy - y, v ? round(o.area / v) : 0);
}
o.z = false;
o.dy += rect.y + rect.dy - y;
rect.x += v;
rect.dx -= v;
}
}
function treemap(d) {
var nodes = stickies || hierarchy(d), root = nodes[0];
root.x = 0;
root.y = 0;
root.dx = size[0];
root.dy = size[1];
if (stickies) hierarchy.revalue(root);
scale([ root ], root.dx * root.dy / root.value);
(stickies ? stickify : squarify)(root);
if (sticky) stickies = nodes;
return nodes;
}
treemap.size = function(x) {
if (!arguments.length) return size;
size = x;
return treemap;
};
treemap.padding = function(x) {
if (!arguments.length) return padding;
function padFunction(node) {
var p = x.call(treemap, node, node.depth);
return p == null ? d3_layout_treemapPadNull(node) : d3_layout_treemapPad(node, typeof p === "number" ? [ p, p, p, p ] : p);
}
function padConstant(node) {
return d3_layout_treemapPad(node, x);
}
var type;
pad = (padding = x) == null ? d3_layout_treemapPadNull : (type = typeof x) === "function" ? padFunction : type === "number" ? (x = [ x, x, x, x ],
padConstant) : padConstant;
return treemap;
};
treemap.round = function(x) {
if (!arguments.length) return round != Number;
round = x ? Math.round : Number;
return treemap;
};
treemap.sticky = function(x) {
if (!arguments.length) return sticky;
sticky = x;
stickies = null;
return treemap;
};
treemap.ratio = function(x) {
if (!arguments.length) return ratio;
ratio = x;
return treemap;
};
treemap.mode = function(x) {
if (!arguments.length) return mode;
mode = x + "";
return treemap;
};
return d3_layout_hierarchyRebind(treemap, hierarchy);
};
function d3_layout_treemapPadNull(node) {
return {
x: node.x,
y: node.y,
dx: node.dx,
dy: node.dy
};
}
function d3_layout_treemapPad(node, padding) {
var x = node.x + padding[3], y = node.y + padding[0], dx = node.dx - padding[1] - padding[3], dy = node.dy - padding[0] - padding[2];
if (dx < 0) {
x += dx / 2;
dx = 0;
}
if (dy < 0) {
y += dy / 2;
dy = 0;
}
return {
x: x,
y: y,
dx: dx,
dy: dy
};
}
d3.random = {
normal: function(µ, σ) {
var n = arguments.length;
if (n < 2) σ = 1;
if (n < 1) µ = 0;
return function() {
var x, y, r;
do {
x = Math.random() * 2 - 1;
y = Math.random() * 2 - 1;
r = x * x + y * y;
} while (!r || r > 1);
return µ + σ * x * Math.sqrt(-2 * Math.log(r) / r);
};
},
logNormal: function() {
var random = d3.random.normal.apply(d3, arguments);
return function() {
return Math.exp(random());
};
},
bates: function(m) {
var random = d3.random.irwinHall(m);
return function() {
return random() / m;
};
},
irwinHall: function(m) {
return function() {
for (var s = 0, j = 0; j < m; j++) s += Math.random();
return s;
};
}
};
d3.scale = {};
function d3_scaleExtent(domain) {
var start = domain[0], stop = domain[domain.length - 1];
return start < stop ? [ start, stop ] : [ stop, start ];
}
function d3_scaleRange(scale) {
return scale.rangeExtent ? scale.rangeExtent() : d3_scaleExtent(scale.range());
}
function d3_scale_bilinear(domain, range, uninterpolate, interpolate) {
var u = uninterpolate(domain[0], domain[1]), i = interpolate(range[0], range[1]);
return function(x) {
return i(u(x));
};
}
function d3_scale_nice(domain, nice) {
var i0 = 0, i1 = domain.length - 1, x0 = domain[i0], x1 = domain[i1], dx;
if (x1 < x0) {
dx = i0, i0 = i1, i1 = dx;
dx = x0, x0 = x1, x1 = dx;
}
domain[i0] = nice.floor(x0);
domain[i1] = nice.ceil(x1);
return domain;
}
function d3_scale_niceStep(step) {
return step ? {
floor: function(x) {
return Math.floor(x / step) * step;
},
ceil: function(x) {
return Math.ceil(x / step) * step;
}
} : d3_scale_niceIdentity;
}
var d3_scale_niceIdentity = {
floor: d3_identity,
ceil: d3_identity
};
function d3_scale_polylinear(domain, range, uninterpolate, interpolate) {
var u = [], i = [], j = 0, k = Math.min(domain.length, range.length) - 1;
if (domain[k] < domain[0]) {
domain = domain.slice().reverse();
range = range.slice().reverse();
}
while (++j <= k) {
u.push(uninterpolate(domain[j - 1], domain[j]));
i.push(interpolate(range[j - 1], range[j]));
}
return function(x) {
var j = d3.bisect(domain, x, 1, k) - 1;
return i[j](u[j](x));
};
}
d3.scale.linear = function() {
return d3_scale_linear([ 0, 1 ], [ 0, 1 ], d3_interpolate, false);
};
function d3_scale_linear(domain, range, interpolate, clamp) {
var output, input;
function rescale() {
var linear = Math.min(domain.length, range.length) > 2 ? d3_scale_polylinear : d3_scale_bilinear, uninterpolate = clamp ? d3_uninterpolateClamp : d3_uninterpolateNumber;
output = linear(domain, range, uninterpolate, interpolate);
input = linear(range, domain, uninterpolate, d3_interpolate);
return scale;
}
function scale(x) {
return output(x);
}
scale.invert = function(y) {
return input(y);
};
scale.domain = function(x) {
if (!arguments.length) return domain;
domain = x.map(Number);
return rescale();
};
scale.range = function(x) {
if (!arguments.length) return range;
range = x;
return rescale();
};
scale.rangeRound = function(x) {
return scale.range(x).interpolate(d3_interpolateRound);
};
scale.clamp = function(x) {
if (!arguments.length) return clamp;
clamp = x;
return rescale();
};
scale.interpolate = function(x) {
if (!arguments.length) return interpolate;
interpolate = x;
return rescale();
};
scale.ticks = function(m) {
return d3_scale_linearTicks(domain, m);
};
scale.tickFormat = function(m, format) {
return d3_scale_linearTickFormat(domain, m, format);
};
scale.nice = function(m) {
d3_scale_linearNice(domain, m);
return rescale();
};
scale.copy = function() {
return d3_scale_linear(domain, range, interpolate, clamp);
};
return rescale();
}
function d3_scale_linearRebind(scale, linear) {
return d3.rebind(scale, linear, "range", "rangeRound", "interpolate", "clamp");
}
function d3_scale_linearNice(domain, m) {
return d3_scale_nice(domain, d3_scale_niceStep(d3_scale_linearTickRange(domain, m)[2]));
}
function d3_scale_linearTickRange(domain, m) {
if (m == null) m = 10;
var extent = d3_scaleExtent(domain), span = extent[1] - extent[0], step = Math.pow(10, Math.floor(Math.log(span / m) / Math.LN10)), err = m / span * step;
if (err <= .15) step *= 10; else if (err <= .35) step *= 5; else if (err <= .75) step *= 2;
extent[0] = Math.ceil(extent[0] / step) * step;
extent[1] = Math.floor(extent[1] / step) * step + step * .5;
extent[2] = step;
return extent;
}
function d3_scale_linearTicks(domain, m) {
return d3.range.apply(d3, d3_scale_linearTickRange(domain, m));
}
function d3_scale_linearTickFormat(domain, m, format) {
var range = d3_scale_linearTickRange(domain, m);
if (format) {
var match = d3_format_re.exec(format);
match.shift();
if (match[8] === "s") {
var prefix = d3.formatPrefix(Math.max(abs(range[0]), abs(range[1])));
if (!match[7]) match[7] = "." + d3_scale_linearPrecision(prefix.scale(range[2]));
match[8] = "f";
format = d3.format(match.join(""));
return function(d) {
return format(prefix.scale(d)) + prefix.symbol;
};
}
if (!match[7]) match[7] = "." + d3_scale_linearFormatPrecision(match[8], range);
format = match.join("");
} else {
format = ",." + d3_scale_linearPrecision(range[2]) + "f";
}
return d3.format(format);
}
var d3_scale_linearFormatSignificant = {
s: 1,
g: 1,
p: 1,
r: 1,
e: 1
};
function d3_scale_linearPrecision(value) {
return -Math.floor(Math.log(value) / Math.LN10 + .01);
}
function d3_scale_linearFormatPrecision(type, range) {
var p = d3_scale_linearPrecision(range[2]);
return type in d3_scale_linearFormatSignificant ? Math.abs(p - d3_scale_linearPrecision(Math.max(abs(range[0]), abs(range[1])))) + +(type !== "e") : p - (type === "%") * 2;
}
d3.scale.log = function() {
return d3_scale_log(d3.scale.linear().domain([ 0, 1 ]), 10, true, [ 1, 10 ]);
};
function d3_scale_log(linear, base, positive, domain) {
function log(x) {
return (positive ? Math.log(x < 0 ? 0 : x) : -Math.log(x > 0 ? 0 : -x)) / Math.log(base);
}
function pow(x) {
return positive ? Math.pow(base, x) : -Math.pow(base, -x);
}
function scale(x) {
return linear(log(x));
}
scale.invert = function(x) {
return pow(linear.invert(x));
};
scale.domain = function(x) {
if (!arguments.length) return domain;
positive = x[0] >= 0;
linear.domain((domain = x.map(Number)).map(log));
return scale;
};
scale.base = function(_) {
if (!arguments.length) return base;
base = +_;
linear.domain(domain.map(log));
return scale;
};
scale.nice = function() {
var niced = d3_scale_nice(domain.map(log), positive ? Math : d3_scale_logNiceNegative);
linear.domain(niced);
domain = niced.map(pow);
return scale;
};
scale.ticks = function() {
var extent = d3_scaleExtent(domain), ticks = [], u = extent[0], v = extent[1], i = Math.floor(log(u)), j = Math.ceil(log(v)), n = base % 1 ? 2 : base;
if (isFinite(j - i)) {
if (positive) {
for (;i < j; i++) for (var k = 1; k < n; k++) ticks.push(pow(i) * k);
ticks.push(pow(i));
} else {
ticks.push(pow(i));
for (;i++ < j; ) for (var k = n - 1; k > 0; k--) ticks.push(pow(i) * k);
}
for (i = 0; ticks[i] < u; i++) {}
for (j = ticks.length; ticks[j - 1] > v; j--) {}
ticks = ticks.slice(i, j);
}
return ticks;
};
scale.tickFormat = function(n, format) {
if (!arguments.length) return d3_scale_logFormat;
if (arguments.length < 2) format = d3_scale_logFormat; else if (typeof format !== "function") format = d3.format(format);
var k = Math.max(.1, n / scale.ticks().length), f = positive ? (e = 1e-12, Math.ceil) : (e = -1e-12,
Math.floor), e;
return function(d) {
return d / pow(f(log(d) + e)) <= k ? format(d) : "";
};
};
scale.copy = function() {
return d3_scale_log(linear.copy(), base, positive, domain);
};
return d3_scale_linearRebind(scale, linear);
}
var d3_scale_logFormat = d3.format(".0e"), d3_scale_logNiceNegative = {
floor: function(x) {
return -Math.ceil(-x);
},
ceil: function(x) {
return -Math.floor(-x);
}
};
d3.scale.pow = function() {
return d3_scale_pow(d3.scale.linear(), 1, [ 0, 1 ]);
};
function d3_scale_pow(linear, exponent, domain) {
var powp = d3_scale_powPow(exponent), powb = d3_scale_powPow(1 / exponent);
function scale(x) {
return linear(powp(x));
}
scale.invert = function(x) {
return powb(linear.invert(x));
};
scale.domain = function(x) {
if (!arguments.length) return domain;
linear.domain((domain = x.map(Number)).map(powp));
return scale;
};
scale.ticks = function(m) {
return d3_scale_linearTicks(domain, m);
};
scale.tickFormat = function(m, format) {
return d3_scale_linearTickFormat(domain, m, format);
};
scale.nice = function(m) {
return scale.domain(d3_scale_linearNice(domain, m));
};
scale.exponent = function(x) {
if (!arguments.length) return exponent;
powp = d3_scale_powPow(exponent = x);
powb = d3_scale_powPow(1 / exponent);
linear.domain(domain.map(powp));
return scale;
};
scale.copy = function() {
return d3_scale_pow(linear.copy(), exponent, domain);
};
return d3_scale_linearRebind(scale, linear);
}
function d3_scale_powPow(e) {
return function(x) {
return x < 0 ? -Math.pow(-x, e) : Math.pow(x, e);
};
}
d3.scale.sqrt = function() {
return d3.scale.pow().exponent(.5);
};
d3.scale.ordinal = function() {
return d3_scale_ordinal([], {
t: "range",
a: [ [] ]
});
};
function d3_scale_ordinal(domain, ranger) {
var index, range, rangeBand;
function scale(x) {
return range[((index.get(x) || (ranger.t === "range" ? index.set(x, domain.push(x)) : NaN)) - 1) % range.length];
}
function steps(start, step) {
return d3.range(domain.length).map(function(i) {
return start + step * i;
});
}
scale.domain = function(x) {
if (!arguments.length) return domain;
domain = [];
index = new d3_Map();
var i = -1, n = x.length, xi;
while (++i < n) if (!index.has(xi = x[i])) index.set(xi, domain.push(xi));
return scale[ranger.t].apply(scale, ranger.a);
};
scale.range = function(x) {
if (!arguments.length) return range;
range = x;
rangeBand = 0;
ranger = {
t: "range",
a: arguments
};
return scale;
};
scale.rangePoints = function(x, padding) {
if (arguments.length < 2) padding = 0;
var start = x[0], stop = x[1], step = domain.length < 2 ? (start = (start + stop) / 2,
0) : (stop - start) / (domain.length - 1 + padding);
range = steps(start + step * padding / 2, step);
rangeBand = 0;
ranger = {
t: "rangePoints",
a: arguments
};
return scale;
};
scale.rangeRoundPoints = function(x, padding) {
if (arguments.length < 2) padding = 0;
var start = x[0], stop = x[1], step = domain.length < 2 ? (start = stop = Math.round((start + stop) / 2),
0) : (stop - start) / (domain.length - 1 + padding) | 0;
range = steps(start + Math.round(step * padding / 2 + (stop - start - (domain.length - 1 + padding) * step) / 2), step);
rangeBand = 0;
ranger = {
t: "rangeRoundPoints",
a: arguments
};
return scale;
};
scale.rangeBands = function(x, padding, outerPadding) {
if (arguments.length < 2) padding = 0;
if (arguments.length < 3) outerPadding = padding;
var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = (stop - start) / (domain.length - padding + 2 * outerPadding);
range = steps(start + step * outerPadding, step);
if (reverse) range.reverse();
rangeBand = step * (1 - padding);
ranger = {
t: "rangeBands",
a: arguments
};
return scale;
};
scale.rangeRoundBands = function(x, padding, outerPadding) {
if (arguments.length < 2) padding = 0;
if (arguments.length < 3) outerPadding = padding;
var reverse = x[1] < x[0], start = x[reverse - 0], stop = x[1 - reverse], step = Math.floor((stop - start) / (domain.length - padding + 2 * outerPadding));
range = steps(start + Math.round((stop - start - (domain.length - padding) * step) / 2), step);
if (reverse) range.reverse();
rangeBand = Math.round(step * (1 - padding));
ranger = {
t: "rangeRoundBands",
a: arguments
};
return scale;
};
scale.rangeBand = function() {
return rangeBand;
};
scale.rangeExtent = function() {
return d3_scaleExtent(ranger.a[0]);
};
scale.copy = function() {
return d3_scale_ordinal(domain, ranger);
};
return scale.domain(domain);
}
d3.scale.category10 = function() {
return d3.scale.ordinal().range(d3_category10);
};
d3.scale.category20 = function() {
return d3.scale.ordinal().range(d3_category20);
};
d3.scale.category20b = function() {
return d3.scale.ordinal().range(d3_category20b);
};
d3.scale.category20c = function() {
return d3.scale.ordinal().range(d3_category20c);
};
var d3_category10 = [ 2062260, 16744206, 2924588, 14034728, 9725885, 9197131, 14907330, 8355711, 12369186, 1556175 ].map(d3_rgbString);
var d3_category20 = [ 2062260, 11454440, 16744206, 16759672, 2924588, 10018698, 14034728, 16750742, 9725885, 12955861, 9197131, 12885140, 14907330, 16234194, 8355711, 13092807, 12369186, 14408589, 1556175, 10410725 ].map(d3_rgbString);
var d3_category20b = [ 3750777, 5395619, 7040719, 10264286, 6519097, 9216594, 11915115, 13556636, 9202993, 12426809, 15186514, 15190932, 8666169, 11356490, 14049643, 15177372, 8077683, 10834324, 13528509, 14589654 ].map(d3_rgbString);
var d3_category20c = [ 3244733, 7057110, 10406625, 13032431, 15095053, 16616764, 16625259, 16634018, 3253076, 7652470, 10607003, 13101504, 7695281, 10394312, 12369372, 14342891, 6513507, 9868950, 12434877, 14277081 ].map(d3_rgbString);
d3.scale.quantile = function() {
return d3_scale_quantile([], []);
};
function d3_scale_quantile(domain, range) {
var thresholds;
function rescale() {
var k = 0, q = range.length;
thresholds = [];
while (++k < q) thresholds[k - 1] = d3.quantile(domain, k / q);
return scale;
}
function scale(x) {
if (!isNaN(x = +x)) return range[d3.bisect(thresholds, x)];
}
scale.domain = function(x) {
if (!arguments.length) return domain;
domain = x.map(d3_number).filter(d3_numeric).sort(d3_ascending);
return rescale();
};
scale.range = function(x) {
if (!arguments.length) return range;
range = x;
return rescale();
};
scale.quantiles = function() {
return thresholds;
};
scale.invertExtent = function(y) {
y = range.indexOf(y);
return y < 0 ? [ NaN, NaN ] : [ y > 0 ? thresholds[y - 1] : domain[0], y < thresholds.length ? thresholds[y] : domain[domain.length - 1] ];
};
scale.copy = function() {
return d3_scale_quantile(domain, range);
};
return rescale();
}
d3.scale.quantize = function() {
return d3_scale_quantize(0, 1, [ 0, 1 ]);
};
function d3_scale_quantize(x0, x1, range) {
var kx, i;
function scale(x) {
return range[Math.max(0, Math.min(i, Math.floor(kx * (x - x0))))];
}
function rescale() {
kx = range.length / (x1 - x0);
i = range.length - 1;
return scale;
}
scale.domain = function(x) {
if (!arguments.length) return [ x0, x1 ];
x0 = +x[0];
x1 = +x[x.length - 1];
return rescale();
};
scale.range = function(x) {
if (!arguments.length) return range;
range = x;
return rescale();
};
scale.invertExtent = function(y) {
y = range.indexOf(y);
y = y < 0 ? NaN : y / kx + x0;
return [ y, y + 1 / kx ];
};
scale.copy = function() {
return d3_scale_quantize(x0, x1, range);
};
return rescale();
}
d3.scale.threshold = function() {
return d3_scale_threshold([ .5 ], [ 0, 1 ]);
};
function d3_scale_threshold(domain, range) {
function scale(x) {
if (x <= x) return range[d3.bisect(domain, x)];
}
scale.domain = function(_) {
if (!arguments.length) return domain;
domain = _;
return scale;
};
scale.range = function(_) {
if (!arguments.length) return range;
range = _;
return scale;
};
scale.invertExtent = function(y) {
y = range.indexOf(y);
return [ domain[y - 1], domain[y] ];
};
scale.copy = function() {
return d3_scale_threshold(domain, range);
};
return scale;
}
d3.scale.identity = function() {
return d3_scale_identity([ 0, 1 ]);
};
function d3_scale_identity(domain) {
function identity(x) {
return +x;
}
identity.invert = identity;
identity.domain = identity.range = function(x) {
if (!arguments.length) return domain;
domain = x.map(identity);
return identity;
};
identity.ticks = function(m) {
return d3_scale_linearTicks(domain, m);
};
identity.tickFormat = function(m, format) {
return d3_scale_linearTickFormat(domain, m, format);
};
identity.copy = function() {
return d3_scale_identity(domain);
};
return identity;
}
d3.svg = {};
function d3_zero() {
return 0;
}
d3.svg.arc = function() {
var innerRadius = d3_svg_arcInnerRadius, outerRadius = d3_svg_arcOuterRadius, cornerRadius = d3_zero, padRadius = d3_svg_arcAuto, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle, padAngle = d3_svg_arcPadAngle;
function arc() {
var r0 = Math.max(0, +innerRadius.apply(this, arguments)), r1 = Math.max(0, +outerRadius.apply(this, arguments)), a0 = startAngle.apply(this, arguments) - halfπ, a1 = endAngle.apply(this, arguments) - halfπ, da = Math.abs(a1 - a0), cw = a0 > a1 ? 0 : 1;
if (r1 < r0) rc = r1, r1 = r0, r0 = rc;
if (da >= τε) return circleSegment(r1, cw) + (r0 ? circleSegment(r0, 1 - cw) : "") + "Z";
var rc, cr, rp, ap, p0 = 0, p1 = 0, x0, y0, x1, y1, x2, y2, x3, y3, path = [];
if (ap = (+padAngle.apply(this, arguments) || 0) / 2) {
rp = padRadius === d3_svg_arcAuto ? Math.sqrt(r0 * r0 + r1 * r1) : +padRadius.apply(this, arguments);
if (!cw) p1 *= -1;
if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap));
if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap));
}
if (r1) {
x0 = r1 * Math.cos(a0 + p1);
y0 = r1 * Math.sin(a0 + p1);
x1 = r1 * Math.cos(a1 - p1);
y1 = r1 * Math.sin(a1 - p1);
var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1;
if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) {
var h1 = (a0 + a1) / 2;
x0 = r1 * Math.cos(h1);
y0 = r1 * Math.sin(h1);
x1 = y1 = null;
}
} else {
x0 = y0 = 0;
}
if (r0) {
x2 = r0 * Math.cos(a1 - p0);
y2 = r0 * Math.sin(a1 - p0);
x3 = r0 * Math.cos(a0 + p0);
y3 = r0 * Math.sin(a0 + p0);
var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1;
if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) {
var h0 = (a0 + a1) / 2;
x2 = r0 * Math.cos(h0);
y2 = r0 * Math.sin(h0);
x3 = y3 = null;
}
} else {
x2 = y2 = 0;
}
if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) {
cr = r0 < r1 ^ cw ? 0 : 1;
var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]);
if (x1 != null) {
var rc1 = Math.min(rc, (r1 - lc) / (kc + 1)), t30 = d3_svg_arcCornerTangents(x3 == null ? [ x2, y2 ] : [ x3, y3 ], [ x0, y0 ], r1, rc1, cw), t12 = d3_svg_arcCornerTangents([ x1, y1 ], [ x2, y2 ], r1, rc1, cw);
if (rc === rc1) {
path.push("M", t30[0], "A", rc1, ",", rc1, " 0 0,", cr, " ", t30[1], "A", r1, ",", r1, " 0 ", 1 - cw ^ d3_svg_arcSweep(t30[1][0], t30[1][1], t12[1][0], t12[1][1]), ",", cw, " ", t12[1], "A", rc1, ",", rc1, " 0 0,", cr, " ", t12[0]);
} else {
path.push("M", t30[0], "A", rc1, ",", rc1, " 0 1,", cr, " ", t12[0]);
}
} else {
path.push("M", x0, ",", y0);
}
if (x3 != null) {
var rc0 = Math.min(rc, (r0 - lc) / (kc - 1)), t03 = d3_svg_arcCornerTangents([ x0, y0 ], [ x3, y3 ], r0, -rc0, cw), t21 = d3_svg_arcCornerTangents([ x2, y2 ], x1 == null ? [ x0, y0 ] : [ x1, y1 ], r0, -rc0, cw);
if (rc === rc0) {
path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t21[1], "A", r0, ",", r0, " 0 ", cw ^ d3_svg_arcSweep(t21[1][0], t21[1][1], t03[1][0], t03[1][1]), ",", 1 - cw, " ", t03[1], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]);
} else {
path.push("L", t21[0], "A", rc0, ",", rc0, " 0 0,", cr, " ", t03[0]);
}
} else {
path.push("L", x2, ",", y2);
}
} else {
path.push("M", x0, ",", y0);
if (x1 != null) path.push("A", r1, ",", r1, " 0 ", l1, ",", cw, " ", x1, ",", y1);
path.push("L", x2, ",", y2);
if (x3 != null) path.push("A", r0, ",", r0, " 0 ", l0, ",", 1 - cw, " ", x3, ",", y3);
}
path.push("Z");
return path.join("");
}
function circleSegment(r1, cw) {
return "M0," + r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + -r1 + "A" + r1 + "," + r1 + " 0 1," + cw + " 0," + r1;
}
arc.innerRadius = function(v) {
if (!arguments.length) return innerRadius;
innerRadius = d3_functor(v);
return arc;
};
arc.outerRadius = function(v) {
if (!arguments.length) return outerRadius;
outerRadius = d3_functor(v);
return arc;
};
arc.cornerRadius = function(v) {
if (!arguments.length) return cornerRadius;
cornerRadius = d3_functor(v);
return arc;
};
arc.padRadius = function(v) {
if (!arguments.length) return padRadius;
padRadius = v == d3_svg_arcAuto ? d3_svg_arcAuto : d3_functor(v);
return arc;
};
arc.startAngle = function(v) {
if (!arguments.length) return startAngle;
startAngle = d3_functor(v);
return arc;
};
arc.endAngle = function(v) {
if (!arguments.length) return endAngle;
endAngle = d3_functor(v);
return arc;
};
arc.padAngle = function(v) {
if (!arguments.length) return padAngle;
padAngle = d3_functor(v);
return arc;
};
arc.centroid = function() {
var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - halfπ;
return [ Math.cos(a) * r, Math.sin(a) * r ];
};
return arc;
};
var d3_svg_arcAuto = "auto";
function d3_svg_arcInnerRadius(d) {
return d.innerRadius;
}
function d3_svg_arcOuterRadius(d) {
return d.outerRadius;
}
function d3_svg_arcStartAngle(d) {
return d.startAngle;
}
function d3_svg_arcEndAngle(d) {
return d.endAngle;
}
function d3_svg_arcPadAngle(d) {
return d && d.padAngle;
}
function d3_svg_arcSweep(x0, y0, x1, y1) {
return (x0 - x1) * y0 - (y0 - y1) * x0 > 0 ? 0 : 1;
}
function d3_svg_arcCornerTangents(p0, p1, r1, rc, cw) {
var x01 = p0[0] - p1[0], y01 = p0[1] - p1[1], lo = (cw ? rc : -rc) / Math.sqrt(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x1 = p0[0] + ox, y1 = p0[1] + oy, x2 = p1[0] + ox, y2 = p1[1] + oy, x3 = (x1 + x2) / 2, y3 = (y1 + y2) / 2, dx = x2 - x1, dy = y2 - y1, d2 = dx * dx + dy * dy, r = r1 - rc, D = x1 * y2 - x2 * y1, d = (dy < 0 ? -1 : 1) * Math.sqrt(r * r * d2 - D * D), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x3, dy0 = cy0 - y3, dx1 = cx1 - x3, dy1 = cy1 - y3;
if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;
return [ [ cx0 - ox, cy0 - oy ], [ cx0 * r1 / r, cy0 * r1 / r ] ];
}
function d3_svg_line(projection) {
var x = d3_geom_pointX, y = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, tension = .7;
function line(data) {
var segments = [], points = [], i = -1, n = data.length, d, fx = d3_functor(x), fy = d3_functor(y);
function segment() {
segments.push("M", interpolate(projection(points), tension));
}
while (++i < n) {
if (defined.call(this, d = data[i], i)) {
points.push([ +fx.call(this, d, i), +fy.call(this, d, i) ]);
} else if (points.length) {
segment();
points = [];
}
}
if (points.length) segment();
return segments.length ? segments.join("") : null;
}
line.x = function(_) {
if (!arguments.length) return x;
x = _;
return line;
};
line.y = function(_) {
if (!arguments.length) return y;
y = _;
return line;
};
line.defined = function(_) {
if (!arguments.length) return defined;
defined = _;
return line;
};
line.interpolate = function(_) {
if (!arguments.length) return interpolateKey;
if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;
return line;
};
line.tension = function(_) {
if (!arguments.length) return tension;
tension = _;
return line;
};
return line;
}
d3.svg.line = function() {
return d3_svg_line(d3_identity);
};
var d3_svg_lineInterpolators = d3.map({
linear: d3_svg_lineLinear,
"linear-closed": d3_svg_lineLinearClosed,
step: d3_svg_lineStep,
"step-before": d3_svg_lineStepBefore,
"step-after": d3_svg_lineStepAfter,
basis: d3_svg_lineBasis,
"basis-open": d3_svg_lineBasisOpen,
"basis-closed": d3_svg_lineBasisClosed,
bundle: d3_svg_lineBundle,
cardinal: d3_svg_lineCardinal,
"cardinal-open": d3_svg_lineCardinalOpen,
"cardinal-closed": d3_svg_lineCardinalClosed,
monotone: d3_svg_lineMonotone
});
d3_svg_lineInterpolators.forEach(function(key, value) {
value.key = key;
value.closed = /-closed$/.test(key);
});
function d3_svg_lineLinear(points) {
return points.join("L");
}
function d3_svg_lineLinearClosed(points) {
return d3_svg_lineLinear(points) + "Z";
}
function d3_svg_lineStep(points) {
var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ];
while (++i < n) path.push("H", (p[0] + (p = points[i])[0]) / 2, "V", p[1]);
if (n > 1) path.push("H", p[0]);
return path.join("");
}
function d3_svg_lineStepBefore(points) {
var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ];
while (++i < n) path.push("V", (p = points[i])[1], "H", p[0]);
return path.join("");
}
function d3_svg_lineStepAfter(points) {
var i = 0, n = points.length, p = points[0], path = [ p[0], ",", p[1] ];
while (++i < n) path.push("H", (p = points[i])[0], "V", p[1]);
return path.join("");
}
function d3_svg_lineCardinalOpen(points, tension) {
return points.length < 4 ? d3_svg_lineLinear(points) : points[1] + d3_svg_lineHermite(points.slice(1, -1), d3_svg_lineCardinalTangents(points, tension));
}
function d3_svg_lineCardinalClosed(points, tension) {
return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite((points.push(points[0]),
points), d3_svg_lineCardinalTangents([ points[points.length - 2] ].concat(points, [ points[1] ]), tension));
}
function d3_svg_lineCardinal(points, tension) {
return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineCardinalTangents(points, tension));
}
function d3_svg_lineHermite(points, tangents) {
if (tangents.length < 1 || points.length != tangents.length && points.length != tangents.length + 2) {
return d3_svg_lineLinear(points);
}
var quad = points.length != tangents.length, path = "", p0 = points[0], p = points[1], t0 = tangents[0], t = t0, pi = 1;
if (quad) {
path += "Q" + (p[0] - t0[0] * 2 / 3) + "," + (p[1] - t0[1] * 2 / 3) + "," + p[0] + "," + p[1];
p0 = points[1];
pi = 2;
}
if (tangents.length > 1) {
t = tangents[1];
p = points[pi];
pi++;
path += "C" + (p0[0] + t0[0]) + "," + (p0[1] + t0[1]) + "," + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1];
for (var i = 2; i < tangents.length; i++, pi++) {
p = points[pi];
t = tangents[i];
path += "S" + (p[0] - t[0]) + "," + (p[1] - t[1]) + "," + p[0] + "," + p[1];
}
}
if (quad) {
var lp = points[pi];
path += "Q" + (p[0] + t[0] * 2 / 3) + "," + (p[1] + t[1] * 2 / 3) + "," + lp[0] + "," + lp[1];
}
return path;
}
function d3_svg_lineCardinalTangents(points, tension) {
var tangents = [], a = (1 - tension) / 2, p0, p1 = points[0], p2 = points[1], i = 1, n = points.length;
while (++i < n) {
p0 = p1;
p1 = p2;
p2 = points[i];
tangents.push([ a * (p2[0] - p0[0]), a * (p2[1] - p0[1]) ]);
}
return tangents;
}
function d3_svg_lineBasis(points) {
if (points.length < 3) return d3_svg_lineLinear(points);
var i = 1, n = points.length, pi = points[0], x0 = pi[0], y0 = pi[1], px = [ x0, x0, x0, (pi = points[1])[0] ], py = [ y0, y0, y0, pi[1] ], path = [ x0, ",", y0, "L", d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];
points.push(points[n - 1]);
while (++i <= n) {
pi = points[i];
px.shift();
px.push(pi[0]);
py.shift();
py.push(pi[1]);
d3_svg_lineBasisBezier(path, px, py);
}
points.pop();
path.push("L", pi);
return path.join("");
}
function d3_svg_lineBasisOpen(points) {
if (points.length < 4) return d3_svg_lineLinear(points);
var path = [], i = -1, n = points.length, pi, px = [ 0 ], py = [ 0 ];
while (++i < 3) {
pi = points[i];
px.push(pi[0]);
py.push(pi[1]);
}
path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3, px) + "," + d3_svg_lineDot4(d3_svg_lineBasisBezier3, py));
--i;
while (++i < n) {
pi = points[i];
px.shift();
px.push(pi[0]);
py.shift();
py.push(pi[1]);
d3_svg_lineBasisBezier(path, px, py);
}
return path.join("");
}
function d3_svg_lineBasisClosed(points) {
var path, i = -1, n = points.length, m = n + 4, pi, px = [], py = [];
while (++i < 4) {
pi = points[i % n];
px.push(pi[0]);
py.push(pi[1]);
}
path = [ d3_svg_lineDot4(d3_svg_lineBasisBezier3, px), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, py) ];
--i;
while (++i < m) {
pi = points[i % n];
px.shift();
px.push(pi[0]);
py.shift();
py.push(pi[1]);
d3_svg_lineBasisBezier(path, px, py);
}
return path.join("");
}
function d3_svg_lineBundle(points, tension) {
var n = points.length - 1;
if (n) {
var x0 = points[0][0], y0 = points[0][1], dx = points[n][0] - x0, dy = points[n][1] - y0, i = -1, p, t;
while (++i <= n) {
p = points[i];
t = i / n;
p[0] = tension * p[0] + (1 - tension) * (x0 + t * dx);
p[1] = tension * p[1] + (1 - tension) * (y0 + t * dy);
}
}
return d3_svg_lineBasis(points);
}
function d3_svg_lineDot4(a, b) {
return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];
}
var d3_svg_lineBasisBezier1 = [ 0, 2 / 3, 1 / 3, 0 ], d3_svg_lineBasisBezier2 = [ 0, 1 / 3, 2 / 3, 0 ], d3_svg_lineBasisBezier3 = [ 0, 1 / 6, 2 / 3, 1 / 6 ];
function d3_svg_lineBasisBezier(path, x, y) {
path.push("C", d3_svg_lineDot4(d3_svg_lineBasisBezier1, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier1, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier2, y), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, x), ",", d3_svg_lineDot4(d3_svg_lineBasisBezier3, y));
}
function d3_svg_lineSlope(p0, p1) {
return (p1[1] - p0[1]) / (p1[0] - p0[0]);
}
function d3_svg_lineFiniteDifferences(points) {
var i = 0, j = points.length - 1, m = [], p0 = points[0], p1 = points[1], d = m[0] = d3_svg_lineSlope(p0, p1);
while (++i < j) {
m[i] = (d + (d = d3_svg_lineSlope(p0 = p1, p1 = points[i + 1]))) / 2;
}
m[i] = d;
return m;
}
function d3_svg_lineMonotoneTangents(points) {
var tangents = [], d, a, b, s, m = d3_svg_lineFiniteDifferences(points), i = -1, j = points.length - 1;
while (++i < j) {
d = d3_svg_lineSlope(points[i], points[i + 1]);
if (abs(d) < ε) {
m[i] = m[i + 1] = 0;
} else {
a = m[i] / d;
b = m[i + 1] / d;
s = a * a + b * b;
if (s > 9) {
s = d * 3 / Math.sqrt(s);
m[i] = s * a;
m[i + 1] = s * b;
}
}
}
i = -1;
while (++i <= j) {
s = (points[Math.min(j, i + 1)][0] - points[Math.max(0, i - 1)][0]) / (6 * (1 + m[i] * m[i]));
tangents.push([ s || 0, m[i] * s || 0 ]);
}
return tangents;
}
function d3_svg_lineMonotone(points) {
return points.length < 3 ? d3_svg_lineLinear(points) : points[0] + d3_svg_lineHermite(points, d3_svg_lineMonotoneTangents(points));
}
d3.svg.line.radial = function() {
var line = d3_svg_line(d3_svg_lineRadial);
line.radius = line.x, delete line.x;
line.angle = line.y, delete line.y;
return line;
};
function d3_svg_lineRadial(points) {
var point, i = -1, n = points.length, r, a;
while (++i < n) {
point = points[i];
r = point[0];
a = point[1] - halfπ;
point[0] = r * Math.cos(a);
point[1] = r * Math.sin(a);
}
return points;
}
function d3_svg_area(projection) {
var x0 = d3_geom_pointX, x1 = d3_geom_pointX, y0 = 0, y1 = d3_geom_pointY, defined = d3_true, interpolate = d3_svg_lineLinear, interpolateKey = interpolate.key, interpolateReverse = interpolate, L = "L", tension = .7;
function area(data) {
var segments = [], points0 = [], points1 = [], i = -1, n = data.length, d, fx0 = d3_functor(x0), fy0 = d3_functor(y0), fx1 = x0 === x1 ? function() {
return x;
} : d3_functor(x1), fy1 = y0 === y1 ? function() {
return y;
} : d3_functor(y1), x, y;
function segment() {
segments.push("M", interpolate(projection(points1), tension), L, interpolateReverse(projection(points0.reverse()), tension), "Z");
}
while (++i < n) {
if (defined.call(this, d = data[i], i)) {
points0.push([ x = +fx0.call(this, d, i), y = +fy0.call(this, d, i) ]);
points1.push([ +fx1.call(this, d, i), +fy1.call(this, d, i) ]);
} else if (points0.length) {
segment();
points0 = [];
points1 = [];
}
}
if (points0.length) segment();
return segments.length ? segments.join("") : null;
}
area.x = function(_) {
if (!arguments.length) return x1;
x0 = x1 = _;
return area;
};
area.x0 = function(_) {
if (!arguments.length) return x0;
x0 = _;
return area;
};
area.x1 = function(_) {
if (!arguments.length) return x1;
x1 = _;
return area;
};
area.y = function(_) {
if (!arguments.length) return y1;
y0 = y1 = _;
return area;
};
area.y0 = function(_) {
if (!arguments.length) return y0;
y0 = _;
return area;
};
area.y1 = function(_) {
if (!arguments.length) return y1;
y1 = _;
return area;
};
area.defined = function(_) {
if (!arguments.length) return defined;
defined = _;
return area;
};
area.interpolate = function(_) {
if (!arguments.length) return interpolateKey;
if (typeof _ === "function") interpolateKey = interpolate = _; else interpolateKey = (interpolate = d3_svg_lineInterpolators.get(_) || d3_svg_lineLinear).key;
interpolateReverse = interpolate.reverse || interpolate;
L = interpolate.closed ? "M" : "L";
return area;
};
area.tension = function(_) {
if (!arguments.length) return tension;
tension = _;
return area;
};
return area;
}
d3_svg_lineStepBefore.reverse = d3_svg_lineStepAfter;
d3_svg_lineStepAfter.reverse = d3_svg_lineStepBefore;
d3.svg.area = function() {
return d3_svg_area(d3_identity);
};
d3.svg.area.radial = function() {
var area = d3_svg_area(d3_svg_lineRadial);
area.radius = area.x, delete area.x;
area.innerRadius = area.x0, delete area.x0;
area.outerRadius = area.x1, delete area.x1;
area.angle = area.y, delete area.y;
area.startAngle = area.y0, delete area.y0;
area.endAngle = area.y1, delete area.y1;
return area;
};
d3.svg.chord = function() {
var source = d3_source, target = d3_target, radius = d3_svg_chordRadius, startAngle = d3_svg_arcStartAngle, endAngle = d3_svg_arcEndAngle;
function chord(d, i) {
var s = subgroup(this, source, d, i), t = subgroup(this, target, d, i);
return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z";
}
function subgroup(self, f, d, i) {
var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) - halfπ, a1 = endAngle.call(self, subgroup, i) - halfπ;
return {
r: r,
a0: a0,
a1: a1,
p0: [ r * Math.cos(a0), r * Math.sin(a0) ],
p1: [ r * Math.cos(a1), r * Math.sin(a1) ]
};
}
function equals(a, b) {
return a.a0 == b.a0 && a.a1 == b.a1;
}
function arc(r, p, a) {
return "A" + r + "," + r + " 0 " + +(a > π) + ",1 " + p;
}
function curve(r0, p0, r1, p1) {
return "Q 0,0 " + p1;
}
chord.radius = function(v) {
if (!arguments.length) return radius;
radius = d3_functor(v);
return chord;
};
chord.source = function(v) {
if (!arguments.length) return source;
source = d3_functor(v);
return chord;
};
chord.target = function(v) {
if (!arguments.length) return target;
target = d3_functor(v);
return chord;
};
chord.startAngle = function(v) {
if (!arguments.length) return startAngle;
startAngle = d3_functor(v);
return chord;
};
chord.endAngle = function(v) {
if (!arguments.length) return endAngle;
endAngle = d3_functor(v);
return chord;
};
return chord;
};
function d3_svg_chordRadius(d) {
return d.radius;
}
d3.svg.diagonal = function() {
var source = d3_source, target = d3_target, projection = d3_svg_diagonalProjection;
function diagonal(d, i) {
var p0 = source.call(this, d, i), p3 = target.call(this, d, i), m = (p0.y + p3.y) / 2, p = [ p0, {
x: p0.x,
y: m
}, {
x: p3.x,
y: m
}, p3 ];
p = p.map(projection);
return "M" + p[0] + "C" + p[1] + " " + p[2] + " " + p[3];
}
diagonal.source = function(x) {
if (!arguments.length) return source;
source = d3_functor(x);
return diagonal;
};
diagonal.target = function(x) {
if (!arguments.length) return target;
target = d3_functor(x);
return diagonal;
};
diagonal.projection = function(x) {
if (!arguments.length) return projection;
projection = x;
return diagonal;
};
return diagonal;
};
function d3_svg_diagonalProjection(d) {
return [ d.x, d.y ];
}
d3.svg.diagonal.radial = function() {
var diagonal = d3.svg.diagonal(), projection = d3_svg_diagonalProjection, projection_ = diagonal.projection;
diagonal.projection = function(x) {
return arguments.length ? projection_(d3_svg_diagonalRadialProjection(projection = x)) : projection;
};
return diagonal;
};
function d3_svg_diagonalRadialProjection(projection) {
return function() {
var d = projection.apply(this, arguments), r = d[0], a = d[1] - halfπ;
return [ r * Math.cos(a), r * Math.sin(a) ];
};
}
d3.svg.symbol = function() {
var type = d3_svg_symbolType, size = d3_svg_symbolSize;
function symbol(d, i) {
return (d3_svg_symbols.get(type.call(this, d, i)) || d3_svg_symbolCircle)(size.call(this, d, i));
}
symbol.type = function(x) {
if (!arguments.length) return type;
type = d3_functor(x);
return symbol;
};
symbol.size = function(x) {
if (!arguments.length) return size;
size = d3_functor(x);
return symbol;
};
return symbol;
};
function d3_svg_symbolSize() {
return 64;
}
function d3_svg_symbolType() {
return "circle";
}
function d3_svg_symbolCircle(size) {
var r = Math.sqrt(size / π);
return "M0," + r + "A" + r + "," + r + " 0 1,1 0," + -r + "A" + r + "," + r + " 0 1,1 0," + r + "Z";
}
var d3_svg_symbols = d3.map({
circle: d3_svg_symbolCircle,
cross: function(size) {
var r = Math.sqrt(size / 5) / 2;
return "M" + -3 * r + "," + -r + "H" + -r + "V" + -3 * r + "H" + r + "V" + -r + "H" + 3 * r + "V" + r + "H" + r + "V" + 3 * r + "H" + -r + "V" + r + "H" + -3 * r + "Z";
},
diamond: function(size) {
var ry = Math.sqrt(size / (2 * d3_svg_symbolTan30)), rx = ry * d3_svg_symbolTan30;
return "M0," + -ry + "L" + rx + ",0" + " 0," + ry + " " + -rx + ",0" + "Z";
},
square: function(size) {
var r = Math.sqrt(size) / 2;
return "M" + -r + "," + -r + "L" + r + "," + -r + " " + r + "," + r + " " + -r + "," + r + "Z";
},
"triangle-down": function(size) {
var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;
return "M0," + ry + "L" + rx + "," + -ry + " " + -rx + "," + -ry + "Z";
},
"triangle-up": function(size) {
var rx = Math.sqrt(size / d3_svg_symbolSqrt3), ry = rx * d3_svg_symbolSqrt3 / 2;
return "M0," + -ry + "L" + rx + "," + ry + " " + -rx + "," + ry + "Z";
}
});
d3.svg.symbolTypes = d3_svg_symbols.keys();
var d3_svg_symbolSqrt3 = Math.sqrt(3), d3_svg_symbolTan30 = Math.tan(30 * d3_radians);
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
};
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);
}
}
return d3_transition(subgroups, ns, id);
};
d3_selectionPrototype.interrupt = function(name) {
return this.each(name == null ? d3_selection_interrupt : d3_selection_interruptNS(d3_transitionNamespace(name)));
};
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];
lock.active += .5;
} else {
delete this[ns];
}
active.event && active.event.interrupt.call(this, this.__data__, active.index);
}
};
}
function d3_transition(groups, ns, id) {
d3_subclass(groups, d3_transitionPrototype);
groups.namespace = ns;
groups.id = id;
return groups;
}
var d3_transitionPrototype = [], d3_transitionId = 0, d3_transitionInheritId, 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, name) {
return selection && selection.transition ? d3_transitionInheritId ? selection.transition(name) : selection : d3_selectionRoot.transition(selection);
};
d3.transition.prototype = d3_transitionPrototype;
d3_transitionPrototype.select = function(selector) {
var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnode, node;
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, j))) {
if ("__data__" in node) subnode.__data__ = node.__data__;
d3_transitionNode(subnode, i, ns, id, node[ns][id]);
subgroup.push(subnode);
} else {
subgroup.push(null);
}
}
}
return d3_transition(subgroups, ns, id);
};
d3_transitionPrototype.selectAll = function(selector) {
var id = this.id, ns = this.namespace, subgroups = [], subgroup, subnodes, node, subnode, transition;
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[ns][id];
subnodes = selector.call(node, node.__data__, i, j);
subgroups.push(subgroup = []);
for (var k = -1, o = subnodes.length; ++k < o; ) {
if (subnode = subnodes[k]) d3_transitionNode(subnode, k, ns, id, transition);
subgroup.push(subnode);
}
}
}
}
return d3_transition(subgroups, ns, id);
};
d3_transitionPrototype.filter = function(filter) {
var subgroups = [], subgroup, group, node;
if (typeof filter !== "function") filter = d3_selection_filter(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, j)) {
subgroup.push(node);
}
}
}
return d3_transition(subgroups, this.namespace, this.id);
};
d3_transitionPrototype.tween = function(name, tween) {
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[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, ns = groups.namespace;
return d3_selection_each(groups, typeof value === "function" ? 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) {
if (arguments.length < 2) {
for (value in nameNS) this.attr(value, nameNS[value]);
return this;
}
var interpolate = nameNS == "transform" ? d3_interpolateTransform : d3_interpolate, name = d3.ns.qualify(nameNS);
function attrNull() {
this.removeAttribute(name);
}
function attrNullNS() {
this.removeAttributeNS(name.space, name.local);
}
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 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 d3_transition_tween(this, "attr." + nameNS, value, name.local ? attrTweenNS : attrTween);
};
d3_transitionPrototype.attrTween = function(nameNS, tween) {
var name = d3.ns.qualify(nameNS);
function attrTween(d, i) {
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));
};
}
return this.tween("attr." + nameNS, name.local ? attrTweenNS : attrTween);
};
d3_transitionPrototype.style = function(name, value, priority) {
var n = arguments.length;
if (n < 3) {
if (typeof name !== "string") {
if (n < 2) value = "";
for (priority in name) this.style(priority, name[priority], value);
return this;
}
priority = "";
}
function styleNull() {
this.style.removeProperty(name);
}
function styleString(b) {
return b == null ? styleNull : (b += "", function() {
var a = d3_window.getComputedStyle(this, null).getPropertyValue(name), i;
return a !== b && (i = d3_interpolate(a, b), function(t) {
this.style.setProperty(name, i(t), priority);
});
});
}
return d3_transition_tween(this, "style." + name, value, styleString);
};
d3_transitionPrototype.styleTween = function(name, tween, priority) {
if (arguments.length < 3) priority = "";
function styleTween(d, i) {
var f = tween.call(this, d, i, d3_window.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) {
return d3_transition_tween(this, "text", value, d3_transition_text);
};
function d3_transition_text(b) {
if (b == null) b = "";
return function() {
this.textContent = b;
};
}
d3_transitionPrototype.remove = function() {
var ns = this.namespace;
return this.each("end.transition", function() {
var p;
if (this[ns].count < 2 && (p = this.parentNode)) p.removeChild(this);
});
};
d3_transitionPrototype.ease = function(value) {
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[ns][id].ease = value;
});
};
d3_transitionPrototype.delay = function(value) {
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[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, 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[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, ns = this.namespace;
if (arguments.length < 2) {
var inherit = d3_transitionInherit, inheritId = d3_transitionInheritId;
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) {
var transition = node[ns][id];
(transition.event || (transition.event = d3.dispatch("start", "end", "interrupt"))).on(type, listener);
});
}
return this;
};
d3_transitionPrototype.transition = function() {
var id0 = this.id, id1 = ++d3_transitionId, ns = this.namespace, subgroups = [], subgroup, group, node, transition;
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]) {
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, ns, id1);
};
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) {
var time = inherit.time;
transition = lock[id] = {
tween: new d3_Map(),
time: time,
delay: inherit.delay,
duration: inherit.duration,
ease: inherit.ease,
index: i
};
inherit = null;
++lock.count;
d3.timer(function(elapsed) {
var delay = transition.delay, duration, ease, timer = d3_timer_active, tweened = [];
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;
transition.event && transition.event.start.call(node, node.__data__, i);
transition.tween.forEach(function(key, value) {
if (value = value.call(node, node.__data__, i)) {
tweened.push(value);
}
});
ease = transition.ease;
duration = transition.duration;
d3.timer(function() {
timer.c = tick(elapsed || 1) ? d3_true : tick;
return 1;
}, 0, time);
}
function tick(elapsed) {
if (lock.active !== id) return 1;
var t = elapsed / duration, e = ease(t), n = tweened.length;
while (n > 0) {
tweened[--n].call(node, e);
}
if (t >= 1) {
transition.event && transition.event.end.call(node, node.__data__, i);
return stop();
}
}
function stop() {
if (--lock.count) delete lock[id]; else delete node[ns];
return 1;
}
}, 0, time);
}
}
d3.svg.axis = function() {
var scale = d3.scale.linear(), orient = d3_svg_axisDefaultOrient, innerTickSize = 6, outerTickSize = 6, tickPadding = 3, tickArguments_ = [ 10 ], tickValues = null, tickFormat_;
function axis(g) {
g.each(function() {
var g = d3.select(this);
var scale0 = this.__chart__ || scale, scale1 = this.__chart__ = scale.copy();
var ticks = tickValues == null ? scale1.ticks ? scale1.ticks.apply(scale1, tickArguments_) : scale1.domain() : tickValues, tickFormat = tickFormat_ == null ? scale1.tickFormat ? scale1.tickFormat.apply(scale1, tickArguments_) : d3_identity : tickFormat_, tick = g.selectAll(".tick").data(ticks, scale1), tickEnter = tick.enter().insert("g", ".domain").attr("class", "tick").style("opacity", ε), tickExit = d3.transition(tick.exit()).style("opacity", ε).remove(), tickUpdate = d3.transition(tick.order()).style("opacity", 1), tickSpacing = Math.max(innerTickSize, 0) + tickPadding, tickTransform;
var range = d3_scaleRange(scale1), path = g.selectAll(".domain").data([ 0 ]), pathUpdate = (path.enter().append("path").attr("class", "domain"),
d3.transition(path));
tickEnter.append("line");
tickEnter.append("text");
var lineEnter = tickEnter.select("line"), lineUpdate = tickUpdate.select("line"), text = tick.select("text").text(tickFormat), textEnter = tickEnter.select("text"), textUpdate = tickUpdate.select("text"), sign = orient === "top" || orient === "left" ? -1 : 1, x1, x2, y1, y2;
if (orient === "bottom" || orient === "top") {
tickTransform = d3_svg_axisX, x1 = "x", y1 = "y", x2 = "x2", y2 = "y2";
text.attr("dy", sign < 0 ? "0em" : ".71em").style("text-anchor", "middle");
pathUpdate.attr("d", "M" + range[0] + "," + sign * outerTickSize + "V0H" + range[1] + "V" + sign * outerTickSize);
} else {
tickTransform = d3_svg_axisY, x1 = "y", y1 = "x", x2 = "y2", y2 = "x2";
text.attr("dy", ".32em").style("text-anchor", sign < 0 ? "end" : "start");
pathUpdate.attr("d", "M" + sign * outerTickSize + "," + range[0] + "H0V" + range[1] + "H" + sign * outerTickSize);
}
lineEnter.attr(y2, sign * innerTickSize);
textEnter.attr(y1, sign * tickSpacing);
lineUpdate.attr(x2, 0).attr(y2, sign * innerTickSize);
textUpdate.attr(x1, 0).attr(y1, sign * tickSpacing);
if (scale1.rangeBand) {
var x = scale1, dx = x.rangeBand() / 2;
scale0 = scale1 = function(d) {
return x(d) + dx;
};
} else if (scale0.rangeBand) {
scale0 = scale1;
} else {
tickExit.call(tickTransform, scale1, scale0);
}
tickEnter.call(tickTransform, scale0, scale1);
tickUpdate.call(tickTransform, scale1, scale1);
});
}
axis.scale = function(x) {
if (!arguments.length) return scale;
scale = x;
return axis;
};
axis.orient = function(x) {
if (!arguments.length) return orient;
orient = x in d3_svg_axisOrients ? x + "" : d3_svg_axisDefaultOrient;
return axis;
};
axis.ticks = function() {
if (!arguments.length) return tickArguments_;
tickArguments_ = arguments;
return axis;
};
axis.tickValues = function(x) {
if (!arguments.length) return tickValues;
tickValues = x;
return axis;
};
axis.tickFormat = function(x) {
if (!arguments.length) return tickFormat_;
tickFormat_ = x;
return axis;
};
axis.tickSize = function(x) {
var n = arguments.length;
if (!n) return innerTickSize;
innerTickSize = +x;
outerTickSize = +arguments[n - 1];
return axis;
};
axis.innerTickSize = function(x) {
if (!arguments.length) return innerTickSize;
innerTickSize = +x;
return axis;
};
axis.outerTickSize = function(x) {
if (!arguments.length) return outerTickSize;
outerTickSize = +x;
return axis;
};
axis.tickPadding = function(x) {
if (!arguments.length) return tickPadding;
tickPadding = +x;
return axis;
};
axis.tickSubdivide = function() {
return arguments.length && axis;
};
return axis;
};
var d3_svg_axisDefaultOrient = "bottom", d3_svg_axisOrients = {
top: 1,
right: 1,
bottom: 1,
left: 1
};
function d3_svg_axisX(selection, x0, x1) {
selection.attr("transform", function(d) {
var v0 = x0(d);
return "translate(" + (isFinite(v0) ? v0 : x1(d)) + ",0)";
});
}
function d3_svg_axisY(selection, y0, y1) {
selection.attr("transform", function(d) {
var v0 = y0(d);
return "translate(0," + (isFinite(v0) ? v0 : y1(d)) + ")";
});
}
d3.svg.brush = function() {
var event = d3_eventDispatch(brush, "brushstart", "brush", "brushend"), x = null, y = null, xExtent = [ 0, 0 ], yExtent = [ 0, 0 ], xExtentDomain, yExtentDomain, xClamp = true, yClamp = true, resizes = d3_svg_brushResizes[0];
function brush(g) {
g.each(function() {
var g = d3.select(this).style("pointer-events", "all").style("-webkit-tap-highlight-color", "rgba(0,0,0,0)").on("mousedown.brush", brushstart).on("touchstart.brush", brushstart);
var background = g.selectAll(".background").data([ 0 ]);
background.enter().append("rect").attr("class", "background").style("visibility", "hidden").style("cursor", "crosshair");
g.selectAll(".extent").data([ 0 ]).enter().append("rect").attr("class", "extent").style("cursor", "move");
var resize = g.selectAll(".resize").data(resizes, d3_identity);
resize.exit().remove();
resize.enter().append("g").attr("class", function(d) {
return "resize " + d;
}).style("cursor", function(d) {
return d3_svg_brushCursor[d];
}).append("rect").attr("x", function(d) {
return /[ew]$/.test(d) ? -3 : null;
}).attr("y", function(d) {
return /^[ns]/.test(d) ? -3 : null;
}).attr("width", 6).attr("height", 6).style("visibility", "hidden");
resize.style("display", brush.empty() ? "none" : null);
var gUpdate = d3.transition(g), backgroundUpdate = d3.transition(background), range;
if (x) {
range = d3_scaleRange(x);
backgroundUpdate.attr("x", range[0]).attr("width", range[1] - range[0]);
redrawX(gUpdate);
}
if (y) {
range = d3_scaleRange(y);
backgroundUpdate.attr("y", range[0]).attr("height", range[1] - range[0]);
redrawY(gUpdate);
}
redraw(gUpdate);
});
}
brush.event = function(g) {
g.each(function() {
var event_ = event.of(this, arguments), extent1 = {
x: xExtent,
y: yExtent,
i: xExtentDomain,
j: yExtentDomain
}, extent0 = this.__chart__ || extent1;
this.__chart__ = extent1;
if (d3_transitionInheritId) {
d3.select(this).transition().each("start.brush", function() {
xExtentDomain = extent0.i;
yExtentDomain = extent0.j;
xExtent = extent0.x;
yExtent = extent0.y;
event_({
type: "brushstart"
});
}).tween("brush:brush", function() {
var xi = d3_interpolateArray(xExtent, extent1.x), yi = d3_interpolateArray(yExtent, extent1.y);
xExtentDomain = yExtentDomain = null;
return function(t) {
xExtent = extent1.x = xi(t);
yExtent = extent1.y = yi(t);
event_({
type: "brush",
mode: "resize"
});
};
}).each("end.brush", function() {
xExtentDomain = extent1.i;
yExtentDomain = extent1.j;
event_({
type: "brush",
mode: "resize"
});
event_({
type: "brushend"
});
});
} else {
event_({
type: "brushstart"
});
event_({
type: "brush",
mode: "resize"
});
event_({
type: "brushend"
});
}
});
};
function redraw(g) {
g.selectAll(".resize").attr("transform", function(d) {
return "translate(" + xExtent[+/e$/.test(d)] + "," + yExtent[+/^s/.test(d)] + ")";
});
}
function redrawX(g) {
g.select(".extent").attr("x", xExtent[0]);
g.selectAll(".extent,.n>rect,.s>rect").attr("width", xExtent[1] - xExtent[0]);
}
function redrawY(g) {
g.select(".extent").attr("y", yExtent[0]);
g.selectAll(".extent,.e>rect,.w>rect").attr("height", yExtent[1] - yExtent[0]);
}
function brushstart() {
var target = this, eventTarget = d3.select(d3.event.target), event_ = event.of(target, arguments), g = d3.select(target), resizing = eventTarget.datum(), resizingX = !/^(n|s)$/.test(resizing) && x, resizingY = !/^(e|w)$/.test(resizing) && y, dragging = eventTarget.classed("extent"), dragRestore = d3_event_dragSuppress(), center, origin = d3.mouse(target), offset;
var w = d3.select(d3_window).on("keydown.brush", keydown).on("keyup.brush", keyup);
if (d3.event.changedTouches) {
w.on("touchmove.brush", brushmove).on("touchend.brush", brushend);
} else {
w.on("mousemove.brush", brushmove).on("mouseup.brush", brushend);
}
g.interrupt().selectAll("*").interrupt();
if (dragging) {
origin[0] = xExtent[0] - origin[0];
origin[1] = yExtent[0] - origin[1];
} else if (resizing) {
var ex = +/w$/.test(resizing), ey = +/^n/.test(resizing);
offset = [ xExtent[1 - ex] - origin[0], yExtent[1 - ey] - origin[1] ];
origin[0] = xExtent[ex];
origin[1] = yExtent[ey];
} else if (d3.event.altKey) center = origin.slice();
g.style("pointer-events", "none").selectAll(".resize").style("display", null);
d3.select("body").style("cursor", eventTarget.style("cursor"));
event_({
type: "brushstart"
});
brushmove();
function keydown() {
if (d3.event.keyCode == 32) {
if (!dragging) {
center = null;
origin[0] -= xExtent[1];
origin[1] -= yExtent[1];
dragging = 2;
}
d3_eventPreventDefault();
}
}
function keyup() {
if (d3.event.keyCode == 32 && dragging == 2) {
origin[0] += xExtent[1];
origin[1] += yExtent[1];
dragging = 0;
d3_eventPreventDefault();
}
}
function brushmove() {
var point = d3.mouse(target), moved = false;
if (offset) {
point[0] += offset[0];
point[1] += offset[1];
}
if (!dragging) {
if (d3.event.altKey) {
if (!center) center = [ (xExtent[0] + xExtent[1]) / 2, (yExtent[0] + yExtent[1]) / 2 ];
origin[0] = xExtent[+(point[0] < center[0])];
origin[1] = yExtent[+(point[1] < center[1])];
} else center = null;
}
if (resizingX && move1(point, x, 0)) {
redrawX(g);
moved = true;
}
if (resizingY && move1(point, y, 1)) {
redrawY(g);
moved = true;
}
if (moved) {
redraw(g);
event_({
type: "brush",
mode: dragging ? "move" : "resize"
});
}
}
function move1(point, scale, i) {
var range = d3_scaleRange(scale), r0 = range[0], r1 = range[1], position = origin[i], extent = i ? yExtent : xExtent, size = extent[1] - extent[0], min, max;
if (dragging) {
r0 -= position;
r1 -= size + position;
}
min = (i ? yClamp : xClamp) ? Math.max(r0, Math.min(r1, point[i])) : point[i];
if (dragging) {
max = (min += position) + size;
} else {
if (center) position = Math.max(r0, Math.min(r1, 2 * center[i] - min));
if (position < min) {
max = min;
min = position;
} else {
max = position;
}
}
if (extent[0] != min || extent[1] != max) {
if (i) yExtentDomain = null; else xExtentDomain = null;
extent[0] = min;
extent[1] = max;
return true;
}
}
function brushend() {
brushmove();
g.style("pointer-events", "all").selectAll(".resize").style("display", brush.empty() ? "none" : null);
d3.select("body").style("cursor", null);
w.on("mousemove.brush", null).on("mouseup.brush", null).on("touchmove.brush", null).on("touchend.brush", null).on("keydown.brush", null).on("keyup.brush", null);
dragRestore();
event_({
type: "brushend"
});
}
}
brush.x = function(z) {
if (!arguments.length) return x;
x = z;
resizes = d3_svg_brushResizes[!x << 1 | !y];
return brush;
};
brush.y = function(z) {
if (!arguments.length) return y;
y = z;
resizes = d3_svg_brushResizes[!x << 1 | !y];
return brush;
};
brush.clamp = function(z) {
if (!arguments.length) return x && y ? [ xClamp, yClamp ] : x ? xClamp : y ? yClamp : null;
if (x && y) xClamp = !!z[0], yClamp = !!z[1]; else if (x) xClamp = !!z; else if (y) yClamp = !!z;
return brush;
};
brush.extent = function(z) {
var x0, x1, y0, y1, t;
if (!arguments.length) {
if (x) {
if (xExtentDomain) {
x0 = xExtentDomain[0], x1 = xExtentDomain[1];
} else {
x0 = xExtent[0], x1 = xExtent[1];
if (x.invert) x0 = x.invert(x0), x1 = x.invert(x1);
if (x1 < x0) t = x0, x0 = x1, x1 = t;
}
}
if (y) {
if (yExtentDomain) {
y0 = yExtentDomain[0], y1 = yExtentDomain[1];
} else {
y0 = yExtent[0], y1 = yExtent[1];
if (y.invert) y0 = y.invert(y0), y1 = y.invert(y1);
if (y1 < y0) t = y0, y0 = y1, y1 = t;
}
}
return x && y ? [ [ x0, y0 ], [ x1, y1 ] ] : x ? [ x0, x1 ] : y && [ y0, y1 ];
}
if (x) {
x0 = z[0], x1 = z[1];
if (y) x0 = x0[0], x1 = x1[0];
xExtentDomain = [ x0, x1 ];
if (x.invert) x0 = x(x0), x1 = x(x1);
if (x1 < x0) t = x0, x0 = x1, x1 = t;
if (x0 != xExtent[0] || x1 != xExtent[1]) xExtent = [ x0, x1 ];
}
if (y) {
y0 = z[0], y1 = z[1];
if (x) y0 = y0[1], y1 = y1[1];
yExtentDomain = [ y0, y1 ];
if (y.invert) y0 = y(y0), y1 = y(y1);
if (y1 < y0) t = y0, y0 = y1, y1 = t;
if (y0 != yExtent[0] || y1 != yExtent[1]) yExtent = [ y0, y1 ];
}
return brush;
};
brush.clear = function() {
if (!brush.empty()) {
xExtent = [ 0, 0 ], yExtent = [ 0, 0 ];
xExtentDomain = yExtentDomain = null;
}
return brush;
};
brush.empty = function() {
return !!x && xExtent[0] == xExtent[1] || !!y && yExtent[0] == yExtent[1];
};
return d3.rebind(brush, event, "on");
};
var d3_svg_brushCursor = {
n: "ns-resize",
e: "ew-resize",
s: "ns-resize",
w: "ew-resize",
nw: "nwse-resize",
ne: "nesw-resize",
se: "nwse-resize",
sw: "nesw-resize"
};
var d3_svg_brushResizes = [ [ "n", "e", "s", "w", "nw", "ne", "se", "sw" ], [ "e", "w" ], [ "n", "s" ], [] ];
var d3_time_format = d3_time.format = d3_locale_enUS.timeFormat;
var d3_time_formatUtc = d3_time_format.utc;
var d3_time_formatIso = d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ");
d3_time_format.iso = Date.prototype.toISOString && +new Date("2000-01-01T00:00:00.000Z") ? d3_time_formatIsoNative : d3_time_formatIso;
function d3_time_formatIsoNative(date) {
return date.toISOString();
}
d3_time_formatIsoNative.parse = function(string) {
var date = new Date(string);
return isNaN(date) ? null : date;
};
d3_time_formatIsoNative.toString = d3_time_formatIso.toString;
d3_time.second = d3_time_interval(function(date) {
return new d3_date(Math.floor(date / 1e3) * 1e3);
}, function(date, offset) {
date.setTime(date.getTime() + Math.floor(offset) * 1e3);
}, function(date) {
return date.getSeconds();
});
d3_time.seconds = d3_time.second.range;
d3_time.seconds.utc = d3_time.second.utc.range;
d3_time.minute = d3_time_interval(function(date) {
return new d3_date(Math.floor(date / 6e4) * 6e4);
}, function(date, offset) {
date.setTime(date.getTime() + Math.floor(offset) * 6e4);
}, function(date) {
return date.getMinutes();
});
d3_time.minutes = d3_time.minute.range;
d3_time.minutes.utc = d3_time.minute.utc.range;
d3_time.hour = d3_time_interval(function(date) {
var timezone = date.getTimezoneOffset() / 60;
return new d3_date((Math.floor(date / 36e5 - timezone) + timezone) * 36e5);
}, function(date, offset) {
date.setTime(date.getTime() + Math.floor(offset) * 36e5);
}, function(date) {
return date.getHours();
});
d3_time.hours = d3_time.hour.range;
d3_time.hours.utc = d3_time.hour.utc.range;
d3_time.month = d3_time_interval(function(date) {
date = d3_time.day(date);
date.setDate(1);
return date;
}, function(date, offset) {
date.setMonth(date.getMonth() + offset);
}, function(date) {
return date.getMonth();
});
d3_time.months = d3_time.month.range;
d3_time.months.utc = d3_time.month.utc.range;
function d3_time_scale(linear, methods, format) {
function scale(x) {
return linear(x);
}
scale.invert = function(x) {
return d3_time_scaleDate(linear.invert(x));
};
scale.domain = function(x) {
if (!arguments.length) return linear.domain().map(d3_time_scaleDate);
linear.domain(x);
return scale;
};
function tickMethod(extent, count) {
var span = extent[1] - extent[0], target = span / count, i = d3.bisect(d3_time_scaleSteps, target);
return i == d3_time_scaleSteps.length ? [ methods.year, d3_scale_linearTickRange(extent.map(function(d) {
return d / 31536e6;
}), count)[2] ] : !i ? [ d3_time_scaleMilliseconds, d3_scale_linearTickRange(extent, count)[2] ] : methods[target / d3_time_scaleSteps[i - 1] < d3_time_scaleSteps[i] / target ? i - 1 : i];
}
scale.nice = function(interval, skip) {
var domain = scale.domain(), extent = d3_scaleExtent(domain), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" && tickMethod(extent, interval);
if (method) interval = method[0], skip = method[1];
function skipped(date) {
return !isNaN(date) && !interval.range(date, d3_time_scaleDate(+date + 1), skip).length;
}
return scale.domain(d3_scale_nice(domain, skip > 1 ? {
floor: function(date) {
while (skipped(date = interval.floor(date))) date = d3_time_scaleDate(date - 1);
return date;
},
ceil: function(date) {
while (skipped(date = interval.ceil(date))) date = d3_time_scaleDate(+date + 1);
return date;
}
} : interval));
};
scale.ticks = function(interval, skip) {
var extent = d3_scaleExtent(scale.domain()), method = interval == null ? tickMethod(extent, 10) : typeof interval === "number" ? tickMethod(extent, interval) : !interval.range && [ {
range: interval
}, skip ];
if (method) interval = method[0], skip = method[1];
return interval.range(extent[0], d3_time_scaleDate(+extent[1] + 1), skip < 1 ? 1 : skip);
};
scale.tickFormat = function() {
return format;
};
scale.copy = function() {
return d3_time_scale(linear.copy(), methods, format);
};
return d3_scale_linearRebind(scale, linear);
}
function d3_time_scaleDate(t) {
return new Date(t);
}
var d3_time_scaleSteps = [ 1e3, 5e3, 15e3, 3e4, 6e4, 3e5, 9e5, 18e5, 36e5, 108e5, 216e5, 432e5, 864e5, 1728e5, 6048e5, 2592e6, 7776e6, 31536e6 ];
var d3_time_scaleLocalMethods = [ [ d3_time.second, 1 ], [ d3_time.second, 5 ], [ d3_time.second, 15 ], [ d3_time.second, 30 ], [ d3_time.minute, 1 ], [ d3_time.minute, 5 ], [ d3_time.minute, 15 ], [ d3_time.minute, 30 ], [ d3_time.hour, 1 ], [ d3_time.hour, 3 ], [ d3_time.hour, 6 ], [ d3_time.hour, 12 ], [ d3_time.day, 1 ], [ d3_time.day, 2 ], [ d3_time.week, 1 ], [ d3_time.month, 1 ], [ d3_time.month, 3 ], [ d3_time.year, 1 ] ];
var d3_time_scaleLocalFormat = d3_time_format.multi([ [ ".%L", function(d) {
return d.getMilliseconds();
} ], [ ":%S", function(d) {
return d.getSeconds();
} ], [ "%I:%M", function(d) {
return d.getMinutes();
} ], [ "%I %p", function(d) {
return d.getHours();
} ], [ "%a %d", function(d) {
return d.getDay() && d.getDate() != 1;
} ], [ "%b %d", function(d) {
return d.getDate() != 1;
} ], [ "%B", function(d) {
return d.getMonth();
} ], [ "%Y", d3_true ] ]);
var d3_time_scaleMilliseconds = {
range: function(start, stop, step) {
return d3.range(Math.ceil(start / step) * step, +stop, step).map(d3_time_scaleDate);
},
floor: d3_identity,
ceil: d3_identity
};
d3_time_scaleLocalMethods.year = d3_time.year;
d3_time.scale = function() {
return d3_time_scale(d3.scale.linear(), d3_time_scaleLocalMethods, d3_time_scaleLocalFormat);
};
var d3_time_scaleUtcMethods = d3_time_scaleLocalMethods.map(function(m) {
return [ m[0].utc, m[1] ];
});
var d3_time_scaleUtcFormat = d3_time_formatUtc.multi([ [ ".%L", function(d) {
return d.getUTCMilliseconds();
} ], [ ":%S", function(d) {
return d.getUTCSeconds();
} ], [ "%I:%M", function(d) {
return d.getUTCMinutes();
} ], [ "%I %p", function(d) {
return d.getUTCHours();
} ], [ "%a %d", function(d) {
return d.getUTCDay() && d.getUTCDate() != 1;
} ], [ "%b %d", function(d) {
return d.getUTCDate() != 1;
} ], [ "%B", function(d) {
return d.getUTCMonth();
} ], [ "%Y", d3_true ] ]);
d3_time_scaleUtcMethods.year = d3_time.year.utc;
d3_time.scale.utc = function() {
return d3_time_scale(d3.scale.linear(), d3_time_scaleUtcMethods, d3_time_scaleUtcFormat);
};
d3.text = d3_xhrType(function(request) {
return request.responseText;
});
d3.json = function(url, callback) {
return d3_xhr(url, "application/json", d3_json, callback);
};
function d3_json(request) {
return JSON.parse(request.responseText);
}
d3.html = function(url, callback) {
return d3_xhr(url, "text/html", d3_html, callback);
};
function d3_html(request) {
var range = d3_document.createRange();
range.selectNode(d3_document.body);
return range.createContextualFragment(request.responseText);
}
d3.xml = d3_xhrType(function(request) {
return request.responseXML;
});
if (typeof define === "function" && define.amd) define(d3); else if (typeof module === "object" && module.exports) module.exports = d3;
this.d3 = d3;
}();
/*--- IMPORTANT GUIDELINES ---
1. Use CSS styling
2. Use class or id specific to style elements related the visualization only
3. Avoid using styling that alters this webapp (Example: html, body, h1, a, etc.).
Documents may get flagged if doing so ---*/
#canvas {
}
#canvas-svg {
}
.link {
stroke: #999;
stroke-opacity: 1;
}
circle.force-circle {
stroke: #fff;
stroke-width: 1.5px;
}
text.force-text {
fill: #000;
font: 10px sans-serif;
pointer-events: none;
}
source target sourceLabel targetLabel
131 580 Cristiano Ronaldo (c) Rafa Silva
186 368 Édison Méndez Juan Carlos Paredes
651 725 Shusaku Nishikawa Yasuyuki Konno
28 83 Alex Song Benjamin Moukandjo
570 584 Pejman Montazeri Rahman Ahmadi
113 337 Charles Itandje Joël Matip
89 726 Boubacar Barry Yaya Touré
245 643 Gerard Piqué Sergio Busquets
314 714 Jasper Cillessen Wesley Sneijder
325 496 Jeremain Lens Memphis Depay
52 492 Andy Najar Maynor Figueroa
489 548 Máximo Banguera Óscar Bagüí
72 363 Austin Ejide Joseph Yobo (c)
296 716 Islam Slimani William Carvalho
60 713 Antonio Valencia (c) Wayne Rooney
210 217 Eyong Enoh Fabrice Olinga
246 696 Gervinho Vasilis Torosidis
62 375 Aron Jóhannsson Julian Green
377 561 Jung Sung-ryong Park Joo-ho
14 190 Ahmed Musa Efe Ambrose
16 21 Alan Dzagoev Aleksandr Kerzhakov
90 375 Brad Davis Julian Green
80 348 Ben Foster Jordan Henderson
34 229 Alfredo Talavera Francisco Javier Rodríguez
4 347 Adam Kwarasey Jordan Ayew
61 350 Arjen Robben Jordy Clasie
483 512 Mauricio Isla Miiko Albornoz
461 463 Martín Cáceres Martín Silva
449 478 Marco Verratti Matteo Darmian
2 99 Abel Aguilar Carlos Bacca
535 669 Nikica Jelavic Stipe Pletikosa
242 502 Geoff Cameron Michael Bradley
196 728 Eliaquim Mangala Yohan Cabaye
303 616 Jack Wilshere Ross Barkley
316 643 Javi Martínez Sergio Busquets
549 700 Óscar Boniek García Víctor Bernárdez
135 717 Dani Alves Willian
97 655 Carl Medjani Sofiane Feghouli
724 730 Yasuhito Endo Yoshito Okubo
173 418 Djamel Mesbah Liassine Cadamuro-Bentaïba
439 695 Maksim Kanunnikov Vasili Berezutski (c)
350 534 Jordy Clasie Nigel de Jong
377 391 Jung Sung-ryong Kim Bo-kyung
176 492 Donis Escober Maynor Figueroa
76 728 Bacary Sagna Yohan Cabaye
95 448 Bryan Ruiz (c) Marco Ureña
66 78 Ashkan Dejagah Bakhtiar Rahmani
236 552 Gabriel Achilier Oswaldo Minda
139 434 Daniel Sturridge Luke Shaw
22 24 Aleksandr Kokorin Aleksei Ionov
186 334 Édison Méndez Joao Rojas
30 324 Alexander Domínguez Jefferson Montero
202 450 Enzo Pérez Marcos Rojo
524 688 Muhamed Bešic Toni Šunjic
665 693 Steve von Bergen Valon Behrami
215 723 Fabian Schär Yann Sommer
28 627 Alex Song Samuel Eto'o (c)
2 31 Abel Aguilar Alexander Mejía
177 625 Dries Mertens Sammy Bossut
179 677 Eden Hazard Thibaut Courtois
182 662 Edgar Salli Stéphane Mbia
135 567 Dani Alves Paulinho
128 248 Cristian Gamboa Giancarlo González
45 123 Andrea Barzagli Ciro Immobile
141 622 Daniele De Rossi Salvatore Sirigu
71 714 Aurélien Chedjou Wesley Sneijder
155 227 David Villa Fernando Torres
591 693 Raúl Albiol Valon Behrami
44 648 André Schürrle Shkodran Mustafi
23 568 Aleksandr Samedov Pavel Mogilevets
6 477 Adam Taggart Matt McKay
145 454 Dante Mario Götze
184 270 Edin Višca Haris Medunjanin
385 442 Kevin Großkreutz Manuel Neuer
139 702 Daniel Sturridge Victor Moses
173 605 Djamel Mesbah Riyad Mahrez
428 652 Luís Neto Silvestre Varela
16 732 Alan Dzagoev Yuri Lodygin
23 540 Aleksandr Samedov Oleg Shatov
444 514 Marcelo Brozovic Milan Badelj
37 210 Allan Nyom Eyong Enoh
103 446 Carlos Peña Marco Fabián
316 720 Javi Martínez Xavi
82 374 Benedikt Höwedes Julian Draxler
481 670 Mattia De Sciglio Sulley Muntari
262 483 Gonzalo Jara Mauricio Isla
112 209 Charles Aránguiz Eugenio Mena
345 682 Jonathan de Guzmán Tim Krul
201 334 Enner Valencia Joao Rojas
337 488 Joël Matip Maxim Choupo-Moting
29 307 Alex Wilkinson James Holland
224 717 Fernandinho Willian
399 647 Koo Ja-cheol (c) Shinji Okazaki
347 670 Jordan Ayew Sulley Muntari
627 717 Samuel Eto'o (c) Willian
115 587 Chigozie Agbim Ramon Azeez
186 710 Édison Méndez Walter Ayoví
551 609 Osman Chávez Roger Espinoza
252 291 Giorgio Chiellini Ignazio Abate
442 678 Manuel Neuer Thomas Müller
274 631 Hassan Yebda Saphir Taïder
454 475 Mario Götze Mats Hummels
216 286 Fábio Coentrão Hugo Almeida
567 586 Paulinho Ramires
383 587 Kenneth Omeruo Ramon Azeez
230 362 Francisco Silva José Rojas
382 438 Keisuke Honda Makoto Hasebe (c)
104 357 Carlos Salcido José Juan Vázquez
79 385 Bastian Schweinsteiger Kevin Großkreutz
191 463 Egidio Arévalo Ríos Martín Silva
527 679 Nacer Chadli Thomas Vermaelen
104 317 Carlos Salcido Javier Aquino
343 588 Johnny Acosta Randall Brenes
252 447 Giorgio Chiellini Marco Parolo
38 277 Álvaro González Hélder Postiga
557 696 Panagiotis Kone Vasilis Torosidis
87 663 Blaise Matuidi Stéphane Ruffier
215 339 Fabian Schär Johan Djourou
571 719 Pepe Xabi Alonso
204 302 Ermin Bicakcic Izet Hajrovic
79 455 Bastian Schweinsteiger Mario Mandžukic
9 102 Adrián Bone Carlos Gruezo
529 699 Neymar Victor
228 324 Fidel Martínez Jefferson Montero
290 395 Hwang Seok-ho Kim Young-gwon
275 304 Héctor Herrera Jackson Martínez
5 258 Adam Lallana Glen Johnson
44 82 André Schürrle Benedikt Höwedes
323 443 Jefferson Marcelo
212 608 Ezequiel Lavezzi Rodrigo Palacio
644 720 Sergio Ramos Xavi
300 669 Ivan Rakitic Stipe Pletikosa
105 234 Carlos Sánchez Fredy Guarín
677 679 Thibaut Courtois Thomas Vermaelen
164 166 Diego Costa Diego Godín
299 624 Ivan Perišic Sammir
64 354 Arturo Vidal Jorge Valdivia
176 427 Donis Escober Luis López
238 713 Gary Cahill Wayne Rooney
293 708 Igor Denisov Vladimir Granat
567 676 Paulinho Thiago Silva (c)
213 242 Fabian Johnson Geoff Cameron
163 388 Diego Calvo Keylor Navas
396 606 Klaas-Jan Huntelaar Robin van Persie (c)
176 456 Donis Escober Mario Martínez
41 137 Andranik Teymourian Daniel Davari
368 569 Juan Carlos Paredes Pedro
78 570 Bakhtiar Rahmani Pejman Montazeri
5 603 Adam Lallana Rickie Lambert
241 504 Gelson Fernandes Michael Lang
107 705 Cédric Djeugoué Vincent Aboubakar
323 717 Jefferson Willian
79 140 Bastian Schweinsteiger Daniel Van Buyten
299 653 Ivan Perišic Šime Vrsaljko
516 633 Miralem Pjanic Sead Kolašinac
511 716 Miguel Veloso William Carvalho
427 609 Luis López Roger Espinoza
325 659 Jeremain Lens Stefan de Vrij
345 714 Jonathan de Guzmán Wesley Sneijder
207 362 Esteban Paredes José Rojas
44 79 André Schürrle Bastian Schweinsteiger
66 306 Ashkan Dejagah Jalal Hosseini
44 573 André Schürrle Per Mertesacker
133 673 Daley Blind Terence Kongolo
162 384 Diego Benaglio Kevin De Bruyne
216 652 Fábio Coentrão Silvestre Varela
114 246 Cheick Tioté Gervinho
146 626 Dany Nounkeu Sammy N'Djock
477 515 Matt McKay Mile Jedinak (c)
251 255 Giannis Maniatis Giorgos Tzavellas
226 714 Fernando Muslera Wesley Sneijder
272 437 Harrison Afful Majeed Waris
342 691 John Obi Mikel Uche Nwofor
110 397 César Azpilicueta Koke
241 480 Gelson Fernandes Matthias Ginter
55 444 Ante Rebic Marcelo Brozovic
564 592 Paul Aguilar Raúl Jiménez
38 424 Álvaro González Lucas Biglia
238 668 Gary Cahill Steven Gerrard (c)
646 730 Shinji Kagawa Yoshito Okubo
431 586 Luiz Gustavo Ramires
425 675 Lucas Digne Thiago Motta
345 534 Jonathan de Guzmán Nigel de Jong
86 180 Beto Éder
167 607 Diego Lugano (c) Rodrigo Muñoz
180 286 Éder Hugo Almeida
448 501 Marco Ureña Michael Barrantes
235 710 Frickson Erazo Walter Ayoví
71 83 Aurélien Chedjou Benjamin Moukandjo
151 676 David Luiz Thiago Silva (c)
34 581 Alfredo Talavera Rafael Márquez (c)
372 426 Juan Pablo Montes Luis Garrido
276 355 Héctor Moreno José de Jesús Corona
110 231 César Azpilicueta Frank Lampard
133 613 Daley Blind Ron Vlaar
44 231 André Schürrle Frank Lampard
60 201 Antonio Valencia (c) Enner Valencia
493 605 Medhi Lacen Riyad Mahrez
160 671 Didier Ya Konan Sylvain Gbohouo
415 612 Leighton Baines Romelu Lukaku
251 696 Giannis Maniatis Vasilis Torosidis
117 530 Chris Wondolowski Nick Rimando
432 443 Luka Modric Marcelo
64 239 Arturo Vidal Gary Medel
232 576 Fraser Forster Phil Jones
209 483 Eugenio Mena Mauricio Isla
565 663 Paul Pogba Stéphane Ruffier
63 632 Arthur Boka Sayouba Mandé
145 331 Dante
125 478 Claudio Marchisio Matteo Darmian
231 575 Frank Lampard Phil Jagielka
20 513 Alejandro Bedoya Mikkel Diskerud
142 542 Danijel Pranjic Oliver Zelenika
222 710 Felipe Caicedo Walter Ayoví
640 708 Sergei Ignashevich Vladimir Granat
33 124 Alexis Sánchez Claudio Bravo (c)
86 428 Beto Luís Neto
241 271 Gelson Fernandes Haris Seferovic
368 548 Juan Carlos Paredes Óscar Bagüí
487 645 Maxi Rodríguez Sergio Romero
126 513 Clint Dempsey (c) Mikkel Diskerud
193 491 Eiji Kawashima Maya Yoshida
381 719 Karim Benzema Xabi Alonso
392 399 Kim Chang-soo Koo Ja-cheol (c)
351 609 Jorge Claros Roger Espinoza
74 428 Axel Witsel Luís Neto
207 344 Esteban Paredes Johnny Herrera
72 342 Austin Ejide John Obi Mikel
291 481 Ignazio Abate Mattia De Sciglio
1 605 Abdelmoumene Djabou Riyad Mahrez
295 592 Isaác Brizuela Raúl Jiménez
334 552 Joao Rojas Oswaldo Minda
374 433 Julian Draxler Lukas Podolski
205 519 Essaïd Belkalem Mohamed Zemmamouche
16 51 Alan Dzagoev Andrey Yeshchenko
100 672 Carlos Carbonero Teófilo Gutiérrez
305 334 Jaime Ayoví Joao Rojas
326 341 Jermaine Jones John Brooks
410 557 Lazaros Christodoulopoulos Panagiotis Kone
300 698 Ivan Rakitic Vedran Corluka
92 176 Brayan Beckeles Donis Escober
80 668 Ben Foster Steven Gerrard (c)
315 389 Javad Nekounam (c) Khosro Heydari
157 299 Dejan Lovren Ivan Perišic
211 261 Ezequiel Garay Gonzalo Higuaín
460 667 Marouane Fellaini Steven Defour
103 318 Carlos Peña Javier Hernández
69 396 Atsuto Uchida Klaas-Jan Huntelaar
339 504 Johan Djourou Michael Lang
479 686 Matthew Špiranovic Tommy Oar
145 289 Dante Hulk
434 576 Luke Shaw Phil Jones
635 697 Sejad Salihovic Vedad Ibiševic
298 459 Ivan Franjic Mark Milligan
114 632 Cheick Tioté Sayouba Mandé
165 359 Diego Forlán José María Giménez
214 483 Fabián Orellana Mauricio Isla
332 652 João Moutinho Silvestre Varela
244 682 Georginio Wijnaldum Tim Krul
61 577 Arjen Robben Philipp Lahm (c)
130 701 Cristián Zapata Víctor Ibarbo
23 24 Aleksandr Samedov Aleksei Ionov
498 573 Mesut Özil Per Mertesacker
266 723 Granit Xhaka Yann Sommer
382 481 Keisuke Honda Mattia De Sciglio
258 430 Glen Johnson Luis Suárez
148 458 Dario Vidošic Mark Bresciano
279 366 Henrique Juan Camilo Zúñiga
79 614 Bastian Schweinsteiger Ron-Robert Zieler
150 155 David de Gea David Villa
205 526 Essaïd Belkalem Nabil Ghilas
647 730 Shinji Okazaki Yoshito Okubo
122 614 Christoph Kramer Ron-Robert Zieler
332 645 João Moutinho Sergio Romero
210 488 Eyong Enoh Maxim Choupo-Moting
387 520 Kevin-Prince Boateng Mohammed Rabiu
341 365 John Brooks Jozy Altidore
199 670 Emmanuel Agyemang-Badu Sulley Muntari
152 163 David Myrie Diego Calvo
561 658 Park Joo-ho Son Heung-min
348 603 Jordan Henderson Rickie Lambert
166 168 Diego Godín Diego Pérez
606 646 Robin van Persie (c) Shinji Kagawa
3 711 Abel Hernández Walter Gargano
118 387 Christian Atsu Kevin-Prince Boateng
239 262 Gary Medel Gonzalo Jara
283 413 Hong Jeong-ho Lee Keun-ho
202 486 Enzo Pérez Maxi Pereira
136 206 Daniel Cambronero Esteban Granados
65 347 Asamoah Gyan (c) Jordan Ayew
233 699 Fred Victor
116 415 Chris Smalling Leighton Baines
270 312 Haris Medunjanin Jasmin Fejzic
561 647 Park Joo-ho Shinji Okazaki
538 684 Ognjen Vranješ Tino-Sven Sušic
205 655 Essaïd Belkalem Sofiane Feghouli
490 675 Maxwell Thiago Motta
64 223 Arturo Vidal Felipe Gutiérrez
18 65 Albert Adomah Asamoah Gyan (c)
460 654 Marouane Fellaini Simon Mignolet
103 357 Carlos Peña José Juan Vázquez
30 499 Alexander Domínguez Michael Arroyo
230 262 Francisco Silva Gonzalo Jara
368 720 Juan Carlos Paredes Xavi
395 405 Kim Young-gwon Kwak Tae-hwi
165 226 Diego Forlán Fernando Muslera
377 394 Jung Sung-ryong Kim Shin-wook
5 116 Adam Lallana Chris Smalling
160 322 Didier Ya Konan Jean-Daniel Akpa-Akpro
338 507 Joël Veltman Michel Vorm
50 419 Andrés Iniesta Lionel Messi (c)
253 356 Giorgos Karagounis (c) José Holebas
79 475 Bastian Schweinsteiger Mats Hummels
362 483 José Rojas Mauricio Isla
86 332 Beto João Moutinho
182 626 Edgar Salli Sammy N'Djock
139 430 Daniel Sturridge Luis Suárez
174 292 Dmitri Kombarov Igor Akinfeev
196 381 Eliaquim Mangala Karim Benzema
560 731 Park Jong-woo Yun Suk-young
515 686 Mile Jedinak (c) Tommy Oar
506 588 Michael Umaña Randall Brenes
12 424 Agustín Orión Lucas Biglia
299 669 Ivan Perišic Stipe Pletikosa
460 606 Marouane Fellaini Robin van Persie (c)
401 545 Kostas Manolas Orestis Karnezis
390 658 Ki Sung-yueng Son Heung-min
661 690 Stephan Lichtsteiner Tranquillo Barnetta
515 518 Mile Jedinak (c) Mitchell Langerak
162 431 Diego Benaglio Luiz Gustavo
71 210 Aurélien Chedjou Eyong Enoh
395 658 Kim Young-gwon Son Heung-min
50 643 Andrés Iniesta Sergio Busquets
317 509 Javier Aquino Miguel Ángel Ponce
47 254 Andreas Samaris Giorgos Samaras
398 638 Kolo Touré Serey Die
578 596 Philippe Senderos Reto Ziegler
523 565 Moussa Sissoko Paul Pogba
518 541 Mitchell Langerak Oliver Bozanic
305 353 Jaime Ayoví Jorge Guagua
115 363 Chigozie Agbim Joseph Yobo (c)
28 419 Alex Song Lionel Messi (c)
7 596 Admir Mehmedi Reto Ziegler
61 327 Arjen Robben Jérôme Boateng
313 459 Jason Davidson Mark Milligan
343 378 Johnny Acosta Júnior Díaz
532 685 Nicolas Lombaerts Toby Alderweireld
6 77 Adam Taggart Bailey Wright
550 712 Óscar Duarte Waylon Francis
196 667 Eliaquim Mangala Steven Defour
204 636 Ermin Bicakcic Senad Lulic
299 703 Ivan Perišic Vieirinha
294 629 Iker Casillas (c) Santi Cazorla
204 516 Ermin Bicakcic Miralem Pjanic
471 515 Mathew Ryan Mile Jedinak (c)
297 715 Ismaël Diomandé Wilfried Bony
351 367 Jorge Claros Juan Carlos García
400 423 Kostas Katsouranis Loukas Vyntra
79 648 Bastian Schweinsteiger Shkodran Mustafi
660 696 Stefanos Kapino Vasilis Torosidis
466 646 Masato Morishige Shinji Kagawa
155 359 David Villa José María Giménez
96 234 Camilo Vargas Fredy Guarín
370 701 Juan Guillermo Cuadrado Víctor Ibarbo
296 525 Islam Slimani Nabil Bentaleb
438 466 Makoto Hasebe (c) Masato Morishige
85 323 Bernard Jefferson
432 514 Luka Modric Milan Badelj
44 627 André Schürrle Samuel Eto'o (c)
272 347 Harrison Afful Jordan Ayew
138 437 Daniel Opare Majeed Waris
300 432 Ivan Rakitic Luka Modric
4 664 Adam Kwarasey Stephen Adams
345 507 Jonathan de Guzmán Michel Vorm
170 556 Dimitris Salpingidis Panagiotis Glykos
290 330 Hwang Seok-ho Ji Dong-won
31 153 Alexander Mejía David Ospina
220 520 Fatau Dauda Mohammed Rabiu
46 565 Andrea Pirlo Paul Pogba
150 154 David de Gea David Silva
216 593 Fábio Coentrão Raul Meireles
217 625 Fabrice Olinga Sammy Bossut
310 518 James Troisi Mitchell Langerak
16 23 Alan Dzagoev Aleksandr Samedov
82 480 Benedikt Höwedes Matthias Ginter
332 703 João Moutinho Vieirinha
448 712 Marco Ureña Waylon Francis
384 679 Kevin De Bruyne Thomas Vermaelen
218 572 Faouzi Ghoulam Pepe Reina
454 623 Mario Götze Sami Khedira
328 615 Jerry Bengtson Rony Martínez
378 388 Júnior Díaz Keylor Navas
27 575 Alex Oxlade-Chamberlain Phil Jagielka
23 174 Aleksandr Samedov Dmitri Kombarov
205 218 Essaïd Belkalem Faouzi Ghoulam
242 365 Geoff Cameron Jozy Altidore
57 604 Antoine Griezmann Rio Mavuba
289 529 Hulk Neymar
177 366 Dries Mertens Juan Camilo Zúñiga
416 675 Leonardo Bonucci Thiago Motta
99 672 Carlos Bacca Teófilo Gutiérrez
153 457 David Ospina Mario Yepes (c)
54 261 Ángel di María Gonzalo Higuaín
184 637 Edin Višca Senijad Ibricic
107 662 Cédric Djeugoué Stéphane Mbia
124 361 Claudio Bravo (c) José Pedro Fuenzalida
632 639 Sayouba Mandé Serge Aurier
406 544 Kyle Beckerman Omar Gonzalez
14 72 Ahmed Musa Austin Ejide
170 423 Dimitris Salpingidis Loukas Vyntra
252 661 Giorgio Chiellini Stephan Lichtsteiner
96 99 Camilo Vargas Carlos Bacca
328 609 Jerry Bengtson Roger Espinoza
537 691 Ogenyi Onazi Uche Nwofor
162 723 Diego Benaglio Yann Sommer
24 439 Aleksei Ionov Maksim Kanunnikov
559 560 Park Chu-young Park Jong-woo
246 639 Gervinho Serge Aurier
367 551 Juan Carlos García Osman Chávez
36 495 Alireza Jahanbakhsh Mehrdad Pouladi
45 478 Andrea Barzagli Matteo Darmian
48 641 Andrei Semyonov Sergey Ryzhikov
218 279 Faouzi Ghoulam Henrique
304 554 Jackson Martínez Pablo Armero
138 404 Daniel Opare Kwadwo Asamoah
154 572 David Silva Pepe Reina
354 484 Jorge Valdivia Mauricio Pinilla
56 612 Anthony Vanden Borre Romelu Lukaku
144 150 Danny Welbeck David de Gea
575 576 Phil Jagielka Phil Jones
492 549 Maynor Figueroa Óscar Boniek García
431 436 Luiz Gustavo Maicon
93 618 Bruno Alves Rúben Amorim
359 486 José María Giménez Maxi Pereira
39 711 Álvaro Pereira Walter Gargano
160 638 Didier Ya Konan Serey Die
401 556 Kostas Manolas Panagiotis Glykos
113 533 Charles Itandje Nicolas N'Koulou
586 699 Ramires Victor
76 288 Bacary Sagna Hugo Lloris (c)
289 717 Hulk Willian
98 329 Carlo Costly Jerry Palacios
129 155 Cristian Rodríguez David Villa
243 568 Georgi Shchennikov Pavel Mogilevets
374 396 Julian Draxler Klaas-Jan Huntelaar
176 536 Donis Escober Noel Valladares (c)
238 303 Gary Cahill Jack Wilshere
206 550 Esteban Granados Óscar Duarte
473 594 Mathieu Valbuena Rémy Cabella
370 554 Juan Guillermo Cuadrado Pablo Armero
328 551 Jerry Bengtson Osman Chávez
23 704 Aleksandr Samedov Viktor Fayzulin
23 733 Aleksandr Samedov Yuri Zhirkov
260 339 Gökhan Inler (c) Johan Djourou
459 477 Mark Milligan Matt McKay
44 678 André Schürrle Thomas Müller
575 668 Phil Jagielka Steven Gerrard (c)
465 646 Masahiko Inoha Shinji Kagawa
290 560 Hwang Seok-ho Park Jong-woo
129 352 Cristian Rodríguez Jorge Fucile
374 623 Julian Draxler Sami Khedira
343 712 Johnny Acosta Waylon Francis
96 457 Camilo Vargas Mario Yepes (c)
542 669 Oliver Zelenika Stipe Pletikosa
10 457 Adrián Ramos Mario Yepes (c)
416 622 Leonardo Bonucci Salvatore Sirigu
48 733 Andrei Semyonov Yuri Zhirkov
433 629 Lukas Podolski Santi Cazorla
130 481 Cristián Zapata Mattia De Sciglio
259 553 Godfrey Oboabona Ousmane Viera
422 572 Lorenzo Insigne Pepe Reina
8 318 Adnan Januzaj Javier Hernández
286 703 Hugo Almeida Vieirinha
147 157 Darijo Srna (c) Dejan Lovren
60 324 Antonio Valencia (c) Jefferson Montero
27 308 Alex Oxlade-Chamberlain James Milner
210 407 Eyong Enoh Landry N'Guémo
231 583 Frank Lampard Raheem Sterling
304 630 Jackson Martínez Santiago Arias
41 380 Andranik Teymourian Karim Ansarifard
24 732 Aleksei Ionov Yuri Lodygin
38 531 Álvaro González Nicolás Lodeiro
385 678 Kevin Großkreutz Thomas Müller
580 593 Rafa Silva Raul Meireles
303 415 Jack Wilshere Leighton Baines
375 577 Julian Green Philipp Lahm (c)
455 698 Mario Mandžukic Vedran Corluka
102 235 Carlos Gruezo Frickson Erazo
163 617 Diego Calvo Roy Miller
180 188 Éder Eduardo dos Reis Carvalho
320 609 Jean Beausejour Roger Espinoza
57 87 Antoine Griezmann Blaise Matuidi
68 270 Asmir Begovic Haris Medunjanin
342 702 John Obi Mikel Victor Moses
261 450 Gonzalo Higuaín Marcos Rojo
516 697 Miralem Pjanic Vedad Ibiševic
261 279 Gonzalo Higuaín Henrique
536 700 Noel Valladares (c) Víctor Bernárdez
237 452 Gabriel Paletta Mario Balotelli
14 115 Ahmed Musa Chigozie Agbim
44 717 André Schürrle Willian
217 627 Fabrice Olinga Samuel Eto'o (c)
52 615 Andy Najar Rony Martínez
287 631 Hugo Campagnaro Saphir Taïder
593 703 Raul Meireles Vieirinha
57 409 Antoine Griezmann Laurent Koscielny
712 727 Waylon Francis Yeltsin Tejeda
62 406 Aron Jóhannsson Kyle Beckerman
22 568 Aleksandr Kokorin Pavel Mogilevets
38 359 Álvaro González José María Giménez
288 523 Hugo Lloris (c) Moussa Sissoko
410 545 Lazaros Christodoulopoulos Orestis Karnezis
134 476 DaMarcus Beasley Matt Besler
60 222 Antonio Valencia (c) Felipe Caicedo
234 600 Fredy Guarín Ricardo Álvarez
247 584 Ghasem Haddadifar Rahman Ahmadi
346 664 Jonathan Mensah Stephen Adams
150 373 David de Gea Juanfran
318 371 Javier Hernández Juan Mata
145 586 Dante Ramires
94 673 Bruno Martins Indi Terence Kongolo
482 653 Mattia Perin Šime Vrsaljko
392 394 Kim Chang-soo Kim Shin-wook
53 633 Anel Hadžic Sead Kolašinac
354 362 Jorge Valdivia José Rojas
485 671 Max Gradel Sylvain Gbohouo
113 705 Charles Itandje Vincent Aboubakar
474 657 Mathis Bolly Sol Bamba
76 508 Bacary Sagna Mickaël Landreau
17 49 Alan Pulido Andrés Guardado
260 266 Gökhan Inler (c) Granit Xhaka
112 230 Charles Aránguiz Francisco Silva
624 698 Sammir Vedran Corluka
601 703 Ricardo Costa Vieirinha
181 369 Éder Álvarez Balanta Juan Fernando Quintero
229 318 Francisco Javier Rodríguez Javier Hernández
541 686 Oliver Bozanic Tommy Oar
443 567 Marcelo Paulinho
359 430 José María Giménez Luis Suárez
556 557 Panagiotis Glykos Panagiotis Kone
340 346 John Boye Jonathan Mensah
155 591 David Villa Raúl Albiol
247 389 Ghasem Haddadifar Khosro Heydari
316 371 Javi Martínez Juan Mata
27 576 Alex Oxlade-Chamberlain Phil Jones
95 617 Bryan Ruiz (c) Roy Miller
110 179 César Azpilicueta Eden Hazard
545 696 Orestis Karnezis Vasilis Torosidis
432 719 Luka Modric Xabi Alonso
568 704 Pavel Mogilevets Viktor Fayzulin
68 73 Asmir Begovic Avdija Vršajevic
297 485 Ismaël Diomandé Max Gradel
304 652 Jackson Martínez Silvestre Varela
159 671 Didier Drogba (c) Sylvain Gbohouo
67 73 Asmir Avdukic Avdija Vršajevic
332 528 João Moutinho Nani
104 275 Carlos Salcido Héctor Herrera
89 127 Boubacar Barry Constant Djakpa
12 202 Agustín Orión Enzo Pérez
168 430 Diego Pérez Luis Suárez
505 574 Michael Uchebo Peter Odemwingie
299 455 Ivan Perišic Mario Mandžukic
74 172 Axel Witsel Divock Origi
465 724 Masahiko Inoha Yasuhito Endo
10 130 Adrián Ramos Cristián Zapata
2 130 Abel Aguilar Cristián Zapata
479 515 Matthew Špiranovic Mile Jedinak (c)
5 308 Adam Lallana James Milner
656 660 Sokratis Papastathopoulos Stefanos Kapino
401 660 Kostas Manolas Stefanos Kapino
377 390 Jung Sung-ryong Ki Sung-yueng
56 667 Anthony Vanden Borre Steven Defour
678 687 Thomas Müller Toni Kroos
420 705 Loïc Feudjou Vincent Aboubakar
625 654 Sammy Bossut Simon Mignolet
8 177 Adnan Januzaj Dries Mertens
100 181 Carlos Carbonero Éder Álvarez Balanta
143 698 Danijel Subašic Vedran Corluka
144 603 Danny Welbeck Rickie Lambert
348 702 Jordan Henderson Victor Moses
497 684 Mensur Mujdža Tino-Sven Sušic
382 651 Keisuke Honda Shusaku Nishikawa
122 687 Christoph Kramer Toni Kroos
422 693 Lorenzo Insigne Valon Behrami
15 274 Aïssa Mandi Hassan Yebda
156 375 DeAndre Yedlin Julian Green
44 547 André Schürrle Oscar
309 369 James Rodríguez Juan Fernando Quintero
152 343 David Myrie Johnny Acosta
310 470 James Troisi Mathew Leckie
379 505 Juwon Oshaniwa Michael Uchebo
11 272 Afriyie Acquah Harrison Afful
641 733 Sergey Ryzhikov Yuri Zhirkov
178 367 Edder Delgado Juan Carlos García
425 472 Lucas Digne Mathieu Debuchy
624 653 Sammir Šime Vrsaljko
90 213 Brad Davis Fabian Johnson
86 716 Beto William Carvalho
8 646 Adnan Januzaj Shinji Kagawa
66 389 Ashkan Dejagah Khosro Heydari
639 715 Serge Aurier Wilfried Bony
16 293 Alan Dzagoev Igor Denisov
49 317 Andrés Guardado Javier Aquino
32 656 Alexandros Tziolis Sokratis Papastathopoulos
288 567 Hugo Lloris (c) Paulinho
174 732 Dmitri Kombarov Yuri Lodygin
37 722 Allan Nyom Yacine Brahimi
402 545 Kostas Mitroglou Orestis Karnezis
105 309 Carlos Sánchez James Rodríguez
234 630 Fredy Guarín Santiago Arias
296 582 Islam Slimani Rafik Halliche
555 642 Pablo Zabaleta Sergio Agüero
5 335 Adam Lallana Joe Hart
415 616 Leighton Baines Ross Barkley
333 528 João Pereira Nani
634 711 Sebastián Coates Walter Gargano
279 676 Henrique Thiago Silva (c)
531 634 Nicolás Lodeiro Sebastián Coates
148 298 Dario Vidošic Ivan Franjic
218 519 Faouzi Ghoulam Mohamed Zemmamouche
280 376 Hernanes Júlio César
94 507 Bruno Martins Indi Michel Vorm
55 542 Ante Rebic Oliver Zelenika
425 676 Lucas Digne Thiago Silva (c)
193 466 Eiji Kawashima Masato Morishige
5 238 Adam Lallana Gary Cahill
251 410 Giannis Maniatis Lazaros Christodoulopoulos
67 736 Asmir Avdukic Zvjezdan Misimovic
102 324 Carlos Gruezo Jefferson Montero
337 627 Joël Matip Samuel Eto'o (c)
236 324 Gabriel Achilier Jefferson Montero
143 332 Danijel Subašic João Moutinho
493 494 Medhi Lacen Mehdi Mostefa
280 289 Hernanes Hulk
10 369 Adrián Ramos Juan Fernando Quintero
306 467 Jalal Hosseini Masoud Shojaei
163 448 Diego Calvo Marco Ureña
218 585 Faouzi Ghoulam Raïs M'Bolhi
360 727 José Miguel Cubero Yeltsin Tejeda
99 366 Carlos Bacca Juan Camilo Zúñiga
27 76 Alex Oxlade-Chamberlain Bacary Sagna
125 483 Claudio Marchisio Mauricio Isla
676 699 Thiago Silva (c) Victor
364 602 Josip Drmic Ricardo Rodríguez
485 657 Max Gradel Sol Bamba
167 191 Diego Lugano (c) Egidio Arévalo Ríos
89 322 Boubacar Barry Jean-Daniel Akpa-Akpro
279 436 Henrique Maicon
134 683 DaMarcus Beasley Timothy Chandler
255 402 Giorgos Tzavellas Kostas Mitroglou
206 360 Esteban Granados José Miguel Cubero
670 709 Sulley Muntari Wakaso Mubarak
425 440 Lucas Digne Mamadou Sakho
294 589 Iker Casillas (c) Raphaël Varane
239 361 Gary Medel José Pedro Fuenzalida
152 378 David Myrie Júnior Díaz
335 575 Joe Hart Phil Jagielka
283 393 Hong Jeong-ho Kim Seung-gyu
625 707 Sammy Bossut Vincent Kompany (c)
684 688 Tino-Sven Sušic Toni Šunjic
471 518 Mathew Ryan Mitchell Langerak
121 486 Christian Stuani Maxi Pereira
330 566 Ji Dong-won Paul Verhaegh
48 158 Andrei Semyonov Denis Glushakov
503 628 Michael Essien Samuel Inkoom
301 444 Ivica Olic Marcelo Brozovic
31 99 Alexander Mejía Carlos Bacca
208 471 Eugene Galekovic Mathew Ryan
379 597 Juwon Oshaniwa Reuben Gabriel
40 570 Amir Hossein Sadeghi Pejman Montazeri
300 444 Ivan Rakitic Marcelo Brozovic
547 676 Oscar Thiago Silva (c)
425 473 Lucas Digne Mathieu Valbuena
460 625 Marouane Fellaini Sammy Bossut
195 274 El Arbi Hillel Soudani Hassan Yebda
176 615 Donis Escober Rony Martínez
588 727 Randall Brenes Yeltsin Tejeda
603 713 Rickie Lambert Wayne Rooney
50 371 Andrés Iniesta Juan Mata
218 260 Faouzi Ghoulam Gökhan Inler (c)
667 677 Steven Defour Thibaut Courtois
478 482 Matteo Darmian Mattia Perin
470 541 Mathew Leckie Oliver Bozanic
119 360 Christian Bolaños José Miguel Cubero
109 248 Celso Borges Giancarlo González
82 337 Benedikt Höwedes Joël Matip
148 310 Dario Vidošic James Troisi
5 415 Adam Lallana Leighton Baines
181 370 Éder Álvarez Balanta Juan Guillermo Cuadrado
100 457 Carlos Carbonero Mario Yepes (c)
252 565 Giorgio Chiellini Paul Pogba
256 357 Giovani dos Santos José Juan Vázquez
73 633 Avdija Vršajevic Sead Kolašinac
61 345 Arjen Robben Jonathan de Guzmán
85 547 Bernard Oscar
375 721 Julian Green Xherdan Shaqiri
373 677 Juanfran Thibaut Courtois
258 348 Glen Johnson Jordan Henderson
501 617 Michael Barrantes Roy Miller
136 501 Daniel Cambronero Michael Barrantes
316 719 Javi Martínez Xabi Alonso
349 397 Jordi Alba Koke
418 631 Liassine Cadamuro-Bentaïba Saphir Taïder
245 397 Gerard Piqué Koke
14 695 Ahmed Musa Vasili Berezutski (c)
10 309 Adrián Ramos James Rodríguez
118 670 Christian Atsu Sulley Muntari
115 537 Chigozie Agbim Ogenyi Onazi
538 688 Ognjen Vranješ Toni Šunjic
106 370 Carlos Valdés Juan Guillermo Cuadrado
53 688 Anel Hadžic Toni Šunjic
311 408 Jan Vertonghen Laurent Ciman
158 568 Denis Glushakov Pavel Mogilevets
146 182 Dany Nounkeu Edgar Salli
266 665 Granit Xhaka Steve von Bergen
582 631 Rafik Halliche Saphir Taïder
264 734 Gotoku Sakai Yuto Nagatomo
39 634 Álvaro Pereira Sebastián Coates
122 385 Christoph Kramer Kevin Großkreutz
142 469 Danijel Pranjic Mateo Kovacic
263 444 Gordon Schildenfeld Marcelo Brozovic
131 528 Cristiano Ronaldo (c) Nani
88 610 Blerim Džemaili Roman Bürki
458 477 Mark Bresciano Matt McKay
700 718 Víctor Bernárdez Wilson Palacios
618 716 Rúben Amorim William Carvalho
77 307 Bailey Wright James Holland
113 420 Charles Itandje Loïc Feudjou
167 711 Diego Lugano (c) Walter Gargano
508 562 Mickaël Landreau Patrice Evra
4 590 Adam Kwarasey Rashid Sumaila
361 445 José Pedro Fuenzalida Marcelo Díaz
338 350 Joël Veltman Jordy Clasie
315 598 Javad Nekounam (c) Reza Ghoochannejhad
82 454 Benedikt Höwedes Mario Götze
29 680 Alex Wilkinson Tim Cahill
51 568 Andrey Yeshchenko Pavel Mogilevets
69 438 Atsuto Uchida Makoto Hasebe (c)
435 631 Madjid Bougherra (c) Saphir Taïder
115 706 Chigozie Agbim Vincent Enyeama
132 214 Cristopher Toselli Fabián Orellana
443 571 Marcelo Pepe
119 617 Christian Bolaños Roy Miller
4 199 Adam Kwarasey Emmanuel Agyemang-Badu
335 713 Joe Hart Wayne Rooney
58 416 Antonio Candreva Leonardo Bonucci
240 603 Gastón Ramírez Rickie Lambert
152 248 David Myrie Giancarlo González
345 606 Jonathan de Guzmán Robin van Persie (c)
94 417 Bruno Martins Indi Leroy Fer
496 566 Memphis Depay Paul Verhaegh
120 499 Christian Noboa Michael Arroyo
14 200 Ahmed Musa Emmanuel Emenike
135 279 Dani Alves Henrique
12 642 Agustín Orión Sergio Agüero
177 572 Dries Mertens Pepe Reina
332 571 João Moutinho Pepe
234 366 Fredy Guarín Juan Camilo Zúñiga
111 569 Cesc Fàbregas Pedro
46 422 Andrea Pirlo Lorenzo Insigne
78 380 Bakhtiar Rahmani Karim Ansarifard
5 232 Adam Lallana Fraser Forster
454 678 Mario Götze Thomas Müller
504 693 Michael Lang Valon Behrami
337 420 Joël Matip Loïc Feudjou
66 599 Ashkan Dejagah Reza Haghighi
150 591 David de Gea Raúl Albiol
249 452 Gianluigi Buffon (c) Mario Balotelli
558 660 Panagiotis Tachtsidis Stefanos Kapino
448 617 Marco Ureña Roy Miller
124 132 Claudio Bravo (c) Cristopher Toselli
196 369 Eliaquim Mangala Juan Fernando Quintero
202 211 Enzo Pérez Ezequiel Garay
109 563 Celso Borges Patrick Pemberton
27 238 Alex Oxlade-Chamberlain Gary Cahill
95 588 Bryan Ruiz (c) Randall Brenes
129 531 Cristian Rodríguez Nicolás Lodeiro
547 586 Oscar Ramires
427 492 Luis López Maynor Figueroa
375 455 Julian Green Mario Mandžukic
3 38 Abel Hernández Álvaro González
180 216 Éder Fábio Coentrão
224 280 Fernandinho Hernanes
247 306 Ghasem Haddadifar Jalal Hosseini
182 407 Edgar Salli Landry N'Guémo
393 413 Kim Seung-gyu Lee Keun-ho
524 684 Muhamed Bešic Tino-Sven Sušic
330 414 Ji Dong-won Lee Yong
190 363 Efe Ambrose Joseph Yobo (c)
197 551 Emilio Izaguirre Osman Chávez
221 600 Federico Fernández Ricardo Álvarez
349 720 Jordi Alba Xavi
328 549 Jerry Bengtson Óscar Boniek García
239 445 Gary Medel Marcelo Díaz
470 479 Mathew Leckie Matthew Špiranovic
34 275 Alfredo Talavera Héctor Herrera
150 245 David de Gea Gerard Piqué
217 321 Fabrice Olinga Jean Makoun
528 619 Nani Rui Patrício
226 461 Fernando Muslera Martín Cáceres
185 425 Edinson Cavani Lucas Digne
296 619 Islam Slimani Rui Patrício
53 183 Anel Hadžic Edin Džeko
443 589 Marcelo Raphaël Varane
26 252 Alessio Cerci Giorgio Chiellini
143 624 Danijel Subašic Sammir
72 200 Austin Ejide Emmanuel Emenike
114 160 Cheick Tioté Didier Ya Konan
274 494 Hassan Yebda Mehdi Mostefa
95 630 Bryan Ruiz (c) Santiago Arias
485 632 Max Gradel Sayouba Mandé
355 510 José de Jesús Corona Miguel Layún
382 650 Keisuke Honda Shuichi Gonda
256 355 Giovani dos Santos José de Jesús Corona
397 644 Koke Sergio Ramos
150 164 David de Gea Diego Costa
2 630 Abel Aguilar Santiago Arias
203 577 Erik Durm Philipp Lahm (c)
382 735 Keisuke Honda Yuya Osako
119 388 Christian Bolaños Keylor Navas
509 546 Miguel Ángel Ponce Oribe Peralta
145 567 Dante Paulinho
141 249 Daniele De Rossi Gianluigi Buffon (c)
93 571 Bruno Alves Pepe
217 337 Fabrice Olinga Joël Matip
289 732 Hulk Yuri Lodygin
63 671 Arthur Boka Sylvain Gbohouo
254 401 Giorgos Samaras Kostas Manolas
34 510 Alfredo Talavera Miguel Layún
51 439 Andrey Yeshchenko Maksim Kanunnikov
187 301 Eduardo da Silva Ivica Olic
248 360 Giancarlo González José Miguel Cubero
546 592 Oribe Peralta Raúl Jiménez
134 544 DaMarcus Beasley Omar Gonzalez
42 580 André Almeida Rafa Silva
131 188 Cristiano Ronaldo (c) Eduardo dos Reis Carvalho
432 653 Luka Modric Šime Vrsaljko
400 557 Kostas Katsouranis Panagiotis Kone
167 185 Diego Lugano (c) Edinson Cavani
631 734 Saphir Taïder Yuto Nagatomo
55 669 Ante Rebic Stipe Pletikosa
313 479 Jason Davidson Matthew Špiranovic
617 727 Roy Miller Yeltsin Tejeda
330 413 Ji Dong-won Lee Keun-ho
212 676 Ezequiel Lavezzi Thiago Silva (c)
387 396 Kevin-Prince Boateng Klaas-Jan Huntelaar
147 444 Darijo Srna (c) Marcelo Brozovic
117 265 Chris Wondolowski Graham Zusi
48 540 Andrei Semyonov Oleg Shatov
489 643 Máximo Banguera Sergio Busquets
338 345 Joël Veltman Jonathan de Guzmán
30 710 Alexander Domínguez Walter Ayoví
528 606 Nani Robin van Persie (c)
21 24 Aleksandr Kerzhakov Aleksei Ionov
142 539 Danijel Pranjic Ognjen Vukojevic
125 291 Claudio Marchisio Ignazio Abate
153 219 David Ospina Faryd Mondragón
77 148 Bailey Wright Dario Vidošic
261 366 Gonzalo Higuaín Juan Camilo Zúñiga
457 672 Mario Yepes (c) Teófilo Gutiérrez
122 374 Christoph Kramer Julian Draxler
207 361 Esteban Paredes José Pedro Fuenzalida
87 562 Blaise Matuidi Patrice Evra
94 396 Bruno Martins Indi Klaas-Jan Huntelaar
13 192 Ahmad Alenemeh Ehsan Hajsafi
38 711 Álvaro González Walter Gargano
2 234 Abel Aguilar Fredy Guarín
119 727 Christian Bolaños Yeltsin Tejeda
134 530 DaMarcus Beasley Nick Rimando
166 240 Diego Godín Gastón Ramírez
552 710 Oswaldo Minda Walter Ayoví
105 130 Carlos Sánchez Cristián Zapata
66 192 Ashkan Dejagah Ehsan Hajsafi
80 116 Ben Foster Chris Smalling
289 704 Hulk Viktor Fayzulin
129 711 Cristian Rodríguez Walter Gargano
58 125 Antonio Candreva Claudio Marchisio
259 537 Godfrey Oboabona Ogenyi Onazi
18 199 Albert Adomah Emmanuel Agyemang-Badu
227 371 Fernando Torres Juan Mata
9 60 Adrián Bone Antonio Valencia (c)
7 480 Admir Mehmedi Matthias Ginter
576 646 Phil Jones Shinji Kagawa
42 652 André Almeida Silvestre Varela
72 702 Austin Ejide Victor Moses
202 462 Enzo Pérez Martín Demichelis
411 658 Lee Bum-young Son Heung-min
148 468 Dario Vidošic Massimo Luongo
401 402 Kostas Manolas Kostas Mitroglou
2 100 Abel Aguilar Carlos Carbonero
216 277 Fábio Coentrão Hélder Postiga
42 618 André Almeida Rúben Amorim
521 594 Morgan Schneiderlin Rémy Cabella
421 663 Loïc Rémy Stéphane Ruffier
141 481 Daniele De Rossi Mattia De Sciglio
186 324 Édison Méndez Jefferson Montero
108 494 Cédric Si Mohamed Mehdi Mostefa
480 577 Matthias Ginter Philipp Lahm (c)
131 716 Cristiano Ronaldo (c) William Carvalho
264 646 Gotoku Sakai Shinji Kagawa
409 440 Laurent Koscielny Mamadou Sakho
211 462 Ezequiel Garay Martín Demichelis
127 246 Constant Djakpa Gervinho
61 325 Arjen Robben Jeremain Lens
454 517 Mario Götze Miroslav Klose
17 103 Alan Pulido Carlos Peña
480 678 Matthias Ginter Thomas Müller
159 553 Didier Drogba (c) Ousmane Viera
393 561 Kim Seung-gyu Park Joo-ho
368 595 Juan Carlos Paredes Renato Ibarra
44 614 André Schürrle Ron-Robert Zieler
488 561 Maxim Choupo-Moting Park Joo-ho
189 655 Eduardo Vargas Sofiane Feghouli
136 388 Daniel Cambronero Keylor Navas
195 205 El Arbi Hillel Soudani Essaïd Belkalem
199 347 Emmanuel Agyemang-Badu Jordan Ayew
395 399 Kim Young-gwon Koo Ja-cheol (c)
62 513 Aron Jóhannsson Mikkel Diskerud
578 610 Philippe Senderos Roman Bürki
177 522 Dries Mertens Mousa Dembélé
420 626 Loïc Feudjou Sammy N'Djock
221 366 Federico Fernández Juan Camilo Zúñiga
138 628 Daniel Opare Samuel Inkoom
157 521 Dejan Lovren Morgan Schneiderlin
201 548 Enner Valencia Óscar Bagüí
391 414 Kim Bo-kyung Lee Yong
332 618 João Moutinho Rúben Amorim
201 429 Enner Valencia Luis Saritama
58 249 Antonio Candreva Gianluigi Buffon (c)
474 726 Mathis Bolly Yaya Touré
690 692 Tranquillo Barnetta Valentin Stocker
475 480 Mats Hummels Matthias Ginter
434 668 Luke Shaw Steven Gerrard (c)
386 415 Kevin Mirallas Leighton Baines
128 336 Cristian Gamboa Joel Campbell
450 462 Marcos Rojo Martín Demichelis
496 714 Memphis Depay Wesley Sneijder
47 255 Andreas Samaris Giorgos Tzavellas
83 407 Benjamin Moukandjo Landry N'Guémo
522 679 Mousa Dembélé Thomas Vermaelen
149 566 Daryl Janmaat Paul Verhaegh
42 131 André Almeida Cristiano Ronaldo (c)
224 547 Fernandinho Oscar
242 513 Geoff Cameron Mikkel Diskerud
529 569 Neymar Pedro
86 99 Beto Carlos Bacca
2 701 Abel Aguilar Víctor Ibarbo
2 153 Abel Aguilar David Ospina
596 602 Reto Ziegler Ricardo Rodríguez
112 214 Charles Aránguiz Fabián Orellana
102 264 Carlos Gruezo Gotoku Sakai
29 298 Alex Wilkinson Ivan Franjic
101 230 Carlos Carmona Francisco Silva
187 535 Eduardo da Silva Nikica Jelavic
83 533 Benjamin Moukandjo Nicolas N'Koulou
82 498 Benedikt Höwedes Mesut Özil
241 453 Gelson Fernandes Mario Gavranovic
149 659 Daryl Janmaat Stefan de Vrij
166 677 Diego Godín Thibaut Courtois
307 515 James Holland Mile Jedinak (c)
393 731 Kim Seung-gyu Yun Suk-young
87 288 Blaise Matuidi Hugo Lloris (c)
267 446 Guillermo Ochoa Marco Fabián
376 676 Júlio César Thiago Silva (c)
307 620 James Holland Ryan McGowan
429 643 Luis Saritama Sergio Busquets
331 567 Paulinho
57 381 Antoine Griezmann Karim Benzema
134 265 DaMarcus Beasley Graham Zusi
239 484 Gary Medel Mauricio Pinilla
596 665 Reto Ziegler Steve von Bergen
36 570 Alireza Jahanbakhsh Pejman Montazeri
248 501 Giancarlo González Michael Barrantes
637 684 Senijad Ibricic Tino-Sven Sušic
324 499 Jefferson Montero Michael Arroyo
126 375 Clint Dempsey (c) Julian Green
171 579 Dirk Kuyt Pierre Webó
205 435 Essaïd Belkalem Madjid Bougherra (c)
60 120 Antonio Valencia (c) Christian Noboa
287 734 Hugo Campagnaro Yuto Nagatomo
319 600 Javier Mascherano Ricardo Álvarez
52 329 Andy Najar Jerry Palacios
176 351 Donis Escober Jorge Claros
584 598 Rahman Ahmadi Reza Ghoochannejhad
493 525 Medhi Lacen Nabil Bentaleb
352 461 Jorge Fucile Martín Cáceres
76 425 Bacary Sagna Lucas Digne
222 334 Felipe Caicedo Joao Rojas
242 683 Geoff Cameron Timothy Chandler
330 391 Ji Dong-won Kim Bo-kyung
156 476 DeAndre Yedlin Matt Besler
301 542 Ivica Olic Oliver Zelenika
269 731 Han Kook-young Yun Suk-young
111 245 Cesc Fàbregas Gerard Piqué
364 721 Josip Drmic Xherdan Shaqiri
40 284 Amir Hossein Sadeghi Hossein Mahini
308 555 James Milner Pablo Zabaleta
151 233 David Luiz Fred
473 663 Mathieu Valbuena Stéphane Ruffier
266 271 Granit Xhaka Haris Seferovic
501 588 Michael Barrantes Randall Brenes
536 549 Noel Valladares (c) Óscar Boniek García
462 555 Martín Demichelis Pablo Zabaleta
251 558 Giannis Maniatis Panagiotis Tachtsidis
396 534 Klaas-Jan Huntelaar Nigel de Jong
496 534 Memphis Depay Nigel de Jong
221 225 Federico Fernández Fernando Gago
88 177 Blerim Džemaili Dries Mertens
31 106 Alexander Mejía Carlos Valdés
166 185 Diego Godín Edinson Cavani
138 220 Daniel Opare Fatau Dauda
314 350 Jasper Cillessen Jordy Clasie
565 589 Paul Pogba Raphaël Varane
534 606 Nigel de Jong Robin van Persie (c)
187 653 Eduardo da Silva Šime Vrsaljko
279 280 Henrique Hernanes
134 502 DaMarcus Beasley Michael Bradley
273 306 Hashem Beikzadeh Jalal Hosseini
281 466 Hiroki Sakai Masato Morishige
4 272 Adam Kwarasey Harrison Afful
464 492 Marvin Chávez Maynor Figueroa
674 694 Theofanis Gekas Vangelis Moras
56 707 Anthony Vanden Borre Vincent Kompany (c)
197 232 Emilio Izaguirre Fraser Forster
36 40 Alireza Jahanbakhsh Amir Hossein Sadeghi
199 503 Emmanuel Agyemang-Badu Michael Essien
289 376 Hulk Júlio César
246 553 Gervinho Ousmane Viera
190 232 Efe Ambrose Fraser Forster
365 502 Jozy Altidore Michael Bradley
140 455 Daniel Van Buyten Mario Mandžukic
310 620 James Troisi Ryan McGowan
504 661 Michael Lang Stephan Lichtsteiner
131 332 Cristiano Ronaldo (c) João Moutinho
556 694 Panagiotis Glykos Vangelis Moras
183 538 Edin Džeko Ognjen Vranješ
356 401 José Holebas Kostas Manolas
407 533 Landry N'Guémo Nicolas N'Koulou
458 468 Mark Bresciano Massimo Luongo
534 566 Nigel de Jong Paul Verhaegh
10 100 Adrián Ramos Carlos Carbonero
290 394 Hwang Seok-ho Kim Shin-wook
17 318 Alan Pulido Javier Hernández
198 736 Emir Spahic (c) Zvjezdan Misimovic
182 210 Edgar Salli Eyong Enoh
218 493 Faouzi Ghoulam Medhi Lacen
385 573 Kevin Großkreutz Per Mertesacker
341 530 John Brooks Nick Rimando
473 508 Mathieu Valbuena Mickaël Landreau
591 629 Raúl Albiol Santi Cazorla
404 709 Kwadwo Asamoah Wakaso Mubarak
456 615 Mario Martínez Rony Martínez
394 658 Kim Shin-wook Son Heung-min
443 623 Marcelo Sami Khedira
4 628 Adam Kwarasey Samuel Inkoom
493 722 Medhi Lacen Yacine Brahimi
331 586 Ramires
329 700 Jerry Palacios Víctor Bernárdez
87 523 Blaise Matuidi Moussa Sissoko
36 41 Alireza Jahanbakhsh Andranik Teymourian
83 662 Benjamin Moukandjo Stéphane Mbia
110 316 César Azpilicueta Javi Martínez
381 562 Karim Benzema Patrice Evra
140 179 Daniel Van Buyten Eden Hazard
511 601 Miguel Veloso Ricardo Costa
384 408 Kevin De Bruyne Laurent Ciman
106 309 Carlos Valdés James Rodríguez
403 505 Kunle Odunlami Michael Uchebo
267 564 Guillermo Ochoa Paul Aguilar
571 580 Pepe Rafa Silva
378 617 Júnior Díaz Roy Miller
367 700 Juan Carlos García Víctor Bernárdez
80 616 Ben Foster Ross Barkley
102 334 Carlos Gruezo Joao Rojas
27 348 Alex Oxlade-Chamberlain Jordan Henderson
138 199 Daniel Opare Emmanuel Agyemang-Badu
33 643 Alexis Sánchez Sergio Busquets
118 520 Christian Atsu Mohammed Rabiu
168 359 Diego Pérez José María Giménez
77 470 Bailey Wright Mathew Leckie
520 628 Mohammed Rabiu Samuel Inkoom
485 621 Max Gradel Salomon Kalou
202 225 Enzo Pérez Fernando Gago
396 682 Klaas-Jan Huntelaar Tim Krul
3 226 Abel Hernández Fernando Muslera
284 380 Hossein Mahini Karim Ansarifard
613 714 Ron Vlaar Wesley Sneijder
219 672 Faryd Mondragón Teófilo Gutiérrez
333 618 João Pereira Rúben Amorim
381 604 Karim Benzema Rio Mavuba
339 596 Johan Djourou Reto Ziegler
417 613 Leroy Fer Ron Vlaar
215 578 Fabian Schär Philippe Senderos
138 503 Daniel Opare Michael Essien
75 194 Azubuike Egwuekwe Ejike Uzoenyi
102 186 Carlos Gruezo Édison Méndez
26 59 Alessio Cerci Antonio Cassano
164 629 Diego Costa Santi Cazorla
298 515 Ivan Franjic Mile Jedinak (c)
456 549 Mario Martínez Óscar Boniek García
397 719 Koke Xabi Alonso
35 584 Alireza Haghighi Rahman Ahmadi
203 623 Erik Durm Sami Khedira
171 338 Dirk Kuyt Joël Veltman
62 91 Aron Jóhannsson Brad Guzan
703 716 Vieirinha William Carvalho
543 629 Olivier Giroud Santi Cazorla
173 585 Djamel Mesbah Raïs M'Bolhi
93 528 Bruno Alves Nani
177 667 Dries Mertens Steven Defour
304 366 Jackson Martínez Juan Camilo Zúñiga
112 124 Charles Aránguiz Claudio Bravo (c)
151 342 David Luiz John Obi Mikel
349 629 Jordi Alba Santi Cazorla
208 515 Eugene Galekovic Mile Jedinak (c)
409 629 Laurent Koscielny Santi Cazorla
455 624 Mario Mandžukic Sammir
205 296 Essaïd Belkalem Islam Slimani
11 709 Afriyie Acquah Wakaso Mubarak
296 722 Islam Slimani Yacine Brahimi
230 239 Francisco Silva Gary Medel
241 690 Gelson Fernandes Tranquillo Barnetta
294 569 Iker Casillas (c) Pedro
91 156 Brad Guzan DeAndre Yedlin
325 613 Jeremain Lens Ron Vlaar
485 715 Max Gradel Wilfried Bony
13 570 Ahmad Alenemeh Pejman Montazeri
189 484 Eduardo Vargas Mauricio Pinilla
56 384 Anthony Vanden Borre Kevin De Bruyne
106 457 Carlos Valdés Mario Yepes (c)
227 644 Fernando Torres Sergio Ramos
438 729 Makoto Hasebe (c) Yoichiro Kakitani
68 736 Asmir Begovic Zvjezdan Misimovic
565 728 Paul Pogba Yohan Cabaye
506 563 Michael Umaña Patrick Pemberton
562 646 Patrice Evra Shinji Kagawa
317 546 Javier Aquino Oribe Peralta
160 485 Didier Ya Konan Max Gradel
21 439 Aleksandr Kerzhakov Maksim Kanunnikov
33 262 Alexis Sánchez Gonzalo Jara
146 321 Dany Nounkeu Jean Makoun
425 589 Lucas Digne Raphaël Varane
30 429 Alexander Domínguez Luis Saritama
650 725 Shuichi Gonda Yasuyuki Konno
393 560 Kim Seung-gyu Park Jong-woo
199 340 Emmanuel Agyemang-Badu John Boye
294 349 Iker Casillas (c) Jordi Alba
454 611 Mario Götze Roman Weidenfeller
278 662 Henri Bedimo Stéphane Mbia
660 694 Stefanos Kapino Vangelis Moras
112 262 Charles Aránguiz Gonzalo Jara
35 380 Alireza Haghighi Karim Ansarifard
99 130 Carlos Bacca Cristián Zapata
20 681 Alejandro Bedoya Tim Howard
24 540 Aleksei Ionov Oleg Shatov
9 235 Adrián Bone Frickson Erazo
8 60 Adnan Januzaj Antonio Valencia (c)
183 707 Edin Džeko Vincent Kompany (c)
573 679 Per Mertesacker Thomas Vermaelen
577 721 Philipp Lahm (c) Xherdan Shaqiri
152 588 David Myrie Randall Brenes
378 563 Júnior Díaz Patrick Pemberton
82 475 Benedikt Höwedes Mats Hummels
498 577 Mesut Özil Philipp Lahm (c)
125 565 Claudio Marchisio Paul Pogba
151 436 David Luiz Maicon
277 333 Hélder Postiga João Pereira
279 331 Henrique
242 406 Geoff Cameron Kyle Beckerman
49 658 Andrés Guardado Son Heung-min
115 383 Chigozie Agbim Kenneth Omeruo
89 398 Boubacar Barry Kolo Touré
195 444 El Arbi Hillel Soudani Marcelo Brozovic
252 675 Giorgio Chiellini Thiago Motta
44 238 André Schürrle Gary Cahill
275 546 Héctor Herrera Oribe Peralta
82 327 Benedikt Höwedes Jérôme Boateng
46 58 Andrea Pirlo Antonio Candreva
69 689 Atsuto Uchida Toshihiro Aoyama
342 547 John Obi Mikel Oscar
71 626 Aurélien Chedjou Sammy N'Djock
262 484 Gonzalo Jara Mauricio Pinilla
46 661 Andrea Pirlo Stephan Lichtsteiner
16 695 Alan Dzagoev Vasili Berezutski (c)
299 602 Ivan Perišic Ricardo Rodríguez
459 515 Mark Milligan Mile Jedinak (c)
228 334 Fidel Martínez Joao Rojas
60 228 Antonio Valencia (c) Fidel Martínez
429 569 Luis Saritama Pedro
338 566 Joël Veltman Paul Verhaegh
33 720 Alexis Sánchez Xavi
393 414 Kim Seung-gyu Lee Yong
141 252 Daniele De Rossi Giorgio Chiellini
215 602 Fabian Schär Ricardo Rodríguez
75 383 Azubuike Egwuekwe Kenneth Omeruo
214 354 Fabián Orellana Jorge Valdivia
77 298 Bailey Wright Ivan Franjic
127 638 Constant Djakpa Serey Die
100 630 Carlos Carbonero Santiago Arias
30 489 Alexander Domínguez Máximo Banguera
325 714 Jeremain Lens Wesley Sneijder
7 241 Admir Mehmedi Gelson Fernandes
114 553 Cheick Tioté Ousmane Viera
388 727 Keylor Navas Yeltsin Tejeda
440 663 Mamadou Sakho Stéphane Ruffier
70 202 Augusto Fernández Enzo Pérez
521 543 Morgan Schneiderlin Olivier Giroud
321 533 Jean Makoun Nicolas N'Koulou
147 669 Darijo Srna (c) Stipe Pletikosa
104 546 Carlos Salcido Oribe Peralta
349 419 Jordi Alba Lionel Messi (c)
89 632 Boubacar Barry Sayouba Mandé
688 736 Toni Šunjic Zvjezdan Misimovic
431 547 Luiz Gustavo Oscar
372 492 Juan Pablo Montes Maynor Figueroa
40 389 Amir Hossein Sadeghi Khosro Heydari
118 664 Christian Atsu Stephen Adams
71 407 Aurélien Chedjou Landry N'Guémo
123 482 Ciro Immobile Mattia Perin
267 317 Guillermo Ochoa Javier Aquino
546 564 Oribe Peralta Paul Aguilar
435 493 Madjid Bougherra (c) Medhi Lacen
356 400 José Holebas Kostas Katsouranis
430 634 Luis Suárez Sebastián Coates
134 513 DaMarcus Beasley Mikkel Diskerud
7 578 Admir Mehmedi Philippe Senderos
310 477 James Troisi Matt McKay
172 625 Divock Origi Sammy Bossut
22 158 Aleksandr Kokorin Denis Glushakov
14 194 Ahmed Musa Ejike Uzoenyi
375 687 Julian Green Toni Kroos
222 228 Felipe Caicedo Fidel Martínez
213 530 Fabian Johnson Nick Rimando
266 364 Granit Xhaka Josip Drmic
127 257 Constant Djakpa Giovanni Sio
2 672 Abel Aguilar Teófilo Gutiérrez
391 394 Kim Bo-kyung Kim Shin-wook
138 520 Daniel Opare Mohammed Rabiu
204 637 Ermin Bicakcic Senijad Ibricic
127 726 Constant Djakpa Yaya Touré
497 538 Mensur Mujdža Ognjen Vranješ
269 559 Han Kook-young Park Chu-young
88 261 Blerim Džemaili Gonzalo Higuaín
289 547 Hulk Oscar
107 146 Cédric Djeugoué Dany Nounkeu
461 531 Martín Cáceres Nicolás Lodeiro
325 338 Jeremain Lens Joël Veltman
163 588 Diego Calvo Randall Brenes
137 666 Daniel Davari Steven Beitashour
278 626 Henri Bedimo Sammy N'Djock
257 553 Giovanni Sio Ousmane Viera
27 679 Alex Oxlade-Chamberlain Thomas Vermaelen
264 724 Gotoku Sakai Yasuhito Endo
49 357 Andrés Guardado José Juan Vázquez
94 682 Bruno Martins Indi Tim Krul
366 572 Juan Camilo Zúñiga Pepe Reina
107 579 Cédric Djeugoué Pierre Webó
253 556 Giorgos Karagounis (c) Panagiotis Glykos
141 696 Daniele De Rossi Vasilis Torosidis
16 24 Alan Dzagoev Aleksei Ionov
215 638 Fabian Schär Serey Die
264 729 Gotoku Sakai Yoichiro Kakitani
336 343 Joel Campbell Johnny Acosta
1 218 Abdelmoumene Djabou Faouzi Ghoulam
212 462 Ezequiel Lavezzi Martín Demichelis
629 644 Santi Cazorla Sergio Ramos
38 168 Álvaro González Diego Pérez
19 449 Alberto Aquilani Marco Verratti
170 356 Dimitris Salpingidis José Holebas
130 534 Cristián Zapata Nigel de Jong
365 544 Jozy Altidore Omar Gonzalez
266 578 Granit Xhaka Philippe Senderos
441 465 Manabu Saito Masahiko Inoha
381 409 Karim Benzema Laurent Koscielny
3 121 Abel Hernández Christian Stuani
196 652 Eliaquim Mangala Silvestre Varela
98 176 Carlo Costly Donis Escober
227 720 Fernando Torres Xavi
94 613 Bruno Martins Indi Ron Vlaar
489 552 Máximo Banguera Oswaldo Minda
66 402 Ashkan Dejagah Kostas Mitroglou
545 656 Orestis Karnezis Sokratis Papastathopoulos
100 219 Carlos Carbonero Faryd Mondragón
159 246 Didier Drogba (c) Gervinho
8 654 Adnan Januzaj Simon Mignolet
401 558 Kostas Manolas Panagiotis Tachtsidis
241 602 Gelson Fernandes Ricardo Rodríguez
356 674 José Holebas Theofanis Gekas
125 237 Claudio Marchisio Gabriel Paletta
57 440 Antoine Griezmann Mamadou Sakho
60 562 Antonio Valencia (c) Patrice Evra
45 59 Andrea Barzagli Antonio Cassano
328 372 Jerry Bengtson Juan Pablo Montes
72 706 Austin Ejide Vincent Enyeama
74 625 Axel Witsel Sammy Bossut
53 270 Anel Hadžic Haris Medunjanin
173 655 Djamel Mesbah Sofiane Feghouli
159 639 Didier Drogba (c) Serge Aurier
54 451 Ángel di María Mariano Andújar
336 501 Joel Campbell Michael Barrantes
103 509 Carlos Peña Miguel Ángel Ponce
142 624 Danijel Pranjic Sammir
277 528 Hélder Postiga Nani
96 366 Camilo Vargas Juan Camilo Zúñiga
187 299 Eduardo da Silva Ivan Perišic
392 393 Kim Chang-soo Kim Seung-gyu
521 604 Morgan Schneiderlin Rio Mavuba
444 624 Marcelo Brozovic Sammir
137 584 Daniel Davari Rahman Ahmadi
308 348 James Milner Jordan Henderson
319 720 Javier Mascherano Xavi
33 361 Alexis Sánchez José Pedro Fuenzalida
121 634 Christian Stuani Sebastián Coates
169 318 Diego Reyes Javier Hernández
133 396 Daley Blind Klaas-Jan Huntelaar
331 490 Maxwell
86 131 Beto Cristiano Ronaldo (c)
90 544 Brad Davis Omar Gonzalez
172 654 Divock Origi Simon Mignolet
204 635 Ermin Bicakcic Sejad Salihovic
107 337 Cédric Djeugoué Joël Matip
473 523 Mathieu Valbuena Moussa Sissoko
132 484 Cristopher Toselli Mauricio Pinilla
285 382 Hotaru Yamaguchi Keisuke Honda
94 314 Bruno Martins Indi Jasper Cillessen
160 553 Didier Ya Konan Ousmane Viera
203 678 Erik Durm Thomas Müller
219 554 Faryd Mondragón Pablo Armero
226 486 Fernando Muslera Maxi Pereira
310 479 James Troisi Matthew Špiranovic
104 295 Carlos Salcido Isaác Brizuela
60 334 Antonio Valencia (c) Joao Rojas
69 650 Atsuto Uchida Shuichi Gonda
295 446 Isaác Brizuela Marco Fabián
241 266 Gelson Fernandes Granit Xhaka
466 647 Masato Morishige Shinji Okazaki
640 732 Sergei Ignashevich Yuri Lodygin
169 355 Diego Reyes José de Jesús Corona
175 263 Domagoj Vida Gordon Schildenfeld
179 238 Eden Hazard Gary Cahill
263 300 Gordon Schildenfeld Ivan Rakitic
63 89 Arthur Boka Boubacar Barry
265 544 Graham Zusi Omar Gonzalez
93 579 Bruno Alves Pierre Webó
478 622 Matteo Darmian Salvatore Sirigu
111 368 Cesc Fàbregas Juan Carlos Paredes
350 417 Jordy Clasie Leroy Fer
215 266 Fabian Schär Granit Xhaka
247 315 Ghasem Haddadifar Javad Nekounam (c)
171 350 Dirk Kuyt Jordy Clasie
367 549 Juan Carlos García Óscar Boniek García
82 203 Benedikt Höwedes Erik Durm
49 509 Andrés Guardado Miguel Ángel Ponce
57 523 Antoine Griezmann Moussa Sissoko
32 696 Alexandros Tziolis Vasilis Torosidis
271 453 Haris Seferovic Mario Gavranovic
253 694 Giorgos Karagounis (c) Vangelis Moras
69 647 Atsuto Uchida Shinji Okazaki
3 185 Abel Hernández Edinson Cavani
388 712 Keylor Navas Waylon Francis
190 537 Efe Ambrose Ogenyi Onazi
481 482 Mattia De Sciglio Mattia Perin
146 286 Dany Nounkeu Hugo Almeida
334 710 Joao Rojas Walter Ayoví
143 542 Danijel Subašic Oliver Zelenika
387 633 Kevin-Prince Boateng Sead Kolašinac
17 581 Alan Pulido Rafael Márquez (c)
290 392 Hwang Seok-ho Kim Chang-soo
180 333 Éder João Pereira
16 158 Alan Dzagoev Denis Glushakov
99 369 Carlos Bacca Juan Fernando Quintero
61 714 Arjen Robben Wesley Sneijder
384 431 Kevin De Bruyne Luiz Gustavo
149 325 Daryl Janmaat Jeremain Lens
378 448 Júnior Díaz Marco Ureña
408 612 Laurent Ciman Romelu Lukaku
128 501 Cristian Gamboa Michael Barrantes
539 653 Ognjen Vukojevic Šime Vrsaljko
149 714 Daryl Janmaat Wesley Sneijder
284 389 Hossein Mahini Khosro Heydari
427 549 Luis López Óscar Boniek García
57 521 Antoine Griezmann Morgan Schneiderlin
461 661 Martín Cáceres Stephan Lichtsteiner
419 462 Lionel Messi (c) Martín Demichelis
261 693 Gonzalo Higuaín Valon Behrami
392 559 Kim Chang-soo Park Chu-young
694 696 Vangelis Moras Vasilis Torosidis
24 158 Aleksei Ionov Denis Glushakov
526 652 Nabil Ghilas Silvestre Varela
31 369 Alexander Mejía Juan Fernando Quintero
578 665 Philippe Senderos Steve von Bergen
139 583 Daniel Sturridge Raheem Sterling
146 662 Dany Nounkeu Stéphane Mbia
480 687 Matthias Ginter Toni Kroos
12 608 Agustín Orión Rodrigo Palacio
193 646 Eiji Kawashima Shinji Kagawa
63 161 Arthur Boka Didier Zokora
244 325 Georginio Wijnaldum Jeremain Lens
30 120 Alexander Domínguez Christian Noboa
190 342 Efe Ambrose John Obi Mikel
448 588 Marco Ureña Randall Brenes
28 643 Alex Song Sergio Busquets
315 666 Javad Nekounam (c) Steven Beitashour
524 736 Muhamed Bešic Zvjezdan Misimovic
102 201 Carlos Gruezo Enner Valencia
60 353 Antonio Valencia (c) Jorge Guagua
122 480 Christoph Kramer Matthias Ginter
298 310 Ivan Franjic James Troisi
39 430 Álvaro Pereira Luis Suárez
334 548 Joao Rojas Óscar Bagüí
428 593 Luís Neto Raul Meireles
112 239 Charles Aránguiz Gary Medel
250 400 Giannis Fetfatzidis Kostas Katsouranis
252 483 Giorgio Chiellini Mauricio Isla
381 432 Karim Benzema Luka Modric
129 486 Cristian Rodríguez Maxi Pereira
149 314 Daryl Janmaat Jasper Cillessen
77 458 Bailey Wright Mark Bresciano
243 292 Georgi Shchennikov Igor Akinfeev
21 74 Aleksandr Kerzhakov Axel Witsel
364 661 Josip Drmic Stephan Lichtsteiner
177 527 Dries Mertens Nacer Chadli
199 437 Emmanuel Agyemang-Badu Majeed Waris
229 592 Francisco Javier Rodríguez Raúl Jiménez
301 432 Ivica Olic Luka Modric
166 191 Diego Godín Egidio Arévalo Ríos
84 627 Benoît Assou-Ekotto Samuel Eto'o (c)
255 400 Giorgos Tzavellas Kostas Katsouranis
284 599 Hossein Mahini Reza Haghighi
663 728 Stéphane Ruffier Yohan Cabaye
167 240 Diego Lugano (c) Gastón Ramírez
392 658 Kim Chang-soo Son Heung-min
70 642 Augusto Fernández Sergio Agüero
33 419 Alexis Sánchez Lionel Messi (c)
119 136 Christian Bolaños Daniel Cambronero
156 513 DeAndre Yedlin Mikkel Diskerud
495 598 Mehrdad Pouladi Reza Ghoochannejhad
44 577 André Schürrle Philipp Lahm (c)
261 422 Gonzalo Higuaín Lorenzo Insigne
21 158 Aleksandr Kerzhakov Denis Glushakov
15 582 Aïssa Mandi Rafik Halliche
622 676 Salvatore Sirigu Thiago Silva (c)
383 537 Kenneth Omeruo Ogenyi Onazi
142 514 Danijel Pranjic Milan Badelj
632 657 Sayouba Mandé Sol Bamba
143 147 Danijel Subašic Darijo Srna (c)
265 406 Graham Zusi Kyle Beckerman
195 585 El Arbi Hillel Soudani Raïs M'Bolhi
274 655 Hassan Yebda Sofiane Feghouli
284 570 Hossein Mahini Pejman Montazeri
386 612 Kevin Mirallas Romelu Lukaku
651 734 Shusaku Nishikawa Yuto Nagatomo
113 321 Charles Itandje Jean Makoun
270 736 Haris Medunjanin Zvjezdan Misimovic
253 545 Giorgos Karagounis (c) Orestis Karnezis
246 621 Gervinho Salomon Kalou
95 128 Bryan Ruiz (c) Cristian Gamboa
513 544 Mikkel Diskerud Omar Gonzalez
118 347 Christian Atsu Jordan Ayew
389 598 Khosro Heydari Reza Ghoochannejhad
107 626 Cédric Djeugoué Sammy N'Djock
504 690 Michael Lang Tranquillo Barnetta
373 719 Juanfran Xabi Alonso
171 325 Dirk Kuyt Jeremain Lens
429 720 Luis Saritama Xavi
28 429 Alex Song Luis Saritama
37 217 Allan Nyom Fabrice Olinga
24 174 Aleksei Ionov Dmitri Kombarov
54 225 Ángel di María Fernando Gago
358 642 José María Basanta Sergio Agüero
381 440 Karim Benzema Mamadou Sakho
305 429 Jaime Ayoví Luis Saritama
247 284 Ghasem Haddadifar Hossein Mahini
455 721 Mario Mandžukic Xherdan Shaqiri
298 477 Ivan Franjic Matt McKay
90 549 Brad Davis Óscar Boniek García
28 182 Alex Song Edgar Salli
57 271 Antoine Griezmann Haris Seferovic
67 538 Asmir Avdukic Ognjen Vranješ
197 427 Emilio Izaguirre Luis López
245 368 Gerard Piqué Juan Carlos Paredes
245 569 Gerard Piqué Pedro
494 631 Mehdi Mostefa Saphir Taïder
391 395 Kim Bo-kyung Kim Young-gwon
425 594 Lucas Digne Rémy Cabella
293 704 Igor Denisov Viktor Fayzulin
120 548 Christian Noboa Óscar Bagüí
68 198 Asmir Begovic Emir Spahic (c)
27 144 Alex Oxlade-Chamberlain Danny Welbeck
1 274 Abdelmoumene Djabou Hassan Yebda
621 632 Salomon Kalou Sayouba Mandé
69 382 Atsuto Uchida Keisuke Honda
341 513 John Brooks Mikkel Diskerud
508 728 Mickaël Landreau Yohan Cabaye
408 654 Laurent Ciman Simon Mignolet
441 651 Manabu Saito Shusaku Nishikawa
438 650 Makoto Hasebe (c) Shuichi Gonda
382 465 Keisuke Honda Masahiko Inoha
318 581 Javier Hernández Rafael Márquez (c)
4 670 Adam Kwarasey Sulley Muntari
204 697 Ermin Bicakcic Vedad Ibiševic
428 716 Luís Neto William Carvalho
577 614 Philipp Lahm (c) Ron-Robert Zieler
319 487 Javier Mascherano Maxi Rodríguez
179 522 Eden Hazard Mousa Dembélé
369 526 Juan Fernando Quintero Nabil Ghilas
128 712 Cristian Gamboa Waylon Francis
111 150 Cesc Fàbregas David de Gea
575 612 Phil Jagielka Romelu Lukaku
59 141 Antonio Cassano Daniele De Rossi
494 525 Mehdi Mostefa Nabil Bentaleb
257 398 Giovanni Sio Kolo Touré
478 481 Matteo Darmian Mattia De Sciglio
67 633 Asmir Avdukic Sead Kolašinac
322 632 Jean-Daniel Akpa-Akpro Sayouba Mandé
571 644 Pepe Sergio Ramos
366 422 Juan Camilo Zúñiga Lorenzo Insigne
426 492 Luis Garrido Maynor Figueroa
107 182 Cédric Djeugoué Edgar Salli
392 413 Kim Chang-soo Lee Keun-ho
642 707 Sergio Agüero Vincent Kompany (c)
381 565 Karim Benzema Paul Pogba
331 443 Marcelo
114 161 Cheick Tioté Didier Zokora
522 677 Mousa Dembélé Thibaut Courtois
313 620 Jason Davidson Ryan McGowan
281 729 Hiroki Sakai Yoichiro Kakitani
84 579 Benoît Assou-Ekotto Pierre Webó
70 287 Augusto Fernández Hugo Campagnaro
2 309 Abel Aguilar James Rodríguez
491 647 Maya Yoshida Shinji Okazaki
655 722 Sofiane Feghouli Yacine Brahimi
268 392 Ha Dae-sung Kim Chang-soo
57 508 Antoine Griezmann Mickaël Landreau
142 535 Danijel Pranjic Nikica Jelavic
275 317 Héctor Herrera Javier Aquino
10 96 Adrián Ramos Camilo Vargas
222 353 Felipe Caicedo Jorge Guagua
222 595 Felipe Caicedo Renato Ibarra
223 239 Felipe Gutiérrez Gary Medel
518 656 Mitchell Langerak Sokratis Papastathopoulos
324 368 Jefferson Montero Juan Carlos Paredes
91 406 Brad Guzan Kyle Beckerman
371 576 Juan Mata Phil Jones
126 213 Clint Dempsey (c) Fabian Johnson
285 725 Hotaru Yamaguchi Yasuyuki Konno
37 113 Allan Nyom Charles Itandje
187 300 Eduardo da Silva Ivan Rakitic
115 691 Chigozie Agbim Uche Nwofor
519 655 Mohamed Zemmamouche Sofiane Feghouli
20 213 Alejandro Bedoya Fabian Johnson
149 673 Daryl Janmaat Terence Kongolo
237 711 Gabriel Paletta Walter Gargano
314 417 Jasper Cillessen Leroy Fer
368 489 Juan Carlos Paredes Máximo Banguera
55 299 Ante Rebic Ivan Perišic
21 532 Aleksandr Kerzhakov Nicolas Lombaerts
367 427 Juan Carlos García Luis López
149 613 Daryl Janmaat Ron Vlaar
431 443 Luiz Gustavo Marcelo
246 516 Gervinho Miralem Pjanic
179 685 Eden Hazard Toby Alderweireld
172 612 Divock Origi Romelu Lukaku
70 225 Augusto Fernández Fernando Gago
409 521 Laurent Koscielny Morgan Schneiderlin
350 507 Jordy Clasie Michel Vorm
151 289 David Luiz Hulk
399 560 Koo Ja-cheol (c) Park Jong-woo
196 565 Eliaquim Mangala Paul Pogba
290 689 Hwang Seok-ho Toshihiro Aoyama
396 496 Klaas-Jan Huntelaar Memphis Depay
374 573 Julian Draxler Per Mertesacker
94 133 Bruno Martins Indi Daley Blind
46 125 Andrea Pirlo Claudio Marchisio
5 139 Adam Lallana Daniel Sturridge
245 294 Gerard Piqué Iker Casillas (c)
481 534 Mattia De Sciglio Nigel de Jong
473 562 Mathieu Valbuena Patrice Evra
28 662 Alex Song Stéphane Mbia
162 301 Diego Benaglio Ivica Olic
440 521 Mamadou Sakho Morgan Schneiderlin
197 254 Emilio Izaguirre Giorgos Samaras
469 535 Mateo Kovacic Nikica Jelavic
621 639 Salomon Kalou Serge Aurier
496 630 Memphis Depay Santiago Arias
143 469 Danijel Subašic Mateo Kovacic
551 718 Osman Chávez Wilson Palacios
297 322 Ismaël Diomandé Jean-Daniel Akpa-Akpro
378 506 Júnior Díaz Michael Umaña
136 617 Daniel Cambronero Roy Miller
108 525 Cédric Si Mohamed Nabil Bentaleb
141 447 Daniele De Rossi Marco Parolo
489 720 Máximo Banguera Xavi
370 672 Juan Guillermo Cuadrado Teófilo Gutiérrez
16 22 Alan Dzagoev Aleksandr Kokorin
59 711 Antonio Cassano Walter Gargano
60 460 Antonio Valencia (c) Marouane Fellaini
281 725 Hiroki Sakai Yasuyuki Konno
282 730 Hiroshi Kiyotake Yoshito Okubo
689 729 Toshihiro Aoyama Yoichiro Kakitani
206 588 Esteban Granados Randall Brenes
44 442 André Schürrle Manuel Neuer
56 74 Anthony Vanden Borre Axel Witsel
129 463 Cristian Rodríguez Martín Silva
228 548 Fidel Martínez Óscar Bagüí
223 484 Felipe Gutiérrez Mauricio Pinilla
535 624 Nikica Jelavic Sammir
210 626 Eyong Enoh Sammy N'Djock
165 634 Diego Forlán Sebastián Coates
382 534 Keisuke Honda Nigel de Jong
642 726 Sergio Agüero Yaya Touré
69 441 Atsuto Uchida Manabu Saito
324 710 Jefferson Montero Walter Ayoví
157 432 Dejan Lovren Luka Modric
142 301 Danijel Pranjic Ivica Olic
55 455 Ante Rebic Mario Mandžukic
51 640 Andrey Yeshchenko Sergei Ignashevich
604 663 Rio Mavuba Stéphane Ruffier
602 692 Ricardo Rodríguez Valentin Stocker
148 459 Dario Vidošic Mark Milligan
76 629 Bacary Sagna Santi Cazorla
269 377 Han Kook-young Jung Sung-ryong
40 495 Amir Hossein Sadeghi Mehrdad Pouladi
611 678 Roman Weidenfeller Thomas Müller
154 569 David Silva Pedro
486 618 Maxi Pereira Rúben Amorim
491 650 Maya Yoshida Shuichi Gonda
216 571 Fábio Coentrão Pepe
510 581 Miguel Layún Rafael Márquez (c)
194 691 Ejike Uzoenyi Uche Nwofor
121 352 Christian Stuani Jorge Fucile
60 305 Antonio Valencia (c) Jaime Ayoví
39 607 Álvaro Pereira Rodrigo Muñoz
37 83 Allan Nyom Benjamin Moukandjo
202 618 Enzo Pérez Rúben Amorim
53 302 Anel Hadžic Izet Hajrovic
79 577 Bastian Schweinsteiger Philipp Lahm (c)
154 294 David Silva Iker Casillas (c)
55 539 Ante Rebic Ognjen Vukojevic
54 432 Ángel di María Luka Modric
411 560 Lee Bum-young Park Jong-woo
406 683 Kyle Beckerman Timothy Chandler
399 413 Koo Ja-cheol (c) Lee Keun-ho
171 566 Dirk Kuyt Paul Verhaegh
176 329 Donis Escober Jerry Palacios
337 662 Joël Matip Stéphane Mbia
145 151 Dante David Luiz
32 556 Alexandros Tziolis Panagiotis Glykos
7 693 Admir Mehmedi Valon Behrami
536 551 Noel Valladares (c) Osman Chávez
38 185 Álvaro González Edinson Cavani
220 503 Fatau Dauda Michael Essien
621 715 Salomon Kalou Wilfried Bony
281 735 Hiroki Sakai Yuya Osako
191 352 Egidio Arévalo Ríos Jorge Fucile
70 451 Augusto Fernández Mariano Andújar
391 560 Kim Bo-kyung Park Jong-woo
264 285 Gotoku Sakai Hotaru Yamaguchi
616 713 Ross Barkley Wayne Rooney
248 336 Giancarlo González Joel Campbell
22 292 Aleksandr Kokorin Igor Akinfeev
283 411 Hong Jeong-ho Lee Bum-young
190 702 Efe Ambrose Victor Moses
472 473 Mathieu Debuchy Mathieu Valbuena
127 485 Constant Djakpa Max Gradel
189 262 Eduardo Vargas Gonzalo Jara
232 668 Fraser Forster Steven Gerrard (c)
112 320 Charles Aránguiz Jean Beausejour
36 78 Alireza Jahanbakhsh Bakhtiar Rahmani
93 703 Bruno Alves Vieirinha
126 406 Clint Dempsey (c) Kyle Beckerman
86 277 Beto Hélder Postiga
278 627 Henri Bedimo Samuel Eto'o (c)
164 719 Diego Costa Xabi Alonso
135 436 Dani Alves Maicon
54 450 Ángel di María Marcos Rojo
48 732 Andrei Semyonov Yuri Lodygin
280 436 Hernanes Maicon
339 692 Johan Djourou Valentin Stocker
538 635 Ognjen Vranješ Sejad Salihovic
145 676 Dante Thiago Silva (c)
650 729 Shuichi Gonda Yoichiro Kakitani
633 637 Sead Kolašinac Senijad Ibricic
347 590 Jordan Ayew Rashid Sumaila
133 338 Daley Blind Joël Veltman
258 702 Glen Johnson Victor Moses
124 189 Claudio Bravo (c) Eduardo Vargas
436 567 Maicon Paulinho
15 418 Aïssa Mandi Liassine Cadamuro-Bentaïba
330 411 Ji Dong-won Lee Bum-young
251 557 Giannis Maniatis Panagiotis Kone
63 553 Arthur Boka Ousmane Viera
306 495 Jalal Hosseini Mehrdad Pouladi
54 221 Ángel di María Federico Fernández
95 119 Bryan Ruiz (c) Christian Bolaños
50 489 Andrés Iniesta Máximo Banguera
391 731 Kim Bo-kyung Yun Suk-young
125 622 Claudio Marchisio Salvatore Sirigu
389 584 Khosro Heydari Rahman Ahmadi
339 661 Johan Djourou Stephan Lichtsteiner
121 531 Christian Stuani Nicolás Lodeiro
9 324 Adrián Bone Jefferson Montero
173 722 Djamel Mesbah Yacine Brahimi
388 501 Keylor Navas Michael Barrantes
302 312 Izet Hajrovic Jasmin Fejzic
377 393 Jung Sung-ryong Kim Seung-gyu
163 563 Diego Calvo Patrick Pemberton
654 668 Simon Mignolet Steven Gerrard (c)
527 654 Nacer Chadli Simon Mignolet
449 675 Marco Verratti Thiago Motta
212 419 Ezequiel Lavezzi Lionel Messi (c)
59 249 Antonio Cassano Gianluigi Buffon (c)
298 468 Ivan Franjic Massimo Luongo
617 680 Roy Miller Tim Cahill
429 489 Luis Saritama Máximo Banguera
336 617 Joel Campbell Roy Miller
224 233 Fernandinho Fred
93 619 Bruno Alves Rui Patrício
431 676 Luiz Gustavo Thiago Silva (c)
227 342 Fernando Torres John Obi Mikel
279 529 Henrique Neymar
364 453 Josip Drmic Mario Gavranovic
265 683 Graham Zusi Timothy Chandler
267 510 Guillermo Ochoa Miguel Layún
529 547 Neymar Oscar
88 366 Blerim Džemaili Juan Camilo Zúñiga
525 526 Nabil Bentaleb Nabil Ghilas
126 326 Clint Dempsey (c) Jermaine Jones
286 571 Hugo Almeida Pepe
213 683 Fabian Johnson Timothy Chandler
303 603 Jack Wilshere Rickie Lambert
179 612 Eden Hazard Romelu Lukaku
37 84 Allan Nyom Benoît Assou-Ekotto
68 637 Asmir Begovic Senijad Ibricic
25 733 Aleksei Kozlov Yuri Zhirkov
422 481 Lorenzo Insigne Mattia De Sciglio
123 416 Ciro Immobile Leonardo Bonucci
96 153 Camilo Vargas David Ospina
14 342 Ahmed Musa John Obi Mikel
263 542 Gordon Schildenfeld Oliver Zelenika
354 361 Jorge Valdivia José Pedro Fuenzalida
131 644 Cristiano Ronaldo (c) Sergio Ramos
125 482 Claudio Marchisio Mattia Perin
638 723 Serey Die Yann Sommer
97 605 Carl Medjani Riyad Mahrez
316 349 Javi Martínez Jordi Alba
356 557 José Holebas Panagiotis Kone
54 212 Ángel di María Ezequiel Lavezzi
442 648 Manuel Neuer Shkodran Mustafi
90 156 Brad Davis DeAndre Yedlin
46 237 Andrea Pirlo Gabriel Paletta
365 681 Jozy Altidore Tim Howard
661 723 Stephan Lichtsteiner Yann Sommer
27 616 Alex Oxlade-Chamberlain Ross Barkley
62 213 Aron Jóhannsson Fabian Johnson
8 408 Adnan Januzaj Laurent Ciman
207 239 Esteban Paredes Gary Medel
54 555 Ángel di María Pablo Zabaleta
58 141 Antonio Candreva Daniele De Rossi
29 458 Alex Wilkinson Mark Bresciano
183 697 Edin Džeko Vedad Ibiševic
427 551 Luis López Osman Chávez
92 492 Brayan Beckeles Maynor Figueroa
466 730 Masato Morishige Yoshito Okubo
329 343 Jerry Palacios Johnny Acosta
139 576 Daniel Sturridge Phil Jones
105 370 Carlos Sánchez Juan Guillermo Cuadrado
173 205 Djamel Mesbah Essaïd Belkalem
643 720 Sergio Busquets Xavi
381 728 Karim Benzema Yohan Cabaye
253 674 Giorgos Karagounis (c) Theofanis Gekas
314 345 Jasper Cillessen Jonathan de Guzmán
327 374 Jérôme Boateng Julian Draxler
104 318 Carlos Salcido Javier Hernández
42 619 André Almeida Rui Patrício
379 403 Juwon Oshaniwa Kunle Odunlami
78 247 Bakhtiar Rahmani Ghasem Haddadifar
142 175 Danijel Pranjic Domagoj Vida
76 472 Bacary Sagna Mathieu Debuchy
358 450 José María Basanta Marcos Rojo
341 502 John Brooks Michael Bradley
33 445 Alexis Sánchez Marcelo Díaz
387 437 Kevin-Prince Boateng Majeed Waris
216 623 Fábio Coentrão Sami Khedira
226 634 Fernando Muslera Sebastián Coates
96 672 Camilo Vargas Teófilo Gutiérrez
90 681 Brad Davis Tim Howard
77 541 Bailey Wright Oliver Bozanic
154 726 David Silva Yaya Touré
127 322 Constant Djakpa Jean-Daniel Akpa-Akpro
90 134 Brad Davis DaMarcus Beasley
314 534 Jasper Cillessen Nigel de Jong
228 353 Fidel Martínez Jorge Guagua
453 602 Mario Gavranovic Ricardo Rodríguez
397 629 Koke Santi Cazorla
186 353 Édison Méndez Jorge Guagua
144 434 Danny Welbeck Luke Shaw
229 581 Francisco Javier Rodríguez Rafael Márquez (c)
614 678 Ron-Robert Zieler Thomas Müller
305 499 Jaime Ayoví Michael Arroyo
124 362 Claudio Bravo (c) José Rojas
651 724 Shusaku Nishikawa Yasuhito Endo
172 384 Divock Origi Kevin De Bruyne
431 699 Luiz Gustavo Victor
96 369 Camilo Vargas Juan Fernando Quintero
111 529 Cesc Fàbregas Neymar
166 531 Diego Godín Nicolás Lodeiro
208 680 Eugene Galekovic Tim Cahill
443 717 Marcelo Willian
359 373 José María Giménez Juanfran
160 257 Didier Ya Konan Giovanni Sio
53 637 Anel Hadžic Senijad Ibricic
369 554 Juan Fernando Quintero Pablo Armero
81 310 Ben Halloran James Troisi
387 404 Kevin-Prince Boateng Kwadwo Asamoah
73 635 Avdija Vršajevic Sejad Salihovic
43 138 André Ayew Daniel Opare
47 400 Andreas Samaris Kostas Katsouranis
191 486 Egidio Arévalo Ríos Maxi Pereira
57 615 Antoine Griezmann Rony Martínez
104 267 Carlos Salcido Guillermo Ochoa
153 309 David Ospina James Rodríguez
95 206 Bryan Ruiz (c) Esteban Granados
227 591 Fernando Torres Raúl Albiol
68 636 Asmir Begovic Senad Lulic
6 307 Adam Taggart James Holland
139 258 Daniel Sturridge Glen Johnson
43 404 André Ayew Kwadwo Asamoah
489 569 Máximo Banguera Pedro
48 640 Andrei Semyonov Sergei Ignashevich
291 449 Ignazio Abate Marco Verratti
96 630 Camilo Vargas Santiago Arias
428 532 Luís Neto Nicolas Lombaerts
135 419 Dani Alves Lionel Messi (c)
87 449 Blaise Matuidi Marco Verratti
55 469 Ante Rebic Mateo Kovacic
25 120 Aleksei Kozlov Christian Noboa
341 681 John Brooks Tim Howard
275 352 Héctor Herrera Jorge Fucile
10 99 Adrián Ramos Carlos Bacca
371 528 Juan Mata Nani
239 344 Gary Medel Johnny Herrera
85 135 Bernard Dani Alves
338 673 Joël Veltman Terence Kongolo
192 284 Ehsan Hajsafi Hossein Mahini
525 655 Nabil Bentaleb Sofiane Feghouli
8 685 Adnan Januzaj Toby Alderweireld
116 616 Chris Smalling Ross Barkley
39 461 Álvaro Pereira Martín Cáceres
166 685 Diego Godín Toby Alderweireld
288 508 Hugo Lloris (c) Mickaël Landreau
133 171 Daley Blind Dirk Kuyt
295 564 Isaác Brizuela Paul Aguilar
9 228 Adrián Bone Fidel Martínez
430 668 Luis Suárez Steven Gerrard (c)
250 482 Giannis Fetfatzidis Mattia Perin
77 680 Bailey Wright Tim Cahill
76 562 Bacary Sagna Patrice Evra
252 452 Giorgio Chiellini Mario Balotelli
289 431 Hulk Luiz Gustavo
356 556 José Holebas Panagiotis Glykos
18 138 Albert Adomah Daniel Opare
178 372 Edder Delgado Juan Pablo Montes
272 404 Harrison Afful Kwadwo Asamoah
391 561 Kim Bo-kyung Park Joo-ho
473 521 Mathieu Valbuena Morgan Schneiderlin
301 514 Ivica Olic Milan Badelj
28 489 Alex Song Máximo Banguera
52 56 Andy Najar Anthony Vanden Borre
243 695 Georgi Shchennikov Vasili Berezutski (c)
599 666 Reza Haghighi Steven Beitashour
410 696 Lazaros Christodoulopoulos Vasilis Torosidis
135 368 Dani Alves Juan Carlos Paredes
45 565 Andrea Barzagli Paul Pogba
206 712 Esteban Granados Waylon Francis
15 494 Aïssa Mandi Mehdi Mostefa
179 386 Eden Hazard Kevin Mirallas
74 704 Axel Witsel Viktor Fayzulin
54 419 Ángel di María Lionel Messi (c)
428 601 Luís Neto Ricardo Costa
121 607 Christian Stuani Rodrigo Muñoz
241 364 Gelson Fernandes Josip Drmic
5 668 Adam Lallana Steven Gerrard (c)
231 258 Frank Lampard Glen Johnson
286 528 Hugo Almeida Nani
292 704 Igor Akinfeev Viktor Fayzulin
169 546 Diego Reyes Oribe Peralta
49 581 Andrés Guardado Rafael Márquez (c)
176 609 Donis Escober Roger Espinoza
271 690 Haris Seferovic Tranquillo Barnetta
211 358 Ezequiel Garay José María Basanta
314 325 Jasper Cillessen Jeremain Lens
317 564 Javier Aquino Paul Aguilar
103 229 Carlos Peña Francisco Javier Rodríguez
423 557 Loukas Vyntra Panagiotis Kone
418 519 Liassine Cadamuro-Bentaïba Mohamed Zemmamouche
35 598 Alireza Haghighi Reza Ghoochannejhad
271 610 Haris Seferovic Roman Bürki
221 287 Federico Fernández Hugo Campagnaro
440 508 Mamadou Sakho Mickaël Landreau
74 679 Axel Witsel Thomas Vermaelen
158 174 Denis Glushakov Dmitri Kombarov
45 675 Andrea Barzagli Thiago Motta
45 622 Andrea Barzagli Salvatore Sirigu
76 523 Bacary Sagna Moussa Sissoko
375 406 Julian Green Kyle Beckerman
68 574 Asmir Begovic Peter Odemwingie
519 585 Mohamed Zemmamouche Raïs M'Bolhi
562 594 Patrice Evra Rémy Cabella
79 316 Bastian Schweinsteiger Javi Martínez
76 409 Bacary Sagna Laurent Koscielny
364 692 Josip Drmic Valentin Stocker
444 669 Marcelo Brozovic Stipe Pletikosa
36 380 Alireza Jahanbakhsh Karim Ansarifard
64 101 Arturo Vidal Carlos Carmona
201 324 Enner Valencia Jefferson Montero
121 276 Christian Stuani Héctor Moreno
527 707 Nacer Chadli Vincent Kompany (c)
182 705 Edgar Salli Vincent Aboubakar
283 394 Hong Jeong-ho Kim Shin-wook
28 488 Alex Song Maxim Choupo-Moting
447 675 Marco Parolo Thiago Motta
24 695 Aleksei Ionov Vasili Berezutski (c)
281 491 Hiroki Sakai Maya Yoshida
511 528 Miguel Veloso Nani
550 617 Óscar Duarte Roy Miller
562 728 Patrice Evra Yohan Cabaye
73 637 Avdija Vršajevic Senijad Ibricic
274 605 Hassan Yebda Riyad Mahrez
508 565 Mickaël Landreau Paul Pogba
79 145 Bastian Schweinsteiger Dante
223 362 Felipe Gutiérrez José Rojas
311 685 Jan Vertonghen Toby Alderweireld
50 227 Andrés Iniesta Fernando Torres
556 674 Panagiotis Glykos Theofanis Gekas
23 48 Aleksandr Samedov Andrei Semyonov
446 564 Marco Fabián Paul Aguilar
189 354 Eduardo Vargas Jorge Valdivia
391 393 Kim Bo-kyung Kim Seung-gyu
493 655 Medhi Lacen Sofiane Feghouli
174 708 Dmitri Kombarov Vladimir Granat
246 726 Gervinho Yaya Touré
337 387 Joël Matip Kevin-Prince Boateng
297 553 Ismaël Diomandé Ousmane Viera
571 589 Pepe Raphaël Varane
63 638 Arthur Boka Serey Die
304 457 Jackson Martínez Mario Yepes (c)
177 677 Dries Mertens Thibaut Courtois
286 511 Hugo Almeida Miguel Veloso
94 338 Bruno Martins Indi Joël Veltman
357 592 José Juan Vázquez Raúl Jiménez
256 581 Giovani dos Santos Rafael Márquez (c)
633 697 Sead Kolašinac Vedad Ibiševic
92 328 Brayan Beckeles Jerry Bengtson
4 340 Adam Kwarasey John Boye
22 708 Aleksandr Kokorin Vladimir Granat
612 625 Romelu Lukaku Sammy Bossut
208 307 Eugene Galekovic James Holland
42 601 André Almeida Ricardo Costa
26 45 Alessio Cerci Andrea Barzagli
453 721 Mario Gavranovic Xherdan Shaqiri
439 733 Maksim Kanunnikov Yuri Zhirkov
432 539 Luka Modric Ognjen Vukojevic
58 277 Antonio Candreva Hélder Postiga
175 301 Domagoj Vida Ivica Olic
493 582 Medhi Lacen Rafik Halliche
336 378 Joel Campbell Júnior Díaz
99 234 Carlos Bacca Fredy Guarín
46 416 Andrea Pirlo Leonardo Bonucci
33 112 Alexis Sánchez Charles Aránguiz
633 736 Sead Kolašinac Zvjezdan Misimovic
120 305 Christian Noboa Jaime Ayoví
47 558 Andreas Samaris Panagiotis Tachtsidis
355 546 José de Jesús Corona Oribe Peralta
146 579 Dany Nounkeu Pierre Webó
21 568 Aleksandr Kerzhakov Pavel Mogilevets
304 667 Jackson Martínez Steven Defour
637 688 Senijad Ibricic Toni Šunjic
395 560 Kim Young-gwon Park Jong-woo
115 505 Chigozie Agbim Michael Uchebo
8 150 Adnan Januzaj David de Gea
13 284 Ahmad Alenemeh Hossein Mahini
193 382 Eiji Kawashima Keisuke Honda
196 526 Eliaquim Mangala Nabil Ghilas
503 590 Michael Essien Rashid Sumaila
202 319 Enzo Pérez Javier Mascherano
23 243 Aleksandr Samedov Georgi Shchennikov
56 311 Anthony Vanden Borre Jan Vertonghen
33 135 Alexis Sánchez Dani Alves
25 708 Aleksei Kozlov Vladimir Granat
178 456 Edder Delgado Mario Martínez
34 355 Alfredo Talavera José de Jesús Corona
567 699 Paulinho Victor
165 285 Diego Forlán Hotaru Yamaguchi
45 141 Andrea Barzagli Daniele De Rossi
516 688 Miralem Pjanic Toni Šunjic
532 679 Nicolas Lombaerts Thomas Vermaelen
101 354 Carlos Carmona Jorge Valdivia
357 546 José Juan Vázquez Oribe Peralta
336 588 Joel Campbell Randall Brenes
323 331 Jefferson
192 584 Ehsan Hajsafi Rahman Ahmadi
319 451 Javier Mascherano Mariano Andújar
270 497 Haris Medunjanin Mensur Mujdža
59 482 Antonio Cassano Mattia Perin
126 156 Clint Dempsey (c) DeAndre Yedlin
143 175 Danijel Subašic Domagoj Vida
370 457 Juan Guillermo Cuadrado Mario Yepes (c)
219 370 Faryd Mondragón Juan Guillermo Cuadrado
200 587 Emmanuel Emenike Ramon Azeez
343 448 Johnny Acosta Marco Ureña
341 683 John Brooks Timothy Chandler
172 667 Divock Origi Steven Defour
25 568 Aleksei Kozlov Pavel Mogilevets
435 525 Madjid Bougherra (c) Nabil Bentaleb
632 715 Sayouba Mandé Wilfried Bony
155 720 David Villa Xavi
213 341 Fabian Johnson John Brooks
260 661 Gökhan Inler (c) Stephan Lichtsteiner
619 716 Rui Patrício William Carvalho
151 699 David Luiz Victor
57 473 Antoine Griezmann Mathieu Valbuena
231 713 Frank Lampard Wayne Rooney
689 735 Toshihiro Aoyama Yuya Osako
352 369 Jorge Fucile Juan Fernando Quintero
376 431 Júlio César Luiz Gustavo
102 499 Carlos Gruezo Michael Arroyo
111 373 Cesc Fàbregas Juanfran
80 583 Ben Foster Raheem Sterling
441 730 Manabu Saito Yoshito Okubo
37 146 Allan Nyom Dany Nounkeu
125 449 Claudio Marchisio Marco Verratti
206 506 Esteban Granados Michael Umaña
280 631 Hernanes Saphir Taïder
682 714 Tim Krul Wesley Sneijder
63 114 Arthur Boka Cheick Tioté
49 229 Andrés Guardado Francisco Javier Rodríguez
33 354 Alexis Sánchez Jorge Valdivia
42 86 André Almeida Beto
113 217 Charles Itandje Fabrice Olinga
474 621 Mathis Bolly Salomon Kalou
240 491 Gastón Ramírez Maya Yoshida
291 447 Ignazio Abate Marco Parolo
170 402 Dimitris Salpingidis Kostas Mitroglou
258 415 Glen Johnson Leighton Baines
31 672 Alexander Mejía Teófilo Gutiérrez
71 84 Aurélien Chedjou Benoît Assou-Ekotto
125 252 Claudio Marchisio Giorgio Chiellini
293 540 Igor Denisov Oleg Shatov
540 640 Oleg Shatov Sergei Ignashevich
121 711 Christian Stuani Walter Gargano
243 540 Georgi Shchennikov Oleg Shatov
228 429 Fidel Martínez Luis Saritama
140 145 Daniel Van Buyten Dante
294 443 Iker Casillas (c) Marcelo
66 284 Ashkan Dejagah Hossein Mahini
150 719 David de Gea Xabi Alonso
406 681 Kyle Beckerman Tim Howard
317 510 Javier Aquino Miguel Layún
281 724 Hiroki Sakai Yasuhito Endo
421 682 Loïc Rémy Tim Krul
158 292 Denis Glushakov Igor Akinfeev
259 649 Godfrey Oboabona Shola Ameobi
653 669 Šime Vrsaljko Stipe Pletikosa
535 539 Nikica Jelavic Ognjen Vukojevic
432 644 Luka Modric Sergio Ramos
692 721 Valentin Stocker Xherdan Shaqiri
522 625 Mousa Dembélé Sammy Bossut
375 544 Julian Green Omar Gonzalez
306 584 Jalal Hosseini Rahman Ahmadi
528 601 Nani Ricardo Costa
627 662 Samuel Eto'o (c) Stéphane Mbia
173 435 Djamel Mesbah Madjid Bougherra (c)
139 440 Daniel Sturridge Mamadou Sakho
559 561 Park Chu-young Park Joo-ho
330 394 Ji Dong-won Kim Shin-wook
207 223 Esteban Paredes Felipe Gutiérrez
511 571 Miguel Veloso Pepe
558 694 Panagiotis Tachtsidis Vangelis Moras
216 432 Fábio Coentrão Luka Modric
15 435 Aïssa Mandi Madjid Bougherra (c)
50 294 Andrés Iniesta Iker Casillas (c)
224 555 Fernandinho Pablo Zabaleta
78 192 Bakhtiar Rahmani Ehsan Hajsafi
5 144 Adam Lallana Danny Welbeck
126 681 Clint Dempsey (c) Tim Howard
270 697 Haris Medunjanin Vedad Ibiševic
87 565 Blaise Matuidi Paul Pogba
256 295 Giovani dos Santos Isaác Brizuela
166 352 Diego Godín Jorge Fucile
201 368 Enner Valencia Juan Carlos Paredes
594 604 Rémy Cabella Rio Mavuba
148 470 Dario Vidošic Mathew Leckie
145 323 Dante Jefferson
256 318 Giovani dos Santos Javier Hernández
410 694 Lazaros Christodoulopoulos Vangelis Moras
216 294 Fábio Coentrão Iker Casillas (c)
163 360 Diego Calvo José Miguel Cubero
332 511 João Moutinho Miguel Veloso
625 685 Sammy Bossut Toby Alderweireld
311 522 Jan Vertonghen Mousa Dembélé
132 230 Cristopher Toselli Francisco Silva
151 529 David Luiz Neymar
173 519 Djamel Mesbah Mohamed Zemmamouche
554 672 Pablo Armero Teófilo Gutiérrez
5 713 Adam Lallana Wayne Rooney
16 568 Alan Dzagoev Pavel Mogilevets
265 530 Graham Zusi Nick Rimando
613 682 Ron Vlaar Tim Krul
28 569 Alex Song Pedro
2 366 Abel Aguilar Juan Camilo Zúñiga
62 502 Aron Jóhannsson Michael Bradley
19 55 Alberto Aquilani Ante Rebic
189 239 Eduardo Vargas Gary Medel
164 245 Diego Costa Gerard Piqué
316 577 Javi Martínez Philipp Lahm (c)
225 319 Fernando Gago Javier Mascherano
112 354 Charles Aránguiz Jorge Valdivia
614 623 Ron-Robert Zieler Sami Khedira
448 727 Marco Ureña Yeltsin Tejeda
126 544 Clint Dempsey (c) Omar Gonzalez
59 481 Antonio Cassano Mattia De Sciglio
162 299 Diego Benaglio Ivan Perišic
90 406 Brad Davis Kyle Beckerman
398 715 Kolo Touré Wilfried Bony
621 706 Salomon Kalou Vincent Enyeama
337 705 Joël Matip Vincent Aboubakar
188 703 Eduardo dos Reis Carvalho Vieirinha
277 652 Hélder Postiga Silvestre Varela
19 141 Alberto Aquilani Daniele De Rossi
338 606 Joël Veltman Robin van Persie (c)
132 362 Cristopher Toselli José Rojas
587 702 Ramon Azeez Victor Moses
110 547 César Azpilicueta Oscar
97 525 Carl Medjani Nabil Bentaleb
554 630 Pablo Armero Santiago Arias
432 669 Luka Modric Stipe Pletikosa
393 559 Kim Seung-gyu Park Chu-young
82 396 Benedikt Höwedes Klaas-Jan Huntelaar
46 59 Andrea Pirlo Antonio Cassano
43 346 André Ayew Jonathan Mensah
529 643 Neymar Sergio Busquets
385 517 Kevin Großkreutz Miroslav Klose
21 292 Aleksandr Kerzhakov Igor Akinfeev
568 708 Pavel Mogilevets Vladimir Granat
442 721 Manuel Neuer Xherdan Shaqiri
1 526 Abdelmoumene Djabou Nabil Ghilas
19 478 Alberto Aquilani Matteo Darmian
345 715 Jonathan de Guzmán Wilfried Bony
287 608 Hugo Campagnaro Rodrigo Palacio
293 732 Igor Denisov Yuri Lodygin
21 640 Aleksandr Kerzhakov Sergei Ignashevich
492 615 Maynor Figueroa Rony Martínez
398 621 Kolo Touré Salomon Kalou
27 498 Alex Oxlade-Chamberlain Mesut Özil
455 669 Mario Mandžukic Stipe Pletikosa
342 383 John Obi Mikel Kenneth Omeruo
600 642 Ricardo Álvarez Sergio Agüero
504 665 Michael Lang Steve von Bergen
332 601 João Moutinho Ricardo Costa
58 622 Antonio Candreva Salvatore Sirigu
141 675 Daniele De Rossi Thiago Motta
134 326 DaMarcus Beasley Jermaine Jones
32 558 Alexandros Tziolis Panagiotis Tachtsidis
290 561 Hwang Seok-ho Park Joo-ho
94 566 Bruno Martins Indi Paul Verhaegh
93 428 Bruno Alves Luís Neto
465 735 Masahiko Inoha Yuya Osako
528 576 Nani Phil Jones
89 485 Boubacar Barry Max Gradel
10 672 Adrián Ramos Teófilo Gutiérrez
148 208 Dario Vidošic Eugene Galekovic
237 675 Gabriel Paletta Thiago Motta
406 530 Kyle Beckerman Nick Rimando
71 420 Aurélien Chedjou Loïc Feudjou
222 235 Felipe Caicedo Frickson Erazo
282 491 Hiroshi Kiyotake Maya Yoshida
19 26 Alberto Aquilani Alessio Cerci
140 721 Daniel Van Buyten Xherdan Shaqiri
147 698 Darijo Srna (c) Vedran Corluka
61 375 Arjen Robben Julian Green
170 401 Dimitris Salpingidis Kostas Manolas
74 667 Axel Witsel Steven Defour
58 237 Antonio Candreva Gabriel Paletta
143 309 Danijel Subašic James Rodríguez
391 411 Kim Bo-kyung Lee Bum-young
14 706 Ahmed Musa Vincent Enyeama
274 418 Hassan Yebda Liassine Cadamuro-Bentaïba
173 274 Djamel Mesbah Hassan Yebda
130 503 Cristián Zapata Michael Essien
26 558 Alessio Cerci Panagiotis Tachtsidis
310 459 James Troisi Mark Milligan
614 648 Ron-Robert Zieler Shkodran Mustafi
59 452 Antonio Cassano Mario Balotelli
142 299 Danijel Pranjic Ivan Perišic
308 713 James Milner Wayne Rooney
13 273 Ahmad Alenemeh Hashem Beikzadeh
162 504 Diego Benaglio Michael Lang
308 616 James Milner Ross Barkley
71 533 Aurélien Chedjou Nicolas N'Koulou
8 116 Adnan Januzaj Chris Smalling
314 566 Jasper Cillessen Paul Verhaegh
170 254 Dimitris Salpingidis Giorgos Samaras
212 221 Ezequiel Lavezzi Federico Fernández
665 692 Steve von Bergen Valentin Stocker
76 303 Bacary Sagna Jack Wilshere
37 71 Allan Nyom Aurélien Chedjou
580 618 Rafa Silva Rúben Amorim
118 709 Christian Atsu Wakaso Mubarak
292 732 Igor Akinfeev Yuri Lodygin
251 660 Giannis Maniatis Stefanos Kapino
390 561 Ki Sung-yueng Park Joo-ho
611 623 Roman Weidenfeller Sami Khedira
79 611 Bastian Schweinsteiger Roman Weidenfeller
156 530 DeAndre Yedlin Nick Rimando
167 430 Diego Lugano (c) Luis Suárez
4 503 Adam Kwarasey Michael Essien
390 394 Ki Sung-yueng Kim Shin-wook
308 603 James Milner Rickie Lambert
46 482 Andrea Pirlo Mattia Perin
529 586 Neymar Ramires
255 558 Giorgos Tzavellas Panagiotis Tachtsidis
66 273 Ashkan Dejagah Hashem Beikzadeh
6 458 Adam Taggart Mark Bresciano
83 210 Benjamin Moukandjo Eyong Enoh
650 735 Shuichi Gonda Yuya Osako
109 136 Celso Borges Daniel Cambronero
542 624 Oliver Zelenika Sammir
445 484 Marcelo Díaz Mauricio Pinilla
12 645 Agustín Orión Sergio Romero
492 551 Maynor Figueroa Osman Chávez
216 619 Fábio Coentrão Rui Patrício
646 724 Shinji Kagawa Yasuhito Endo
178 700 Edder Delgado Víctor Bernárdez
596 721 Reto Ziegler Xherdan Shaqiri
75 342 Azubuike Egwuekwe John Obi Mikel
160 657 Didier Ya Konan Sol Bamba
303 335 Jack Wilshere Joe Hart
302 635 Izet Hajrovic Sejad Salihovic
249 483 Gianluigi Buffon (c) Mauricio Isla
57 594 Antoine Griezmann Rémy Cabella
122 577 Christoph Kramer Philipp Lahm (c)
151 443 David Luiz Marcelo
646 735 Shinji Kagawa Yuya Osako
382 725 Keisuke Honda Yasuyuki Konno
241 693 Gelson Fernandes Valon Behrami
432 542 Luka Modric Oliver Zelenika
75 379 Azubuike Egwuekwe Juwon Oshaniwa
321 420 Jean Makoun Loïc Feudjou
133 417 Daley Blind Leroy Fer
218 693 Faouzi Ghoulam Valon Behrami
1 97 Abdelmoumene Djabou Carl Medjani
546 581 Oribe Peralta Rafael Márquez (c)
201 552 Enner Valencia Oswaldo Minda
97 195 Carl Medjani El Arbi Hillel Soudani
56 677 Anthony Vanden Borre Thibaut Courtois
138 193 Daniel Opare Eiji Kawashima
295 510 Isaác Brizuela Miguel Layún
428 540 Luís Neto Oleg Shatov
316 397 Javi Martínez Koke
485 639 Max Gradel Serge Aurier
569 719 Pedro Xabi Alonso
330 561 Ji Dong-won Park Joo-ho
490 676 Maxwell Thiago Silva (c)
584 599 Rahman Ahmadi Reza Haghighi
277 571 Hélder Postiga Pepe
443 490 Marcelo Maxwell
128 513 Cristian Gamboa Mikkel Diskerud
137 380 Daniel Davari Karim Ansarifard
166 167 Diego Godín Diego Lugano (c)
172 522 Divock Origi Mousa Dembélé
177 311 Dries Mertens Jan Vertonghen
404 661 Kwadwo Asamoah Stephan Lichtsteiner
328 700 Jerry Bengtson Víctor Bernárdez
14 243 Ahmed Musa Georgi Shchennikov
693 723 Valon Behrami Yann Sommer
404 664 Kwadwo Asamoah Stephen Adams
399 411 Koo Ja-cheol (c) Lee Bum-young
169 667 Diego Reyes Steven Defour
306 666 Jalal Hosseini Steven Beitashour
240 521 Gastón Ramírez Morgan Schneiderlin
446 510 Marco Fabián Miguel Layún
470 477 Mathew Leckie Matt McKay
92 426 Brayan Beckeles Luis Garrido
231 586 Frank Lampard Ramires
432 589 Luka Modric Raphaël Varane
116 150 Chris Smalling David de Gea
41 66 Andranik Teymourian Ashkan Dejagah
656 696 Sokratis Papastathopoulos Vasilis Torosidis
318 510 Javier Hernández Miguel Layún
642 645 Sergio Agüero Sergio Romero
142 432 Danijel Pranjic Luka Modric
374 633 Julian Draxler Sead Kolašinac
50 135 Andrés Iniesta Dani Alves
102 489 Carlos Gruezo Máximo Banguera
243 704 Georgi Shchennikov Viktor Fayzulin
623 648 Sami Khedira Shkodran Mustafi
440 594 Mamadou Sakho Rémy Cabella
102 710 Carlos Gruezo Walter Ayoví
629 643 Santi Cazorla Sergio Busquets
180 580 Éder Rafa Silva
64 125 Arturo Vidal Claudio Marchisio
200 537 Emmanuel Emenike Ogenyi Onazi
328 367 Jerry Bengtson Juan Carlos García
175 698 Domagoj Vida Vedran Corluka
131 333 Cristiano Ronaldo (c) João Pereira
172 621 Divock Origi Salomon Kalou
306 599 Jalal Hosseini Reza Haghighi
264 282 Gotoku Sakai Hiroshi Kiyotake
255 410 Giorgos Tzavellas Lazaros Christodoulopoulos
571 601 Pepe Ricardo Costa
432 444 Luka Modric Marcelo Brozovic
366 630 Juan Camilo Zúñiga Santiago Arias
558 674 Panagiotis Tachtsidis Theofanis Gekas
428 703 Luís Neto Vieirinha
460 612 Marouane Fellaini Romelu Lukaku
72 259 Austin Ejide Godfrey Oboabona
154 707 David Silva Vincent Kompany (c)
224 279 Fernandinho Henrique
35 36 Alireza Haghighi Alireza Jahanbakhsh
169 357 Diego Reyes José Juan Vázquez
144 562 Danny Welbeck Patrice Evra
35 192 Alireza Haghighi Ehsan Hajsafi
213 681 Fabian Johnson Tim Howard
199 272 Emmanuel Agyemang-Badu Harrison Afful
729 734 Yoichiro Kakitani Yuto Nagatomo
409 562 Laurent Koscielny Patrice Evra
455 577 Mario Mandžukic Philipp Lahm (c)
376 502 Júlio César Michael Bradley
194 259 Ejike Uzoenyi Godfrey Oboabona
540 568 Oleg Shatov Pavel Mogilevets
185 531 Edinson Cavani Nicolás Lodeiro
311 667 Jan Vertonghen Steven Defour
340 437 John Boye Majeed Waris
284 467 Hossein Mahini Masoud Shojaei
234 672 Fredy Guarín Teófilo Gutiérrez
120 368 Christian Noboa Juan Carlos Paredes
289 436 Hulk Maicon
232 415 Fraser Forster Leighton Baines
154 155 David Silva David Villa
13 389 Ahmad Alenemeh Khosro Heydari
494 526 Mehdi Mostefa Nabil Ghilas
141 452 Daniele De Rossi Mario Balotelli
108 195 Cédric Si Mohamed El Arbi Hillel Soudani
443 529 Marcelo Neymar
45 661 Andrea Barzagli Stephan Lichtsteiner
195 435 El Arbi Hillel Soudani Madjid Bougherra (c)
240 461 Gastón Ramírez Martín Cáceres
45 422 Andrea Barzagli Lorenzo Insigne
173 494 Djamel Mesbah Mehdi Mostefa
457 701 Mario Yepes (c) Víctor Ibarbo
247 598 Ghasem Haddadifar Reza Ghoochannejhad
547 717 Oscar Willian
371 569 Juan Mata Pedro
328 329 Jerry Bengtson Jerry Palacios
80 603 Ben Foster Rickie Lambert
172 532 Divock Origi Nicolas Lombaerts
200 649 Emmanuel Emenike Shola Ameobi
555 645 Pablo Zabaleta Sergio Romero
26 675 Alessio Cerci Thiago Motta
53 524 Anel Hadžic Muhamed Bešic
71 705 Aurélien Chedjou Vincent Aboubakar
3 486 Abel Hernández Maxi Pereira
434 713 Luke Shaw Wayne Rooney
639 657 Serge Aurier Sol Bamba
203 454 Erik Durm Mario Götze
95 248 Bryan Ruiz (c) Giancarlo González
3 39 Abel Hernández Álvaro Pereira
49 510 Andrés Guardado Miguel Layún
92 615 Brayan Beckeles Rony Martínez
419 451 Lionel Messi (c) Mariano Andújar
128 388 Cristian Gamboa Keylor Navas
187 539 Eduardo da Silva Ognjen Vukojevic
8 667 Adnan Januzaj Steven Defour
92 197 Brayan Beckeles Emilio Izaguirre
87 473 Blaise Matuidi Mathieu Valbuena
189 483 Eduardo Vargas Mauricio Isla
152 617 David Myrie Roy Miller
154 316 David Silva Javi Martínez
252 481 Giorgio Chiellini Mattia De Sciglio
507 613 Michel Vorm Ron Vlaar
45 46 Andrea Barzagli Andrea Pirlo
120 222 Christian Noboa Felipe Caicedo
150 644 David de Gea Sergio Ramos
312 635 Jasmin Fejzic Sejad Salihovic
15 631 Aïssa Mandi Saphir Taïder
275 355 Héctor Herrera José de Jesús Corona
427 718 Luis López Wilson Palacios
38 634 Álvaro González Sebastián Coates
139 575 Daniel Sturridge Phil Jagielka
375 442 Julian Green Manuel Neuer
570 599 Pejman Montazeri Reza Haghighi
327 480 Jérôme Boateng Matthias Ginter
388 563 Keylor Navas Patrick Pemberton
240 607 Gastón Ramírez Rodrigo Muñoz
373 397 Juanfran Koke
351 426 Jorge Claros Luis Garrido
171 200 Dirk Kuyt Emmanuel Emenike
348 575 Jordan Henderson Phil Jagielka
50 591 Andrés Iniesta Raúl Albiol
276 295 Héctor Moreno Isaác Brizuela
214 230 Fabián Orellana Francisco Silva
630 701 Santiago Arias Víctor Ibarbo
204 524 Ermin Bicakcic Muhamed Bešic
246 257 Gervinho Giovanni Sio
505 649 Michael Uchebo Shola Ameobi
17 267 Alan Pulido Guillermo Ochoa
2 639 Abel Aguilar Serge Aurier
555 600 Pablo Zabaleta Ricardo Álvarez
116 231 Chris Smalling Frank Lampard
498 678 Mesut Özil Thomas Müller
108 418 Cédric Si Mohamed Liassine Cadamuro-Bentaïba
221 487 Federico Fernández Maxi Rodríguez
218 366 Faouzi Ghoulam Juan Camilo Zúñiga
398 657 Kolo Touré Sol Bamba
523 594 Moussa Sissoko Rémy Cabella
275 564 Héctor Herrera Paul Aguilar
318 646 Javier Hernández Shinji Kagawa
462 600 Martín Demichelis Ricardo Álvarez
18 387 Albert Adomah Kevin-Prince Boateng
38 226 Álvaro González Fernando Muslera
180 593 Éder Raul Meireles
555 608 Pablo Zabaleta Rodrigo Palacio
127 657 Constant Djakpa Sol Bamba
196 562 Eliaquim Mangala Patrice Evra
505 537 Michael Uchebo Ogenyi Onazi
415 576 Leighton Baines Phil Jones
486 607 Maxi Pereira Rodrigo Muñoz
91 613 Brad Guzan Ron Vlaar
42 703 André Almeida Vieirinha
264 438 Gotoku Sakai Makoto Hasebe (c)
87 212 Blaise Matuidi Ezequiel Lavezzi
279 323 Henrique Jefferson
268 283 Ha Dae-sung Hong Jeong-ho
218 274 Faouzi Ghoulam Hassan Yebda
117 126 Chris Wondolowski Clint Dempsey (c)
231 576 Frank Lampard Phil Jones
409 565 Laurent Koscielny Paul Pogba
101 262 Carlos Carmona Gonzalo Jara
278 488 Henri Bedimo Maxim Choupo-Moting
725 730 Yasuyuki Konno Yoshito Okubo
233 567 Fred Paulinho
269 399 Han Kook-young Koo Ja-cheol (c)
436 547 Maicon Oscar
157 603 Dejan Lovren Rickie Lambert
518 686 Mitchell Langerak Tommy Oar
158 704 Denis Glushakov Viktor Fayzulin
160 614 Didier Ya Konan Ron-Robert Zieler
52 178 Andy Najar Edder Delgado
436 529 Maicon Neymar
429 548 Luis Saritama Óscar Bagüí
433 623 Lukas Podolski Sami Khedira
51 540 Andrey Yeshchenko Oleg Shatov
21 243 Aleksandr Kerzhakov Georgi Shchennikov
43 340 André Ayew John Boye
543 562 Olivier Giroud Patrice Evra
69 387 Atsuto Uchida Kevin-Prince Boateng
4 404 Adam Kwarasey Kwadwo Asamoah
198 688 Emir Spahic (c) Toni Šunjic
430 711 Luis Suárez Walter Gargano
72 574 Austin Ejide Peter Odemwingie
280 608 Hernanes Rodrigo Palacio
251 253 Giannis Maniatis Giorgos Karagounis (c)
37 579 Allan Nyom Pierre Webó
272 503 Harrison Afful Michael Essien
258 583 Glen Johnson Raheem Sterling
277 618 Hélder Postiga Rúben Amorim
98 492 Carlo Costly Maynor Figueroa
124 223 Claudio Bravo (c) Felipe Gutiérrez
258 440 Glen Johnson Mamadou Sakho
266 690 Granit Xhaka Tranquillo Barnetta
108 519 Cédric Si Mohamed Mohamed Zemmamouche
202 261 Enzo Pérez Gonzalo Higuaín
85 431 Bernard Luiz Gustavo
347 709 Jordan Ayew Wakaso Mubarak
497 516 Mensur Mujdža Miralem Pjanic
423 656 Loukas Vyntra Sokratis Papastathopoulos
183 302 Edin Džeko Izet Hajrovic
86 580 Beto Rafa Silva
426 456 Luis Garrido Mario Martínez
221 591 Federico Fernández Raúl Albiol
679 685 Thomas Vermaelen Toby Alderweireld
363 537 Joseph Yobo (c) Ogenyi Onazi
295 509 Isaác Brizuela Miguel Ángel Ponce
596 692 Reto Ziegler Valentin Stocker
71 662 Aurélien Chedjou Stéphane Mbia
368 710 Juan Carlos Paredes Walter Ayoví
527 685 Nacer Chadli Toby Alderweireld
228 710 Fidel Martínez Walter Ayoví
115 702 Chigozie Agbim Victor Moses
99 309 Carlos Bacca James Rodríguez
459 680 Mark Milligan Tim Cahill
175 653 Domagoj Vida Šime Vrsaljko
366 457 Juan Camilo Zúñiga Mario Yepes (c)
359 397 José María Giménez Koke
102 697 Carlos Gruezo Vedad Ibiševic
234 287 Fredy Guarín Hugo Campagnaro
130 370 Cristián Zapata Juan Guillermo Cuadrado
480 497 Matthias Ginter Mensur Mujdža
288 473 Hugo Lloris (c) Mathieu Valbuena
352 526 Jorge Fucile Nabil Ghilas
145 375 Dante Julian Green
424 636 Lucas Biglia Senad Lulic
133 606 Daley Blind Robin van Persie (c)
49 295 Andrés Guardado Isaác Brizuela
318 606 Javier Hernández Robin van Persie (c)
160 632 Didier Ya Konan Sayouba Mandé
175 455 Domagoj Vida Mario Mandžukic
265 502 Graham Zusi Michael Bradley
64 512 Arturo Vidal Miiko Albornoz
101 209 Carlos Carmona Eugenio Mena
275 318 Héctor Herrera Javier Hernández
340 404 John Boye Kwadwo Asamoah
160 726 Didier Ya Konan Yaya Touré
578 601 Philippe Senderos Ricardo Costa
23 293 Aleksandr Samedov Igor Denisov
71 488 Aurélien Chedjou Maxim Choupo-Moting
287 469 Hugo Campagnaro Mateo Kovacic
601 716 Ricardo Costa William Carvalho
119 128 Christian Bolaños Cristian Gamboa
126 476 Clint Dempsey (c) Matt Besler
364 504 Josip Drmic Michael Lang
142 455 Danijel Pranjic Mario Mandžukic
516 736 Miralem Pjanic Zvjezdan Misimovic
425 562 Lucas Digne Patrice Evra
424 645 Lucas Biglia Sergio Romero
543 663 Olivier Giroud Stéphane Ruffier
578 602 Philippe Senderos Ricardo Rodríguez
656 674 Sokratis Papastathopoulos Theofanis Gekas
411 561 Lee Bum-young Park Joo-ho
243 641 Georgi Shchennikov Sergey Ryzhikov
458 686 Mark Bresciano Tommy Oar
257 723 Giovanni Sio Yann Sommer
474 553 Mathis Bolly Ousmane Viera
62 341 Aron Jóhannsson John Brooks
171 345 Dirk Kuyt Jonathan de Guzmán
464 549 Marvin Chávez Óscar Boniek García
202 645 Enzo Pérez Sergio Romero
498 614 Mesut Özil Ron-Robert Zieler
297 663 Ismaël Diomandé Stéphane Ruffier
255 674 Giorgos Tzavellas Theofanis Gekas
507 715 Michel Vorm Wilfried Bony
327 573 Jérôme Boateng Per Mertesacker
128 206 Cristian Gamboa Esteban Granados
203 614 Erik Durm Ron-Robert Zieler
351 549 Jorge Claros Óscar Boniek García
319 642 Javier Mascherano Sergio Agüero
282 466 Hiroshi Kiyotake Masato Morishige
280 699 Hernanes Victor
145 224 Dante Fernandinho
240 531 Gastón Ramírez Nicolás Lodeiro
169 446 Diego Reyes Marco Fabián
124 271 Claudio Bravo (c) Haris Seferovic
64 661 Arturo Vidal Stephan Lichtsteiner
8 371 Adnan Januzaj Juan Mata
159 322 Didier Drogba (c) Jean-Daniel Akpa-Akpro
100 369 Carlos Carbonero Juan Fernando Quintero
444 535 Marcelo Brozovic Nikica Jelavic
118 138 Christian Atsu Daniel Opare
675 676 Thiago Motta Thiago Silva (c)
352 531 Jorge Fucile Nicolás Lodeiro
276 564 Héctor Moreno Paul Aguilar
307 468 James Holland Massimo Luongo
119 336 Christian Bolaños Joel Campbell
192 247 Ehsan Hajsafi Ghasem Haddadifar
230 483 Francisco Silva Mauricio Isla
230 512 Francisco Silva Miiko Albornoz
280 734 Hernanes Yuto Nagatomo
474 632 Mathis Bolly Sayouba Mandé
553 671 Ousmane Viera Sylvain Gbohouo
386 460 Kevin Mirallas Marouane Fellaini
606 682 Robin van Persie (c) Tim Krul
574 718 Peter Odemwingie Wilson Palacios
108 655 Cédric Si Mohamed Sofiane Feghouli
223 344 Felipe Gutiérrez Johnny Herrera
125 141 Claudio Marchisio Daniele De Rossi
405 411 Kwak Tae-hwi Lee Bum-young
339 610 Johan Djourou Roman Bürki
389 599 Khosro Heydari Reza Haghighi
661 721 Stephan Lichtsteiner Xherdan Shaqiri
77 620 Bailey Wright Ryan McGowan
141 237 Daniele De Rossi Gabriel Paletta
175 535 Domagoj Vida Nikica Jelavic
443 586 Marcelo Ramires
30 552 Alexander Domínguez Oswaldo Minda
135 429 Dani Alves Luis Saritama
496 659 Memphis Depay Stefan de Vrij
130 382 Cristián Zapata Keisuke Honda
7 504 Admir Mehmedi Michael Lang
500 537 Michael Babatunde Ogenyi Onazi
327 687 Jérôme Boateng Toni Kroos
307 541 James Holland Oliver Bozanic
327 375 Jérôme Boateng Julian Green
211 486 Ezequiel Garay Maxi Pereira
523 543 Moussa Sissoko Olivier Giroud
76 440 Bacary Sagna Mamadou Sakho
342 574 John Obi Mikel Peter Odemwingie
237 252 Gabriel Paletta Giorgio Chiellini
249 622 Gianluigi Buffon (c) Salvatore Sirigu
478 675 Matteo Darmian Thiago Motta
119 248 Christian Bolaños Giancarlo González
111 591 Cesc Fàbregas Raúl Albiol
249 461 Gianluigi Buffon (c) Martín Cáceres
310 458 James Troisi Mark Bresciano
194 403 Ejike Uzoenyi Kunle Odunlami
136 448 Daniel Cambronero Marco Ureña
215 260 Fabian Schär Gökhan Inler (c)
401 656 Kostas Manolas Sokratis Papastathopoulos
98 551 Carlo Costly Osman Chávez
604 621 Rio Mavuba Salomon Kalou
37 337 Allan Nyom Joël Matip
180 528 Éder Nani
361 483 José Pedro Fuenzalida Mauricio Isla
110 349 César Azpilicueta Jordi Alba
162 339 Diego Benaglio Johan Djourou
231 308 Frank Lampard James Milner
89 715 Boubacar Barry Wilfried Bony
338 714 Joël Veltman Wesley Sneijder
185 461 Edinson Cavani Martín Cáceres
433 687 Lukas Podolski Toni Kroos
217 705 Fabrice Olinga Vincent Aboubakar
224 676 Fernandinho Thiago Silva (c)
533 627 Nicolas N'Koulou Samuel Eto'o (c)
12 600 Agustín Orión Ricardo Álvarez
418 722 Liassine Cadamuro-Bentaïba Yacine Brahimi
288 381 Hugo Lloris (c) Karim Benzema
15 519 Aïssa Mandi Mohamed Zemmamouche
475 678 Mats Hummels Thomas Müller
74 527 Axel Witsel Nacer Chadli
143 535 Danijel Subašic Nikica Jelavic
98 456 Carlo Costly Mario Martínez
41 192 Andranik Teymourian Ehsan Hajsafi
394 559 Kim Shin-wook Park Chu-young
158 439 Denis Glushakov Maksim Kanunnikov
268 390 Ha Dae-sung Ki Sung-yueng
331 436 Maicon
238 308 Gary Cahill James Milner
27 116 Alex Oxlade-Chamberlain Chris Smalling
161 322 Didier Zokora Jean-Daniel Akpa-Akpro
364 693 Josip Drmic Valon Behrami
498 679 Mesut Özil Thomas Vermaelen
344 484 Johnny Herrera Mauricio Pinilla
517 648 Miroslav Klose Shkodran Mustafi
134 375 DaMarcus Beasley Julian Green
142 157 Danijel Pranjic Dejan Lovren
596 693 Reto Ziegler Valon Behrami
188 428 Eduardo dos Reis Carvalho Luís Neto
382 647 Keisuke Honda Shinji Okazaki
4 65 Adam Kwarasey Asamoah Gyan (c)
340 387 John Boye Kevin-Prince Boateng
52 464 Andy Najar Marvin Chávez
78 389 Bakhtiar Rahmani Khosro Heydari
573 687 Per Mertesacker Toni Kroos
124 615 Claudio Bravo (c) Rony Martínez
11 65 Afriyie Acquah Asamoah Gyan (c)
612 679 Romelu Lukaku Thomas Vermaelen
112 189 Charles Aránguiz Eduardo Vargas
166 359 Diego Godín José María Giménez
572 644 Pepe Reina Sergio Ramos
429 529 Luis Saritama Neymar
193 734 Eiji Kawashima Yuto Nagatomo
280 547 Hernanes Oscar
19 59 Alberto Aquilani Antonio Cassano
57 124 Antoine Griezmann Claudio Bravo (c)
533 626 Nicolas N'Koulou Sammy N'Djock
64 124 Arturo Vidal Claudio Bravo (c)
451 487 Mariano Andújar Maxi Rodríguez
72 194 Austin Ejide Ejike Uzoenyi
185 191 Edinson Cavani Egidio Arévalo Ríos
289 699 Hulk Victor
371 606 Juan Mata Robin van Persie (c)
113 674 Charles Itandje Theofanis Gekas
31 130 Alexander Mejía Cristián Zapata
82 385 Benedikt Höwedes Kevin Großkreutz
203 611 Erik Durm Roman Weidenfeller
612 667 Romelu Lukaku Steven Defour
55 653 Ante Rebic Šime Vrsaljko
250 410 Giannis Fetfatzidis Lazaros Christodoulopoulos
20 502 Alejandro Bedoya Michael Bradley
249 449 Gianluigi Buffon (c) Marco Verratti
528 571 Nani Pepe
179 408 Eden Hazard Laurent Ciman
30 305 Alexander Domínguez Jaime Ayoví
111 227 Cesc Fàbregas Fernando Torres
36 273 Alireza Jahanbakhsh Hashem Beikzadeh
208 620 Eugene Galekovic Ryan McGowan
173 525 Djamel Mesbah Nabil Bentaleb
510 564 Miguel Layún Paul Aguilar
149 417 Daryl Janmaat Leroy Fer
175 669 Domagoj Vida Stipe Pletikosa
344 445 Johnny Herrera Marcelo Díaz
99 701 Carlos Bacca Víctor Ibarbo
129 373 Cristian Rodríguez Juanfran
342 627 John Obi Mikel Samuel Eto'o (c)
198 633 Emir Spahic (c) Sead Kolašinac
291 422 Ignazio Abate Lorenzo Insigne
292 695 Igor Akinfeev Vasili Berezutski (c)
292 439 Igor Akinfeev Maksim Kanunnikov
502 681 Michael Bradley Tim Howard
436 717 Maicon Willian
97 437 Carl Medjani Majeed Waris
177 384 Dries Mertens Kevin De Bruyne
213 365 Fabian Johnson Jozy Altidore
704 733 Viktor Fayzulin Yuri Zhirkov
473 604 Mathieu Valbuena Rio Mavuba
90 326 Brad Davis Jermaine Jones
14 379 Ahmed Musa Juwon Oshaniwa
56 177 Anthony Vanden Borre Dries Mertens
188 593 Eduardo dos Reis Carvalho Raul Meireles
433 678 Lukas Podolski Thomas Müller
131 623 Cristiano Ronaldo (c) Sami Khedira
88 279 Blerim Džemaili Henrique
182 627 Edgar Salli Samuel Eto'o (c)
224 490 Fernandinho Maxwell
345 417 Jonathan de Guzmán Leroy Fer
76 543 Bacary Sagna Olivier Giroud
8 384 Adnan Januzaj Kevin De Bruyne
51 641 Andrey Yeshchenko Sergey Ryzhikov
6 298 Adam Taggart Ivan Franjic
44 586 André Schürrle Ramires
229 256 Francisco Javier Rodríguez Giovani dos Santos
2 105 Abel Aguilar Carlos Sánchez
688 697 Toni Šunjic Vedad Ibiševic
349 569 Jordi Alba Pedro
130 291 Cristián Zapata Ignazio Abate
39 240 Álvaro Pereira Gastón Ramírez
192 380 Ehsan Hajsafi Karim Ansarifard
194 342 Ejike Uzoenyi John Obi Mikel
73 184 Avdija Vršajevic Edin Višca
664 709 Stephen Adams Wakaso Mubarak
193 689 Eiji Kawashima Toshihiro Aoyama
296 519 Islam Slimani Mohamed Zemmamouche
124 354 Claudio Bravo (c) Jorge Valdivia
66 467 Ashkan Dejagah Masoud Shojaei
301 384 Ivica Olic Kevin De Bruyne
110 164 César Azpilicueta Diego Costa
42 528 André Almeida Nani
63 639 Arthur Boka Serge Aurier
56 625 Anthony Vanden Borre Sammy Bossut
601 619 Ricardo Costa Rui Patrício
84 113 Benoît Assou-Ekotto Charles Itandje
523 562 Moussa Sissoko Patrice Evra
294 397 Iker Casillas (c) Koke
323 676 Jefferson Thiago Silva (c)
176 718 Donis Escober Wilson Palacios
28 113 Alex Song Charles Itandje
146 210 Dany Nounkeu Eyong Enoh
252 416 Giorgio Chiellini Leonardo Bonucci
184 736 Edin Višca Zvjezdan Misimovic
612 681 Romelu Lukaku Tim Howard
392 411 Kim Chang-soo Lee Bum-young
336 356 Joel Campbell José Holebas
137 598 Daniel Davari Reza Ghoochannejhad
172 604 Divock Origi Rio Mavuba
250 423 Giannis Fetfatzidis Loukas Vyntra
381 594 Karim Benzema Rémy Cabella
498 629 Mesut Özil Santi Cazorla
394 731 Kim Shin-wook Yun Suk-young
7 271 Admir Mehmedi Haris Seferovic
266 693 Granit Xhaka Valon Behrami
201 710 Enner Valencia Walter Ayoví
391 399 Kim Bo-kyung Koo Ja-cheol (c)
179 231 Eden Hazard Frank Lampard
325 539 Jeremain Lens Ognjen Vukojevic
11 220 Afriyie Acquah Fatau Dauda
459 620 Mark Milligan Ryan McGowan
42 93 André Almeida Bruno Alves
198 524 Emir Spahic (c) Muhamed Bešic
350 659 Jordy Clasie Stefan de Vrij
316 442 Javi Martínez Manuel Neuer
50 429 Andrés Iniesta Luis Saritama
409 573 Laurent Koscielny Per Mertesacker
430 702 Luis Suárez Victor Moses
21 733 Aleksandr Kerzhakov Yuri Zhirkov
385 614 Kevin Großkreutz Ron-Robert Zieler
211 608 Ezequiel Garay Rodrigo Palacio
44 122 André Schürrle Christoph Kramer
435 494 Madjid Bougherra (c) Mehdi Mostefa
724 734 Yasuhito Endo Yuto Nagatomo
283 392 Hong Jeong-ho Kim Chang-soo
383 649 Kenneth Omeruo Shola Ameobi
185 352 Edinson Cavani Jorge Fucile
177 532 Dries Mertens Nicolas Lombaerts
384 667 Kevin De Bruyne Steven Defour
291 478 Ignazio Abate Matteo Darmian
377 731 Jung Sung-ryong Yun Suk-young
115 379 Chigozie Agbim Juwon Oshaniwa
490 699 Maxwell Victor
455 687 Mario Mandžukic Toni Kroos
46 141 Andrea Pirlo Daniele De Rossi
586 627 Ramires Samuel Eto'o (c)
409 433 Laurent Koscielny Lukas Podolski
403 649 Kunle Odunlami Shola Ameobi
317 357 Javier Aquino José Juan Vázquez
65 346 Asamoah Gyan (c) Jonathan Mensah
46 291 Andrea Pirlo Ignazio Abate
272 340 Harrison Afful John Boye
550 588 Óscar Duarte Randall Brenes
150 720 David de Gea Xavi
184 636 Edin Višca Senad Lulic
84 407 Benoît Assou-Ekotto Landry N'Guémo
71 579 Aurélien Chedjou Pierre Webó
405 731 Kwak Tae-hwi Yun Suk-young
349 644 Jordi Alba Sergio Ramos
281 614 Hiroki Sakai Ron-Robert Zieler
116 528 Chris Smalling Nani
575 583 Phil Jagielka Raheem Sterling
251 694 Giannis Maniatis Vangelis Moras
248 712 Giancarlo González Waylon Francis
421 728 Loïc Rémy Yohan Cabaye
60 646 Antonio Valencia (c) Shinji Kagawa
258 654 Glen Johnson Simon Mignolet
319 429 Javier Mascherano Luis Saritama
260 271 Gökhan Inler (c) Haris Seferovic
86 286 Beto Hugo Almeida
329 367 Jerry Palacios Juan Carlos García
454 480 Mario Götze Matthias Ginter
210 337 Eyong Enoh Joël Matip
590 709 Rashid Sumaila Wakaso Mubarak
229 267 Francisco Javier Rodríguez Guillermo Ochoa
419 642 Lionel Messi (c) Sergio Agüero
382 491 Keisuke Honda Maya Yoshida
289 323 Hulk Jefferson
120 708 Christian Noboa Vladimir Granat
459 471 Mark Milligan Mathew Ryan
183 224 Edin Džeko Fernandinho
536 718 Noel Valladares (c) Wilson Palacios
280 490 Hernanes Maxwell
28 420 Alex Song Loïc Feudjou
284 315 Hossein Mahini Javad Nekounam (c)
343 388 Johnny Acosta Keylor Navas
335 415 Joe Hart Leighton Baines
70 645 Augusto Fernández Sergio Romero
689 724 Toshihiro Aoyama Yasuhito Endo
424 642 Lucas Biglia Sergio Agüero
195 218 El Arbi Hillel Soudani Faouzi Ghoulam
83 420 Benjamin Moukandjo Loïc Feudjou
140 460 Daniel Van Buyten Marouane Fellaini
528 593 Nani Raul Meireles
623 719 Sami Khedira Xabi Alonso
115 194 Chigozie Agbim Ejike Uzoenyi
330 560 Ji Dong-won Park Jong-woo
305 324 Jaime Ayoví Jefferson Montero
524 636 Muhamed Bešic Senad Lulic
150 371 David de Gea Juan Mata
68 312 Asmir Begovic Jasmin Fejzic
526 582 Nabil Ghilas Rafik Halliche
82 517 Benedikt Höwedes Miroslav Klose
339 693 Johan Djourou Valon Behrami
183 726 Edin Džeko Yaya Touré
518 620 Mitchell Langerak Ryan McGowan
217 533 Fabrice Olinga Nicolas N'Koulou
199 664 Emmanuel Agyemang-Badu Stephen Adams
337 533 Joël Matip Nicolas N'Koulou
416 447 Leonardo Bonucci Marco Parolo
378 399 Júnior Díaz Koo Ja-cheol (c)
158 641 Denis Glushakov Sergey Ryzhikov
417 534 Leroy Fer Nigel de Jong
19 447 Alberto Aquilani Marco Parolo
577 678 Philipp Lahm (c) Thomas Müller
197 456 Emilio Izaguirre Mario Martínez
294 644 Iker Casillas (c) Sergio Ramos
583 603 Raheem Sterling Rickie Lambert
572 693 Pepe Reina Valon Behrami
506 727 Michael Umaña Yeltsin Tejeda
148 307 Dario Vidošic James Holland
528 646 Nani Shinji Kagawa
61 145 Arjen Robben Dante
52 718 Andy Najar Wilson Palacios
159 632 Didier Drogba (c) Sayouba Mandé
433 543 Lukas Podolski Olivier Giroud
356 423 José Holebas Loukas Vyntra
206 448 Esteban Granados Marco Ureña
170 545 Dimitris Salpingidis Orestis Karnezis
295 357 Isaác Brizuela José Juan Vázquez
229 564 Francisco Javier Rodríguez Paul Aguilar
128 360 Cristian Gamboa José Miguel Cubero
129 240 Cristian Rodríguez Gastón Ramírez
88 422 Blerim Džemaili Lorenzo Insigne
159 621 Didier Drogba (c) Salomon Kalou
31 100 Alexander Mejía Carlos Carbonero
76 594 Bacary Sagna Rémy Cabella
600 608 Ricardo Álvarez Rodrigo Palacio
97 296 Carl Medjani Islam Slimani
121 191 Christian Stuani Egidio Arévalo Ríos
566 613 Paul Verhaegh Ron Vlaar
296 494 Islam Slimani Mehdi Mostefa
12 450 Agustín Orión Marcos Rojo
27 139 Alex Oxlade-Chamberlain Daniel Sturridge
432 455 Luka Modric Mario Mandžukic
399 731 Koo Ja-cheol (c) Yun Suk-young
396 566 Klaas-Jan Huntelaar Paul Verhaegh
537 649 Ogenyi Onazi Shola Ameobi
147 539 Darijo Srna (c) Ognjen Vukojevic
266 692 Granit Xhaka Valentin Stocker
470 471 Mathew Leckie Mathew Ryan
421 473 Loïc Rémy Mathieu Valbuena
288 409 Hugo Lloris (c) Laurent Koscielny
472 508 Mathieu Debuchy Mickaël Landreau
428 619 Luís Neto Rui Patrício
53 736 Anel Hadžic Zvjezdan Misimovic
288 728 Hugo Lloris (c) Yohan Cabaye
45 237 Andrea Barzagli Gabriel Paletta
15 108 Aïssa Mandi Cédric Si Mohamed
49 169 Andrés Guardado Diego Reyes
441 734 Manabu Saito Yuto Nagatomo
236 305 Gabriel Achilier Jaime Ayoví
100 130 Carlos Carbonero Cristián Zapata
144 668 Danny Welbeck Steven Gerrard (c)
335 726 Joe Hart Yaya Touré
318 509 Javier Hernández Miguel Ángel Ponce
607 711 Rodrigo Muñoz Walter Gargano
639 671 Serge Aurier Sylvain Gbohouo
605 631 Riyad Mahrez Saphir Taïder
91 242 Brad Guzan Geoff Cameron
315 467 Javad Nekounam (c) Masoud Shojaei
108 218 Cédric Si Mohamed Faouzi Ghoulam
140 678 Daniel Van Buyten Thomas Müller
144 303 Danny Welbeck Jack Wilshere
82 633 Benedikt Höwedes Sead Kolašinac
255 660 Giorgos Tzavellas Stefanos Kapino
167 226 Diego Lugano (c) Fernando Muslera
96 701 Camilo Vargas Víctor Ibarbo
169 352 Diego Reyes Jorge Fucile
517 573 Miroslav Klose Per Mertesacker
339 453 Johan Djourou Mario Gavranovic
60 429 Antonio Valencia (c) Luis Saritama
594 728 Rémy Cabella Yohan Cabaye
75 537 Azubuike Egwuekwe Ogenyi Onazi
27 573 Alex Oxlade-Chamberlain Per Mertesacker
169 581 Diego Reyes Rafael Márquez (c)
225 462 Fernando Gago Martín Demichelis
311 654 Jan Vertonghen Simon Mignolet
254 674 Giorgos Samaras Theofanis Gekas
586 676 Ramires Thiago Silva (c)
160 297 Didier Ya Konan Ismaël Diomandé
508 604 Mickaël Landreau Rio Mavuba
261 642 Gonzalo Higuaín Sergio Agüero
587 649 Ramon Azeez Shola Ameobi
235 353 Frickson Erazo Jorge Guagua
248 343 Giancarlo González Johnny Acosta
401 694 Kostas Manolas Vangelis Moras
568 733 Pavel Mogilevets Yuri Zhirkov
188 652 Eduardo dos Reis Carvalho Silvestre Varela
637 736 Senijad Ibricic Zvjezdan Misimovic
289 540 Hulk Oleg Shatov
102 222 Carlos Gruezo Felipe Caicedo
61 94 Arjen Robben Bruno Martins Indi
435 582 Madjid Bougherra (c) Rafik Halliche
282 650 Hiroshi Kiyotake Shuichi Gonda
44 475 André Schürrle Mats Hummels
347 628 Jordan Ayew Samuel Inkoom
20 375 Alejandro Bedoya Julian Green
677 707 Thibaut Courtois Vincent Kompany (c)
404 565 Kwadwo Asamoah Paul Pogba
7 690 Admir Mehmedi Tranquillo Barnetta
430 440 Luis Suárez Mamadou Sakho
225 358 Fernando Gago José María Basanta
77 208 Bailey Wright Eugene Galekovic
465 689 Masahiko Inoha Toshihiro Aoyama
17 564 Alan Pulido Paul Aguilar
124 445 Claudio Bravo (c) Marcelo Díaz
523 649 Moussa Sissoko Shola Ameobi
326 513 Jermaine Jones Mikkel Diskerud
205 631 Essaïd Belkalem Saphir Taïder
59 478 Antonio Cassano Matteo Darmian
284 495 Hossein Mahini Mehrdad Pouladi
259 500 Godfrey Oboabona Michael Babatunde
123 141 Ciro Immobile Daniele De Rossi
274 296 Hassan Yebda Islam Slimani
107 488 Cédric Djeugoué Maxim Choupo-Moting
145 699 Dante Victor
602 610 Ricardo Rodríguez Roman Bürki
269 405 Han Kook-young Kwak Tae-hwi
213 476 Fabian Johnson Matt Besler
257 474 Giovanni Sio Mathis Bolly
14 259 Ahmed Musa Godfrey Oboabona
64 262 Arturo Vidal Gonzalo Jara
114 297 Cheick Tioté Ismaël Diomandé
191 634 Egidio Arévalo Ríos Sebastián Coates
674 696 Theofanis Gekas Vasilis Torosidis
286 601 Hugo Almeida Ricardo Costa
423 558 Loukas Vyntra Panagiotis Tachtsidis
436 676 Maicon Thiago Silva (c)
654 707 Simon Mignolet Vincent Kompany (c)
61 140 Arjen Robben Daniel Van Buyten
328 718 Jerry Bengtson Wilson Palacios
144 583 Danny Welbeck Raheem Sterling
279 289 Henrique Hulk
357 446 José Juan Vázquez Marco Fabián
197 328 Emilio Izaguirre Jerry Bengtson
247 380 Ghasem Haddadifar Karim Ansarifard
269 393 Han Kook-young Kim Seung-gyu
453 610 Mario Gavranovic Roman Bürki
498 517 Mesut Özil Miroslav Klose
290 731 Hwang Seok-ho Yun Suk-young
32 410 Alexandros Tziolis Lazaros Christodoulopoulos
291 534 Ignazio Abate Nigel de Jong
110 572 César Azpilicueta Pepe Reina
83 107 Benjamin Moukandjo Cédric Djeugoué
62 134 Aron Jóhannsson DaMarcus Beasley
7 723 Admir Mehmedi Yann Sommer
171 606 Dirk Kuyt Robin van Persie (c)
458 471 Mark Bresciano Mathew Ryan
562 606 Patrice Evra Robin van Persie (c)
161 671 Didier Zokora Sylvain Gbohouo
336 550 Joel Campbell Óscar Duarte
266 602 Granit Xhaka Ricardo Rodríguez
80 144 Ben Foster Danny Welbeck
569 629 Pedro Santi Cazorla
371 719 Juan Mata Xabi Alonso
353 429 Jorge Guagua Luis Saritama
129 677 Cristian Rodríguez Thibaut Courtois
159 398 Didier Drogba (c) Kolo Touré
48 174 Andrei Semyonov Dmitri Kombarov
190 383 Efe Ambrose Kenneth Omeruo
252 461 Giorgio Chiellini Martín Cáceres
396 613 Klaas-Jan Huntelaar Ron Vlaar
57 472 Antoine Griezmann Mathieu Debuchy
87 421 Blaise Matuidi Loïc Rémy
186 595 Édison Méndez Renato Ibarra
479 541 Matthew Špiranovic Oliver Bozanic
409 472 Laurent Koscielny Mathieu Debuchy
335 348 Joe Hart Jordan Henderson
308 583 James Milner Raheem Sterling
321 488 Jean Makoun Maxim Choupo-Moting
297 398 Ismaël Diomandé Kolo Touré
635 636 Sejad Salihovic Senad Lulic
19 45 Alberto Aquilani Andrea Barzagli
245 719 Gerard Piqué Xabi Alonso
264 465 Gotoku Sakai Masahiko Inoha
216 428 Fábio Coentrão Luís Neto
112 344 Charles Aránguiz Johnny Herrera
153 672 David Ospina Teófilo Gutiérrez
172 177 Divock Origi Dries Mertens
184 497 Edin Višca Mensur Mujdža
483 661 Mauricio Isla Stephan Lichtsteiner
143 455 Danijel Subašic Mario Mandžukic
627 705 Samuel Eto'o (c) Vincent Aboubakar
275 526 Héctor Herrera Nabil Ghilas
672 701 Teófilo Gutiérrez Víctor Ibarbo
218 591 Faouzi Ghoulam Raúl Albiol
111 164 Cesc Fàbregas Diego Costa
543 604 Olivier Giroud Rio Mavuba
337 626 Joël Matip Sammy N'Djock
18 220 Albert Adomah Fatau Dauda
57 76 Antoine Griezmann Bacary Sagna
26 416 Alessio Cerci Leonardo Bonucci
108 631 Cédric Si Mohamed Saphir Taïder
169 592 Diego Reyes Raúl Jiménez
295 581 Isaác Brizuela Rafael Márquez (c)
85 490 Bernard Maxwell
275 592 Héctor Herrera Raúl Jiménez
89 297 Boubacar Barry Ismaël Diomandé
157 300 Dejan Lovren Ivan Rakitic
496 613 Memphis Depay Ron Vlaar
51 158 Andrey Yeshchenko Denis Glushakov
30 368 Alexander Domínguez Juan Carlos Paredes
227 397 Fernando Torres Koke
73 736 Avdija Vršajevic Zvjezdan Misimovic
276 357 Héctor Moreno José Juan Vázquez
582 585 Rafik Halliche Raïs M'Bolhi
242 574 Geoff Cameron Peter Odemwingie
269 283 Han Kook-young Hong Jeong-ho
29 515 Alex Wilkinson Mile Jedinak (c)
42 277 André Almeida Hélder Postiga
286 326 Hugo Almeida Jermaine Jones
582 722 Rafik Halliche Yacine Brahimi
19 58 Alberto Aquilani Antonio Candreva
51 733 Andrey Yeshchenko Yuri Zhirkov
95 109 Bryan Ruiz (c) Celso Borges
188 619 Eduardo dos Reis Carvalho Rui Patrício
93 332 Bruno Alves João Moutinho
215 241 Fabian Schär Gelson Fernandes
111 644 Cesc Fàbregas Sergio Ramos
275 652 Héctor Herrera Silvestre Varela
35 306 Alireza Haghighi Jalal Hosseini
508 663 Mickaël Landreau Stéphane Ruffier
144 575 Danny Welbeck Phil Jagielka
298 458 Ivan Franjic Mark Bresciano
85 676 Bernard Thiago Silva (c)
108 585 Cédric Si Mohamed Raïs M'Bolhi
134 681 DaMarcus Beasley Tim Howard
165 461 Diego Forlán Martín Cáceres
654 667 Simon Mignolet Steven Defour
425 449 Lucas Digne Marco Verratti
404 416 Kwadwo Asamoah Leonardo Bonucci
444 455 Marcelo Brozovic Mario Mandžukic
128 550 Cristian Gamboa Óscar Duarte
126 502 Clint Dempsey (c) Michael Bradley
283 658 Hong Jeong-ho Son Heung-min
661 692 Stephan Lichtsteiner Valentin Stocker
96 130 Camilo Vargas Cristián Zapata
131 443 Cristiano Ronaldo (c) Marcelo
659 714 Stefan de Vrij Wesley Sneijder
73 688 Avdija Vršajevic Toni Šunjic
6 81 Adam Taggart Ben Halloran
5 157 Adam Lallana Dejan Lovren
253 402 Giorgos Karagounis (c) Kostas Mitroglou
44 151 André Schürrle David Luiz
229 546 Francisco Javier Rodríguez Oribe Peralta
610 693 Roman Bürki Valon Behrami
725 735 Yasuyuki Konno Yuya Osako
51 292 Andrey Yeshchenko Igor Akinfeev
155 349 David Villa Jordi Alba
650 734 Shuichi Gonda Yuto Nagatomo
121 185 Christian Stuani Edinson Cavani
56 386 Anthony Vanden Borre Kevin Mirallas
168 352 Diego Pérez Jorge Fucile
61 534 Arjen Robben Nigel de Jong
189 512 Eduardo Vargas Miiko Albornoz
199 387 Emmanuel Agyemang-Badu Kevin-Prince Boateng
419 555 Lionel Messi (c) Pablo Zabaleta
318 592 Javier Hernández Raúl Jiménez
10 106 Adrián Ramos Carlos Valdés
282 465 Hiroshi Kiyotake Masahiko Inoha
23 695 Aleksandr Samedov Vasili Berezutski (c)
133 534 Daley Blind Nigel de Jong
45 447 Andrea Barzagli Marco Parolo
155 316 David Villa Javi Martínez
254 557 Giorgos Samaras Panagiotis Kone
441 724 Manabu Saito Yasuhito Endo
252 449 Giorgio Chiellini Marco Verratti
67 312 Asmir Avdukic Jasmin Fejzic
16 708 Alan Dzagoev Vladimir Granat
144 616 Danny Welbeck Ross Barkley
219 457 Faryd Mondragón Mario Yepes (c)
439 732 Maksim Kanunnikov Yuri Lodygin
72 691 Austin Ejide Uche Nwofor
352 607 Jorge Fucile Rodrigo Muñoz
224 529 Fernandinho Neymar
216 716 Fábio Coentrão William Carvalho
159 485 Didier Drogba (c) Max Gradel
175 539 Domagoj Vida Ognjen Vukojevic
68 635 Asmir Begovic Sejad Salihovic
174 733 Dmitri Kombarov Yuri Zhirkov
568 709 Pavel Mogilevets Wakaso Mubarak
345 659 Jonathan de Guzmán Stefan de Vrij
54 216 Ángel di María Fábio Coentrão
6 148 Adam Taggart Dario Vidošic
188 528 Eduardo dos Reis Carvalho Nani
9 201 Adrián Bone Enner Valencia
282 735 Hiroshi Kiyotake Yuya Osako
10 105 Adrián Ramos Carlos Sánchez
212 449 Ezequiel Lavezzi Marco Verratti
169 564 Diego Reyes Paul Aguilar
162 721 Diego Benaglio Xherdan Shaqiri
259 587 Godfrey Oboabona Ramon Azeez
192 495 Ehsan Hajsafi Mehrdad Pouladi
296 631 Islam Slimani Saphir Taïder
296 526 Islam Slimani Nabil Ghilas
574 587 Peter Odemwingie Ramon Azeez
385 475 Kevin Großkreutz Mats Hummels
640 695 Sergei Ignashevich Vasili Berezutski (c)
202 642 Enzo Pérez Sergio Agüero
452 503 Mario Balotelli Michael Essien
387 709 Kevin-Prince Boateng Wakaso Mubarak
66 380 Ashkan Dejagah Karim Ansarifard
171 673 Dirk Kuyt Terence Kongolo
488 626 Maxim Choupo-Moting Sammy N'Djock
121 463 Christian Stuani Martín Silva
22 439 Aleksandr Kokorin Maksim Kanunnikov
608 631 Rodrigo Palacio Saphir Taïder
59 252 Antonio Cassano Giorgio Chiellini
517 577 Miroslav Klose Philipp Lahm (c)
323 567 Jefferson Paulinho
106 369 Carlos Valdés Juan Fernando Quintero
470 680 Mathew Leckie Tim Cahill
170 251 Dimitris Salpingidis Giannis Maniatis
224 726 Fernandinho Yaya Touré
375 683 Julian Green Timothy Chandler
5 303 Adam Lallana Jack Wilshere
240 486 Gastón Ramírez Maxi Pereira
94 345 Bruno Martins Indi Jonathan de Guzmán
225 600 Fernando Gago Ricardo Álvarez
279 693 Henrique Valon Behrami
307 686 James Holland Tommy Oar
342 717 John Obi Mikel Willian
176 328 Donis Escober Jerry Bengtson
82 678 Benedikt Höwedes Thomas Müller
494 585 Mehdi Mostefa Raïs M'Bolhi
98 351 Carlo Costly Jorge Claros
68 302 Asmir Begovic Izet Hajrovic
460 713 Marouane Fellaini Wayne Rooney
28 278 Alex Song Henri Bedimo
57 288 Antoine Griezmann Hugo Lloris (c)
162 690 Diego Benaglio Tranquillo Barnetta
94 244 Bruno Martins Indi Georginio Wijnaldum
266 339 Granit Xhaka Johan Djourou
283 559 Hong Jeong-ho Park Chu-young
120 595 Christian Noboa Renato Ibarra
187 669 Eduardo da Silva Stipe Pletikosa
293 641 Igor Denisov Sergey Ryzhikov
439 568 Maksim Kanunnikov Pavel Mogilevets
52 176 Andy Najar Donis Escober
579 626 Pierre Webó Sammy N'Djock
235 429 Frickson Erazo Luis Saritama
398 654 Kolo Touré Simon Mignolet
397 569 Koke Pedro
65 503 Asamoah Gyan (c) Michael Essien
148 541 Dario Vidošic Oliver Bozanic
264 730 Gotoku Sakai Yoshito Okubo
551 615 Osman Chávez Rony Martínez
128 152 Cristian Gamboa David Myrie
33 344 Alexis Sánchez Johnny Herrera
273 315 Hashem Beikzadeh Javad Nekounam (c)
212 358 Ezequiel Lavezzi José María Basanta
386 685 Kevin Mirallas Toby Alderweireld
577 648 Philipp Lahm (c) Shkodran Mustafi
164 591 Diego Costa Raúl Albiol
253 254 Giorgos Karagounis (c) Giorgos Samaras
444 542 Marcelo Brozovic Oliver Zelenika
116 576 Chris Smalling Phil Jones
297 638 Ismaël Diomandé Serey Die
76 589 Bacary Sagna Raphaël Varane
118 346 Christian Atsu Jonathan Mensah
18 670 Albert Adomah Sulley Muntari
172 527 Divock Origi Nacer Chadli
26 125 Alessio Cerci Claudio Marchisio
129 359 Cristian Rodríguez José María Giménez
18 404 Albert Adomah Kwadwo Asamoah
268 413 Ha Dae-sung Lee Keun-ho
270 633 Haris Medunjanin Sead Kolašinac
226 607 Fernando Muslera Rodrigo Muñoz
314 659 Jasper Cillessen Stefan de Vrij
310 680 James Troisi Tim Cahill
528 580 Nani Rafa Silva
651 735 Shusaku Nishikawa Yuya Osako
42 202 André Almeida Enzo Pérez
363 379 Joseph Yobo (c) Juwon Oshaniwa
113 662 Charles Itandje Stéphane Mbia
261 462 Gonzalo Higuaín Martín Demichelis
266 596 Granit Xhaka Reto Ziegler
201 222 Enner Valencia Felipe Caicedo
506 712 Michael Umaña Waylon Francis
163 378 Diego Calvo Júnior Díaz
31 96 Alexander Mejía Camilo Vargas
19 622 Alberto Aquilani Salvatore Sirigu
276 509 Héctor Moreno Miguel Ángel Ponce
2 322 Abel Aguilar Jean-Daniel Akpa-Akpro
360 448 José Miguel Cubero Marco Ureña
216 644 Fábio Coentrão Sergio Ramos
502 530 Michael Bradley Nick Rimando
158 640 Denis Glushakov Sergei Ignashevich
209 512 Eugenio Mena Miiko Albornoz
167 359 Diego Lugano (c) José María Giménez
170 253 Dimitris Salpingidis Giorgos Karagounis (c)
212 319 Ezequiel Lavezzi Javier Mascherano
517 614 Miroslav Klose Ron-Robert Zieler
344 354 Johnny Herrera Jorge Valdivia
224 567 Fernandinho Paulinho
251 336 Giannis Maniatis Joel Campbell
625 679 Sammy Bossut Thomas Vermaelen
197 329 Emilio Izaguirre Jerry Palacios
132 189 Cristopher Toselli Eduardo Vargas
78 306 Bakhtiar Rahmani Jalal Hosseini
351 615 Jorge Claros Rony Martínez
165 430 Diego Forlán Luis Suárez
202 287 Enzo Pérez Hugo Campagnaro
2 370 Abel Aguilar Juan Guillermo Cuadrado
464 615 Marvin Chávez Rony Martínez
168 226 Diego Pérez Fernando Muslera
143 645 Danijel Subašic Sergio Romero
165 711 Diego Forlán Walter Gargano
24 243 Aleksei Ionov Georgi Shchennikov
121 240 Christian Stuani Gastón Ramírez
374 687 Julian Draxler Toni Kroos
114 322 Cheick Tioté Jean-Daniel Akpa-Akpro
169 510 Diego Reyes Miguel Layún
191 359 Egidio Arévalo Ríos José María Giménez
342 649 John Obi Mikel Shola Ameobi
311 527 Jan Vertonghen Nacer Chadli
59 416 Antonio Cassano Leonardo Bonucci
222 236 Felipe Caicedo Gabriel Achilier
390 731 Ki Sung-yueng Yun Suk-young
40 41 Amir Hossein Sadeghi Andranik Teymourian
693 721 Valon Behrami Xherdan Shaqiri
81 148 Ben Halloran Dario Vidošic
202 424 Enzo Pérez Lucas Biglia
312 736 Jasmin Fejzic Zvjezdan Misimovic
28 135 Alex Song Dani Alves
122 442 Christoph Kramer Manuel Neuer
352 667 Jorge Fucile Steven Defour
228 499 Fidel Martínez Michael Arroyo
90 341 Brad Davis John Brooks
329 372 Jerry Palacios Juan Pablo Montes
371 572 Juan Mata Pepe Reina
464 536 Marvin Chávez Noel Valladares (c)
381 508 Karim Benzema Mickaël Landreau
116 303 Chris Smalling Jack Wilshere
421 562 Loïc Rémy Patrice Evra
303 498 Jack Wilshere Mesut Özil
280 443 Hernanes Marcelo
151 490 David Luiz Maxwell
421 440 Loïc Rémy Mamadou Sakho
286 580 Hugo Almeida Rafa Silva
264 647 Gotoku Sakai Shinji Okazaki
440 523 Mamadou Sakho Moussa Sissoko
303 434 Jack Wilshere Luke Shaw
229 446 Francisco Javier Rodríguez Marco Fabián
43 590 André Ayew Rashid Sumaila
117 156 Chris Wondolowski DeAndre Yedlin
217 488 Fabrice Olinga Maxim Choupo-Moting
234 554 Fredy Guarín Pablo Armero
186 552 Édison Méndez Oswaldo Minda
106 153 Carlos Valdés David Ospina
95 712 Bryan Ruiz (c) Waylon Francis
553 715 Ousmane Viera Wilfried Bony
19 452 Alberto Aquilani Mario Balotelli
45 481 Andrea Barzagli Mattia De Sciglio
133 314 Daley Blind Jasper Cillessen
489 595 Máximo Banguera Renato Ibarra
466 729 Masato Morishige Yoichiro Kakitani
95 343 Bryan Ruiz (c) Johnny Acosta
86 93 Beto Bruno Alves
38 537 Álvaro González Ogenyi Onazi
464 552 Marvin Chávez Oswaldo Minda
1 722 Abdelmoumene Djabou Yacine Brahimi
208 518 Eugene Galekovic Mitchell Langerak
91 341 Brad Guzan John Brooks
157 469 Dejan Lovren Mateo Kovacic
411 412 Lee Bum-young Lee Chung-yong
377 559 Jung Sung-ryong Park Chu-young
263 432 Gordon Schildenfeld Luka Modric
253 410 Giorgos Karagounis (c) Lazaros Christodoulopoulos
608 734 Rodrigo Palacio Yuto Nagatomo
326 530 Jermaine Jones Nick Rimando
116 713 Chris Smalling Wayne Rooney
211 600 Ezequiel Garay Ricardo Álvarez
201 236 Enner Valencia Gabriel Achilier
121 166 Christian Stuani Diego Godín
232 583 Fraser Forster Raheem Sterling
85 279 Bernard Henrique
4 387 Adam Kwarasey Kevin-Prince Boateng
186 201 Édison Méndez Enner Valencia
102 552 Carlos Gruezo Oswaldo Minda
228 368 Fidel Martínez Juan Carlos Paredes
64 344 Arturo Vidal Johnny Herrera
222 499 Felipe Caicedo Michael Arroyo
312 538 Jasmin Fejzic Ognjen Vranješ
135 289 Dani Alves Hulk
399 658 Koo Ja-cheol (c) Son Heung-min
210 533 Eyong Enoh Nicolas N'Koulou
103 317 Carlos Peña Javier Aquino
52 551 Andy Najar Osman Chávez
501 506 Michael Barrantes Michael Umaña
315 584 Javad Nekounam (c) Rahman Ahmadi
375 476 Julian Green Matt Besler
195 631 El Arbi Hillel Soudani Saphir Taïder
94 659 Bruno Martins Indi Stefan de Vrij
251 423 Giannis Maniatis Loukas Vyntra
205 722 Essaïd Belkalem Yacine Brahimi
647 735 Shinji Okazaki Yuya Osako
19 125 Alberto Aquilani Claudio Marchisio
575 616 Phil Jagielka Ross Barkley
41 315 Andranik Teymourian Javad Nekounam (c)
118 595 Christian Atsu Renato Ibarra
148 518 Dario Vidošic Mitchell Langerak
650 689 Shuichi Gonda Toshihiro Aoyama
355 564 José de Jesús Corona Paul Aguilar
11 664 Afriyie Acquah Stephen Adams
17 510 Alan Pulido Miguel Layún
8 679 Adnan Januzaj Thomas Vermaelen
570 666 Pejman Montazeri Steven Beitashour
301 669 Ivica Olic Stipe Pletikosa
199 404 Emmanuel Agyemang-Badu Kwadwo Asamoah
42 188 André Almeida Eduardo dos Reis Carvalho
19 123 Alberto Aquilani Ciro Immobile
289 443 Hulk Marcelo
490 547 Maxwell Oscar
110 245 César Azpilicueta Gerard Piqué
373 569 Juanfran Pedro
277 593 Hélder Postiga Raul Meireles
163 248 Diego Calvo Giancarlo González
227 373 Fernando Torres Juanfran
47 556 Andreas Samaris Panagiotis Glykos
206 563 Esteban Granados Patrick Pemberton
301 455 Ivica Olic Mario Mandžukic
193 441 Eiji Kawashima Manabu Saito
235 305 Frickson Erazo Jaime Ayoví
120 201 Christian Noboa Enner Valencia
116 562 Chris Smalling Patrice Evra
444 653 Marcelo Brozovic Šime Vrsaljko
46 252 Andrea Pirlo Giorgio Chiellini
329 536 Jerry Palacios Noel Valladares (c)
267 592 Guillermo Ochoa Raúl Jiménez
104 581 Carlos Salcido Rafael Márquez (c)
162 266 Diego Benaglio Granit Xhaka
465 491 Masahiko Inoha Maya Yoshida
91 326 Brad Guzan Jermaine Jones
268 330 Ha Dae-sung Ji Dong-won
285 441 Hotaru Yamaguchi Manabu Saito
86 333 Beto João Pereira
282 647 Hiroshi Kiyotake Shinji Okazaki
431 602 Luiz Gustavo Ricardo Rodríguez
667 679 Steven Defour Thomas Vermaelen
85 233 Bernard Fred
330 395 Ji Dong-won Kim Young-gwon
30 595 Alexander Domínguez Renato Ibarra
249 447 Gianluigi Buffon (c) Marco Parolo
145 721 Dante Xherdan Shaqiri
467 666 Masoud Shojaei Steven Beitashour
160 474 Didier Ya Konan Mathis Bolly
463 531 Martín Silva Nicolás Lodeiro
440 583 Mamadou Sakho Raheem Sterling
122 433 Christoph Kramer Lukas Podolski
28 111 Alex Song Cesc Fàbregas
200 403 Emmanuel Emenike Kunle Odunlami
407 579 Landry N'Guémo Pierre Webó
689 734 Toshihiro Aoyama Yuto Nagatomo
131 652 Cristiano Ronaldo (c) Silvestre Varela
62 156 Aron Jóhannsson DeAndre Yedlin
255 423 Giorgos Tzavellas Loukas Vyntra
25 292 Aleksei Kozlov Igor Akinfeev
362 445 José Rojas Marcelo Díaz
499 548 Michael Arroyo Óscar Bagüí
150 397 David de Gea Koke
209 320 Eugenio Mena Jean Beausejour
277 428 Hélder Postiga Luís Neto
212 450 Ezequiel Lavezzi Marcos Rojo
8 140 Adnan Januzaj Daniel Van Buyten
145 717 Dante Willian
241 339 Gelson Fernandes Johan Djourou
529 676 Neymar Thiago Silva (c)
391 413 Kim Bo-kyung Lee Keun-ho
17 357 Alan Pulido José Juan Vázquez
336 563 Joel Campbell Patrick Pemberton
376 586 Júlio César Ramires
75 259 Azubuike Egwuekwe Godfrey Oboabona
6 686 Adam Taggart Tommy Oar
333 593 João Pereira Raul Meireles
212 261 Ezequiel Lavezzi Gonzalo Higuaín
603 668 Rickie Lambert Steven Gerrard (c)
68 497 Asmir Begovic Mensur Mujdža
45 452 Andrea Barzagli Mario Balotelli
325 345 Jeremain Lens Jonathan de Guzmán
110 373 César Azpilicueta Juanfran
331 717 Willian
280 676 Hernanes Thiago Silva (c)
53 73 Anel Hadžic Avdija Vršajevic
326 375 Jermaine Jones Julian Green
245 572 Gerard Piqué Pepe Reina
489 529 Máximo Banguera Neymar
505 691 Michael Uchebo Uche Nwofor
386 707 Kevin Mirallas Vincent Kompany (c)
715 726 Wilfried Bony Yaya Touré
400 660 Kostas Katsouranis Stefanos Kapino
63 322 Arthur Boka Jean-Daniel Akpa-Akpro
516 538 Miralem Pjanic Ognjen Vranješ
383 597 Kenneth Omeruo Reuben Gabriel
166 461 Diego Godín Martín Cáceres
319 529 Javier Mascherano Neymar
1 631 Abdelmoumene Djabou Saphir Taïder
514 669 Milan Badelj Stipe Pletikosa
649 691 Shola Ameobi Uche Nwofor
395 561 Kim Young-gwon Park Joo-ho
156 213 DeAndre Yedlin Fabian Johnson
61 673 Arjen Robben Terence Kongolo
384 703 Kevin De Bruyne Vieirinha
585 655 Raïs M'Bolhi Sofiane Feghouli
187 514 Eduardo da Silva Milan Badelj
339 723 Johan Djourou Yann Sommer
281 650 Hiroki Sakai Shuichi Gonda
91 530 Brad Guzan Nick Rimando
3 165 Abel Hernández Diego Forlán
574 691 Peter Odemwingie Uche Nwofor
526 585 Nabil Ghilas Raïs M'Bolhi
290 391 Hwang Seok-ho Kim Bo-kyung
400 402 Kostas Katsouranis Kostas Mitroglou
272 346 Harrison Afful Jonathan Mensah
346 628 Jonathan Mensah Samuel Inkoom
540 708 Oleg Shatov Vladimir Granat
519 582 Mohamed Zemmamouche Rafik Halliche
565 604 Paul Pogba Rio Mavuba
405 560 Kwak Tae-hwi Park Jong-woo
179 679 Eden Hazard Thomas Vermaelen
107 113 Cédric Djeugoué Charles Itandje
181 672 Éder Álvarez Balanta Teófilo Gutiérrez
223 262 Felipe Gutiérrez Gonzalo Jara
79 687 Bastian Schweinsteiger Toni Kroos
218 494 Faouzi Ghoulam Mehdi Mostefa
227 643 Fernando Torres Sergio Busquets
476 513 Matt Besler Mikkel Diskerud
422 591 Lorenzo Insigne Raúl Albiol
248 388 Giancarlo González Keylor Navas
416 461 Leonardo Bonucci Martín Cáceres
458 518 Mark Bresciano Mitchell Langerak
28 368 Alex Song Juan Carlos Paredes
88 215 Blerim Džemaili Fabian Schär
545 674 Orestis Karnezis Theofanis Gekas
270 636 Haris Medunjanin Senad Lulic
458 470 Mark Bresciano Mathew Leckie
328 456 Jerry Bengtson Mario Martínez
583 668 Raheem Sterling Steven Gerrard (c)
17 34 Alan Pulido Alfredo Talavera
177 279 Dries Mertens Henrique
77 477 Bailey Wright Matt McKay
68 688 Asmir Begovic Toni Šunjic
225 555 Fernando Gago Pablo Zabaleta
9 710 Adrián Bone Walter Ayoví
279 443 Henrique Marcelo
332 333 João Moutinho João Pereira
209 230 Eugenio Mena Francisco Silva
74 289 Axel Witsel Hulk
5 80 Adam Lallana Ben Foster
246 638 Gervinho Serey Die
170 558 Dimitris Salpingidis Panagiotis Tachtsidis
264 491 Gotoku Sakai Maya Yoshida
451 608 Mariano Andújar Rodrigo Palacio
29 477 Alex Wilkinson Matt McKay
197 718 Emilio Izaguirre Wilson Palacios
296 655 Islam Slimani Sofiane Feghouli
426 609 Luis Garrido Roger Espinoza
39 168 Álvaro Pereira Diego Pérez
151 238 David Luiz Gary Cahill
535 542 Nikica Jelavic Oliver Zelenika
571 619 Pepe Rui Patrício
353 499 Jorge Guagua Michael Arroyo
95 550 Bryan Ruiz (c) Óscar Duarte
159 638 Didier Drogba (c) Serey Die
68 524 Asmir Begovic Muhamed Bešic
24 641 Aleksei Ionov Sergey Ryzhikov
561 731 Park Joo-ho Yun Suk-young
98 197 Carlo Costly Emilio Izaguirre
602 723 Ricardo Rodríguez Yann Sommer
118 199 Christian Atsu Emmanuel Agyemang-Badu
148 313 Dario Vidošic Jason Davidson
211 451 Ezequiel Garay Mariano Andújar
154 591 David Silva Raúl Albiol
181 309 Éder Álvarez Balanta James Rodríguez
569 643 Pedro Sergio Busquets
500 574 Michael Babatunde Peter Odemwingie
72 403 Austin Ejide Kunle Odunlami
221 555 Federico Fernández Pablo Zabaleta
130 452 Cristián Zapata Mario Balotelli
65 670 Asamoah Gyan (c) Sulley Muntari
190 197 Efe Ambrose Emilio Izaguirre
526 631 Nabil Ghilas Saphir Taïder
186 222 Édison Méndez Felipe Caicedo
255 556 Giorgos Tzavellas Panagiotis Glykos
117 544 Chris Wondolowski Omar Gonzalez
81 459 Ben Halloran Mark Milligan
9 222 Adrián Bone Felipe Caicedo
67 524 Asmir Avdukic Muhamed Bešic
54 589 Ángel di María Raphaël Varane
24 704 Aleksei Ionov Viktor Fayzulin
86 662 Beto Stéphane Mbia
364 690 Josip Drmic Tranquillo Barnetta
724 735 Yasuhito Endo Yuya Osako
638 715 Serey Die Wilfried Bony
122 498 Christoph Kramer Mesut Özil
390 393 Ki Sung-yueng Kim Seung-gyu
104 446 Carlos Salcido Marco Fabián
460 522 Marouane Fellaini Mousa Dembélé
440 543 Mamadou Sakho Olivier Giroud
244 417 Georginio Wijnaldum Leroy Fer
60 595 Antonio Valencia (c) Renato Ibarra
409 589 Laurent Koscielny Raphaël Varane
579 627 Pierre Webó Samuel Eto'o (c)
388 617 Keylor Navas Roy Miller
301 653 Ivica Olic Šime Vrsaljko
181 366 Éder Álvarez Balanta Juan Camilo Zúñiga
154 373 David Silva Juanfran
578 690 Philippe Senderos Tranquillo Barnetta
17 104 Alan Pulido Carlos Salcido
348 440 Jordan Henderson Mamadou Sakho
624 669 Sammir Stipe Pletikosa
116 460 Chris Smalling Marouane Fellaini
193 650 Eiji Kawashima Shuichi Gonda
320 361 Jean Beausejour José Pedro Fuenzalida
204 538 Ermin Bicakcic Ognjen Vranješ
251 656 Giannis Maniatis Sokratis Papastathopoulos
652 716 Silvestre Varela William Carvalho
469 608 Mateo Kovacic Rodrigo Palacio
43 533 André Ayew Nicolas N'Koulou
545 557 Orestis Karnezis Panagiotis Kone
445 638 Marcelo Díaz Serey Die
523 682 Moussa Sissoko Tim Krul
277 619 Hélder Postiga Rui Patrício
623 687 Sami Khedira Toni Kroos
347 503 Jordan Ayew Michael Essien
31 219 Alexander Mejía Faryd Mondragón
175 444 Domagoj Vida Marcelo Brozovic
353 552 Jorge Guagua Oswaldo Minda
189 207 Eduardo Vargas Esteban Paredes
321 627 Jean Makoun Samuel Eto'o (c)
60 144 Antonio Valencia (c) Danny Welbeck
177 261 Dries Mertens Gonzalo Higuaín
188 618 Eduardo dos Reis Carvalho Rúben Amorim
157 444 Dejan Lovren Marcelo Brozovic
105 672 Carlos Sánchez Teófilo Gutiérrez
268 395 Ha Dae-sung Kim Young-gwon
56 408 Anthony Vanden Borre Laurent Ciman
173 526 Djamel Mesbah Nabil Ghilas
258 398 Glen Johnson Kolo Touré
282 683 Hiroshi Kiyotake Timothy Chandler
493 631 Medhi Lacen Saphir Taïder
408 532 Laurent Ciman Nicolas Lombaerts
73 538 Avdija Vršajevic Ognjen Vranješ
113 407 Charles Itandje Landry N'Guémo
75 363 Azubuike Egwuekwe Joseph Yobo (c)
503 709 Michael Essien Wakaso Mubarak
168 410 Diego Pérez Lazaros Christodoulopoulos
435 655 Madjid Bougherra (c) Sofiane Feghouli
156 406 DeAndre Yedlin Kyle Beckerman
470 518 Mathew Leckie Mitchell Langerak
384 532 Kevin De Bruyne Nicolas Lombaerts
343 563 Johnny Acosta Patrick Pemberton
64 404 Arturo Vidal Kwadwo Asamoah
137 570 Daniel Davari Pejman Montazeri
47 250 Andreas Samaris Giannis Fetfatzidis
250 556 Giannis Fetfatzidis Panagiotis Glykos
60 489 Antonio Valencia (c) Máximo Banguera
453 504 Mario Gavranovic Michael Lang
641 709 Sergey Ryzhikov Wakaso Mubarak
410 558 Lazaros Christodoulopoulos Panagiotis Tachtsidis
433 498 Lukas Podolski Mesut Özil
596 661 Reto Ziegler Stephan Lichtsteiner
429 552 Luis Saritama Oswaldo Minda
504 578 Michael Lang Philippe Senderos
193 408 Eiji Kawashima Laurent Ciman
433 517 Lukas Podolski Miroslav Klose
256 267 Giovani dos Santos Guillermo Ochoa
152 388 David Myrie Keylor Navas
309 370 James Rodríguez Juan Guillermo Cuadrado
331 699 Victor
183 636 Edin Džeko Senad Lulic
224 642 Fernandinho Sergio Agüero
13 247 Ahmad Alenemeh Ghasem Haddadifar
643 719 Sergio Busquets Xabi Alonso
364 596 Josip Drmic Reto Ziegler
298 471 Ivan Franjic Mathew Ryan
465 650 Masahiko Inoha Shuichi Gonda
441 646 Manabu Saito Shinji Kagawa
399 414 Koo Ja-cheol (c) Lee Yong
288 527 Hugo Lloris (c) Nacer Chadli
375 513 Julian Green Mikkel Diskerud
100 554 Carlos Carbonero Pablo Armero
212 622 Ezequiel Lavezzi Salvatore Sirigu
22 120 Aleksandr Kokorin Christian Noboa
649 682 Shola Ameobi Tim Krul
190 691 Efe Ambrose Uche Nwofor
257 638 Giovanni Sio Serey Die
324 548 Jefferson Montero Óscar Bagüí
273 598 Hashem Beikzadeh Reza Ghoochannejhad
525 527 Nabil Bentaleb Nacer Chadli
609 700 Roger Espinoza Víctor Bernárdez
250 402 Giannis Fetfatzidis Kostas Mitroglou
66 584 Ashkan Dejagah Rahman Ahmadi
534 659 Nigel de Jong Stefan de Vrij
233 547 Fred Oscar
447 452 Marco Parolo Mario Balotelli
66 315 Ashkan Dejagah Javad Nekounam (c)
60 576 Antonio Valencia (c) Phil Jones
220 664 Fatau Dauda Stephen Adams
376 547 Júlio César Oscar
231 627 Frank Lampard Samuel Eto'o (c)
263 455 Gordon Schildenfeld Mario Mandžukic
144 232 Danny Welbeck Fraser Forster
453 596 Mario Gavranovic Reto Ziegler
60 235 Antonio Valencia (c) Frickson Erazo
219 304 Faryd Mondragón Jackson Martínez
61 79 Arjen Robben Bastian Schweinsteiger
334 499 Joao Rojas Michael Arroyo
324 353 Jefferson Montero Jorge Guagua
420 579 Loïc Feudjou Pierre Webó
106 701 Carlos Valdés Víctor Ibarbo
59 449 Antonio Cassano Marco Verratti
285 491 Hotaru Yamaguchi Maya Yoshida
133 682 Daley Blind Tim Krul
49 546 Andrés Guardado Oribe Peralta
730 734 Yoshito Okubo Yuto Nagatomo
277 580 Hélder Postiga Rafa Silva
282 441 Hiroshi Kiyotake Manabu Saito
76 196 Bacary Sagna Eliaquim Mangala
52 427 Andy Najar Luis López
105 106 Carlos Sánchez Carlos Valdés
88 266 Blerim Džemaili Granit Xhaka
269 392 Han Kook-young Kim Chang-soo
629 719 Santi Cazorla Xabi Alonso
86 593 Beto Raul Meireles
2 554 Abel Aguilar Pablo Armero
650 724 Shuichi Gonda Yasuhito Endo
46 481 Andrea Pirlo Mattia De Sciglio
223 361 Felipe Gutiérrez José Pedro Fuenzalida
539 542 Ognjen Vukojevic Oliver Zelenika
203 517 Erik Durm Miroslav Klose
237 622 Gabriel Paletta Salvatore Sirigu
499 595 Michael Arroyo Renato Ibarra
184 697 Edin Višca Vedad Ibiševic
27 409 Alex Oxlade-Chamberlain Laurent Koscielny
469 600 Mateo Kovacic Ricardo Álvarez
245 644 Gerard Piqué Sergio Ramos
188 216 Eduardo dos Reis Carvalho Fábio Coentrão
143 669 Danijel Subašic Stipe Pletikosa
476 530 Matt Besler Nick Rimando
498 648 Mesut Özil Shkodran Mustafi
260 693 Gökhan Inler (c) Valon Behrami
566 673 Paul Verhaegh Terence Kongolo
426 464 Luis Garrido Marvin Chávez
44 623 André Schürrle Sami Khedira
379 574 Juwon Oshaniwa Peter Odemwingie
200 500 Emmanuel Emenike Michael Babatunde
316 591 Javi Martínez Raúl Albiol
246 671 Gervinho Sylvain Gbohouo
138 347 Daniel Opare Jordan Ayew
254 556 Giorgos Samaras Panagiotis Glykos
30 102 Alexander Domínguez Carlos Gruezo
13 306 Ahmad Alenemeh Jalal Hosseini
259 574 Godfrey Oboabona Peter Odemwingie
154 245 David Silva Gerard Piqué
261 572 Gonzalo Higuaín Pepe Reina
632 726 Sayouba Mandé Yaya Touré
265 326 Graham Zusi Jermaine Jones
527 532 Nacer Chadli Nicolas Lombaerts
267 355 Guillermo Ochoa José de Jesús Corona
203 480 Erik Durm Matthias Ginter
215 257 Fabian Schär Giovanni Sio
416 483 Leonardo Bonucci Mauricio Isla
75 200 Azubuike Egwuekwe Emmanuel Emenike
12 54 Agustín Orión Ángel di María
372 609 Juan Pablo Montes Roger Espinoza
152 501 David Myrie Michael Barrantes
196 425 Eliaquim Mangala Lucas Digne
13 137 Ahmad Alenemeh Daniel Davari
256 509 Giovani dos Santos Miguel Ángel Ponce
234 608 Fredy Guarín Rodrigo Palacio
421 649 Loïc Rémy Shola Ameobi
33 368 Alexis Sánchez Juan Carlos Paredes
398 485 Kolo Touré Max Gradel
296 418 Islam Slimani Liassine Cadamuro-Bentaïba
301 535 Ivica Olic Nikica Jelavic
609 615 Roger Espinoza Rony Martínez
573 648 Per Mertesacker Shkodran Mustafi
235 324 Frickson Erazo Jefferson Montero
136 152 Daniel Cambronero David Myrie
154 644 David Silva Sergio Ramos
161 474 Didier Zokora Mathis Bolly
68 184 Asmir Begovic Edin Višca
264 725 Gotoku Sakai Yasuyuki Konno
99 300 Carlos Bacca Ivan Rakitic
235 334 Frickson Erazo Joao Rojas
461 607 Martín Cáceres Rodrigo Muñoz
515 680 Mile Jedinak (c) Tim Cahill
468 620 Massimo Luongo Ryan McGowan
485 663 Max Gradel Stéphane Ruffier
553 657 Ousmane Viera Sol Bamba
474 485 Mathis Bolly Max Gradel
185 676 Edinson Cavani Thiago Silva (c)
164 359 Diego Costa José María Giménez
288 421 Hugo Lloris (c) Loïc Rémy
73 516 Avdija Vršajevic Miralem Pjanic
106 234 Carlos Valdés Fredy Guarín
291 675 Ignazio Abate Thiago Motta
53 635 Anel Hadžic Sejad Salihovic
191 607 Egidio Arévalo Ríos Rodrigo Muñoz
410 674 Lazaros Christodoulopoulos Theofanis Gekas
397 720 Koke Xavi
90 242 Brad Davis Geoff Cameron
88 578 Blerim Džemaili Philippe Senderos
98 464 Carlo Costly Marvin Chávez
162 665 Diego Benaglio Steve von Bergen
178 426 Edder Delgado Luis Garrido
13 78 Ahmad Alenemeh Bakhtiar Rahmani
25 293 Aleksei Kozlov Igor Denisov
350 613 Jordy Clasie Ron Vlaar
250 660 Giannis Fetfatzidis Stefanos Kapino
131 216 Cristiano Ronaldo (c) Fábio Coentrão
11 340 Afriyie Acquah John Boye
455 514 Mario Mandžukic Milan Badelj
172 707 Divock Origi Vincent Kompany (c)
214 344 Fabián Orellana Johnny Herrera
236 595 Gabriel Achilier Renato Ibarra
299 542 Ivan Perišic Oliver Zelenika
67 497 Asmir Avdukic Mensur Mujdža
311 707 Jan Vertonghen Vincent Kompany (c)
157 301 Dejan Lovren Ivica Olic
67 302 Asmir Avdukic Izet Hajrovic
262 362 Gonzalo Jara José Rojas
53 198 Anel Hadžic Emir Spahic (c)
161 715 Didier Zokora Wilfried Bony
6 470 Adam Taggart Mathew Leckie
580 703 Rafa Silva Vieirinha
422 622 Lorenzo Insigne Salvatore Sirigu
91 544 Brad Guzan Omar Gonzalez
50 572 Andrés Iniesta Pepe Reina
66 253 Ashkan Dejagah Giorgos Karagounis (c)
192 599 Ehsan Hajsafi Reza Haghighi
62 265 Aron Jóhannsson Graham Zusi
138 664 Daniel Opare Stephen Adams
350 566 Jordy Clasie Paul Verhaegh
179 667 Eden Hazard Steven Defour
93 652 Bruno Alves Silvestre Varela
52 367 Andy Najar Juan Carlos García
70 212 Augusto Fernández Ezequiel Lavezzi
454 498 Mario Götze Mesut Özil
725 734 Yasuyuki Konno Yuto Nagatomo
69 491 Atsuto Uchida Maya Yoshida
390 395 Ki Sung-yueng Kim Young-gwon
423 660 Loukas Vyntra Stefanos Kapino
15 722 Aïssa Mandi Yacine Brahimi
497 524 Mensur Mujdža Muhamed Bešic
420 627 Loïc Feudjou Samuel Eto'o (c)
5 583 Adam Lallana Raheem Sterling
223 445 Felipe Gutiérrez Marcelo Díaz
322 671 Jean-Daniel Akpa-Akpro Sylvain Gbohouo
22 641 Aleksandr Kokorin Sergey Ryzhikov
347 520 Jordan Ayew Mohammed Rabiu
98 700 Carlo Costly Víctor Bernárdez
143 263 Danijel Subašic Gordon Schildenfeld
607 634 Rodrigo Muñoz Sebastián Coates
430 607 Luis Suárez Rodrigo Muñoz
85 224 Bernard Fernandinho
262 445 Gonzalo Jara Marcelo Díaz
379 587 Juwon Oshaniwa Ramon Azeez
459 686 Mark Milligan Tommy Oar
24 51 Aleksei Ionov Andrey Yeshchenko
379 500 Juwon Oshaniwa Michael Babatunde
452 675 Mario Balotelli Thiago Motta
30 228 Alexander Domínguez Fidel Martínez
120 236 Christian Noboa Gabriel Achilier
72 115 Austin Ejide Chigozie Agbim
175 187 Domagoj Vida Eduardo da Silva
144 460 Danny Welbeck Marouane Fellaini
220 437 Fatau Dauda Majeed Waris
283 399 Hong Jeong-ho Koo Ja-cheol (c)
408 685 Laurent Ciman Toby Alderweireld
44 203 André Schürrle Erik Durm
186 305 Édison Méndez Jaime Ayoví
178 329 Edder Delgado Jerry Palacios
120 710 Christian Noboa Walter Ayoví
175 299 Domagoj Vida Ivan Perišic
154 349 David Silva Jordi Alba
95 727 Bryan Ruiz (c) Yeltsin Tejeda
139 398 Daniel Sturridge Kolo Touré
193 264 Eiji Kawashima Gotoku Sakai
195 296 El Arbi Hillel Soudani Islam Slimani
367 536 Juan Carlos García Noel Valladares (c)
207 484 Esteban Paredes Mauricio Pinilla
311 612 Jan Vertonghen Romelu Lukaku
91 126 Brad Guzan Clint Dempsey (c)
233 280 Fred Hernanes
22 25 Aleksandr Kokorin Aleksei Kozlov
443 644 Marcelo Sergio Ramos
421 604 Loïc Rémy Rio Mavuba
353 710 Jorge Guagua Walter Ayoví
101 362 Carlos Carmona José Rojas
33 239 Alexis Sánchez Gary Medel
215 271 Fabian Schär Haris Seferovic
562 565 Patrice Evra Paul Pogba
60 186 Antonio Valencia (c) Édison Méndez
379 691 Juwon Oshaniwa Uche Nwofor
238 616 Gary Cahill Ross Barkley
491 521 Maya Yoshida Morgan Schneiderlin
332 428 João Moutinho Luís Neto
372 718 Juan Pablo Montes Wilson Palacios
50 349 Andrés Iniesta Jordi Alba
707 726 Vincent Kompany (c) Yaya Touré
650 651 Shuichi Gonda Shusaku Nishikawa
236 353 Gabriel Achilier Jorge Guagua
119 588 Christian Bolaños Randall Brenes
35 137 Alireza Haghighi Daniel Davari
330 377 Ji Dong-won Jung Sung-ryong
187 455 Eduardo da Silva Mario Mandžukic
256 317 Giovani dos Santos Javier Aquino
123 622 Ciro Immobile Salvatore Sirigu
231 547 Frank Lampard Oscar
635 688 Sejad Salihovic Toni Šunjic
130 366 Cristián Zapata Juan Camilo Zúñiga
172 386 Divock Origi Kevin Mirallas
300 662 Ivan Rakitic Stéphane Mbia
96 554 Camilo Vargas Pablo Armero
343 360 Johnny Acosta José Miguel Cubero
415 668 Leighton Baines Steven Gerrard (c)
286 333 Hugo Almeida João Pereira
115 403 Chigozie Agbim Kunle Odunlami
462 487 Martín Demichelis Maxi Rodríguez
280 287 Hernanes Hugo Campagnaro
38 240 Álvaro González Gastón Ramírez
162 692 Diego Benaglio Valentin Stocker
319 555 Javier Mascherano Pablo Zabaleta
565 594 Paul Pogba Rémy Cabella
28 337 Alex Song Joël Matip
608 642 Rodrigo Palacio Sergio Agüero
64 416 Arturo Vidal Leonardo Bonucci
1 582 Abdelmoumene Djabou Rafik Halliche
172 311 Divock Origi Jan Vertonghen
227 629 Fernando Torres Santi Cazorla
384 527 Kevin De Bruyne Nacer Chadli
63 160 Arthur Boka Didier Ya Konan
109 152 Celso Borges David Myrie
283 731 Hong Jeong-ho Yun Suk-young
388 506 Keylor Navas Michael Umaña
597 649 Reuben Gabriel Shola Ameobi
584 666 Rahman Ahmadi Steven Beitashour
140 311 Daniel Van Buyten Jan Vertonghen
80 139 Ben Foster Daniel Sturridge
107 420 Cédric Djeugoué Loïc Feudjou
102 236 Carlos Gruezo Gabriel Achilier
135 145 Dani Alves Dante
160 161 Didier Ya Konan Didier Zokora
219 369 Faryd Mondragón Juan Fernando Quintero
42 286 André Almeida Hugo Almeida
203 498 Erik Durm Mesut Özil
472 604 Mathieu Debuchy Rio Mavuba
251 400 Giannis Maniatis Kostas Katsouranis
381 543 Karim Benzema Olivier Giroud
350 496 Jordy Clasie Memphis Depay
189 445 Eduardo Vargas Marcelo Díaz
195 655 El Arbi Hillel Soudani Sofiane Feghouli
381 421 Karim Benzema Loïc Rémy
371 646 Juan Mata Shinji Kagawa
319 368 Javier Mascherano Juan Carlos Paredes
268 405 Ha Dae-sung Kwak Tae-hwi
162 661 Diego Benaglio Stephan Lichtsteiner
297 639 Ismaël Diomandé Serge Aurier
580 652 Rafa Silva Silvestre Varela
92 98 Brayan Beckeles Carlo Costly
250 696 Giannis Fetfatzidis Vasilis Torosidis
76 498 Bacary Sagna Mesut Özil
533 662 Nicolas N'Koulou Stéphane Mbia
438 689 Makoto Hasebe (c) Toshihiro Aoyama
365 476 Jozy Altidore Matt Besler
264 650 Gotoku Sakai Shuichi Gonda
378 488 Júnior Díaz Maxim Choupo-Moting
253 558 Giorgos Karagounis (c) Panagiotis Tachtsidis
452 482 Mario Balotelli Mattia Perin
47 251 Andreas Samaris Giannis Maniatis
155 685 David Villa Toby Alderweireld
320 354 Jean Beausejour Jorge Valdivia
346 520 Jonathan Mensah Mohammed Rabiu
19 46 Alberto Aquilani Andrea Pirlo
515 541 Mile Jedinak (c) Oliver Bozanic
333 652 João Pereira Silvestre Varela
102 368 Carlos Gruezo Juan Carlos Paredes
215 610 Fabian Schär Roman Bürki
109 448 Celso Borges Marco Ureña
104 355 Carlos Salcido José de Jesús Corona
44 611 André Schürrle Roman Weidenfeller
54 424 Ángel di María Lucas Biglia
97 218 Carl Medjani Faouzi Ghoulam
109 163 Celso Borges Diego Calvo
85 187 Bernard Eduardo da Silva
497 688 Mensur Mujdža Toni Šunjic
121 165 Christian Stuani Diego Forlán
122 611 Christoph Kramer Roman Weidenfeller
35 247 Alireza Haghighi Ghasem Haddadifar
619 703 Rui Patrício Vieirinha
25 158 Aleksei Kozlov Denis Glushakov
432 698 Luka Modric Vedran Corluka
332 619 João Moutinho Rui Patrício
64 483 Arturo Vidal Mauricio Isla
397 572 Koke Pepe Reina
18 272 Albert Adomah Harrison Afful
10 366 Adrián Ramos Juan Camilo Zúñiga
44 517 André Schürrle Miroslav Klose
88 721 Blerim Džemaili Xherdan Shaqiri
308 576 James Milner Phil Jones
570 598 Pejman Montazeri Reza Ghoochannejhad
320 445 Jean Beausejour Marcelo Díaz
200 593 Emmanuel Emenike Raul Meireles
55 157 Ante Rebic Dejan Lovren
54 131 Ángel di María Cristiano Ronaldo (c)
154 555 David Silva Pablo Zabaleta
155 397 David Villa Koke
271 692 Haris Seferovic Valentin Stocker
334 429 Joao Rojas Luis Saritama
22 48 Aleksandr Kokorin Andrei Semyonov
275 295 Héctor Herrera Isaác Brizuela
241 596 Gelson Fernandes Reto Ziegler
136 550 Daniel Cambronero Óscar Duarte
128 163 Cristian Gamboa Diego Calvo
280 586 Hernanes Ramires
93 580 Bruno Alves Rafa Silva
111 719 Cesc Fàbregas Xabi Alonso
372 536 Juan Pablo Montes Noel Valladares (c)
360 550 José Miguel Cubero Óscar Duarte
45 404 Andrea Barzagli Kwadwo Asamoah
43 520 André Ayew Mohammed Rabiu
125 422 Claudio Marchisio Lorenzo Insigne
84 217 Benoît Assou-Ekotto Fabrice Olinga
475 623 Mats Hummels Sami Khedira
553 621 Ousmane Viera Salomon Kalou
130 457 Cristián Zapata Mario Yepes (c)
1 195 Abdelmoumene Djabou El Arbi Hillel Soudani
400 656 Kostas Katsouranis Sokratis Papastathopoulos
371 591 Juan Mata Raúl Albiol
69 193 Atsuto Uchida Eiji Kawashima
294 572 Iker Casillas (c) Pepe Reina
579 593 Pierre Webó Raul Meireles
69 730 Atsuto Uchida Yoshito Okubo
111 572 Cesc Fàbregas Pepe Reina
72 383 Austin Ejide Kenneth Omeruo
28 533 Alex Song Nicolas N'Koulou
41 78 Andranik Teymourian Bakhtiar Rahmani
159 302 Didier Drogba (c) Izet Hajrovic
430 486 Luis Suárez Maxi Pereira
308 434 James Milner Luke Shaw
27 583 Alex Oxlade-Chamberlain Raheem Sterling
395 413 Kim Young-gwon Lee Keun-ho
721 723 Xherdan Shaqiri Yann Sommer
128 378 Cristian Gamboa Júnior Díaz
251 402 Giannis Maniatis Kostas Mitroglou
274 585 Hassan Yebda Raïs M'Bolhi
597 691 Reuben Gabriel Uche Nwofor
11 347 Afriyie Acquah Jordan Ayew
352 486 Jorge Fucile Maxi Pereira
386 575 Kevin Mirallas Phil Jagielka
5 616 Adam Lallana Ross Barkley
50 629 Andrés Iniesta Santi Cazorla
215 453 Fabian Schär Mario Gavranovic
131 286 Cristiano Ronaldo (c) Hugo Almeida
238 258 Gary Cahill Glen Johnson
67 636 Asmir Avdukic Senad Lulic
2 181 Abel Aguilar Éder Álvarez Balanta
128 448 Cristian Gamboa Marco Ureña
281 465 Hiroki Sakai Masahiko Inoha
424 537 Lucas Biglia Ogenyi Onazi
185 226 Edinson Cavani Fernando Muslera
231 238 Frank Lampard Gary Cahill
243 733 Georgi Shchennikov Yuri Zhirkov
575 603 Phil Jagielka Rickie Lambert
143 444 Danijel Subašic Marcelo Brozovic
496 606 Memphis Depay Robin van Persie (c)
5 491 Adam Lallana Maya Yoshida
109 588 Celso Borges Randall Brenes
365 375 Jozy Altidore Julian Green
342 587 John Obi Mikel Ramon Azeez
272 664 Harrison Afful Stephen Adams
140 707 Daniel Van Buyten Vincent Kompany (c)
195 494 El Arbi Hillel Soudani Mehdi Mostefa
91 375 Brad Guzan Julian Green
612 616 Romelu Lukaku Ross Barkley
673 714 Terence Kongolo Wesley Sneijder
473 565 Mathieu Valbuena Paul Pogba
374 678 Julian Draxler Thomas Müller
243 640 Georgi Shchennikov Sergei Ignashevich
218 526 Faouzi Ghoulam Nabil Ghilas
203 385 Erik Durm Kevin Großkreutz
349 489 Jordi Alba Máximo Banguera
477 620 Matt McKay Ryan McGowan
329 351 Jerry Palacios Jorge Claros
109 343 Celso Borges Johnny Acosta
65 138 Asamoah Gyan (c) Daniel Opare
250 255 Giannis Fetfatzidis Giorgos Tzavellas
259 379 Godfrey Oboabona Juwon Oshaniwa
288 522 Hugo Lloris (c) Mousa Dembélé
134 406 DaMarcus Beasley Kyle Beckerman
169 652 Diego Reyes Silvestre Varela
373 572 Juanfran Pepe Reina
85 717 Bernard Willian
180 332 Éder João Moutinho
163 712 Diego Calvo Waylon Francis
333 619 João Pereira Rui Patrício
324 595 Jefferson Montero Renato Ibarra
43 709 André Ayew Wakaso Mubarak
238 576 Gary Cahill Phil Jones
85 331 Bernard
225 645 Fernando Gago Sergio Romero
342 706 John Obi Mikel Vincent Enyeama
84 705 Benoît Assou-Ekotto Vincent Aboubakar
185 240 Edinson Cavani Gastón Ramírez
400 696 Kostas Katsouranis Vasilis Torosidis
343 727 Johnny Acosta Yeltsin Tejeda
131 601 Cristiano Ronaldo (c) Ricardo Costa
15 655 Aïssa Mandi Sofiane Feghouli
154 642 David Silva Sergio Agüero
230 445 Francisco Silva Marcelo Díaz
559 658 Park Chu-young Son Heung-min
467 584 Masoud Shojaei Rahman Ahmadi
97 722 Carl Medjani Yacine Brahimi
9 120 Adrián Bone Christian Noboa
288 604 Hugo Lloris (c) Rio Mavuba
536 609 Noel Valladares (c) Roger Espinoza
114 127 Cheick Tioté Constant Djakpa
14 363 Ahmed Musa Joseph Yobo (c)
169 509 Diego Reyes Miguel Ángel Ponce
209 262 Eugenio Mena Gonzalo Jara
294 371 Iker Casillas (c) Juan Mata
303 573 Jack Wilshere Per Mertesacker
573 611 Per Mertesacker Roman Weidenfeller
288 565 Hugo Lloris (c) Paul Pogba
576 603 Phil Jones Rickie Lambert
261 419 Gonzalo Higuaín Lionel Messi (c)
359 607 José María Giménez Rodrigo Muñoz
273 284 Hashem Beikzadeh Hossein Mahini
75 649 Azubuike Egwuekwe Shola Ameobi
418 585 Liassine Cadamuro-Bentaïba Raïs M'Bolhi
46 452 Andrea Pirlo Mario Balotelli
37 321 Allan Nyom Jean Makoun
268 559 Ha Dae-sung Park Chu-young
144 713 Danny Welbeck Wayne Rooney
470 620 Mathew Leckie Ryan McGowan
261 319 Gonzalo Higuaín Javier Mascherano
265 513 Graham Zusi Mikkel Diskerud
209 362 Eugenio Mena José Rojas
137 204 Daniel Davari Ermin Bicakcic
77 81 Bailey Wright Ben Halloran
327 385 Jérôme Boateng Kevin Großkreutz
10 554 Adrián Ramos Pablo Armero
37 627 Allan Nyom Samuel Eto'o (c)
125 461 Claudio Marchisio Martín Cáceres
123 291 Ciro Immobile Ignazio Abate
7 602 Admir Mehmedi Ricardo Rodríguez
9 552 Adrián Bone Oswaldo Minda
111 154 Cesc Fàbregas David Silva
244 338 Georginio Wijnaldum Joël Veltman
506 550 Michael Umaña Óscar Duarte
296 585 Islam Slimani Raïs M'Bolhi
227 231 Fernando Torres Frank Lampard
292 568 Igor Akinfeev Pavel Mogilevets
534 613 Nigel de Jong Ron Vlaar
15 605 Aïssa Mandi Riyad Mahrez
115 200 Chigozie Agbim Emmanuel Emenike
128 343 Cristian Gamboa Johnny Acosta
69 337 Atsuto Uchida Joël Matip
222 548 Felipe Caicedo Óscar Bagüí
324 429 Jefferson Montero Luis Saritama
198 636 Emir Spahic (c) Senad Lulic
236 334 Gabriel Achilier Joao Rojas
432 571 Luka Modric Pepe
28 84 Alex Song Benoît Assou-Ekotto
418 435 Liassine Cadamuro-Bentaïba Madjid Bougherra (c)
305 710 Jaime Ayoví Walter Ayoví
132 207 Cristopher Toselli Esteban Paredes
300 455 Ivan Rakitic Mario Mandžukic
177 591 Dries Mertens Raúl Albiol
85 145 Bernard Dante
1 15 Abdelmoumene Djabou Aïssa Mandi
168 531 Diego Pérez Nicolás Lodeiro
549 609 Óscar Boniek García Roger Espinoza
203 327 Erik Durm Jérôme Boateng
345 566 Jonathan de Guzmán Paul Verhaegh
339 690 Johan Djourou Tranquillo Barnetta
281 382 Hiroki Sakai Keisuke Honda
65 437 Asamoah Gyan (c) Majeed Waris
589 623 Raphaël Varane Sami Khedira
383 691 Kenneth Omeruo Uche Nwofor
440 589 Mamadou Sakho Raphaël Varane
43 503 André Ayew Michael Essien
333 571 João Pereira Pepe
341 406 John Brooks Kyle Beckerman
375 530 Julian Green Nick Rimando
47 660 Andreas Samaris Stefanos Kapino
76 381 Bacary Sagna Karim Benzema
150 606 David de Gea Robin van Persie (c)
108 296 Cédric Si Mohamed Islam Slimani
55 432 Ante Rebic Luka Modric
258 668 Glen Johnson Steven Gerrard (c)
434 583 Luke Shaw Raheem Sterling
38 486 Álvaro González Maxi Pereira
371 643 Juan Mata Sergio Busquets
27 434 Alex Oxlade-Chamberlain Luke Shaw
183 308 Edin Džeko James Milner
336 360 Joel Campbell José Miguel Cubero
286 619 Hugo Almeida Rui Patrício
573 577 Per Mertesacker Philipp Lahm (c)
131 381 Cristiano Ronaldo (c) Karim Benzema
43 387 André Ayew Kevin-Prince Boateng
313 471 Jason Davidson Mathew Ryan
124 484 Claudio Bravo (c) Mauricio Pinilla
98 178 Carlo Costly Edder Delgado
185 449 Edinson Cavani Marco Verratti
415 713 Leighton Baines Wayne Rooney
40 306 Amir Hossein Sadeghi Jalal Hosseini
435 585 Madjid Bougherra (c) Raïs M'Bolhi
92 372 Brayan Beckeles Juan Pablo Montes
473 589 Mathieu Valbuena Raphaël Varane
135 699 Dani Alves Victor
244 350 Georginio Wijnaldum Jordy Clasie
87 381 Blaise Matuidi Karim Benzema
143 299 Danijel Subašic Ivan Perišic
84 626 Benoît Assou-Ekotto Sammy N'Djock
249 482 Gianluigi Buffon (c) Mattia Perin
519 631 Mohamed Zemmamouche Saphir Taïder
484 701 Mauricio Pinilla Víctor Ibarbo
437 664 Majeed Waris Stephen Adams
408 679 Laurent Ciman Thomas Vermaelen
171 613 Dirk Kuyt Ron Vlaar
180 716 Éder William Carvalho
396 633 Klaas-Jan Huntelaar Sead Kolašinac
312 688 Jasmin Fejzic Toni Šunjic
323 431 Jefferson Luiz Gustavo
329 492 Jerry Palacios Maynor Figueroa
436 586 Maicon Ramires
270 524 Haris Medunjanin Muhamed Bešic
129 226 Cristian Rodríguez Fernando Muslera
33 529 Alexis Sánchez Neymar
424 600 Lucas Biglia Ricardo Álvarez
150 646 David de Gea Shinji Kagawa
409 425 Laurent Koscielny Lucas Digne
62 90 Aron Jóhannsson Brad Davis
230 354 Francisco Silva Jorge Valdivia
547 627 Oscar Samuel Eto'o (c)
273 389 Hashem Beikzadeh Khosro Heydari
89 639 Boubacar Barry Serge Aurier
285 466 Hotaru Yamaguchi Masato Morishige
398 474 Kolo Touré Mathis Bolly
25 732 Aleksei Kozlov Yuri Lodygin
657 726 Sol Bamba Yaya Touré
319 450 Javier Mascherano Marcos Rojo
146 326 Dany Nounkeu Jermaine Jones
44 385 André Schürrle Kevin Großkreutz
161 257 Didier Zokora Giovanni Sio
137 389 Daniel Davari Khosro Heydari
186 548 Édison Méndez Óscar Bagüí
385 454 Kevin Großkreutz Mario Götze
82 611 Benedikt Höwedes Roman Weidenfeller
455 539 Mario Mandžukic Ognjen Vukojevic
372 615 Juan Pablo Montes Rony Martínez
92 329 Brayan Beckeles Jerry Palacios
265 476 Graham Zusi Matt Besler
316 454 Javi Martínez Mario Götze
121 226 Christian Stuani Fernando Muslera
176 178 Donis Escober Edder Delgado
647 729 Shinji Okazaki Yoichiro Kakitani
402 694 Kostas Mitroglou Vangelis Moras
329 426 Jerry Palacios Luis Garrido
227 294 Fernando Torres Iker Casillas (c)
164 644 Diego Costa Sergio Ramos
287 450 Hugo Campagnaro Marcos Rojo
113 146 Charles Itandje Dany Nounkeu
164 373 Diego Costa Juanfran
401 410 Kostas Manolas Lazaros Christodoulopoulos
363 383 Joseph Yobo (c) Kenneth Omeruo
90 502 Brad Davis Michael Bradley
33 101 Alexis Sánchez Carlos Carmona
409 523 Laurent Koscielny Moussa Sissoko
21 732 Aleksandr Kerzhakov Yuri Lodygin
215 445 Fabian Schär Marcelo Díaz
521 523 Morgan Schneiderlin Moussa Sissoko
438 441 Makoto Hasebe (c) Manabu Saito
125 416 Claudio Marchisio Leonardo Bonucci
591 720 Raúl Albiol Xavi
485 638 Max Gradel Serey Die
251 545 Giannis Maniatis Orestis Karnezis
330 390 Ji Dong-won Ki Sung-yueng
177 685 Dries Mertens Toby Alderweireld
516 636 Miralem Pjanic Senad Lulic
225 642 Fernando Gago Sergio Agüero
288 562 Hugo Lloris (c) Patrice Evra
379 383 Juwon Oshaniwa Kenneth Omeruo
520 670 Mohammed Rabiu Sulley Muntari
439 540 Maksim Kanunnikov Oleg Shatov
196 523 Eliaquim Mangala Moussa Sissoko
539 698 Ognjen Vukojevic Vedran Corluka
628 709 Samuel Inkoom Wakaso Mubarak
210 662 Eyong Enoh Stéphane Mbia
104 510 Carlos Salcido Miguel Layún
137 192 Daniel Davari Ehsan Hajsafi
19 370 Alberto Aquilani Juan Guillermo Cuadrado
212 424 Ezequiel Lavezzi Lucas Biglia
275 509 Héctor Herrera Miguel Ángel Ponce
500 597 Michael Babatunde Reuben Gabriel
331 676 Thiago Silva (c)
94 606 Bruno Martins Indi Robin van Persie (c)
271 723 Haris Seferovic Yann Sommer
667 685 Steven Defour Toby Alderweireld
95 336 Bryan Ruiz (c) Joel Campbell
201 489 Enner Valencia Máximo Banguera
260 572 Gökhan Inler (c) Pepe Reina
116 434 Chris Smalling Luke Shaw
381 644 Karim Benzema Sergio Ramos
442 623 Manuel Neuer Sami Khedira
84 662 Benoît Assou-Ekotto Stéphane Mbia
52 609 Andy Najar Roger Espinoza
424 451 Lucas Biglia Mariano Andújar
35 78 Alireza Haghighi Bakhtiar Rahmani
279 591 Henrique Raúl Albiol
303 583 Jack Wilshere Raheem Sterling
318 357 Javier Hernández José Juan Vázquez
16 540 Alan Dzagoev Oleg Shatov
355 592 José de Jesús Corona Raúl Jiménez
110 238 César Azpilicueta Gary Cahill
95 152 Bryan Ruiz (c) David Myrie
274 519 Hassan Yebda Mohamed Zemmamouche
522 685 Mousa Dembélé Toby Alderweireld
136 727 Daniel Cambronero Yeltsin Tejeda
93 333 Bruno Alves João Pereira
611 648 Roman Weidenfeller Shkodran Mustafi
88 572 Blerim Džemaili Pepe Reina
460 528 Marouane Fellaini Nani
433 442 Lukas Podolski Manuel Neuer
54 487 Ángel di María Maxi Rodríguez
21 540 Aleksandr Kerzhakov Oleg Shatov
142 444 Danijel Pranjic Marcelo Brozovic
254 423 Giorgos Samaras Loukas Vyntra
649 702 Shola Ameobi Victor Moses
79 721 Bastian Schweinsteiger Xherdan Shaqiri
529 720 Neymar Xavi
227 238 Fernando Torres Gary Cahill
510 546 Miguel Layún Oribe Peralta
491 730 Maya Yoshida Yoshito Okubo
88 661 Blerim Džemaili Stephan Lichtsteiner
35 66 Alireza Haghighi Ashkan Dejagah
403 587 Kunle Odunlami Ramon Azeez
181 304 Éder Álvarez Balanta Jackson Martínez
147 469 Darijo Srna (c) Mateo Kovacic
294 432 Iker Casillas (c) Luka Modric
303 308 Jack Wilshere James Milner
103 169 Carlos Peña Diego Reyes
159 160 Didier Drogba (c) Didier Ya Konan
167 634 Diego Lugano (c) Sebastián Coates
233 289 Fred Hulk
621 726 Salomon Kalou Yaya Touré
40 192 Amir Hossein Sadeghi Ehsan Hajsafi
252 622 Giorgio Chiellini Salvatore Sirigu
255 557 Giorgos Tzavellas Panagiotis Kone
393 395 Kim Seung-gyu Kim Young-gwon
127 474 Constant Djakpa Mathis Bolly
335 583 Joe Hart Raheem Sterling
142 143 Danijel Pranjic Danijel Subašic
119 343 Christian Bolaños Johnny Acosta
184 684 Edin Višca Tino-Sven Sušic
493 624 Medhi Lacen Sammir
433 454 Lukas Podolski Mario Götze
219 366 Faryd Mondragón Juan Camilo Zúñiga
545 722 Orestis Karnezis Yacine Brahimi
320 484 Jean Beausejour Mauricio Pinilla
401 674 Kostas Manolas Theofanis Gekas
64 230 Arturo Vidal Francisco Silva
138 709 Daniel Opare Wakaso Mubarak
211 645 Ezequiel Garay Sergio Romero
133 507 Daley Blind Michel Vorm
418 655 Liassine Cadamuro-Bentaïba Sofiane Feghouli
351 536 Jorge Claros Noel Valladares (c)
340 520 John Boye Mohammed Rabiu
231 348 Frank Lampard Jordan Henderson
577 623 Philipp Lahm (c) Sami Khedira
403 574 Kunle Odunlami Peter Odemwingie
20 134 Alejandro Bedoya DaMarcus Beasley
472 649 Mathieu Debuchy Shola Ameobi
311 567 Jan Vertonghen Paulinho
40 599 Amir Hossein Sadeghi Reza Haghighi
203 656 Erik Durm Sokratis Papastathopoulos
453 665 Mario Gavranovic Steve von Bergen
340 664 John Boye Stephen Adams
534 673 Nigel de Jong Terence Kongolo
220 346 Fatau Dauda Jonathan Mensah
326 365 Jermaine Jones Jozy Altidore
418 493 Liassine Cadamuro-Bentaïba Medhi Lacen
203 573 Erik Durm Per Mertesacker
524 633 Muhamed Bešic Sead Kolašinac
95 378 Bryan Ruiz (c) Júnior Díaz
465 725 Masahiko Inoha Yasuyuki Konno
355 581 José de Jesús Corona Rafael Márquez (c)
164 227 Diego Costa Fernando Torres
374 648 Julian Draxler Shkodran Mustafi
121 168 Christian Stuani Diego Pérez
24 120 Aleksei Ionov Christian Noboa
606 713 Robin van Persie (c) Wayne Rooney
340 628 John Boye Samuel Inkoom
606 613 Robin van Persie (c) Ron Vlaar
305 368 Jaime Ayoví Juan Carlos Paredes
648 687 Shkodran Mustafi Toni Kroos
343 506 Johnny Acosta Michael Umaña
207 483 Esteban Paredes Mauricio Isla
190 505 Efe Ambrose Michael Uchebo
150 643 David de Gea Sergio Busquets
48 292 Andrei Semyonov Igor Akinfeev
483 565 Mauricio Isla Paul Pogba
122 327 Christoph Kramer Jérôme Boateng
647 651 Shinji Okazaki Shusaku Nishikawa
496 507 Memphis Depay Michel Vorm
43 118 André Ayew Christian Atsu
112 132 Charles Aránguiz Cristopher Toselli
279 431 Henrique Luiz Gustavo
114 523 Cheick Tioté Moussa Sissoko
461 711 Martín Cáceres Walter Gargano
183 524 Edin Džeko Muhamed Bešic
278 321 Henri Bedimo Jean Makoun
647 689 Shinji Okazaki Toshihiro Aoyama
547 699 Oscar Victor
366 701 Juan Camilo Zúñiga Víctor Ibarbo
215 692 Fabian Schär Valentin Stocker
11 437 Afriyie Acquah Majeed Waris
186 228 Édison Méndez Fidel Martínez
32 47 Alexandros Tziolis Andreas Samaris
411 731 Lee Bum-young Yun Suk-young
17 295 Alan Pulido Isaác Brizuela
588 617 Randall Brenes Roy Miller
91 134 Brad Guzan DaMarcus Beasley
9 305 Adrián Bone Jaime Ayoví
565 661 Paul Pogba Stephan Lichtsteiner
44 227 André Schürrle Fernando Torres
57 421 Antoine Griezmann Loïc Rémy
566 714 Paul Verhaegh Wesley Sneijder
522 707 Mousa Dembélé Vincent Kompany (c)
4 220 Adam Kwarasey Fatau Dauda
233 586 Fred Ramires
212 425 Ezequiel Lavezzi Lucas Digne
440 654 Mamadou Sakho Simon Mignolet
612 654 Romelu Lukaku Simon Mignolet
426 615 Luis Garrido Rony Martínez
371 373 Juan Mata Juanfran
37 488 Allan Nyom Maxim Choupo-Moting
279 490 Henrique Maxwell
155 719 David Villa Xabi Alonso
63 697 Arthur Boka Vedad Ibiševic
260 578 Gökhan Inler (c) Philippe Senderos
115 649 Chigozie Agbim Shola Ameobi
227 245 Fernando Torres Gerard Piqué
124 483 Claudio Bravo (c) Mauricio Isla
431 529 Luiz Gustavo Neymar
137 247 Daniel Davari Ghasem Haddadifar
7 266 Admir Mehmedi Granit Xhaka
301 539 Ivica Olic Ognjen Vukojevic
98 615 Carlo Costly Rony Martínez
494 655 Mehdi Mostefa Sofiane Feghouli
140 177 Daniel Van Buyten Dries Mertens
90 513 Brad Davis Mikkel Diskerud
216 332 Fábio Coentrão João Moutinho
258 603 Glen Johnson Rickie Lambert
392 731 Kim Chang-soo Yun Suk-young
518 680 Mitchell Langerak Tim Cahill
127 297 Constant Djakpa Ismaël Diomandé
39 185 Álvaro Pereira Edinson Cavani
299 431 Ivan Perišic Luiz Gustavo
262 361 Gonzalo Jara José Pedro Fuenzalida
100 366 Carlos Carbonero Juan Camilo Zúñiga
57 425 Antoine Griezmann Lucas Digne
244 673 Georginio Wijnaldum Terence Kongolo
227 717 Fernando Torres Willian
313 458 Jason Davidson Mark Bresciano
141 449 Daniele De Rossi Marco Verratti
84 146 Benoît Assou-Ekotto Dany Nounkeu
209 223 Eugenio Mena Felipe Gutiérrez
394 405 Kim Shin-wook Kwak Tae-hwi
390 559 Ki Sung-yueng Park Chu-young
6 471 Adam Taggart Mathew Ryan
321 340 Jean Makoun John Boye
208 298 Eugene Galekovic Ivan Franjic
97 494 Carl Medjani Mehdi Mostefa
204 312 Ermin Bicakcic Jasmin Fejzic
204 633 Ermin Bicakcic Sead Kolašinac
609 718 Roger Espinoza Wilson Palacios
708 732 Vladimir Granat Yuri Lodygin
181 554 Éder Álvarez Balanta Pablo Armero
46 478 Andrea Pirlo Matteo Darmian
441 689 Manabu Saito Toshihiro Aoyama
335 668 Joe Hart Steven Gerrard (c)
188 333 Eduardo dos Reis Carvalho João Pereira
408 527 Laurent Ciman Nacer Chadli
64 214 Arturo Vidal Fabián Orellana
597 706 Reuben Gabriel Vincent Enyeama
91 513 Brad Guzan Mikkel Diskerud
83 217 Benjamin Moukandjo Fabrice Olinga
196 663 Eliaquim Mangala Stéphane Ruffier
499 710 Michael Arroyo Walter Ayoví
562 663 Patrice Evra Stéphane Ruffier
509 581 Miguel Ángel Ponce Rafael Márquez (c)
302 714 Izet Hajrovic Wesley Sneijder
380 666 Karim Ansarifard Steven Beitashour
271 578 Haris Seferovic Philippe Senderos
600 631 Ricardo Álvarez Saphir Taïder
414 560 Lee Yong Park Jong-woo
73 684 Avdija Vršajevic Tino-Sven Sušic
165 167 Diego Forlán Diego Lugano (c)
100 106 Carlos Carbonero Carlos Valdés
344 361 Johnny Herrera José Pedro Fuenzalida
239 362 Gary Medel José Rojas
46 64 Andrea Pirlo Arturo Vidal
88 260 Blerim Džemaili Gökhan Inler (c)
78 284 Bakhtiar Rahmani Hossein Mahini
50 529 Andrés Iniesta Neymar
238 575 Gary Cahill Phil Jagielka
521 728 Morgan Schneiderlin Yohan Cabaye
509 510 Miguel Ángel Ponce Miguel Layún
12 70 Agustín Orión Augusto Fernández
224 289 Fernandinho Hulk
557 656 Panagiotis Kone Sokratis Papastathopoulos
33 223 Alexis Sánchez Felipe Gutiérrez
354 445 Jorge Valdivia Marcelo Díaz
16 48 Alan Dzagoev Andrei Semyonov
532 612 Nicolas Lombaerts Romelu Lukaku
235 236 Frickson Erazo Gabriel Achilier
38 607 Álvaro González Rodrigo Muñoz
152 727 David Myrie Yeltsin Tejeda
236 548 Gabriel Achilier Óscar Bagüí
476 683 Matt Besler Timothy Chandler
304 672 Jackson Martínez Teófilo Gutiérrez
322 485 Jean-Daniel Akpa-Akpro Max Gradel
180 618 Éder Rúben Amorim
213 544 Fabian Johnson Omar Gonzalez
354 512 Jorge Valdivia Miiko Albornoz
33 512 Alexis Sánchez Miiko Albornoz
208 310 Eugene Galekovic James Troisi
266 721 Granit Xhaka Xherdan Shaqiri
111 629 Cesc Fàbregas Santi Cazorla
555 726 Pablo Zabaleta Yaya Touré
120 334 Christian Noboa Joao Rojas
61 338 Arjen Robben Joël Veltman
93 593 Bruno Alves Raul Meireles
213 375 Fabian Johnson Julian Green
150 528 David de Gea Nani
409 421 Laurent Koscielny Loïc Rémy
416 478 Leonardo Bonucci Matteo Darmian
356 656 José Holebas Sokratis Papastathopoulos
338 659 Joël Veltman Stefan de Vrij
115 597 Chigozie Agbim Reuben Gabriel
413 658 Lee Keun-ho Son Heung-min
238 603 Gary Cahill Rickie Lambert
406 502 Kyle Beckerman Michael Bradley
404 670 Kwadwo Asamoah Sulley Muntari
397 643 Koke Sergio Busquets
299 469 Ivan Perišic Mateo Kovacic
190 403 Efe Ambrose Kunle Odunlami
414 559 Lee Yong Park Chu-young
27 629 Alex Oxlade-Chamberlain Santi Cazorla
42 211 André Almeida Ezequiel Garay
539 624 Ognjen Vukojevic Sammir
30 548 Alexander Domínguez Óscar Bagüí
103 256 Carlos Peña Giovani dos Santos
91 117 Brad Guzan Chris Wondolowski
52 98 Andy Najar Carlo Costly
36 598 Alireza Jahanbakhsh Reza Ghoochannejhad
356 558 José Holebas Panagiotis Tachtsidis
338 396 Joël Veltman Klaas-Jan Huntelaar
453 692 Mario Gavranovic Valentin Stocker
155 294 David Villa Iker Casillas (c)
398 553 Kolo Touré Ousmane Viera
222 305 Felipe Caicedo Jaime Ayoví
649 706 Shola Ameobi Vincent Enyeama
640 641 Sergei Ignashevich Sergey Ryzhikov
11 590 Afriyie Acquah Rashid Sumaila
24 293 Aleksei Ionov Igor Denisov
44 687 André Schürrle Toni Kroos
178 615 Edder Delgado Rony Martínez
434 491 Luke Shaw Maya Yoshida
641 708 Sergey Ryzhikov Vladimir Granat
620 686 Ryan McGowan Tommy Oar
385 480 Kevin Großkreutz Matthias Ginter
30 222 Alexander Domínguez Felipe Caicedo
75 115 Azubuike Egwuekwe Chigozie Agbim
226 359 Fernando Muslera José María Giménez
227 627 Fernando Torres Samuel Eto'o (c)
181 701 Éder Álvarez Balanta Víctor Ibarbo
93 277 Bruno Alves Hélder Postiga
441 729 Manabu Saito Yoichiro Kakitani
410 556 Lazaros Christodoulopoulos Panagiotis Glykos
351 492 Jorge Claros Maynor Figueroa
398 430 Kolo Touré Luis Suárez
88 596 Blerim Džemaili Reto Ziegler
49 198 Andrés Guardado Emir Spahic (c)
430 531 Luis Suárez Nicolás Lodeiro
419 643 Lionel Messi (c) Sergio Busquets
328 492 Jerry Bengtson Maynor Figueroa
111 371 Cesc Fàbregas Juan Mata
229 509 Francisco Javier Rodríguez Miguel Ángel Ponce
469 698 Mateo Kovacic Vedran Corluka
135 376 Dani Alves Júlio César
70 462 Augusto Fernández Martín Demichelis
272 709 Harrison Afful Wakaso Mubarak
434 575 Luke Shaw Phil Jagielka
261 287 Gonzalo Higuaín Hugo Campagnaro
224 331 Fernandinho
123 422 Ciro Immobile Lorenzo Insigne
176 372 Donis Escober Juan Pablo Montes
134 213 DaMarcus Beasley Fabian Johnson
5 521 Adam Lallana Morgan Schneiderlin
402 556 Kostas Mitroglou Panagiotis Glykos
416 422 Leonardo Bonucci Lorenzo Insigne
182 278 Edgar Salli Henri Bedimo
346 503 Jonathan Mensah Michael Essien
113 210 Charles Itandje Eyong Enoh
300 624 Ivan Rakitic Sammir
623 678 Sami Khedira Thomas Müller
394 413 Kim Shin-wook Lee Keun-ho
114 639 Cheick Tioté Serge Aurier
326 681 Jermaine Jones Tim Howard
172 677 Divock Origi Thibaut Courtois
13 380 Ahmad Alenemeh Karim Ansarifard
246 715 Gervinho Wilfried Bony
151 280 David Luiz Hernanes
360 712 José Miguel Cubero Waylon Francis
197 351 Emilio Izaguirre Jorge Claros
88 504 Blerim Džemaili Michael Lang
68 516 Asmir Begovic Miralem Pjanic
275 510 Héctor Herrera Miguel Layún
151 279 David Luiz Henrique
146 278 Dany Nounkeu Henri Bedimo
79 433 Bastian Schweinsteiger Lukas Podolski
145 327 Dante Jérôme Boateng
170 557 Dimitris Salpingidis Panagiotis Kone
21 428 Aleksandr Kerzhakov Luís Neto
63 398 Arthur Boka Kolo Touré
203 648 Erik Durm Shkodran Mustafi
24 640 Aleksei Ionov Sergei Ignashevich
46 447 Andrea Pirlo Marco Parolo
19 675 Alberto Aquilani Thiago Motta
475 577 Mats Hummels Philipp Lahm (c)
106 554 Carlos Valdés Pablo Armero
298 686 Ivan Franjic Tommy Oar
118 503 Christian Atsu Michael Essien
232 254 Fraser Forster Giorgos Samaras
470 515 Mathew Leckie Mile Jedinak (c)
231 303 Frank Lampard Jack Wilshere
438 651 Makoto Hasebe (c) Shusaku Nishikawa
155 166 David Villa Diego Godín
469 631 Mateo Kovacic Saphir Taïder
394 395 Kim Shin-wook Kim Young-gwon
462 726 Martín Demichelis Yaya Touré
344 362 Johnny Herrera José Rojas
192 306 Ehsan Hajsafi Jalal Hosseini
566 606 Paul Verhaegh Robin van Persie (c)
299 300 Ivan Perišic Ivan Rakitic
461 565 Martín Cáceres Paul Pogba
27 668 Alex Oxlade-Chamberlain Steven Gerrard (c)
33 483 Alexis Sánchez Mauricio Isla
275 276 Héctor Herrera Héctor Moreno
307 310 James Holland James Troisi
461 483 Martín Cáceres Mauricio Isla
287 555 Hugo Campagnaro Pablo Zabaleta
300 535 Ivan Rakitic Nikica Jelavic
238 586 Gary Cahill Ramires
307 470 James Holland Mathew Leckie
135 323 Dani Alves Jefferson
89 657 Boubacar Barry Sol Bamba
342 586 John Obi Mikel Ramires
367 718 Juan Carlos García Wilson Palacios
107 533 Cédric Djeugoué Nicolas N'Koulou
110 644 César Azpilicueta Sergio Ramos
39 166 Álvaro Pereira Diego Godín
119 206 Christian Bolaños Esteban Granados
342 379 John Obi Mikel Juwon Oshaniwa
187 624 Eduardo da Silva Sammir
384 460 Kevin De Bruyne Marouane Fellaini
22 695 Aleksandr Kokorin Vasili Berezutski (c)
216 580 Fábio Coentrão Rafa Silva
151 224 David Luiz Fernandinho
445 512 Marcelo Díaz Miiko Albornoz
28 529 Alex Song Neymar
20 156 Alejandro Bedoya DeAndre Yedlin
145 529 Dante Neymar
92 609 Brayan Beckeles Roger Espinoza
46 483 Andrea Pirlo Mauricio Isla
424 517 Lucas Biglia Miroslav Klose
9 499 Adrián Bone Michael Arroyo
271 596 Haris Seferovic Reto Ziegler
477 479 Matt McKay Matthew Špiranovic
130 672 Cristián Zapata Teófilo Gutiérrez
212 451 Ezequiel Lavezzi Mariano Andújar
315 495 Javad Nekounam (c) Mehrdad Pouladi
170 410 Dimitris Salpingidis Lazaros Christodoulopoulos
629 720 Santi Cazorla Xavi
268 269 Ha Dae-sung Han Kook-young
558 656 Panagiotis Tachtsidis Sokratis Papastathopoulos
26 249 Alessio Cerci Gianluigi Buffon (c)
269 412 Han Kook-young Lee Chung-yong
35 666 Alireza Haghighi Steven Beitashour
1 205 Abdelmoumene Djabou Essaïd Belkalem
303 576 Jack Wilshere Phil Jones
69 264 Atsuto Uchida Gotoku Sakai
284 598 Hossein Mahini Reza Ghoochannejhad
145 443 Dante Marcelo
37 533 Allan Nyom Nicolas N'Koulou
175 300 Domagoj Vida Ivan Rakitic
245 720 Gerard Piqué Xavi
203 687 Erik Durm Toni Kroos
253 423 Giorgos Karagounis (c) Loukas Vyntra
381 425 Karim Benzema Lucas Digne
114 671 Cheick Tioté Sylvain Gbohouo
221 608 Federico Fernández Rodrigo Palacio
316 721 Javi Martínez Xherdan Shaqiri
127 398 Constant Djakpa Kolo Touré
243 708 Georgi Shchennikov Vladimir Granat
44 327 André Schürrle Jérôme Boateng
199 590 Emmanuel Agyemang-Badu Rashid Sumaila
601 655 Ricardo Costa Sofiane Feghouli
127 553 Constant Djakpa Ousmane Viera
277 537 Hélder Postiga Ogenyi Onazi
13 666 Ahmad Alenemeh Steven Beitashour
297 657 Ismaël Diomandé Sol Bamba
197 464 Emilio Izaguirre Marvin Chávez
50 373 Andrés Iniesta Juanfran
488 627 Maxim Choupo-Moting Samuel Eto'o (c)
583 654 Raheem Sterling Simon Mignolet
99 105 Carlos Bacca Carlos Sánchez
61 316 Arjen Robben Javi Martínez
47 402 Andreas Samaris Kostas Mitroglou
502 513 Michael Bradley Mikkel Diskerud
71 321 Aurélien Chedjou Jean Makoun
571 716 Pepe William Carvalho
590 628 Rashid Sumaila Samuel Inkoom
36 192 Alireza Jahanbakhsh Ehsan Hajsafi
60 102 Antonio Valencia (c) Carlos Gruezo
297 474 Ismaël Diomandé Mathis Bolly
131 719 Cristiano Ronaldo (c) Xabi Alonso
322 621 Jean-Daniel Akpa-Akpro Salomon Kalou
409 663 Laurent Koscielny Stéphane Ruffier
678 721 Thomas Müller Xherdan Shaqiri
3 461 Abel Hernández Martín Cáceres
198 497 Emir Spahic (c) Mensur Mujdža
123 558 Ciro Immobile Panagiotis Tachtsidis
62 530 Aron Jóhannsson Nick Rimando
140 527 Daniel Van Buyten Nacer Chadli
162 602 Diego Benaglio Ricardo Rodríguez
473 543 Mathieu Valbuena Olivier Giroud
170 250 Dimitris Salpingidis Giannis Fetfatzidis
419 429 Lionel Messi (c) Luis Saritama
702 706 Victor Moses Vincent Enyeama
454 721 Mario Götze Xherdan Shaqiri
142 660 Danijel Pranjic Stefanos Kapino
467 598 Masoud Shojaei Reza Ghoochannejhad
117 213 Chris Wondolowski Fabian Johnson
218 418 Faouzi Ghoulam Liassine Cadamuro-Bentaïba
20 341 Alejandro Bedoya John Brooks
363 505 Joseph Yobo (c) Michael Uchebo
214 262 Fabián Orellana Gonzalo Jara
114 715 Cheick Tioté Wilfried Bony
158 733 Denis Glushakov Yuri Zhirkov
417 566 Leroy Fer Paul Verhaegh
451 600 Mariano Andújar Ricardo Álvarez
38 191 Álvaro González Egidio Arévalo Ríos
576 668 Phil Jones Steven Gerrard (c)
137 467 Daniel Davari Masoud Shojaei
136 163 Daniel Cambronero Diego Calvo
646 713 Shinji Kagawa Wayne Rooney
149 345 Daryl Janmaat Jonathan de Guzmán
524 538 Muhamed Bešic Ognjen Vranješ
690 723 Tranquillo Barnetta Yann Sommer
151 376 David Luiz Júlio César
116 668 Chris Smalling Steven Gerrard (c)
110 586 César Azpilicueta Ramires
80 434 Ben Foster Luke Shaw
234 280 Fredy Guarín Hernanes
168 191 Diego Pérez Egidio Arévalo Ríos
20 683 Alejandro Bedoya Timothy Chandler
500 706 Michael Babatunde Vincent Enyeama
130 219 Cristián Zapata Faryd Mondragón
194 505 Ejike Uzoenyi Michael Uchebo
17 446 Alan Pulido Marco Fabián
178 197 Edder Delgado Emilio Izaguirre
261 555 Gonzalo Higuaín Pablo Zabaleta
406 476 Kyle Beckerman Matt Besler
47 170 Andreas Samaris Dimitris Salpingidis
611 656 Roman Weidenfeller Sokratis Papastathopoulos
196 589 Eliaquim Mangala Raphaël Varane
454 648 Mario Götze Shkodran Mustafi
67 198 Asmir Avdukic Emir Spahic (c)
34 592 Alfredo Talavera Raúl Jiménez
224 335 Fernandinho Joe Hart
40 315 Amir Hossein Sadeghi Javad Nekounam (c)
528 562 Nani Patrice Evra
196 543 Eliaquim Mangala Olivier Giroud
101 483 Carlos Carmona Mauricio Isla
52 700 Andy Najar Víctor Bernárdez
157 624 Dejan Lovren Sammir
151 179 David Luiz Eden Hazard
228 552 Fidel Martínez Oswaldo Minda
535 653 Nikica Jelavic Šime Vrsaljko
20 476 Alejandro Bedoya Matt Besler
155 245 David Villa Gerard Piqué
494 605 Mehdi Mostefa Riyad Mahrez
516 524 Miralem Pjanic Muhamed Bešic
501 727 Michael Barrantes Yeltsin Tejeda
433 648 Lukas Podolski Shkodran Mustafi
365 390 Jozy Altidore Ki Sung-yueng
404 503 Kwadwo Asamoah Michael Essien
4 138 Adam Kwarasey Daniel Opare
636 697 Senad Lulic Vedad Ibiševic
503 670 Michael Essien Sulley Muntari
356 696 José Holebas Vasilis Torosidis
615 700 Rony Martínez Víctor Bernárdez
168 607 Diego Pérez Rodrigo Muñoz
320 344 Jean Beausejour Johnny Herrera
638 671 Serey Die Sylvain Gbohouo
40 137 Amir Hossein Sadeghi Daniel Davari
384 677 Kevin De Bruyne Thibaut Courtois
295 317 Isaác Brizuela Javier Aquino
179 311 Eden Hazard Jan Vertonghen
245 489 Gerard Piqué Máximo Banguera
135 547 Dani Alves Oscar
78 273 Bakhtiar Rahmani Hashem Beikzadeh
147 514 Darijo Srna (c) Milan Badelj
384 522 Kevin De Bruyne Mousa Dembélé
29 208 Alex Wilkinson Eugene Galekovic
60 606 Antonio Valencia (c) Robin van Persie (c)
233 376 Fred Júlio César
635 736 Sejad Salihovic Zvjezdan Misimovic
54 381 Ángel di María Karim Benzema
171 714 Dirk Kuyt Wesley Sneijder
5 575 Adam Lallana Phil Jagielka
112 512 Charles Aránguiz Miiko Albornoz
182 420 Edgar Salli Loïc Feudjou
69 282 Atsuto Uchida Hiroshi Kiyotake
37 545 Allan Nyom Orestis Karnezis
363 574 Joseph Yobo (c) Peter Odemwingie
175 624 Domagoj Vida Sammir
40 380 Amir Hossein Sadeghi Karim Ansarifard
25 439 Aleksei Kozlov Maksim Kanunnikov
39 352 Álvaro Pereira Jorge Fucile
386 532 Kevin Mirallas Nicolas Lombaerts
449 490 Marco Verratti Maxwell
157 187 Dejan Lovren Eduardo da Silva
78 137 Bakhtiar Rahmani Daniel Davari
724 729 Yasuhito Endo Yoichiro Kakitani
211 555 Ezequiel Garay Pablo Zabaleta
148 477 Dario Vidošic Matt McKay
253 557 Giorgos Karagounis (c) Panagiotis Kone
9 429 Adrián Bone Luis Saritama
252 478 Giorgio Chiellini Matteo Darmian
611 687 Roman Weidenfeller Toni Kroos
421 565 Loïc Rémy Paul Pogba
511 593 Miguel Veloso Raul Meireles
279 717 Henrique Willian
32 250 Alexandros Tziolis Giannis Fetfatzidis
93 131 Bruno Alves Cristiano Ronaldo (c)
360 563 José Miguel Cubero Patrick Pemberton
404 483 Kwadwo Asamoah Mauricio Isla
344 483 Johnny Herrera Mauricio Isla
13 35 Ahmad Alenemeh Alireza Haghighi
367 609 Juan Carlos García Roger Espinoza
442 687 Manuel Neuer Toni Kroos
35 599 Alireza Haghighi Reza Haghighi
557 558 Panagiotis Kone Panagiotis Tachtsidis
471 686 Mathew Ryan Tommy Oar
156 502 DeAndre Yedlin Michael Bradley
486 531 Maxi Pereira Nicolás Lodeiro
68 718 Asmir Begovic Wilson Palacios
273 467 Hashem Beikzadeh Masoud Shojaei
269 560 Han Kook-young Park Jong-woo
256 446 Giovani dos Santos Marco Fabián
631 655 Saphir Taïder Sofiane Feghouli
433 611 Lukas Podolski Roman Weidenfeller
226 463 Fernando Muslera Martín Silva
224 699 Fernandinho Victor
135 224 Dani Alves Fernandinho
508 521 Mickaël Landreau Morgan Schneiderlin
197 536 Emilio Izaguirre Noel Valladares (c)
11 346 Afriyie Acquah Jonathan Mensah
259 702 Godfrey Oboabona Victor Moses
116 371 Chris Smalling Juan Mata
220 404 Fatau Dauda Kwadwo Asamoah
540 732 Oleg Shatov Yuri Lodygin
174 695 Dmitri Kombarov Vasili Berezutski (c)
253 400 Giorgos Karagounis (c) Kostas Katsouranis
316 644 Javi Martínez Sergio Ramos
116 308 Chris Smalling James Milner
71 278 Aurélien Chedjou Henri Bedimo
7 453 Admir Mehmedi Mario Gavranovic
352 634 Jorge Fucile Sebastián Coates
194 649 Ejike Uzoenyi Shola Ameobi
376 443 Júlio César Marcelo
285 734 Hotaru Yamaguchi Yuto Nagatomo
290 411 Hwang Seok-ho Lee Bum-young
416 449 Leonardo Bonucci Marco Verratti
374 442 Julian Draxler Manuel Neuer
593 619 Raul Meireles Rui Patrício
257 632 Giovanni Sio Sayouba Mandé
399 488 Koo Ja-cheol (c) Maxim Choupo-Moting
409 473 Laurent Koscielny Mathieu Valbuena
57 562 Antoine Griezmann Patrice Evra
50 644 Andrés Iniesta Sergio Ramos
376 567 Júlio César Paulinho
208 458 Eugene Galekovic Mark Bresciano
532 540 Nicolas Lombaerts Oleg Shatov
389 570 Khosro Heydari Pejman Montazeri
381 521 Karim Benzema Morgan Schneiderlin
183 555 Edin Džeko Pablo Zabaleta
270 688 Haris Medunjanin Toni Šunjic
381 473 Karim Benzema Mathieu Valbuena
353 368 Jorge Guagua Juan Carlos Paredes
38 430 Álvaro González Luis Suárez
270 538 Haris Medunjanin Ognjen Vranješ
452 534 Mario Balotelli Nigel de Jong
84 107 Benoît Assou-Ekotto Cédric Djeugoué
258 335 Glen Johnson Joe Hart
458 620 Mark Bresciano Ryan McGowan
270 637 Haris Medunjanin Senijad Ibricic
91 502 Brad Guzan Michael Bradley
13 66 Ahmad Alenemeh Ashkan Dejagah
54 608 Ángel di María Rodrigo Palacio
361 484 José Pedro Fuenzalida Mauricio Pinilla
342 500 John Obi Mikel Michael Babatunde
73 524 Avdija Vršajevic Muhamed Bešic
31 370 Alexander Mejía Juan Guillermo Cuadrado
593 601 Raul Meireles Ricardo Costa
394 414 Kim Shin-wook Lee Yong
171 417 Dirk Kuyt Leroy Fer
371 562 Juan Mata Patrice Evra
48 708 Andrei Semyonov Vladimir Granat
460 677 Marouane Fellaini Thibaut Courtois
661 665 Stephan Lichtsteiner Steve von Bergen
448 506 Marco Ureña Michael Umaña
133 244 Daley Blind Georginio Wijnaldum
23 158 Aleksandr Samedov Denis Glushakov
81 479 Ben Halloran Matthew Špiranovic
218 435 Faouzi Ghoulam Madjid Bougherra (c)
65 520 Asamoah Gyan (c) Mohammed Rabiu
367 426 Juan Carlos García Luis Garrido
123 481 Ciro Immobile Mattia De Sciglio
390 399 Ki Sung-yueng Koo Ja-cheol (c)
428 571 Luís Neto Pepe
507 714 Michel Vorm Wesley Sneijder
267 275 Guillermo Ochoa Héctor Herrera
725 729 Yasuyuki Konno Yoichiro Kakitani
261 600 Gonzalo Higuaín Ricardo Álvarez
466 735 Masato Morishige Yuya Osako
336 388 Joel Campbell Keylor Navas
174 568 Dmitri Kombarov Pavel Mogilevets
522 612 Mousa Dembélé Romelu Lukaku
294 643 Iker Casillas (c) Sergio Busquets
612 707 Romelu Lukaku Vincent Kompany (c)
576 606 Phil Jones Robin van Persie (c)
75 574 Azubuike Egwuekwe Peter Odemwingie
417 659 Leroy Fer Stefan de Vrij
276 546 Héctor Moreno Oribe Peralta
135 280 Dani Alves Hernanes
391 405 Kim Bo-kyung Kwak Tae-hwi
124 320 Claudio Bravo (c) Jean Beausejour
12 462 Agustín Orión Martín Demichelis
507 534 Michel Vorm Nigel de Jong
104 229 Carlos Salcido Francisco Javier Rodríguez
170 255 Dimitris Salpingidis Giorgos Tzavellas
526 667 Nabil Ghilas Steven Defour
117 375 Chris Wondolowski Julian Green
371 713 Juan Mata Wayne Rooney
279 567 Henrique Paulinho
525 722 Nabil Bentaleb Yacine Brahimi
257 445 Giovanni Sio Marcelo Díaz
71 226 Aurélien Chedjou Fernando Muslera
452 481 Mario Balotelli Mattia De Sciglio
242 341 Geoff Cameron John Brooks
286 593 Hugo Almeida Raul Meireles
247 599 Ghasem Haddadifar Reza Haghighi
241 610 Gelson Fernandes Roman Bürki
100 701 Carlos Carbonero Víctor Ibarbo
425 565 Lucas Digne Paul Pogba
61 455 Arjen Robben Mario Mandžukic
143 187 Danijel Subašic Eduardo da Silva
221 419 Federico Fernández Lionel Messi (c)
34 546 Alfredo Talavera Oribe Peralta
259 706 Godfrey Oboabona Vincent Enyeama
289 532 Hulk Nicolas Lombaerts
6 680 Adam Taggart Tim Cahill
349 643 Jordi Alba Sergio Busquets
93 180 Bruno Alves Éder
326 544 Jermaine Jones Omar Gonzalez
295 355 Isaác Brizuela José de Jesús Corona
128 588 Cristian Gamboa Randall Brenes
626 662 Sammy N'Djock Stéphane Mbia
207 230 Esteban Paredes Francisco Silva
17 317 Alan Pulido Javier Aquino
287 451 Hugo Campagnaro Mariano Andújar
610 690 Roman Bürki Tranquillo Barnetta
335 616 Joe Hart Ross Barkley
275 357 Héctor Herrera José Juan Vázquez
566 659 Paul Verhaegh Stefan de Vrij
330 399 Ji Dong-won Koo Ja-cheol (c)
120 429 Christian Noboa Luis Saritama
564 581 Paul Aguilar Rafael Márquez (c)
98 372 Carlo Costly Juan Pablo Montes
442 577 Manuel Neuer Philipp Lahm (c)
154 719 David Silva Xabi Alonso
71 627 Aurélien Chedjou Samuel Eto'o (c)
16 174 Alan Dzagoev Dmitri Kombarov
87 675 Blaise Matuidi Thiago Motta
54 70 Ángel di María Augusto Fernández
505 702 Michael Uchebo Victor Moses
241 578 Gelson Fernandes Philippe Senderos
422 447 Lorenzo Insigne Marco Parolo
326 683 Jermaine Jones Timothy Chandler
54 645 Ángel di María Sergio Romero
157 240 Dejan Lovren Gastón Ramírez
239 391 Gary Medel Kim Bo-kyung
162 364 Diego Benaglio Josip Drmic
213 635 Fabian Johnson Sejad Salihovic
248 448 Giancarlo González Marco Ureña
425 728 Lucas Digne Yohan Cabaye
277 332 Hélder Postiga João Moutinho
103 275 Carlos Peña Héctor Herrera
378 588 Júnior Díaz Randall Brenes
425 543 Lucas Digne Olivier Giroud
179 654 Eden Hazard Simon Mignolet
101 207 Carlos Carmona Esteban Paredes
349 591 Jordi Alba Raúl Albiol
64 249 Arturo Vidal Gianluigi Buffon (c)
462 707 Martín Demichelis Vincent Kompany (c)
65 664 Asamoah Gyan (c) Stephen Adams
596 723 Reto Ziegler Yann Sommer
260 610 Gökhan Inler (c) Roman Bürki
337 579 Joël Matip Pierre Webó
39 121 Álvaro Pereira Christian Stuani
285 438 Hotaru Yamaguchi Makoto Hasebe (c)
14 702 Ahmed Musa Victor Moses
97 173 Carl Medjani Djamel Mesbah
166 397 Diego Godín Koke
250 694 Giannis Fetfatzidis Vangelis Moras
258 713 Glen Johnson Wayne Rooney
184 302 Edin Višca Izet Hajrovic
421 472 Loïc Rémy Mathieu Debuchy
508 543 Mickaël Landreau Olivier Giroud
117 134 Chris Wondolowski DaMarcus Beasley
7 661 Admir Mehmedi Stephan Lichtsteiner
389 467 Khosro Heydari Masoud Shojaei
316 327 Javi Martínez Jérôme Boateng
6 518 Adam Taggart Mitchell Langerak
32 255 Alexandros Tziolis Giorgos Tzavellas
33 245 Alexis Sánchez Gerard Piqué
80 575 Ben Foster Phil Jagielka
144 308 Danny Welbeck James Milner
131 432 Cristiano Ronaldo (c) Luka Modric
32 660 Alexandros Tziolis Stefanos Kapino
61 678 Arjen Robben Thomas Müller
210 278 Eyong Enoh Henri Bedimo
453 690 Mario Gavranovic Tranquillo Barnetta
54 719 Ángel di María Xabi Alonso
80 335 Ben Foster Joe Hart
34 318 Alfredo Talavera Javier Hernández
31 701 Alexander Mejía Víctor Ibarbo
582 655 Rafik Halliche Sofiane Feghouli
211 487 Ezequiel Garay Maxi Rodríguez
224 443 Fernandinho Marcelo
82 573 Benedikt Höwedes Per Mertesacker
614 687 Ron-Robert Zieler Toni Kroos
268 731 Ha Dae-sung Yun Suk-young
517 678 Miroslav Klose Thomas Müller
610 692 Roman Bürki Valentin Stocker
398 702 Kolo Touré Victor Moses
515 620 Mile Jedinak (c) Ryan McGowan
133 659 Daley Blind Stefan de Vrij
283 330 Hong Jeong-ho Ji Dong-won
264 466 Gotoku Sakai Masato Morishige
8 527 Adnan Januzaj Nacer Chadli
161 553 Didier Zokora Ousmane Viera
205 582 Essaïd Belkalem Rafik Halliche
129 164 Cristian Rodríguez Diego Costa
530 683 Nick Rimando Timothy Chandler
44 179 André Schürrle Eden Hazard
225 419 Fernando Gago Lionel Messi (c)
675 728 Thiago Motta Yohan Cabaye
212 645 Ezequiel Lavezzi Sergio Romero
230 484 Francisco Silva Mauricio Pinilla
16 733 Alan Dzagoev Yuri Zhirkov
61 314 Arjen Robben Jasper Cillessen
370 630 Juan Guillermo Cuadrado Santiago Arias
360 388 José Miguel Cubero Keylor Navas
421 594 Loïc Rémy Rémy Cabella
76 663 Bacary Sagna Stéphane Ruffier
9 236 Adrián Bone Gabriel Achilier
242 544 Geoff Cameron Omar Gonzalez
82 623 Benedikt Höwedes Sami Khedira
456 536 Mario Martínez Noel Valladares (c)
225 424 Fernando Gago Lucas Biglia
401 557 Kostas Manolas Panagiotis Kone
392 414 Kim Chang-soo Lee Yong
121 461 Christian Stuani Martín Cáceres
285 650 Hotaru Yamaguchi Shuichi Gonda
38 517 Álvaro González Miroslav Klose
181 219 Éder Álvarez Balanta Faryd Mondragón
492 535 Maynor Figueroa Nikica Jelavic
6 310 Adam Taggart James Troisi
384 707 Kevin De Bruyne Vincent Kompany (c)
67 697 Asmir Avdukic Vedad Ibiševic
437 520 Majeed Waris Mohammed Rabiu
28 720 Alex Song Xavi
225 451 Fernando Gago Mariano Andújar
572 719 Pepe Reina Xabi Alonso
27 80 Alex Oxlade-Chamberlain Ben Foster
279 572 Henrique Pepe Reina
115 342 Chigozie Agbim John Obi Mikel
63 257 Arthur Boka Giovanni Sio
182 488 Edgar Salli Maxim Choupo-Moting
311 384 Jan Vertonghen Kevin De Bruyne
387 664 Kevin-Prince Boateng Stephen Adams
263 669 Gordon Schildenfeld Stipe Pletikosa
131 511 Cristiano Ronaldo (c) Miguel Veloso
63 485 Arthur Boka Max Gradel
164 720 Diego Costa Xavi
70 608 Augusto Fernández Rodrigo Palacio
283 414 Hong Jeong-ho Lee Yong
40 598 Amir Hossein Sadeghi Reza Ghoochannejhad
98 718 Carlo Costly Wilson Palacios
238 335 Gary Cahill Joe Hart
640 733 Sergei Ignashevich Yuri Zhirkov
132 512 Cristopher Toselli Miiko Albornoz
119 378 Christian Bolaños Júnior Díaz
405 658 Kwak Tae-hwi Son Heung-min
313 468 Jason Davidson Massimo Luongo
398 632 Kolo Touré Sayouba Mandé
155 643 David Villa Sergio Busquets
377 414 Jung Sung-ryong Lee Yong
135 489 Dani Alves Máximo Banguera
31 309 Alexander Mejía James Rodríguez
102 595 Carlos Gruezo Renato Ibarra
509 592 Miguel Ángel Ponce Raúl Jiménez
25 51 Aleksei Kozlov Andrey Yeshchenko
445 483 Marcelo Díaz Mauricio Isla
21 25 Aleksandr Kerzhakov Aleksei Kozlov
50 164 Andrés Iniesta Diego Costa
203 374 Erik Durm Julian Draxler
227 569 Fernando Torres Pedro
384 685 Kevin De Bruyne Toby Alderweireld
18 628 Albert Adomah Samuel Inkoom
140 687 Daniel Van Buyten Toni Kroos
78 495 Bakhtiar Rahmani Mehrdad Pouladi
52 456 Andy Najar Mario Martínez
42 428 André Almeida Luís Neto
220 340 Fatau Dauda John Boye
269 658 Han Kook-young Son Heung-min
98 367 Carlo Costly Juan Carlos García
212 487 Ezequiel Lavezzi Maxi Rodríguez
545 556 Orestis Karnezis Panagiotis Glykos
39 463 Álvaro Pereira Martín Silva
96 370 Camilo Vargas Juan Guillermo Cuadrado
190 706 Efe Ambrose Vincent Enyeama
244 613 Georginio Wijnaldum Ron Vlaar
635 637 Sejad Salihovic Senijad Ibricic
313 477 Jason Davidson Matt McKay
200 597 Emmanuel Emenike Reuben Gabriel
69 285 Atsuto Uchida Hotaru Yamaguchi
250 674 Giannis Fetfatzidis Theofanis Gekas
587 597 Ramon Azeez Reuben Gabriel
256 276 Giovani dos Santos Héctor Moreno
147 455 Darijo Srna (c) Mario Mandžukic
136 712 Daniel Cambronero Waylon Francis
144 606 Danny Welbeck Robin van Persie (c)
319 349 Javier Mascherano Jordi Alba
284 306 Hossein Mahini Jalal Hosseini
195 605 El Arbi Hillel Soudani Riyad Mahrez
628 664 Samuel Inkoom Stephen Adams
421 508 Loïc Rémy Mickaël Landreau
101 361 Carlos Carmona José Pedro Fuenzalida
21 708 Aleksandr Kerzhakov Vladimir Granat
184 312 Edin Višca Jasmin Fejzic
154 224 David Silva Fernandinho
174 704 Dmitri Kombarov Viktor Fayzulin
10 153 Adrián Ramos David Ospina
84 533 Benoît Assou-Ekotto Nicolas N'Koulou
18 383 Albert Adomah Kenneth Omeruo
198 538 Emir Spahic (c) Ognjen Vranješ
260 665 Gökhan Inler (c) Steve von Bergen
306 380 Jalal Hosseini Karim Ansarifard
235 489 Frickson Erazo Máximo Banguera
1 519 Abdelmoumene Djabou Mohamed Zemmamouche
665 723 Steve von Bergen Yann Sommer
46 675 Andrea Pirlo Thiago Motta
127 715 Constant Djakpa Wilfried Bony
81 620 Ben Halloran Ryan McGowan
216 618 Fábio Coentrão Rúben Amorim
54 202 Ángel di María Enzo Pérez
192 666 Ehsan Hajsafi Steven Beitashour
177 221 Dries Mertens Federico Fernández
183 462 Edin Džeko Martín Demichelis
185 728 Edinson Cavani Yohan Cabaye
60 150 Antonio Valencia (c) David de Gea
287 462 Hugo Campagnaro Martín Demichelis
179 586 Eden Hazard Ramires
269 390 Han Kook-young Ki Sung-yueng
16 439 Alan Dzagoev Maksim Kanunnikov
176 700 Donis Escober Víctor Bernárdez
8 460 Adnan Januzaj Marouane Fellaini
114 257 Cheick Tioté Giovanni Sio
52 197 Andy Najar Emilio Izaguirre
122 266 Christoph Kramer Granit Xhaka
95 244 Bryan Ruiz (c) Georginio Wijnaldum
416 481 Leonardo Bonucci Mattia De Sciglio
342 403 John Obi Mikel Kunle Odunlami
114 421 Cheick Tioté Loïc Rémy
177 218 Dries Mertens Faouzi Ghoulam
82 614 Benedikt Höwedes Ron-Robert Zieler
192 315 Ehsan Hajsafi Javad Nekounam (c)
548 710 Óscar Bagüí Walter Ayoví
65 340 Asamoah Gyan (c) John Boye
71 146 Aurélien Chedjou Dany Nounkeu
159 257 Didier Drogba (c) Giovanni Sio
137 306 Daniel Davari Jalal Hosseini
225 287 Fernando Gago Hugo Campagnaro
117 700 Chris Wondolowski Víctor Bernárdez
208 541 Eugene Galekovic Oliver Bozanic
195 493 El Arbi Hillel Soudani Medhi Lacen
668 713 Steven Gerrard (c) Wayne Rooney
280 331 Hernanes
469 514 Mateo Kovacic Milan Badelj
87 185 Blaise Matuidi Edinson Cavani
677 685 Thibaut Courtois Toby Alderweireld
197 700 Emilio Izaguirre Víctor Bernárdez
79 375 Bastian Schweinsteiger Julian Green
156 242 DeAndre Yedlin Geoff Cameron
537 706 Ogenyi Onazi Vincent Enyeama
214 320 Fabián Orellana Jean Beausejour
632 671 Sayouba Mandé Sylvain Gbohouo
448 520 Marco Ureña Mohammed Rabiu
211 618 Ezequiel Garay Rúben Amorim
524 637 Muhamed Bešic Senijad Ibricic
189 230 Eduardo Vargas Francisco Silva
454 577 Mario Götze Philipp Lahm (c)
29 310 Alex Wilkinson James Troisi
298 479 Ivan Franjic Matthew Špiranovic
79 623 Bastian Schweinsteiger Sami Khedira
141 482 Daniele De Rossi Mattia Perin
211 642 Ezequiel Garay Sergio Agüero
438 724 Makoto Hasebe (c) Yasuhito Endo
189 361 Eduardo Vargas José Pedro Fuenzalida
329 464 Jerry Palacios Marvin Chávez
259 363 Godfrey Oboabona Joseph Yobo (c)
525 567 Nabil Bentaleb Paulinho
475 614 Mats Hummels Ron-Robert Zieler
122 454 Christoph Kramer Mario Götze
15 97 Aïssa Mandi Carl Medjani
661 693 Stephan Lichtsteiner Valon Behrami
477 680 Matt McKay Tim Cahill
183 736 Edin Džeko Zvjezdan Misimovic
110 719 César Azpilicueta Xabi Alonso
200 579 Emmanuel Emenike Pierre Webó
543 589 Olivier Giroud Raphaël Varane
258 575 Glen Johnson Phil Jagielka
3 634 Abel Hernández Sebastián Coates
633 635 Sead Kolašinac Sejad Salihovic
35 570 Alireza Haghighi Pejman Montazeri
196 421 Eliaquim Mangala Loïc Rémy
336 448 Joel Campbell Marco Ureña
87 440 Blaise Matuidi Mamadou Sakho
374 611 Julian Draxler Roman Weidenfeller
220 709 Fatau Dauda Wakaso Mubarak
205 585 Essaïd Belkalem Raïs M'Bolhi
15 296 Aïssa Mandi Islam Slimani
44 454 André Schürrle Mario Götze
577 611 Philipp Lahm (c) Roman Weidenfeller
327 455 Jérôme Boateng Mario Mandžukic
572 629 Pepe Reina Santi Cazorla
441 650 Manabu Saito Shuichi Gonda
216 703 Fábio Coentrão Vieirinha
243 439 Georgi Shchennikov Maksim Kanunnikov
289 567 Hulk Paulinho
440 472 Mamadou Sakho Mathieu Debuchy
372 549 Juan Pablo Montes Óscar Boniek García
39 129 Álvaro Pereira Cristian Rodríguez
468 680 Massimo Luongo Tim Cahill
114 398 Cheick Tioté Kolo Touré
205 525 Essaïd Belkalem Nabil Bentaleb
234 304 Fredy Guarín Jackson Martínez
302 736 Izet Hajrovic Zvjezdan Misimovic
364 665 Josip Drmic Steve von Bergen
267 509 Guillermo Ochoa Miguel Ángel Ponce
263 539 Gordon Schildenfeld Ognjen Vukojevic
166 607 Diego Godín Rodrigo Muñoz
312 497 Jasmin Fejzic Mensur Mujdža
412 413 Lee Chung-yong Lee Keun-ho
109 119 Celso Borges Christian Bolaños
264 281 Gotoku Sakai Hiroki Sakai
68 697 Asmir Begovic Vedad Ibiševic
287 487 Hugo Campagnaro Maxi Rodríguez
59 422 Antonio Cassano Lorenzo Insigne
58 452 Antonio Candreva Mario Balotelli
524 635 Muhamed Bešic Sejad Salihovic
414 658 Lee Yong Son Heung-min
15 195 Aïssa Mandi El Arbi Hillel Soudani
277 424 Hélder Postiga Lucas Biglia
136 336 Daniel Cambronero Joel Campbell
174 640 Dmitri Kombarov Sergei Ignashevich
202 221 Enzo Pérez Federico Fernández
125 404 Claudio Marchisio Kwadwo Asamoah
43 437 André Ayew Majeed Waris
569 572 Pedro Pepe Reina
457 630 Mario Yepes (c) Santiago Arias
425 508 Lucas Digne Mickaël Landreau
351 456 Jorge Claros Mario Martínez
114 682 Cheick Tioté Tim Krul
500 505 Michael Babatunde Michael Uchebo
47 696 Andreas Samaris Vasilis Torosidis
451 462 Mariano Andújar Martín Demichelis
307 479 James Holland Matthew Špiranovic
110 150 César Azpilicueta David de Gea
315 380 Javad Nekounam (c) Karim Ansarifard
384 625 Kevin De Bruyne Sammy Bossut
23 698 Aleksandr Samedov Vedran Corluka
103 581 Carlos Peña Rafael Márquez (c)
244 314 Georginio Wijnaldum Jasper Cillessen
38 461 Álvaro González Martín Cáceres
113 278 Charles Itandje Henri Bedimo
1 108 Abdelmoumene Djabou Cédric Si Mohamed
527 612 Nacer Chadli Romelu Lukaku
33 50 Alexis Sánchez Andrés Iniesta
241 692 Gelson Fernandes Valentin Stocker
466 651 Masato Morishige Shusaku Nishikawa
309 332 James Rodríguez João Moutinho
317 355 Javier Aquino José de Jesús Corona
182 533 Edgar Salli Nicolas N'Koulou
88 241 Blerim Džemaili Gelson Fernandes
504 692 Michael Lang Valentin Stocker
208 459 Eugene Galekovic Mark Milligan
14 292 Ahmed Musa Igor Akinfeev
41 584 Andranik Teymourian Rahman Ahmadi
633 688 Sead Kolašinac Toni Šunjic
7 339 Admir Mehmedi Johan Djourou
373 720 Juanfran Xavi
26 123 Alessio Cerci Ciro Immobile
263 299 Gordon Schildenfeld Ivan Perišic
447 481 Marco Parolo Mattia De Sciglio
228 489 Fidel Martínez Máximo Banguera
291 670 Ignazio Abate Sulley Muntari
12 319 Agustín Orión Javier Mascherano
433 577 Lukas Podolski Philipp Lahm (c)
345 613 Jonathan de Guzmán Ron Vlaar
25 243 Aleksei Kozlov Georgi Shchennikov
178 427 Edder Delgado Luis López
454 614 Mario Götze Ron-Robert Zieler
402 696 Kostas Mitroglou Vasilis Torosidis
323 529 Jefferson Neymar
157 175 Dejan Lovren Domagoj Vida
473 728 Mathieu Valbuena Yohan Cabaye
88 723 Blerim Džemaili Yann Sommer
541 620 Oliver Bozanic Ryan McGowan
29 471 Alex Wilkinson Mathew Ryan
8 311 Adnan Januzaj Jan Vertonghen
106 304 Carlos Valdés Jackson Martínez
3 607 Abel Hernández Rodrigo Muñoz
37 626 Allan Nyom Sammy N'Djock
149 682 Daryl Janmaat Tim Krul
176 551 Donis Escober Osman Chávez
109 501 Celso Borges Michael Barrantes
183 204 Edin Džeko Ermin Bicakcic
251 401 Giannis Maniatis Kostas Manolas
492 609 Maynor Figueroa Roger Espinoza
254 545 Giorgos Samaras Orestis Karnezis
169 275 Diego Reyes Héctor Herrera
28 33 Alex Song Alexis Sánchez
108 435 Cédric Si Mohamed Madjid Bougherra (c)
193 724 Eiji Kawashima Yasuhito Endo
320 362 Jean Beausejour José Rojas
74 654 Axel Witsel Simon Mignolet
323 699 Jefferson Victor
77 310 Bailey Wright James Troisi
353 595 Jorge Guagua Renato Ibarra
36 315 Alireza Jahanbakhsh Javad Nekounam (c)
547 567 Oscar Paulinho
199 274 Emmanuel Agyemang-Badu Hassan Yebda
7 692 Admir Mehmedi Valentin Stocker
136 506 Daniel Cambronero Michael Umaña
571 703 Pepe Vieirinha
460 679 Marouane Fellaini Thomas Vermaelen
190 254 Efe Ambrose Giorgos Samaras
14 574 Ahmed Musa Peter Odemwingie
42 716 André Almeida William Carvalho
233 443 Fred Marcelo
61 171 Arjen Robben Dirk Kuyt
459 470 Mark Milligan Mathew Leckie
127 639 Constant Djakpa Serge Aurier
43 347 André Ayew Jordan Ayew
18 43 Albert Adomah André Ayew
277 636 Hélder Postiga Senad Lulic
154 462 David Silva Martín Demichelis
161 398 Didier Zokora Kolo Touré
522 532 Mousa Dembélé Nicolas Lombaerts
275 667 Héctor Herrera Steven Defour
161 726 Didier Zokora Yaya Touré
193 281 Eiji Kawashima Hiroki Sakai
41 273 Andranik Teymourian Hashem Beikzadeh
468 515 Massimo Luongo Mile Jedinak (c)
495 666 Mehrdad Pouladi Steven Beitashour
166 226 Diego Godín Fernando Muslera
50 316 Andrés Iniesta Javi Martínez
435 526 Madjid Bougherra (c) Nabil Ghilas
41 570 Andranik Teymourian Pejman Montazeri
176 464 Donis Escober Marvin Chávez
245 629 Gerard Piqué Santi Cazorla
438 647 Makoto Hasebe (c) Shinji Okazaki
140 384 Daniel Van Buyten Kevin De Bruyne
196 508 Eliaquim Mangala Mickaël Landreau
485 726 Max Gradel Yaya Touré
387 670 Kevin-Prince Boateng Sulley Muntari
68 684 Asmir Begovic Tino-Sven Sušic
329 563 Jerry Palacios Patrick Pemberton
67 684 Asmir Avdukic Tino-Sven Sušic
26 447 Alessio Cerci Marco Parolo
538 636 Ognjen Vranješ Senad Lulic
197 367 Emilio Izaguirre Juan Carlos García
312 684 Jasmin Fejzic Tino-Sven Sušic
268 560 Ha Dae-sung Park Jong-woo
611 614 Roman Weidenfeller Ron-Robert Zieler
437 628 Majeed Waris Samuel Inkoom
197 615 Emilio Izaguirre Rony Martínez
110 591 César Azpilicueta Raúl Albiol
298 307 Ivan Franjic James Holland
610 723 Roman Bürki Yann Sommer
73 697 Avdija Vršajevic Vedad Ibiševic
179 527 Eden Hazard Nacer Chadli
387 503 Kevin-Prince Boateng Michael Essien
74 179 Axel Witsel Eden Hazard
374 385 Julian Draxler Kevin Großkreutz
138 346 Daniel Opare Jonathan Mensah
326 406 Jermaine Jones Kyle Beckerman
268 377 Ha Dae-sung Jung Sung-ryong
482 622 Mattia Perin Salvatore Sirigu
317 446 Javier Aquino Marco Fabián
72 190 Austin Ejide Efe Ambrose
146 407 Dany Nounkeu Landry N'Guémo
161 632 Didier Zokora Sayouba Mandé
425 663 Lucas Digne Stéphane Ruffier
107 278 Cédric Djeugoué Henri Bedimo
133 325 Daley Blind Jeremain Lens
142 187 Danijel Pranjic Eduardo da Silva
390 405 Ki Sung-yueng Kwak Tae-hwi
41 467 Andranik Teymourian Masoud Shojaei
300 469 Ivan Rakitic Mateo Kovacic
122 203 Christoph Kramer Erik Durm
652 667 Silvestre Varela Steven Defour
502 683 Michael Bradley Timothy Chandler
402 656 Kostas Mitroglou Sokratis Papastathopoulos
394 399 Kim Shin-wook Koo Ja-cheol (c)
358 600 José María Basanta Ricardo Álvarez
205 494 Essaïd Belkalem Mehdi Mostefa
249 481 Gianluigi Buffon (c) Mattia De Sciglio
519 605 Mohamed Zemmamouche Riyad Mahrez
382 689 Keisuke Honda Toshihiro Aoyama
266 610 Granit Xhaka Roman Bürki
299 384 Ivan Perišic Kevin De Bruyne
346 404 Jonathan Mensah Kwadwo Asamoah
8 576 Adnan Januzaj Phil Jones
52 426 Andy Najar Luis Garrido
329 551 Jerry Palacios Osman Chávez
146 627 Dany Nounkeu Samuel Eto'o (c)
360 617 José Miguel Cubero Roy Miller
296 450 Islam Slimani Marcos Rojo
88 271 Blerim Džemaili Haris Seferovic
246 474 Gervinho Mathis Bolly
375 678 Julian Green Thomas Müller
436 490 Maicon Maxwell
532 677 Nicolas Lombaerts Thibaut Courtois
363 597 Joseph Yobo (c) Reuben Gabriel
418 494 Liassine Cadamuro-Bentaïba Mehdi Mostefa
264 382 Gotoku Sakai Keisuke Honda
81 477 Ben Halloran Matt McKay
264 689 Gotoku Sakai Toshihiro Aoyama
423 545 Loukas Vyntra Orestis Karnezis
349 529 Jordi Alba Neymar
165 240 Diego Forlán Gastón Ramírez
45 249 Andrea Barzagli Gianluigi Buffon (c)
200 342 Emmanuel Emenike John Obi Mikel
545 694 Orestis Karnezis Vangelis Moras
396 417 Klaas-Jan Huntelaar Leroy Fer
719 720 Xabi Alonso Xavi
549 615 Óscar Boniek García Rony Martínez
264 441 Gotoku Sakai Manabu Saito
732 733 Yuri Lodygin Yuri Zhirkov
28 407 Alex Song Landry N'Guémo
319 608 Javier Mascherano Rodrigo Palacio
111 489 Cesc Fàbregas Máximo Banguera
36 66 Alireza Jahanbakhsh Ashkan Dejagah
37 182 Allan Nyom Edgar Salli
17 256 Alan Pulido Giovani dos Santos
459 518 Mark Milligan Mitchell Langerak
403 537 Kunle Odunlami Ogenyi Onazi
248 588 Giancarlo González Randall Brenes
28 705 Alex Song Vincent Aboubakar
46 404 Andrea Pirlo Kwadwo Asamoah
136 248 Daniel Cambronero Giancarlo González
391 412 Kim Bo-kyung Lee Chung-yong
441 466 Manabu Saito Masato Morishige
589 604 Raphaël Varane Rio Mavuba
500 691 Michael Babatunde Uche Nwofor
98 427 Carlo Costly Luis López
26 291 Alessio Cerci Ignazio Abate
409 508 Laurent Koscielny Mickaël Landreau
69 466 Atsuto Uchida Masato Morishige
484 512 Mauricio Pinilla Miiko Albornoz
123 249 Ciro Immobile Gianluigi Buffon (c)
237 416 Gabriel Paletta Leonardo Bonucci
249 675 Gianluigi Buffon (c) Thiago Motta
360 506 José Miguel Cubero Michael Umaña
560 561 Park Jong-woo Park Joo-ho
190 200 Efe Ambrose Emmanuel Emenike
148 686 Dario Vidošic Tommy Oar
12 221 Agustín Orión Federico Fernández
3 240 Abel Hernández Gastón Ramírez
240 359 Gastón Ramírez José María Giménez
278 579 Henri Bedimo Pierre Webó
378 647 Júnior Díaz Shinji Okazaki
298 680 Ivan Franjic Tim Cahill
92 700 Brayan Beckeles Víctor Bernárdez
335 434 Joe Hart Luke Shaw
171 659 Dirk Kuyt Stefan de Vrij
305 595 Jaime Ayoví Renato Ibarra
388 448 Keylor Navas Marco Ureña
174 439 Dmitri Kombarov Maksim Kanunnikov
199 346 Emmanuel Agyemang-Badu Jonathan Mensah
198 637 Emir Spahic (c) Senijad Ibricic
33 209 Alexis Sánchez Eugenio Mena
294 720 Iker Casillas (c) Xavi
319 462 Javier Mascherano Martín Demichelis
19 237 Alberto Aquilani Gabriel Paletta
246 657 Gervinho Sol Bamba
163 343 Diego Calvo Johnny Acosta
38 129 Álvaro González Cristian Rodríguez
13 599 Ahmad Alenemeh Reza Haghighi
149 606 Daryl Janmaat Robin van Persie (c)
13 40 Ahmad Alenemeh Amir Hossein Sadeghi
189 344 Eduardo Vargas Johnny Herrera
131 277 Cristiano Ronaldo (c) Hélder Postiga
526 722 Nabil Ghilas Yacine Brahimi
164 397 Diego Costa Koke
156 265 DeAndre Yedlin Graham Zusi
194 587 Ejike Uzoenyi Ramon Azeez
443 676 Marcelo Thiago Silva (c)
54 571 Ángel di María Pepe
90 530 Brad Davis Nick Rimando
557 660 Panagiotis Kone Stefanos Kapino
123 675 Ciro Immobile Thiago Motta
458 541 Mark Bresciano Oliver Bozanic
300 542 Ivan Rakitic Oliver Zelenika
464 609 Marvin Chávez Roger Espinoza
23 732 Aleksandr Samedov Yuri Lodygin
647 734 Shinji Okazaki Yuto Nagatomo
149 534 Daryl Janmaat Nigel de Jong
101 112 Carlos Carmona Charles Aránguiz
70 600 Augusto Fernández Ricardo Álvarez
373 685 Juanfran Toby Alderweireld
532 704 Nicolas Lombaerts Viktor Fayzulin
3 430 Abel Hernández Luis Suárez
65 590 Asamoah Gyan (c) Rashid Sumaila
161 246 Didier Zokora Gervinho
196 304 Eliaquim Mangala Jackson Martínez
373 643 Juanfran Sergio Busquets
1 655 Abdelmoumene Djabou Sofiane Feghouli
39 165 Álvaro Pereira Diego Forlán
455 469 Mario Mandžukic Mateo Kovacic
98 536 Carlo Costly Noel Valladares (c)
443 699 Marcelo Victor
632 638 Sayouba Mandé Serey Die
461 486 Martín Cáceres Maxi Pereira
355 446 José de Jesús Corona Marco Fabián
32 254 Alexandros Tziolis Giorgos Samaras
163 206 Diego Calvo Esteban Granados
246 485 Gervinho Max Gradel
418 526 Liassine Cadamuro-Bentaïba Nabil Ghilas
414 561 Lee Yong Park Joo-ho
271 339 Haris Seferovic Johan Djourou
104 276 Carlos Salcido Héctor Moreno
157 434 Dejan Lovren Luke Shaw
107 407 Cédric Djeugoué Landry N'Guémo
77 471 Bailey Wright Mathew Ryan
695 732 Vasili Berezutski (c) Yuri Lodygin
545 558 Orestis Karnezis Panagiotis Tachtsidis
50 155 Andrés Iniesta David Villa
85 586 Bernard Ramires
11 118 Afriyie Acquah Christian Atsu
67 270 Asmir Avdukic Haris Medunjanin
314 496 Jasper Cillessen Memphis Depay
435 519 Madjid Bougherra (c) Mohamed Zemmamouche
242 375 Geoff Cameron Julian Green
173 582 Djamel Mesbah Rafik Halliche
347 664 Jordan Ayew Stephen Adams
5 27 Adam Lallana Alex Oxlade-Chamberlain
456 700 Mario Martínez Víctor Bernárdez
434 616 Luke Shaw Ross Barkley
150 294 David de Gea Iker Casillas (c)
454 455 Mario Götze Mario Mandžukic
36 584 Alireza Jahanbakhsh Rahman Ahmadi
504 610 Michael Lang Roman Bürki
290 393 Hwang Seok-ho Kim Seung-gyu
23 708 Aleksandr Samedov Vladimir Granat
268 658 Ha Dae-sung Son Heung-min
127 160 Constant Djakpa Didier Ya Konan
97 493 Carl Medjani Medhi Lacen
92 427 Brayan Beckeles Luis López
48 704 Andrei Semyonov Viktor Fayzulin
154 371 David Silva Juan Mata
468 686 Massimo Luongo Tommy Oar
107 321 Cédric Djeugoué Jean Makoun
29 479 Alex Wilkinson Matthew Špiranovic
578 692 Philippe Senderos Valentin Stocker
276 446 Héctor Moreno Marco Fabián
45 58 Andrea Barzagli Antonio Candreva
170 696 Dimitris Salpingidis Vasilis Torosidis
28 321 Alex Song Jean Makoun
47 694 Andreas Samaris Vangelis Moras
490 586 Maxwell Ramires
455 678 Mario Mandžukic Thomas Müller
268 394 Ha Dae-sung Kim Shin-wook
297 621 Ismaël Diomandé Salomon Kalou
41 389 Andranik Teymourian Khosro Heydari
53 497 Anel Hadžic Mensur Mujdža
53 68 Anel Hadžic Asmir Begovic
382 441 Keisuke Honda Manabu Saito
95 163 Bryan Ruiz (c) Diego Calvo
303 679 Jack Wilshere Thomas Vermaelen
139 616 Daniel Sturridge Ross Barkley
578 721 Philippe Senderos Xherdan Shaqiri
145 316 Dante Javi Martínez
507 566 Michel Vorm Paul Verhaegh
180 652 Éder Silvestre Varela
202 451 Enzo Pérez Mariano Andújar
87 521 Blaise Matuidi Morgan Schneiderlin
349 368 Jordi Alba Juan Carlos Paredes
118 220 Christian Atsu Fatau Dauda
58 123 Antonio Candreva Ciro Immobile
300 301 Ivan Rakitic Ivica Olic
367 372 Juan Carlos García Juan Pablo Montes
21 23 Aleksandr Kerzhakov Aleksandr Samedov
325 507 Jeremain Lens Michel Vorm
34 317 Alfredo Talavera Javier Aquino
605 655 Riyad Mahrez Sofiane Feghouli
215 364 Fabian Schär Josip Drmic
261 608 Gonzalo Higuaín Rodrigo Palacio
194 379 Ejike Uzoenyi Juwon Oshaniwa
178 718 Edder Delgado Wilson Palacios
422 478 Lorenzo Insigne Matteo Darmian
61 721 Arjen Robben Xherdan Shaqiri
79 517 Bastian Schweinsteiger Miroslav Klose
3 129 Abel Hernández Cristian Rodríguez
246 632 Gervinho Sayouba Mandé
147 175 Darijo Srna (c) Domagoj Vida
422 675 Lorenzo Insigne Thiago Motta
80 576 Ben Foster Phil Jones
8 74 Adnan Januzaj Axel Witsel
329 718 Jerry Palacios Wilson Palacios
144 258 Danny Welbeck Glen Johnson
117 341 Chris Wondolowski John Brooks
238 348 Gary Cahill Jordan Henderson
468 518 Massimo Luongo Mitchell Langerak
231 232 Frank Lampard Fraser Forster
392 412 Kim Chang-soo Lee Chung-yong
81 518 Ben Halloran Mitchell Langerak
56 679 Anthony Vanden Borre Thomas Vermaelen
140 522 Daniel Van Buyten Mousa Dembélé
440 473 Mamadou Sakho Mathieu Valbuena
355 357 José de Jesús Corona José Juan Vázquez
244 534 Georginio Wijnaldum Nigel de Jong
130 309 Cristián Zapata James Rodríguez
115 190 Chigozie Agbim Efe Ambrose
259 383 Godfrey Oboabona Kenneth Omeruo
46 461 Andrea Pirlo Martín Cáceres
21 704 Aleksandr Kerzhakov Viktor Fayzulin
543 594 Olivier Giroud Rémy Cabella
220 387 Fatau Dauda Kevin-Prince Boateng
402 410 Kostas Mitroglou Lazaros Christodoulopoulos
246 297 Gervinho Ismaël Diomandé
619 652 Rui Patrício Silvestre Varela
491 646 Maya Yoshida Shinji Kagawa
112 445 Charles Aránguiz Marcelo Díaz
80 308 Ben Foster James Milner
685 707 Toby Alderweireld Vincent Kompany (c)
242 265 Geoff Cameron Graham Zusi
166 430 Diego Godín Luis Suárez
171 244 Dirk Kuyt Georginio Wijnaldum
180 428 Éder Luís Neto
198 635 Emir Spahic (c) Sejad Salihovic
180 601 Éder Ricardo Costa
97 418 Carl Medjani Liassine Cadamuro-Bentaïba
170 674 Dimitris Salpingidis Theofanis Gekas
283 377 Hong Jeong-ho Jung Sung-ryong
151 227 David Luiz Fernando Torres
608 645 Rodrigo Palacio Sergio Romero
695 704 Vasili Berezutski (c) Viktor Fayzulin
155 629 David Villa Santi Cazorla
477 518 Matt McKay Mitchell Langerak
404 437 Kwadwo Asamoah Majeed Waris
438 730 Makoto Hasebe (c) Yoshito Okubo
311 679 Jan Vertonghen Thomas Vermaelen
553 639 Ousmane Viera Serge Aurier
55 147 Ante Rebic Darijo Srna (c)
517 687 Miroslav Klose Toni Kroos
101 132 Carlos Carmona Cristopher Toselli
20 62 Alejandro Bedoya Aron Jóhannsson
52 92 Andy Najar Brayan Beckeles
261 358 Gonzalo Higuaín José María Basanta
50 110 Andrés Iniesta César Azpilicueta
165 191 Diego Forlán Egidio Arévalo Ríos
458 515 Mark Bresciano Mile Jedinak (c)
332 593 João Moutinho Raul Meireles
296 435 Islam Slimani Madjid Bougherra (c)
245 591 Gerard Piqué Raúl Albiol
168 461 Diego Pérez Martín Cáceres
130 181 Cristián Zapata Éder Álvarez Balanta
144 646 Danny Welbeck Shinji Kagawa
226 711 Fernando Muslera Walter Gargano
143 301 Danijel Subašic Ivica Olic
60 236 Antonio Valencia (c) Gabriel Achilier
653 698 Šime Vrsaljko Vedran Corluka
16 292 Alan Dzagoev Igor Akinfeev
127 159 Constant Djakpa Didier Drogba (c)
17 169 Alan Pulido Diego Reyes
168 240 Diego Pérez Gastón Ramírez
58 517 Antonio Candreva Miroslav Klose
139 308 Daniel Sturridge James Milner
435 605 Madjid Bougherra (c) Riyad Mahrez
405 412 Kwak Tae-hwi Lee Chung-yong
129 634 Cristian Rodríguez Sebastián Coates
53 636 Anel Hadžic Senad Lulic
394 411 Kim Shin-wook Lee Bum-young
421 523 Loïc Rémy Moussa Sissoko
319 358 Javier Mascherano José María Basanta
171 682 Dirk Kuyt Tim Krul
271 721 Haris Seferovic Xherdan Shaqiri
383 505 Kenneth Omeruo Michael Uchebo
346 590 Jonathan Mensah Rashid Sumaila
382 734 Keisuke Honda Yuto Nagatomo
559 731 Park Chu-young Yun Suk-young
153 366 David Ospina Juan Camilo Zúñiga
33 362 Alexis Sánchez José Rojas
44 480 André Schürrle Matthias Ginter
43 473 André Ayew Mathieu Valbuena
164 349 Diego Costa Jordi Alba
273 599 Hashem Beikzadeh Reza Haghighi
217 407 Fabrice Olinga Landry N'Guémo
320 483 Jean Beausejour Mauricio Isla
267 581 Guillermo Ochoa Rafael Márquez (c)
212 287 Ezequiel Lavezzi Hugo Campagnaro
263 535 Gordon Schildenfeld Nikica Jelavic
147 535 Darijo Srna (c) Nikica Jelavic
407 627 Landry N'Guémo Samuel Eto'o (c)
636 684 Senad Lulic Tino-Sven Sušic
327 614 Jérôme Boateng Ron-Robert Zieler
309 457 James Rodríguez Mario Yepes (c)
332 716 João Moutinho William Carvalho
187 698 Eduardo da Silva Vedran Corluka
248 617 Giancarlo González Roy Miller
27 433 Alex Oxlade-Chamberlain Lukas Podolski
173 195 Djamel Mesbah El Arbi Hillel Soudani
89 621 Boubacar Barry Salomon Kalou
501 712 Michael Barrantes Waylon Francis
447 478 Marco Parolo Matteo Darmian
469 542 Mateo Kovacic Oliver Zelenika
72 649 Austin Ejide Shola Ameobi
442 573 Manuel Neuer Per Mertesacker
424 608 Lucas Biglia Rodrigo Palacio
316 687 Javi Martínez Toni Kroos
537 574 Ogenyi Onazi Peter Odemwingie
416 565 Leonardo Bonucci Paul Pogba
154 335 David Silva Joe Hart
162 215 Diego Benaglio Fabian Schär
207 209 Esteban Paredes Eugenio Mena
95 388 Bryan Ruiz (c) Keylor Navas
395 559 Kim Young-gwon Park Chu-young
378 727 Júnior Díaz Yeltsin Tejeda
27 603 Alex Oxlade-Chamberlain Rickie Lambert
14 75 Ahmed Musa Azubuike Egwuekwe
185 622 Edinson Cavani Salvatore Sirigu
169 317 Diego Reyes Javier Aquino
57 663 Antoine Griezmann Stéphane Ruffier
250 656 Giannis Fetfatzidis Sokratis Papastathopoulos
5 231 Adam Lallana Frank Lampard
418 605 Liassine Cadamuro-Bentaïba Riyad Mahrez
356 402 José Holebas Kostas Mitroglou
155 164 David Villa Diego Costa
248 563 Giancarlo González Patrick Pemberton
514 542 Milan Badelj Oliver Zelenika
148 620 Dario Vidošic Ryan McGowan
221 642 Federico Fernández Sergio Agüero
132 320 Cristopher Toselli Jean Beausejour
83 488 Benjamin Moukandjo Maxim Choupo-Moting
395 414 Kim Young-gwon Lee Yong
184 635 Edin Višca Sejad Salihovic
236 710 Gabriel Achilier Walter Ayoví
331 376 Júlio César
330 658 Ji Dong-won Son Heung-min
601 652 Ricardo Costa Silvestre Varela
523 604 Moussa Sissoko Rio Mavuba
36 389 Alireza Jahanbakhsh Khosro Heydari
145 442 Dante Manuel Neuer
412 414 Lee Chung-yong Lee Yong
288 663 Hugo Lloris (c) Stéphane Ruffier
525 582 Nabil Bentaleb Rafik Halliche
83 579 Benjamin Moukandjo Pierre Webó
27 335 Alex Oxlade-Chamberlain Joe Hart
317 318 Javier Aquino Javier Hernández
24 733 Aleksei Ionov Yuri Zhirkov
251 254 Giannis Maniatis Giorgos Samaras
85 436 Bernard Maicon
281 689 Hiroki Sakai Toshihiro Aoyama
352 463 Jorge Fucile Martín Silva
157 653 Dejan Lovren Šime Vrsaljko
16 25 Alan Dzagoev Aleksei Kozlov
151 431 David Luiz Luiz Gustavo
2 369 Abel Aguilar Juan Fernando Quintero
409 679 Laurent Koscielny Thomas Vermaelen
69 735 Atsuto Uchida Yuya Osako
433 475 Lukas Podolski Mats Hummels
58 447 Antonio Candreva Marco Parolo
60 710 Antonio Valencia (c) Walter Ayoví
189 578 Eduardo Vargas Philippe Senderos
307 459 James Holland Mark Milligan
262 344 Gonzalo Jara Johnny Herrera
427 700 Luis López Víctor Bernárdez
336 727 Joel Campbell Yeltsin Tejeda
20 406 Alejandro Bedoya Kyle Beckerman
244 630 Georginio Wijnaldum Santiago Arias
288 472 Hugo Lloris (c) Mathieu Debuchy
125 452 Claudio Marchisio Mario Balotelli
208 470 Eugene Galekovic Mathew Leckie
67 635 Asmir Avdukic Sejad Salihovic
473 533 Mathieu Valbuena Nicolas N'Koulou
132 262 Cristopher Toselli Gonzalo Jara
2 10 Abel Aguilar Adrián Ramos
94 149 Bruno Martins Indi Daryl Janmaat
451 555 Mariano Andújar Pablo Zabaleta
140 612 Daniel Van Buyten Romelu Lukaku
491 651 Maya Yoshida Shusaku Nishikawa
311 525 Jan Vertonghen Nabil Bentaleb
250 558 Giannis Fetfatzidis Panagiotis Tachtsidis
466 725 Masato Morishige Yasuyuki Konno
245 349 Gerard Piqué Jordi Alba
486 634 Maxi Pereira Sebastián Coates
152 506 David Myrie Michael Umaña
185 430 Edinson Cavani Luis Suárez
255 656 Giorgos Tzavellas Sokratis Papastathopoulos
231 668 Frank Lampard Steven Gerrard (c)
181 457 Éder Álvarez Balanta Mario Yepes (c)
104 564 Carlos Salcido Paul Aguilar
16 243 Alan Dzagoev Georgi Shchennikov
46 622 Andrea Pirlo Salvatore Sirigu
363 403 Joseph Yobo (c) Kunle Odunlami
241 723 Gelson Fernandes Yann Sommer
49 276 Andrés Guardado Héctor Moreno
397 677 Koke Thibaut Courtois
22 733 Aleksandr Kokorin Yuri Zhirkov
70 214 Augusto Fernández Fabián Orellana
69 633 Atsuto Uchida Sead Kolašinac
183 637 Edin Džeko Senijad Ibricic
604 706 Rio Mavuba Vincent Enyeama
407 626 Landry N'Guémo Sammy N'Djock
269 391 Han Kook-young Kim Bo-kyung
312 697 Jasmin Fejzic Vedad Ibiševic
122 475 Christoph Kramer Mats Hummels
78 315 Bakhtiar Rahmani Javad Nekounam (c)
177 679 Dries Mertens Thomas Vermaelen
86 618 Beto Rúben Amorim
667 707 Steven Defour Vincent Kompany (c)
43 199 André Ayew Emmanuel Agyemang-Badu
426 700 Luis Garrido Víctor Bernárdez
101 457 Carlos Carmona Mario Yepes (c)
53 204 Anel Hadžic Ermin Bicakcic
211 287 Ezequiel Garay Hugo Campagnaro
106 219 Carlos Valdés Faryd Mondragón
292 293 Igor Akinfeev Igor Denisov
56 460 Anthony Vanden Borre Marouane Fellaini
8 606 Adnan Januzaj Robin van Persie (c)
87 409 Blaise Matuidi Laurent Koscielny
263 698 Gordon Schildenfeld Vedran Corluka
145 687 Dante Toni Kroos
289 676 Hulk Thiago Silva (c)
118 272 Christian Atsu Harrison Afful
134 365 DaMarcus Beasley Jozy Altidore
408 625 Laurent Ciman Sammy Bossut
23 25 Aleksandr Samedov Aleksei Kozlov
151 547 David Luiz Oscar
218 261 Faouzi Ghoulam Gonzalo Higuaín
270 635 Haris Medunjanin Sejad Salihovic
398 440 Kolo Touré Mamadou Sakho
377 395 Jung Sung-ryong Kim Young-gwon
689 730 Toshihiro Aoyama Yoshito Okubo
471 620 Mathew Ryan Ryan McGowan
34 267 Alfredo Talavera Guillermo Ochoa
178 609 Edder Delgado Roger Espinoza
185 711 Edinson Cavani Walter Gargano
74 386 Axel Witsel Kevin Mirallas
39 359 Álvaro Pereira José María Giménez
238 627 Gary Cahill Samuel Eto'o (c)
161 657 Didier Zokora Sol Bamba
202 358 Enzo Pérez José María Basanta
511 703 Miguel Veloso Vieirinha
31 181 Alexander Mejía Éder Álvarez Balanta
217 662 Fabrice Olinga Stéphane Mbia
534 682 Nigel de Jong Tim Krul
10 630 Adrián Ramos Santiago Arias
87 589 Blaise Matuidi Raphaël Varane
622 728 Salvatore Sirigu Yohan Cabaye
160 639 Didier Ya Konan Serge Aurier
11 43 Afriyie Acquah André Ayew
480 614 Matthias Ginter Ron-Robert Zieler
113 627 Charles Itandje Samuel Eto'o (c)
250 254 Giannis Fetfatzidis Giorgos Samaras
56 654 Anthony Vanden Borre Simon Mignolet
669 698 Stipe Pletikosa Vedran Corluka
205 274 Essaïd Belkalem Hassan Yebda
290 413 Hwang Seok-ho Lee Keun-ho
456 718 Mario Martínez Wilson Palacios
269 394 Han Kook-young Kim Shin-wook
616 668 Ross Barkley Steven Gerrard (c)
173 296 Djamel Mesbah Islam Slimani
384 654 Kevin De Bruyne Simon Mignolet
448 563 Marco Ureña Patrick Pemberton
563 727 Patrick Pemberton Yeltsin Tejeda
98 426 Carlo Costly Luis Garrido
486 711 Maxi Pereira Walter Gargano
557 694 Panagiotis Kone Vangelis Moras
219 309 Faryd Mondragón James Rodríguez
246 322 Gervinho Jean-Daniel Akpa-Akpro
73 312 Avdija Vršajevic Jasmin Fejzic
147 432 Darijo Srna (c) Luka Modric
605 722 Riyad Mahrez Yacine Brahimi
386 408 Kevin Mirallas Laurent Ciman
349 429 Jordi Alba Luis Saritama
364 438 Josip Drmic Makoto Hasebe (c)
339 602 Johan Djourou Ricardo Rodríguez
340 347 John Boye Jordan Ayew
219 234 Faryd Mondragón Fredy Guarín
208 468 Eugene Galekovic Massimo Luongo
303 433 Jack Wilshere Lukas Podolski
116 606 Chris Smalling Robin van Persie (c)
407 488 Landry N'Guémo Maxim Choupo-Moting
223 230 Felipe Gutiérrez Francisco Silva
64 207 Arturo Vidal Esteban Paredes
341 476 John Brooks Matt Besler
109 360 Celso Borges José Miguel Cubero
148 479 Dario Vidošic Matthew Špiranovic
225 450 Fernando Gago Marcos Rojo
207 512 Esteban Paredes Miiko Albornoz
376 436 Júlio César Maicon
111 429 Cesc Fàbregas Luis Saritama
31 366 Alexander Mejía Juan Camilo Zúñiga
261 645 Gonzalo Higuaín Sergio Romero
207 445 Esteban Paredes Marcelo Díaz
691 706 Uche Nwofor Vincent Enyeama
20 365 Alejandro Bedoya Jozy Altidore
146 533 Dany Nounkeu Nicolas N'Koulou
436 516 Maicon Miralem Pjanic
100 304 Carlos Carbonero Jackson Martínez
233 529 Fred Neymar
235 499 Frickson Erazo Michael Arroyo
110 371 César Azpilicueta Juan Mata
38 165 Álvaro González Diego Forlán
351 551 Jorge Claros Osman Chávez
94 534 Bruno Martins Indi Nigel de Jong
390 413 Ki Sung-yueng Lee Keun-ho
69 729 Atsuto Uchida Yoichiro Kakitani
197 549 Emilio Izaguirre Óscar Boniek García
116 139 Chris Smalling Daniel Sturridge
288 311 Hugo Lloris (c) Jan Vertonghen
263 514 Gordon Schildenfeld Milan Badelj
281 651 Hiroki Sakai Shusaku Nishikawa
33 349 Alexis Sánchez Jordi Alba
50 111 Andrés Iniesta Cesc Fàbregas
309 645 James Rodríguez Sergio Romero
310 471 James Troisi Mathew Ryan
364 610 Josip Drmic Roman Bürki
10 234 Adrián Ramos Fredy Guarín
442 455 Manuel Neuer Mario Mandžukic
105 369 Carlos Sánchez Juan Fernando Quintero
33 111 Alexis Sánchez Cesc Fàbregas
34 295 Alfredo Talavera Isaác Brizuela
425 490 Lucas Digne Maxwell
125 249 Claudio Marchisio Gianluigi Buffon (c)
8 562 Adnan Januzaj Patrice Evra
563 712 Patrick Pemberton Waylon Francis
235 548 Frickson Erazo Óscar Bagüí
26 622 Alessio Cerci Salvatore Sirigu
283 395 Hong Jeong-ho Kim Young-gwon
251 556 Giannis Maniatis Panagiotis Glykos
483 484 Mauricio Isla Mauricio Pinilla
398 726 Kolo Touré Yaya Touré
621 638 Salomon Kalou Serey Die
358 645 José María Basanta Sergio Romero
330 412 Ji Dong-won Lee Chung-yong
218 722 Faouzi Ghoulam Yacine Brahimi
229 510 Francisco Javier Rodríguez Miguel Layún
249 252 Gianluigi Buffon (c) Giorgio Chiellini
235 368 Frickson Erazo Juan Carlos Paredes
422 482 Lorenzo Insigne Mattia Perin
381 571 Karim Benzema Pepe
623 644 Sami Khedira Sergio Ramos
159 226 Didier Drogba (c) Fernando Muslera
86 571 Beto Pepe
417 496 Leroy Fer Memphis Depay
394 412 Kim Shin-wook Lee Chung-yong
437 670 Majeed Waris Sulley Muntari
391 392 Kim Bo-kyung Kim Chang-soo
516 696 Miralem Pjanic Vasilis Torosidis
27 303 Alex Oxlade-Chamberlain Jack Wilshere
237 482 Gabriel Paletta Mattia Perin
74 732 Axel Witsel Yuri Lodygin
676 717 Thiago Silva (c) Willian
3 166 Abel Hernández Diego Godín
131 619 Cristiano Ronaldo (c) Rui Patrício
491 724 Maya Yoshida Yasuhito Endo
454 573 Mario Götze Per Mertesacker
310 313 James Troisi Jason Davidson
11 711 Afriyie Acquah Walter Gargano
239 512 Gary Medel Miiko Albornoz
588 712 Randall Brenes Waylon Francis
353 548 Jorge Guagua Óscar Bagüí
180 619 Éder Rui Patrício
475 517 Mats Hummels Miroslav Klose
616 681 Ross Barkley Tim Howard
224 436 Fernandinho Maicon
480 498 Matthias Ginter Mesut Özil
202 608 Enzo Pérez Rodrigo Palacio
279 699 Henrique Victor
79 442 Bastian Schweinsteiger Manuel Neuer
434 603 Luke Shaw Rickie Lambert
245 529 Gerard Piqué Neymar
99 457 Carlos Bacca Mario Yepes (c)
79 327 Bastian Schweinsteiger Jérôme Boateng
130 554 Cristián Zapata Pablo Armero
9 489 Adrián Bone Máximo Banguera
150 460 David de Gea Marouane Fellaini
522 527 Mousa Dembélé Nacer Chadli
131 703 Cristiano Ronaldo (c) Vieirinha
45 482 Andrea Barzagli Mattia Perin
227 547 Fernando Torres Oscar
85 376 Bernard Júlio César
525 605 Nabil Bentaleb Riyad Mahrez
88 693 Blerim Džemaili Valon Behrami
276 318 Héctor Moreno Javier Hernández
254 558 Giorgos Samaras Panagiotis Tachtsidis
602 693 Ricardo Rodríguez Valon Behrami
276 581 Héctor Moreno Rafael Márquez (c)
425 604 Lucas Digne Rio Mavuba
293 733 Igor Denisov Yuri Zhirkov
319 645 Javier Mascherano Sergio Romero
12 487 Agustín Orión Maxi Rodríguez
613 673 Ron Vlaar Terence Kongolo
626 627 Sammy N'Djock Samuel Eto'o (c)
380 598 Karim Ansarifard Reza Ghoochannejhad
198 302 Emir Spahic (c) Izet Hajrovic
313 680 Jason Davidson Tim Cahill
327 498 Jérôme Boateng Mesut Özil
15 218 Aïssa Mandi Faouzi Ghoulam
42 216 André Almeida Fábio Coentrão
400 558 Kostas Katsouranis Panagiotis Tachtsidis
232 308 Fraser Forster James Milner
129 461 Cristian Rodríguez Martín Cáceres
386 677 Kevin Mirallas Thibaut Courtois
119 550 Christian Bolaños Óscar Duarte
281 730 Hiroki Sakai Yoshito Okubo
493 519 Medhi Lacen Mohamed Zemmamouche
277 601 Hélder Postiga Ricardo Costa
196 288 Eliaquim Mangala Hugo Lloris (c)
470 686 Mathew Leckie Tommy Oar
277 286 Hélder Postiga Hugo Almeida
103 510 Carlos Peña Miguel Layún
378 712 Júnior Díaz Waylon Francis
12 451 Agustín Orión Mariano Andújar
115 500 Chigozie Agbim Michael Babatunde
288 594 Hugo Lloris (c) Rémy Cabella
573 614 Per Mertesacker Ron-Robert Zieler
32 251 Alexandros Tziolis Giannis Maniatis
193 651 Eiji Kawashima Shusaku Nishikawa
280 600 Hernanes Ricardo Álvarez
141 291 Daniele De Rossi Ignazio Abate
476 502 Matt Besler Michael Bradley
383 500 Kenneth Omeruo Michael Babatunde
358 608 José María Basanta Rodrigo Palacio
659 682 Stefan de Vrij Tim Krul
280 469 Hernanes Mateo Kovacic
7 497 Admir Mehmedi Mensur Mujdža
22 732 Aleksandr Kokorin Yuri Lodygin
224 462 Fernandinho Martín Demichelis
132 361 Cristopher Toselli José Pedro Fuenzalida
322 639 Jean-Daniel Akpa-Akpro Serge Aurier
83 146 Benjamin Moukandjo Dany Nounkeu
152 206 David Myrie Esteban Granados
170 400 Dimitris Salpingidis Kostas Katsouranis
449 676 Marco Verratti Thiago Silva (c)
41 284 Andranik Teymourian Hossein Mahini
78 598 Bakhtiar Rahmani Reza Ghoochannejhad
495 599 Mehrdad Pouladi Reza Haghighi
147 653 Darijo Srna (c) Šime Vrsaljko
191 711 Egidio Arévalo Ríos Walter Gargano
214 445 Fabián Orellana Marcelo Díaz
135 331 Dani Alves
282 651 Hiroshi Kiyotake Shusaku Nishikawa
6 459 Adam Taggart Mark Milligan
256 510 Giovani dos Santos Miguel Layún
167 461 Diego Lugano (c) Martín Cáceres
195 525 El Arbi Hillel Soudani Nabil Bentaleb
200 574 Emmanuel Emenike Peter Odemwingie
511 652 Miguel Veloso Silvestre Varela
57 589 Antoine Griezmann Raphaël Varane
358 487 José María Basanta Maxi Rodríguez
133 714 Daley Blind Wesley Sneijder
80 258 Ben Foster Glen Johnson
117 513 Chris Wondolowski Mikkel Diskerud
26 46 Alessio Cerci Andrea Pirlo
69 465 Atsuto Uchida Masahiko Inoha
455 535 Mario Mandžukic Nikica Jelavic
601 618 Ricardo Costa Rúben Amorim
618 619 Rúben Amorim Rui Patrício
115 259 Chigozie Agbim Godfrey Oboabona
202 555 Enzo Pérez Pablo Zabaleta
144 238 Danny Welbeck Gary Cahill
174 540 Dmitri Kombarov Oleg Shatov
104 592 Carlos Salcido Raúl Jiménez
491 725 Maya Yoshida Yasuyuki Konno
206 388 Esteban Granados Keylor Navas
244 714 Georginio Wijnaldum Wesley Sneijder
87 622 Blaise Matuidi Salvatore Sirigu
25 174 Aleksei Kozlov Dmitri Kombarov
200 379 Emmanuel Emenike Juwon Oshaniwa
437 590 Majeed Waris Rashid Sumaila
88 218 Blerim Džemaili Faouzi Ghoulam
3 359 Abel Hernández José María Giménez
421 425 Loïc Rémy Lucas Digne
20 126 Alejandro Bedoya Clint Dempsey (c)
159 297 Didier Drogba (c) Ismaël Diomandé
79 82 Bastian Schweinsteiger Benedikt Höwedes
241 665 Gelson Fernandes Steve von Bergen
49 256 Andrés Guardado Giovani dos Santos
405 414 Kwak Tae-hwi Lee Yong
76 421 Bacary Sagna Loïc Rémy
53 697 Anel Hadžic Vedad Ibiševic
108 205 Cédric Si Mohamed Essaïd Belkalem
51 732 Andrey Yeshchenko Yuri Lodygin
118 628 Christian Atsu Samuel Inkoom
222 552 Felipe Caicedo Oswaldo Minda
521 603 Morgan Schneiderlin Rickie Lambert
282 382 Hiroshi Kiyotake Keisuke Honda
40 584 Amir Hossein Sadeghi Rahman Ahmadi
242 476 Geoff Cameron Matt Besler
273 666 Hashem Beikzadeh Steven Beitashour
336 712 Joel Campbell Waylon Francis
654 677 Simon Mignolet Thibaut Courtois
444 698 Marcelo Brozovic Vedran Corluka
330 559 Ji Dong-won Park Chu-young
120 293 Christian Noboa Igor Denisov
299 444 Ivan Perišic Marcelo Brozovic
84 278 Benoît Assou-Ekotto Henri Bedimo
75 500 Azubuike Egwuekwe Michael Babatunde
184 198 Edin Višca Emir Spahic (c)
488 705 Maxim Choupo-Moting Vincent Aboubakar
283 560 Hong Jeong-ho Park Jong-woo
573 623 Per Mertesacker Sami Khedira
23 292 Aleksandr Samedov Igor Akinfeev
83 627 Benjamin Moukandjo Samuel Eto'o (c)
154 643 David Silva Sergio Busquets
39 226 Álvaro Pereira Fernando Muslera
400 674 Kostas Katsouranis Theofanis Gekas
111 397 Cesc Fàbregas Koke
207 262 Esteban Paredes Gonzalo Jara
126 683 Clint Dempsey (c) Timothy Chandler
334 368 Joao Rojas Juan Carlos Paredes
323 436 Jefferson Maicon
286 428 Hugo Almeida Luís Neto
93 200 Bruno Alves Emmanuel Emenike
516 684 Miralem Pjanic Tino-Sven Sušic
209 344 Eugenio Mena Johnny Herrera
255 696 Giorgos Tzavellas Vasilis Torosidis
378 550 Júnior Díaz Óscar Duarte
65 199 Asamoah Gyan (c) Emmanuel Agyemang-Badu
511 619 Miguel Veloso Rui Patrício
165 607 Diego Forlán Rodrigo Muñoz
280 431 Hernanes Luiz Gustavo
351 372 Jorge Claros Juan Pablo Montes
20 544 Alejandro Bedoya Omar Gonzalez
1 435 Abdelmoumene Djabou Madjid Bougherra (c)
364 723 Josip Drmic Yann Sommer
216 511 Fábio Coentrão Miguel Veloso
103 276 Carlos Peña Héctor Moreno
417 507 Leroy Fer Michel Vorm
250 251 Giannis Fetfatzidis Giannis Maniatis
64 112 Arturo Vidal Charles Aránguiz
41 598 Andranik Teymourian Reza Ghoochannejhad
236 429 Gabriel Achilier Luis Saritama
294 571 Iker Casillas (c) Pepe
489 499 Máximo Banguera Michael Arroyo
105 457 Carlos Sánchez Mario Yepes (c)
176 549 Donis Escober Óscar Boniek García
235 595 Frickson Erazo Renato Ibarra
165 166 Diego Forlán Diego Godín
385 623 Kevin Großkreutz Sami Khedira
150 349 David de Gea Jordi Alba
345 350 Jonathan de Guzmán Jordy Clasie
338 682 Joël Veltman Tim Krul
17 592 Alan Pulido Raúl Jiménez
49 592 Andrés Guardado Raúl Jiménez
52 351 Andy Najar Jorge Claros
374 454 Julian Draxler Mario Götze
222 429 Felipe Caicedo Luis Saritama
301 703 Ivica Olic Vieirinha
32 423 Alexandros Tziolis Loukas Vyntra
233 323 Fred Jefferson
630 672 Santiago Arias Teófilo Gutiérrez
363 706 Joseph Yobo (c) Vincent Enyeama
498 543 Mesut Özil Olivier Giroud
401 696 Kostas Manolas Vasilis Torosidis
141 516 Daniele De Rossi Miralem Pjanic
101 239 Carlos Carmona Gary Medel
314 682 Jasper Cillessen Tim Krul
67 184 Asmir Avdukic Edin Višca
61 244 Arjen Robben Georginio Wijnaldum
393 394 Kim Seung-gyu Kim Shin-wook
71 107 Aurélien Chedjou Cédric Djeugoué
309 672 James Rodríguez Teófilo Gutiérrez
419 489 Lionel Messi (c) Máximo Banguera
33 64 Alexis Sánchez Arturo Vidal
154 629 David Silva Santi Cazorla
193 729 Eiji Kawashima Yoichiro Kakitani
337 396 Joël Matip Klaas-Jan Huntelaar
708 733 Vladimir Granat Yuri Zhirkov
42 593 André Almeida Raul Meireles
395 411 Kim Young-gwon Lee Bum-young
207 214 Esteban Paredes Fabián Orellana
518 611 Mitchell Langerak Roman Weidenfeller
7 665 Admir Mehmedi Steve von Bergen
249 478 Gianluigi Buffon (c) Matteo Darmian
257 639 Giovanni Sio Serge Aurier
281 285 Hiroki Sakai Hotaru Yamaguchi
438 465 Makoto Hasebe (c) Masahiko Inoha
126 265 Clint Dempsey (c) Graham Zusi
240 430 Gastón Ramírez Luis Suárez
156 341 DeAndre Yedlin John Brooks
116 144 Chris Smalling Danny Welbeck
29 459 Alex Wilkinson Mark Milligan
347 437 Jordan Ayew Majeed Waris
513 681 Mikkel Diskerud Tim Howard
406 513 Kyle Beckerman Mikkel Diskerud
188 716 Eduardo dos Reis Carvalho William Carvalho
494 582 Mehdi Mostefa Rafik Halliche
469 669 Mateo Kovacic Stipe Pletikosa
263 624 Gordon Schildenfeld Sammir
491 735 Maya Yoshida Yuya Osako
144 415 Danny Welbeck Leighton Baines
119 501 Christian Bolaños Michael Barrantes
140 327 Daniel Van Buyten Jérôme Boateng
154 227 David Silva Fernando Torres
396 714 Klaas-Jan Huntelaar Wesley Sneijder
416 482 Leonardo Bonucci Mattia Perin
8 386 Adnan Januzaj Kevin Mirallas
270 684 Haris Medunjanin Tino-Sven Sušic
436 699 Maicon Victor
153 304 David Ospina Jackson Martínez
245 371 Gerard Piqué Juan Mata
328 464 Jerry Bengtson Marvin Chávez
64 132 Arturo Vidal Cristopher Toselli
277 716 Hélder Postiga William Carvalho
109 206 Celso Borges Esteban Granados
208 479 Eugene Galekovic Matthew Špiranovic
321 337 Jean Makoun Joël Matip
156 683 DeAndre Yedlin Timothy Chandler
139 144 Daniel Sturridge Danny Welbeck
383 403 Kenneth Omeruo Kunle Odunlami
226 302 Fernando Muslera Izet Hajrovic
680 686 Tim Cahill Tommy Oar
398 671 Kolo Touré Sylvain Gbohouo
139 713 Daniel Sturridge Wayne Rooney
70 211 Augusto Fernández Ezequiel Garay
363 417 Joseph Yobo (c) Leroy Fer
403 702 Kunle Odunlami Victor Moses
372 456 Juan Pablo Montes Mario Martínez
124 239 Claudio Bravo (c) Gary Medel
471 541 Mathew Ryan Oliver Bozanic
154 308 David Silva James Milner
22 640 Aleksandr Kokorin Sergei Ignashevich
298 541 Ivan Franjic Oliver Bozanic
249 661 Gianluigi Buffon (c) Stephan Lichtsteiner
117 681 Chris Wondolowski Tim Howard
472 562 Mathieu Debuchy Patrice Evra
18 437 Albert Adomah Majeed Waris
286 332 Hugo Almeida João Moutinho
306 570 Jalal Hosseini Pejman Montazeri
214 512 Fabián Orellana Miiko Albornoz
33 489 Alexis Sánchez Máximo Banguera
131 428 Cristiano Ronaldo (c) Luís Neto
273 570 Hashem Beikzadeh Pejman Montazeri
3 352 Abel Hernández Jorge Fucile
371 720 Juan Mata Xavi
359 463 José María Giménez Martín Silva
27 232 Alex Oxlade-Chamberlain Fraser Forster
83 705 Benjamin Moukandjo Vincent Aboubakar
451 642 Mariano Andújar Sergio Agüero
596 690 Reto Ziegler Tranquillo Barnetta
64 362 Arturo Vidal José Rojas
444 469 Marcelo Brozovic Mateo Kovacic
246 398 Gervinho Kolo Touré
160 715 Didier Ya Konan Wilfried Bony
175 511 Domagoj Vida Miguel Veloso
217 626 Fabrice Olinga Sammy N'Djock
250 545 Giannis Fetfatzidis Orestis Karnezis
432 535 Luka Modric Nikica Jelavic
729 735 Yoichiro Kakitani Yuya Osako
491 689 Maya Yoshida Toshihiro Aoyama
121 359 Christian Stuani José María Giménez
242 326 Geoff Cameron Jermaine Jones
288 425 Hugo Lloris (c) Lucas Digne
89 246 Boubacar Barry Gervinho
145 577 Dante Philipp Lahm (c)
259 597 Godfrey Oboabona Reuben Gabriel
55 142 Ante Rebic Danijel Pranjic
20 530 Alejandro Bedoya Nick Rimando
192 598 Ehsan Hajsafi Reza Ghoochannejhad
150 629 David de Gea Santi Cazorla
210 579 Eyong Enoh Pierre Webó
526 655 Nabil Ghilas Sofiane Feghouli
28 71 Alex Song Aurélien Chedjou
184 633 Edin Višca Sead Kolašinac
324 334 Jefferson Montero Joao Rojas
184 538 Edin Višca Ognjen Vranješ
390 411 Ki Sung-yueng Lee Bum-young
308 462 James Milner Martín Demichelis
83 278 Benjamin Moukandjo Henri Bedimo
629 679 Santi Cazorla Thomas Vermaelen
402 558 Kostas Mitroglou Panagiotis Tachtsidis
384 386 Kevin De Bruyne Kevin Mirallas
49 267 Andrés Guardado Guillermo Ochoa
467 599 Masoud Shojaei Reza Haghighi
350 673 Jordy Clasie Terence Kongolo
105 701 Carlos Sánchez Víctor Ibarbo
322 638 Jean-Daniel Akpa-Akpro Serey Die
34 104 Alfredo Talavera Carlos Salcido
161 638 Didier Zokora Serey Die
255 356 Giorgos Tzavellas José Holebas
2 304 Abel Aguilar Jackson Martínez
187 444 Eduardo da Silva Marcelo Brozovic
54 600 Ángel di María Ricardo Álvarez
138 590 Daniel Opare Rashid Sumaila
134 242 DaMarcus Beasley Geoff Cameron
30 201 Alexander Domínguez Enner Valencia
147 301 Darijo Srna (c) Ivica Olic
70 487 Augusto Fernández Maxi Rodríguez
24 568 Aleksei Ionov Pavel Mogilevets
76 565 Bacary Sagna Paul Pogba
569 644 Pedro Sergio Ramos
69 281 Atsuto Uchida Hiroki Sakai
108 173 Cédric Si Mohamed Djamel Mesbah
647 725 Shinji Okazaki Yasuyuki Konno
178 492 Edder Delgado Maynor Figueroa
496 682 Memphis Depay Tim Krul
21 22 Aleksandr Kerzhakov Aleksandr Kokorin
48 439 Andrei Semyonov Maksim Kanunnikov
36 467 Alireza Jahanbakhsh Masoud Shojaei
124 207 Claudio Bravo (c) Esteban Paredes
571 652 Pepe Silvestre Varela
37 662 Allan Nyom Stéphane Mbia
28 579 Alex Song Pierre Webó
338 496 Joël Veltman Memphis Depay
48 695 Andrei Semyonov Vasili Berezutski (c)
110 155 César Azpilicueta David Villa
177 422 Dries Mertens Lorenzo Insigne
579 705 Pierre Webó Vincent Aboubakar
181 234 Éder Álvarez Balanta Fredy Guarín
291 416 Ignazio Abate Leonardo Bonucci
302 637 Izet Hajrovic Senijad Ibricic
205 493 Essaïd Belkalem Medhi Lacen
333 578 João Pereira Philippe Senderos
654 685 Simon Mignolet Toby Alderweireld
280 323 Hernanes Jefferson
271 364 Haris Seferovic Josip Drmic
466 650 Masato Morishige Shuichi Gonda
449 481 Marco Verratti Mattia De Sciglio
363 587 Joseph Yobo (c) Ramon Azeez
129 165 Cristian Rodríguez Diego Forlán
94 496 Bruno Martins Indi Memphis Depay
307 313 James Holland Jason Davidson
87 196 Blaise Matuidi Eliaquim Mangala
522 654 Mousa Dembélé Simon Mignolet
374 480 Julian Draxler Matthias Ginter
81 541 Ben Halloran Oliver Bozanic
303 575 Jack Wilshere Phil Jagielka
340 590 John Boye Rashid Sumaila
231 603 Frank Lampard Rickie Lambert
269 413 Han Kook-young Lee Keun-ho
436 696 Maicon Vasilis Torosidis
578 655 Philippe Senderos Sofiane Feghouli
309 701 James Rodríguez Víctor Ibarbo
363 500 Joseph Yobo (c) Michael Babatunde
516 635 Miralem Pjanic Sejad Salihovic
475 498 Mats Hummels Mesut Özil
269 561 Han Kook-young Park Joo-ho
500 649 Michael Babatunde Shola Ameobi
245 429 Gerard Piqué Luis Saritama
394 560 Kim Shin-wook Park Jong-woo
195 582 El Arbi Hillel Soudani Rafik Halliche
492 718 Maynor Figueroa Wilson Palacios
150 316 David de Gea Javi Martínez
554 701 Pablo Armero Víctor Ibarbo
357 581 José Juan Vázquez Rafael Márquez (c)
638 657 Serey Die Sol Bamba
523 728 Moussa Sissoko Yohan Cabaye
130 369 Cristián Zapata Juan Fernando Quintero
189 333 Eduardo Vargas João Pereira
321 407 Jean Makoun Landry N'Guémo
142 300 Danijel Pranjic Ivan Rakitic
17 229 Alan Pulido Francisco Javier Rodríguez
490 622 Maxwell Salvatore Sirigu
431 567 Luiz Gustavo Paulinho
613 659 Ron Vlaar Stefan de Vrij
503 664 Michael Essien Stephen Adams
204 497 Ermin Bicakcic Mensur Mujdža
532 667 Nicolas Lombaerts Steven Defour
198 697 Emir Spahic (c) Vedad Ibiševic
360 588 José Miguel Cubero Randall Brenes
254 656 Giorgos Samaras Sokratis Papastathopoulos
492 536 Maynor Figueroa Noel Valladares (c)
362 512 José Rojas Miiko Albornoz
75 587 Azubuike Egwuekwe Ramon Azeez
481 622 Mattia De Sciglio Salvatore Sirigu
290 377 Hwang Seok-ho Jung Sung-ryong
105 304 Carlos Sánchez Jackson Martínez
179 547 Eden Hazard Oscar
314 606 Jasper Cillessen Robin van Persie (c)
374 498 Julian Draxler Mesut Özil
102 429 Carlos Gruezo Luis Saritama
307 477 James Holland Matt McKay
19 422 Alberto Aquilani Lorenzo Insigne
281 441 Hiroki Sakai Manabu Saito
560 658 Park Jong-woo Son Heung-min
511 618 Miguel Veloso Rúben Amorim
244 566 Georginio Wijnaldum Paul Verhaegh
287 358 Hugo Campagnaro José María Basanta
177 693 Dries Mertens Valon Behrami
299 535 Ivan Perišic Nikica Jelavic
348 713 Jordan Henderson Wayne Rooney
407 705 Landry N'Guémo Vincent Aboubakar
293 568 Igor Denisov Pavel Mogilevets
572 643 Pepe Reina Sergio Busquets
19 249 Alberto Aquilani Gianluigi Buffon (c)
53 538 Anel Hadžic Ognjen Vranješ
135 431 Dani Alves Luiz Gustavo
534 714 Nigel de Jong Wesley Sneijder
573 629 Per Mertesacker Santi Cazorla
213 326 Fabian Johnson Jermaine Jones
456 464 Mario Martínez Marvin Chávez
399 561 Koo Ja-cheol (c) Park Joo-ho
85 567 Bernard Paulinho
679 707 Thomas Vermaelen Vincent Kompany (c)
18 118 Albert Adomah Christian Atsu
294 381 Iker Casillas (c) Karim Benzema
385 648 Kevin Großkreutz Shkodran Mustafi
280 717 Hernanes Willian
276 317 Héctor Moreno Javier Aquino
11 670 Afriyie Acquah Sulley Muntari
491 734 Maya Yoshida Yuto Nagatomo
463 607 Martín Silva Rodrigo Muñoz
84 210 Benoît Assou-Ekotto Eyong Enoh
61 613 Arjen Robben Ron Vlaar
288 543 Hugo Lloris (c) Olivier Giroud
88 453 Blerim Džemaili Mario Gavranovic
135 490 Dani Alves Maxwell
127 671 Constant Djakpa Sylvain Gbohouo
177 654 Dries Mertens Simon Mignolet
35 273 Alireza Haghighi Hashem Beikzadeh
368 499 Juan Carlos Paredes Michael Arroyo
245 319 Gerard Piqué Javier Mascherano
365 406 Jozy Altidore Kyle Beckerman
188 277 Eduardo dos Reis Carvalho Hélder Postiga
145 431 Dante Luiz Gustavo
369 652 Juan Fernando Quintero Silvestre Varela
142 653 Danijel Pranjic Šime Vrsaljko
479 620 Matthew Špiranovic Ryan McGowan
67 183 Asmir Avdukic Edin Džeko
271 504 Haris Seferovic Michael Lang
602 661 Ricardo Rodríguez Stephan Lichtsteiner
417 714 Leroy Fer Wesley Sneijder
21 289 Aleksandr Kerzhakov Hulk
201 353 Enner Valencia Jorge Guagua
579 662 Pierre Webó Stéphane Mbia
177 386 Dries Mertens Kevin Mirallas
298 313 Ivan Franjic Jason Davidson
81 680 Ben Halloran Tim Cahill
218 582 Faouzi Ghoulam Rafik Halliche
80 232 Ben Foster Fraser Forster
154 183 David Silva Edin Džeko
279 422 Henrique Lorenzo Insigne
438 491 Makoto Hasebe (c) Maya Yoshida
379 706 Juwon Oshaniwa Vincent Enyeama
109 727 Celso Borges Yeltsin Tejeda
525 585 Nabil Bentaleb Raïs M'Bolhi
64 445 Arturo Vidal Marcelo Díaz
221 422 Federico Fernández Lorenzo Insigne
257 485 Giovanni Sio Max Gradel
474 638 Mathis Bolly Serey Die
368 552 Juan Carlos Paredes Oswaldo Minda
242 718 Geoff Cameron Wilson Palacios
154 164 David Silva Diego Costa
58 482 Antonio Candreva Mattia Perin
209 361 Eugenio Mena José Pedro Fuenzalida
59 622 Antonio Cassano Salvatore Sirigu
368 643 Juan Carlos Paredes Sergio Busquets
93 216 Bruno Alves Fábio Coentrão
84 488 Benoît Assou-Ekotto Maxim Choupo-Moting
306 598 Jalal Hosseini Reza Ghoochannejhad
572 591 Pepe Reina Raúl Albiol
490 728 Maxwell Yohan Cabaye
53 184 Anel Hadžic Edin Višca
525 631 Nabil Bentaleb Saphir Taïder
149 496 Daryl Janmaat Memphis Depay
70 450 Augusto Fernández Marcos Rojo
135 720 Dani Alves Xavi
222 489 Felipe Caicedo Máximo Banguera
469 624 Mateo Kovacic Sammir
129 685 Cristian Rodríguez Toby Alderweireld
6 313 Adam Taggart Jason Davidson
257 657 Giovanni Sio Sol Bamba
522 567 Mousa Dembélé Paulinho
327 577 Jérôme Boateng Philipp Lahm (c)
113 488 Charles Itandje Maxim Choupo-Moting
318 446 Javier Hernández Marco Fabián
15 585 Aïssa Mandi Raïs M'Bolhi
32 694 Alexandros Tziolis Vangelis Moras
58 481 Antonio Candreva Mattia De Sciglio
203 442 Erik Durm Manuel Neuer
258 303 Glen Johnson Jack Wilshere
568 640 Pavel Mogilevets Sergei Ignashevich
529 717 Neymar Willian
160 246 Didier Ya Konan Gervinho
333 601 João Pereira Ricardo Costa
460 685 Marouane Fellaini Toby Alderweireld
147 299 Darijo Srna (c) Ivan Perišic
293 640 Igor Denisov Sergei Ignashevich
298 620 Ivan Franjic Ryan McGowan
235 552 Frickson Erazo Oswaldo Minda
291 452 Ignazio Abate Mario Balotelli
643 644 Sergio Busquets Sergio Ramos
503 520 Michael Essien Mohammed Rabiu
250 401 Giannis Fetfatzidis Kostas Manolas
11 628 Afriyie Acquah Samuel Inkoom
190 379 Efe Ambrose Juwon Oshaniwa
99 370 Carlos Bacca Juan Guillermo Cuadrado
36 137 Alireza Jahanbakhsh Daniel Davari
45 64 Andrea Barzagli Arturo Vidal
190 259 Efe Ambrose Godfrey Oboabona
366 369 Juan Camilo Zúñiga Juan Fernando Quintero
149 396 Daryl Janmaat Klaas-Jan Huntelaar
468 471 Massimo Luongo Mathew Ryan
213 502 Fabian Johnson Michael Bradley
265 375 Graham Zusi Julian Green
459 468 Mark Milligan Massimo Luongo
273 584 Hashem Beikzadeh Rahman Ahmadi
480 573 Matthias Ginter Per Mertesacker
40 666 Amir Hossein Sadeghi Steven Beitashour
292 640 Igor Akinfeev Sergei Ignashevich
63 726 Arthur Boka Yaya Touré
309 366 James Rodríguez Juan Camilo Zúñiga
445 692 Marcelo Díaz Valentin Stocker
516 637 Miralem Pjanic Senijad Ibricic
151 323 David Luiz Jefferson
97 526 Carl Medjani Nabil Ghilas
28 349 Alex Song Jordi Alba
64 252 Arturo Vidal Giorgio Chiellini
418 525 Liassine Cadamuro-Bentaïba Nabil Bentaleb
145 490 Dante Maxwell
86 216 Beto Fábio Coentrão
315 599 Javad Nekounam (c) Reza Haghighi
18 709 Albert Adomah Wakaso Mubarak
216 333 Fábio Coentrão João Pereira
224 308 Fernandinho James Milner
260 422 Gökhan Inler (c) Lorenzo Insigne
651 689 Shusaku Nishikawa Toshihiro Aoyama
391 658 Kim Bo-kyung Son Heung-min
190 597 Efe Ambrose Reuben Gabriel
471 550 Mathew Ryan Óscar Duarte
330 731 Ji Dong-won Yun Suk-young
194 706 Ejike Uzoenyi Vincent Enyeama
58 449 Antonio Candreva Marco Verratti
301 624 Ivica Olic Sammir
116 646 Chris Smalling Shinji Kagawa
450 642 Marcos Rojo Sergio Agüero
363 691 Joseph Yobo (c) Uche Nwofor
78 599 Bakhtiar Rahmani Reza Haghighi
140 386 Daniel Van Buyten Kevin Mirallas
172 679 Divock Origi Thomas Vermaelen
384 602 Kevin De Bruyne Ricardo Rodríguez
86 528 Beto Nani
77 686 Bailey Wright Tommy Oar
375 454 Julian Green Mario Götze
37 407 Allan Nyom Landry N'Guémo
413 561 Lee Keun-ho Park Joo-ho
219 630 Faryd Mondragón Santiago Arias
80 231 Ben Foster Frank Lampard
239 354 Gary Medel Jorge Valdivia
508 589 Mickaël Landreau Raphaël Varane
6 479 Adam Taggart Matthew Špiranovic
29 541 Alex Wilkinson Oliver Bozanic
310 541 James Troisi Oliver Bozanic
99 304 Carlos Bacca Jackson Martínez
538 736 Ognjen Vranješ Zvjezdan Misimovic
453 693 Mario Gavranovic Valon Behrami
188 511 Eduardo dos Reis Carvalho Miguel Veloso
79 678 Bastian Schweinsteiger Thomas Müller
408 667 Laurent Ciman Steven Defour
247 666 Ghasem Haddadifar Steven Beitashour
82 122 Benedikt Höwedes Christoph Kramer
128 727 Cristian Gamboa Yeltsin Tejeda
238 415 Gary Cahill Leighton Baines
217 579 Fabrice Olinga Pierre Webó
543 573 Olivier Giroud Per Mertesacker
326 476 Jermaine Jones Matt Besler
578 661 Philippe Senderos Stephan Lichtsteiner
111 316 Cesc Fàbregas Javi Martínez
445 723 Marcelo Díaz Yann Sommer
197 609 Emilio Izaguirre Roger Espinoza
641 732 Sergey Ryzhikov Yuri Lodygin
131 593 Cristiano Ronaldo (c) Raul Meireles
86 601 Beto Ricardo Costa
145 547 Dante Oscar
329 609 Jerry Palacios Roger Espinoza
272 590 Harrison Afful Rashid Sumaila
101 484 Carlos Carmona Mauricio Pinilla
52 549 Andy Najar Óscar Boniek García
640 704 Sergei Ignashevich Viktor Fayzulin
571 593 Pepe Raul Meireles
59 237 Antonio Cassano Gabriel Paletta
455 653 Mario Mandžukic Šime Vrsaljko
85 699 Bernard Victor
449 622 Marco Verratti Salvatore Sirigu
646 650 Shinji Kagawa Shuichi Gonda
381 589 Karim Benzema Raphaël Varane
234 734 Fredy Guarín Yuto Nagatomo
540 695 Oleg Shatov Vasili Berezutski (c)
549 551 Óscar Boniek García Osman Chávez
537 636 Ogenyi Onazi Senad Lulic
398 583 Kolo Touré Raheem Sterling
637 697 Senijad Ibricic Vedad Ibiševic
527 667 Nacer Chadli Steven Defour
440 565 Mamadou Sakho Paul Pogba
238 717 Gary Cahill Willian
294 373 Iker Casillas (c) Juanfran
389 495 Khosro Heydari Mehrdad Pouladi
263 653 Gordon Schildenfeld Šime Vrsaljko
84 182 Benoît Assou-Ekotto Edgar Salli
134 156 DaMarcus Beasley DeAndre Yedlin
33 320 Alexis Sánchez Jean Beausejour
543 565 Olivier Giroud Paul Pogba
238 434 Gary Cahill Luke Shaw
66 247 Ashkan Dejagah Ghasem Haddadifar
474 671 Mathis Bolly Sylvain Gbohouo
232 258 Fraser Forster Glen Johnson
29 81 Alex Wilkinson Ben Halloran
102 120 Carlos Gruezo Christian Noboa
302 697 Izet Hajrovic Vedad Ibiševic
158 243 Denis Glushakov Georgi Shchennikov
21 174 Aleksandr Kerzhakov Dmitri Kombarov
147 300 Darijo Srna (c) Ivan Rakitic
183 642 Edin Džeko Sergio Agüero
58 537 Antonio Candreva Ogenyi Onazi
90 117 Brad Davis Chris Wondolowski
114 649 Cheick Tioté Shola Ameobi
303 348 Jack Wilshere Jordan Henderson
215 693 Fabian Schär Valon Behrami
704 708 Viktor Fayzulin Vladimir Granat
631 722 Saphir Taïder Yacine Brahimi
59 123 Antonio Cassano Ciro Immobile
372 464 Juan Pablo Montes Marvin Chávez
135 529 Dani Alves Neymar
25 641 Aleksei Kozlov Sergey Ryzhikov
131 294 Cristiano Ronaldo (c) Iker Casillas (c)
81 686 Ben Halloran Tommy Oar
188 286 Eduardo dos Reis Carvalho Hugo Almeida
127 690 Constant Djakpa Tranquillo Barnetta
152 336 David Myrie Joel Campbell
91 476 Brad Guzan Matt Besler
7 260 Admir Mehmedi Gökhan Inler (c)
351 700 Jorge Claros Víctor Bernárdez
598 666 Reza Ghoochannejhad Steven Beitashour
260 364 Gökhan Inler (c) Josip Drmic
133 350 Daley Blind Jordy Clasie
10 219 Adrián Ramos Faryd Mondragón
307 458 James Holland Mark Bresciano
532 625 Nicolas Lombaerts Sammy Bossut
558 696 Panagiotis Tachtsidis Vasilis Torosidis
232 575 Fraser Forster Phil Jagielka
427 464 Luis López Marvin Chávez
371 644 Juan Mata Sergio Ramos
418 582 Liassine Cadamuro-Bentaïba Rafik Halliche
426 536 Luis Garrido Noel Valladares (c)
382 730 Keisuke Honda Yoshito Okubo
130 670 Cristián Zapata Sulley Muntari
229 276 Francisco Javier Rodríguez Héctor Moreno
26 481 Alessio Cerci Mattia De Sciglio
311 460 Jan Vertonghen Marouane Fellaini
200 691 Emmanuel Emenike Uche Nwofor
576 583 Phil Jones Raheem Sterling
240 634 Gastón Ramírez Sebastián Coates
118 590 Christian Atsu Rashid Sumaila
151 717 David Luiz Willian
343 617 Johnny Acosta Roy Miller
39 167 Álvaro Pereira Diego Lugano (c)
118 340 Christian Atsu John Boye
257 692 Giovanni Sio Valentin Stocker
299 432 Ivan Perišic Luka Modric
197 426 Emilio Izaguirre Luis Garrido
88 690 Blerim Džemaili Tranquillo Barnetta
139 603 Daniel Sturridge Rickie Lambert
302 538 Izet Hajrovic Ognjen Vranješ
11 447 Afriyie Acquah Marco Parolo
158 293 Denis Glushakov Igor Denisov
514 539 Milan Badelj Ognjen Vukojevic
621 657 Salomon Kalou Sol Bamba
258 576 Glen Johnson Phil Jones
404 628 Kwadwo Asamoah Samuel Inkoom
99 219 Carlos Bacca Faryd Mondragón
569 720 Pedro Xavi
29 148 Alex Wilkinson Dario Vidošic
435 722 Madjid Bougherra (c) Yacine Brahimi
138 272 Daniel Opare Harrison Afful
91 213 Brad Guzan Fabian Johnson
383 702 Kenneth Omeruo Victor Moses
183 335 Edin Džeko Joe Hart
466 491 Masato Morishige Maya Yoshida
377 399 Jung Sung-ryong Koo Ja-cheol (c)
116 583 Chris Smalling Raheem Sterling
498 623 Mesut Özil Sami Khedira
31 630 Alexander Mejía Santiago Arias
183 312 Edin Džeko Jasmin Fejzic
110 720 César Azpilicueta Xavi
163 550 Diego Calvo Óscar Duarte
253 660 Giorgos Karagounis (c) Stefanos Kapino
1 585 Abdelmoumene Djabou Raïs M'Bolhi
116 238 Chris Smalling Gary Cahill
298 470 Ivan Franjic Mathew Leckie
224 376 Fernandinho Júlio César
187 432 Eduardo da Silva Luka Modric
30 235 Alexander Domínguez Frickson Erazo
421 543 Loïc Rémy Olivier Giroud
7 215 Admir Mehmedi Fabian Schär
200 383 Emmanuel Emenike Kenneth Omeruo
521 663 Morgan Schneiderlin Stéphane Ruffier
164 316 Diego Costa Javi Martínez
189 214 Eduardo Vargas Fabián Orellana
79 573 Bastian Schweinsteiger Per Mertesacker
132 239 Cristopher Toselli Gary Medel
117 683 Chris Wondolowski Timothy Chandler
152 360 David Myrie José Miguel Cubero
101 214 Carlos Carmona Fabián Orellana
105 181 Carlos Sánchez Éder Álvarez Balanta
374 517 Julian Draxler Miroslav Klose
306 389 Jalal Hosseini Khosro Heydari
501 550 Michael Barrantes Óscar Duarte
348 398 Jordan Henderson Kolo Touré
621 671 Salomon Kalou Sylvain Gbohouo
313 470 Jason Davidson Mathew Leckie
83 113 Benjamin Moukandjo Charles Itandje
232 616 Fraser Forster Ross Barkley
633 636 Sead Kolašinac Senad Lulic
73 198 Avdija Vršajevic Emir Spahic (c)
357 509 José Juan Vázquez Miguel Ángel Ponce
13 495 Ahmad Alenemeh Mehrdad Pouladi
136 563 Daniel Cambronero Patrick Pemberton
155 572 David Villa Pepe Reina
260 504 Gökhan Inler (c) Michael Lang
267 546 Guillermo Ochoa Oribe Peralta
59 125 Antonio Cassano Claudio Marchisio
533 579 Nicolas N'Koulou Pierre Webó
112 207 Charles Aránguiz Esteban Paredes
56 685 Anthony Vanden Borre Toby Alderweireld
277 517 Hélder Postiga Miroslav Klose
317 581 Javier Aquino Rafael Márquez (c)
626 705 Sammy N'Djock Vincent Aboubakar
198 658 Emir Spahic (c) Son Heung-min
229 317 Francisco Javier Rodríguez Javier Aquino
65 118 Asamoah Gyan (c) Christian Atsu
124 230 Claudio Bravo (c) Francisco Silva
428 618 Luís Neto Rúben Amorim
574 702 Peter Odemwingie Victor Moses
334 489 Joao Rojas Máximo Banguera
97 519 Carl Medjani Mohamed Zemmamouche
180 703 Éder Vieirinha
497 635 Mensur Mujdža Sejad Salihovic
157 455 Dejan Lovren Mario Mandžukic
442 611 Manuel Neuer Roman Weidenfeller
164 572 Diego Costa Pepe Reina
122 623 Christoph Kramer Sami Khedira
403 706 Kunle Odunlami Vincent Enyeama
111 643 Cesc Fàbregas Sergio Busquets
63 621 Arthur Boka Salomon Kalou
141 416 Daniele De Rossi Leonardo Bonucci
520 664 Mohammed Rabiu Stephen Adams
585 605 Raïs M'Bolhi Riyad Mahrez
81 313 Ben Halloran Jason Davidson
18 520 Albert Adomah Mohammed Rabiu
248 550 Giancarlo González Óscar Duarte
167 168 Diego Lugano (c) Diego Pérez
14 640 Ahmed Musa Sergei Ignashevich
14 500 Ahmed Musa Michael Babatunde
415 603 Leighton Baines Rickie Lambert
369 630 Juan Fernando Quintero Santiago Arias
56 140 Anthony Vanden Borre Daniel Van Buyten
145 280 Dante Hernanes
209 214 Eugenio Mena Fabián Orellana
26 482 Alessio Cerci Mattia Perin
59 675 Antonio Cassano Thiago Motta
45 291 Andrea Barzagli Ignazio Abate
428 528 Luís Neto Nani
88 162 Blerim Džemaili Diego Benaglio
51 243 Andrey Yeshchenko Georgi Shchennikov
544 681 Omar Gonzalez Tim Howard
281 734 Hiroki Sakai Yuto Nagatomo
543 728 Olivier Giroud Yohan Cabaye
419 645 Lionel Messi (c) Sergio Romero
426 551 Luis Garrido Osman Chávez
381 472 Karim Benzema Mathieu Debuchy
76 473 Bacary Sagna Mathieu Valbuena
527 567 Nacer Chadli Paulinho
356 410 José Holebas Lazaros Christodoulopoulos
161 485 Didier Zokora Max Gradel
283 561 Hong Jeong-ho Park Joo-ho
38 39 Álvaro González Álvaro Pereira
51 708 Andrey Yeshchenko Vladimir Granat
134 341 DaMarcus Beasley John Brooks
201 235 Enner Valencia Frickson Erazo
63 264 Arthur Boka Gotoku Sakai
676 728 Thiago Silva (c) Yohan Cabaye
286 716 Hugo Almeida William Carvalho
684 697 Tino-Sven Sušic Vedad Ibiševic
358 451 José María Basanta Mariano Andújar
112 361 Charles Aránguiz José Pedro Fuenzalida
335 603 Joe Hart Rickie Lambert
212 642 Ezequiel Lavezzi Sergio Agüero
412 559 Lee Chung-yong Park Chu-young
114 726 Cheick Tioté Yaya Touré
146 217 Dany Nounkeu Fabrice Olinga
64 189 Arturo Vidal Eduardo Vargas
244 396 Georginio Wijnaldum Klaas-Jan Huntelaar
92 456 Brayan Beckeles Mario Martínez
80 167 Ben Foster Diego Lugano (c)
521 565 Morgan Schneiderlin Paul Pogba
109 336 Celso Borges Joel Campbell
104 509 Carlos Salcido Miguel Ángel Ponce
226 240 Fernando Muslera Gastón Ramírez
480 611 Matthias Ginter Roman Weidenfeller
305 552 Jaime Ayoví Oswaldo Minda
119 152 Christian Bolaños David Myrie
317 592 Javier Aquino Raúl Jiménez
257 297 Giovanni Sio Ismaël Diomandé
514 624 Milan Badelj Sammir
48 243 Andrei Semyonov Georgi Shchennikov
372 427 Juan Pablo Montes Luis López
209 239 Eugenio Mena Gary Medel
381 443 Karim Benzema Marcelo
385 577 Kevin Großkreutz Philipp Lahm (c)
165 352 Diego Forlán Jorge Fucile
254 660 Giorgos Samaras Stefanos Kapino
10 701 Adrián Ramos Víctor Ibarbo
200 259 Emmanuel Emenike Godfrey Oboabona
409 498 Laurent Koscielny Mesut Özil
12 287 Agustín Orión Hugo Campagnaro
14 16 Ahmed Musa Alan Dzagoev
179 227 Eden Hazard Fernando Torres
245 373 Gerard Piqué Juanfran
471 477 Mathew Ryan Matt McKay
575 681 Phil Jagielka Tim Howard
462 645 Martín Demichelis Sergio Romero
83 321 Benjamin Moukandjo Jean Makoun
95 136 Bryan Ruiz (c) Daniel Cambronero
252 482 Giorgio Chiellini Mattia Perin
494 722 Mehdi Mostefa Yacine Brahimi
171 534 Dirk Kuyt Nigel de Jong
41 599 Andranik Teymourian Reza Haghighi
438 646 Makoto Hasebe (c) Shinji Kagawa
490 529 Maxwell Neymar
393 412 Kim Seung-gyu Lee Chung-yong
215 661 Fabian Schär Stephan Lichtsteiner
100 234 Carlos Carbonero Fredy Guarín
305 489 Jaime Ayoví Máximo Banguera
136 588 Daniel Cambronero Randall Brenes
203 518 Erik Durm Mitchell Langerak
475 518 Mats Hummels Mitchell Langerak
189 320 Eduardo Vargas Jean Beausejour
268 290 Ha Dae-sung Hwang Seok-ho
272 387 Harrison Afful Kevin-Prince Boateng
66 598 Ashkan Dejagah Reza Ghoochannejhad
493 585 Medhi Lacen Raïs M'Bolhi
216 589 Fábio Coentrão Raphaël Varane
469 653 Mateo Kovacic Šime Vrsaljko
292 540 Igor Akinfeev Oleg Shatov
359 531 José María Giménez Nicolás Lodeiro
14 691 Ahmed Musa Uche Nwofor
304 526 Jackson Martínez Nabil Ghilas
97 205 Carl Medjani Essaïd Belkalem
420 533 Loïc Feudjou Nicolas N'Koulou
618 652 Rúben Amorim Silvestre Varela
108 526 Cédric Si Mohamed Nabil Ghilas
692 723 Valentin Stocker Yann Sommer
544 683 Omar Gonzalez Timothy Chandler
103 104 Carlos Peña Carlos Salcido
70 555 Augusto Fernández Pablo Zabaleta
274 493 Hassan Yebda Medhi Lacen
97 631 Carl Medjani Saphir Taïder
46 449 Andrea Pirlo Marco Verratti
241 721 Gelson Fernandes Xherdan Shaqiri
185 463 Edinson Cavani Martín Silva
157 535 Dejan Lovren Nikica Jelavic
25 540 Aleksei Kozlov Oleg Shatov
556 660 Panagiotis Glykos Stefanos Kapino
471 479 Mathew Ryan Matthew Špiranovic
158 708 Denis Glushakov Vladimir Granat
221 358 Federico Fernández José María Basanta
359 685 José María Giménez Toby Alderweireld
12 261 Agustín Orión Gonzalo Higuaín
141 478 Daniele De Rossi Matteo Darmian
548 552 Óscar Bagüí Oswaldo Minda
90 683 Brad Davis Timothy Chandler
68 633 Asmir Begovic Sead Kolašinac
2 106 Abel Aguilar Carlos Valdés
191 461 Egidio Arévalo Ríos Martín Cáceres
582 605 Rafik Halliche Riyad Mahrez
7 610 Admir Mehmedi Roman Bürki
487 600 Maxi Rodríguez Ricardo Álvarez
237 481 Gabriel Paletta Mattia De Sciglio
165 185 Diego Forlán Edinson Cavani
690 693 Tranquillo Barnetta Valon Behrami
3 191 Abel Hernández Egidio Arévalo Ríos
323 376 Jefferson Júlio César
333 511 João Pereira Miguel Veloso
132 354 Cristopher Toselli Jorge Valdivia
465 466 Masahiko Inoha Masato Morishige
576 713 Phil Jones Wayne Rooney
172 179 Divock Origi Eden Hazard
206 617 Esteban Granados Roy Miller
63 297 Arthur Boka Ismaël Diomandé
98 549 Carlo Costly Óscar Boniek García
77 459 Bailey Wright Mark Milligan
318 576 Javier Hernández Phil Jones
191 430 Egidio Arévalo Ríos Luis Suárez
442 517 Manuel Neuer Miroslav Klose
63 127 Arthur Boka Constant Djakpa
555 707 Pablo Zabaleta Vincent Kompany (c)
81 298 Ben Halloran Ivan Franjic
311 677 Jan Vertonghen Thibaut Courtois
460 562 Marouane Fellaini Patrice Evra
131 589 Cristiano Ronaldo (c) Raphaël Varane
199 709 Emmanuel Agyemang-Badu Wakaso Mubarak
290 390 Hwang Seok-ho Ki Sung-yueng
472 682 Mathieu Debuchy Tim Krul
98 328 Carlo Costly Jerry Bengtson
79 454 Bastian Schweinsteiger Mario Götze
55 175 Ante Rebic Domagoj Vida
16 704 Alan Dzagoev Viktor Fayzulin
593 618 Raul Meireles Rúben Amorim
505 587 Michael Uchebo Ramon Azeez
249 404 Gianluigi Buffon (c) Kwadwo Asamoah
409 594 Laurent Koscielny Rémy Cabella
175 432 Domagoj Vida Luka Modric
346 670 Jonathan Mensah Sulley Muntari
221 451 Federico Fernández Mariano Andújar
175 325 Domagoj Vida Jeremain Lens
220 670 Fatau Dauda Sulley Muntari
129 430 Cristian Rodríguez Luis Suárez
58 675 Antonio Candreva Thiago Motta
432 623 Luka Modric Sami Khedira
185 486 Edinson Cavani Maxi Pereira
238 342 Gary Cahill John Obi Mikel
657 715 Sol Bamba Wilfried Bony
89 161 Boubacar Barry Didier Zokora
652 703 Silvestre Varela Vieirinha
9 368 Adrián Bone Juan Carlos Paredes
253 696 Giorgos Karagounis (c) Vasilis Torosidis
491 729 Maya Yoshida Yoichiro Kakitani
259 342 Godfrey Oboabona John Obi Mikel
49 103 Andrés Guardado Carlos Peña
6 208 Adam Taggart Eugene Galekovic
452 478 Mario Balotelli Matteo Darmian
437 503 Majeed Waris Michael Essien
255 545 Giorgos Tzavellas Orestis Karnezis
162 596 Diego Benaglio Reto Ziegler
442 475 Manuel Neuer Mats Hummels
47 545 Andreas Samaris Orestis Karnezis
50 154 Andrés Iniesta David Silva
116 603 Chris Smalling Rickie Lambert
195 526 El Arbi Hillel Soudani Nabil Ghilas
141 422 Daniele De Rossi Lorenzo Insigne
261 451 Gonzalo Higuaín Mariano Andújar
193 465 Eiji Kawashima Masahiko Inoha
203 433 Erik Durm Lukas Podolski
123 478 Ciro Immobile Matteo Darmian
259 403 Godfrey Oboabona Kunle Odunlami
322 726 Jean-Daniel Akpa-Akpro Yaya Touré
21 641 Aleksandr Kerzhakov Sergey Ryzhikov
241 260 Gelson Fernandes Gökhan Inler (c)
241 497 Gelson Fernandes Mensur Mujdža
225 608 Fernando Gago Rodrigo Palacio
196 473 Eliaquim Mangala Mathieu Valbuena
480 623 Matthias Ginter Sami Khedira
423 696 Loukas Vyntra Vasilis Torosidis
472 663 Mathieu Debuchy Stéphane Ruffier
334 353 Joao Rojas Jorge Guagua
99 554 Carlos Bacca Pablo Armero
413 731 Lee Keun-ho Yun Suk-young
74 677 Axel Witsel Thibaut Courtois
42 486 André Almeida Maxi Pereira
200 363 Emmanuel Emenike Joseph Yobo (c)
233 717 Fred Willian
502 544 Michael Bradley Omar Gonzalez
124 344 Claudio Bravo (c) Johnny Herrera
53 312 Anel Hadžic Jasmin Fejzic
304 309 Jackson Martínez James Rodríguez
339 364 Johan Djourou Josip Drmic
479 518 Matthew Špiranovic Mitchell Langerak
124 512 Claudio Bravo (c) Miiko Albornoz
410 423 Lazaros Christodoulopoulos Loukas Vyntra
236 499 Gabriel Achilier Michael Arroyo
233 331 Fred
82 442 Benedikt Höwedes Manuel Neuer
55 535 Ante Rebic Nikica Jelavic
1 494 Abdelmoumene Djabou Mehdi Mostefa
385 433 Kevin Großkreutz Lukas Podolski
27 713 Alex Oxlade-Chamberlain Wayne Rooney
103 564 Carlos Peña Paul Aguilar
40 66 Amir Hossein Sadeghi Ashkan Dejagah
697 736 Vedad Ibiševic Zvjezdan Misimovic
159 657 Didier Drogba (c) Sol Bamba
583 702 Raheem Sterling Victor Moses
290 405 Hwang Seok-ho Kwak Tae-hwi
267 276 Guillermo Ochoa Héctor Moreno
386 654 Kevin Mirallas Simon Mignolet
139 654 Daniel Sturridge Simon Mignolet
348 430 Jordan Henderson Luis Suárez
244 659 Georginio Wijnaldum Stefan de Vrij
11 59 Afriyie Acquah Antonio Cassano
466 724 Masato Morishige Yasuhito Endo
505 597 Michael Uchebo Reuben Gabriel
241 661 Gelson Fernandes Stephan Lichtsteiner
301 698 Ivica Olic Vedran Corluka
70 419 Augusto Fernández Lionel Messi (c)
304 352 Jackson Martínez Jorge Fucile
369 370 Juan Fernando Quintero Juan Guillermo Cuadrado
253 255 Giorgos Karagounis (c) Giorgos Tzavellas
113 626 Charles Itandje Sammy N'Djock
356 660 José Holebas Stefanos Kapino
184 688 Edin Višca Toni Šunjic
54 211 Ángel di María Ezequiel Garay
606 673 Robin van Persie (c) Terence Kongolo
581 592 Rafael Márquez (c) Raúl Jiménez
636 736 Senad Lulic Zvjezdan Misimovic
42 332 André Almeida João Moutinho
150 318 David de Gea Javier Hernández
155 677 David Villa Thibaut Courtois
405 561 Kwak Tae-hwi Park Joo-ho
69 646 Atsuto Uchida Shinji Kagawa
191 226 Egidio Arévalo Ríos Fernando Muslera
97 108 Carl Medjani Cédric Si Mohamed
299 698 Ivan Perišic Vedran Corluka
30 236 Alexander Domínguez Gabriel Achilier
150 713 David de Gea Wayne Rooney
61 507 Arjen Robben Michel Vorm
110 227 César Azpilicueta Fernando Torres
13 41 Ahmad Alenemeh Andranik Teymourian
458 459 Mark Bresciano Mark Milligan
149 338 Daryl Janmaat Joël Veltman
96 304 Camilo Vargas Jackson Martínez
124 209 Claudio Bravo (c) Eugenio Mena
50 720 Andrés Iniesta Xavi
95 501 Bryan Ruiz (c) Michael Barrantes
179 707 Eden Hazard Vincent Kompany (c)
236 489 Gabriel Achilier Máximo Banguera
258 434 Glen Johnson Luke Shaw
11 18 Afriyie Acquah Albert Adomah
430 583 Luis Suárez Raheem Sterling
99 181 Carlos Bacca Éder Álvarez Balanta
423 556 Loukas Vyntra Panagiotis Glykos
7 721 Admir Mehmedi Xherdan Shaqiri
64 461 Arturo Vidal Martín Cáceres
176 197 Donis Escober Emilio Izaguirre
196 594 Eliaquim Mangala Rémy Cabella
602 690 Ricardo Rodríguez Tranquillo Barnetta
327 611 Jérôme Boateng Roman Weidenfeller
325 682 Jeremain Lens Tim Krul
171 314 Dirk Kuyt Jasper Cillessen
103 267 Carlos Peña Guillermo Ochoa
35 495 Alireza Haghighi Mehrdad Pouladi
92 178 Brayan Beckeles Edder Delgado
225 261 Fernando Gago Gonzalo Higuaín
402 660 Kostas Mitroglou Stefanos Kapino
296 493 Islam Slimani Medhi Lacen
168 185 Diego Pérez Edinson Cavani
211 319 Ezequiel Garay Javier Mascherano
194 383 Ejike Uzoenyi Kenneth Omeruo
92 536 Brayan Beckeles Noel Valladares (c)
281 282 Hiroki Sakai Hiroshi Kiyotake
365 530 Jozy Altidore Nick Rimando
258 616 Glen Johnson Ross Barkley
3 168 Abel Hernández Diego Pérez
86 188 Beto Eduardo dos Reis Carvalho
234 370 Fredy Guarín Juan Guillermo Cuadrado
120 489 Christian Noboa Máximo Banguera
120 228 Christian Noboa Fidel Martínez
234 457 Fredy Guarín Mario Yepes (c)
620 680 Ryan McGowan Tim Cahill
412 560 Lee Chung-yong Park Jong-woo
316 629 Javi Martínez Santi Cazorla
323 547 Jefferson Oscar
135 151 Dani Alves David Luiz
32 557 Alexandros Tziolis Panagiotis Kone
88 665 Blerim Džemaili Steve von Bergen
145 455 Dante Mario Mandžukic
346 387 Jonathan Mensah Kevin-Prince Boateng
412 731 Lee Chung-yong Yun Suk-young
230 320 Francisco Silva Jean Beausejour
400 401 Kostas Katsouranis Kostas Manolas
335 707 Joe Hart Vincent Kompany (c)
126 134 Clint Dempsey (c) DaMarcus Beasley
112 483 Charles Aránguiz Mauricio Isla
68 538 Asmir Begovic Ognjen Vranješ
5 348 Adam Lallana Jordan Henderson
117 365 Chris Wondolowski Jozy Altidore
589 728 Raphaël Varane Yohan Cabaye
324 489 Jefferson Montero Máximo Banguera
285 724 Hotaru Yamaguchi Yasuhito Endo
335 462 Joe Hart Martín Demichelis
89 160 Boubacar Barry Didier Ya Konan
505 706 Michael Uchebo Vincent Enyeama
419 569 Lionel Messi (c) Pedro
219 701 Faryd Mondragón Víctor Ibarbo
53 67 Anel Hadžic Asmir Avdukic
43 65 André Ayew Asamoah Gyan (c)
439 709 Maksim Kanunnikov Wakaso Mubarak
359 634 José María Giménez Sebastián Coates
81 468 Ben Halloran Massimo Luongo
538 697 Ognjen Vranješ Vedad Ibiševic
304 369 Jackson Martínez Juan Fernando Quintero
127 621 Constant Djakpa Salomon Kalou
28 319 Alex Song Javier Mascherano
53 516 Anel Hadžic Miralem Pjanic
163 506 Diego Calvo Michael Umaña
87 490 Blaise Matuidi Maxwell
50 245 Andrés Iniesta Gerard Piqué
234 701 Fredy Guarín Víctor Ibarbo
138 670 Daniel Opare Sulley Muntari
116 335 Chris Smalling Joe Hart
29 470 Alex Wilkinson Mathew Leckie
450 487 Marcos Rojo Maxi Rodríguez
75 702 Azubuike Egwuekwe Victor Moses
226 352 Fernando Muslera Jorge Fucile
11 520 Afriyie Acquah Mohammed Rabiu
393 658 Kim Seung-gyu Son Heung-min
352 359 Jorge Fucile José María Giménez
450 619 Marcos Rojo Rui Patrício
268 412 Ha Dae-sung Lee Chung-yong
79 203 Bastian Schweinsteiger Erik Durm
213 265 Fabian Johnson Graham Zusi
482 675 Mattia Perin Thiago Motta
61 687 Arjen Robben Toni Kroos
290 399 Hwang Seok-ho Koo Ja-cheol (c)
539 669 Ognjen Vukojevic Stipe Pletikosa
334 355 Joao Rojas José de Jesús Corona
62 126 Aron Jóhannsson Clint Dempsey (c)
153 181 David Ospina Éder Álvarez Balanta
188 580 Eduardo dos Reis Carvalho Rafa Silva
99 153 Carlos Bacca David Ospina
232 434 Fraser Forster Luke Shaw
399 559 Koo Ja-cheol (c) Park Chu-young
316 455 Javi Martínez Mario Mandžukic
198 516 Emir Spahic (c) Miralem Pjanic
132 344 Cristopher Toselli Johnny Herrera
312 633 Jasmin Fejzic Sead Kolašinac
439 640 Maksim Kanunnikov Sergei Ignashevich
202 419 Enzo Pérez Lionel Messi (c)
602 721 Ricardo Rodríguez Xherdan Shaqiri
208 477 Eugene Galekovic Matt McKay
145 678 Dante Thomas Müller
646 725 Shinji Kagawa Yasuyuki Konno
194 537 Ejike Uzoenyi Ogenyi Onazi
528 652 Nani Silvestre Varela
598 599 Reza Ghoochannejhad Reza Haghighi
474 639 Mathis Bolly Serge Aurier
32 674 Alexandros Tziolis Theofanis Gekas
135 443 Dani Alves Marcelo
90 126 Brad Davis Clint Dempsey (c)
25 695 Aleksei Kozlov Vasili Berezutski (c)
568 695 Pavel Mogilevets Vasili Berezutski (c)
220 272 Fatau Dauda Harrison Afful
580 619 Rafa Silva Rui Patrício
519 525 Mohamed Zemmamouche Nabil Bentaleb
318 528 Javier Hernández Nani
173 631 Djamel Mesbah Saphir Taïder
8 172 Adnan Januzaj Divock Origi
72 500 Austin Ejide Michael Babatunde
265 681 Graham Zusi Tim Howard
220 628 Fatau Dauda Samuel Inkoom
635 684 Sejad Salihovic Tino-Sven Sušic
321 705 Jean Makoun Vincent Aboubakar
162 610 Diego Benaglio Roman Bürki
74 460 Axel Witsel Marouane Fellaini
260 261 Gökhan Inler (c) Gonzalo Higuaín
78 467 Bakhtiar Rahmani Masoud Shojaei
665 721 Steve von Bergen Xherdan Shaqiri
69 724 Atsuto Uchida Yasuhito Endo
380 389 Karim Ansarifard Khosro Heydari
468 477 Massimo Luongo Matt McKay
340 670 John Boye Sulley Muntari
359 677 José María Giménez Thibaut Courtois
73 302 Avdija Vršajevic Izet Hajrovic
156 681 DeAndre Yedlin Tim Howard
517 636 Miroslav Klose Senad Lulic
369 457 Juan Fernando Quintero Mario Yepes (c)
65 272 Asamoah Gyan (c) Harrison Afful
319 419 Javier Mascherano Lionel Messi (c)
120 186 Christian Noboa Édison Méndez
5 434 Adam Lallana Luke Shaw
290 559 Hwang Seok-ho Park Chu-young
14 383 Ahmed Musa Kenneth Omeruo
110 294 César Azpilicueta Iker Casillas (c)
28 37 Alex Song Allan Nyom
556 558 Panagiotis Glykos Panagiotis Tachtsidis
568 641 Pavel Mogilevets Sergey Ryzhikov
218 525 Faouzi Ghoulam Nabil Bentaleb
497 636 Mensur Mujdža Senad Lulic
92 549 Brayan Beckeles Óscar Boniek García
47 423 Andreas Samaris Loukas Vyntra
538 633 Ognjen Vranješ Sead Kolašinac
497 637 Mensur Mujdža Senijad Ibricic
69 82 Atsuto Uchida Benedikt Höwedes
24 25 Aleksei Ionov Aleksei Kozlov
416 661 Leonardo Bonucci Stephan Lichtsteiner
393 405 Kim Seung-gyu Kwak Tae-hwi
349 719 Jordi Alba Xabi Alonso
327 442 Jérôme Boateng Manuel Neuer
303 409 Jack Wilshere Laurent Koscielny
143 300 Danijel Subašic Ivan Rakitic
285 465 Hotaru Yamaguchi Masahiko Inoha
185 359 Edinson Cavani José María Giménez
316 678 Javi Martínez Thomas Müller
8 532 Adnan Januzaj Nicolas Lombaerts
29 77 Alex Wilkinson Bailey Wright
404 461 Kwadwo Asamoah Martín Cáceres
15 525 Aïssa Mandi Nabil Bentaleb
96 186 Camilo Vargas Édison Méndez
62 681 Aron Jóhannsson Tim Howard
38 167 Álvaro González Diego Lugano (c)
193 285 Eiji Kawashima Hotaru Yamaguchi
101 445 Carlos Carmona Marcelo Díaz
172 460 Divock Origi Marouane Fellaini
442 480 Manuel Neuer Matthias Ginter
327 648 Jérôme Boateng Shkodran Mustafi
119 563 Christian Bolaños Patrick Pemberton
88 591 Blerim Džemaili Raúl Albiol
278 407 Henri Bedimo Landry N'Guémo
388 423 Keylor Navas Loukas Vyntra
351 427 Jorge Claros Luis López
25 704 Aleksei Kozlov Viktor Fayzulin
45 125 Andrea Barzagli Claudio Marchisio
471 680 Mathew Ryan Tim Cahill
514 698 Milan Badelj Vedran Corluka
43 664 André Ayew Stephen Adams
323 490 Jefferson Maxwell
341 544 John Brooks Omar Gonzalez
165 531 Diego Forlán Nicolás Lodeiro
254 356 Giorgos Samaras José Holebas
126 530 Clint Dempsey (c) Nick Rimando
586 717 Ramires Willian
414 731 Lee Yong Yun Suk-young
400 694 Kostas Katsouranis Vangelis Moras
65 404 Asamoah Gyan (c) Kwadwo Asamoah
294 591 Iker Casillas (c) Raúl Albiol
354 483 Jorge Valdivia Mauricio Isla
67 637 Asmir Avdukic Senijad Ibricic
144 348 Danny Welbeck Jordan Henderson
82 648 Benedikt Höwedes Shkodran Mustafi
30 353 Alexander Domínguez Jorge Guagua
24 708 Aleksei Ionov Vladimir Granat
312 524 Jasmin Fejzic Muhamed Bešic
220 347 Fatau Dauda Jordan Ayew
507 682 Michel Vorm Tim Krul
440 562 Mamadou Sakho Patrice Evra
639 726 Serge Aurier Yaya Touré
108 582 Cédric Si Mohamed Rafik Halliche
214 361 Fabián Orellana José Pedro Fuenzalida
474 715 Mathis Bolly Wilfried Bony
26 452 Alessio Cerci Mario Balotelli
520 590 Mohammed Rabiu Rashid Sumaila
86 652 Beto Silvestre Varela
510 592 Miguel Layún Raúl Jiménez
44 374 André Schürrle Julian Draxler
123 452 Ciro Immobile Mario Balotelli
187 469 Eduardo da Silva Mateo Kovacic
115 574 Chigozie Agbim Peter Odemwingie
734 735 Yuto Nagatomo Yuya Osako
206 501 Esteban Granados Michael Barrantes
153 369 David Ospina Juan Fernando Quintero
151 331 David Luiz
221 462 Federico Fernández Martín Demichelis
125 661 Claudio Marchisio Stephan Lichtsteiner
41 666 Andranik Teymourian Steven Beitashour
118 437 Christian Atsu Majeed Waris
587 706 Ramon Azeez Vincent Enyeama
374 475 Julian Draxler Mats Hummels
633 684 Sead Kolašinac Tino-Sven Sušic
60 552 Antonio Valencia (c) Oswaldo Minda
244 606 Georginio Wijnaldum Robin van Persie (c)
577 687 Philipp Lahm (c) Toni Kroos
382 670 Keisuke Honda Sulley Muntari
4 437 Adam Kwarasey Majeed Waris
75 706 Azubuike Egwuekwe Vincent Enyeama
287 642 Hugo Campagnaro Sergio Agüero
228 595 Fidel Martínez Renato Ibarra
34 256 Alfredo Talavera Giovani dos Santos
468 479 Massimo Luongo Matthew Špiranovic
206 248 Esteban Granados Giancarlo González
12 212 Agustín Orión Ezequiel Lavezzi
464 718 Marvin Chávez Wilson Palacios
18 590 Albert Adomah Rashid Sumaila
103 592 Carlos Peña Raúl Jiménez
35 41 Alireza Haghighi Andranik Teymourian
130 630 Cristián Zapata Santiago Arias
89 474 Boubacar Barry Mathis Bolly
318 546 Javier Hernández Oribe Peralta
33 207 Alexis Sánchez Esteban Paredes
392 405 Kim Chang-soo Kwak Tae-hwi
322 553 Jean-Daniel Akpa-Akpro Ousmane Viera
26 422 Alessio Cerci Lorenzo Insigne
231 717 Frank Lampard Willian
137 599 Daniel Davari Reza Haghighi
147 263 Darijo Srna (c) Gordon Schildenfeld
562 713 Patrice Evra Wayne Rooney
182 579 Edgar Salli Pierre Webó
511 580 Miguel Veloso Rafa Silva
159 474 Didier Drogba (c) Mathis Bolly
93 171 Bruno Alves Dirk Kuyt
301 431 Ivica Olic Luiz Gustavo
35 389 Alireza Haghighi Khosro Heydari
328 426 Jerry Bengtson Luis Garrido
528 618 Nani Rúben Amorim
398 668 Kolo Touré Steven Gerrard (c)
55 624 Ante Rebic Sammir
12 419 Agustín Orión Lionel Messi (c)
415 434 Leighton Baines Luke Shaw
164 685 Diego Costa Toby Alderweireld
366 370 Juan Camilo Zúñiga Juan Guillermo Cuadrado
148 515 Dario Vidošic Mile Jedinak (c)
130 234 Cristián Zapata Fredy Guarín
49 318 Andrés Guardado Javier Hernández
140 375 Daniel Van Buyten Julian Green
183 198 Edin Džeko Emir Spahic (c)
262 320 Gonzalo Jara Jean Beausejour
83 337 Benjamin Moukandjo Joël Matip
636 637 Senad Lulic Senijad Ibricic
425 622 Lucas Digne Salvatore Sirigu
308 642 James Milner Sergio Agüero
27 231 Alex Oxlade-Chamberlain Frank Lampard
231 415 Frank Lampard Leighton Baines
363 649 Joseph Yobo (c) Shola Ameobi
119 448 Christian Bolaños Marco Ureña
9 334 Adrián Bone Joao Rojas
38 121 Álvaro González Christian Stuani
289 331 Hulk
8 677 Adnan Januzaj Thibaut Courtois
35 315 Alireza Haghighi Javad Nekounam (c)
417 606 Leroy Fer Robin van Persie (c)
35 284 Alireza Haghighi Hossein Mahini
13 467 Ahmad Alenemeh Masoud Shojaei
247 570 Ghasem Haddadifar Pejman Montazeri
28 107 Alex Song Cédric Djeugoué
299 539 Ivan Perišic Ognjen Vukojevic
56 179 Anthony Vanden Borre Eden Hazard
221 319 Federico Fernández Javier Mascherano
306 315 Jalal Hosseini Javad Nekounam (c)
327 678 Jérôme Boateng Thomas Müller
323 586 Jefferson Ramires
282 285 Hiroshi Kiyotake Hotaru Yamaguchi
183 184 Edin Džeko Edin Višca
34 49 Alfredo Talavera Andrés Guardado
45 449 Andrea Barzagli Marco Verratti
422 452 Lorenzo Insigne Mario Balotelli
449 728 Marco Verratti Yohan Cabaye
343 550 Johnny Acosta Óscar Duarte
167 463 Diego Lugano (c) Martín Silva
135 643 Dani Alves Sergio Busquets
138 408 Daniel Opare Laurent Ciman
109 550 Celso Borges Óscar Duarte
290 414 Hwang Seok-ho Lee Yong
175 469 Domagoj Vida Mateo Kovacic
14 537 Ahmed Musa Ogenyi Onazi
269 414 Han Kook-young Lee Yong
124 214 Claudio Bravo (c) Fabián Orellana
76 87 Bacary Sagna Blaise Matuidi
481 675 Mattia De Sciglio Thiago Motta
68 242 Asmir Begovic Geoff Cameron
140 577 Daniel Van Buyten Philipp Lahm (c)
386 679 Kevin Mirallas Thomas Vermaelen
531 607 Nicolás Lodeiro Rodrigo Muñoz
519 722 Mohamed Zemmamouche Yacine Brahimi
105 630 Carlos Sánchez Santiago Arias
328 351 Jerry Bengtson Jorge Claros
487 642 Maxi Rodríguez Sergio Agüero
457 554 Mario Yepes (c) Pablo Armero
140 685 Daniel Van Buyten Toby Alderweireld
232 348 Fraser Forster Jordan Henderson
237 478 Gabriel Paletta Matteo Darmian
74 540 Axel Witsel Oleg Shatov
191 324 Egidio Arévalo Ríos Jefferson Montero
433 573 Lukas Podolski Per Mertesacker
34 509 Alfredo Talavera Miguel Ángel Ponce
60 368 Antonio Valencia (c) Juan Carlos Paredes
186 499 Édison Méndez Michael Arroyo
211 450 Ezequiel Garay Marcos Rojo
146 705 Dany Nounkeu Vincent Aboubakar
532 732 Nicolas Lombaerts Yuri Lodygin
392 395 Kim Chang-soo Kim Young-gwon
149 350 Daryl Janmaat Jordy Clasie
8 56 Adnan Januzaj Anthony Vanden Borre
64 209 Arturo Vidal Eugenio Mena
25 640 Aleksei Kozlov Sergei Ignashevich
11 503 Afriyie Acquah Michael Essien
160 281 Didier Ya Konan Hiroki Sakai
446 581 Marco Fabián Rafael Márquez (c)
376 490 Júlio César Maxwell
409 604 Laurent Koscielny Rio Mavuba
45 461 Andrea Barzagli Martín Cáceres
18 664 Albert Adomah Stephen Adams
9 353 Adrián Bone Jorge Guagua
244 507 Georginio Wijnaldum Michel Vorm
198 312 Emir Spahic (c) Jasmin Fejzic
450 451 Marcos Rojo Mariano Andújar
360 378 José Miguel Cubero Júnior Díaz
507 673 Michel Vorm Terence Kongolo
297 726 Ismaël Diomandé Yaya Touré
178 328 Edder Delgado Jerry Bengtson
488 579 Maxim Choupo-Moting Pierre Webó
671 715 Sylvain Gbohouo Wilfried Bony
148 680 Dario Vidošic Tim Cahill
233 490 Fred Maxwell
526 605 Nabil Ghilas Riyad Mahrez
179 625 Eden Hazard Sammy Bossut
441 735 Manabu Saito Yuya Osako
316 375 Javi Martínez Julian Green
33 319 Alexis Sánchez Javier Mascherano
117 242 Chris Wondolowski Geoff Cameron
350 682 Jordy Clasie Tim Krul
319 424 Javier Mascherano Lucas Biglia
463 486 Martín Silva Maxi Pereira
509 564 Miguel Ángel Ponce Paul Aguilar
376 717 Júlio César Willian
142 263 Danijel Pranjic Gordon Schildenfeld
174 243 Dmitri Kombarov Georgi Shchennikov
64 565 Arturo Vidal Paul Pogba
324 552 Jefferson Montero Oswaldo Minda
177 260 Dries Mertens Gökhan Inler (c)
427 456 Luis López Mario Martínez
379 649 Juwon Oshaniwa Shola Ameobi
120 552 Christian Noboa Oswaldo Minda
374 387 Julian Draxler Kevin-Prince Boateng
458 680 Mark Bresciano Tim Cahill
91 265 Brad Guzan Graham Zusi
254 410 Giorgos Samaras Lazaros Christodoulopoulos
117 406 Chris Wondolowski Kyle Beckerman
97 435 Carl Medjani Madjid Bougherra (c)
61 133 Arjen Robben Daley Blind
255 694 Giorgos Tzavellas Vangelis Moras
244 345 Georginio Wijnaldum Jonathan de Guzmán
382 452 Keisuke Honda Mario Balotelli
424 462 Lucas Biglia Martín Demichelis
52 536 Andy Najar Noel Valladares (c)
209 354 Eugenio Mena Jorge Valdivia
309 630 James Rodríguez Santiago Arias
112 362 Charles Aránguiz José Rojas
145 376 Dante Júlio César
32 253 Alexandros Tziolis Giorgos Karagounis (c)
164 677 Diego Costa Thibaut Courtois
254 694 Giorgos Samaras Vangelis Moras
159 715 Didier Drogba (c) Wilfried Bony
410 656 Lazaros Christodoulopoulos Sokratis Papastathopoulos
66 570 Ashkan Dejagah Pejman Montazeri
234 369 Fredy Guarín Juan Fernando Quintero
105 219 Carlos Sánchez Faryd Mondragón
141 436 Daniele De Rossi Maicon
21 51 Aleksandr Kerzhakov Andrey Yeshchenko
366 554 Juan Camilo Zúñiga Pablo Armero
93 601 Bruno Alves Ricardo Costa
70 319 Augusto Fernández Javier Mascherano
32 401 Alexandros Tziolis Kostas Manolas
437 709 Majeed Waris Wakaso Mubarak
271 661 Haris Seferovic Stephan Lichtsteiner
67 688 Asmir Avdukic Toni Šunjic
279 547 Henrique Oscar
130 153 Cristián Zapata David Ospina
11 199 Afriyie Acquah Emmanuel Agyemang-Badu
183 635 Edin Džeko Sejad Salihovic
38 463 Álvaro González Martín Silva
26 478 Alessio Cerci Matteo Darmian
121 430 Christian Stuani Luis Suárez
276 592 Héctor Moreno Raúl Jiménez
169 229 Diego Reyes Francisco Javier Rodríguez
178 536 Edder Delgado Noel Valladares (c)
325 350 Jeremain Lens Jordy Clasie
110 717 César Azpilicueta Willian
95 496 Bryan Ruiz (c) Memphis Depay
167 352 Diego Lugano (c) Jorge Fucile
178 549 Edder Delgado Óscar Boniek García
402 674 Kostas Mitroglou Theofanis Gekas
426 718 Luis Garrido Wilson Palacios
33 214 Alexis Sánchez Fabián Orellana
612 677 Romelu Lukaku Thibaut Courtois
260 690 Gökhan Inler (c) Tranquillo Barnetta
73 636 Avdija Vršajevic Senad Lulic
205 418 Essaïd Belkalem Liassine Cadamuro-Bentaïba
364 578 Josip Drmic Philippe Senderos
252 422 Giorgio Chiellini Lorenzo Insigne
263 660 Gordon Schildenfeld Stefanos Kapino
57 728 Antoine Griezmann Yohan Cabaye
180 277 Éder Hélder Postiga
476 544 Matt Besler Omar Gonzalez
450 555 Marcos Rojo Pablo Zabaleta
446 546 Marco Fabián Oribe Peralta
105 153 Carlos Sánchez David Ospina
223 483 Felipe Gutiérrez Mauricio Isla
390 391 Ki Sung-yueng Kim Bo-kyung
111 720 Cesc Fàbregas Xavi
377 413 Jung Sung-ryong Lee Keun-ho
348 583 Jordan Henderson Raheem Sterling
110 151 César Azpilicueta David Luiz
339 578 Johan Djourou Philippe Senderos
74 707 Axel Witsel Vincent Kompany (c)
27 258 Alex Oxlade-Chamberlain Glen Johnson
285 729 Hotaru Yamaguchi Yoichiro Kakitani
293 695 Igor Denisov Vasili Berezutski (c)
405 413 Kwak Tae-hwi Lee Keun-ho
129 167 Cristian Rodríguez Diego Lugano (c)
302 636 Izet Hajrovic Senad Lulic
447 711 Marco Parolo Walter Gargano
26 141 Alessio Cerci Daniele De Rossi
334 446 Joao Rojas Marco Fabián
283 405 Hong Jeong-ho Kwak Tae-hwi
84 420 Benoît Assou-Ekotto Loïc Feudjou
17 509 Alan Pulido Miguel Ángel Ponce
94 350 Bruno Martins Indi Jordy Clasie
250 356 Giannis Fetfatzidis José Holebas
47 356 Andreas Samaris José Holebas
37 705 Allan Nyom Vincent Aboubakar
56 522 Anthony Vanden Borre Mousa Dembélé
107 210 Cédric Djeugoué Eyong Enoh
14 597 Ahmed Musa Reuben Gabriel
300 539 Ivan Rakitic Ognjen Vukojevic
174 641 Dmitri Kombarov Sergey Ryzhikov
287 419 Hugo Campagnaro Lionel Messi (c)
52 372 Andy Najar Juan Pablo Montes
84 321 Benoît Assou-Ekotto Jean Makoun
248 378 Giancarlo González Júnior Díaz
164 294 Diego Costa Iker Casillas (c)
63 159 Arthur Boka Didier Drogba (c)
310 686 James Troisi Tommy Oar
488 533 Maxim Choupo-Moting Nicolas N'Koulou
403 597 Kunle Odunlami Reuben Gabriel
49 446 Andrés Guardado Marco Fabián
302 688 Izet Hajrovic Toni Šunjic
38 352 Álvaro González Jorge Fucile
438 734 Makoto Hasebe (c) Yuto Nagatomo
116 258 Chris Smalling Glen Johnson
184 516 Edin Višca Miralem Pjanic
431 717 Luiz Gustavo Willian
131 618 Cristiano Ronaldo (c) Rúben Amorim
587 691 Ramon Azeez Uche Nwofor
348 616 Jordan Henderson Ross Barkley
281 647 Hiroki Sakai Shinji Okazaki
123 125 Ciro Immobile Claudio Marchisio
549 718 Óscar Boniek García Wilson Palacios
158 695 Denis Glushakov Vasili Berezutski (c)
388 588 Keylor Navas Randall Brenes
282 689 Hiroshi Kiyotake Toshihiro Aoyama
286 652 Hugo Almeida Silvestre Varela
504 602 Michael Lang Ricardo Rodríguez
15 493 Aïssa Mandi Medhi Lacen
88 602 Blerim Džemaili Ricardo Rodríguez
229 357 Francisco Javier Rodríguez José Juan Vázquez
446 592 Marco Fabián Raúl Jiménez
415 575 Leighton Baines Phil Jagielka
590 670 Rashid Sumaila Sulley Muntari
336 401 Joel Campbell Kostas Manolas
178 464 Edder Delgado Marvin Chávez
395 731 Kim Young-gwon Yun Suk-young
377 411 Jung Sung-ryong Lee Bum-young
111 319 Cesc Fàbregas Javier Mascherano
390 392 Ki Sung-yueng Kim Chang-soo
280 567 Hernanes Paulinho
507 659 Michel Vorm Stefan de Vrij
60 499 Antonio Valencia (c) Michael Arroyo
531 711 Nicolás Lodeiro Walter Gargano
122 678 Christoph Kramer Thomas Müller
111 349 Cesc Fàbregas Jordi Alba
5 576 Adam Lallana Phil Jones
135 676 Dani Alves Thiago Silva (c)
81 458 Ben Halloran Mark Bresciano
339 514 Johan Djourou Milan Badelj
173 493 Djamel Mesbah Medhi Lacen
271 693 Haris Seferovic Valon Behrami
4 18 Adam Kwarasey Albert Adomah
419 608 Lionel Messi (c) Rodrigo Palacio
439 641 Maksim Kanunnikov Sergey Ryzhikov
409 728 Laurent Koscielny Yohan Cabaye
617 712 Roy Miller Waylon Francis
156 365 DeAndre Yedlin Jozy Altidore
275 369 Héctor Herrera Juan Fernando Quintero
428 704 Luís Neto Viktor Fayzulin
126 341 Clint Dempsey (c) John Brooks
77 468 Bailey Wright Massimo Luongo
440 604 Mamadou Sakho Rio Mavuba
50 150 Andrés Iniesta David de Gea
100 309 Carlos Carbonero James Rodríguez
691 702 Uche Nwofor Victor Moses
8 625 Adnan Januzaj Sammy Bossut
24 292 Aleksei Ionov Igor Akinfeev
48 568 Andrei Semyonov Pavel Mogilevets
112 484 Charles Aránguiz Mauricio Pinilla
153 554 David Ospina Pablo Armero
318 564 Javier Hernández Paul Aguilar
436 443 Maicon Marcelo
96 105 Camilo Vargas Carlos Sánchez
143 539 Danijel Subašic Ognjen Vukojevic
148 471 Dario Vidošic Mathew Ryan
280 529 Hernanes Neymar
557 674 Panagiotis Kone Theofanis Gekas
39 191 Álvaro Pereira Egidio Arévalo Ríos
452 622 Mario Balotelli Salvatore Sirigu
411 414 Lee Bum-young Lee Yong
393 411 Kim Seung-gyu Lee Bum-young
264 651 Gotoku Sakai Shusaku Nishikawa
465 734 Masahiko Inoha Yuto Nagatomo
93 188 Bruno Alves Eduardo dos Reis Carvalho
429 710 Luis Saritama Walter Ayoví
22 174 Aleksandr Kokorin Dmitri Kombarov
83 182 Benjamin Moukandjo Edgar Salli
327 433 Jérôme Boateng Lukas Podolski
210 705 Eyong Enoh Vincent Aboubakar
329 427 Jerry Palacios Luis López
120 235 Christian Noboa Frickson Erazo
319 489 Javier Mascherano Máximo Banguera
139 415 Daniel Sturridge Leighton Baines
276 510 Héctor Moreno Miguel Layún
39 531 Álvaro Pereira Nicolás Lodeiro
687 721 Toni Kroos Xherdan Shaqiri
441 725 Manabu Saito Yasuyuki Konno
326 502 Jermaine Jones Michael Bradley
129 397 Cristian Rodríguez Koke
173 218 Djamel Mesbah Faouzi Ghoulam
353 489 Jorge Guagua Máximo Banguera
200 706 Emmanuel Emenike Vincent Enyeama
233 431 Fred Luiz Gustavo
257 671 Giovanni Sio Sylvain Gbohouo
168 557 Diego Pérez Panagiotis Kone
201 305 Enner Valencia Jaime Ayoví
65 387 Asamoah Gyan (c) Kevin-Prince Boateng
61 442 Arjen Robben Manuel Neuer
197 372 Emilio Izaguirre Juan Pablo Montes
578 693 Philippe Senderos Valon Behrami
373 591 Juanfran Raúl Albiol
325 566 Jeremain Lens Paul Verhaegh
140 654 Daniel Van Buyten Simon Mignolet
189 601 Eduardo Vargas Ricardo Costa
259 691 Godfrey Oboabona Uche Nwofor
343 501 Johnny Acosta Michael Barrantes
211 419 Ezequiel Garay Lionel Messi (c)
205 559 Essaïd Belkalem Park Chu-young
211 221 Ezequiel Garay Federico Fernández
232 603 Fraser Forster Rickie Lambert
169 256 Diego Reyes Giovani dos Santos
382 503 Keisuke Honda Michael Essien
478 558 Matteo Darmian Panagiotis Tachtsidis
230 361 Francisco Silva José Pedro Fuenzalida
583 616 Raheem Sterling Ross Barkley
345 396 Jonathan de Guzmán Klaas-Jan Huntelaar
101 320 Carlos Carmona Jean Beausejour
99 100 Carlos Bacca Carlos Carbonero
59 447 Antonio Cassano Marco Parolo
562 576 Patrice Evra Phil Jones
342 597 John Obi Mikel Reuben Gabriel
271 602 Haris Seferovic Ricardo Rodríguez
166 711 Diego Godín Walter Gargano
447 482 Marco Parolo Mattia Perin
99 106 Carlos Bacca Carlos Valdés
8 612 Adnan Januzaj Romelu Lukaku
226 531 Fernando Muslera Nicolás Lodeiro
372 700 Juan Pablo Montes Víctor Bernárdez
553 632 Ousmane Viera Sayouba Mandé
81 208 Ben Halloran Eugene Galekovic
234 631 Fredy Guarín Saphir Taïder
329 615 Jerry Palacios Rony Martínez
116 232 Chris Smalling Fraser Forster
104 256 Carlos Salcido Giovani dos Santos
179 532 Eden Hazard Nicolas Lombaerts
369 672 Juan Fernando Quintero Teófilo Gutiérrez
167 531 Diego Lugano (c) Nicolás Lodeiro
251 356 Giannis Maniatis José Holebas
303 713 Jack Wilshere Wayne Rooney
34 446 Alfredo Talavera Marco Fabián
295 546 Isaác Brizuela Oribe Peralta
730 735 Yoshito Okubo Yuya Osako
171 496 Dirk Kuyt Memphis Depay
37 420 Allan Nyom Loïc Feudjou
184 524 Edin Višca Muhamed Bešic
11 138 Afriyie Acquah Daniel Opare
327 454 Jérôme Boateng Mario Götze
117 326 Chris Wondolowski Jermaine Jones
144 335 Danny Welbeck Joe Hart
19 291 Alberto Aquilani Ignazio Abate
274 582 Hassan Yebda Rafik Halliche
150 227 David de Gea Fernando Torres
193 725 Eiji Kawashima Yasuyuki Konno
200 505 Emmanuel Emenike Michael Uchebo
462 608 Martín Demichelis Rodrigo Palacio
16 640 Alan Dzagoev Sergei Ignashevich
479 680 Matthew Špiranovic Tim Cahill
438 735 Makoto Hasebe (c) Yuya Osako
257 715 Giovanni Sio Wilfried Bony
109 128 Celso Borges Cristian Gamboa
157 539 Dejan Lovren Ognjen Vukojevic
419 450 Lionel Messi (c) Marcos Rojo
227 719 Fernando Torres Xabi Alonso
349 572 Jordi Alba Pepe Reina
14 649 Ahmed Musa Shola Ameobi
282 364 Hiroshi Kiyotake Josip Drmic
38 58 Álvaro González Antonio Candreva
520 709 Mohammed Rabiu Wakaso Mubarak
220 590 Fatau Dauda Rashid Sumaila
14 505 Ahmed Musa Michael Uchebo
69 651 Atsuto Uchida Shusaku Nishikawa
6 29 Adam Taggart Alex Wilkinson
111 419 Cesc Fàbregas Lionel Messi (c)
238 547 Gary Cahill Oscar
371 629 Juan Mata Santi Cazorla
342 363 John Obi Mikel Joseph Yobo (c)
35 40 Alireza Haghighi Amir Hossein Sadeghi
371 397 Juan Mata Koke
55 187 Ante Rebic Eduardo da Silva
411 559 Lee Bum-young Park Chu-young
108 605 Cédric Si Mohamed Riyad Mahrez
54 462 Ángel di María Martín Demichelis
190 587 Efe Ambrose Ramon Azeez
58 59 Antonio Candreva Antonio Cassano
434 521 Luke Shaw Morgan Schneiderlin
17 275 Alan Pulido Héctor Herrera
190 649 Efe Ambrose Shola Ameobi
69 734 Atsuto Uchida Yuto Nagatomo
139 303 Daniel Sturridge Jack Wilshere
325 511 Jeremain Lens Miguel Veloso
196 275 Eliaquim Mangala Héctor Herrera
85 289 Bernard Hulk
347 404 Jordan Ayew Kwadwo Asamoah
151 567 David Luiz Paulinho
224 323 Fernandinho Jefferson
57 565 Antoine Griezmann Paul Pogba
80 713 Ben Foster Wayne Rooney
245 316 Gerard Piqué Javi Martínez
491 603 Maya Yoshida Rickie Lambert
397 685 Koke Toby Alderweireld
14 403 Ahmed Musa Kunle Odunlami
287 424 Hugo Campagnaro Lucas Biglia
551 700 Osman Chávez Víctor Bernárdez
385 498 Kevin Großkreutz Mesut Özil
172 408 Divock Origi Laurent Ciman
472 589 Mathieu Debuchy Raphaël Varane
350 606 Jordy Clasie Robin van Persie (c)
288 440 Hugo Lloris (c) Mamadou Sakho
261 487 Gonzalo Higuaín Maxi Rodríguez
314 673 Jasper Cillessen Terence Kongolo
136 360 Daniel Cambronero José Miguel Cubero
345 496 Jonathan de Guzmán Memphis Depay
206 378 Esteban Granados Júnior Díaz
108 722 Cédric Si Mohamed Yacine Brahimi
466 734 Masato Morishige Yuto Nagatomo
377 658 Jung Sung-ryong Son Heung-min
66 495 Ashkan Dejagah Mehrdad Pouladi
68 204 Asmir Begovic Ermin Bicakcic
314 613 Jasper Cillessen Ron Vlaar
407 420 Landry N'Guémo Loïc Feudjou
318 460 Javier Hernández Marouane Fellaini
101 223 Carlos Carmona Felipe Gutiérrez
287 600 Hugo Campagnaro Ricardo Álvarez
268 399 Ha Dae-sung Koo Ja-cheol (c)
523 663 Moussa Sissoko Stéphane Ruffier
543 679 Olivier Giroud Thomas Vermaelen
61 417 Arjen Robben Leroy Fer
223 320 Felipe Gutiérrez Jean Beausejour
58 252 Antonio Candreva Giorgio Chiellini
100 370 Carlos Carbonero Juan Guillermo Cuadrado
143 432 Danijel Subašic Luka Modric
150 562 David de Gea Patrice Evra
54 623 Ángel di María Sami Khedira
140 454 Daniel Van Buyten Mario Götze
490 567 Maxwell Paulinho
563 617 Patrick Pemberton Roy Miller
517 537 Miroslav Klose Ogenyi Onazi
453 578 Mario Gavranovic Philippe Senderos
413 559 Lee Keun-ho Park Chu-young
73 497 Avdija Vršajevic Mensur Mujdža
144 576 Danny Welbeck Phil Jones
424 450 Lucas Biglia Marcos Rojo
446 509 Marco Fabián Miguel Ángel Ponce
72 505 Austin Ejide Michael Uchebo
249 565 Gianluigi Buffon (c) Paul Pogba
284 666 Hossein Mahini Steven Beitashour
110 111 César Azpilicueta Cesc Fàbregas
448 550 Marco Ureña Óscar Duarte
316 373 Javi Martínez Juanfran
196 521 Eliaquim Mangala Morgan Schneiderlin
164 569 Diego Costa Pedro
395 412 Kim Young-gwon Lee Chung-yong
4 346 Adam Kwarasey Jonathan Mensah
218 422 Faouzi Ghoulam Lorenzo Insigne
36 284 Alireza Jahanbakhsh Hossein Mahini
224 707 Fernandinho Vincent Kompany (c)
8 713 Adnan Januzaj Wayne Rooney
337 374 Joël Matip Julian Draxler
320 367 Jean Beausejour Juan Carlos García
15 173 Aïssa Mandi Djamel Mesbah
221 279 Federico Fernández Henrique
361 362 José Pedro Fuenzalida José Rojas
571 618 Pepe Rúben Amorim
329 456 Jerry Palacios Mario Martínez
417 673 Leroy Fer Terence Kongolo
250 653 Giannis Fetfatzidis Šime Vrsaljko
309 554 James Rodríguez Pablo Armero
107 217 Cédric Djeugoué Fabrice Olinga
140 442 Daniel Van Buyten Manuel Neuer
92 464 Brayan Beckeles Marvin Chávez
86 511 Beto Miguel Veloso
602 703 Ricardo Rodríguez Vieirinha
302 516 Izet Hajrovic Miralem Pjanic
140 625 Daniel Van Buyten Sammy Bossut
494 519 Mehdi Mostefa Mohamed Zemmamouche
521 589 Morgan Schneiderlin Raphaël Varane
149 507 Daryl Janmaat Michel Vorm
78 584 Bakhtiar Rahmani Rahman Ahmadi
17 276 Alan Pulido Héctor Moreno
340 709 John Boye Wakaso Mubarak
19 482 Alberto Aquilani Mattia Perin
318 713 Javier Hernández Wayne Rooney
180 571 Éder Pepe
31 304 Alexander Mejía Jackson Martínez
12 211 Agustín Orión Ezequiel Garay
269 411 Han Kook-young Lee Bum-young
81 470 Ben Halloran Mathew Leckie
18 503 Albert Adomah Michael Essien
322 398 Jean-Daniel Akpa-Akpro Kolo Touré
73 270 Avdija Vršajevic Haris Medunjanin
12 358 Agustín Orión José María Basanta
91 683 Brad Guzan Timothy Chandler
247 495 Ghasem Haddadifar Mehrdad Pouladi
382 466 Keisuke Honda Masato Morishige
433 679 Lukas Podolski Thomas Vermaelen
382 646 Keisuke Honda Shinji Kagawa
574 597 Peter Odemwingie Reuben Gabriel
51 174 Andrey Yeshchenko Dmitri Kombarov
215 690 Fabian Schär Tranquillo Barnetta
411 413 Lee Bum-young Lee Keun-ho
489 710 Máximo Banguera Walter Ayoví
10 31 Adrián Ramos Alexander Mejía
263 469 Gordon Schildenfeld Mateo Kovacic
218 605 Faouzi Ghoulam Riyad Mahrez
236 368 Gabriel Achilier Juan Carlos Paredes
367 456 Juan Carlos García Mario Martínez
212 600 Ezequiel Lavezzi Ricardo Álvarez
86 703 Beto Vieirinha
31 234 Alexander Mejía Fredy Guarín
183 497 Edin Džeko Mensur Mujdža
2 96 Abel Aguilar Camilo Vargas
114 485 Cheick Tioté Max Gradel
224 586 Fernandinho Ramires
133 149 Daley Blind Daryl Janmaat
553 726 Ousmane Viera Yaya Touré
403 500 Kunle Odunlami Michael Babatunde
189 362 Eduardo Vargas José Rojas
233 436 Fred Maicon
61 566 Arjen Robben Paul Verhaegh
42 333 André Almeida João Pereira
155 371 David Villa Juan Mata
426 427 Luis Garrido Luis López
472 594 Mathieu Debuchy Rémy Cabella
152 712 David Myrie Waylon Francis
206 336 Esteban Granados Joel Campbell
507 606 Michel Vorm Robin van Persie (c)
308 668 James Milner Steven Gerrard (c)
651 730 Shusaku Nishikawa Yoshito Okubo
44 498 André Schürrle Mesut Özil
61 454 Arjen Robben Mario Götze
333 655 João Pereira Sofiane Feghouli
517 623 Miroslav Klose Sami Khedira
26 58 Alessio Cerci Antonio Candreva
110 154 César Azpilicueta David Silva
480 648 Matthias Ginter Shkodran Mustafi
396 673 Klaas-Jan Huntelaar Terence Kongolo
85 147 Bernard Darijo Srna (c)
47 557 Andreas Samaris Panagiotis Kone
127 632 Constant Djakpa Sayouba Mandé
163 336 Diego Calvo Joel Campbell
283 566 Hong Jeong-ho Paul Verhaegh
85 529 Bernard Neymar
161 621 Didier Zokora Salomon Kalou
197 492 Emilio Izaguirre Maynor Figueroa
139 232 Daniel Sturridge Fraser Forster
252 404 Giorgio Chiellini Kwadwo Asamoah
151 627 David Luiz Samuel Eto'o (c)
185 212 Edinson Cavani Ezequiel Lavezzi
167 486 Diego Lugano (c) Maxi Pereira
311 625 Jan Vertonghen Sammy Bossut
503 534 Michael Essien Nigel de Jong
333 703 João Pereira Vieirinha
92 367 Brayan Beckeles Juan Carlos García
60 528 Antonio Valencia (c) Nani
303 668 Jack Wilshere Steven Gerrard (c)
45 416 Andrea Barzagli Leonardo Bonucci
355 509 José de Jesús Corona Miguel Ángel Ponce
118 404 Christian Atsu Kwadwo Asamoah
106 672 Carlos Valdés Teófilo Gutiérrez
463 711 Martín Silva Walter Gargano
37 278 Allan Nyom Henri Bedimo
162 693 Diego Benaglio Valon Behrami
169 526 Diego Reyes Nabil Ghilas
294 316 Iker Casillas (c) Javi Martínez
81 474 Ben Halloran Mathis Bolly
62 117 Aron Jóhannsson Chris Wondolowski
65 220 Asamoah Gyan (c) Fatau Dauda
290 412 Hwang Seok-ho Lee Chung-yong
221 261 Federico Fernández Gonzalo Higuaín
264 697 Gotoku Sakai Vedad Ibiševic
660 674 Stefanos Kapino Theofanis Gekas
54 287 Ángel di María Hugo Campagnaro
149 171 Daryl Janmaat Dirk Kuyt
87 425 Blaise Matuidi Lucas Digne
64 484 Arturo Vidal Mauricio Pinilla
390 412 Ki Sung-yueng Lee Chung-yong
237 447 Gabriel Paletta Marco Parolo
342 537 John Obi Mikel Ogenyi Onazi
644 719 Sergio Ramos Xabi Alonso
29 686 Alex Wilkinson Tommy Oar
155 373 David Villa Juanfran
117 476 Chris Wondolowski Matt Besler
239 483 Gary Medel Mauricio Isla
206 343 Esteban Granados Johnny Acosta
56 532 Anthony Vanden Borre Nicolas Lombaerts
207 354 Esteban Paredes Jorge Valdivia
271 665 Haris Seferovic Steve von Bergen
684 736 Tino-Sven Sušic Zvjezdan Misimovic
114 621 Cheick Tioté Salomon Kalou
153 370 David Ospina Juan Guillermo Cuadrado
278 420 Henri Bedimo Loïc Feudjou
10 370 Adrián Ramos Juan Guillermo Cuadrado
74 140 Axel Witsel Daniel Van Buyten
49 104 Andrés Guardado Carlos Salcido
333 580 João Pereira Rafa Silva
384 612 Kevin De Bruyne Romelu Lukaku
222 368 Felipe Caicedo Juan Carlos Paredes
101 512 Carlos Carmona Miiko Albornoz
529 567 Neymar Paulinho
127 161 Constant Djakpa Didier Zokora
101 189 Carlos Carmona Eduardo Vargas
168 634 Diego Pérez Sebastián Coates
245 419 Gerard Piqué Lionel Messi (c)
191 240 Egidio Arévalo Ríos Gastón Ramírez
199 628 Emmanuel Agyemang-Badu Samuel Inkoom
346 347 Jonathan Mensah Jordan Ayew
267 357 Guillermo Ochoa José Juan Vázquez
15 205 Aïssa Mandi Essaïd Belkalem
18 346 Albert Adomah Jonathan Mensah
234 469 Fredy Guarín Mateo Kovacic
348 576 Jordan Henderson Phil Jones
151 586 David Luiz Ramires
215 596 Fabian Schär Reto Ziegler
177 707 Dries Mertens Vincent Kompany (c)
231 342 Frank Lampard John Obi Mikel
330 392 Ji Dong-won Kim Chang-soo
20 326 Alejandro Bedoya Jermaine Jones
351 718 Jorge Claros Wilson Palacios
429 499 Luis Saritama Michael Arroyo
523 589 Moussa Sissoko Raphaël Varane
101 344 Carlos Carmona Johnny Herrera
128 136 Cristian Gamboa Daniel Cambronero
350 714 Jordy Clasie Wesley Sneijder
135 586 Dani Alves Ramires
417 682 Leroy Fer Tim Krul
67 204 Asmir Avdukic Ermin Bicakcic
394 561 Kim Shin-wook Park Joo-ho
333 716 João Pereira William Carvalho
447 449 Marco Parolo Marco Verratti
528 703 Nani Vieirinha
131 571 Cristiano Ronaldo (c) Pepe
137 315 Daniel Davari Javad Nekounam (c)
1 493 Abdelmoumene Djabou Medhi Lacen
224 431 Fernandinho Luiz Gustavo
341 375 John Brooks Julian Green
203 475 Erik Durm Mats Hummels
441 491 Manabu Saito Maya Yoshida
415 681 Leighton Baines Tim Howard
14 587 Ahmed Musa Ramon Azeez
33 429 Alexis Sánchez Luis Saritama
277 703 Hélder Postiga Vieirinha
248 727 Giancarlo González Yeltsin Tejeda
270 516 Haris Medunjanin Miralem Pjanic
430 654 Luis Suárez Simon Mignolet
87 604 Blaise Matuidi Rio Mavuba
234 309 Fredy Guarín James Rodríguez
204 688 Ermin Bicakcic Toni Šunjic
116 318 Chris Smalling Javier Hernández
375 502 Julian Green Michael Bradley
359 461 José María Giménez Martín Cáceres
294 719 Iker Casillas (c) Xabi Alonso
396 659 Klaas-Jan Huntelaar Stefan de Vrij
162 260 Diego Benaglio Gökhan Inler (c)
93 511 Bruno Alves Miguel Veloso
85 280 Bernard Hernanes
591 643 Raúl Albiol Sergio Busquets
463 634 Martín Silva Sebastián Coates
352 430 Jorge Fucile Luis Suárez
199 520 Emmanuel Agyemang-Badu Mohammed Rabiu
380 467 Karim Ansarifard Masoud Shojaei
86 619 Beto Rui Patrício
59 291 Antonio Cassano Ignazio Abate
169 276 Diego Reyes Héctor Moreno
1 418 Abdelmoumene Djabou Liassine Cadamuro-Bentaïba
297 632 Ismaël Diomandé Sayouba Mandé
458 479 Mark Bresciano Matthew Špiranovic
223 512 Felipe Gutiérrez Miiko Albornoz
79 374 Bastian Schweinsteiger Julian Draxler
47 253 Andreas Samaris Giorgos Karagounis (c)
212 225 Ezequiel Lavezzi Fernando Gago
186 235 Édison Méndez Frickson Erazo
12 225 Agustín Orión Fernando Gago
128 617 Cristian Gamboa Roy Miller
80 415 Ben Foster Leighton Baines
193 438 Eiji Kawashima Makoto Hasebe (c)
477 686 Matt McKay Tommy Oar
308 415 James Milner Leighton Baines
60 318 Antonio Valencia (c) Javier Hernández
572 720 Pepe Reina Xavi
585 631 Raïs M'Bolhi Saphir Taïder
275 446 Héctor Herrera Marco Fabián
625 677 Sammy Bossut Thibaut Courtois
182 337 Edgar Salli Joël Matip
410 660 Lazaros Christodoulopoulos Stefanos Kapino
21 695 Aleksandr Kerzhakov Vasili Berezutski (c)
215 504 Fabian Schär Michael Lang
132 223 Cristopher Toselli Felipe Gutiérrez
109 712 Celso Borges Waylon Francis
40 273 Amir Hossein Sadeghi Hashem Beikzadeh
46 123 Andrea Pirlo Ciro Immobile
8 707 Adnan Januzaj Vincent Kompany (c)
7 364 Admir Mehmedi Josip Drmic
408 707 Laurent Ciman Vincent Kompany (c)
227 572 Fernando Torres Pepe Reina
89 638 Boubacar Barry Serey Die
22 704 Aleksandr Kokorin Viktor Fayzulin
193 647 Eiji Kawashima Shinji Okazaki
493 526 Medhi Lacen Nabil Ghilas
218 631 Faouzi Ghoulam Saphir Taïder
60 548 Antonio Valencia (c) Óscar Bagüí
162 703 Diego Benaglio Vieirinha
195 722 El Arbi Hillel Soudani Yacine Brahimi
129 607 Cristian Rodríguez Rodrigo Muñoz
192 273 Ehsan Hajsafi Hashem Beikzadeh
63 657 Arthur Boka Sol Bamba
359 711 José María Giménez Walter Gargano
240 352 Gastón Ramírez Jorge Fucile
368 419 Juan Carlos Paredes Lionel Messi (c)
125 447 Claudio Marchisio Marco Parolo
88 221 Blerim Džemaili Federico Fernández
425 521 Lucas Digne Morgan Schneiderlin
83 626 Benjamin Moukandjo Sammy N'Djock
13 36 Ahmad Alenemeh Alireza Jahanbakhsh
346 437 Jonathan Mensah Majeed Waris
231 434 Frank Lampard Luke Shaw
671 726 Sylvain Gbohouo Yaya Touré
72 537 Austin Ejide Ogenyi Onazi
279 586 Henrique Ramires
121 167 Christian Stuani Diego Lugano (c)
33 569 Alexis Sánchez Pedro
120 324 Christian Noboa Jefferson Montero
38 636 Álvaro González Senad Lulic
472 543 Mathieu Debuchy Olivier Giroud
129 168 Cristian Rodríguez Diego Pérez
4 11 Adam Kwarasey Afriyie Acquah
87 508 Blaise Matuidi Mickaël Landreau
421 589 Loïc Rémy Raphaël Varane
107 627 Cédric Djeugoué Samuel Eto'o (c)
39 486 Álvaro Pereira Maxi Pereira
282 646 Hiroshi Kiyotake Shinji Kagawa
47 401 Andreas Samaris Kostas Manolas
291 382 Ignazio Abate Keisuke Honda
393 399 Kim Seung-gyu Koo Ja-cheol (c)
90 91 Brad Davis Brad Guzan
89 114 Boubacar Barry Cheick Tioté
221 260 Federico Fernández Gökhan Inler (c)
54 443 Ángel di María Marcelo
548 595 Óscar Bagüí Renato Ibarra
202 212 Enzo Pérez Ezequiel Lavezzi
157 542 Dejan Lovren Oliver Zelenika
228 236 Fidel Martínez Gabriel Achilier
185 607 Edinson Cavani Rodrigo Muñoz
333 428 João Pereira Luís Neto
51 293 Andrey Yeshchenko Igor Denisov
62 544 Aron Jóhannsson Omar Gonzalez
22 243 Aleksandr Kokorin Georgi Shchennikov
157 698 Dejan Lovren Vedran Corluka
196 440 Eliaquim Mangala Mamadou Sakho
152 550 David Myrie Óscar Duarte
95 563 Bryan Ruiz (c) Patrick Pemberton
269 330 Han Kook-young Ji Dong-won
192 467 Ehsan Hajsafi Masoud Shojaei
182 321 Edgar Salli Jean Makoun
285 730 Hotaru Yamaguchi Yoshito Okubo
604 728 Rio Mavuba Yohan Cabaye
139 348 Daniel Sturridge Jordan Henderson
177 460 Dries Mertens Marouane Fellaini
396 507 Klaas-Jan Huntelaar Michel Vorm
170 656 Dimitris Salpingidis Sokratis Papastathopoulos
325 534 Jeremain Lens Nigel de Jong
321 662 Jean Makoun Stéphane Mbia
540 733 Oleg Shatov Yuri Zhirkov
646 729 Shinji Kagawa Yoichiro Kakitani
485 553 Max Gradel Ousmane Viera
28 217 Alex Song Fabrice Olinga
196 409 Eliaquim Mangala Laurent Koscielny
105 554 Carlos Sánchez Pablo Armero
179 342 Eden Hazard John Obi Mikel
125 481 Claudio Marchisio Mattia De Sciglio
140 408 Daniel Van Buyten Laurent Ciman
188 601 Eduardo dos Reis Carvalho Ricardo Costa
349 371 Jordi Alba Juan Mata
64 361 Arturo Vidal José Pedro Fuenzalida
656 694 Sokratis Papastathopoulos Vangelis Moras
66 137 Ashkan Dejagah Daniel Davari
7 162 Admir Mehmedi Diego Benaglio
51 704 Andrey Yeshchenko Viktor Fayzulin
74 408 Axel Witsel Laurent Ciman
72 587 Austin Ejide Ramon Azeez
606 659 Robin van Persie (c) Stefan de Vrij
212 728 Ezequiel Lavezzi Yohan Cabaye
65 628 Asamoah Gyan (c) Samuel Inkoom
283 391 Hong Jeong-ho Kim Bo-kyung
150 569 David de Gea Pedro
149 244 Daryl Janmaat Georginio Wijnaldum
229 275 Francisco Javier Rodríguez Héctor Herrera
166 463 Diego Godín Martín Silva
424 555 Lucas Biglia Pablo Zabaleta
126 242 Clint Dempsey (c) Geoff Cameron
228 235 Fidel Martínez Frickson Erazo
175 514 Domagoj Vida Milan Badelj
27 543 Alex Oxlade-Chamberlain Olivier Giroud
535 698 Nikica Jelavic Vedran Corluka
264 735 Gotoku Sakai Yuya Osako
358 419 José María Basanta Lionel Messi (c)
662 705 Stéphane Mbia Vincent Aboubakar
266 661 Granit Xhaka Stephan Lichtsteiner
108 493 Cédric Si Mohamed Medhi Lacen
519 526 Mohamed Zemmamouche Nabil Ghilas
143 514 Danijel Subašic Milan Badelj
460 707 Marouane Fellaini Vincent Kompany (c)
349 373 Jordi Alba Juanfran
440 702 Mamadou Sakho Victor Moses
232 303 Fraser Forster Jack Wilshere
328 536 Jerry Bengtson Noel Valladares (c)
156 326 DeAndre Yedlin Jermaine Jones
153 234 David Ospina Fredy Guarín
9 548 Adrián Bone Óscar Bagüí
221 693 Federico Fernández Valon Behrami
161 297 Didier Zokora Ismaël Diomandé
419 424 Lionel Messi (c) Lucas Biglia
97 582 Carl Medjani Rafik Halliche
145 436 Dante Maicon
545 660 Orestis Karnezis Stefanos Kapino
186 429 Édison Méndez Luis Saritama
426 549 Luis Garrido Óscar Boniek García
381 623 Karim Benzema Sami Khedira
313 515 Jason Davidson Mile Jedinak (c)
538 637 Ognjen Vranješ Senijad Ibricic
681 683 Tim Howard Timothy Chandler
345 673 Jonathan de Guzmán Terence Kongolo
237 291 Gabriel Paletta Ignazio Abate
62 476 Aron Jóhannsson Matt Besler
182 217 Edgar Salli Fabrice Olinga
532 707 Nicolas Lombaerts Vincent Kompany (c)
390 414 Ki Sung-yueng Lee Yong
139 668 Daniel Sturridge Steven Gerrard (c)
161 639 Didier Zokora Serge Aurier
71 113 Aurélien Chedjou Charles Itandje
222 324 Felipe Caicedo Jefferson Montero
6 515 Adam Taggart Mile Jedinak (c)
430 463 Luis Suárez Martín Silva
165 729 Diego Forlán Yoichiro Kakitani
260 279 Gökhan Inler (c) Henrique
421 521 Loïc Rémy Morgan Schneiderlin
162 241 Diego Benaglio Gelson Fernandes
40 467 Amir Hossein Sadeghi Masoud Shojaei
61 396 Arjen Robben Klaas-Jan Huntelaar
397 591 Koke Raúl Albiol
43 628 André Ayew Samuel Inkoom
227 349 Fernando Torres Jordi Alba
260 692 Gökhan Inler (c) Valentin Stocker
11 237 Afriyie Acquah Gabriel Paletta
147 542 Darijo Srna (c) Oliver Zelenika
81 307 Ben Halloran James Holland
240 463 Gastón Ramírez Martín Silva
380 584 Karim Ansarifard Rahman Ahmadi
444 539 Marcelo Brozovic Ognjen Vukojevic
282 734 Hiroshi Kiyotake Yuto Nagatomo
79 498 Bastian Schweinsteiger Mesut Özil
11 387 Afriyie Acquah Kevin-Prince Boateng
190 500 Efe Ambrose Michael Babatunde
171 593 Dirk Kuyt Raul Meireles
120 353 Christian Noboa Jorge Guagua
340 503 John Boye Michael Essien
36 247 Alireza Jahanbakhsh Ghasem Haddadifar
57 543 Antoine Griezmann Olivier Giroud
314 396 Jasper Cillessen Klaas-Jan Huntelaar
102 228 Carlos Gruezo Fidel Martínez
302 684 Izet Hajrovic Tino-Sven Sušic
603 616 Rickie Lambert Ross Barkley
196 352 Eliaquim Mangala Jorge Fucile
612 685 Romelu Lukaku Toby Alderweireld
92 351 Brayan Beckeles Jorge Claros
218 655 Faouzi Ghoulam Sofiane Feghouli
282 729 Hiroshi Kiyotake Yoichiro Kakitani
13 315 Ahmad Alenemeh Javad Nekounam (c)
208 313 Eugene Galekovic Jason Davidson
42 571 André Almeida Pepe
55 370 Ante Rebic Juan Guillermo Cuadrado
168 711 Diego Pérez Walter Gargano
43 220 André Ayew Fatau Dauda
221 572 Federico Fernández Pepe Reina
250 253 Giannis Fetfatzidis Giorgos Karagounis (c)
29 468 Alex Wilkinson Massimo Luongo
190 194 Efe Ambrose Ejike Uzoenyi
159 161 Didier Drogba (c) Didier Zokora
147 624 Darijo Srna (c) Sammir
249 416 Gianluigi Buffon (c) Leonardo Bonucci
10 304 Adrián Ramos Jackson Martínez
172 685 Divock Origi Toby Alderweireld
242 530 Geoff Cameron Nick Rimando
33 132 Alexis Sánchez Cristopher Toselli
419 529 Lionel Messi (c) Neymar
95 360 Bryan Ruiz (c) José Miguel Cubero
30 60 Alexander Domínguez Antonio Valencia (c)
487 608 Maxi Rodríguez Rodrigo Palacio
254 255 Giorgos Samaras Giorgos Tzavellas
178 351 Edder Delgado Jorge Claros
50 569 Andrés Iniesta Pedro
475 611 Mats Hummels Roman Weidenfeller
126 365 Clint Dempsey (c) Jozy Altidore
71 159 Aurélien Chedjou Didier Drogba (c)
427 615 Luis López Rony Martínez
58 422 Antonio Candreva Lorenzo Insigne
33 189 Alexis Sánchez Eduardo Vargas
302 497 Izet Hajrovic Mensur Mujdža
475 656 Mats Hummels Sokratis Papastathopoulos
367 492 Juan Carlos García Maynor Figueroa
646 689 Shinji Kagawa Toshihiro Aoyama
334 595 Joao Rojas Renato Ibarra
138 340 Daniel Opare John Boye
201 228 Enner Valencia Fidel Martínez
575 713 Phil Jagielka Wayne Rooney
71 302 Aurélien Chedjou Izet Hajrovic
3 167 Abel Hernández Diego Lugano (c)
285 651 Hotaru Yamaguchi Shusaku Nishikawa
113 182 Charles Itandje Edgar Salli
223 354 Felipe Gutiérrez Jorge Valdivia
589 594 Raphaël Varane Rémy Cabella
431 703 Luiz Gustavo Vieirinha
22 293 Aleksandr Kokorin Igor Denisov
337 407 Joël Matip Landry N'Guémo
128 563 Cristian Gamboa Patrick Pemberton
88 364 Blerim Džemaili Josip Drmic
346 709 Jonathan Mensah Wakaso Mubarak
26 237 Alessio Cerci Gabriel Paletta
109 617 Celso Borges Roy Miller
198 270 Emir Spahic (c) Haris Medunjanin
450 600 Marcos Rojo Ricardo Álvarez
338 613 Joël Veltman Ron Vlaar
313 686 Jason Davidson Tommy Oar
569 591 Pedro Raúl Albiol
500 587 Michael Babatunde Ramon Azeez
390 560 Ki Sung-yueng Park Jong-woo
215 665 Fabian Schär Steve von Bergen
274 435 Hassan Yebda Madjid Bougherra (c)
28 245 Alex Song Gerard Piqué
6 620 Adam Taggart Ryan McGowan
34 357 Alfredo Talavera José Juan Vázquez
6 468 Adam Taggart Massimo Luongo
646 647 Shinji Kagawa Shinji Okazaki
513 683 Mikkel Diskerud Timothy Chandler
668 702 Steven Gerrard (c) Victor Moses
468 470 Massimo Luongo Mathew Leckie
528 716 Nani William Carvalho
465 729 Masahiko Inoha Yoichiro Kakitani
659 673 Stefan de Vrij Terence Kongolo
139 231 Daniel Sturridge Frank Lampard
166 486 Diego Godín Maxi Pereira
77 515 Bailey Wright Mile Jedinak (c)
8 522 Adnan Januzaj Mousa Dembélé
331 547 Oscar
144 371 Danny Welbeck Juan Mata
196 604 Eliaquim Mangala Rio Mavuba
60 371 Antonio Valencia (c) Juan Mata
42 180 André Almeida Éder
452 670 Mario Balotelli Sulley Muntari
497 736 Mensur Mujdža Zvjezdan Misimovic
132 445 Cristopher Toselli Marcelo Díaz
487 555 Maxi Rodríguez Pablo Zabaleta
308 726 James Milner Yaya Touré
573 678 Per Mertesacker Thomas Müller
110 627 César Azpilicueta Samuel Eto'o (c)
74 177 Axel Witsel Dries Mertens
110 643 César Azpilicueta Sergio Busquets
442 498 Manuel Neuer Mesut Özil
352 652 Jorge Fucile Silvestre Varela
216 443 Fábio Coentrão Marcelo
553 638 Ousmane Viera Serey Die
289 428 Hulk Luís Neto
155 644 David Villa Sergio Ramos
477 541 Matt McKay Oliver Bozanic
189 209 Eduardo Vargas Eugenio Mena
281 646 Hiroki Sakai Shinji Kagawa
329 549 Jerry Palacios Óscar Boniek García
71 337 Aurélien Chedjou Joël Matip
211 424 Ezequiel Garay Lucas Biglia
260 591 Gökhan Inler (c) Raúl Albiol
475 648 Mats Hummels Shkodran Mustafi
46 249 Andrea Pirlo Gianluigi Buffon (c)
84 337 Benoît Assou-Ekotto Joël Matip
285 647 Hotaru Yamaguchi Shinji Okazaki
532 654 Nicolas Lombaerts Simon Mignolet
451 645 Mariano Andújar Sergio Romero
450 645 Marcos Rojo Sergio Romero
254 400 Giorgos Samaras Kostas Katsouranis
347 387 Jordan Ayew Kevin-Prince Boateng
242 681 Geoff Cameron Tim Howard
32 170 Alexandros Tziolis Dimitris Salpingidis
31 457 Alexander Mejía Mario Yepes (c)
58 424 Antonio Candreva Lucas Biglia
3 463 Abel Hernández Martín Silva
268 393 Ha Dae-sung Kim Seung-gyu
92 718 Brayan Beckeles Wilson Palacios
695 708 Vasili Berezutski (c) Vladimir Granat
524 697 Muhamed Bešic Vedad Ibiševic
322 657 Jean-Daniel Akpa-Akpro Sol Bamba
381 523 Karim Benzema Moussa Sissoko
42 511 André Almeida Miguel Veloso
58 478 Antonio Candreva Matteo Darmian
275 581 Héctor Herrera Rafael Márquez (c)
155 569 David Villa Pedro
540 704 Oleg Shatov Viktor Fayzulin
82 433 Benedikt Höwedes Lukas Podolski
140 677 Daniel Van Buyten Thibaut Courtois
433 614 Lukas Podolski Ron-Robert Zieler
194 574 Ejike Uzoenyi Peter Odemwingie
62 326 Aron Jóhannsson Jermaine Jones
356 694 José Holebas Vangelis Moras
377 412 Jung Sung-ryong Lee Chung-yong
342 505 John Obi Mikel Michael Uchebo
153 701 David Ospina Víctor Ibarbo
278 533 Henri Bedimo Nicolas N'Koulou
348 668 Jordan Henderson Steven Gerrard (c)
336 506 Joel Campbell Michael Umaña
530 544 Nick Rimando Omar Gonzalez
310 468 James Troisi Massimo Luongo
429 595 Luis Saritama Renato Ibarra
207 320 Esteban Paredes Jean Beausejour
492 700 Maynor Figueroa Víctor Bernárdez
23 640 Aleksandr Samedov Sergei Ignashevich
32 400 Alexandros Tziolis Kostas Katsouranis
232 713 Fraser Forster Wayne Rooney
233 676 Fred Thiago Silva (c)
45 483 Andrea Barzagli Mauricio Isla
290 658 Hwang Seok-ho Son Heung-min
383 706 Kenneth Omeruo Vincent Enyeama
212 675 Ezequiel Lavezzi Thiago Motta
490 717 Maxwell Willian
261 424 Gonzalo Higuaín Lucas Biglia
285 646 Hotaru Yamaguchi Shinji Kagawa
480 517 Matthias Ginter Miroslav Klose
179 717 Eden Hazard Willian
481 503 Mattia De Sciglio Michael Essien
596 610 Reto Ziegler Roman Bürki
399 405 Koo Ja-cheol (c) Kwak Tae-hwi
7 88 Admir Mehmedi Blerim Džemaili
593 652 Raul Meireles Silvestre Varela
18 347 Albert Adomah Jordan Ayew
542 653 Oliver Zelenika Šime Vrsaljko
385 518 Kevin Großkreutz Mitchell Langerak
285 689 Hotaru Yamaguchi Toshihiro Aoyama
647 650 Shinji Okazaki Shuichi Gonda
75 190 Azubuike Egwuekwe Efe Ambrose
339 665 Johan Djourou Steve von Bergen
36 599 Alireza Jahanbakhsh Reza Haghighi
475 573 Mats Hummels Per Mertesacker
453 661 Mario Gavranovic Stephan Lichtsteiner
521 562 Morgan Schneiderlin Patrice Evra
189 223 Eduardo Vargas Felipe Gutiérrez
288 525 Hugo Lloris (c) Nabil Bentaleb
468 541 Massimo Luongo Oliver Bozanic
68 183 Asmir Begovic Edin Džeko
237 422 Gabriel Paletta Lorenzo Insigne
61 659 Arjen Robben Stefan de Vrij
226 430 Fernando Muslera Luis Suárez
360 501 José Miguel Cubero Michael Barrantes
646 651 Shinji Kagawa Shusaku Nishikawa
571 623 Pepe Sami Khedira
454 687 Mario Götze Toni Kroos
120 733 Christian Noboa Yuri Zhirkov
407 662 Landry N'Guémo Stéphane Mbia
141 246 Daniele De Rossi Gervinho
464 700 Marvin Chávez Víctor Bernárdez
606 714 Robin van Persie (c) Wesley Sneijder
500 702 Michael Babatunde Victor Moses
650 730 Shuichi Gonda Yoshito Okubo
43 272 André Ayew Harrison Afful
550 727 Óscar Duarte Yeltsin Tejeda
247 273 Ghasem Haddadifar Hashem Beikzadeh
568 732 Pavel Mogilevets Yuri Lodygin
67 68 Asmir Avdukic Asmir Begovic
274 722 Hassan Yebda Yacine Brahimi
61 606 Arjen Robben Robin van Persie (c)
287 645 Hugo Campagnaro Sergio Romero
602 665 Ricardo Rodríguez Steve von Bergen
542 698 Oliver Zelenika Vedran Corluka
135 233 Dani Alves Fred
403 691 Kunle Odunlami Uche Nwofor
327 623 Jérôme Boateng Sami Khedira
641 704 Sergey Ryzhikov Viktor Fayzulin
530 681 Nick Rimando Tim Howard
366 672 Juan Camilo Zúñiga Teófilo Gutiérrez
50 368 Andrés Iniesta Juan Carlos Paredes
33 230 Alexis Sánchez Francisco Silva
87 472 Blaise Matuidi Mathieu Debuchy
99 662 Carlos Bacca Stéphane Mbia
272 520 Harrison Afful Mohammed Rabiu
194 200 Ejike Uzoenyi Emmanuel Emenike
214 223 Fabián Orellana Felipe Gutiérrez
162 453 Diego Benaglio Mario Gavranovic
169 304 Diego Reyes Jackson Martínez
304 370 Jackson Martínez Juan Guillermo Cuadrado
610 721 Roman Bürki Xherdan Shaqiri
260 721 Gökhan Inler (c) Xherdan Shaqiri
74 612 Axel Witsel Romelu Lukaku
38 166 Álvaro González Diego Godín
259 505 Godfrey Oboabona Michael Uchebo
591 719 Raúl Albiol Xabi Alonso
211 225 Ezequiel Garay Fernando Gago
114 472 Cheick Tioté Mathieu Debuchy
142 669 Danijel Pranjic Stipe Pletikosa
159 714 Didier Drogba (c) Wesley Sneijder
416 452 Leonardo Bonucci Mario Balotelli
125 675 Claudio Marchisio Thiago Motta
248 506 Giancarlo González Michael Umaña
593 716 Raul Meireles William Carvalho
62 242 Aron Jóhannsson Geoff Cameron
299 514 Ivan Perišic Milan Badelj
432 624 Luka Modric Sammir
74 532 Axel Witsel Nicolas Lombaerts
216 601 Fábio Coentrão Ricardo Costa
47 336 Andreas Samaris Joel Campbell
116 575 Chris Smalling Phil Jagielka
84 731 Benoît Assou-Ekotto Yun Suk-young
2 219 Abel Aguilar Faryd Mondragón
296 605 Islam Slimani Riyad Mahrez
208 686 Eugene Galekovic Tommy Oar
265 365 Graham Zusi Jozy Altidore
428 511 Luís Neto Miguel Veloso
30 334 Alexander Domínguez Joao Rojas
321 579 Jean Makoun Pierre Webó
94 714 Bruno Martins Indi Wesley Sneijder
419 720 Lionel Messi (c) Xavi
348 434 Jordan Henderson Luke Shaw
461 634 Martín Cáceres Sebastián Coates
136 378 Daniel Cambronero Júnior Díaz
8 528 Adnan Januzaj Nani
60 116 Antonio Valencia (c) Chris Smalling
312 637 Jasmin Fejzic Senijad Ibricic
209 445 Eugenio Mena Marcelo Díaz
440 668 Mamadou Sakho Steven Gerrard (c)
267 318 Guillermo Ochoa Javier Hernández
628 670 Samuel Inkoom Sulley Muntari
537 587 Ogenyi Onazi Ramon Azeez
154 720 David Silva Xavi
257 621 Giovanni Sio Salomon Kalou
132 209 Cristopher Toselli Eugenio Mena
48 293 Andrei Semyonov Igor Denisov
58 636 Antonio Candreva Senad Lulic
467 495 Masoud Shojaei Mehrdad Pouladi
450 608 Marcos Rojo Rodrigo Palacio
163 727 Diego Calvo Yeltsin Tejeda
268 391 Ha Dae-sung Kim Bo-kyung
449 452 Marco Verratti Mario Balotelli
580 716 Rafa Silva William Carvalho
460 576 Marouane Fellaini Phil Jones
574 706 Peter Odemwingie Vincent Enyeama
303 543 Jack Wilshere Olivier Giroud
19 252 Alberto Aquilani Giorgio Chiellini
176 426 Donis Escober Luis Garrido
585 722 Raïs M'Bolhi Yacine Brahimi
408 460 Laurent Ciman Marouane Fellaini
72 379 Austin Ejide Juwon Oshaniwa
158 540 Denis Glushakov Oleg Shatov
514 535 Milan Badelj Nikica Jelavic
190 574 Efe Ambrose Peter Odemwingie
297 671 Ismaël Diomandé Sylvain Gbohouo
312 636 Jasmin Fejzic Senad Lulic
100 105 Carlos Carbonero Carlos Sánchez
389 666 Khosro Heydari Steven Beitashour
374 577 Julian Draxler Philipp Lahm (c)
319 569 Javier Mascherano Pedro
260 453 Gökhan Inler (c) Mario Gavranovic
513 530 Mikkel Diskerud Nick Rimando
123 449 Ciro Immobile Marco Verratti
111 155 Cesc Fàbregas David Villa
77 313 Bailey Wright Jason Davidson
412 658 Lee Chung-yong Son Heung-min
469 734 Mateo Kovacic Yuto Nagatomo
96 219 Camilo Vargas Faryd Mondragón
302 633 Izet Hajrovic Sead Kolašinac
460 532 Marouane Fellaini Nicolas Lombaerts
385 687 Kevin Großkreutz Toni Kroos
386 667 Kevin Mirallas Steven Defour
363 702 Joseph Yobo (c) Victor Moses
49 275 Andrés Guardado Héctor Herrera
270 302 Haris Medunjanin Izet Hajrovic
192 570 Ehsan Hajsafi Pejman Montazeri
35 467 Alireza Haghighi Masoud Shojaei
129 166 Cristian Rodríguez Diego Godín
50 719 Andrés Iniesta Xabi Alonso
162 578 Diego Benaglio Philippe Senderos
215 721 Fabian Schär Xherdan Shaqiri
256 592 Giovani dos Santos Raúl Jiménez
527 625 Nacer Chadli Sammy Bossut
402 557 Kostas Mitroglou Panagiotis Kone
119 712 Christian Bolaños Waylon Francis
74 311 Axel Witsel Jan Vertonghen
62 683 Aron Jóhannsson Timothy Chandler
247 467 Ghasem Haddadifar Masoud Shojaei
284 584 Hossein Mahini Rahman Ahmadi
55 263 Ante Rebic Gordon Schildenfeld
24 48 Aleksei Ionov Andrei Semyonov
249 422 Gianluigi Buffon (c) Lorenzo Insigne
243 732 Georgi Shchennikov Yuri Lodygin
385 611 Kevin Großkreutz Roman Weidenfeller
198 204 Emir Spahic (c) Ermin Bicakcic
154 397 David Silva Koke
172 706 Divock Origi Vincent Enyeama
537 702 Ogenyi Onazi Victor Moses
56 172 Anthony Vanden Borre Divock Origi
28 626 Alex Song Sammy N'Djock
225 487 Fernando Gago Maxi Rodríguez
140 316 Daniel Van Buyten Javi Martínez
376 699 Júlio César Victor
398 639 Kolo Touré Serge Aurier
80 303 Ben Foster Jack Wilshere
44 433 André Schürrle Lukas Podolski
497 697 Mensur Mujdža Vedad Ibiševic
187 542 Eduardo da Silva Oliver Zelenika
196 472 Eliaquim Mangala Mathieu Debuchy
93 716 Bruno Alves William Carvalho
313 518 Jason Davidson Mitchell Langerak
339 721 Johan Djourou Xherdan Shaqiri
9 186 Adrián Bone Édison Méndez
262 354 Gonzalo Jara Jorge Valdivia
23 641 Aleksandr Samedov Sergey Ryzhikov
729 730 Yoichiro Kakitani Yoshito Okubo
212 555 Ezequiel Lavezzi Pablo Zabaleta
23 439 Aleksandr Samedov Maksim Kanunnikov
517 611 Miroslav Klose Roman Weidenfeller
139 238 Daniel Sturridge Gary Cahill
94 171 Bruno Martins Indi Dirk Kuyt
4 709 Adam Kwarasey Wakaso Mubarak
690 721 Tranquillo Barnetta Xherdan Shaqiri
420 488 Loïc Feudjou Maxim Choupo-Moting
114 657 Cheick Tioté Sol Bamba
135 349 Dani Alves Jordi Alba
140 679 Daniel Van Buyten Thomas Vermaelen
53 684 Anel Hadžic Tino-Sven Sušic
600 645 Ricardo Álvarez Sergio Romero
85 443 Bernard Marcelo
673 682 Terence Kongolo Tim Krul
325 417 Jeremain Lens Leroy Fer
73 183 Avdija Vršajevic Edin Džeko
432 469 Luka Modric Mateo Kovacic
431 490 Luiz Gustavo Maxwell
21 48 Aleksandr Kerzhakov Andrei Semyonov
4 520 Adam Kwarasey Mohammed Rabiu
658 731 Son Heung-min Yun Suk-young
282 725 Hiroshi Kiyotake Yasuyuki Konno
327 517 Jérôme Boateng Miroslav Klose
689 725 Toshihiro Aoyama Yasuyuki Konno
54 319 Ángel di María Javier Mascherano
272 670 Harrison Afful Sulley Muntari
131 180 Cristiano Ronaldo (c) Éder
77 518 Bailey Wright Mitchell Langerak
366 591 Juan Camilo Zúñiga Raúl Albiol
128 506 Cristian Gamboa Michael Umaña
119 506 Christian Bolaños Michael Umaña
692 693 Valentin Stocker Valon Behrami
443 547 Marcelo Oscar
66 666 Ashkan Dejagah Steven Beitashour
63 474 Arthur Boka Mathis Bolly
188 571 Eduardo dos Reis Carvalho Pepe
419 600 Lionel Messi (c) Ricardo Álvarez
269 290 Han Kook-young Hwang Seok-ho
430 461 Luis Suárez Martín Cáceres
147 187 Darijo Srna (c) Eduardo da Silva
20 91 Alejandro Bedoya Brad Guzan
488 647 Maxim Choupo-Moting Shinji Okazaki
240 711 Gastón Ramírez Walter Gargano
618 703 Rúben Amorim Vieirinha
237 449 Gabriel Paletta Marco Verratti
351 464 Jorge Claros Marvin Chávez
88 692 Blerim Džemaili Valentin Stocker
459 479 Mark Milligan Matthew Špiranovic
385 656 Kevin Großkreutz Sokratis Papastathopoulos
638 692 Serey Die Valentin Stocker
533 705 Nicolas N'Koulou Vincent Aboubakar
318 562 Javier Hernández Patrice Evra
133 345 Daley Blind Jonathan de Guzmán
171 396 Dirk Kuyt Klaas-Jan Huntelaar
399 412 Koo Ja-cheol (c) Lee Chung-yong
439 708 Maksim Kanunnikov Vladimir Granat
137 273 Daniel Davari Hashem Beikzadeh
82 687 Benedikt Höwedes Toni Kroos
1 525 Abdelmoumene Djabou Nabil Bentaleb
231 616 Frank Lampard Ross Barkley
295 318 Isaác Brizuela Javier Hernández
110 569 César Azpilicueta Pedro
318 355 Javier Hernández José de Jesús Corona
26 449 Alessio Cerci Marco Verratti
142 147 Danijel Pranjic Darijo Srna (c)
168 486 Diego Pérez Maxi Pereira
75 403 Azubuike Egwuekwe Kunle Odunlami
72 75 Austin Ejide Azubuike Egwuekwe
169 267 Diego Reyes Guillermo Ochoa
103 295 Carlos Peña Isaác Brizuela
19 416 Alberto Aquilani Leonardo Bonucci
103 355 Carlos Peña José de Jesús Corona
102 305 Carlos Gruezo Jaime Ayoví
90 265 Brad Davis Graham Zusi
260 596 Gökhan Inler (c) Reto Ziegler
135 319 Dani Alves Javier Mascherano
552 595 Oswaldo Minda Renato Ibarra
43 670 André Ayew Sulley Muntari
301 469 Ivica Olic Mateo Kovacic
567 717 Paulinho Willian
56 527 Anthony Vanden Borre Nacer Chadli
150 572 David de Gea Pepe Reina
229 355 Francisco Javier Rodríguez José de Jesús Corona
111 135 Cesc Fàbregas Dani Alves
109 378 Celso Borges Júnior Díaz
86 300 Beto Ivan Rakitic
187 263 Eduardo da Silva Gordon Schildenfeld
335 576 Joe Hart Phil Jones
391 559 Kim Bo-kyung Park Chu-young
164 643 Diego Costa Sergio Busquets
453 723 Mario Gavranovic Yann Sommer
378 501 Júnior Díaz Michael Barrantes
183 684 Edin Džeko Tino-Sven Sušic
58 291 Antonio Candreva Ignazio Abate
428 732 Luís Neto Yuri Lodygin
34 169 Alfredo Talavera Diego Reyes
79 480 Bastian Schweinsteiger Matthias Ginter
228 305 Fidel Martínez Jaime Ayoví
425 523 Lucas Digne Moussa Sissoko
260 602 Gökhan Inler (c) Ricardo Rodríguez
106 630 Carlos Valdés Santiago Arias
314 338 Jasper Cillessen Joël Veltman
111 294 Cesc Fàbregas Iker Casillas (c)
36 666 Alireza Jahanbakhsh Steven Beitashour
595 710 Renato Ibarra Walter Ayoví
376 529 Júlio César Neymar
55 514 Ante Rebic Milan Badelj
330 393 Ji Dong-won Kim Seung-gyu
157 669 Dejan Lovren Stipe Pletikosa
438 725 Makoto Hasebe (c) Yasuyuki Konno
106 181 Carlos Valdés Éder Álvarez Balanta
400 545 Kostas Katsouranis Orestis Karnezis
540 641 Oleg Shatov Sergey Ryzhikov
130 304 Cristián Zapata Jackson Martínez
386 527 Kevin Mirallas Nacer Chadli
316 572 Javi Martínez Pepe Reina
191 531 Egidio Arévalo Ríos Nicolás Lodeiro
169 295 Diego Reyes Isaác Brizuela
31 554 Alexander Mejía Pablo Armero
122 517 Christoph Kramer Miroslav Klose
160 621 Didier Ya Konan Salomon Kalou
267 494 Guillermo Ochoa Mehdi Mostefa
73 204 Avdija Vršajevic Ermin Bicakcic
47 656 Andreas Samaris Sokratis Papastathopoulos
307 680 James Holland Tim Cahill
527 677 Nacer Chadli Thibaut Courtois
13 584 Ahmad Alenemeh Rahman Ahmadi
495 584 Mehrdad Pouladi Rahman Ahmadi
67 516 Asmir Avdukic Miralem Pjanic
227 316 Fernando Torres Javi Martínez
386 522 Kevin Mirallas Mousa Dembélé
464 551 Marvin Chávez Osman Chávez
37 107 Allan Nyom Cédric Djeugoué
273 495 Hashem Beikzadeh Mehrdad Pouladi
357 564 José Juan Vázquez Paul Aguilar
591 644 Raúl Albiol Sergio Ramos
96 100 Camilo Vargas Carlos Carbonero
263 301 Gordon Schildenfeld Ivica Olic
392 561 Kim Chang-soo Park Joo-ho
422 449 Lorenzo Insigne Marco Verratti
177 408 Dries Mertens Laurent Ciman
101 124 Carlos Carmona Claudio Bravo (c)
321 626 Jean Makoun Sammy N'Djock
344 512 Johnny Herrera Miiko Albornoz
695 733 Vasili Berezutski (c) Yuri Zhirkov
289 586 Hulk Ramires
194 702 Ejike Uzoenyi Victor Moses
76 604 Bacary Sagna Rio Mavuba
654 702 Simon Mignolet Victor Moses
428 580 Luís Neto Rafa Silva
4 118 Adam Kwarasey Christian Atsu
169 369 Diego Reyes Juan Fernando Quintero
229 295 Francisco Javier Rodríguez Isaác Brizuela
537 597 Ogenyi Onazi Reuben Gabriel
365 513 Jozy Altidore Mikkel Diskerud
2 457 Abel Aguilar Mario Yepes (c)
36 306 Alireza Jahanbakhsh Jalal Hosseini
23 51 Aleksandr Samedov Andrey Yeshchenko
278 705 Henri Bedimo Vincent Aboubakar
257 322 Giovanni Sio Jean-Daniel Akpa-Akpro
387 590 Kevin-Prince Boateng Rashid Sumaila
300 514 Ivan Rakitic Milan Badelj
157 514 Dejan Lovren Milan Badelj
106 130 Carlos Valdés Cristián Zapata
291 503 Ignazio Abate Michael Essien
288 589 Hugo Lloris (c) Raphaël Varane
379 702 Juwon Oshaniwa Victor Moses
322 715 Jean-Daniel Akpa-Akpro Wilfried Bony
33 484 Alexis Sánchez Mauricio Pinilla
202 487 Enzo Pérez Maxi Rodríguez
30 186 Alexander Domínguez Édison Méndez
55 143 Ante Rebic Danijel Subašic
267 295 Guillermo Ochoa Isaác Brizuela
3 531 Abel Hernández Nicolás Lodeiro
177 612 Dries Mertens Romelu Lukaku
81 515 Ben Halloran Mile Jedinak (c)
51 695 Andrey Yeshchenko Vasili Berezutski (c)
304 701 Jackson Martínez Víctor Ibarbo
496 673 Memphis Depay Terence Kongolo
380 599 Karim Ansarifard Reza Haghighi
47 674 Andreas Samaris Theofanis Gekas
392 560 Kim Chang-soo Park Jong-woo
54 294 Ángel di María Iker Casillas (c)
251 674 Giannis Maniatis Theofanis Gekas
211 212 Ezequiel Garay Ezequiel Lavezzi
166 373 Diego Godín Juanfran
194 500 Ejike Uzoenyi Michael Babatunde
303 629 Jack Wilshere Santi Cazorla
102 353 Carlos Gruezo Jorge Guagua
654 679 Simon Mignolet Thomas Vermaelen
11 404 Afriyie Acquah Kwadwo Asamoah
180 511 Éder Miguel Veloso
495 570 Mehrdad Pouladi Pejman Montazeri
81 471 Ben Halloran Mathew Ryan
415 583 Leighton Baines Raheem Sterling
268 414 Ha Dae-sung Lee Yong
50 319 Andrés Iniesta Javier Mascherano
76 573 Bacary Sagna Per Mertesacker
379 537 Juwon Oshaniwa Ogenyi Onazi
368 429 Juan Carlos Paredes Luis Saritama
108 274 Cédric Si Mohamed Hassan Yebda
254 696 Giorgos Samaras Vasilis Torosidis
185 634 Edinson Cavani Sebastián Coates
369 667 Juan Fernando Quintero Steven Defour
61 496 Arjen Robben Memphis Depay
165 486 Diego Forlán Maxi Pereira
274 526 Hassan Yebda Nabil Ghilas
65 709 Asamoah Gyan (c) Wakaso Mubarak
556 656 Panagiotis Glykos Sokratis Papastathopoulos
455 542 Mario Mandžukic Oliver Zelenika
19 481 Alberto Aquilani Mattia De Sciglio
153 630 David Ospina Santiago Arias
651 729 Shusaku Nishikawa Yoichiro Kakitani
195 519 El Arbi Hillel Soudani Mohamed Zemmamouche
589 719 Raphaël Varane Xabi Alonso
90 476 Brad Davis Matt Besler
213 513 Fabian Johnson Mikkel Diskerud
260 723 Gökhan Inler (c) Yann Sommer
87 728 Blaise Matuidi Yohan Cabaye
52 328 Andy Najar Jerry Bengtson
5 240 Adam Lallana Gastón Ramírez
374 614 Julian Draxler Ron-Robert Zieler
85 151 Bernard David Luiz
186 489 Édison Méndez Máximo Banguera
221 645 Federico Fernández Sergio Romero
78 666 Bakhtiar Rahmani Steven Beitashour
366 693 Juan Camilo Zúñiga Valon Behrami
365 683 Jozy Altidore Timothy Chandler
472 521 Mathieu Debuchy Morgan Schneiderlin
176 367 Donis Escober Juan Carlos García
150 576 David de Gea Phil Jones
227 586 Fernando Torres Ramires
337 633 Joël Matip Sead Kolašinac
10 181 Adrián Ramos Éder Álvarez Balanta
348 654 Jordan Henderson Simon Mignolet
136 343 Daniel Cambronero Johnny Acosta
367 464 Juan Carlos García Marvin Chávez
301 602 Ivica Olic Ricardo Rodríguez
217 278 Fabrice Olinga Henri Bedimo
140 172 Daniel Van Buyten Divock Origi
299 301 Ivan Perišic Ivica Olic
590 664 Rashid Sumaila Stephen Adams
364 683 Josip Drmic Timothy Chandler
70 424 Augusto Fernández Lucas Biglia
308 575 James Milner Phil Jagielka
166 634 Diego Godín Sebastián Coates
250 557 Giannis Fetfatzidis Panagiotis Kone
594 663 Rémy Cabella Stéphane Ruffier
74 384 Axel Witsel Kevin De Bruyne
61 149 Arjen Robben Daryl Janmaat
183 633 Edin Džeko Sead Kolašinac
260 366 Gökhan Inler (c) Juan Camilo Zúñiga
641 695 Sergey Ryzhikov Vasili Berezutski (c)
144 231 Danny Welbeck Frank Lampard
174 293 Dmitri Kombarov Igor Denisov
373 644 Juanfran Sergio Ramos
314 507 Jasper Cillessen Michel Vorm
427 536 Luis López Noel Valladares (c)
449 482 Marco Verratti Mattia Perin
320 512 Jean Beausejour Miiko Albornoz
163 501 Diego Calvo Michael Barrantes
261 591 Gonzalo Higuaín Raúl Albiol
89 257 Boubacar Barry Giovanni Sio
648 678 Shkodran Mustafi Thomas Müller
88 339 Blerim Džemaili Johan Djourou
217 420 Fabrice Olinga Loïc Feudjou
332 580 João Moutinho Rafa Silva
362 484 José Rojas Mauricio Pinilla
230 344 Francisco Silva Johnny Herrera
319 643 Javier Mascherano Sergio Busquets
188 332 Eduardo dos Reis Carvalho João Moutinho
129 191 Cristian Rodríguez Egidio Arévalo Ríos
499 552 Michael Arroyo Oswaldo Minda
144 528 Danny Welbeck Nani
49 355 Andrés Guardado José de Jesús Corona
210 321 Eyong Enoh Jean Makoun
625 667 Sammy Bossut Steven Defour
233 279 Fred Henrique
283 412 Hong Jeong-ho Lee Chung-yong
75 505 Azubuike Egwuekwe Michael Uchebo
283 290 Hong Jeong-ho Hwang Seok-ho
206 727 Esteban Granados Yeltsin Tejeda
469 539 Mateo Kovacic Ognjen Vukojevic
283 390 Hong Jeong-ho Ki Sung-yueng
4 43 Adam Kwarasey André Ayew
20 90 Alejandro Bedoya Brad Davis
199 220 Emmanuel Agyemang-Badu Fatau Dauda
238 583 Gary Cahill Raheem Sterling
165 168 Diego Forlán Diego Pérez
442 614 Manuel Neuer Ron-Robert Zieler
29 313 Alex Wilkinson Jason Davidson
146 337 Dany Nounkeu Joël Matip
97 274 Carl Medjani Hassan Yebda
287 319 Hugo Campagnaro Javier Mascherano
472 565 Mathieu Debuchy Paul Pogba
55 698 Ante Rebic Vedran Corluka
268 411 Ha Dae-sung Lee Bum-young
156 544 DeAndre Yedlin Omar Gonzalez
646 734 Shinji Kagawa Yuto Nagatomo
610 661 Roman Bürki Stephan Lichtsteiner
61 682 Arjen Robben Tim Krul
325 396 Jeremain Lens Klaas-Jan Huntelaar
265 341 Graham Zusi John Brooks
87 594 Blaise Matuidi Rémy Cabella
386 681 Kevin Mirallas Tim Howard
372 551 Juan Pablo Montes Osman Chávez
285 735 Hotaru Yamaguchi Yuya Osako
476 681 Matt Besler Tim Howard
112 223 Charles Aránguiz Felipe Gutiérrez
541 680 Oliver Bozanic Tim Cahill
1 173 Abdelmoumene Djabou Djamel Mesbah
204 270 Ermin Bicakcic Haris Medunjanin
578 723 Philippe Senderos Yann Sommer
424 487 Lucas Biglia Maxi Rodríguez
243 293 Georgi Shchennikov Igor Denisov
269 395 Han Kook-young Kim Young-gwon
246 436 Gervinho Maicon
277 511 Hélder Postiga Miguel Veloso
183 688 Edin Džeko Toni Šunjic
443 719 Marcelo Xabi Alonso
99 630 Carlos Bacca Santiago Arias
497 633 Mensur Mujdža Sead Kolašinac
460 527 Marouane Fellaini Nacer Chadli
377 392 Jung Sung-ryong Kim Chang-soo
137 284 Daniel Davari Hossein Mahini
74 685 Axel Witsel Toby Alderweireld
423 674 Loukas Vyntra Theofanis Gekas
589 644 Raphaël Varane Sergio Ramos
77 479 Bailey Wright Matthew Špiranovic
17 546 Alan Pulido Oribe Peralta
216 381 Fábio Coentrão Karim Benzema
600 734 Ricardo Álvarez Yuto Nagatomo
271 615 Haris Seferovic Rony Martínez
253 656 Giorgos Karagounis (c) Sokratis Papastathopoulos
268 561 Ha Dae-sung Park Joo-ho
358 424 José María Basanta Lucas Biglia
638 639 Serey Die Serge Aurier
179 627 Eden Hazard Samuel Eto'o (c)
456 551 Mario Martínez Osman Chávez
138 387 Daniel Opare Kevin-Prince Boateng
501 563 Michael Barrantes Patrick Pemberton
82 577 Benedikt Höwedes Philipp Lahm (c)
387 628 Kevin-Prince Boateng Samuel Inkoom
194 597 Ejike Uzoenyi Reuben Gabriel
63 715 Arthur Boka Wilfried Bony
325 606 Jeremain Lens Robin van Persie (c)
335 555 Joe Hart Pablo Zabaleta
135 569 Dani Alves Pedro
562 604 Patrice Evra Rio Mavuba
232 335 Fraser Forster Joe Hart
272 628 Harrison Afful Samuel Inkoom
194 363 Ejike Uzoenyi Joseph Yobo (c)
308 335 James Milner Joe Hart
291 622 Ignazio Abate Salvatore Sirigu
386 616 Kevin Mirallas Ross Barkley
123 237 Ciro Immobile Gabriel Paletta
20 265 Alejandro Bedoya Graham Zusi
55 301 Ante Rebic Ivica Olic
110 629 César Azpilicueta Santi Cazorla
528 713 Nani Wayne Rooney
316 569 Javi Martínez Pedro
105 366 Carlos Sánchez Juan Camilo Zúñiga
152 448 David Myrie Marco Ureña
456 609 Mario Martínez Roger Espinoza
310 515 James Troisi Mile Jedinak (c)
158 732 Denis Glushakov Yuri Lodygin
109 388 Celso Borges Keylor Navas
96 181 Camilo Vargas Éder Álvarez Balanta
71 182 Aurélien Chedjou Edgar Salli
202 600 Enzo Pérez Ricardo Álvarez
286 618 Hugo Almeida Rúben Amorim
100 153 Carlos Carbonero David Ospina
307 518 James Holland Mitchell Langerak
201 595 Enner Valencia Renato Ibarra
273 380 Hashem Beikzadeh Karim Ansarifard
181 630 Éder Álvarez Balanta Santiago Arias
576 616 Phil Jones Ross Barkley
465 647 Masahiko Inoha Shinji Okazaki
64 320 Arturo Vidal Jean Beausejour
279 376 Henrique Júlio César
140 667 Daniel Van Buyten Steven Defour
266 504 Granit Xhaka Michael Lang
239 320 Gary Medel Jean Beausejour
76 679 Bacary Sagna Thomas Vermaelen
162 271 Diego Benaglio Haris Seferovic
40 247 Amir Hossein Sadeghi Ghasem Haddadifar
20 242 Alejandro Bedoya Geoff Cameron
352 711 Jorge Fucile Walter Gargano
54 358 Ángel di María José María Basanta
9 595 Adrián Bone Renato Ibarra
244 496 Georginio Wijnaldum Memphis Depay
401 423 Kostas Manolas Loukas Vyntra
382 724 Keisuke Honda Yasuhito Endo
31 105 Alexander Mejía Carlos Sánchez
40 78 Amir Hossein Sadeghi Bakhtiar Rahmani
498 687 Mesut Özil Toni Kroos
298 518 Ivan Franjic Mitchell Langerak
10 341 Adrián Ramos John Brooks
184 204 Edin Višca Ermin Bicakcic
335 642 Joe Hart Sergio Agüero
45 252 Andrea Barzagli Giorgio Chiellini
205 605 Essaïd Belkalem Riyad Mahrez
47 410 Andreas Samaris Lazaros Christodoulopoulos
237 249 Gabriel Paletta Gianluigi Buffon (c)
312 516 Jasmin Fejzic Miralem Pjanic
123 447 Ciro Immobile Marco Parolo
183 270 Edin Džeko Haris Medunjanin
214 362 Fabián Orellana José Rojas
75 691 Azubuike Egwuekwe Uche Nwofor
6 541 Adam Taggart Oliver Bozanic
62 365 Aron Jóhannsson Jozy Altidore
356 545 José Holebas Orestis Karnezis
27 415 Alex Oxlade-Chamberlain Leighton Baines
140 532 Daniel Van Buyten Nicolas Lombaerts
50 397 Andrés Iniesta Koke
249 291 Gianluigi Buffon (c) Ignazio Abate
508 594 Mickaël Landreau Rémy Cabella
70 358 Augusto Fernández José María Basanta
294 623 Iker Casillas (c) Sami Khedira
322 474 Jean-Daniel Akpa-Akpro Mathis Bolly
402 423 Kostas Mitroglou Loukas Vyntra
143 157 Danijel Subašic Dejan Lovren
699 717 Victor Willian
15 526 Aïssa Mandi Nabil Ghilas
274 525 Hassan Yebda Nabil Bentaleb
8 144 Adnan Januzaj Danny Welbeck
522 525 Mousa Dembélé Nabil Bentaleb
22 51 Aleksandr Kokorin Andrey Yeshchenko
91 365 Brad Guzan Jozy Altidore
221 424 Federico Fernández Lucas Biglia
615 718 Rony Martínez Wilson Palacios
447 622 Marco Parolo Salvatore Sirigu
96 106 Camilo Vargas Carlos Valdés
404 520 Kwadwo Asamoah Mohammed Rabiu
22 23 Aleksandr Kokorin Aleksandr Samedov
34 276 Alfredo Talavera Héctor Moreno
16 641 Alan Dzagoev Sergey Ryzhikov
460 646 Marouane Fellaini Shinji Kagawa
400 410 Kostas Katsouranis Lazaros Christodoulopoulos
488 662 Maxim Choupo-Moting Stéphane Mbia
168 463 Diego Pérez Martín Silva
636 688 Senad Lulic Toni Šunjic
175 542 Domagoj Vida Oliver Zelenika
327 721 Jérôme Boateng Xherdan Shaqiri
71 217 Aurélien Chedjou Fabrice Olinga
231 335 Frank Lampard Joe Hart
302 524 Izet Hajrovic Muhamed Bešic
28 210 Alex Song Eyong Enoh
48 51 Andrei Semyonov Andrey Yeshchenko
133 566 Daley Blind Paul Verhaegh
89 159 Boubacar Barry Didier Drogba (c)
157 491 Dejan Lovren Maya Yoshida
232 238 Fraser Forster Gary Cahill
262 512 Gonzalo Jara Miiko Albornoz
574 649 Peter Odemwingie Shola Ameobi
109 506 Celso Borges Michael Umaña
257 726 Giovanni Sio Yaya Touré
123 252 Ciro Immobile Giorgio Chiellini
583 713 Raheem Sterling Wayne Rooney
466 689 Masato Morishige Toshihiro Aoyama
440 728 Mamadou Sakho Yohan Cabaye
63 102 Arthur Boka Carlos Gruezo
216 719 Fábio Coentrão Xabi Alonso
459 541 Mark Milligan Oliver Bozanic
192 389 Ehsan Hajsafi Khosro Heydari
95 506 Bryan Ruiz (c) Michael Umaña
28 50 Alex Song Andrés Iniesta
377 405 Jung Sung-ryong Kwak Tae-hwi
404 590 Kwadwo Asamoah Rashid Sumaila
506 617 Michael Umaña Roy Miller
311 532 Jan Vertonghen Nicolas Lombaerts
408 522 Laurent Ciman Mousa Dembélé
8 179 Adnan Januzaj Eden Hazard
96 309 Camilo Vargas James Rodríguez
146 488 Dany Nounkeu Maxim Choupo-Moting
291 482 Ignazio Abate Mattia Perin
378 561 Júnior Díaz Park Joo-ho
121 129 Christian Stuani Cristian Rodríguez
377 560 Jung Sung-ryong Park Jong-woo
32 545 Alexandros Tziolis Orestis Karnezis
368 529 Juan Carlos Paredes Neymar
511 539 Miguel Veloso Ognjen Vukojevic
439 704 Maksim Kanunnikov Viktor Fayzulin
420 662 Loïc Feudjou Stéphane Mbia
647 724 Shinji Okazaki Yasuhito Endo
278 337 Henri Bedimo Joël Matip
292 708 Igor Akinfeev Vladimir Granat
373 629 Juanfran Santi Cazorla
361 512 José Pedro Fuenzalida Miiko Albornoz
97 585 Carl Medjani Raïs M'Bolhi
177 179 Dries Mertens Eden Hazard
331 431 Luiz Gustavo
80 238 Ben Foster Gary Cahill
256 564 Giovani dos Santos Paul Aguilar
380 570 Karim Ansarifard Pejman Montazeri
49 564 Andrés Guardado Paul Aguilar
622 675 Salvatore Sirigu Thiago Motta
413 414 Lee Keun-ho Lee Yong
29 620 Alex Wilkinson Ryan McGowan
193 730 Eiji Kawashima Yoshito Okubo
70 221 Augusto Fernández Federico Fernández
146 420 Dany Nounkeu Loïc Feudjou
69 725 Atsuto Uchida Yasuyuki Konno
508 523 Mickaël Landreau Moussa Sissoko
69 374 Atsuto Uchida Julian Draxler
357 510 José Juan Vázquez Miguel Layún
214 484 Fabián Orellana Mauricio Pinilla
186 236 Édison Méndez Gabriel Achilier
419 487 Lionel Messi (c) Maxi Rodríguez
498 611 Mesut Özil Roman Weidenfeller
664 670 Stephen Adams Sulley Muntari
266 453 Granit Xhaka Mario Gavranovic
288 521 Hugo Lloris (c) Morgan Schneiderlin
132 483 Cristopher Toselli Mauricio Isla
72 597 Austin Ejide Reuben Gabriel
139 335 Daniel Sturridge Joe Hart
102 548 Carlos Gruezo Óscar Bagüí
185 675 Edinson Cavani Thiago Motta
198 684 Emir Spahic (c) Tino-Sven Sušic
209 484 Eugenio Mena Mauricio Pinilla
597 702 Reuben Gabriel Victor Moses
92 551 Brayan Beckeles Osman Chávez
89 671 Boubacar Barry Sylvain Gbohouo
216 528 Fábio Coentrão Nani
106 366 Carlos Valdés Juan Camilo Zúñiga
185 490 Edinson Cavani Maxwell
383 574 Kenneth Omeruo Peter Odemwingie
330 405 Ji Dong-won Kwak Tae-hwi
308 707 James Milner Vincent Kompany (c)
9 30 Adrián Bone Alexander Domínguez
82 387 Benedikt Höwedes Kevin-Prince Boateng
110 342 César Azpilicueta John Obi Mikel
74 522 Axel Witsel Mousa Dembélé
589 663 Raphaël Varane Stéphane Ruffier
300 653 Ivan Rakitic Šime Vrsaljko
380 495 Karim Ansarifard Mehrdad Pouladi
75 597 Azubuike Egwuekwe Reuben Gabriel
221 450 Federico Fernández Marcos Rojo
358 462 José María Basanta Martín Demichelis
338 417 Joël Veltman Leroy Fer
704 732 Viktor Fayzulin Yuri Lodygin
358 555 José María Basanta Pablo Zabaleta
281 438 Hiroki Sakai Makoto Hasebe (c)
144 318 Danny Welbeck Javier Hernández
200 702 Emmanuel Emenike Victor Moses
21 293 Aleksandr Kerzhakov Igor Denisov
313 541 Jason Davidson Oliver Bozanic
44 342 André Schürrle John Obi Mikel
305 548 Jaime Ayoví Óscar Bagüí
438 683 Makoto Hasebe (c) Timothy Chandler
556 696 Panagiotis Glykos Vasilis Torosidis
408 677 Laurent Ciman Thibaut Courtois
179 384 Eden Hazard Kevin De Bruyne
282 438 Hiroshi Kiyotake Makoto Hasebe (c)
213 406 Fabian Johnson Kyle Beckerman
137 495 Daniel Davari Mehrdad Pouladi
18 340 Albert Adomah John Boye
258 308 Glen Johnson James Milner
76 433 Bacary Sagna Lukas Podolski
1 296 Abdelmoumene Djabou Islam Slimani
145 233 Dante Fred
90 365 Brad Davis Jozy Altidore
22 540 Aleksandr Kokorin Oleg Shatov
165 463 Diego Forlán Martín Silva
412 561 Lee Chung-yong Park Joo-ho
193 282 Eiji Kawashima Hiroshi Kiyotake
218 221 Faouzi Ghoulam Federico Fernández
210 627 Eyong Enoh Samuel Eto'o (c)
20 117 Alejandro Bedoya Chris Wondolowski
119 163 Christian Bolaños Diego Calvo
93 286 Bruno Alves Hugo Almeida
34 103 Alfredo Talavera Carlos Peña
256 546 Giovani dos Santos Oribe Peralta
28 146 Alex Song Dany Nounkeu
375 681 Julian Green Tim Howard
103 546 Carlos Peña Oribe Peralta
195 418 El Arbi Hillel Soudani Liassine Cadamuro-Bentaïba
54 644 Ángel di María Sergio Ramos
371 460 Juan Mata Marouane Fellaini
169 196 Diego Reyes Eliaquim Mangala
178 551 Edder Delgado Osman Chávez
87 676 Blaise Matuidi Thiago Silva (c)
566 682 Paul Verhaegh Tim Krul
122 573 Christoph Kramer Per Mertesacker
472 523 Mathieu Debuchy Moussa Sissoko
212 490 Ezequiel Lavezzi Maxwell
293 439 Igor Denisov Maksim Kanunnikov
17 355 Alan Pulido José de Jesús Corona
350 396 Jordy Clasie Klaas-Jan Huntelaar
472 728 Mathieu Debuchy Yohan Cabaye
369 701 Juan Fernando Quintero Víctor Ibarbo
338 534 Joël Veltman Nigel de Jong
98 609 Carlo Costly Roger Espinoza
179 460 Eden Hazard Marouane Fellaini
331 529 Neymar
218 296 Faouzi Ghoulam Islam Slimani
400 556 Kostas Katsouranis Panagiotis Glykos
292 733 Igor Akinfeev Yuri Zhirkov
638 726 Serey Die Yaya Touré
122 648 Christoph Kramer Shkodran Mustafi
70 261 Augusto Fernández Gonzalo Higuaín
450 716 Marcos Rojo William Carvalho
44 110 André Schürrle César Azpilicueta
41 495 Andranik Teymourian Mehrdad Pouladi
183 516 Edin Džeko Miralem Pjanic
124 262 Claudio Bravo (c) Gonzalo Jara
381 663 Karim Benzema Stéphane Ruffier
170 694 Dimitris Salpingidis Vangelis Moras
214 239 Fabián Orellana Gary Medel
171 507 Dirk Kuyt Michel Vorm
116 348 Chris Smalling Jordan Henderson
292 641 Igor Akinfeev Sergey Ryzhikov
580 601 Rafa Silva Ricardo Costa
327 475 Jérôme Boateng Mats Hummels
83 84 Benjamin Moukandjo Benoît Assou-Ekotto
442 454 Manuel Neuer Mario Götze
129 185 Cristian Rodríguez Edinson Cavani
256 275 Giovani dos Santos Héctor Herrera
87 543 Blaise Matuidi Olivier Giroud
164 371 Diego Costa Juan Mata
382 729 Keisuke Honda Yoichiro Kakitani
562 589 Patrice Evra Raphaël Varane
348 415 Jordan Henderson Leighton Baines
433 480 Lukas Podolski Matthias Ginter
89 553 Boubacar Barry Ousmane Viera
386 625 Kevin Mirallas Sammy Bossut
41 306 Andranik Teymourian Jalal Hosseini
405 559 Kwak Tae-hwi Park Chu-young
34 564 Alfredo Talavera Paul Aguilar
54 642 Ángel di María Sergio Agüero
79 122 Bastian Schweinsteiger Christoph Kramer
55 300 Ante Rebic Ivan Rakitic
724 725 Yasuhito Endo Yasuyuki Konno
665 690 Steve von Bergen Tranquillo Barnetta
57 196 Antoine Griezmann Eliaquim Mangala
159 726 Didier Drogba (c) Yaya Touré
465 651 Masahiko Inoha Shusaku Nishikawa
282 724 Hiroshi Kiyotake Yasuhito Endo
325 673 Jeremain Lens Terence Kongolo
504 596 Michael Lang Reto Ziegler
94 325 Bruno Martins Indi Jeremain Lens
113 579 Charles Itandje Pierre Webó
409 543 Laurent Koscielny Olivier Giroud
253 401 Giorgos Karagounis (c) Kostas Manolas
311 386 Jan Vertonghen Kevin Mirallas
462 642 Martín Demichelis Sergio Agüero
504 723 Michael Lang Yann Sommer
514 653 Milan Badelj Šime Vrsaljko
367 615 Juan Carlos García Rony Martínez
423 694 Loukas Vyntra Vangelis Moras
157 263 Dejan Lovren Gordon Schildenfeld
160 398 Didier Ya Konan Kolo Touré
114 474 Cheick Tioté Mathis Bolly
143 653 Danijel Subašic Šime Vrsaljko
563 588 Patrick Pemberton Randall Brenes
504 721 Michael Lang Xherdan Shaqiri
289 490 Hulk Maxwell
135 245 Dani Alves Gerard Piqué
104 169 Carlos Salcido Diego Reyes
12 555 Agustín Orión Pablo Zabaleta
307 471 James Holland Mathew Ryan
25 48 Aleksei Kozlov Andrei Semyonov
114 159 Cheick Tioté Didier Drogba (c)
328 427 Jerry Bengtson Luis López
657 671 Sol Bamba Sylvain Gbohouo
522 667 Mousa Dembélé Steven Defour
467 570 Masoud Shojaei Pejman Montazeri
441 647 Manabu Saito Shinji Okazaki
534 670 Nigel de Jong Sulley Muntari
465 730 Masahiko Inoha Yoshito Okubo
201 499 Enner Valencia Michael Arroyo
29 518 Alex Wilkinson Mitchell Langerak
550 563 Óscar Duarte Patrick Pemberton
254 402 Giorgos Samaras Kostas Mitroglou
204 736 Ermin Bicakcic Zvjezdan Misimovic
133 496 Daley Blind Memphis Depay
255 401 Giorgos Tzavellas Kostas Manolas
388 550 Keylor Navas Óscar Duarte
114 638 Cheick Tioté Serey Die
193 735 Eiji Kawashima Yuya Osako
117 502 Chris Wondolowski Michael Bradley
41 247 Andranik Teymourian Ghasem Haddadifar
152 563 David Myrie Patrick Pemberton
32 356 Alexandros Tziolis José Holebas
32 402 Alexandros Tziolis Kostas Mitroglou
142 698 Danijel Pranjic Vedran Corluka
413 560 Lee Keun-ho Park Jong-woo
456 492 Mario Martínez Maynor Figueroa
91 681 Brad Guzan Tim Howard
240 434 Gastón Ramírez Luke Shaw
610 665 Roman Bürki Steve von Bergen
76 521 Bacary Sagna Morgan Schneiderlin
204 684 Ermin Bicakcic Tino-Sven Sušic
210 420 Eyong Enoh Loïc Feudjou
145 279 Dante Henrique
536 615 Noel Valladares (c) Rony Martínez
63 246 Arthur Boka Gervinho
170 660 Dimitris Salpingidis Stefanos Kapino
475 687 Mats Hummels Toni Kroos
13 598 Ahmad Alenemeh Reza Ghoochannejhad
315 570 Javad Nekounam (c) Pejman Montazeri
151 231 David Luiz Frank Lampard
<div id="canvas-svg"></div>
/*--- IMPORTANT GUIDELINES ---
1. Use div #canvas-svg for svg rendering
var svg = d3.select("#canvas-svg");
2. 'data' variable contains JSON data from Data tab
Do NOT overwrite this variable
3. To define customizable properties, use capitalized variable names,
and define them in Properties tab ---*/
var nodes = {}, links = [], linkMap = {};
// Compute the distinct nodes from the links.
data.forEach(function(link) {
var l = {};
var sourceNode = nodes[link[config.source]] ||
(nodes[link[config.source]] = {name: link[config.source]});
l.source = sourceNode;
var targetNode = nodes[link[config.target]] ||
(nodes[link[config.target]] = {name: link[config.target]});
l.target = targetNode;
if (config.value) {
l.value = +link[config.value];
}
if (!linkMap[link[config.source]]) {
linkMap[link[config.source]] = [];
}
if (!linkMap[link[config.target]]) {
linkMap[link[config.target]] = [];
}
// remove duplicate links
if (linkMap[link[config.source]].indexOf(link[config.target]) === -1) {
linkMap[link[config.source]].push(link[config.target]);
links.push(l);
}
if (linkMap[link[config.target]].indexOf(link[config.source]) === -1) {
linkMap[link[config.target]].push(link[config.source]);
links.push(l);
}
});
var width = config.width,
height = config.height;
var force = d3.layout.force()
.nodes(d3.values(nodes))
.links(links)
.size([width, height])
.linkDistance(config.linkDistance)
.gravity(0.3)
.charge(config.charge)
.start();
var vis = d3.select("#canvas-svg").append("canvas")
.attr("width", width)
.attr("height", height)
.call(d3.behavior.zoom().scaleExtent([0, 8]).on("zoom", zoom));
var context = vis.node().getContext("2d");
var scaleX = 1, scaleY = 1, scale = 1, translateX = 0, translateY = 0;
function zoom() {
force.stop();
context.save();
context.clearRect(0, 0, config.width, config.height);
context.translate(d3.event.translate[0] + translateX, d3.event.translate[1] + translateY);
context.scale(d3.event.scale - (1 - scale), d3.event.scale - (1 - scale));
draw();
context.restore();
}
function draw() {
var q = d3.geom.quadtree(d3.values(nodes)),
i = 0,
n = d3.values(nodes).length;
// draw links
context.strokeStyle = config.linkColor;
context.beginPath();
links.forEach(function(d) {
context.moveTo(d.source.x, d.source.y);
context.lineTo(d.target.x, d.target.y);
});
context.stroke();
// draw nodes
context.fillStyle = config.nodeColor;
context.beginPath();
d3.values(nodes).forEach(function(d) {
context.moveTo(d.x, d.y);
context.arc(d.x, d.y, 4.5, 0, 2 * Math.PI);
});
context.fill();
if (config.showNodeLabel) {
d3.values(nodes).forEach(function(d) {
context.fillStyle = "#444";
context.fillText(d.name,d.x + 10,d.y);
});
}
}
function scaleAndDraw() {
var xExtent = d3.extent(d3.values(nodes), function(n) { return n.x; }),
yExtent = d3.extent(d3.values(nodes), function(n) { return n.y; });
context.clearRect(0, 0, config.width, config.height);
if ((xExtent[1] - xExtent[0]) > config.width) {
scaleX = (xExtent[1] - xExtent[0]) / config.width;
scaleY = (yExtent[1] - yExtent[0]) / config.height;
scale = 1 / Math.max(scaleX, scaleY);
context.save();
translateX = Math.abs(xExtent[0]) * scale;
translateY = Math.abs(yExtent[0]) * scale;
context.translate(translateX, translateY);
context.scale(scale, scale);
}
draw();
context.restore();
}
force.on("tick", function() {
scaleAndDraw();
});
/*while (force.alpha() > 0.05) {
force.tick();
}
force.stop();*/
scaleAndDraw();
[
{
"label": "hello",
"value": 0
},
{
"label": "world",
"value": 1
}
]
var gulp = require('gulp'),
sass = require('gulp-sass'),
jade = require('gulp-jade'),
webserver = require('gulp-webserver')
// --- Basic Tasks ---
gulp.task('sass', function () {
gulp.src('sass/**/*.sass')
.pipe(sass({outputStyle: 'expanded'}).on('error', sass.logError))
.pipe(gulp.dest('./'));
});
gulp.task('templates', function() {
gulp.src(['templates/**/*.jade','!templates/**/_*.jade'])
.pipe(jade({pretty: true}))
.pipe(gulp.dest('./'))
});
gulp.task('watch', function () {
gulp.watch('sass/*.sass',['sass']);
gulp.watch('templates/*.jade',['templates']);
});
gulp.task('webserver', function() {
gulp.src('.')
.pipe(webserver({
livereload: true,
directoryListing: false,
open: true,
fallback: 'index.html'
}));
});
// Default Task
gulp.task('default', ['sass','templates','watch', 'webserver']);
<!-- output: ../index.html-->
<html>
<head>
<meta charset="UTF-8"/>
<title>Vida Lab Template</title>
<meta name="Description" content="Vida Lab Template"/>
<meta name="Keywords" content="Vida Lab Template"/>
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Lato:400,700"/>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"/>
<script type="text/javascript" src="d3.js"></script>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.1.js"></script>
<script type="text/javascript" src="vida_template.js"></script>
</head>
<body>
<div id="canvas"></div>
</body>
</html>
{
"data": ["document.csv"],
"javascript": ["document.js"],
"stylesheet": ["document.css"],
"html": ["document.html"],
"externalLibraries": [
],
"properties": [{"label":"Source","name":"source","value":"sourceLabel","type":"data_column"},{"label":"Target","name":"target","value":"targetLabel","type":"data_column"},{"label":"Charge","name":"charge","value":-800,"type":"number"},{"label":"Link Distance","name":"linkDistance","value":100,"type":"number"},{"label":"Node Color","name":"nodeColor","value":"#0f608b","type":"color"},{"label":"Link Color","name":"linkColor","value":"#ccc","type":"color"},{"label":"Show Node Label","name":"showNodeLabel","value":true,"type":"boolean"},{"label":"Width","name":"width","value":800,"type":"number"},{"label":"Height","name":"height","value":500,"type":"number"},{"label":"Value","name":"value","value":"sourceLabel","type":"data_column"}]
}
{
"name": "enterprise_workmap",
"version": "0.0.1",
"dependencies": {
},
"devDependencies": {
"gulp": "~3.9.0",
"gulp-sass": "~2.1.0",
"gulp-jade": "~1.1.0",
"gulp-connect": "~2.2.0",
"gulp-webserver": "~0.9.1"
}
}
#canvas {
width: 800px;
height: 600px;
}
#canvas-svg {
width: 800px;
height: 600px;
}
$(document).ready(function() {
// read manifest
$.get('manifest.json', function(manifest) {
window.config = {};
var properties = manifest.properties;
properties.forEach(function(p) {
if (p.type === "list") {
window.config[p.name] = p.value.split(/[,\n]/);
} else {
window.config[p.name] = p.value;
}
});
function loadDoc() {
// load HTML and append to body canvas
var document_html = manifest.html[0],
document_css = manifest.stylesheet[0]
$.get(document_html, function(html) {
$('#canvas').append(html);
function run() {
// load CSS
var css = $('<link rel="stylesheet" type="text/css" href="' + document_css + '" />');
$('body').append(css);
// load Javascript
for (var i = 0; i < manifest.javascript.length; i++) {
var js = manifest.javascript[i];
var script = $('<script type="text/javascript" src="' + js +'"></script>');
$('body').append(script);
}
}
function loadData(i) {
if (i < manifest.data.length) {
var document_data = manifest.data[i]
if (document_data.indexOf('.json') !== -1) {
$.get(document_data, function(data) {
window.data[document_data] = data;
loadData(i+1);
})
} else if (document_data.indexOf('.csv') !== -1) {
d3.csv(document_data, function(data) {
window.data[document_data] = data;
loadData(i+1);
});
} else if (document_data.indexOf('.tsv') !== -1) {
d3.tsv(document_data, function(data) {
window.data[document_data] = data;
loadData(i+1);
});
}
} else {
if (Object.keys(window.data).length === 1) {
window.data = window.data[Object.keys(window.data)[0]];
}
run();
}
}
window.data = {};
loadData(0);
});
}
if (manifest.externalLibraries && manifest.externalLibraries.length > 0) {
function loadExtLib(index) {
if (index < manifest.externalLibraries.length) {
var lib = manifest.externalLibraries[index];
if (lib.indexOf('.js') !== -1) {
$.getScript(lib, function() {
index++;
loadExtLib(index);
});
} else if (lib.indexOf('.css') !== -1) {
var css = $('<link rel="stylesheet" type="text/css" href="' + lib + '" />');
$('body').append(css);
index++;
loadExtLib(index);
}
} else {
loadDoc();
}
}
loadExtLib(0);
} else {
loadDoc();
}
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment