{"version":3,"file":"js/350-44cf943e0b08c39d57a3.js","mappings":"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","sources":["webpack://decidim_monterrey/./node_modules/d3-array/src/bisect.js","webpack://decidim_monterrey/./node_modules/d3-array/src/ticks.js","webpack://decidim_monterrey/./node_modules/d3-selection/src/touch.js","webpack://decidim_monterrey/./node_modules/d3-drag/src/noevent.js","webpack://decidim_monterrey/./node_modules/d3-drag/src/nodrag.js","webpack://decidim_monterrey/./node_modules/d3-drag/src/constant.js","webpack://decidim_monterrey/./node_modules/d3-drag/src/event.js","webpack://decidim_monterrey/./node_modules/d3-drag/src/drag.js","webpack://decidim_monterrey/./node_modules/d3-fetch/src/json.js","webpack://decidim_monterrey/./node_modules/d3-force/src/center.js","webpack://decidim_monterrey/./node_modules/d3-force/src/collide.js","webpack://decidim_monterrey/./node_modules/d3-force/src/constant.js","webpack://decidim_monterrey/./node_modules/d3-force/src/jiggle.js","webpack://decidim_monterrey/./node_modules/d3-force/src/x.js","webpack://decidim_monterrey/./node_modules/d3-force/src/y.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/count.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/index.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/each.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/sum.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/sort.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/path.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/ancestors.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/descendants.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/leaves.js","webpack://decidim_monterrey/./node_modules/d3-hierarchy/src/hierarchy/links.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/add.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/quad.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/x.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/y.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/quadtree.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/cover.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/data.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/extent.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/find.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/remove.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/root.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/size.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/visit.js","webpack://decidim_monterrey/./node_modules/d3-quadtree/src/visitAfter.js","webpack://decidim_monterrey/./node_modules/d3-scale/src/array.js","webpack://decidim_monterrey/./node_modules/d3-selection/src/selectAll.js","webpack://decidim_monterrey/./node_modules/d3-selection/src/selection/on.js","webpack://decidim_monterrey/./node_modules/d3-axis/src/array.js","webpack://decidim_monterrey/./node_modules/d3-force/src/link.js","webpack://decidim_monterrey/./node_modules/d3-force/src/simulation.js","webpack://decidim_monterrey/./node_modules/d3-force/src/manyBody.js"],"sourcesContent":["import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","var e10 = Math.sqrt(50),\n e5 = Math.sqrt(10),\n e2 = Math.sqrt(2);\n\nexport default function(start, stop, count) {\n var reverse,\n i = -1,\n n,\n ticks,\n step;\n\n stop = +stop, start = +start, count = +count;\n if (start === stop && count > 0) return [start];\n if (reverse = stop < start) n = start, start = stop, stop = n;\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) return [];\n\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array(n = Math.ceil(stop - start + 1));\n while (++i < n) ticks[i] = (start + i) * step;\n } else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array(n = Math.ceil(start - stop + 1));\n while (++i < n) ticks[i] = (start - i) / step;\n }\n\n if (reverse) ticks.reverse();\n\n return ticks;\n}\n\nexport function tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count),\n power = Math.floor(Math.log(step) / Math.LN10),\n error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n\nexport function tickStep(start, stop, count) {\n var step0 = Math.abs(stop - start) / Math.max(0, count),\n step1 = Math.pow(10, Math.floor(Math.log(step0) / Math.LN10)),\n error = step0 / step1;\n if (error >= e10) step1 *= 10;\n else if (error >= e5) step1 *= 5;\n else if (error >= e2) step1 *= 2;\n return stop < start ? -step1 : step1;\n}\n","import sourceEvent from \"./sourceEvent\";\nimport point from \"./point\";\n\nexport default function(node, touches, identifier) {\n if (arguments.length < 3) identifier = touches, touches = sourceEvent().changedTouches;\n\n for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {\n if ((touch = touches[i]).identifier === identifier) {\n return point(node, touch);\n }\n }\n\n return null;\n}\n","import {event} from \"d3-selection\";\n\nexport function nopropagation() {\n event.stopImmediatePropagation();\n}\n\nexport default function() {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, true);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, true);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, true);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {\n this.target = target;\n this.type = type;\n this.subject = subject;\n this.identifier = id;\n this.active = active;\n this.x = x;\n this.y = y;\n this.dx = dx;\n this.dy = dy;\n this._ = dispatch;\n}\n\nDragEvent.prototype.on = function() {\n var value = this._.on.apply(this._, arguments);\n return value === this._ ? this : value;\n};\n","import {dispatch} from \"d3-dispatch\";\nimport {event, customEvent, select, mouse, touch} from \"d3-selection\";\nimport nodrag, {yesdrag} from \"./nodrag.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\nimport constant from \"./constant.js\";\nimport DragEvent from \"./event.js\";\n\n// Ignore right-click, since that should open the context menu.\nfunction defaultFilter() {\n return !event.ctrlKey && !event.button;\n}\n\nfunction defaultContainer() {\n return this.parentNode;\n}\n\nfunction defaultSubject(d) {\n return d == null ? {x: event.x, y: event.y} : d;\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nexport default function() {\n var filter = defaultFilter,\n container = defaultContainer,\n subject = defaultSubject,\n touchable = defaultTouchable,\n gestures = {},\n listeners = dispatch(\"start\", \"drag\", \"end\"),\n active = 0,\n mousedownx,\n mousedowny,\n mousemoving,\n touchending,\n clickDistance2 = 0;\n\n function drag(selection) {\n selection\n .on(\"mousedown.drag\", mousedowned)\n .filter(touchable)\n .on(\"touchstart.drag\", touchstarted)\n .on(\"touchmove.drag\", touchmoved)\n .on(\"touchend.drag touchcancel.drag\", touchended)\n .style(\"touch-action\", \"none\")\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n function mousedowned() {\n if (touchending || !filter.apply(this, arguments)) return;\n var gesture = beforestart(\"mouse\", container.apply(this, arguments), mouse, this, arguments);\n if (!gesture) return;\n select(event.view).on(\"mousemove.drag\", mousemoved, true).on(\"mouseup.drag\", mouseupped, true);\n nodrag(event.view);\n nopropagation();\n mousemoving = false;\n mousedownx = event.clientX;\n mousedowny = event.clientY;\n gesture(\"start\");\n }\n\n function mousemoved() {\n noevent();\n if (!mousemoving) {\n var dx = event.clientX - mousedownx, dy = event.clientY - mousedowny;\n mousemoving = dx * dx + dy * dy > clickDistance2;\n }\n gestures.mouse(\"drag\");\n }\n\n function mouseupped() {\n select(event.view).on(\"mousemove.drag mouseup.drag\", null);\n yesdrag(event.view, mousemoving);\n noevent();\n gestures.mouse(\"end\");\n }\n\n function touchstarted() {\n if (!filter.apply(this, arguments)) return;\n var touches = event.changedTouches,\n c = container.apply(this, arguments),\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = beforestart(touches[i].identifier, c, touch, this, arguments)) {\n nopropagation();\n gesture(\"start\");\n }\n }\n }\n\n function touchmoved() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n noevent();\n gesture(\"drag\");\n }\n }\n }\n\n function touchended() {\n var touches = event.changedTouches,\n n = touches.length, i, gesture;\n\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, 500); // Ghost clicks are delayed!\n for (i = 0; i < n; ++i) {\n if (gesture = gestures[touches[i].identifier]) {\n nopropagation();\n gesture(\"end\");\n }\n }\n }\n\n function beforestart(id, container, point, that, args) {\n var p = point(container, id), s, dx, dy,\n sublisteners = listeners.copy();\n\n if (!customEvent(new DragEvent(drag, \"beforestart\", s, id, active, p[0], p[1], 0, 0, sublisteners), function() {\n if ((event.subject = s = subject.apply(that, args)) == null) return false;\n dx = s.x - p[0] || 0;\n dy = s.y - p[1] || 0;\n return true;\n })) return;\n\n return function gesture(type) {\n var p0 = p, n;\n switch (type) {\n case \"start\": gestures[id] = gesture, n = active++; break;\n case \"end\": delete gestures[id], --active; // nobreak\n case \"drag\": p = point(container, id), n = active; break;\n }\n customEvent(new DragEvent(drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [type, that, args]);\n };\n }\n\n drag.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), drag) : filter;\n };\n\n drag.container = function(_) {\n return arguments.length ? (container = typeof _ === \"function\" ? _ : constant(_), drag) : container;\n };\n\n drag.subject = function(_) {\n return arguments.length ? (subject = typeof _ === \"function\" ? _ : constant(_), drag) : subject;\n };\n\n drag.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), drag) : touchable;\n };\n\n drag.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? drag : value;\n };\n\n drag.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);\n };\n\n return drag;\n}\n","function responseJson(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n if (response.status === 204 || response.status === 205) return;\n return response.json();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseJson);\n}\n","export default function(x, y) {\n var nodes;\n\n if (x == null) x = 0;\n if (y == null) y = 0;\n\n function force() {\n var i,\n n = nodes.length,\n node,\n sx = 0,\n sy = 0;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i], sx += node.x, sy += node.y;\n }\n\n for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {\n node = nodes[i], node.x -= sx, node.y -= sy;\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = +_, force) : x;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = +_, force) : y;\n };\n\n return force;\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function() {\n return (Math.random() - 0.5) * 1e-6;\n}\n","import constant from \"./constant\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\n\nexport default function hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy\n};\n","export default function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","export default function(d) {\n var x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\nimport tree_y, {defaultY} from \"./y.js\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","import Quad from \"./quad.js\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","var array = Array.prototype;\n\nexport var map = array.map;\nexport var slice = array.slice;\n","import {Selection, root} from \"./selection/index\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([document.querySelectorAll(selector)], [document.documentElement])\n : new Selection([selector == null ? [] : selector], root);\n}\n","var filterEvents = {};\n\nexport var event = null;\n\nif (typeof document !== \"undefined\") {\n var element = document.documentElement;\n if (!(\"onmouseenter\" in element)) {\n filterEvents = {mouseenter: \"mouseover\", mouseleave: \"mouseout\"};\n }\n}\n\nfunction filterContextListener(listener, index, group) {\n listener = contextListener(listener, index, group);\n return function(event) {\n var related = event.relatedTarget;\n if (!related || (related !== this && !(related.compareDocumentPosition(this) & 8))) {\n listener.call(this, event);\n }\n };\n}\n\nfunction contextListener(listener, index, group) {\n return function(event1) {\n var event0 = event; // Events can be reentrant (e.g., focus).\n event = event1;\n try {\n listener.call(this, this.__data__, index, group);\n } finally {\n event = event0;\n }\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, capture) {\n var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;\n return function(d, i, group) {\n var on = this.__on, o, listener = wrap(value, i, group);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.capture);\n this.addEventListener(o.type, o.listener = listener, o.capture = capture);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, capture);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, capture: capture};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, capture) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n if (capture == null) capture = false;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, capture));\n return this;\n}\n\nexport function customEvent(event1, listener, that, args) {\n var event0 = event;\n event1.sourceEvent = event;\n event = event1;\n try {\n return listener.apply(that, args);\n } finally {\n event = event0;\n }\n}\n","export var slice = Array.prototype.slice;\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {map} from \"d3-collection\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"missing: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle();\n y = target.y + target.vy - source.y - source.vy || jiggle();\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = map(nodes, id),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {map} from \"d3-collection\";\nimport {timer} from \"d3-timer\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\");\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.each(function (force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.remove(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import constant from \"./constant\";\nimport jiggle from \"./jiggle\";\nimport {quadtree} from \"d3-quadtree\";\nimport {x, y} from \"./simulation\";\n\nexport default function() {\n var nodes,\n node,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(), l += x * x;\n if (y === 0) y = jiggle(), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n"],"names":["ascendingBisect","right","left","Math","sqrt","node","touches","identifier","arguments","length","sourceEvent","changedTouches","touch","i","n","point","nopropagation","view","root","document","documentElement","selection","on","noevent","__noselect","style","MozUserSelect","x","DragEvent","target","type","subject","id","active","y","dx","dy","dispatch","this","_","defaultFilter","defaultContainer","parentNode","defaultSubject","d","defaultTouchable","navigator","maxTouchPoints","mousedownx","mousedowny","mousemoving","touchending","filter","container","touchable","gestures","listeners","clickDistance2","drag","mousedowned","touchstarted","touchmoved","touchended","apply","gesture","beforestart","mouse","mousemoved","mouseupped","nodrag","noclick","setTimeout","c","clearTimeout","that","args","s","p","sublisteners","copy","p0","constant","value","clickDistance","prototype","responseJson","response","ok","Error","status","statusText","json","input","init","fetch","then","nodes","force","sx","sy","initialize","vx","vy","radius","radii","strength","iterations","tree","xi","yi","ri","ri2","k","visitAfter","prepare","index","visit","quad","x0","y0","x1","y1","data","rj","r","l","Array","random","strengths","xz","alpha","isNaN","yz","count","sum","children","hierarchy","child","childs","Node","valued","defaultChildren","pop","push","parent","depth","eachBefore","computeHeight","copyData","height","constructor","eachAfter","each","callback","current","next","reverse","sort","compare","path","end","start","ancestor","a","b","aNodes","ancestors","bNodes","leastCommonAncestor","splice","descendants","leaves","links","source","xm","ym","xp","yp","bottom","j","_root","leaf","_x0","_y0","_x1","_y1","_x","call","_y","defaultX","defaultY","quadtree","Quadtree","NaN","addAll","undefined","leaf_copy","treeProto","add","cover","Infinity","floor","z","extent","find","x2","y2","q","x3","y3","quads","d2","remove","retainer","previous","removeAll","size","array","map","slice","selector","querySelectorAll","filterEvents","event","mouseenter","mouseleave","filterContextListener","listener","group","contextListener","related","relatedTarget","compareDocumentPosition","event1","event0","__data__","parseTypenames","typenames","trim","split","t","name","indexOf","onRemove","typename","__on","o","m","removeEventListener","capture","onAdd","wrap","hasOwnProperty","addEventListener","customEvent","nodeById","nodeId","get","distances","bias","link","min","distance","jiggle","initializeStrength","initializeDistance","initialAngle","PI","simulation","alphaMin","alphaDecay","pow","alphaTarget","velocityDecay","forces","stepper","timer","step","tick","stop","fx","fy","initializeNodes","angle","cos","sin","initializeForce","restart","set","closest","distanceMin2","distanceMax2","theta2","accumulate","weight","abs","w","distanceMin","distanceMax","theta"],"sourceRoot":""}